@scouterna/ui-webc 2.2.5 → 2.2.6
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-B3fXatmo.js → index-DpSUh0CA.js} +1809 -91
- package/dist/cjs/index.cjs.js +0 -1
- package/dist/cjs/{inputMixin-D1D-VFiT.js → inputMixin-BEUFwoun.js} +1 -4
- package/dist/cjs/loader.cjs.js +2 -3
- package/dist/cjs/scout-app-bar.cjs.entry.js +3 -4
- package/dist/cjs/scout-bottom-bar-item.cjs.entry.js +3 -4
- package/dist/cjs/scout-bottom-bar.cjs.entry.js +3 -4
- package/dist/cjs/scout-button.cjs.entry.js +12 -6
- package/dist/cjs/scout-card.cjs.entry.js +3 -4
- package/dist/cjs/scout-checkbox_2.cjs.entry.js +6 -7
- package/dist/cjs/scout-divider.cjs.entry.js +3 -4
- package/dist/cjs/scout-field.cjs.entry.js +3 -4
- package/dist/cjs/scout-input.cjs.entry.js +5 -6
- package/dist/cjs/scout-link.cjs.entry.js +3 -4
- package/dist/cjs/scout-list-view-item.cjs.entry.js +3 -4
- package/dist/cjs/scout-list-view-subheader.cjs.entry.js +3 -4
- package/dist/cjs/scout-list-view.cjs.entry.js +3 -4
- package/dist/cjs/scout-loader.cjs.entry.js +3 -4
- package/dist/cjs/scout-select.cjs.entry.js +4 -5
- package/dist/cjs/scout-stack.cjs.entry.js +3 -4
- package/dist/cjs/scout-switch.cjs.entry.js +4 -5
- package/dist/cjs/ui-webc.cjs.js +3 -4
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/app-bar/app-bar.js +0 -1
- package/dist/collection/components/bottom-bar/bottom-bar.js +0 -1
- package/dist/collection/components/bottom-bar-item/bottom-bar-item.js +0 -1
- package/dist/collection/components/button/button.css +12 -4
- package/dist/collection/components/button/button.js +36 -4
- package/dist/collection/components/card/card.js +0 -1
- package/dist/collection/components/checkbox/checkbox.js +0 -1
- package/dist/collection/components/divider/divider.js +0 -1
- package/dist/collection/components/field/field.js +0 -1
- package/dist/collection/components/input/input.js +17 -6
- package/dist/collection/components/link/link.js +0 -1
- package/dist/collection/components/list-view/list-view.js +0 -1
- package/dist/collection/components/list-view-item/list-view-item.js +0 -1
- package/dist/collection/components/list-view-subheader/list-view-subheader.js +0 -1
- package/dist/collection/components/loader/loader.js +0 -1
- package/dist/collection/components/radio-button/radio-button.js +0 -1
- package/dist/collection/components/select/select.js +0 -1
- package/dist/collection/components/stack/stack.js +0 -1
- package/dist/collection/components/switch/switch.js +0 -1
- package/dist/collection/index.js +0 -1
- package/dist/collection/mixins/inputMixin.js +0 -1
- package/dist/collection/utils/utils.js +0 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -10
- package/dist/components/p-CFwvojTA.js +1 -0
- package/dist/components/p-CToGnlms.js +1 -0
- package/dist/components/p-CmHrcz9s.js +1 -0
- package/dist/components/p-FVW0-50y.js +1 -0
- package/dist/components/scout-app-bar.js +1 -42
- package/dist/components/scout-bottom-bar-item.js +1 -85
- package/dist/components/scout-bottom-bar.js +1 -39
- package/dist/components/scout-button.js +1 -75
- package/dist/components/scout-card.js +1 -39
- package/dist/components/scout-checkbox.js +1 -9
- package/dist/components/scout-divider.js +1 -39
- package/dist/components/scout-field.js +1 -72
- package/dist/components/scout-input.js +1 -98
- package/dist/components/scout-link.js +1 -91
- package/dist/components/scout-list-view-item.js +1 -108
- package/dist/components/scout-list-view-subheader.js +1 -44
- package/dist/components/scout-list-view.js +1 -59
- package/dist/components/scout-loader.js +1 -96
- package/dist/components/scout-radio-button.js +1 -9
- package/dist/components/scout-select.js +1 -61
- package/dist/components/scout-stack.js +1 -62
- package/dist/components/scout-switch.js +1 -75
- package/dist/custom-elements.d.ts +11 -0
- package/dist/custom-elements.json +74 -7
- package/dist/esm/{index-ksA_9NPe.js → index-xD2pOo_x.js} +1809 -91
- package/dist/esm/index.js +0 -1
- package/dist/{components/p-B-kEl-ny.js → esm/inputMixin-BuDdNX3m.js} +3 -5
- package/dist/esm/loader.js +3 -4
- package/dist/esm/scout-app-bar.entry.js +3 -4
- package/dist/esm/scout-bottom-bar-item.entry.js +3 -4
- package/dist/esm/scout-bottom-bar.entry.js +3 -4
- package/dist/esm/scout-button.entry.js +12 -6
- package/dist/esm/scout-card.entry.js +3 -4
- package/dist/esm/scout-checkbox_2.entry.js +6 -7
- package/dist/esm/scout-divider.entry.js +3 -4
- package/dist/esm/scout-field.entry.js +3 -4
- package/dist/esm/scout-input.entry.js +5 -6
- package/dist/esm/scout-link.entry.js +3 -4
- package/dist/esm/scout-list-view-item.entry.js +3 -4
- package/dist/esm/scout-list-view-subheader.entry.js +3 -4
- package/dist/esm/scout-list-view.entry.js +3 -4
- package/dist/esm/scout-loader.entry.js +3 -4
- package/dist/esm/scout-select.entry.js +4 -5
- package/dist/esm/scout-stack.entry.js +3 -4
- package/dist/esm/scout-switch.entry.js +4 -5
- package/dist/esm/ui-webc.js +4 -5
- package/dist/types/components/button/button.d.ts +5 -0
- package/dist/types/components.d.ts +18 -8
- package/dist/types/stencil-public-runtime.d.ts +87 -4
- package/dist/ui-webc/index.esm.js +1 -2
- package/dist/ui-webc/p-186ee2d2.entry.js +1 -0
- package/dist/ui-webc/p-1f031683.entry.js +1 -0
- package/dist/ui-webc/p-20ba2e18.entry.js +1 -0
- package/dist/ui-webc/p-4f317624.entry.js +1 -0
- package/dist/ui-webc/p-594f0ba6.entry.js +1 -0
- package/dist/ui-webc/p-6ea55279.entry.js +1 -0
- package/dist/ui-webc/p-802ce20c.entry.js +1 -0
- package/dist/ui-webc/p-80b57c1b.entry.js +1 -0
- package/dist/ui-webc/p-8da4cdaa.entry.js +1 -0
- package/dist/ui-webc/p-90c097f4.entry.js +1 -0
- package/dist/ui-webc/p-BuuT2Uz3.js +1 -0
- package/dist/ui-webc/p-a92dd367.entry.js +1 -0
- package/dist/ui-webc/p-bf96d820.entry.js +1 -0
- package/dist/ui-webc/p-cdce9596.entry.js +1 -0
- package/dist/ui-webc/p-d7430470.entry.js +1 -0
- package/dist/ui-webc/p-db9e3e2d.entry.js +1 -0
- package/dist/ui-webc/p-e97f584a.entry.js +1 -0
- package/dist/ui-webc/p-f3ff75c8.entry.js +1 -0
- package/dist/ui-webc/p-xD2pOo_x.js +2 -0
- package/dist/ui-webc/ui-webc.esm.js +1 -2
- package/package.json +5 -5
- package/dist/cjs/index-B3fXatmo.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/inputMixin-D1D-VFiT.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/scout-app-bar.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-bottom-bar-item.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-bottom-bar.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-button.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-card.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-checkbox.scout-radio-button.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-divider.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-field.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-input.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-link.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-list-view-item.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-list-view-subheader.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-list-view.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-loader.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-select.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-stack.entry.cjs.js.map +0 -1
- package/dist/cjs/scout-switch.entry.cjs.js.map +0 -1
- package/dist/cjs/ui-webc.cjs.js.map +0 -1
- package/dist/collection/components/app-bar/app-bar.js.map +0 -1
- package/dist/collection/components/bottom-bar/bottom-bar.js.map +0 -1
- package/dist/collection/components/bottom-bar-item/bottom-bar-item.js.map +0 -1
- package/dist/collection/components/button/button.js.map +0 -1
- package/dist/collection/components/card/card.js.map +0 -1
- package/dist/collection/components/checkbox/checkbox.js.map +0 -1
- package/dist/collection/components/divider/divider.js.map +0 -1
- package/dist/collection/components/field/field.js.map +0 -1
- package/dist/collection/components/input/input.js.map +0 -1
- package/dist/collection/components/link/link.js.map +0 -1
- package/dist/collection/components/list-view/list-view.js.map +0 -1
- package/dist/collection/components/list-view-item/list-view-item.js.map +0 -1
- package/dist/collection/components/list-view-subheader/list-view-subheader.js.map +0 -1
- package/dist/collection/components/loader/loader.js.map +0 -1
- package/dist/collection/components/radio-button/radio-button.js.map +0 -1
- package/dist/collection/components/select/select.js.map +0 -1
- package/dist/collection/components/stack/stack.js.map +0 -1
- package/dist/collection/components/switch/switch.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/mixins/inputMixin.js.map +0 -1
- package/dist/collection/utils/utils.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/p-4RT-nIeK.js +0 -71
- package/dist/components/p-4RT-nIeK.js.map +0 -1
- package/dist/components/p-B-kEl-ny.js.map +0 -1
- package/dist/components/p-CLzh39Ll.js +0 -73
- package/dist/components/p-CLzh39Ll.js.map +0 -1
- package/dist/components/p-fr5CaUFu.js +0 -1747
- package/dist/components/p-fr5CaUFu.js.map +0 -1
- package/dist/components/scout-app-bar.js.map +0 -1
- package/dist/components/scout-bottom-bar-item.js.map +0 -1
- package/dist/components/scout-bottom-bar.js.map +0 -1
- package/dist/components/scout-button.js.map +0 -1
- package/dist/components/scout-card.js.map +0 -1
- package/dist/components/scout-checkbox.js.map +0 -1
- package/dist/components/scout-divider.js.map +0 -1
- package/dist/components/scout-field.js.map +0 -1
- package/dist/components/scout-input.js.map +0 -1
- package/dist/components/scout-link.js.map +0 -1
- package/dist/components/scout-list-view-item.js.map +0 -1
- package/dist/components/scout-list-view-subheader.js.map +0 -1
- package/dist/components/scout-list-view.js.map +0 -1
- package/dist/components/scout-loader.js.map +0 -1
- package/dist/components/scout-radio-button.js.map +0 -1
- package/dist/components/scout-select.js.map +0 -1
- package/dist/components/scout-stack.js.map +0 -1
- package/dist/components/scout-switch.js.map +0 -1
- package/dist/esm/index-ksA_9NPe.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/inputMixin-C9OB0DNj.js +0 -69
- package/dist/esm/inputMixin-C9OB0DNj.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/scout-app-bar.entry.js.map +0 -1
- package/dist/esm/scout-bottom-bar-item.entry.js.map +0 -1
- package/dist/esm/scout-bottom-bar.entry.js.map +0 -1
- package/dist/esm/scout-button.entry.js.map +0 -1
- package/dist/esm/scout-card.entry.js.map +0 -1
- package/dist/esm/scout-checkbox.scout-radio-button.entry.js.map +0 -1
- package/dist/esm/scout-divider.entry.js.map +0 -1
- package/dist/esm/scout-field.entry.js.map +0 -1
- package/dist/esm/scout-input.entry.js.map +0 -1
- package/dist/esm/scout-link.entry.js.map +0 -1
- package/dist/esm/scout-list-view-item.entry.js.map +0 -1
- package/dist/esm/scout-list-view-subheader.entry.js.map +0 -1
- package/dist/esm/scout-list-view.entry.js.map +0 -1
- package/dist/esm/scout-loader.entry.js.map +0 -1
- package/dist/esm/scout-select.entry.js.map +0 -1
- package/dist/esm/scout-stack.entry.js.map +0 -1
- package/dist/esm/scout-switch.entry.js.map +0 -1
- package/dist/esm/ui-webc.js.map +0 -1
- package/dist/ui-webc/index.esm.js.map +0 -1
- package/dist/ui-webc/loader.esm.js.map +0 -1
- package/dist/ui-webc/p-08499152.entry.js +0 -2
- package/dist/ui-webc/p-08499152.entry.js.map +0 -1
- package/dist/ui-webc/p-0b8a7cc9.entry.js +0 -2
- package/dist/ui-webc/p-0b8a7cc9.entry.js.map +0 -1
- package/dist/ui-webc/p-1efd7b9a.entry.js +0 -2
- package/dist/ui-webc/p-1efd7b9a.entry.js.map +0 -1
- package/dist/ui-webc/p-2a842a24.entry.js +0 -2
- package/dist/ui-webc/p-2a842a24.entry.js.map +0 -1
- package/dist/ui-webc/p-30b75968.entry.js +0 -2
- package/dist/ui-webc/p-30b75968.entry.js.map +0 -1
- package/dist/ui-webc/p-3ac00412.entry.js +0 -2
- package/dist/ui-webc/p-3ac00412.entry.js.map +0 -1
- package/dist/ui-webc/p-4f28520e.entry.js +0 -2
- package/dist/ui-webc/p-4f28520e.entry.js.map +0 -1
- package/dist/ui-webc/p-50112773.entry.js +0 -2
- package/dist/ui-webc/p-50112773.entry.js.map +0 -1
- package/dist/ui-webc/p-6de2edd1.entry.js +0 -2
- package/dist/ui-webc/p-6de2edd1.entry.js.map +0 -1
- package/dist/ui-webc/p-6e9afb25.entry.js +0 -2
- package/dist/ui-webc/p-6e9afb25.entry.js.map +0 -1
- package/dist/ui-webc/p-8a942414.entry.js +0 -2
- package/dist/ui-webc/p-8a942414.entry.js.map +0 -1
- package/dist/ui-webc/p-8f3e4290.entry.js +0 -2
- package/dist/ui-webc/p-8f3e4290.entry.js.map +0 -1
- package/dist/ui-webc/p-BsG0XL4c.js +0 -2
- package/dist/ui-webc/p-BsG0XL4c.js.map +0 -1
- package/dist/ui-webc/p-b0a70cb6.entry.js +0 -2
- package/dist/ui-webc/p-b0a70cb6.entry.js.map +0 -1
- package/dist/ui-webc/p-c2c5857d.entry.js +0 -2
- package/dist/ui-webc/p-c2c5857d.entry.js.map +0 -1
- package/dist/ui-webc/p-cbf489b1.entry.js +0 -2
- package/dist/ui-webc/p-cbf489b1.entry.js.map +0 -1
- package/dist/ui-webc/p-d68b8b37.entry.js +0 -2
- package/dist/ui-webc/p-d68b8b37.entry.js.map +0 -1
- package/dist/ui-webc/p-dcc4dafa.entry.js +0 -2
- package/dist/ui-webc/p-dcc4dafa.entry.js.map +0 -1
- package/dist/ui-webc/p-ksA_9NPe.js +0 -3
- package/dist/ui-webc/p-ksA_9NPe.js.map +0 -1
- package/dist/ui-webc/scout-app-bar.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-bottom-bar-item.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-bottom-bar.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-button.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-card.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-checkbox.scout-radio-button.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-divider.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-field.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-input.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-link.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-list-view-item.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-list-view-subheader.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-list-view.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-loader.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-select.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-stack.entry.esm.js.map +0 -1
- package/dist/ui-webc/scout-switch.entry.esm.js.map +0 -1
- package/dist/ui-webc/ui-webc.esm.js.map +0 -1
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { p as proxyCustomElement, M as Mixin, c as createEvent, h } from './p-fr5CaUFu.js';
|
|
2
|
-
import { i as inputMixin } from './p-B-kEl-ny.js';
|
|
3
|
-
|
|
4
|
-
const radioButtonCss = ".radio.sc-scout-radio-button{width:var(--spacing-6);height:var(--spacing-6);-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;align-content:center;justify-content:center;border-radius:100%;background-color:var(--color-white);border:2px solid var(--color-gray-300);position:relative}.radio.sc-scout-radio-button:hover{border:2px solid var(--color-gray-400);box-shadow:inset 0px 0px 5px 5px var(--color-background-brand-subtle-hovered);cursor:pointer}.radio.sc-scout-radio-button:active{background-color:var(--color-background-brand-subtle-pressed)}.radio.sc-scout-radio-button:checked:hover{border-color:var(--color-background-brand-hovered);box-shadow:none}.radio.sc-scout-radio-button:checked:hover::before{background-color:var(--color-background-brand-hovered)}.radio.sc-scout-radio-button:checked{border-color:var(--color-background-brand-base)}.radio.sc-scout-radio-button::after{content:\"\";position:absolute;width:var(--spacing-10);height:var(--spacing-10);top:50%;left:50%;transform:translate(-50%, -50%)}.radio.sc-scout-radio-button:checked::before{content:\"\";background-color:var(--color-background-brand-base);width:var(--spacing-4);height:var(--spacing-4);position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);border-radius:100%}.radio.sc-scout-radio-button:disabled{pointer-events:none;background-color:var(--color-gray-100);border-color:var(--color-gray-100)}label.sc-scout-radio-button{display:flex;align-items:center;gap:var(--spacing-2);font:var(--type-label-base);color:var(--color-text-base)}";
|
|
5
|
-
|
|
6
|
-
const ScoutRadioButton = /*@__PURE__*/ proxyCustomElement(class ScoutRadioButton extends Mixin(inputMixin) {
|
|
7
|
-
constructor(registerHost) {
|
|
8
|
-
super(false);
|
|
9
|
-
if (registerHost !== false) {
|
|
10
|
-
this.__registerHost();
|
|
11
|
-
}
|
|
12
|
-
this.scoutInputChange = createEvent(this, "scoutInputChange");
|
|
13
|
-
this.scoutBlur = createEvent(this, "scoutBlur");
|
|
14
|
-
this._scoutValidate = createEvent(this, "_scoutValidate");
|
|
15
|
-
this._scoutInvalid = createEvent(this, "_scoutInvalid");
|
|
16
|
-
this._scoutFieldId = createEvent(this, "_scoutFieldId");
|
|
17
|
-
this.scoutChecked = createEvent(this, "scoutChecked");
|
|
18
|
-
}
|
|
19
|
-
checked = false;
|
|
20
|
-
disabled = false;
|
|
21
|
-
/**
|
|
22
|
-
* Use this prop if you need to connect your radio button with another element describing its use, other than the property label.
|
|
23
|
-
*/
|
|
24
|
-
ariaLabelledby;
|
|
25
|
-
label;
|
|
26
|
-
value;
|
|
27
|
-
name;
|
|
28
|
-
scoutChecked;
|
|
29
|
-
onChange(event) {
|
|
30
|
-
const radio = event.target;
|
|
31
|
-
this.scoutChecked.emit({
|
|
32
|
-
checked: radio.checked,
|
|
33
|
-
element: radio,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
render() {
|
|
37
|
-
const Tag = this.label?.length ? "label" : "div";
|
|
38
|
-
return (h(Tag, { key: '22df090dcbf2f2b4b14b7cad8d34500295045f70' }, h("input", { key: '3bcc5022fa6202fd1fe733c1a8430f7ed1a54cf4', ref: (el) => this.setInputRef(el), id: this.ariaId, type: "radio", value: this.value, name: this.name, class: "radio", "aria-labelledby": this.ariaLabelledby, "aria-disabled": this.disabled, disabled: this.disabled, checked: this.checked, onChange: (event) => {
|
|
39
|
-
this.onInput();
|
|
40
|
-
this.onChange(event);
|
|
41
|
-
}, onBlur: () => this.onBlur(), onInvalid: () => this.onInvalid() }), this.label));
|
|
42
|
-
}
|
|
43
|
-
static get style() { return radioButtonCss; }
|
|
44
|
-
}, [770, "scout-radio-button", {
|
|
45
|
-
"validate": [16],
|
|
46
|
-
"checked": [4],
|
|
47
|
-
"disabled": [4],
|
|
48
|
-
"ariaLabelledby": [1, "aria-labelledby"],
|
|
49
|
-
"label": [1],
|
|
50
|
-
"value": [1],
|
|
51
|
-
"name": [1],
|
|
52
|
-
"ariaId": [32]
|
|
53
|
-
}]);
|
|
54
|
-
function defineCustomElement() {
|
|
55
|
-
if (typeof customElements === "undefined") {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const components = ["scout-radio-button"];
|
|
59
|
-
components.forEach(tagName => { switch (tagName) {
|
|
60
|
-
case "scout-radio-button":
|
|
61
|
-
if (!customElements.get(tagName)) {
|
|
62
|
-
customElements.define(tagName, ScoutRadioButton);
|
|
63
|
-
}
|
|
64
|
-
break;
|
|
65
|
-
} });
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export { ScoutRadioButton as S, defineCustomElement as d };
|
|
69
|
-
//# sourceMappingURL=p-4RT-nIeK.js.map
|
|
70
|
-
|
|
71
|
-
//# sourceMappingURL=p-4RT-nIeK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-4RT-nIeK.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,ghDAAghD;;ACqB1hD,MAAA,gBACX,iBAAAA,kBAAA,CAAA,MAAA,gBAAA,SAAQ,KAAK,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;;;;IAGjB,OAAO,GAAY,KAAK;IAExB,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,cAAc;AAEd,IAAA,KAAK;AAEL,IAAA,KAAK;AAEL,IAAA,IAAI;AAEH,IAAA,YAAY;AAKrB,IAAA,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAE9C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,YAAA,OAAO,EAAE,KAAK;AACf,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK;AAChD,QAAA,QACE,EAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACF,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EACjC,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,OAAO,EAAA,iBAAA,EACI,IAAI,CAAC,cAAc,EAAA,eAAA,EACrB,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;AACtB,aAAC,EACD,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAC3B,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EACjC,CAAA,EACD,IAAI,CAAC,KAAK,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement"],"sources":["src/components/radio-button/radio-button.css?tag=scout-radio-button&encapsulation=scoped","src/components/radio-button/radio-button.tsx"],"sourcesContent":[".radio {\n width: var(--spacing-6);\n height: var(--spacing-6);\n appearance: none;\n -webkit-appearance: none;\n display: flex;\n align-content: center;\n justify-content: center;\n border-radius: 100%;\n background-color: var(--color-white);\n border: 2px solid var(--color-gray-300);\n position: relative;\n}\n\n.radio:hover {\n border: 2px solid var(--color-gray-400);\n box-shadow: inset 0px 0px 5px 5px var(--color-background-brand-subtle-hovered);\n cursor: pointer;\n}\n\n.radio:active {\n background-color: var(--color-background-brand-subtle-pressed);\n}\n\n.radio:checked:hover {\n border-color: var(--color-background-brand-hovered);\n box-shadow: none;\n}\n\n.radio:checked:hover::before {\n background-color: var(--color-background-brand-hovered);\n}\n\n.radio:checked {\n border-color: var(--color-background-brand-base);\n}\n\n.radio::after {\n content: \"\";\n position: absolute;\n width: var(--spacing-10);\n height: var(--spacing-10);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.radio:checked::before {\n content: \"\";\n background-color: var(--color-background-brand-base);\n width: var(--spacing-4);\n height: var(--spacing-4);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border-radius: 100%;\n}\n\n.radio:disabled {\n pointer-events: none;\n background-color: var(--color-gray-100);\n border-color: var(--color-gray-100);\n}\n\nlabel {\n display: flex;\n align-items: center;\n gap: var(--spacing-2);\n font: var(--type-label-base);\n color: var(--color-text-base);\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/**\n * The radio button component is used to let users select one option from a set.\n * When used in a form, make sure to wrap it in a Field component to display a\n * label, help text, and error messages.\n */\n@Component({\n tag: \"scout-radio-button\",\n styleUrl: \"radio-button.css\",\n scoped: true,\n})\nexport class ScoutRadioButton\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\n @Prop() checked: boolean = false;\n\n @Prop() disabled: boolean = false;\n\n /**\n * Use this prop if you need to connect your radio button with another element describing its use, other than the property label.\n */\n @Prop() ariaLabelledby: string;\n\n @Prop() label: string;\n\n @Prop() value: string;\n\n @Prop() name: string;\n\n @Event() scoutChecked: EventEmitter<{\n checked: boolean;\n element: HTMLInputElement;\n }>;\n\n onChange(event: Event) {\n const radio = event.target as HTMLInputElement;\n\n this.scoutChecked.emit({\n checked: radio.checked,\n element: radio,\n });\n }\n\n render() {\n const Tag = this.label?.length ? \"label\" : \"div\";\n return (\n <Tag>\n <input\n ref={(el) => this.setInputRef(el)}\n id={this.ariaId}\n type=\"radio\"\n value={this.value}\n name={this.name}\n class=\"radio\"\n aria-labelledby={this.ariaLabelledby}\n aria-disabled={this.disabled}\n disabled={this.disabled}\n checked={this.checked}\n onChange={(event) => {\n this.onInput();\n this.onChange(event);\n }}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n />\n {this.label}\n </Tag>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-B-kEl-ny.js","mappings":";;AAQa,MAAA,UAAU,GAAG,CAAwB,IAAO,KAAI;UACrD,UAAW,GAAA,cAAQ,IAAI,CAAA;;;;AAC3B;;;;AAIG;AACK,QAAA,QAAQ;AAEP,QAAA,gBAAgB;AAIhB,QAAA,SAAS;AAElB;;AAEG;AACM,QAAA,cAAc;AAEvB;;AAEG;AACM,QAAA,aAAa;AAEtB;;AAEG;AACM,QAAA,aAAa;AAEb,QAAA,MAAM;AAEP,QAAA,YAAY;QAOpB,iBAAiB,GAAA;YACf,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;YAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;QAGtC,gBAAgB,GAAA;YACd,IAAI,CAAC,aAAa,EAAE;;QAGtB,OAAO,GAAA;YACL,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACzB,gBAAA,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;gBAC9B,OAAO,EAAE,IAAI,CAAC,YAAY;AAC3B,aAAA,CAAC;;QAGJ,MAAM,GAAA;AACJ,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;QAGvB,SAAS,GAAA;AACP,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;QAG3B,aAAa,GAAA;AACX,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB;;AAGF,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,CAAC;AAE5D,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;;AAG1D,QAAA,WAAW,CACT,EAKuB,EAAA;AAEvB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE;;;AAG1B,IAAA,OAAO,UAAU;AACnB;;;;","names":[],"sources":["src/mixins/inputMixin.ts"],"sourcesContent":["import {\n Event,\n type EventEmitter,\n type MixedInCtor,\n Prop,\n State,\n} from \"@stencil/core\";\n\nexport const inputMixin = <B extends MixedInCtor>(Base: B) => {\n class InputMixin extends Base {\n /**\n * Custom validation function run on top of the implicit validation performed\n * by the browser. Return a string with the validation message to mark the\n * input as invalid, or null to mark it as valid.\n */\n @Prop() validate?: (value: string) => string | null;\n\n @Event() scoutInputChange: EventEmitter<{\n value: string;\n element: HTMLElement;\n }>;\n @Event() scoutBlur: EventEmitter<void>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutValidate: EventEmitter<{ element: HTMLElement }>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutInvalid: EventEmitter<void>;\n\n /**\n * Internal event used for form field association.\n */\n @Event() _scoutFieldId: EventEmitter<string>;\n\n @State() ariaId: string;\n\n private inputElement:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n\n componentWillLoad() {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._scoutFieldId.emit(this.ariaId);\n }\n\n componentDidLoad() {\n this.runValidation();\n }\n\n onInput() {\n this.runValidation();\n this.scoutInputChange.emit({\n value: this.inputElement.value,\n element: this.inputElement,\n });\n }\n\n onBlur() {\n this.scoutBlur.emit();\n }\n\n onInvalid() {\n this._scoutInvalid.emit();\n }\n\n runValidation() {\n if (!this.validate) {\n return;\n }\n\n const validationMessage = this.validate(this.inputElement.value);\n this.inputElement.setCustomValidity(validationMessage ?? \"\");\n\n this._scoutValidate.emit({ element: this.inputElement });\n }\n\n setInputRef(\n el:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement,\n ) {\n this.inputElement = el;\n }\n }\n return InputMixin;\n};\n"],"version":3}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { p as proxyCustomElement, M as Mixin, c as createEvent, h } from './p-fr5CaUFu.js';
|
|
2
|
-
import { i as inputMixin } from './p-B-kEl-ny.js';
|
|
3
|
-
|
|
4
|
-
const checkSvg = 'data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCiAgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItY2hlY2siCj4KICA8cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KICA8cGF0aCBkPSJNNSAxMmw1IDVsMTAgLTEwIiAvPgo8L3N2Zz4=';
|
|
5
|
-
|
|
6
|
-
const checkboxCss = ".checkbox.sc-scout-checkbox{width:var(--spacing-6);height:var(--spacing-6);-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;align-content:center;justify-content:center;border-radius:3px;background-color:var(--color-text-brand-inverse);border:2px solid var(--color-gray-300);position:relative}.checkbox.sc-scout-checkbox:hover{border:2px solid var(--color-gray-400);box-shadow:inset 0px 0px 5px 5px var(--color-background-brand-subtle-hovered);cursor:pointer}.checkbox.sc-scout-checkbox:active{background-color:var(--color-background-brand-subtle-pressed)}.checkbox.sc-scout-checkbox:checked:hover{background-color:var(--color-background-brand-hovered);border-color:var(--color-background-brand-hovered);box-shadow:none}.checkbox.sc-scout-checkbox:checked{background-color:var(--color-background-brand-base);border-color:var(--color-background-brand-base)}.checkbox.sc-scout-checkbox::after{content:\"\";position:absolute;width:var(--spacing-10);height:var(--spacing-10);top:50%;left:50%;transform:translate(-50%, -50%)}.checkbox.sc-scout-checkbox:checked::before{content:\"\";background-color:var(--color-text-brand-inverse);width:var(--spacing-6);height:var(--spacing-6);position:absolute;top:50%;left:50%;right:0;bottom:0;transform:translate(-50%, -50%);-webkit-mask-image:var(--icon-checkbox);mask-image:var(--icon-checkbox);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.checkbox.sc-scout-checkbox:disabled{pointer-events:none;background-color:var(--color-gray-100);border-color:var(--color-gray-100)}label.sc-scout-checkbox{display:flex;align-items:center;gap:var(--spacing-2);font:var(--type-label-base);color:var(--color-text-base)}";
|
|
7
|
-
|
|
8
|
-
const ScoutCheckbox = /*@__PURE__*/ proxyCustomElement(class ScoutCheckbox extends Mixin(inputMixin) {
|
|
9
|
-
constructor(registerHost) {
|
|
10
|
-
super(false);
|
|
11
|
-
if (registerHost !== false) {
|
|
12
|
-
this.__registerHost();
|
|
13
|
-
}
|
|
14
|
-
this.scoutInputChange = createEvent(this, "scoutInputChange");
|
|
15
|
-
this.scoutBlur = createEvent(this, "scoutBlur");
|
|
16
|
-
this._scoutValidate = createEvent(this, "_scoutValidate");
|
|
17
|
-
this._scoutInvalid = createEvent(this, "_scoutInvalid");
|
|
18
|
-
this._scoutFieldId = createEvent(this, "_scoutFieldId");
|
|
19
|
-
this.scoutChecked = createEvent(this, "scoutChecked");
|
|
20
|
-
}
|
|
21
|
-
checked = false;
|
|
22
|
-
disabled = false;
|
|
23
|
-
/**
|
|
24
|
-
* Use this prop if you need to connect your checkbox with another element describing its use, other than the property label.
|
|
25
|
-
*/
|
|
26
|
-
ariaLabelledby;
|
|
27
|
-
label;
|
|
28
|
-
value;
|
|
29
|
-
name;
|
|
30
|
-
scoutChecked;
|
|
31
|
-
onChange(event) {
|
|
32
|
-
const checkbox = event.target;
|
|
33
|
-
this.scoutChecked.emit({
|
|
34
|
-
checked: checkbox.checked,
|
|
35
|
-
element: checkbox,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
render() {
|
|
39
|
-
const Tag = this.label?.length ? "label" : "div";
|
|
40
|
-
return (h(Tag, { key: '67b42b2b686fffecf891da832236fde663b740dc' }, h("input", { key: '81821918d102e1ca809915c14a20aa0847f46e30', ref: (el) => this.setInputRef(el), id: this.ariaId, type: "checkbox", value: this.value, name: this.name, class: "checkbox", style: { "--icon-checkbox": `url(${checkSvg})` }, "aria-labelledby": this.ariaLabelledby, "aria-disabled": this.disabled, disabled: this.disabled, checked: this.checked, onChange: (event) => {
|
|
41
|
-
this.onInput();
|
|
42
|
-
this.onChange(event);
|
|
43
|
-
}, onBlur: () => this.onBlur(), onInvalid: () => this.onInvalid() }), this.label));
|
|
44
|
-
}
|
|
45
|
-
static get style() { return checkboxCss; }
|
|
46
|
-
}, [770, "scout-checkbox", {
|
|
47
|
-
"validate": [16],
|
|
48
|
-
"checked": [4],
|
|
49
|
-
"disabled": [4],
|
|
50
|
-
"ariaLabelledby": [1, "aria-labelledby"],
|
|
51
|
-
"label": [1],
|
|
52
|
-
"value": [1],
|
|
53
|
-
"name": [1],
|
|
54
|
-
"ariaId": [32]
|
|
55
|
-
}]);
|
|
56
|
-
function defineCustomElement() {
|
|
57
|
-
if (typeof customElements === "undefined") {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
const components = ["scout-checkbox"];
|
|
61
|
-
components.forEach(tagName => { switch (tagName) {
|
|
62
|
-
case "scout-checkbox":
|
|
63
|
-
if (!customElements.get(tagName)) {
|
|
64
|
-
customElements.define(tagName, ScoutCheckbox);
|
|
65
|
-
}
|
|
66
|
-
break;
|
|
67
|
-
} });
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export { ScoutCheckbox as S, defineCustomElement as d };
|
|
71
|
-
//# sourceMappingURL=p-CLzh39Ll.js.map
|
|
72
|
-
|
|
73
|
-
//# sourceMappingURL=p-CLzh39Ll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-CLzh39Ll.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,4fAA4f;;ACA7gB,MAAM,WAAW,GAAG,woDAAwoD;;ACuB/oD,MAAA,aACX,iBAAAA,kBAAA,CAAA,MAAA,aAAA,SAAQ,KAAK,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;;;;IAGjB,OAAO,GAAY,KAAK;IAExB,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,cAAc;AAEd,IAAA,KAAK;AAEL,IAAA,KAAK;AAEL,IAAA,IAAI;AAEH,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,EACF,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EACjC,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAOC,QAAS,CAAA,CAAA,CAAG,EAAE,qBAChC,IAAI,CAAC,cAAc,EAAA,eAAA,EACrB,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;AACtB,aAAC,EACD,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAC3B,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EACjC,CAAA,EACD,IAAI,CAAC,KAAK,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","checkIcon"],"sources":["../../node_modules/.pnpm/@tabler+icons@3.35.0/node_modules/@tabler/icons/icons/outline/check.svg","src/components/checkbox/checkbox.css?tag=scout-checkbox&encapsulation=scoped","src/components/checkbox/checkbox.tsx"],"sourcesContent":["<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"icon icon-tabler icons-tabler-outline icon-tabler-check\"\n>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M5 12l5 5l10 -10\" />\n</svg>",".checkbox {\n width: var(--spacing-6);\n height: var(--spacing-6);\n appearance: none;\n -webkit-appearance: none;\n display: flex;\n align-content: center;\n justify-content: center;\n border-radius: 3px;\n background-color: var(--color-text-brand-inverse);\n border: 2px solid var(--color-gray-300);\n position: relative;\n}\n\n.checkbox:hover {\n border: 2px solid var(--color-gray-400);\n box-shadow: inset 0px 0px 5px 5px var(--color-background-brand-subtle-hovered);\n cursor: pointer;\n}\n\n.checkbox:active {\n background-color: var(--color-background-brand-subtle-pressed);\n}\n\n.checkbox:checked:hover {\n background-color: var(--color-background-brand-hovered);\n border-color: var(--color-background-brand-hovered);\n box-shadow: none;\n}\n\n.checkbox:checked {\n background-color: var(--color-background-brand-base);\n border-color: var(--color-background-brand-base);\n}\n\n.checkbox::after {\n content: \"\";\n position: absolute;\n width: var(--spacing-10);\n height: var(--spacing-10);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.checkbox:checked::before {\n content: \"\";\n background-color: var(--color-text-brand-inverse);\n width: var(--spacing-6);\n height: var(--spacing-6);\n position: absolute;\n /* Needed because of the border */\n top: 50%;\n left: 50%;\n right: 0;\n bottom: 0;\n transform: translate(-50%, -50%);\n mask-image: var(--icon-checkbox);\n mask-repeat: no-repeat;\n}\n\n.checkbox:disabled {\n pointer-events: none;\n background-color: var(--color-gray-100);\n border-color: var(--color-gray-100);\n}\n\nlabel {\n display: flex;\n align-items: center;\n gap: var(--spacing-2);\n font: var(--type-label-base);\n color: var(--color-text-base);\n}\n","import {\n Component,\n type ComponentInterface,\n Event,\n type EventEmitter,\n h,\n Mixin,\n Prop,\n} from \"@stencil/core\";\nimport checkIcon from \"@tabler/icons/outline/check.svg\";\nimport { inputMixin } from \"../../mixins/inputMixin\";\n\n/**\n * The checkbox component is used to let users select one or more options from a\n * set. For toggling a single option, consider using the Switch component\n * instead. When used in a form, make sure to wrap it in a Field component to\n * display a label, help text, and error messages.\n */\n@Component({\n tag: \"scout-checkbox\",\n styleUrl: \"checkbox.css\",\n scoped: true,\n})\nexport class ScoutCheckbox\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\n @Prop() checked: boolean = false;\n\n @Prop() disabled: boolean = false;\n\n /**\n * Use this prop if you need to connect your checkbox with another element describing its use, other than the property label.\n */\n @Prop() ariaLabelledby: string;\n\n @Prop() label: string;\n\n @Prop() value: string;\n\n @Prop() name: 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 <input\n ref={(el) => this.setInputRef(el)}\n id={this.ariaId}\n type=\"checkbox\"\n value={this.value}\n name={this.name}\n class=\"checkbox\"\n style={{ \"--icon-checkbox\": `url(${checkIcon})` }}\n aria-labelledby={this.ariaLabelledby}\n aria-disabled={this.disabled}\n disabled={this.disabled}\n checked={this.checked}\n onChange={(event) => {\n this.onInput();\n this.onChange(event);\n }}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n />\n {this.label}\n </Tag>\n );\n }\n}\n"],"version":3}
|