mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 02:11:05 +00:00
Make Toggle
labels slottable (#1002)
* feat(toggle): support slottable labels * yarn build:lib * docs(toggle): add "Slottable labels" example
This commit is contained in:
parent
37f19d2171
commit
32edfa59dd
5 changed files with 30 additions and 3 deletions
|
@ -4426,6 +4426,8 @@ export type CarbonTheme = "white" | "g10" | "g80" | "g90" | "g100";
|
||||||
|
|
||||||
| Slot name | Default | Props | Fallback |
|
| Slot name | Default | Props | Fallback |
|
||||||
| :-------- | :------ | :---- | :----------------------- |
|
| :-------- | :------ | :---- | :----------------------- |
|
||||||
|
| labelA | No | -- | <code>{labelA}</code> |
|
||||||
|
| labelB | No | -- | <code>{labelB}</code> |
|
||||||
| labelText | No | -- | <code>{labelText}</code> |
|
| labelText | No | -- | <code>{labelText}</code> |
|
||||||
|
|
||||||
### Events
|
### Events
|
||||||
|
|
|
@ -12440,6 +12440,18 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"slots": [
|
"slots": [
|
||||||
|
{
|
||||||
|
"name": "labelA",
|
||||||
|
"default": false,
|
||||||
|
"fallback": "{labelA}",
|
||||||
|
"slot_props": "{}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "labelB",
|
||||||
|
"default": false,
|
||||||
|
"fallback": "{labelB}",
|
||||||
|
"slot_props": "{}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "labelText",
|
"name": "labelText",
|
||||||
"default": false,
|
"default": false,
|
||||||
|
|
|
@ -27,6 +27,15 @@ components: ["Toggle", "ToggleSkeleton"]
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" labelA="No" labelB="Yes" />
|
<Toggle labelText="Push notifications" labelA="No" labelB="Yes" />
|
||||||
|
|
||||||
|
### Slottable labels
|
||||||
|
|
||||||
|
An alternative to the "labelA" and "labelB" props is to use the corresponding named slots.
|
||||||
|
|
||||||
|
<Toggle labelText="Push notifications">
|
||||||
|
<span slot="labelA" style="color: red">No</span>
|
||||||
|
<span slot="labelB" style="color: green">Yes</span>
|
||||||
|
</Toggle>
|
||||||
|
|
||||||
### Disabled
|
### Disabled
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" disabled />
|
<Toggle labelText="Push notifications" disabled />
|
||||||
|
|
|
@ -81,10 +81,14 @@
|
||||||
</slot>
|
</slot>
|
||||||
<span class:bx--toggle__switch="{true}">
|
<span class:bx--toggle__switch="{true}">
|
||||||
<span aria-hidden="true" class:bx--toggle__text--off="{true}">
|
<span aria-hidden="true" class:bx--toggle__text--off="{true}">
|
||||||
|
<slot name="labelA">
|
||||||
{labelA}
|
{labelA}
|
||||||
|
</slot>
|
||||||
</span>
|
</span>
|
||||||
<span aria-hidden="true" class:bx--toggle__text--on="{true}">
|
<span aria-hidden="true" class:bx--toggle__text--on="{true}">
|
||||||
|
<slot name="labelB">
|
||||||
{labelB}
|
{labelB}
|
||||||
|
</slot>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
2
types/Toggle/Toggle.svelte.d.ts
vendored
2
types/Toggle/Toggle.svelte.d.ts
vendored
|
@ -64,5 +64,5 @@ export default class Toggle extends SvelteComponentTyped<
|
||||||
focus: WindowEventMap["focus"];
|
focus: WindowEventMap["focus"];
|
||||||
blur: WindowEventMap["blur"];
|
blur: WindowEventMap["blur"];
|
||||||
},
|
},
|
||||||
{ labelText: {} }
|
{ labelA: {}; labelB: {}; labelText: {} }
|
||||||
> {}
|
> {}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue