mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-14 18:01:06 +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 |
|
||||
| :-------- | :------ | :---- | :----------------------- |
|
||||
| labelA | No | -- | <code>{labelA}</code> |
|
||||
| labelB | No | -- | <code>{labelB}</code> |
|
||||
| labelText | No | -- | <code>{labelText}</code> |
|
||||
|
||||
### Events
|
||||
|
|
|
@ -12440,6 +12440,18 @@
|
|||
}
|
||||
],
|
||||
"slots": [
|
||||
{
|
||||
"name": "labelA",
|
||||
"default": false,
|
||||
"fallback": "{labelA}",
|
||||
"slot_props": "{}"
|
||||
},
|
||||
{
|
||||
"name": "labelB",
|
||||
"default": false,
|
||||
"fallback": "{labelB}",
|
||||
"slot_props": "{}"
|
||||
},
|
||||
{
|
||||
"name": "labelText",
|
||||
"default": false,
|
||||
|
|
|
@ -27,6 +27,15 @@ components: ["Toggle", "ToggleSkeleton"]
|
|||
|
||||
<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
|
||||
|
||||
<Toggle labelText="Push notifications" disabled />
|
||||
|
|
|
@ -81,10 +81,14 @@
|
|||
</slot>
|
||||
<span class:bx--toggle__switch="{true}">
|
||||
<span aria-hidden="true" class:bx--toggle__text--off="{true}">
|
||||
{labelA}
|
||||
<slot name="labelA">
|
||||
{labelA}
|
||||
</slot>
|
||||
</span>
|
||||
<span aria-hidden="true" class:bx--toggle__text--on="{true}">
|
||||
{labelB}
|
||||
<slot name="labelB">
|
||||
{labelB}
|
||||
</slot>
|
||||
</span>
|
||||
</span>
|
||||
</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"];
|
||||
blur: WindowEventMap["blur"];
|
||||
},
|
||||
{ labelText: {} }
|
||||
{ labelA: {}; labelB: {}; labelText: {} }
|
||||
> {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue