@scouterna/ui-webc 1.0.0 → 2.1.0
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-D42maJcS.js → index-5z4HClQY.js} +7 -8
- package/dist/cjs/index-5z4HClQY.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/scout-bottom-bar-item.cjs.entry.js +8 -2
- package/dist/cjs/scout-bottom-bar-item.entry.cjs.js.map +1 -1
- package/dist/cjs/scout-bottom-bar.cjs.entry.js +2 -2
- package/dist/cjs/scout-button.cjs.entry.js +18 -3
- package/dist/cjs/scout-button.entry.cjs.js.map +1 -1
- package/dist/cjs/scout-card.cjs.entry.js +2 -2
- package/dist/cjs/scout-checkbox.cjs.entry.js +53 -0
- package/dist/cjs/scout-checkbox.entry.cjs.js.map +1 -0
- package/dist/cjs/scout-divider.cjs.entry.js +19 -0
- package/dist/cjs/scout-divider.entry.cjs.js.map +1 -0
- package/dist/cjs/scout-field.cjs.entry.js +2 -2
- package/dist/cjs/scout-input.cjs.entry.js +1 -1
- package/dist/cjs/scout-link.cjs.entry.js +64 -0
- package/dist/cjs/scout-link.entry.cjs.js.map +1 -0
- package/dist/cjs/scout-list-view-item.cjs.entry.js +64 -0
- package/dist/cjs/scout-list-view-item.entry.cjs.js.map +1 -0
- package/dist/cjs/scout-list-view.cjs.entry.js +21 -0
- package/dist/cjs/scout-list-view.entry.cjs.js.map +1 -0
- package/dist/cjs/scout-loader.cjs.entry.js +73 -0
- package/dist/cjs/scout-loader.entry.cjs.js.map +1 -0
- package/dist/cjs/scout-select.cjs.entry.js +60 -0
- package/dist/cjs/scout-select.entry.cjs.js.map +1 -0
- package/dist/cjs/scout-stack.cjs.entry.js +39 -0
- package/dist/cjs/scout-stack.entry.cjs.js.map +1 -0
- package/dist/cjs/scout-switch.cjs.entry.js +49 -0
- package/dist/cjs/scout-switch.entry.cjs.js.map +1 -0
- package/dist/cjs/ui-webc.cjs.js +3 -3
- package/dist/cjs/ui-webc.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +11 -2
- package/dist/collection/components/bottom-bar/bottom-bar.js +1 -1
- package/dist/collection/components/bottom-bar-item/bottom-bar-item.js +46 -2
- package/dist/collection/components/bottom-bar-item/bottom-bar-item.js.map +1 -1
- package/dist/collection/components/button/button.css +19 -17
- package/dist/collection/components/button/button.js +76 -4
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/checkbox/checkbox.css +81 -0
- package/dist/collection/components/checkbox/checkbox.js +176 -0
- package/dist/collection/components/checkbox/checkbox.js.map +1 -0
- package/dist/collection/components/divider/divider.css +5 -0
- package/dist/collection/components/divider/divider.js +20 -0
- package/dist/collection/components/divider/divider.js.map +1 -0
- package/dist/collection/components/field/field.js +1 -1
- package/dist/collection/components/input/input.js +2 -2
- package/dist/collection/components/link/link.css +30 -0
- package/dist/collection/components/link/link.js +207 -0
- package/dist/collection/components/link/link.js.map +1 -0
- package/dist/collection/components/list-view/list-view.css +5 -0
- package/dist/collection/components/list-view/list-view.js +22 -0
- package/dist/collection/components/list-view/list-view.js.map +1 -0
- package/dist/collection/components/list-view-item/list-view-item.css +72 -0
- package/dist/collection/components/list-view-item/list-view-item.js +226 -0
- package/dist/collection/components/list-view-item/list-view-item.js.map +1 -0
- package/dist/collection/components/loader/loader.css +121 -0
- package/dist/collection/components/loader/loader.js +111 -0
- package/dist/collection/components/loader/loader.js.map +1 -0
- package/dist/collection/components/loader/symbols/adventurer.svg +22 -0
- package/dist/collection/components/loader/symbols/challenger.svg +22 -0
- package/dist/collection/components/loader/symbols/discoverer.svg +22 -0
- package/dist/collection/components/loader/symbols/family-scout.svg +22 -0
- package/dist/collection/components/loader/symbols/rover.svg +22 -0
- package/dist/collection/components/loader/symbols/tracker.svg +22 -0
- package/dist/collection/components/select/select.css +60 -0
- package/dist/collection/components/select/select.js +176 -0
- package/dist/collection/components/select/select.js.map +1 -0
- package/dist/collection/components/stack/stack.css +6 -0
- package/dist/collection/components/stack/stack.js +96 -0
- package/dist/collection/components/stack/stack.js.map +1 -0
- package/dist/collection/components/switch/switch.css +79 -0
- package/dist/collection/components/switch/switch.js +173 -0
- package/dist/collection/components/switch/switch.js.map +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/{p-MfRr-Vl1.js → p-S6Ssep7K.js} +7 -9
- package/dist/components/p-S6Ssep7K.js.map +1 -0
- package/dist/components/scout-bottom-bar-item.js +11 -3
- package/dist/components/scout-bottom-bar-item.js.map +1 -1
- package/dist/components/scout-bottom-bar.js +2 -2
- package/dist/components/scout-button.js +22 -4
- package/dist/components/scout-button.js.map +1 -1
- package/dist/components/scout-card.js +2 -2
- package/dist/components/scout-checkbox.d.ts +11 -0
- package/dist/components/scout-checkbox.js +78 -0
- package/dist/components/scout-checkbox.js.map +1 -0
- package/dist/components/scout-divider.d.ts +11 -0
- package/dist/components/scout-divider.js +39 -0
- package/dist/components/scout-divider.js.map +1 -0
- package/dist/components/scout-field.js +3 -3
- package/dist/components/scout-input.js +2 -2
- package/dist/components/scout-link.d.ts +11 -0
- package/dist/components/scout-link.js +91 -0
- package/dist/components/scout-link.js.map +1 -0
- package/dist/components/scout-list-view-item.d.ts +11 -0
- package/dist/components/scout-list-view-item.js +92 -0
- package/dist/components/scout-list-view-item.js.map +1 -0
- package/dist/components/scout-list-view.d.ts +11 -0
- package/dist/components/scout-list-view.js +41 -0
- package/dist/components/scout-list-view.js.map +1 -0
- package/dist/components/scout-loader.d.ts +11 -0
- package/dist/components/scout-loader.js +96 -0
- package/dist/components/scout-loader.js.map +1 -0
- package/dist/components/scout-select.d.ts +11 -0
- package/dist/components/scout-select.js +84 -0
- package/dist/components/scout-select.js.map +1 -0
- package/dist/components/scout-stack.d.ts +11 -0
- package/dist/components/scout-stack.js +62 -0
- package/dist/components/scout-stack.js.map +1 -0
- package/dist/components/scout-switch.d.ts +11 -0
- package/dist/components/scout-switch.js +75 -0
- package/dist/components/scout-switch.js.map +1 -0
- package/dist/custom-elements.json +1399 -133
- package/dist/esm/{index-DByXnE9g.js → index-BI7oh__S.js} +7 -9
- package/dist/esm/index-BI7oh__S.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/scout-bottom-bar-item.entry.js +8 -2
- package/dist/esm/scout-bottom-bar-item.entry.js.map +1 -1
- package/dist/esm/scout-bottom-bar.entry.js +2 -2
- package/dist/esm/scout-button.entry.js +18 -3
- package/dist/esm/scout-button.entry.js.map +1 -1
- package/dist/esm/scout-card.entry.js +2 -2
- package/dist/esm/scout-checkbox.entry.js +51 -0
- package/dist/esm/scout-checkbox.entry.js.map +1 -0
- package/dist/esm/scout-divider.entry.js +17 -0
- package/dist/esm/scout-divider.entry.js.map +1 -0
- package/dist/esm/scout-field.entry.js +2 -2
- package/dist/esm/scout-input.entry.js +1 -1
- package/dist/esm/scout-link.entry.js +62 -0
- package/dist/esm/scout-link.entry.js.map +1 -0
- package/dist/esm/scout-list-view-item.entry.js +62 -0
- package/dist/esm/scout-list-view-item.entry.js.map +1 -0
- package/dist/esm/scout-list-view.entry.js +19 -0
- package/dist/esm/scout-list-view.entry.js.map +1 -0
- package/dist/esm/scout-loader.entry.js +71 -0
- package/dist/esm/scout-loader.entry.js.map +1 -0
- package/dist/esm/scout-select.entry.js +58 -0
- package/dist/esm/scout-select.entry.js.map +1 -0
- package/dist/esm/scout-stack.entry.js +37 -0
- package/dist/esm/scout-stack.entry.js.map +1 -0
- package/dist/esm/scout-switch.entry.js +47 -0
- package/dist/esm/scout-switch.entry.js.map +1 -0
- package/dist/esm/ui-webc.js +4 -4
- package/dist/esm/ui-webc.js.map +1 -1
- package/dist/types/components/bottom-bar-item/bottom-bar-item.d.ts +2 -0
- package/dist/types/components/button/button.d.ts +4 -1
- package/dist/types/components/checkbox/checkbox.d.ts +22 -0
- package/dist/types/components/divider/divider.d.ts +3 -0
- package/dist/types/components/link/link.d.ts +39 -0
- package/dist/types/components/list-view/list-view.d.ts +3 -0
- package/dist/types/components/list-view-item/list-view-item.d.ts +16 -0
- package/dist/types/components/loader/loader.d.ts +15 -0
- package/dist/types/components/select/select.d.ts +31 -0
- package/dist/types/components/stack/stack.d.ts +22 -0
- package/dist/types/components/switch/switch.d.ts +25 -0
- package/dist/types/components.d.ts +429 -2
- package/dist/types/stencil-public-runtime.d.ts +20 -11
- package/dist/ui-webc/p-15634492.entry.js +2 -0
- package/dist/ui-webc/p-15634492.entry.js.map +1 -0
- package/dist/ui-webc/{p-383736c1.entry.js → p-316eed06.entry.js} +2 -2
- package/dist/ui-webc/p-4064b941.entry.js +2 -0
- package/dist/ui-webc/p-4064b941.entry.js.map +1 -0
- package/dist/ui-webc/p-5e2c0abc.entry.js +2 -0
- package/dist/ui-webc/p-5e2c0abc.entry.js.map +1 -0
- package/dist/ui-webc/{p-9b7c270d.entry.js → p-662554f2.entry.js} +2 -2
- package/dist/ui-webc/p-72e5904f.entry.js +2 -0
- package/dist/ui-webc/p-72e5904f.entry.js.map +1 -0
- package/dist/ui-webc/p-939fb179.entry.js +2 -0
- package/dist/ui-webc/p-939fb179.entry.js.map +1 -0
- package/dist/ui-webc/p-93c5edd1.entry.js +2 -0
- package/dist/ui-webc/p-93c5edd1.entry.js.map +1 -0
- package/dist/ui-webc/p-9c2bb8d7.entry.js +2 -0
- package/dist/ui-webc/p-9c2bb8d7.entry.js.map +1 -0
- package/dist/ui-webc/p-BI7oh__S.js +3 -0
- package/dist/ui-webc/p-BI7oh__S.js.map +1 -0
- package/dist/ui-webc/{p-fb926c68.entry.js → p-b24cd5e8.entry.js} +2 -2
- package/dist/ui-webc/p-b7e542b2.entry.js +2 -0
- package/dist/ui-webc/p-b7e542b2.entry.js.map +1 -0
- package/dist/ui-webc/p-d0b4b8c4.entry.js +2 -0
- package/dist/ui-webc/p-df4ec2af.entry.js +2 -0
- package/dist/ui-webc/p-df4ec2af.entry.js.map +1 -0
- package/dist/ui-webc/p-eb235f73.entry.js +2 -0
- package/dist/ui-webc/p-eb235f73.entry.js.map +1 -0
- package/dist/ui-webc/p-f164c4f7.entry.js +2 -0
- package/dist/ui-webc/p-f164c4f7.entry.js.map +1 -0
- package/dist/ui-webc/scout-bottom-bar-item.entry.esm.js.map +1 -1
- package/dist/ui-webc/scout-button.entry.esm.js.map +1 -1
- package/dist/ui-webc/scout-checkbox.entry.esm.js.map +1 -0
- package/dist/ui-webc/scout-divider.entry.esm.js.map +1 -0
- package/dist/ui-webc/scout-link.entry.esm.js.map +1 -0
- package/dist/ui-webc/scout-list-view-item.entry.esm.js.map +1 -0
- package/dist/ui-webc/scout-list-view.entry.esm.js.map +1 -0
- package/dist/ui-webc/scout-loader.entry.esm.js.map +1 -0
- package/dist/ui-webc/scout-select.entry.esm.js.map +1 -0
- package/dist/ui-webc/scout-stack.entry.esm.js.map +1 -0
- package/dist/ui-webc/scout-switch.entry.esm.js.map +1 -0
- package/dist/ui-webc/ui-webc.css +2 -2
- package/dist/ui-webc/ui-webc.esm.js +1 -1
- package/dist/ui-webc/ui-webc.esm.js.map +1 -1
- package/package.json +10 -9
- package/dist/cjs/index-D42maJcS.js.map +0 -1
- package/dist/components/p-MfRr-Vl1.js.map +0 -1
- package/dist/esm/index-DByXnE9g.js.map +0 -1
- package/dist/ui-webc/p-99329c64.entry.js +0 -2
- package/dist/ui-webc/p-99329c64.entry.js.map +0 -1
- package/dist/ui-webc/p-DByXnE9g.js +0 -3
- package/dist/ui-webc/p-DByXnE9g.js.map +0 -1
- package/dist/ui-webc/p-c0c3a4af.entry.js +0 -2
- package/dist/ui-webc/p-e7602729.entry.js +0 -2
- package/dist/ui-webc/p-e7602729.entry.js.map +0 -1
- /package/dist/ui-webc/{p-383736c1.entry.js.map → p-316eed06.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-9b7c270d.entry.js.map → p-662554f2.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-fb926c68.entry.js.map → p-b24cd5e8.entry.js.map} +0 -0
- /package/dist/ui-webc/{p-c0c3a4af.entry.js.map → p-d0b4b8c4.entry.js.map} +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, c as createEvent, h } from './p-S6Ssep7K.js';
|
|
2
|
+
|
|
3
|
+
const switchCss = ".switch{width:var(--spacing-12);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:1px 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-size:calc((var(--spacing-6) - var(--spacing-1) / 2) + 1px)}.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;left:-1px;right:0;transition-duration:0.3s;transition-property:left, right}.switch:checked::before{content:\"\";background-color:var(--color-background-brand-base);left:calc(100% - (var(--spacing-6) - var(--spacing-1) / 2) + 1px);left:calc(100% - calc(var(--spacing-6) - var(--spacing-1) / 2) + 1px)}.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
|
+
const ScoutSwitch$1 = /*@__PURE__*/ proxyCustomElement(class ScoutSwitch extends H {
|
|
6
|
+
constructor(registerHost) {
|
|
7
|
+
super();
|
|
8
|
+
if (registerHost !== false) {
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
}
|
|
11
|
+
this.__attachShadow();
|
|
12
|
+
this.scoutSwitchToggled = createEvent(this, "scoutSwitchToggled");
|
|
13
|
+
this._fieldId = createEvent(this, "_fieldId");
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Indicates whether the switch is toggled on or off.
|
|
17
|
+
*/
|
|
18
|
+
toggled = false;
|
|
19
|
+
disabled = false;
|
|
20
|
+
/**
|
|
21
|
+
* Use this prop if you need to connect your switch with another element describing its use, other than the property label.
|
|
22
|
+
*/
|
|
23
|
+
ariaLabelledby;
|
|
24
|
+
label;
|
|
25
|
+
ariaId;
|
|
26
|
+
scoutSwitchToggled;
|
|
27
|
+
/**
|
|
28
|
+
* Internal event used for form field association.
|
|
29
|
+
*/
|
|
30
|
+
_fieldId;
|
|
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,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
render() {
|
|
43
|
+
const Tag = this.label && this.label.length ? "label" : "div";
|
|
44
|
+
return (h(Tag, { key: '318cc87a4c5a8f8f03303e2cac1c62b962498d58' }, this.label, h("span", { key: '8788d9db11b0abfd22258f073c157b60fbe6a3cc', class: "inlineDivider" }), h("input", { key: '5b882357938ccf8b81033dc035a796ce8524b36c', class: "switch", onChange: (event) => this.onClick(event), type: "checkbox", id: this.ariaId, "aria-labelledby": this.ariaLabelledby, "aria-disabled": this.disabled, disabled: this.disabled, checked: this.toggled })));
|
|
45
|
+
}
|
|
46
|
+
static get delegatesFocus() { return true; }
|
|
47
|
+
static get style() { return switchCss; }
|
|
48
|
+
}, [785, "scout-switch", {
|
|
49
|
+
"toggled": [4],
|
|
50
|
+
"disabled": [4],
|
|
51
|
+
"ariaLabelledby": [1, "aria-labelledby"],
|
|
52
|
+
"label": [1],
|
|
53
|
+
"ariaId": [32]
|
|
54
|
+
}]);
|
|
55
|
+
function defineCustomElement$1() {
|
|
56
|
+
if (typeof customElements === "undefined") {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const components = ["scout-switch"];
|
|
60
|
+
components.forEach(tagName => { switch (tagName) {
|
|
61
|
+
case "scout-switch":
|
|
62
|
+
if (!customElements.get(tagName)) {
|
|
63
|
+
customElements.define(tagName, ScoutSwitch$1);
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
} });
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const ScoutSwitch = ScoutSwitch$1;
|
|
70
|
+
const defineCustomElement = defineCustomElement$1;
|
|
71
|
+
|
|
72
|
+
export { ScoutSwitch, defineCustomElement };
|
|
73
|
+
//# sourceMappingURL=scout-switch.js.map
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=scout-switch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"scout-switch.js","mappings":";;AAAA,MAAM,SAAS,GAAG,omDAAomD;;MCgBzmDA,aAAW,iBAAAC,kBAAA,CAAA,MAAA,WAAA,SAAAC,CAAA,CAAA;;;;;;;;;;AACtB;;AAEG;IACK,OAAO,GAAY,KAAK;IAExB,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,cAAc;AAEd,IAAA,KAAK;AAEJ,IAAA,MAAM;AAEN,IAAA,kBAAkB;AAI3B;;AAEG;AACM,IAAA,QAAQ;IAEjB,iBAAiB,GAAA;QACf,IAAI,CAAC,MAAM,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE;QAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGjC,IAAA,OAAO,CAAC,KAAY,EAAA;AAClB,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,MAA0B;AAEtD,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,aAAa,CAAC,OAAO;AAC9B,YAAA,OAAO,EAAE,aAAa;AACvB,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,KAAK;QAC7D,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,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EACxC,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,MAAM,EAAA,iBAAA,EACE,IAAI,CAAC,cAAc,mBACrB,IAAI,CAAC,QAAQ,EAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAA,CACrB,CACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["ScoutSwitch","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/switch/switch.css?tag=scout-switch&encapsulation=shadow","src/components/switch/switch.tsx"],"sourcesContent":[".switch {\n width: var(--spacing-12);\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: 1px 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-size: calc((var(--spacing-6) - var(--spacing-1) / 2) + 1px);\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 left: -1px;\n right: 0;\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(--spacing-6) - var(--spacing-1) / 2) + 1px);\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 Event,\n type EventEmitter,\n h,\n Prop,\n State,\n} from \"@stencil/core\";\n\n@Component({\n tag: \"scout-switch\",\n styleUrl: \"switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutSwitch {\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 @State() ariaId: string;\n\n @Event() scoutSwitchToggled: EventEmitter<{\n toggled: boolean;\n element: HTMLInputElement;\n }>;\n /**\n * Internal event used for form field association.\n */\n @Event() _fieldId: EventEmitter<string>;\n\n componentWillLoad(): Promise<void> | void {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._fieldId.emit(this.ariaId);\n }\n\n onClick(event: Event) {\n const switchElement = event.target as HTMLInputElement;\n\n this.scoutSwitchToggled.emit({\n toggled: switchElement.checked,\n element: switchElement,\n });\n }\n\n render() {\n const Tag = this.label && this.label.length ? \"label\" : \"div\";\n return (\n <Tag>\n {this.label}\n <span class=\"inlineDivider\"></span>\n <input\n class=\"switch\"\n onChange={(event) => this.onClick(event)}\n type=\"checkbox\"\n id={this.ariaId}\n aria-labelledby={this.ariaLabelledby}\n aria-disabled={this.disabled}\n disabled={this.disabled}\n checked={this.toggled}\n />\n </Tag>\n );\n }\n}\n"],"version":3}
|