mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-18 11:36:36 +00:00
feat(toggle): dispatch toggle event
This commit is contained in:
parent
fed83f8bf4
commit
c0dd80d149
6 changed files with 38 additions and 11 deletions
|
@ -3958,16 +3958,17 @@ None.
|
||||||
|
|
||||||
### Events
|
### Events
|
||||||
|
|
||||||
| Event name | Type | Detail |
|
| Event name | Type | Detail |
|
||||||
| :--------- | :-------- | :----- |
|
| :--------- | :--------- | :--------------------------------- |
|
||||||
| click | forwarded | -- |
|
| toggle | dispatched | <code>{ toggled: boolean; }</code> |
|
||||||
| mouseover | forwarded | -- |
|
| click | forwarded | -- |
|
||||||
| mouseenter | forwarded | -- |
|
| mouseover | forwarded | -- |
|
||||||
| mouseleave | forwarded | -- |
|
| mouseenter | forwarded | -- |
|
||||||
| change | forwarded | -- |
|
| mouseleave | forwarded | -- |
|
||||||
| keyup | forwarded | -- |
|
| change | forwarded | -- |
|
||||||
| focus | forwarded | -- |
|
| keyup | forwarded | -- |
|
||||||
| blur | forwarded | -- |
|
| focus | forwarded | -- |
|
||||||
|
| blur | forwarded | -- |
|
||||||
|
|
||||||
## `ToggleSkeleton`
|
## `ToggleSkeleton`
|
||||||
|
|
||||||
|
|
|
@ -9245,6 +9245,11 @@
|
||||||
],
|
],
|
||||||
"slots": [],
|
"slots": [],
|
||||||
"events": [
|
"events": [
|
||||||
|
{
|
||||||
|
"type": "dispatched",
|
||||||
|
"name": "toggle",
|
||||||
|
"detail": "{ toggled: boolean; }"
|
||||||
|
},
|
||||||
{ "type": "forwarded", "name": "click", "element": "div" },
|
{ "type": "forwarded", "name": "click", "element": "div" },
|
||||||
{ "type": "forwarded", "name": "mouseover", "element": "div" },
|
{ "type": "forwarded", "name": "mouseover", "element": "div" },
|
||||||
{ "type": "forwarded", "name": "mouseenter", "element": "div" },
|
{ "type": "forwarded", "name": "mouseenter", "element": "div" },
|
||||||
|
|
|
@ -19,6 +19,10 @@ components: ["Toggle", "ToggleSkeleton"]
|
||||||
|
|
||||||
<FileSource src="/framed/Toggle/ToggleReactive" />
|
<FileSource src="/framed/Toggle/ToggleReactive" />
|
||||||
|
|
||||||
|
### on:toggle event
|
||||||
|
|
||||||
|
<Toggle labelText="Push notifications" on:toggle={e => console.log(e.detail)} />
|
||||||
|
|
||||||
### Custom labels
|
### Custom labels
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" labelA="No" labelB="Yes" />
|
<Toggle labelText="Push notifications" labelA="No" labelB="Yes" />
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
<script>
|
<script>
|
||||||
|
/**
|
||||||
|
* @event {{ toggled: boolean; }} toggle
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specify the toggle size
|
* Specify the toggle size
|
||||||
* @type {"default" | "sm"}
|
* @type {"default" | "sm"}
|
||||||
|
@ -28,6 +32,12 @@
|
||||||
* @type {string}
|
* @type {string}
|
||||||
*/
|
*/
|
||||||
export let name = undefined;
|
export let name = undefined;
|
||||||
|
|
||||||
|
import { createEventDispatcher } from "svelte";
|
||||||
|
|
||||||
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
|
$: dispatch("toggle", { toggled });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
|
|
@ -4,7 +4,13 @@
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" />
|
<Toggle labelText="Push notifications" />
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" toggled />
|
<Toggle
|
||||||
|
labelText="Push notifications"
|
||||||
|
toggled
|
||||||
|
on:toggle="{(e) => {
|
||||||
|
console.log(e.detail.toggled);
|
||||||
|
}}"
|
||||||
|
/>
|
||||||
|
|
||||||
<Toggle labelText="Push notifications" labelA="No" labelB="Yes" />
|
<Toggle labelText="Push notifications" labelA="No" labelB="Yes" />
|
||||||
|
|
||||||
|
|
1
types/Toggle/Toggle.d.ts
vendored
1
types/Toggle/Toggle.d.ts
vendored
|
@ -53,6 +53,7 @@ export default class Toggle {
|
||||||
$$prop_def: ToggleProps;
|
$$prop_def: ToggleProps;
|
||||||
$$slot_def: {};
|
$$slot_def: {};
|
||||||
|
|
||||||
|
$on(eventname: "toggle", cb: (event: CustomEvent<{ toggled: boolean }>) => void): () => void;
|
||||||
$on(eventname: "click", cb: (event: WindowEventMap["click"]) => void): () => void;
|
$on(eventname: "click", cb: (event: WindowEventMap["click"]) => void): () => void;
|
||||||
$on(eventname: "mouseover", cb: (event: WindowEventMap["mouseover"]) => void): () => void;
|
$on(eventname: "mouseover", cb: (event: WindowEventMap["mouseover"]) => void): () => void;
|
||||||
$on(eventname: "mouseenter", cb: (event: WindowEventMap["mouseenter"]) => void): () => void;
|
$on(eventname: "mouseenter", cb: (event: WindowEventMap["mouseenter"]) => void): () => void;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue