mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-18 03:26: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
|
@ -3959,7 +3959,8 @@ None.
|
|||
### Events
|
||||
|
||||
| Event name | Type | Detail |
|
||||
| :--------- | :-------- | :----- |
|
||||
| :--------- | :--------- | :--------------------------------- |
|
||||
| toggle | dispatched | <code>{ toggled: boolean; }</code> |
|
||||
| click | forwarded | -- |
|
||||
| mouseover | forwarded | -- |
|
||||
| mouseenter | forwarded | -- |
|
||||
|
|
|
@ -9245,6 +9245,11 @@
|
|||
],
|
||||
"slots": [],
|
||||
"events": [
|
||||
{
|
||||
"type": "dispatched",
|
||||
"name": "toggle",
|
||||
"detail": "{ toggled: boolean; }"
|
||||
},
|
||||
{ "type": "forwarded", "name": "click", "element": "div" },
|
||||
{ "type": "forwarded", "name": "mouseover", "element": "div" },
|
||||
{ "type": "forwarded", "name": "mouseenter", "element": "div" },
|
||||
|
|
|
@ -19,6 +19,10 @@ components: ["Toggle", "ToggleSkeleton"]
|
|||
|
||||
<FileSource src="/framed/Toggle/ToggleReactive" />
|
||||
|
||||
### on:toggle event
|
||||
|
||||
<Toggle labelText="Push notifications" on:toggle={e => console.log(e.detail)} />
|
||||
|
||||
### Custom labels
|
||||
|
||||
<Toggle labelText="Push notifications" labelA="No" labelB="Yes" />
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
<script>
|
||||
/**
|
||||
* @event {{ toggled: boolean; }} toggle
|
||||
*/
|
||||
|
||||
/**
|
||||
* Specify the toggle size
|
||||
* @type {"default" | "sm"}
|
||||
|
@ -28,6 +32,12 @@
|
|||
* @type {string}
|
||||
*/
|
||||
export let name = undefined;
|
||||
|
||||
import { createEventDispatcher } from "svelte";
|
||||
|
||||
const dispatch = createEventDispatcher();
|
||||
|
||||
$: dispatch("toggle", { toggled });
|
||||
</script>
|
||||
|
||||
<div
|
||||
|
|
|
@ -4,7 +4,13 @@
|
|||
|
||||
<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" />
|
||||
|
||||
|
|
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;
|
||||
$$slot_def: {};
|
||||
|
||||
$on(eventname: "toggle", cb: (event: CustomEvent<{ toggled: boolean }>) => void): () => void;
|
||||
$on(eventname: "click", cb: (event: WindowEventMap["click"]) => void): () => void;
|
||||
$on(eventname: "mouseover", cb: (event: WindowEventMap["mouseover"]) => void): () => void;
|
||||
$on(eventname: "mouseenter", cb: (event: WindowEventMap["mouseenter"]) => void): () => void;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue