@scouterna/ui-webc 2.2.0 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-CtwQwhfH.js → index-B3fXatmo.js} +9 -3
- package/dist/cjs/index-B3fXatmo.js.map +1 -0
- package/dist/cjs/inputMixin-CkYXihTB.js +67 -0
- package/dist/cjs/inputMixin-CkYXihTB.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/scout-app-bar.cjs.entry.js +1 -1
- package/dist/cjs/scout-bottom-bar-item.cjs.entry.js +1 -1
- package/dist/cjs/scout-bottom-bar.cjs.entry.js +1 -1
- package/dist/cjs/scout-button.cjs.entry.js +5 -4
- package/dist/cjs/scout-button.entry.cjs.js.map +1 -1
- package/dist/cjs/scout-card.cjs.entry.js +3 -3
- package/dist/cjs/scout-card.entry.cjs.js.map +1 -1
- package/dist/cjs/scout-checkbox.scout-radio-button.entry.cjs.js.map +1 -1
- package/dist/cjs/scout-checkbox_2.cjs.entry.js +24 -25
- package/dist/cjs/scout-divider.cjs.entry.js +2 -2
- package/dist/cjs/scout-field.cjs.entry.js +4 -4
- package/dist/cjs/scout-field.entry.cjs.js.map +1 -1
- package/dist/cjs/scout-input.cjs.entry.js +8 -32
- package/dist/cjs/scout-input.entry.cjs.js.map +1 -1
- package/dist/cjs/scout-link.cjs.entry.js +1 -1
- package/dist/cjs/scout-list-view-item.cjs.entry.js +2 -2
- package/dist/cjs/scout-list-view-subheader.cjs.entry.js +2 -2
- package/dist/cjs/scout-list-view.cjs.entry.js +2 -2
- package/dist/cjs/scout-loader.cjs.entry.js +2 -2
- package/dist/cjs/scout-select.cjs.entry.js +8 -32
- package/dist/cjs/scout-select.entry.cjs.js.map +1 -1
- package/dist/cjs/scout-stack.cjs.entry.js +3 -3
- package/dist/cjs/scout-switch.cjs.entry.js +21 -21
- package/dist/cjs/scout-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/ui-webc.cjs.js +2 -2
- package/dist/collection/components/button/button.css +2 -5
- package/dist/collection/components/button/button.js +24 -3
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.css +4 -0
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +10 -32
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/divider/divider.js +1 -1
- package/dist/collection/components/field/field.js +13 -7
- package/dist/collection/components/field/field.js.map +1 -1
- package/dist/collection/components/input/input.js +7 -106
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/list-view/list-view.js +1 -1
- package/dist/collection/components/list-view-item/list-view-item.js +1 -1
- package/dist/collection/components/list-view-subheader/list-view-subheader.js +1 -1
- package/dist/collection/components/loader/loader.js +1 -1
- package/dist/collection/components/radio-button/radio-button.js +10 -32
- package/dist/collection/components/radio-button/radio-button.js.map +1 -1
- package/dist/collection/components/select/select.js +7 -106
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/stack/stack.js +2 -2
- package/dist/collection/components/switch/switch.css +8 -7
- package/dist/collection/components/switch/switch.js +20 -42
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/mixins/inputMixin.js +172 -0
- package/dist/collection/mixins/inputMixin.js.map +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/{p-Jt6ZXtWI.js → p-BkrRT31y.js} +16 -16
- package/dist/components/p-BkrRT31y.js.map +1 -0
- package/dist/components/{p-C2uc7k4n.js → p-C2_wl40t.js} +16 -16
- package/dist/components/p-C2_wl40t.js.map +1 -0
- package/dist/components/p-DaGMxK4K.js +62 -0
- package/dist/components/p-DaGMxK4K.js.map +1 -0
- package/dist/components/{p-DNlelzlE.js → p-fr5CaUFu.js} +9 -4
- package/dist/components/p-fr5CaUFu.js.map +1 -0
- package/dist/components/scout-app-bar.js +1 -1
- package/dist/components/scout-bottom-bar-item.js +1 -1
- package/dist/components/scout-bottom-bar.js +1 -1
- package/dist/components/scout-button.js +7 -6
- package/dist/components/scout-button.js.map +1 -1
- package/dist/components/scout-card.js +3 -3
- package/dist/components/scout-card.js.map +1 -1
- package/dist/components/scout-checkbox.js +1 -1
- package/dist/components/scout-divider.js +2 -2
- package/dist/components/scout-field.js +5 -5
- package/dist/components/scout-field.js.map +1 -1
- package/dist/components/scout-input.js +9 -34
- package/dist/components/scout-input.js.map +1 -1
- package/dist/components/scout-link.js +1 -1
- package/dist/components/scout-list-view-item.js +4 -4
- package/dist/components/scout-list-view-subheader.js +2 -2
- package/dist/components/scout-list-view.js +2 -2
- package/dist/components/scout-loader.js +2 -2
- package/dist/components/scout-radio-button.js +1 -1
- package/dist/components/scout-select.js +9 -34
- package/dist/components/scout-select.js.map +1 -1
- package/dist/components/scout-stack.js +3 -3
- package/dist/components/scout-switch.js +22 -22
- package/dist/components/scout-switch.js.map +1 -1
- package/dist/custom-elements.json +393 -24
- package/dist/esm/{index-Cp4mWtfs.js → index-ksA_9NPe.js} +9 -4
- package/dist/esm/index-ksA_9NPe.js.map +1 -0
- package/dist/esm/inputMixin-mAf9ZFOg.js +65 -0
- package/dist/esm/inputMixin-mAf9ZFOg.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/scout-app-bar.entry.js +1 -1
- package/dist/esm/scout-bottom-bar-item.entry.js +1 -1
- package/dist/esm/scout-bottom-bar.entry.js +1 -1
- package/dist/esm/scout-button.entry.js +5 -4
- package/dist/esm/scout-button.entry.js.map +1 -1
- package/dist/esm/scout-card.entry.js +3 -3
- package/dist/esm/scout-card.entry.js.map +1 -1
- package/dist/esm/scout-checkbox.scout-radio-button.entry.js.map +1 -1
- package/dist/esm/scout-checkbox_2.entry.js +24 -25
- package/dist/esm/scout-divider.entry.js +2 -2
- package/dist/esm/scout-field.entry.js +4 -4
- package/dist/esm/scout-field.entry.js.map +1 -1
- package/dist/esm/scout-input.entry.js +8 -32
- package/dist/esm/scout-input.entry.js.map +1 -1
- package/dist/esm/scout-link.entry.js +1 -1
- package/dist/esm/scout-list-view-item.entry.js +2 -2
- package/dist/esm/scout-list-view-subheader.entry.js +2 -2
- package/dist/esm/scout-list-view.entry.js +2 -2
- package/dist/esm/scout-loader.entry.js +2 -2
- package/dist/esm/scout-select.entry.js +8 -32
- package/dist/esm/scout-select.entry.js.map +1 -1
- package/dist/esm/scout-stack.entry.js +3 -3
- package/dist/esm/scout-switch.entry.js +21 -21
- package/dist/esm/scout-switch.entry.js.map +1 -1
- package/dist/esm/ui-webc.js +3 -3
- package/dist/types/components/button/button.d.ts +1 -0
- package/dist/types/components/field/field.d.ts +3 -6
- package/dist/types/components.d.ts +140 -28
- package/dist/ui-webc/p-02c211ea.entry.js +2 -0
- package/dist/ui-webc/p-1a701759.entry.js +2 -0
- package/dist/ui-webc/p-1a701759.entry.js.map +1 -0
- package/dist/ui-webc/{p-5d73566e.entry.js → p-1efd7b9a.entry.js} +2 -2
- package/dist/ui-webc/{p-85e7b20f.entry.js → p-3018f46f.entry.js} +2 -2
- package/dist/ui-webc/p-3e750355.entry.js +2 -0
- package/dist/ui-webc/p-3e750355.entry.js.map +1 -0
- package/dist/ui-webc/p-4616484e.entry.js +2 -0
- package/dist/ui-webc/p-4616484e.entry.js.map +1 -0
- package/dist/ui-webc/p-479ae616.entry.js +2 -0
- package/dist/ui-webc/p-479ae616.entry.js.map +1 -0
- package/dist/ui-webc/{p-9f80fed6.entry.js → p-50112773.entry.js} +2 -2
- package/dist/ui-webc/p-974e8415.entry.js +2 -0
- package/dist/ui-webc/{p-29689fe2.entry.js → p-97956c4f.entry.js} +2 -2
- package/dist/ui-webc/p-97f9cf0a.entry.js +2 -0
- package/dist/ui-webc/p-97f9cf0a.entry.js.map +1 -0
- package/dist/ui-webc/p-BzgciO7w.js +2 -0
- package/dist/ui-webc/p-BzgciO7w.js.map +1 -0
- package/dist/ui-webc/p-ac65f104.entry.js +2 -0
- package/dist/ui-webc/{p-efab02f0.entry.js → p-c2c5857d.entry.js} +2 -2
- package/dist/ui-webc/p-d8084e5c.entry.js +2 -0
- package/dist/ui-webc/p-d8084e5c.entry.js.map +1 -0
- package/dist/ui-webc/p-d999b8d6.entry.js +2 -0
- package/dist/ui-webc/p-d999b8d6.entry.js.map +1 -0
- package/dist/ui-webc/{p-e4070682.entry.js → p-e2288570.entry.js} +2 -2
- package/dist/ui-webc/{p-b8715dc5.entry.js → p-e4f5dad7.entry.js} +2 -2
- package/dist/ui-webc/p-ksA_9NPe.js +3 -0
- package/dist/{esm/index-Cp4mWtfs.js.map → ui-webc/p-ksA_9NPe.js.map} +1 -1
- package/dist/ui-webc/scout-button.entry.esm.js.map +1 -1
- package/dist/ui-webc/scout-card.entry.esm.js.map +1 -1
- package/dist/ui-webc/scout-checkbox.scout-radio-button.entry.esm.js.map +1 -1
- package/dist/ui-webc/scout-field.entry.esm.js.map +1 -1
- package/dist/ui-webc/scout-input.entry.esm.js.map +1 -1
- package/dist/ui-webc/scout-select.entry.esm.js.map +1 -1
- package/dist/ui-webc/scout-switch.entry.esm.js.map +1 -1
- package/dist/ui-webc/ui-webc.css +2 -2
- package/dist/ui-webc/ui-webc.esm.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/index-CtwQwhfH.js.map +0 -1
- package/dist/components/p-C2uc7k4n.js.map +0 -1
- package/dist/components/p-DNlelzlE.js.map +0 -1
- package/dist/components/p-Jt6ZXtWI.js.map +0 -1
- package/dist/types/components/checkbox/checkbox.d.ts +0 -24
- package/dist/types/components/input/input.d.ts +0 -48
- package/dist/types/components/radio-button/radio-button.d.ts +0 -24
- package/dist/types/components/select/select.d.ts +0 -32
- package/dist/types/components/switch/switch.d.ts +0 -25
- package/dist/ui-webc/p-0b42e59f.entry.js +0 -2
- package/dist/ui-webc/p-0b42e59f.entry.js.map +0 -1
- package/dist/ui-webc/p-33010b09.entry.js +0 -2
- package/dist/ui-webc/p-3b426423.entry.js +0 -2
- package/dist/ui-webc/p-3b426423.entry.js.map +0 -1
- package/dist/ui-webc/p-3e34c267.entry.js +0 -2
- package/dist/ui-webc/p-4c70c251.entry.js +0 -2
- package/dist/ui-webc/p-4c70c251.entry.js.map +0 -1
- package/dist/ui-webc/p-6ef8c777.entry.js +0 -2
- package/dist/ui-webc/p-6ef8c777.entry.js.map +0 -1
- package/dist/ui-webc/p-714363c8.entry.js +0 -2
- package/dist/ui-webc/p-714363c8.entry.js.map +0 -1
- package/dist/ui-webc/p-7f8dc0da.entry.js +0 -2
- package/dist/ui-webc/p-7f8dc0da.entry.js.map +0 -1
- package/dist/ui-webc/p-93ee0d2c.entry.js +0 -2
- package/dist/ui-webc/p-Cp4mWtfs.js +0 -3
- package/dist/ui-webc/p-Cp4mWtfs.js.map +0 -1
- package/dist/ui-webc/p-afa38195.entry.js +0 -2
- package/dist/ui-webc/p-afa38195.entry.js.map +0 -1
- /package/dist/ui-webc/{p-93ee0d2c.entry.js.map → p-02c211ea.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-5d73566e.entry.js.map → p-1efd7b9a.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-85e7b20f.entry.js.map → p-3018f46f.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-9f80fed6.entry.js.map → p-50112773.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-33010b09.entry.js.map → p-974e8415.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-29689fe2.entry.js.map → p-97956c4f.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-3e34c267.entry.js.map → p-ac65f104.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-efab02f0.entry.js.map → p-c2c5857d.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-e4070682.entry.js.map → p-e2288570.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-b8715dc5.entry.js.map → p-e4f5dad7.entry.js.map} +0 -0
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import { p as proxyCustomElement,
|
|
1
|
+
import { p as proxyCustomElement, M as Mixin, c as createEvent, h } from './p-fr5CaUFu.js';
|
|
2
|
+
import { i as inputMixin } from './p-DaGMxK4K.js';
|
|
2
3
|
|
|
3
|
-
const switchCss = ".switch{width:var(--spacing-
|
|
4
|
+
const switchCss = ".switch{width:var(--spacing-10);height:var(--spacing-6);-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:var(--spacing-8);background-color:var(--color-text-brand-inverse);border:2px solid var(--color-gray-300);position:relative;display:flex;align-content:center;justify-content:center;transition-property:border-color;transition-duration:0.3s;transition-timing-function:ease-in-out;cursor:pointer;--switch-ball-padding:calc(var(--spacing-1) / 4);--switch-ball-size:calc(var(--spacing-5) - var(--switch-ball-padding) * 2)}.switch:hover{transition-property:none;border-color:var(--color-gray-400);background-color:var(--color-background-brand-subtle-hovered)}.switch:active{background-color:var(--color-background-brand-subtle-pressed)}.switch:checked{border-color:var(--color-background-brand-base)}.switch:hover::before{background-color:var(--color-gray-400)}.switch::before{content:\"\";background-color:var(--color-gray-300);width:var(--switch-ball-size);height:var(--switch-ball-size);border-radius:50%;position:absolute;top:var(--switch-ball-padding);left:var(--switch-ball-padding);transition-duration:0.3s;transition-property:left, right}.switch:checked::before{content:\"\";background-color:var(--color-background-brand-base);left:calc(100% - (var(--switch-ball-size) + var(--switch-ball-padding)));left:calc(100% - calc(var(--switch-ball-size) + var(--switch-ball-padding)))}.switch:disabled{pointer-events:none;background-color:var(--color-gray-100);border-color:var(--color-gray-100)}.switch:disabled::before{background-color:var(--color-gray-300)}label{display:flex;flex-direction:row-reverse;align-items:center;font:var(--type-label-base);color:var(--color-text-base)}.inlineDivider{width:var(--spacing-2)}";
|
|
4
5
|
|
|
5
|
-
const ScoutSwitch$1 = /*@__PURE__*/ proxyCustomElement(class ScoutSwitch extends
|
|
6
|
+
const ScoutSwitch$1 = /*@__PURE__*/ proxyCustomElement(class ScoutSwitch extends Mixin(inputMixin) {
|
|
6
7
|
constructor(registerHost) {
|
|
7
|
-
super();
|
|
8
|
+
super(false);
|
|
8
9
|
if (registerHost !== false) {
|
|
9
10
|
this.__registerHost();
|
|
10
11
|
}
|
|
11
12
|
this.__attachShadow();
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
13
|
+
this.scoutInputChange = createEvent(this, "scoutInputChange");
|
|
14
|
+
this.scoutBlur = createEvent(this, "scoutBlur");
|
|
15
|
+
this._scoutValidate = createEvent(this, "_scoutValidate");
|
|
16
|
+
this._scoutInvalid = createEvent(this, "_scoutInvalid");
|
|
17
|
+
this._scoutFieldId = createEvent(this, "_scoutFieldId");
|
|
18
|
+
this.scoutChecked = createEvent(this, "scoutChecked");
|
|
14
19
|
}
|
|
15
20
|
/**
|
|
16
21
|
* Indicates whether the switch is toggled on or off.
|
|
@@ -22,30 +27,25 @@ const ScoutSwitch$1 = /*@__PURE__*/ proxyCustomElement(class ScoutSwitch extends
|
|
|
22
27
|
*/
|
|
23
28
|
ariaLabelledby;
|
|
24
29
|
label;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
componentWillLoad() {
|
|
32
|
-
this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;
|
|
33
|
-
this._fieldId.emit(this.ariaId);
|
|
34
|
-
}
|
|
35
|
-
onClick(event) {
|
|
36
|
-
const switchElement = event.target;
|
|
37
|
-
this.scoutSwitchToggled.emit({
|
|
38
|
-
toggled: switchElement.checked,
|
|
39
|
-
element: switchElement,
|
|
30
|
+
scoutChecked;
|
|
31
|
+
onChange(event) {
|
|
32
|
+
const checkbox = event.target;
|
|
33
|
+
this.scoutChecked.emit({
|
|
34
|
+
checked: checkbox.checked,
|
|
35
|
+
element: checkbox,
|
|
40
36
|
});
|
|
41
37
|
}
|
|
42
38
|
render() {
|
|
43
39
|
const Tag = this.label?.length ? "label" : "div";
|
|
44
|
-
return (h(Tag, { key: '
|
|
40
|
+
return (h(Tag, { key: '3df6f0be2cbb14fa4ad4ce777324960365ea5d68' }, this.label, h("span", { key: 'bbf999533051b967807f18f6d165a9b916a87252', class: "inlineDivider" }), h("input", { key: '8280933ed1b9038edcd8fb9bad39bef5745d4403', ref: (el) => this.setInputRef(el), id: this.ariaId, type: "checkbox", class: "switch", "aria-labelledby": this.ariaLabelledby, "aria-disabled": this.disabled, disabled: this.disabled, checked: this.toggled, onChange: (event) => {
|
|
41
|
+
this.onInput();
|
|
42
|
+
this.onChange(event);
|
|
43
|
+
}, onBlur: () => this.onBlur(), onInvalid: () => this.onInvalid() })));
|
|
45
44
|
}
|
|
46
45
|
static get delegatesFocus() { return true; }
|
|
47
46
|
static get style() { return switchCss; }
|
|
48
47
|
}, [785, "scout-switch", {
|
|
48
|
+
"validate": [16],
|
|
49
49
|
"toggled": [4],
|
|
50
50
|
"disabled": [4],
|
|
51
51
|
"ariaLabelledby": [1, "aria-labelledby"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"scout-switch.js","mappings":"
|
|
1
|
+
{"file":"scout-switch.js","mappings":";;;AAAA,MAAM,SAAS,GAAG,ktDAAktD;;ACkBvtD,MAAAA,aACX,iBAAAC,kBAAA,CAAA,MAAA,WAAA,SAAQ,KAAK,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;;;;;AAGzB;;AAEG;IACK,OAAO,GAAY,KAAK;IAExB,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,cAAc;AAEd,IAAA,KAAK;AAEJ,IAAA,YAAY;AAKrB,IAAA,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAA0B;AAEjD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;AACzB,YAAA,OAAO,EAAE,QAAQ;AAClB,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK;QAChD,QACE,EAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACD,IAAI,CAAC,KAAK,EACX,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAQ,CAAA,EACnC,CACE,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EACjC,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,QAAQ,EACG,iBAAA,EAAA,IAAI,CAAC,cAAc,EACrB,eAAA,EAAA,IAAI,CAAC,QAAQ,EAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,CAAC,KAAK,KAAI;gBAClB,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;aACrB,EACD,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAC3B,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EAAA,CACjC,CACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["ScoutSwitch","__stencil_proxyCustomElement"],"sources":["src/components/switch/switch.css?tag=scout-switch&encapsulation=shadow","src/components/switch/switch.tsx"],"sourcesContent":[".switch {\n width: var(--spacing-10);\n height: var(--spacing-6);\n appearance: none;\n -webkit-appearance: none;\n border-radius: var(--spacing-8);\n background-color: var(--color-text-brand-inverse);\n border: 2px solid var(--color-gray-300);\n position: relative;\n display: flex;\n align-content: center;\n justify-content: center;\n transition-property: border-color;\n transition-duration: 0.3s;\n transition-timing-function: ease-in-out;\n cursor: pointer;\n --switch-ball-padding: calc(var(--spacing-1) / 4);\n --switch-ball-size: calc(var(--spacing-5) - var(--switch-ball-padding) * 2);\n}\n\n.switch:hover {\n transition-property: none;\n border-color: var(--color-gray-400);\n background-color: var(--color-background-brand-subtle-hovered);\n}\n\n.switch:active {\n background-color: var(--color-background-brand-subtle-pressed);\n}\n\n.switch:checked {\n border-color: var(--color-background-brand-base);\n}\n\n.switch:hover::before {\n background-color: var(--color-gray-400);\n}\n\n.switch::before {\n content: \"\";\n background-color: var(--color-gray-300);\n width: var(--switch-ball-size);\n height: var(--switch-ball-size);\n border-radius: 50%;\n position: absolute;\n top: var(--switch-ball-padding);\n left: var(--switch-ball-padding);\n transition-duration: 0.3s;\n transition-property: left, right;\n}\n.switch:checked::before {\n content: \"\";\n background-color: var(--color-background-brand-base);\n left: calc(100% - calc(var(--switch-ball-size) + var(--switch-ball-padding)));\n}\n\n.switch:disabled {\n pointer-events: none;\n background-color: var(--color-gray-100);\n border-color: var(--color-gray-100);\n}\n\n.switch:disabled::before {\n background-color: var(--color-gray-300);\n}\n\nlabel {\n display: flex;\n flex-direction: row-reverse;\n align-items: center;\n font: var(--type-label-base);\n color: var(--color-text-base);\n}\n\n.inlineDivider {\n width: var(--spacing-2);\n}\n","import {\n Component,\n type ComponentInterface,\n Event,\n type EventEmitter,\n h,\n Mixin,\n Prop,\n} from \"@stencil/core\";\nimport { inputMixin } from \"../../mixins/inputMixin\";\n\n@Component({\n tag: \"scout-switch\",\n styleUrl: \"switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutSwitch\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\n /**\n * Indicates whether the switch is toggled on or off.\n */\n @Prop() toggled: boolean = false;\n\n @Prop() disabled: boolean = false;\n\n /**\n * Use this prop if you need to connect your switch with another element describing its use, other than the property label.\n */\n @Prop() ariaLabelledby: string;\n\n @Prop() label: string;\n\n @Event() scoutChecked: EventEmitter<{\n checked: boolean;\n element: HTMLInputElement;\n }>;\n\n onChange(event: Event) {\n const checkbox = event.target as HTMLInputElement;\n\n this.scoutChecked.emit({\n checked: checkbox.checked,\n element: checkbox,\n });\n }\n\n render() {\n const Tag = this.label?.length ? \"label\" : \"div\";\n return (\n <Tag>\n {this.label}\n <span class=\"inlineDivider\"></span>\n <input\n ref={(el) => this.setInputRef(el)}\n id={this.ariaId}\n type=\"checkbox\"\n class=\"switch\"\n aria-labelledby={this.ariaLabelledby}\n aria-disabled={this.disabled}\n disabled={this.disabled}\n checked={this.toggled}\n onChange={(event) => {\n this.onInput();\n this.onChange(event);\n }}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n />\n </Tag>\n );\n }\n}\n"],"version":3}
|