Support fieldset disabled

This commit is contained in:
Richard O'flynn 2020-12-01 17:46:49 +00:00
commit 95bfb720ea
5 changed files with 23 additions and 13 deletions

View file

@ -2924,11 +2924,12 @@ None.
| Event name | Type | Detail | | Event name | Type | Detail |
| :--------- | :-------- | :----- | | :--------- | :-------- | :----- |
| change | forwarded | -- |
| keydown | forwarded | -- |
| click | forwarded | -- | | click | forwarded | -- |
| mouseover | forwarded | -- | | mouseover | forwarded | -- |
| mouseenter | forwarded | -- | | mouseenter | forwarded | -- |
| mouseleave | forwarded | -- | | mouseleave | forwarded | -- |
| keydown | forwarded | -- |
## `SelectableTileGroup` ## `SelectableTileGroup`

View file

@ -8609,11 +8609,12 @@
], ],
"slots": [{ "name": "__default__", "default": true, "slot_props": "{}" }], "slots": [{ "name": "__default__", "default": true, "slot_props": "{}" }],
"events": [ "events": [
{ "type": "forwarded", "name": "change", "element": "input" },
{ "type": "forwarded", "name": "keydown", "element": "input" },
{ "type": "forwarded", "name": "click", "element": "label" }, { "type": "forwarded", "name": "click", "element": "label" },
{ "type": "forwarded", "name": "mouseover", "element": "label" }, { "type": "forwarded", "name": "mouseover", "element": "label" },
{ "type": "forwarded", "name": "mouseenter", "element": "label" }, { "type": "forwarded", "name": "mouseenter", "element": "label" },
{ "type": "forwarded", "name": "mouseleave", "element": "label" }, { "type": "forwarded", "name": "mouseleave", "element": "label" }
{ "type": "forwarded", "name": "keydown", "element": "label" }
], ],
"typedefs": [], "typedefs": [],
"rest_props": { "type": "Element", "name": "label" } "rest_props": { "type": "Element", "name": "label" }

View file

@ -53,6 +53,15 @@
value="{value}" value="{value}"
name="{name}" name="{name}"
title="{title}" title="{title}"
on:change
on:change="{() => update({ value, selected: !selected })}"
on:keydown
on:keydown="{(e) => {
if (e.key === ' ' || e.key === 'Enter') {
e.preventDefault();
update({ value, selected: !selected });
}
}}"
/> />
<label <label
for="{id}" for="{id}"
@ -63,17 +72,9 @@
class:bx--tile--light="{light}" class:bx--tile--light="{light}"
{...$$restProps} {...$$restProps}
on:click on:click
on:click|preventDefault="{() => update({ value, selected: !selected })}"
on:mouseover on:mouseover
on:mouseenter on:mouseenter
on:mouseleave on:mouseleave
on:keydown
on:keydown="{(e) => {
if (e.key === ' ' || e.key === 'Enter') {
e.preventDefault();
update({ value, selected: !selected });
}
}}"
> >
<span class:bx--tile__checkmark="{true}"> <span class:bx--tile__checkmark="{true}">
<CheckmarkFilled16 <CheckmarkFilled16

View file

@ -3,7 +3,13 @@
</script> </script>
<SelectableTileGroup legend="Service pricing tiers"> <SelectableTileGroup legend="Service pricing tiers">
<SelectableTile value="0" checked>Lite plan</SelectableTile> <SelectableTile value="0" selected>Lite plan</SelectableTile>
<SelectableTile value="1">Standard plan</SelectableTile> <SelectableTile value="1">Standard plan</SelectableTile>
<SelectableTile light value="2">Plus plan</SelectableTile> <SelectableTile light value="2">Plus plan</SelectableTile>
</SelectableTileGroup> </SelectableTileGroup>
<SelectableTileGroup light legend="Service pricing tiers">
<SelectableTile value="0" selected>Lite plan</SelectableTile>
<SelectableTile value="1">Standard plan</SelectableTile>
<SelectableTile value="2">Plus plan</SelectableTile>
</SelectableTileGroup>

View file

@ -62,10 +62,11 @@ export default class SelectableTile {
default: {}; default: {};
}; };
$on(eventname: "change", cb: (event: WindowEventMap["change"]) => void): () => void;
$on(eventname: "keydown", cb: (event: WindowEventMap["keydown"]) => 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;
$on(eventname: "mouseleave", cb: (event: WindowEventMap["mouseleave"]) => void): () => void; $on(eventname: "mouseleave", cb: (event: WindowEventMap["mouseleave"]) => void): () => void;
$on(eventname: "keydown", cb: (event: WindowEventMap["keydown"]) => void): () => void;
$on(eventname: string, cb: (event: Event) => void): () => void; $on(eventname: string, cb: (event: Event) => void): () => void;
} }