@quartzds/core 1.0.0-beta.123 → 1.0.0-beta.125
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/CHANGELOG.md +43 -0
- package/components/index.js +1 -1
- package/components/{p-BvRd7jA2.js → p-2tdMcXmA.js} +5 -5
- package/components/{p-BvRd7jA2.js.map → p-2tdMcXmA.js.map} +1 -1
- package/components/{p-CVuTVnQo.js → p-B6ToH-uM.js} +4 -4
- package/components/p-B6ToH-uM.js.map +1 -0
- package/components/{p-C93kOEAe.js → p-BRpaYGSM.js} +5 -5
- package/components/{p-C93kOEAe.js.map → p-BRpaYGSM.js.map} +1 -1
- package/components/{p-CbY4T0d2.js → p-B_CYrw-t.js} +3 -3
- package/components/{p-CbY4T0d2.js.map → p-B_CYrw-t.js.map} +1 -1
- package/components/{p-BoSYRCNp.js → p-BceRDckL.js} +4 -4
- package/components/{p-BoSYRCNp.js.map → p-BceRDckL.js.map} +1 -1
- package/components/{p-BZlKeCFb.js → p-BuCcV5P1.js} +9 -9
- package/components/p-BuCcV5P1.js.map +1 -0
- package/components/{p-B7s906mS.js → p-CG_jPYOl.js} +5 -5
- package/components/{p-B7s906mS.js.map → p-CG_jPYOl.js.map} +1 -1
- package/components/p-CaibVX_2.js +3539 -0
- package/components/p-CaibVX_2.js.map +1 -0
- package/components/{p-CowZ-pDD.js → p-CgQQYnEy.js} +75 -39
- package/components/p-CgQQYnEy.js.map +1 -0
- package/components/{p-yb0Kv4Y6.js → p-DTMrBXCl.js} +24 -9
- package/components/p-DTMrBXCl.js.map +1 -0
- package/components/{p-C9R8N06B.js → p-EjoVBa5a.js} +3 -3
- package/components/{p-C9R8N06B.js.map → p-EjoVBa5a.js.map} +1 -1
- package/components/{p-CKp062X8.js → p-ox2syNht.js} +6 -6
- package/components/{p-CKp062X8.js.map → p-ox2syNht.js.map} +1 -1
- package/components/qds-action-item.js +3 -3
- package/components/qds-avatar-media.js +1 -1
- package/components/qds-breadcrumb-item.js +11 -6
- package/components/qds-breadcrumb-item.js.map +1 -1
- package/components/qds-button.js +9 -9
- package/components/qds-button.js.map +1 -1
- package/components/qds-checkbox.js +1 -1
- package/components/qds-chip.js +5 -5
- package/components/qds-chip.js.map +1 -1
- package/components/qds-dialog.js +5 -5
- package/components/qds-dialog.js.map +1 -1
- package/components/qds-divider.js +1 -1
- package/components/qds-dropdown.js +1 -1
- package/components/qds-form-message.js +23 -17
- package/components/qds-form-message.js.map +1 -1
- package/components/qds-icon-button.js +1 -1
- package/components/qds-icon-tab.js +4 -4
- package/components/qds-icon.js +1 -1
- package/components/qds-inline-link.js +5 -5
- package/components/qds-inline-link.js.map +1 -1
- package/components/qds-input.js +3 -3
- package/components/qds-label.js +2 -2
- package/components/qds-list-item.js +16 -13
- package/components/qds-list-item.js.map +1 -1
- package/components/qds-loader.js +1 -1
- package/components/qds-menu-item.js +38 -12
- package/components/qds-menu-item.js.map +1 -1
- package/components/qds-mini-button.js +1 -1
- package/components/qds-progress-bar.js +1 -1
- package/components/qds-radio.js +1 -1
- package/components/qds-select.js +3 -3
- package/components/qds-standalone-link.js +4 -4
- package/components/qds-switch.js +6 -6
- package/components/qds-switch.js.map +1 -1
- package/components/qds-tab.js +7 -7
- package/components/qds-tabbar.js +59 -38
- package/components/qds-tabbar.js.map +1 -1
- package/components/qds-table-cell.js +2 -2
- package/components/qds-table-head-cell.js +2 -2
- package/components/qds-table-row.js +1 -1
- package/components/qds-table.js +1 -1
- package/components/qds-tag.js +1 -1
- package/components/qds-textarea.js +3 -3
- package/components/qds-title.js +1 -1
- package/components/qds-tooltip.js +1 -1
- package/dist/cjs/helpers-DjUgyTKn.js +3559 -0
- package/dist/cjs/helpers-DjUgyTKn.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/qds-action-item.cjs.entry.js +1 -1
- package/dist/cjs/qds-avatar-media.qds-checkbox.qds-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-avatar-media_3.cjs.entry.js +72 -36
- package/dist/cjs/qds-breadcrumb-item.cjs.entry.js +9 -4
- package/dist/cjs/qds-breadcrumb-item.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-button.cjs.entry.js +7 -7
- package/dist/cjs/qds-button.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-chip.cjs.entry.js +2 -2
- package/dist/cjs/qds-chip.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-dialog.cjs.entry.js +2 -2
- package/dist/cjs/qds-dialog.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-divider.qds-icon-button.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-divider_2.cjs.entry.js +3 -3
- package/dist/cjs/qds-dropdown.cjs.entry.js +20 -6
- package/dist/cjs/qds-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-form-message.cjs.entry.js +26 -16
- package/dist/cjs/qds-form-message.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-icon-tab.cjs.entry.js +1 -1
- package/dist/cjs/qds-icon.cjs.entry.js +1 -1
- package/dist/cjs/qds-inline-link.cjs.entry.js +4 -4
- package/dist/cjs/qds-inline-link.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-input.cjs.entry.js +1 -1
- package/dist/cjs/qds-label.cjs.entry.js +1 -1
- package/dist/cjs/qds-list-item.cjs.entry.js +8 -5
- package/dist/cjs/qds-list-item.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-menu-item.cjs.entry.js +34 -8
- package/dist/cjs/qds-menu-item.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-mini-button.cjs.entry.js +2 -2
- package/dist/cjs/qds-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/qds-select.cjs.entry.js +2 -2
- package/dist/cjs/qds-standalone-link.cjs.entry.js +3 -3
- package/dist/cjs/qds-switch.cjs.entry.js +5 -5
- package/dist/cjs/qds-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-tab.cjs.entry.js +4 -4
- package/dist/cjs/qds-tabbar.cjs.entry.js +57 -33
- package/dist/cjs/qds-tabbar.entry.cjs.js.map +1 -1
- package/dist/cjs/qds-table-cell.cjs.entry.js +2 -2
- package/dist/cjs/qds-table-head-cell.cjs.entry.js +2 -2
- package/dist/cjs/qds-table-row.cjs.entry.js +1 -1
- package/dist/cjs/qds-table.cjs.entry.js +1 -1
- package/dist/cjs/qds-tag.cjs.entry.js +3 -3
- package/dist/cjs/qds-textarea.cjs.entry.js +3 -3
- package/dist/cjs/qds-title.cjs.entry.js +2 -2
- package/dist/cjs/qds-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/qds.cjs.js +1 -1
- package/dist/custom-elements.json +224 -70
- package/dist/docs.json +48 -6
- package/dist/esm/helpers-mPQzhx-O.js +3539 -0
- package/dist/esm/helpers-mPQzhx-O.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/qds-action-item.entry.js +1 -1
- package/dist/esm/qds-avatar-media.qds-checkbox.qds-radio.entry.js.map +1 -1
- package/dist/esm/qds-avatar-media_3.entry.js +72 -36
- package/dist/esm/qds-breadcrumb-item.entry.js +9 -4
- package/dist/esm/qds-breadcrumb-item.entry.js.map +1 -1
- package/dist/esm/qds-button.entry.js +7 -7
- package/dist/esm/qds-button.entry.js.map +1 -1
- package/dist/esm/qds-chip.entry.js +2 -2
- package/dist/esm/qds-chip.entry.js.map +1 -1
- package/dist/esm/qds-dialog.entry.js +2 -2
- package/dist/esm/qds-dialog.entry.js.map +1 -1
- package/dist/esm/qds-divider.qds-icon-button.entry.js.map +1 -1
- package/dist/esm/qds-divider_2.entry.js +3 -3
- package/dist/esm/qds-dropdown.entry.js +20 -6
- package/dist/esm/qds-dropdown.entry.js.map +1 -1
- package/dist/esm/qds-form-message.entry.js +26 -16
- package/dist/esm/qds-form-message.entry.js.map +1 -1
- package/dist/esm/qds-icon-tab.entry.js +1 -1
- package/dist/esm/qds-icon.entry.js +1 -1
- package/dist/esm/qds-inline-link.entry.js +4 -4
- package/dist/esm/qds-inline-link.entry.js.map +1 -1
- package/dist/esm/qds-input.entry.js +1 -1
- package/dist/esm/qds-label.entry.js +1 -1
- package/dist/esm/qds-list-item.entry.js +8 -5
- package/dist/esm/qds-list-item.entry.js.map +1 -1
- package/dist/esm/qds-menu-item.entry.js +34 -8
- package/dist/esm/qds-menu-item.entry.js.map +1 -1
- package/dist/esm/qds-mini-button.entry.js +2 -2
- package/dist/esm/qds-progress-bar.entry.js +1 -1
- package/dist/esm/qds-select.entry.js +2 -2
- package/dist/esm/qds-standalone-link.entry.js +3 -3
- package/dist/esm/qds-switch.entry.js +5 -5
- package/dist/esm/qds-switch.entry.js.map +1 -1
- package/dist/esm/qds-tab.entry.js +4 -4
- package/dist/esm/qds-tabbar.entry.js +57 -33
- package/dist/esm/qds-tabbar.entry.js.map +1 -1
- package/dist/esm/qds-table-cell.entry.js +2 -2
- package/dist/esm/qds-table-head-cell.entry.js +2 -2
- package/dist/esm/qds-table-row.entry.js +1 -1
- package/dist/esm/qds-table.entry.js +1 -1
- package/dist/esm/qds-tag.entry.js +3 -3
- package/dist/esm/qds-textarea.entry.js +3 -3
- package/dist/esm/qds-title.entry.js +2 -2
- package/dist/esm/qds-tooltip.entry.js +1 -1
- package/dist/esm/qds.js +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +9 -9
- package/dist/types/components/dropdown/dropdown.d.ts +1 -0
- package/dist/types/components/form-message/form-message.d.ts +2 -0
- package/dist/types/components/menu-item/menu-item.d.ts +1 -0
- package/dist/types/components/tabbar/tabbar.d.ts +2 -0
- package/dist/types/components.d.ts +3 -2
- package/dist/types/helpers.d.ts +6 -1
- package/dist/vscode.html-custom-data.json +1 -1
- package/hydrate/index.js +3560 -193
- package/hydrate/index.mjs +3560 -193
- package/package.json +2 -1
- package/components/p-BZlKeCFb.js.map +0 -1
- package/components/p-BalM52S_.js +0 -291
- package/components/p-BalM52S_.js.map +0 -1
- package/components/p-CVuTVnQo.js.map +0 -1
- package/components/p-CowZ-pDD.js.map +0 -1
- package/components/p-yb0Kv4Y6.js.map +0 -1
- package/dist/cjs/helpers-Qs3cpKiI.js +0 -308
- package/dist/cjs/helpers-Qs3cpKiI.js.map +0 -1
- package/dist/esm/helpers-Fe2AA6uo.js +0 -291
- package/dist/esm/helpers-Fe2AA6uo.js.map +0 -1
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { p as proxyCustomElement, H, c as createEvent, d as readTask, h } from './p-D2489VzR.js';
|
|
7
|
-
import { p as pickFocusEventAttributes, f as ignorePromise, a as isEllipsisActive
|
|
7
|
+
import { p as pickFocusEventAttributes, f as ignorePromise, a as isEllipsisActive } from './p-CaibVX_2.js';
|
|
8
8
|
import { V as VALID_STATE, C as CUSTOM_ERROR_FLAGS, N as NO_ERROR_FLAGS } from './p-CZRW1LV_.js';
|
|
9
|
-
import { d as defineCustomElement$2 } from './p-
|
|
10
|
-
import { d as defineCustomElement$1 } from './p-
|
|
9
|
+
import { d as defineCustomElement$2 } from './p-EjoVBa5a.js';
|
|
10
|
+
import { d as defineCustomElement$1 } from './p-B_CYrw-t.js';
|
|
11
11
|
|
|
12
|
-
const checkboxCss = ":host([hidden]){display:none!important}:host{display:inline-block;line-height:0}.qds-checkbox,.qds-icon{grid-area:
|
|
12
|
+
const checkboxCss = ":host([hidden]){display:none!important}:host{display:inline-block;line-height:0;outline:none}.qds-checkbox,.qds-icon{grid-area:a;place-self:center}.qds-icon{color:var(--qds-theme-signature-color-contrast);display:none;pointer-events:none}.qds-container{display:grid;grid-template-areas:\"a\"}.qds-label{align-items:flex-start;background-color:var(--qds-theme-interactive-background-default);border-radius:var(--qds-control-border-radius);box-sizing:border-box;cursor:pointer;display:inline-flex;justify-content:center;width:inherit}.qds-label:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-label:active{background-color:var(--qds-theme-interactive-background-pressed)}:host(:focus-visible) .qds-label{box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-label-inner{color:var(--qds-theme-control-text-standard);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%}.qds-required{color:var(--qds-theme-feedback-field-required);-webkit-user-select:none;user-select:none}.qds-tooltip{line-height:normal}.qds-checkbox{-webkit-appearance:none;appearance:none;background-color:var(--qds-theme-interactive-background-default);border:var(--qds-control-border-width) solid var(--qds-theme-control-border);cursor:pointer;margin:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.qds-checkbox:focus-visible{outline:none}.qds-checkbox:checked~.qds-checked,.qds-checkbox:indeterminate~.qds-indeterminate{display:block}.qds-checkbox:checked,.qds-checkbox:indeterminate{background-color:var(--qds-theme-control-background-default-contrast);border-color:#0000}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-checkbox[data-size=small]{border-radius:var(--qds-control-toggle-small-knob-border-radius);height:var(--qds-control-toggle-small-box-size);width:var(--qds-control-toggle-small-box-size)}.qds-icon[data-size=small]{font-size:var(--qds-control-toggle-small-box-size)}.qds-label[data-size=small]{gap:var(--qds-control-small-gap-siblings-related);min-height:var(--qds-control-toggle-small-height);min-width:var(--qds-control-toggle-small-width);padding-block:var(--qds-control-no-inline-small-padding-vertical)}.qds-label-inner[data-size=small]{font:var(--qds-control-small-text)}.qds-inline[data-size=small]{min-height:var(--qds-control-small-height);padding:var(--qds-control-small-padding-auto-height) var(--qds-control-toggle-small-padding-horizontal)}.qds-checkbox[data-size=standard]{border-radius:var(--qds-control-toggle-standard-knob-border-radius);height:var(--qds-control-toggle-standard-box-size);width:var(--qds-control-toggle-standard-box-size)}.qds-icon[data-size=standard]{font-size:var(--qds-control-toggle-standard-box-size)}.qds-label[data-size=standard]{gap:var(--qds-control-standard-gap-siblings-related);min-height:var(--qds-control-toggle-standard-height);min-width:var(--qds-control-toggle-standard-width);padding-block:var(--qds-control-no-inline-standard-padding-vertical)}.qds-label-inner[data-size=standard]{font:var(--qds-control-standard-text)}.qds-inline[data-size=standard]{min-height:var(--qds-control-standard-height);padding:var(--qds-control-standard-padding-auto-height) var(--qds-control-toggle-standard-padding-horizontal)}.qds-checkbox[data-size=large]{border-radius:var(--qds-control-toggle-large-knob-border-radius);height:var(--qds-control-toggle-large-box-size);width:var(--qds-control-toggle-large-box-size)}.qds-icon[data-size=large]{font-size:var(--qds-control-toggle-large-box-size)}.qds-label[data-size=large]{gap:var(--qds-control-large-gap-siblings-related);min-height:var(--qds-control-toggle-large-height);min-width:var(--qds-control-toggle-large-width);padding-block:var(--qds-control-no-inline-large-padding-vertical)}.qds-label-inner[data-size=large]{font:var(--qds-control-large-text)}.qds-inline[data-size=large]{min-height:var(--qds-control-large-height);padding:var(--qds-control-large-padding-auto-height) var(--qds-control-toggle-large-padding-horizontal)}";
|
|
13
13
|
|
|
14
14
|
// SPDX-FileCopyrightText: © 2024 Schneider Electric
|
|
15
15
|
//
|
|
@@ -30,7 +30,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
|
|
|
30
30
|
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
31
31
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
32
32
|
};
|
|
33
|
-
var _Checkbox_instances,
|
|
33
|
+
var _Checkbox_instances, _Checkbox_ro, _Checkbox_savedTabIndex, _Checkbox_span, _Checkbox_tooltip, _Checkbox_computedChecked_get, _Checkbox_computedDisabled_get, _Checkbox_computedIndeterminate_get, _Checkbox_computedSize_get, _Checkbox_computedValue_get, _Checkbox_hasText_get, _Checkbox_spanRef, _Checkbox_tooltipRef, _Checkbox_defineGetter;
|
|
34
34
|
const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
|
|
35
35
|
constructor(registerHost) {
|
|
36
36
|
super();
|
|
@@ -43,6 +43,10 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
|
|
|
43
43
|
this.focusEmitter = createEvent(this, "qdsFocus", 2);
|
|
44
44
|
this.internals = this.attachInternals();
|
|
45
45
|
_Checkbox_instances.add(this);
|
|
46
|
+
/**
|
|
47
|
+
* Whether or not the text is displayed.
|
|
48
|
+
*/
|
|
49
|
+
this.checkboxOnly = false;
|
|
46
50
|
/**
|
|
47
51
|
* Adds vertical margin to the checkbox for alignment.
|
|
48
52
|
*
|
|
@@ -103,13 +107,9 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
|
|
|
103
107
|
* @webnative
|
|
104
108
|
*/
|
|
105
109
|
this.willValidate = false;
|
|
106
|
-
/**
|
|
107
|
-
* Whether or not the text is displayed.
|
|
108
|
-
*/
|
|
109
|
-
this.checkboxOnly = false;
|
|
110
110
|
this.tooltip = false;
|
|
111
|
-
_Checkbox_inheritedAttributes.set(this, {});
|
|
112
111
|
_Checkbox_ro.set(this, void 0);
|
|
112
|
+
_Checkbox_savedTabIndex.set(this, 0);
|
|
113
113
|
_Checkbox_span.set(this, void 0);
|
|
114
114
|
_Checkbox_tooltip.set(this, void 0);
|
|
115
115
|
this.checkValidity = () => this.internals.checkValidity();
|
|
@@ -120,16 +120,6 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
|
|
|
120
120
|
else
|
|
121
121
|
this.internals.setValidity(NO_ERROR_FLAGS);
|
|
122
122
|
};
|
|
123
|
-
_Checkbox_onBlur.set(this, (event) => {
|
|
124
|
-
this.blurEmitter.emit(pickFocusEventAttributes(event));
|
|
125
|
-
if (__classPrivateFieldGet(this, _Checkbox_tooltip, "f"))
|
|
126
|
-
ignorePromise(__classPrivateFieldGet(this, _Checkbox_tooltip, "f").close());
|
|
127
|
-
});
|
|
128
|
-
_Checkbox_onFocus.set(this, (event) => {
|
|
129
|
-
this.focusEmitter.emit(pickFocusEventAttributes(event));
|
|
130
|
-
if (__classPrivateFieldGet(this, _Checkbox_tooltip, "f"))
|
|
131
|
-
ignorePromise(__classPrivateFieldGet(this, _Checkbox_tooltip, "f").show());
|
|
132
|
-
});
|
|
133
123
|
_Checkbox_spanRef.set(this, (span) => {
|
|
134
124
|
__classPrivateFieldSet(this, _Checkbox_span, span, "f");
|
|
135
125
|
});
|
|
@@ -141,6 +131,16 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
|
|
|
141
131
|
}
|
|
142
132
|
});
|
|
143
133
|
}
|
|
134
|
+
onBlur(event) {
|
|
135
|
+
this.blurEmitter.emit(pickFocusEventAttributes(event));
|
|
136
|
+
if (__classPrivateFieldGet(this, _Checkbox_tooltip, "f"))
|
|
137
|
+
ignorePromise(__classPrivateFieldGet(this, _Checkbox_tooltip, "f").close());
|
|
138
|
+
}
|
|
139
|
+
onFocus(event) {
|
|
140
|
+
this.focusEmitter.emit(pickFocusEventAttributes(event));
|
|
141
|
+
if (__classPrivateFieldGet(this, _Checkbox_tooltip, "f"))
|
|
142
|
+
ignorePromise(__classPrivateFieldGet(this, _Checkbox_tooltip, "f").show());
|
|
143
|
+
}
|
|
144
144
|
onClick(event) {
|
|
145
145
|
if (__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedDisabled_get)) {
|
|
146
146
|
event.stopImmediatePropagation();
|
|
@@ -148,28 +148,60 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
|
|
|
148
148
|
}
|
|
149
149
|
event.preventDefault();
|
|
150
150
|
this.checked = __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedIndeterminate_get) ? true : !__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedChecked_get);
|
|
151
|
+
this.internals.ariaChecked = this.checked.toString();
|
|
151
152
|
this.changeEmitter.emit();
|
|
152
153
|
this.indeterminate = false;
|
|
153
154
|
}
|
|
155
|
+
onKeyup(event) {
|
|
156
|
+
if (event.key === ' ') {
|
|
157
|
+
this.host.click();
|
|
158
|
+
event.preventDefault();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
154
161
|
checkedChanged() {
|
|
162
|
+
this.internals.ariaChecked = __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedChecked_get).toString();
|
|
155
163
|
this.internals.setFormValue(__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedChecked_get) && !__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedDisabled_get)
|
|
156
164
|
? __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedValue_get)
|
|
157
165
|
: // eslint-disable-next-line unicorn/no-null
|
|
158
166
|
null);
|
|
159
167
|
}
|
|
160
168
|
disabledChanged() {
|
|
169
|
+
if (__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedDisabled_get)) {
|
|
170
|
+
this.internals.ariaDisabled = 'true';
|
|
171
|
+
this.host.removeAttribute('tabindex');
|
|
172
|
+
// eslint-disable-next-line unicorn/no-null
|
|
173
|
+
this.internals.setFormValue(null);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
this.internals.ariaDisabled = 'false';
|
|
177
|
+
this.host.tabIndex = __classPrivateFieldGet(this, _Checkbox_savedTabIndex, "f");
|
|
178
|
+
if (__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedChecked_get))
|
|
179
|
+
this.internals.setFormValue(__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedValue_get));
|
|
180
|
+
}
|
|
161
181
|
if (__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedChecked_get) && !__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedDisabled_get))
|
|
162
182
|
this.internals.setFormValue(__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedValue_get));
|
|
163
183
|
// eslint-disable-next-line unicorn/no-null
|
|
164
184
|
else
|
|
165
185
|
this.internals.setFormValue(null);
|
|
166
186
|
}
|
|
187
|
+
indeterminateChanged() {
|
|
188
|
+
if (__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedIndeterminate_get))
|
|
189
|
+
this.internals.ariaChecked = 'mixed';
|
|
190
|
+
}
|
|
167
191
|
tabindexChanged(newValue) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
192
|
+
if (newValue !== null) {
|
|
193
|
+
const parsedValue = Number.parseInt(newValue, 10);
|
|
194
|
+
__classPrivateFieldSet(this, _Checkbox_savedTabIndex, Number.isNaN(parsedValue) || !Number.isFinite(parsedValue)
|
|
195
|
+
? 0
|
|
196
|
+
: parsedValue, "f");
|
|
197
|
+
}
|
|
198
|
+
if (__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedDisabled_get))
|
|
199
|
+
this.host.removeAttribute('tabindex');
|
|
200
|
+
else
|
|
201
|
+
this.host.tabIndex = __classPrivateFieldGet(this, _Checkbox_savedTabIndex, "f");
|
|
171
202
|
}
|
|
172
203
|
textChanged() {
|
|
204
|
+
this.internals.ariaLabel = this.text;
|
|
173
205
|
if (__classPrivateFieldGet(this, _Checkbox_ro, "f"))
|
|
174
206
|
__classPrivateFieldGet(this, _Checkbox_ro, "f").disconnect();
|
|
175
207
|
if (!__classPrivateFieldGet(this, _Checkbox_span, "f"))
|
|
@@ -188,12 +220,17 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
|
|
|
188
220
|
this.internals.setFormValue(__classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedValue_get));
|
|
189
221
|
}
|
|
190
222
|
componentWillLoad() {
|
|
223
|
+
this.internals.role = 'checkbox';
|
|
224
|
+
this.internals.ariaChecked = __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedIndeterminate_get)
|
|
225
|
+
? 'mixed'
|
|
226
|
+
: __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedChecked_get).toString();
|
|
227
|
+
this.internals.ariaDisabled = __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedDisabled_get).toString();
|
|
228
|
+
this.internals.ariaLabel = this.text;
|
|
191
229
|
this.valueChanged();
|
|
192
230
|
__classPrivateFieldGet(this, _Checkbox_instances, "m", _Checkbox_defineGetter).call(this, 'form', () => this.internals.form);
|
|
193
231
|
__classPrivateFieldGet(this, _Checkbox_instances, "m", _Checkbox_defineGetter).call(this, 'willValidate', () => this.internals.willValidate);
|
|
194
232
|
__classPrivateFieldGet(this, _Checkbox_instances, "m", _Checkbox_defineGetter).call(this, 'validity', () => this.internals.validity);
|
|
195
233
|
__classPrivateFieldGet(this, _Checkbox_instances, "m", _Checkbox_defineGetter).call(this, 'validationMessage', () => this.internals.validationMessage);
|
|
196
|
-
__classPrivateFieldSet(this, _Checkbox_inheritedAttributes, inheritAriaAttributes(this.host), "f");
|
|
197
234
|
this.tabindexChanged(this.host.getAttribute('tabindex') ?? '0');
|
|
198
235
|
}
|
|
199
236
|
componentDidLoad() {
|
|
@@ -204,33 +241,33 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
|
|
|
204
241
|
__classPrivateFieldGet(this, _Checkbox_ro, "f").disconnect();
|
|
205
242
|
}
|
|
206
243
|
render() {
|
|
207
|
-
return (
|
|
208
|
-
|
|
209
|
-
h("label", { key: 'ff46801768016168ffb89acd3148a796dd94765f', "aria-disabled": __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedDisabled_get) ? 'true' : undefined, class: {
|
|
244
|
+
return (h("div", { key: '55579e21112535dbaee5c474c2eef661d208767c', "aria-hidden": "true", class: {
|
|
245
|
+
'qds-disabled': __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedDisabled_get),
|
|
210
246
|
'qds-inline': this.inline,
|
|
211
247
|
'qds-label': true,
|
|
212
|
-
}, "data-size": __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedSize_get) }, h("div", { key: '
|
|
248
|
+
}, "data-size": __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedSize_get) }, h("div", { key: '6d857b1109e4111d32d2d2de316bc1a1377f5d23', class: "qds-container" }, h("input", { key: '8a9567b8b796112b7959cf29cd80aa51df051136',
|
|
213
249
|
// eslint-disable-next-line jsx-a11y/no-autofocus
|
|
214
|
-
autoFocus: this.host.autofocus, checked: __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedIndeterminate_get) ? false : this.checked, class: "qds-checkbox", "data-size": __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedSize_get), disabled: __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedDisabled_get), indeterminate: this.indeterminate,
|
|
250
|
+
autoFocus: this.host.autofocus, checked: __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedIndeterminate_get) ? false : this.checked, class: "qds-checkbox", "data-size": __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedSize_get), disabled: __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedDisabled_get), indeterminate: this.indeterminate, required: this.required, type: "checkbox", tabIndex: -1 }), h("qds-icon", { key: 'ade28f729ca2e02d9db5c6e6c5f99f49cc6d7d10', class: {
|
|
215
251
|
'qds-icon': true,
|
|
216
252
|
'qds-checked': true,
|
|
217
|
-
}, "data-size": __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedSize_get), library: "core", name: "checked" }), h("qds-icon", { key: '
|
|
253
|
+
}, "data-size": __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedSize_get), library: "core", name: "checked" }), h("qds-icon", { key: 'c0dfa142dd90dd7d3adf6e57c71becfe949f43e9', class: {
|
|
218
254
|
'qds-icon': true,
|
|
219
255
|
'qds-indeterminate': true,
|
|
220
|
-
}, "data-size": __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedSize_get), library: "core", name: "indeterminate" })), __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_hasText_get) && (h("span", { key: '
|
|
256
|
+
}, "data-size": __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedSize_get), library: "core", name: "indeterminate" })), __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_hasText_get) && (h("span", { key: '7918b3d9fe502c90ff7c8d10104952403078d3b9', class: "qds-label-inner", "data-size": __classPrivateFieldGet(this, _Checkbox_instances, "a", _Checkbox_computedSize_get), ref: __classPrivateFieldGet(this, _Checkbox_spanRef, "f") }, this.required === true && h("span", { key: '5f0969933396eb3f271040c6140d81c13df47210', class: "qds-required" }, "*"), this.text)), this.tooltip && (h("qds-tooltip", { key: '77d853746163e94cf682aed525d1b1819e4cd383', class: "qds-tooltip", ref: __classPrivateFieldGet(this, _Checkbox_tooltipRef, "f") }, this.text))));
|
|
221
257
|
}
|
|
222
|
-
static get delegatesFocus() { return true; }
|
|
223
258
|
static get formAssociated() { return true; }
|
|
224
259
|
get host() { return this; }
|
|
225
260
|
static get watchers() { return {
|
|
226
261
|
"checked": ["checkedChanged"],
|
|
227
262
|
"disabled": ["disabledChanged"],
|
|
263
|
+
"indeterminate": ["indeterminateChanged"],
|
|
228
264
|
"tabindex": ["tabindexChanged"],
|
|
229
265
|
"text": ["textChanged"],
|
|
230
266
|
"value": ["valueChanged"]
|
|
231
267
|
}; }
|
|
232
268
|
static get style() { return checkboxCss; }
|
|
233
|
-
}, [
|
|
269
|
+
}, [321, "qds-checkbox", {
|
|
270
|
+
"checkboxOnly": [4, "checkbox-only"],
|
|
234
271
|
"inline": [4],
|
|
235
272
|
"size": [1],
|
|
236
273
|
"text": [1],
|
|
@@ -244,17 +281,16 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
|
|
|
244
281
|
"validity": [16],
|
|
245
282
|
"value": [8],
|
|
246
283
|
"willValidate": [4, "will-validate"],
|
|
247
|
-
"checkboxOnly": [4, "checkbox-only"],
|
|
248
|
-
"tabIndex": [32],
|
|
249
284
|
"tooltip": [32]
|
|
250
|
-
}, [[0, "click", "onClick"]], {
|
|
285
|
+
}, [[0, "blur", "onBlur"], [0, "focus", "onFocus"], [0, "click", "onClick"], [0, "keyup", "onKeyup"]], {
|
|
251
286
|
"checked": ["checkedChanged"],
|
|
252
287
|
"disabled": ["disabledChanged"],
|
|
288
|
+
"indeterminate": ["indeterminateChanged"],
|
|
253
289
|
"tabindex": ["tabindexChanged"],
|
|
254
290
|
"text": ["textChanged"],
|
|
255
291
|
"value": ["valueChanged"]
|
|
256
292
|
}]);
|
|
257
|
-
|
|
293
|
+
_Checkbox_ro = new WeakMap(), _Checkbox_savedTabIndex = new WeakMap(), _Checkbox_span = new WeakMap(), _Checkbox_tooltip = new WeakMap(), _Checkbox_spanRef = new WeakMap(), _Checkbox_tooltipRef = new WeakMap(), _Checkbox_instances = new WeakSet(), _Checkbox_computedChecked_get = function _Checkbox_computedChecked_get() {
|
|
258
294
|
return this.checked ?? false;
|
|
259
295
|
}, _Checkbox_computedDisabled_get = function _Checkbox_computedDisabled_get() {
|
|
260
296
|
return ((this.host.matches(':disabled') || (this.disabled ?? false)) &&
|
|
@@ -305,6 +341,6 @@ function defineCustomElement() {
|
|
|
305
341
|
}
|
|
306
342
|
|
|
307
343
|
export { Checkbox as C, defineCustomElement as d };
|
|
308
|
-
//# sourceMappingURL=p-
|
|
344
|
+
//# sourceMappingURL=p-CgQQYnEy.js.map
|
|
309
345
|
|
|
310
|
-
//# sourceMappingURL=p-
|
|
346
|
+
//# sourceMappingURL=p-CgQQYnEy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-CgQQYnEy.js","mappings":";;;;;;;;;;;AAAA,MAAM,WAAW,GAAG,yjIAAyjI;;ACA7kI;AACA;AACA;;;;;;;;;;;;;;;;;;MAwCa,QAAQ,iBAAAA,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;AANrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;;;;;AAOE;;AAEG;AACqB,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK;AAErD;;;;;AAKG;AACqB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AAE/C;;AAEG;AACqB,QAAA,IAAI,CAAA,IAAA,GAAU,UAAU;AAsBhD;;;;;;;;;;;;;;;AAeG;;AAEqB,QAAA,IAAI,CAAA,IAAA,GAAsC,IAAI;AAgCtE;;;;;;AAMG;AAEa,QAAA,IAAiB,CAAA,iBAAA,GAA0C,EAAE;AAE7E;;;;;;;AAOG;AACqB,QAAA,IAAQ,CAAA,QAAA,GAAiC,WAAW;AAE5E;;;;AAIG;AACqB,QAAA,IAAK,CAAA,KAAA,GAAmB,IAAI;AAEpD;;;;;;AAMG;AACqB,QAAA,IAAY,CAAA,YAAA,GAAqC,KAAK;AAwB7D,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;QAEhC,YAAoB,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAEpB,QAAA,uBAAA,CAAA,GAAA,CAAA,IAAA,EAAiB,CAAC,CAAA;QAElB,cAAuB,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QAEvB,iBAAgC,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AA6OzB,QAAA,IAAa,CAAA,aAAA,GAAsC,MACxD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;AAEzB,QAAA,IAAc,CAAA,cAAA,GAAuC,MAC1D,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;AAE1B,QAAA,IAAA,CAAA,iBAAiB,GAA0C,CAAC,KAAK,KAAI;AAC1E,YAAA,IAAI,KAAK;AAAE,gBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;;AACtE,gBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC;AACjD,SAAC;QAEQ,iBAAW,CAAA,GAAA,CAAA,IAAA,EAAA,CAAC,IAAsB,KAAU;YACnD,sBAAA,CAAA,IAAI,EAAA,cAAA,EAAS,IAAI,EAAA,GAAA,CAAA;AACnB,SAAC,CAAA;QAEQ,oBAAc,CAAA,GAAA,CAAA,IAAA,EAAA,CAAC,OAA+B,KAAU;YAC/D,IAAI,OAAO,EAAE;;AAEX,gBAAA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI;gBAC1B,sBAAA,CAAA,IAAI,EAAA,iBAAA,EAAY,OAAO,EAAA,GAAA,CAAA;;AAE3B,SAAC,CAAA;AAKF;AA/NW,IAAA,MAAM,CAAC,KAAiB,EAAA;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACtD,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAS,iBAAA,EAAA,GAAA,CAAA;AAAE,YAAA,aAAa,CAAC,uBAAA,IAAI,EAAA,iBAAA,EAAA,GAAA,CAAS,CAAC,KAAK,EAAE,CAAC;;AAI/C,IAAA,OAAO,CAAC,KAAiB,EAAA;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACvD,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAS,iBAAA,EAAA,GAAA,CAAA;AAAE,YAAA,aAAa,CAAC,uBAAA,IAAI,EAAA,iBAAA,EAAA,GAAA,CAAS,CAAC,IAAI,EAAE,CAAC;;AAI9C,IAAA,OAAO,CAAC,KAAiB,EAAA;QACjC,IAAI,sBAAA,CAAA,IAAI,EAAkB,mBAAA,EAAA,GAAA,EAAA,8BAAA,CAAA,EAAE;YAC1B,KAAK,CAAC,wBAAwB,EAAE;YAChC;;QAGF,KAAK,CAAC,cAAc,EAAE;AAEtB,QAAA,IAAI,CAAC,OAAO,GAAG,sBAAA,CAAA,IAAI,gEAAuB,GAAG,IAAI,GAAG,CAAC,sBAAA,CAAA,IAAI,0DAAiB;QAC1E,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACpD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;;AAIlB,IAAA,OAAO,CAAC,KAAoB,EAAA;AACpC,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACjB,KAAK,CAAC,cAAc,EAAE;;;IAKhB,cAAc,GAAA;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,sBAAA,CAAA,IAAI,EAAiB,mBAAA,EAAA,GAAA,EAAA,6BAAA,CAAA,CAAC,QAAQ,EAAE;QAC7D,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,sBAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,EAAA,6BAAA,CAAiB,IAAI,CAAC,sBAAA,CAAA,IAAI,EAAkB,mBAAA,EAAA,GAAA,EAAA,8BAAA;cAC5C,sBAAA,CAAA,IAAI,EAAe,mBAAA,EAAA,GAAA,EAAA,2BAAA;AACrB;AACE,gBAAA,IAAI,CACT;;IAIO,eAAe,GAAA;QACvB,IAAI,sBAAA,CAAA,IAAI,EAAkB,mBAAA,EAAA,GAAA,EAAA,8BAAA,CAAA,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,MAAM;AACpC,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;;AAErC,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;;aAC5B;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,OAAO;AACrC,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,sBAAA,CAAA,IAAI,+BAAe;YACxC,IAAI,sBAAA,CAAA,IAAI,EAAiB,mBAAA,EAAA,GAAA,EAAA,6BAAA,CAAA;AACvB,gBAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,sBAAA,CAAA,IAAI,EAAe,mBAAA,EAAA,GAAA,EAAA,2BAAA,CAAA,CAAC;;QAGpD,IAAI,uBAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,EAAA,6BAAA,CAAiB,IAAI,CAAC,sBAAA,CAAA,IAAI,EAAkB,mBAAA,EAAA,GAAA,EAAA,8BAAA,CAAA;AAClD,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,sBAAA,CAAA,IAAI,EAAe,mBAAA,EAAA,GAAA,EAAA,2BAAA,CAAA,CAAC;;;AAE7C,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;;IAI9B,oBAAoB,GAAA;QAC5B,IAAI,sBAAA,CAAA,IAAI,EAAuB,mBAAA,EAAA,GAAA,EAAA,mCAAA,CAAA;AAAE,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO;;AAI7D,IAAA,eAAe,CAAC,QAAuB,EAAA;AAC/C,QAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;AACjD,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EACF,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW;AACvD,kBAAE;AACF,kBAAE,WAAW,EAAA,GAAA,CAAA;;QAEnB,IAAI,sBAAA,CAAA,IAAI,EAAkB,mBAAA,EAAA,GAAA,EAAA,8BAAA,CAAA;AAAE,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;;AAC5D,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,sBAAA,CAAA,IAAI,+BAAe;;IAIrC,WAAW,GAAA;QACnB,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI;AAEpC,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAI,YAAA,EAAA,GAAA,CAAA;YAAE,sBAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAI,CAAC,UAAU,EAAE;QAEnC,IAAI,CAAC,sBAAA,CAAA,IAAI,EAAM,cAAA,EAAA,GAAA,CAAA;YAAE;QAEjB,MAAM,IAAI,GAAG,sBAAA,CAAA,IAAI,sBAAM;QACvB,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC;AACvC,SAAC,CAAC;AACF,QAAA,sBAAA,CAAA,IAAI,EAAO,YAAA,EAAA,IAAI,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,KAAI;YAC5C,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAyB,CAAC;AACtE,SAAC,CAAC,MAAA;AACF,QAAA,sBAAA,CAAA,IAAI,oBAAI,CAAC,OAAO,CAAC,sBAAA,CAAA,IAAI,EAAM,cAAA,EAAA,GAAA,CAAA,CAAC;;IAIpB,YAAY,GAAA;QACpB,IAAI,uBAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,EAAA,6BAAA,CAAiB,IAAI,CAAC,sBAAA,CAAA,IAAI,EAAkB,mBAAA,EAAA,GAAA,EAAA,8BAAA,CAAA;AAClD,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,sBAAA,CAAA,IAAI,EAAe,mBAAA,EAAA,GAAA,EAAA,2BAAA,CAAA,CAAC;;IAG7C,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU;AAChC,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,sBAAA,CAAA,IAAI,EAAuB,mBAAA,EAAA,GAAA,EAAA,mCAAA;AACtD,cAAE;AACF,cAAE,sBAAA,CAAA,IAAI,0DAAiB,CAAC,QAAQ,EAAE;AACpC,QAAA,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,sBAAA,CAAA,IAAI,EAAkB,mBAAA,EAAA,GAAA,EAAA,8BAAA,CAAA,CAAC,QAAQ,EAAE;QAC/D,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI;QACpC,IAAI,CAAC,YAAY,EAAE;QAEnB,sBAAA,CAAA,IAAI,EAAc,mBAAA,EAAA,GAAA,EAAA,sBAAA,CAAA,CAAA,IAAA,CAAlB,IAAI,EAAe,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACrD,sBAAA,CAAA,IAAI,EAAc,mBAAA,EAAA,GAAA,EAAA,sBAAA,CAAA,CAAA,IAAA,CAAlB,IAAI,EAAe,cAAc,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACrE,sBAAA,CAAA,IAAI,EAAc,mBAAA,EAAA,GAAA,EAAA,sBAAA,CAAA,CAAA,IAAA,CAAlB,IAAI,EAAe,UAAU,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC7D,sBAAA,CAAA,IAAI,EAAc,mBAAA,EAAA,GAAA,EAAA,sBAAA,CAAA,CAAA,IAAA,CAAlB,IAAI,EACF,mBAAmB,EACnB,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CACvC;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;;IAG1D,gBAAgB,GAAA;QACrB,IAAI,CAAC,WAAW,EAAE;;IAGb,oBAAoB,GAAA;AACzB,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAI,YAAA,EAAA,GAAA,CAAA;YAAE,sBAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAI,CAAC,UAAU,EAAE;;IAG9B,MAAM,GAAA;AACX,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,aAAA,EACc,MAAM,EAClB,KAAK,EAAE;gBACL,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAkB,mBAAA,EAAA,GAAA,EAAA,8BAAA,CAAA;gBACtC,YAAY,EAAE,IAAI,CAAC,MAAM;AACzB,gBAAA,WAAW,EAAE,IAAI;AAClB,aAAA,EACU,WAAA,EAAA,sBAAA,CAAA,IAAI,EAAc,mBAAA,EAAA,GAAA,EAAA,0BAAA,CAAA,EAAA,EAE7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACxB,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA;;YAEE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAC9B,OAAO,EAAE,sBAAA,CAAA,IAAI,EAAuB,mBAAA,EAAA,GAAA,EAAA,mCAAA,CAAA,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,EAC3D,KAAK,EAAC,cAAc,EACT,WAAA,EAAA,sBAAA,CAAA,IAAI,EAAc,mBAAA,EAAA,GAAA,EAAA,0BAAA,CAAA,EAC7B,QAAQ,EAAE,sBAAA,CAAA,IAAI,EAAkB,mBAAA,EAAA,GAAA,EAAA,8BAAA,CAAA,EAChC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,EAAE,EACZ,CAAA,EACF,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,aAAa,EAAE,IAAI;AACpB,aAAA,EACU,WAAA,EAAA,sBAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,EAAA,0BAAA,CAAc,EAC7B,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,SAAS,EACd,CAAA,EACF,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,mBAAmB,EAAE,IAAI;AAC1B,aAAA,EAAA,WAAA,EACU,sBAAA,CAAA,IAAI,EAAc,mBAAA,EAAA,GAAA,EAAA,0BAAA,CAAA,EAC7B,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,eAAe,EAAA,CACpB,CACE,EACL,sBAAA,CAAA,IAAI,EAAS,mBAAA,EAAA,GAAA,EAAA,qBAAA,CAAA,KACZ,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,iBAAiB,EACZ,WAAA,EAAA,sBAAA,CAAA,IAAI,EAAc,mBAAA,EAAA,GAAA,EAAA,0BAAA,CAAA,EAC7B,GAAG,EAAE,sBAAA,CAAA,IAAI,EAAS,iBAAA,EAAA,GAAA,CAAA,EAAA,EAEjB,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAS,EAAA,GAAA,CAAA,EAC7D,IAAI,CAAC,IAAI,CACL,CACR,EACA,IAAI,CAAC,OAAO,KACX,oEAAa,KAAK,EAAC,aAAa,EAAC,GAAG,EAAE,uBAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAY,IACnD,IAAI,CAAC,IAAI,CACE,CACf,CACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAtOR,IAAA,OAAO,IAAI,CAAC,OAAO,IAAI,KAAK;AAC9B,CAAC,EAAA,8BAAA,GAAA,SAAA,8BAAA,GAAA;AAGC,IAAA,QACE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,OAAO;AAElD,CAAC,EAAA,mCAAA,GAAA,SAAA,mCAAA,GAAA;AAGC,IAAA,OAAO,IAAI,CAAC,aAAa,IAAI,KAAK;AACpC,CAAC,EAAA,0BAAA,GAAA,SAAA,0BAAA,GAAA;AAGC,IAAA,QAAQ,IAAI,CAAC,IAAI;AACf,QAAA,KAAK,UAAU;AACf,QAAA,KAAK,OAAO;QACZ,KAAK,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI;;QAElB,SAAS;AACP,YAAA,OAAO,UAAU;;;AAGvB,CAAC,EAAA,2BAAA,GAAA,SAAA,2BAAA,GAAA;;AAIC,IAAA,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC1D,CAAC,EAAA,qBAAA,GAAA,SAAA,qBAAA,GAAA;AAGC,IAAA,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY;AAC3E,CAAC,EAAA,sBAAA,GAAA,SAAA,sBAAA,CA+Na,CAAc,EAAE,GAAkB,EAAA;AAC9C,IAAA,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAChE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/checkbox/checkbox.css?tag=qds-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: inline-block;\n line-height: 0;\n outline: none;\n}\n\n.qds-checkbox,\n.qds-icon {\n grid-area: checkbox;\n place-self: center;\n}\n\n.qds-icon {\n display: none;\n pointer-events: none;\n color: var(--qds-theme-signature-color-contrast);\n}\n\n.qds-container {\n display: grid;\n grid-template-areas: 'checkbox';\n}\n\n.qds-label {\n cursor: pointer;\n display: inline-flex;\n width: inherit;\n border-radius: var(--qds-control-border-radius);\n align-items: flex-start;\n box-sizing: border-box;\n justify-content: center;\n background-color: var(--qds-theme-interactive-background-default);\n\n &:hover {\n background-color: var(--qds-theme-interactive-background-hover);\n }\n\n &:active {\n background-color: var(--qds-theme-interactive-background-pressed);\n }\n}\n\n:host(:focus-visible) .qds-label {\n /* inner ring */\n outline: var(--qds-theme-focus-border-contrast) solid\n var(--qds-focus-light-border-width);\n outline-offset: 0;\n\n /* outer ring */\n box-shadow: 0 0 0 var(--qds-focus-heavy-border-width)\n var(--qds-theme-focus-border);\n}\n\n.qds-label-inner {\n color: var(--qds-theme-control-text-standard);\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n width: 100%;\n}\n\n.qds-required {\n color: var(--qds-theme-feedback-field-required);\n user-select: none;\n}\n\n.qds-tooltip {\n line-height: initial;\n}\n\n.qds-checkbox {\n appearance: none;\n background-color: var(--qds-theme-interactive-background-default);\n border: var(--qds-control-border-width) solid var(--qds-theme-control-border);\n cursor: pointer;\n margin: 0;\n print-color-adjust: exact;\n\n &:focus-visible {\n outline: none;\n }\n\n &:checked ~ .qds-checked,\n &:indeterminate ~ .qds-indeterminate {\n display: block;\n }\n\n &:checked,\n &:indeterminate {\n background-color: var(--qds-theme-control-background-default-contrast);\n border-color: transparent;\n }\n}\n\n.qds-disabled {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n[data-size='small'] {\n &.qds-checkbox {\n width: var(--qds-control-toggle-small-box-size);\n height: var(--qds-control-toggle-small-box-size);\n border-radius: var(--qds-control-toggle-small-knob-border-radius);\n }\n\n &.qds-icon {\n font-size: var(--qds-control-toggle-small-box-size);\n }\n\n &.qds-label {\n gap: var(--qds-control-small-gap-siblings-related);\n min-height: var(--qds-control-toggle-small-height);\n padding-block: var(--qds-control-no-inline-small-padding-vertical);\n min-width: var(--qds-control-toggle-small-width);\n }\n\n &.qds-label-inner {\n font: var(--qds-control-small-text);\n }\n\n &.qds-inline {\n min-height: var(--qds-control-small-height);\n padding: var(--qds-control-small-padding-auto-height)\n var(--qds-control-toggle-small-padding-horizontal);\n }\n}\n\n[data-size='standard'] {\n &.qds-checkbox {\n width: var(--qds-control-toggle-standard-box-size);\n height: var(--qds-control-toggle-standard-box-size);\n border-radius: var(--qds-control-toggle-standard-knob-border-radius);\n }\n\n &.qds-icon {\n font-size: var(--qds-control-toggle-standard-box-size);\n }\n\n &.qds-label {\n gap: var(--qds-control-standard-gap-siblings-related);\n min-height: var(--qds-control-toggle-standard-height);\n padding-block: var(--qds-control-no-inline-standard-padding-vertical);\n min-width: var(--qds-control-toggle-standard-width);\n }\n\n &.qds-label-inner {\n font: var(--qds-control-standard-text);\n }\n\n &.qds-inline {\n min-height: var(--qds-control-standard-height);\n padding: var(--qds-control-standard-padding-auto-height)\n var(--qds-control-toggle-standard-padding-horizontal);\n }\n}\n\n[data-size='large'] {\n &.qds-checkbox {\n width: var(--qds-control-toggle-large-box-size);\n height: var(--qds-control-toggle-large-box-size);\n border-radius: var(--qds-control-toggle-large-knob-border-radius);\n }\n\n &.qds-icon {\n font-size: var(--qds-control-toggle-large-box-size);\n }\n\n &.qds-label {\n gap: var(--qds-control-large-gap-siblings-related);\n min-height: var(--qds-control-toggle-large-height);\n padding-block: var(--qds-control-no-inline-large-padding-vertical);\n min-width: var(--qds-control-toggle-large-width);\n }\n\n &.qds-label-inner {\n font: var(--qds-control-large-text);\n }\n\n &.qds-inline {\n min-height: var(--qds-control-large-height);\n padding: var(--qds-control-large-padding-auto-height)\n var(--qds-control-toggle-large-padding-horizontal);\n }\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Listen,\n Prop,\n readTask,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { QdsFocusEventDetail } from '../../helpers'\nimport {\n ignorePromise,\n isEllipsisActive,\n pickFocusEventAttributes,\n} from '../../helpers'\nimport { CUSTOM_ERROR_FLAGS, NO_ERROR_FLAGS, VALID_STATE } from '../controls'\nimport type { Size } from '../shared'\n\nexport type CheckboxValue = number | string | null\n\n/**\n * `<qds-checkbox>` elements are rendered as boxes that are checked (ticked)\n * when activated, like you might see in an official government paper form. A\n * checkbox allows you to select single values for submission in a form (or not).\n *\n * @see https://quartz.se.com/build/components/checkbox\n */\n@Component({\n tag: 'qds-checkbox',\n formAssociated: true,\n shadow: true,\n styleUrl: 'checkbox.css',\n})\nexport class Checkbox implements ComponentInterface {\n /**\n * Whether or not the text is displayed.\n */\n @Prop() public readonly checkboxOnly: boolean = false\n\n /**\n * Adds vertical margin to the checkbox for alignment.\n *\n * This is useful when creating inline layouts so that the first lines have\n * the correct vertical centering.\n */\n @Prop() public readonly inline: boolean = false\n\n /**\n * The checkbox's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * The checkbox's text.\n */\n @Prop() public readonly text!: string\n\n /**\n * Sets the checkbox's state.\n *\n * @webnative\n */\n @Prop({ mutable: true }) public checked?: boolean\n\n /**\n * Prevents the checkbox from being interacted with: it cannot be pressed or\n * focused.\n *\n * @webnative\n */\n @Prop() public readonly disabled?: boolean\n\n /**\n * The [`<form>`][] element to associate the checkbox with (its form owner).\n *\n * The value of this attribute must be the id of a `<form>` in the same\n * document. If this attribute is not set, the `<qds-checkbox>` is associated\n * with its ancestor `<form>` element, if any.\n *\n * This attribute lets you associate `<qds-checkbox>` elements to `<form>`s\n * anywhere in the document, not just inside a `<form>`. It can also override\n * an ancestor `<form>` element.\n *\n * [`<form>`]: https://developer.mozilla.org/docs/Web/HTML/Element/form\n *\n * @readonly\n * @webnative\n */\n // eslint-disable-next-line unicorn/no-null\n @Prop() public readonly form: ElementInternals['form'] | string = null\n\n /**\n * Sets the checkbox to an indeterminate state. This is usually applied to\n * checkboxes that represent a \"select all/none\" behavior when associated\n * checkboxes have a mix of checked and unchecked states.\n *\n * @webnative\n */\n @Prop({ mutable: true }) public indeterminate?: boolean\n\n /**\n * The name of the checkbox, which is submitted with the form data.\n *\n * @webnative\n */\n @Prop() public readonly name?: string\n\n /**\n * A value must be specified for the checkbox before the owning form can be\n * submitted.\n *\n * See\n * [Client-side validation](https://developer.mozilla.org/docs/Web/HTML/Element/input#client-side_validation)\n * and the\n * [HTML attribute: `required`](https://developer.mozilla.org/docs/Web/HTML/Attributes/required)\n * for more information.\n *\n * @webnative\n */\n @Prop() public readonly required?: boolean\n\n /**\n * The error message that would be shown to the user if the `<qds-checkbox>`\n * was to be checked for validity.\n *\n * @readonly\n * @webnative\n */\n @Prop()\n public readonly validationMessage: ElementInternals['validationMessage'] = ''\n\n /**\n * The [`ValidityState`][] object for this `<qds-checkbox>`.\n *\n * [`ValidityState`]: https://developer.mozilla.org/docs/Web/API/ValidityState\n *\n * @readonly\n * @webnative\n */\n @Prop() public readonly validity: ElementInternals['validity'] = VALID_STATE\n\n /**\n * The value of the checkbox, submitted as a name/value pair with form data.\n *\n * @webnative\n */\n @Prop() public readonly value?: CheckboxValue = 'on'\n\n /**\n * True if `<qds-checkbox>` will be validated when the form is submitted;\n * false otherwise.\n *\n * @readonly\n * @webnative\n */\n @Prop() public readonly willValidate: ElementInternals['willValidate'] = false\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n /**\n * Emitted when the checkbox loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when a change to the checkbox's state is committed by the user.\n */\n @Event({ eventName: 'qdsChange', cancelable: false })\n private readonly changeEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the checkbox gains focus.\n */\n @Event({ eventName: 'qdsFocus', bubbles: false, cancelable: false })\n private readonly focusEmitter!: EventEmitter<QdsFocusEventDetail>\n\n @Element() private readonly host!: HTMLElement\n\n @State() private tooltip = false\n\n #ro?: ResizeObserver\n\n #savedTabIndex = 0\n\n #span?: HTMLSpanElement\n\n #tooltip?: HTMLQdsTooltipElement\n\n get #computedChecked(): boolean {\n return this.checked ?? false\n }\n\n get #computedDisabled(): boolean {\n return (\n (this.host.matches(':disabled') || (this.disabled ?? false)) &&\n this.host.getAttribute('disabled') !== 'false'\n )\n }\n\n get #computedIndeterminate(): boolean {\n return this.indeterminate ?? false\n }\n\n get #computedSize(): Size {\n switch (this.size) {\n case 'standard':\n case 'small':\n case 'large': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedValue(): string | null {\n // eslint-disable-next-line unicorn/no-null\n return this.value == null ? null : this.value.toString()\n }\n\n get #hasText(): boolean {\n return (this.text !== '' || this.required === true) && !this.checkboxOnly\n }\n\n @Listen('blur')\n protected onBlur(event: FocusEvent): void {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n if (this.#tooltip) ignorePromise(this.#tooltip.close())\n }\n\n @Listen('focus')\n protected onFocus(event: FocusEvent): void {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n if (this.#tooltip) ignorePromise(this.#tooltip.show())\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) {\n event.stopImmediatePropagation()\n return\n }\n\n event.preventDefault()\n\n this.checked = this.#computedIndeterminate ? true : !this.#computedChecked\n this.internals.ariaChecked = this.checked.toString()\n this.changeEmitter.emit()\n this.indeterminate = false\n }\n\n @Listen('keyup')\n protected onKeyup(event: KeyboardEvent): void {\n if (event.key === ' ') {\n this.host.click()\n event.preventDefault()\n }\n }\n\n @Watch('checked')\n protected checkedChanged(): void {\n this.internals.ariaChecked = this.#computedChecked.toString()\n this.internals.setFormValue(\n this.#computedChecked && !this.#computedDisabled\n ? this.#computedValue\n : // eslint-disable-next-line unicorn/no-null\n null,\n )\n }\n\n @Watch('disabled')\n protected disabledChanged(): void {\n if (this.#computedDisabled) {\n this.internals.ariaDisabled = 'true'\n this.host.removeAttribute('tabindex')\n // eslint-disable-next-line unicorn/no-null\n this.internals.setFormValue(null)\n } else {\n this.internals.ariaDisabled = 'false'\n this.host.tabIndex = this.#savedTabIndex\n if (this.#computedChecked)\n this.internals.setFormValue(this.#computedValue)\n }\n\n if (this.#computedChecked && !this.#computedDisabled)\n this.internals.setFormValue(this.#computedValue)\n // eslint-disable-next-line unicorn/no-null\n else this.internals.setFormValue(null)\n }\n\n @Watch('indeterminate')\n protected indeterminateChanged(): void {\n if (this.#computedIndeterminate) this.internals.ariaChecked = 'mixed'\n }\n\n @Watch('tabindex')\n protected tabindexChanged(newValue: string | null): void {\n if (newValue !== null) {\n const parsedValue = Number.parseInt(newValue, 10)\n this.#savedTabIndex =\n Number.isNaN(parsedValue) || !Number.isFinite(parsedValue)\n ? 0\n : parsedValue\n }\n if (this.#computedDisabled) this.host.removeAttribute('tabindex')\n else this.host.tabIndex = this.#savedTabIndex\n }\n\n @Watch('text')\n protected textChanged(): void {\n this.internals.ariaLabel = this.text\n\n if (this.#ro) this.#ro.disconnect()\n\n if (!this.#span) return\n\n const span = this.#span\n readTask(() => {\n this.tooltip = isEllipsisActive(span)\n })\n this.#ro = new ResizeObserver(([spanEntry]) => {\n this.tooltip = isEllipsisActive(spanEntry.target as HTMLSpanElement)\n })\n this.#ro.observe(this.#span)\n }\n\n @Watch('value')\n protected valueChanged(): void {\n if (this.#computedChecked && !this.#computedDisabled)\n this.internals.setFormValue(this.#computedValue)\n }\n\n public componentWillLoad(): void {\n this.internals.role = 'checkbox'\n this.internals.ariaChecked = this.#computedIndeterminate\n ? 'mixed'\n : this.#computedChecked.toString()\n this.internals.ariaDisabled = this.#computedDisabled.toString()\n this.internals.ariaLabel = this.text\n this.valueChanged()\n\n this.#defineGetter('form', () => this.internals.form)\n this.#defineGetter('willValidate', () => this.internals.willValidate)\n this.#defineGetter('validity', () => this.internals.validity)\n this.#defineGetter(\n 'validationMessage',\n () => this.internals.validationMessage,\n )\n\n this.tabindexChanged(this.host.getAttribute('tabindex') ?? '0')\n }\n\n public componentDidLoad(): void {\n this.textChanged()\n }\n\n public disconnectedCallback(): void {\n if (this.#ro) this.#ro.disconnect()\n }\n\n public render() {\n return (\n <div\n aria-hidden=\"true\"\n class={{\n 'qds-disabled': this.#computedDisabled,\n 'qds-inline': this.inline,\n 'qds-label': true,\n }}\n data-size={this.#computedSize}\n >\n <div class=\"qds-container\">\n <input\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={this.host.autofocus}\n checked={this.#computedIndeterminate ? false : this.checked}\n class=\"qds-checkbox\"\n data-size={this.#computedSize}\n disabled={this.#computedDisabled}\n indeterminate={this.indeterminate}\n required={this.required}\n type=\"checkbox\"\n tabIndex={-1}\n />\n <qds-icon\n class={{\n 'qds-icon': true,\n 'qds-checked': true,\n }}\n data-size={this.#computedSize}\n library=\"core\"\n name=\"checked\"\n />\n <qds-icon\n class={{\n 'qds-icon': true,\n 'qds-indeterminate': true,\n }}\n data-size={this.#computedSize}\n library=\"core\"\n name=\"indeterminate\"\n />\n </div>\n {this.#hasText && (\n <span\n class=\"qds-label-inner\"\n data-size={this.#computedSize}\n ref={this.#spanRef}\n >\n {this.required === true && <span class=\"qds-required\">*</span>}\n {this.text}\n </span>\n )}\n {this.tooltip && (\n <qds-tooltip class=\"qds-tooltip\" ref={this.#tooltipRef}>\n {this.text}\n </qds-tooltip>\n )}\n </div>\n )\n }\n\n public checkValidity: ElementInternals['checkValidity'] = () =>\n this.internals.checkValidity()\n\n public reportValidity: ElementInternals['reportValidity'] = () =>\n this.internals.reportValidity()\n\n public setCustomValidity: HTMLInputElement['setCustomValidity'] = (error) => {\n if (error) this.internals.setValidity(CUSTOM_ERROR_FLAGS, error, this.host)\n else this.internals.setValidity(NO_ERROR_FLAGS)\n }\n\n readonly #spanRef = (span?: HTMLSpanElement): void => {\n this.#span = span\n }\n\n readonly #tooltipRef = (tooltip?: HTMLQdsTooltipElement): void => {\n if (tooltip) {\n // eslint-disable-next-line no-param-reassign\n tooltip.target = this.host\n this.#tooltip = tooltip\n }\n }\n\n #defineGetter(p: PropertyKey, get: () => unknown): void {\n Object.defineProperty(this.host, p, { enumerable: true, get })\n }\n}\n"],"version":3}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { p as proxyCustomElement, H, c as createEvent, h, e as Host } from './p-D2489VzR.js';
|
|
7
7
|
import { o as offset, f as flip, s as shift, c as computePosition, a as autoUpdate, l as limitShift } from './p-Bv2vPjgL.js';
|
|
8
|
-
import {
|
|
8
|
+
import { j as closestElement, k as getSubmenuCloseKey, V as VERTICAL_MOVE_KEYS, f as ignorePromise, l as propertyToPx, r as resolveTarget } from './p-CaibVX_2.js';
|
|
9
9
|
|
|
10
10
|
const dropdownCss = ":host([hidden]){display:none!important}:host{background-color:var(--qds-theme-popup-background);border:none;border-radius:var(--qds-popup-border-radius);box-shadow:var(--qds-popup-elevation);box-sizing:border-box;display:inline-block;inset:unset;margin:0;overflow:initial;padding:0}";
|
|
11
11
|
|
|
@@ -156,6 +156,13 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends H {
|
|
|
156
156
|
event.stopPropagation();
|
|
157
157
|
return;
|
|
158
158
|
}
|
|
159
|
+
if (key === getSubmenuCloseKey(this.host) && __classPrivateFieldGet(this, _Dropdown_open, "f")) {
|
|
160
|
+
event.preventDefault();
|
|
161
|
+
event.stopPropagation();
|
|
162
|
+
await this.close();
|
|
163
|
+
__classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_focusOnTrigger).call(this);
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
159
166
|
if (!VERTICAL_MOVE_KEYS.has(key))
|
|
160
167
|
return;
|
|
161
168
|
const Items = __classPrivateFieldGet(this, _Dropdown_Items, "f").filter((item) => isEnabledItem(item) &&
|
|
@@ -272,6 +279,9 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends H {
|
|
|
272
279
|
this.host.hidePopover();
|
|
273
280
|
this.closeEmitter.emit();
|
|
274
281
|
}
|
|
282
|
+
async focusFirstItem() {
|
|
283
|
+
__classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_focusFirstItem).call(this);
|
|
284
|
+
}
|
|
275
285
|
async handleMouseDown(event) {
|
|
276
286
|
if (!__classPrivateFieldGet(this, _Dropdown_open, "f"))
|
|
277
287
|
return;
|
|
@@ -356,7 +366,7 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends H {
|
|
|
356
366
|
__classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_disconnectReferenceElement).call(this);
|
|
357
367
|
}
|
|
358
368
|
render() {
|
|
359
|
-
return (h(Host, { key: '
|
|
369
|
+
return (h(Host, { key: 'cd91708a88557e3de9ff415fcf5ac365f4878101', onKeyDown: __classPrivateFieldGet(this, _Dropdown_onKeydown, "f"), onFocusout: __classPrivateFieldGet(this, _Dropdown_onFocusout, "f") }, h("slot", { key: 'ea44dbaac6f745eeeb3b835402cce7b051be2b88', onSlotchange: __classPrivateFieldGet(this, _Dropdown_onSlotchange, "f") })));
|
|
360
370
|
}
|
|
361
371
|
static get delegatesFocus() { return true; }
|
|
362
372
|
get host() { return this; }
|
|
@@ -387,7 +397,8 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends H {
|
|
|
387
397
|
"keepOpenOnSelect": [4, "keep-open-on-select"],
|
|
388
398
|
"updateGap": [64],
|
|
389
399
|
"show": [64],
|
|
390
|
-
"close": [64]
|
|
400
|
+
"close": [64],
|
|
401
|
+
"focusFirstItem": [64]
|
|
391
402
|
}, [[4, "click", "handleMouseDown"], [0, "click", "onItemClick"]], {
|
|
392
403
|
"target": ["updateReferenceElement"],
|
|
393
404
|
"flipOptions": ["updateMiddleware"],
|
|
@@ -401,10 +412,14 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends H {
|
|
|
401
412
|
"autoUpdateOptions": ["startAutoUpdate"]
|
|
402
413
|
}]);
|
|
403
414
|
_Dropdown_cleanup = new WeakMap(), _Dropdown_Items = new WeakMap(), _Dropdown_gap = new WeakMap(), _Dropdown_middleware = new WeakMap(), _Dropdown_referenceElement = new WeakMap(), _Dropdown_open = new WeakMap(), _Dropdown_opened = new WeakMap(), _Dropdown_onFocusout = new WeakMap(), _Dropdown_onKeydown = new WeakMap(), _Dropdown_onReferenceClick = new WeakMap(), _Dropdown_boundOnFocusout = new WeakMap(), _Dropdown_boundOnKeydown = new WeakMap(), _Dropdown_boundOnReferenceClick = new WeakMap(), _Dropdown_onSlotchange = new WeakMap(), _Dropdown_instances = new WeakSet(), _Dropdown_focusOnTrigger = function _Dropdown_focusOnTrigger() {
|
|
404
|
-
if (__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.HTMLElement
|
|
405
|
-
__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.SVGElement)
|
|
406
|
-
|
|
407
|
-
|
|
415
|
+
if (!(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.HTMLElement) &&
|
|
416
|
+
!(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.SVGElement))
|
|
417
|
+
return;
|
|
418
|
+
const root = __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").getRootNode();
|
|
419
|
+
const target = root instanceof globalThis.ShadowRoot
|
|
420
|
+
? root.host
|
|
421
|
+
: __classPrivateFieldGet(this, _Dropdown_referenceElement, "f");
|
|
422
|
+
target.focus();
|
|
408
423
|
}, _Dropdown_focusFirstItem = function _Dropdown_focusFirstItem() {
|
|
409
424
|
requestAnimationFrame(() => {
|
|
410
425
|
const firstItem = __classPrivateFieldGet(this, _Dropdown_Items, "f").find((item) => item instanceof H &&
|
|
@@ -441,6 +456,6 @@ function defineCustomElement() {
|
|
|
441
456
|
}
|
|
442
457
|
|
|
443
458
|
export { Dropdown as D, defineCustomElement as d };
|
|
444
|
-
//# sourceMappingURL=p-
|
|
459
|
+
//# sourceMappingURL=p-DTMrBXCl.js.map
|
|
445
460
|
|
|
446
|
-
//# sourceMappingURL=p-
|
|
461
|
+
//# sourceMappingURL=p-DTMrBXCl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-DTMrBXCl.js","mappings":"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","names":["HTMLElement","__stencil_proxyCustomElement"],"sources":["src/components/dropdown/dropdown.css?tag=qds-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n background-color: var(--qds-theme-popup-background);\n border-radius: var(--qds-popup-border-radius);\n border: none;\n box-shadow: var(--qds-popup-elevation);\n box-sizing: border-box;\n display: inline-block;\n inset: unset;\n margin: 0;\n overflow: initial;\n padding: 0;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n AutoUpdateOptions,\n DetectOverflowOptions,\n FlipOptions,\n Middleware,\n Placement,\n ReferenceElement,\n ShiftOptions,\n Strategy,\n} from '@floating-ui/dom'\nimport {\n autoUpdate,\n computePosition,\n flip,\n limitShift,\n offset,\n shift,\n} from '@floating-ui/dom'\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core'\n\nimport type { OffsetOptions } from '../../helpers'\nimport {\n closestElement,\n getSubmenuCloseKey,\n ignorePromise,\n propertyToPx,\n resolveTarget,\n VERTICAL_MOVE_KEYS,\n} from '../../helpers'\n\nlet autoIncrementingId = 1\n\nconst isQdsButton = (\n element: globalThis.Element,\n): element is HTMLQdsButtonElement =>\n element.tagName.toLowerCase() === 'qds-button'\n\nconst ALLOWED_TAGS: ReadonlySet<string> = new Set([\n 'qds-action-item',\n 'qds-menu-item',\n 'qds-list-item',\n])\n\nconst isEnabledItem = (element: unknown): element is HTMLElement =>\n element instanceof HTMLElement &&\n ALLOWED_TAGS.has(element.tagName.toLowerCase()) &&\n !element.hasAttribute('disabled') &&\n !element.inert\n\n/**\n * @slot Content to display in the dropdown.\n * @see https://quartz.se.com/build/components/dropdown\n */\n@Component({\n tag: 'qds-dropdown',\n shadow: { delegatesFocus: true },\n styleUrl: 'dropdown.css',\n})\nexport class Dropdown implements ComponentInterface {\n /**\n * Options to pass to Floating UI's\n * [`autoUpdate()` function](https://floating-ui.com/docs/autoUpdate).\n *\n * @see https://floating-ui.com/docs/autoupdate#options\n */\n @Prop() public readonly autoUpdateOptions?: AutoUpdateOptions\n\n /**\n * Prevents the dropdown from being shown by user interaction. The dropdown\n * can still be displayed by calling the `show()` method.\n */\n @Prop() public readonly disabled: boolean = false\n\n /**\n * Options to pass to Floating UI's\n * [`flip` middleware](https://floating-ui.com/docs/flip).\n *\n * The [`crossAxis` option](https://floating-ui.com/docs/flip#crossaxis) is\n * set to the value of the `noShift` property by default for interoperability\n * with the [`shift` middleware](https://floating-ui.com/docs/shift).\n *\n * @see https://floating-ui.com/docs/flip#options\n */\n @Prop() public readonly flipOptions?: Partial<\n DetectOverflowOptions & FlipOptions\n >\n\n /**\n * Disable Floating UI's\n * [`flip` middleware](https://floating-ui.com/docs/flip).\n */\n @Prop() public readonly noFlip: boolean = false\n\n /**\n * Disable Floating UI's\n * [`shift` middleware](https://floating-ui.com/docs/shift).\n */\n @Prop() public readonly noShift: boolean = false\n\n /**\n * Options to pass to Floating UI's\n * [`offset` middleware](https://floating-ui.com/docs/offset).\n *\n * The [`mainAxis` option](https://floating-ui.com/docs/offset#mainaxis) is\n * not supported.\n *\n * @see https://floating-ui.com/docs/offset#options\n */\n @Prop() public readonly offsetOptions?: OffsetOptions\n\n /**\n * Where to place the dropdown relative to the `target`.\n *\n * @see https://floating-ui.com/docs/tutorial#placements\n */\n @Prop() public readonly placement: Placement = 'bottom-start'\n\n /**\n * Options to pass to Floating UI's\n * [`shift` middleware](https://floating-ui.com/docs/shift).\n *\n * @see https://floating-ui.com/docs/shift#options\n */\n @Prop() public readonly shiftOptions?: Partial<\n DetectOverflowOptions & ShiftOptions\n >\n\n /**\n * The CSS position strategy to use.\n *\n * @see https://floating-ui.com/docs/computeposition#strategy\n */\n @Prop() public readonly strategy?: Strategy\n\n /**\n * The trigger element that will trigger the dropdown. The target specified\n * can be any of the following:\n *\n * - A CSS selector string\n * - A reference to an [`Element`][] or [Virtual Element][]\n * - A function returning a reference to an [`Element`][],\n * [Virtual Element][], or a CSS selector string\n *\n * [`Element`]: https://developer.mozilla.org/docs/Web/API/Element\n * [Virtual Element]: https://floating-ui.com/docs/virtual-elements\n */\n @Prop() public readonly target!:\n | ReferenceElement\n | string\n | (() => ReferenceElement | string)\n\n /**\n * By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\n * dropdowns that allow for multiple interactions.\n */\n @Prop() public readonly keepOpenOnSelect: boolean = false\n\n /**\n * Emitted when the user instructs the browser that they wish to dismiss the\n * current open dropdown by pressing the `Esc` key.\n *\n * When a dropdown is dismissed with the `Esc` key, both the `qdsCancel` and\n * `qdsClose` events are emitted.\n */\n @Event({ eventName: 'qdsCancel', bubbles: false })\n private readonly cancelEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the dropdown is closed.\n */\n @Event({ eventName: 'qdsClose', bubbles: false, cancelable: false })\n private readonly closeEmitter!: EventEmitter<void>\n\n @Element() private readonly host!: HTMLElement\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n #cleanup?: () => void\n\n #Items: HTMLElement[] = []\n\n #gap = 0\n\n #middleware?: (Middleware | false)[]\n\n #referenceElement?: ReferenceElement\n\n #open = false\n\n /**\n * Whether the dropdown has been opened at least once.\n * This is used to determine whether the dropdown should update its position, gap\n * and middleware when it is opened.\n */\n #opened = false\n\n /**\n * Updates the gap between the dropdown and its target element.\n */\n @Method()\n public async updateGap(): Promise<void> {\n this.#gap = propertyToPx(this.host, '--qds-accessory-gap-floating') ?? 0\n\n await this.updateMiddleware()\n }\n\n /**\n * Shows the dropdown.\n */\n @Method()\n public async show(): Promise<void> {\n if (this.#open) return\n\n const reference = this.#referenceElement\n const { host } = this\n\n if (reference instanceof globalThis.Element) {\n reference.setAttribute('aria-expanded', 'true')\n reference.setAttribute('aria-controls', host.id)\n host.setAttribute('aria-labelledby', reference.id)\n if (!reference.hasAttribute('aria-haspopup'))\n reference.setAttribute('aria-haspopup', 'true')\n\n if (isQdsButton(reference) && reference.action === 'dropdown')\n reference.action = 'dropdown-close'\n }\n\n if (!this.#opened) {\n await this.updateGap()\n this.#opened = true\n }\n this.startAutoUpdate()\n this.#open = true\n host.hidden = false\n host.showPopover()\n }\n\n /**\n * Closes the dropdown.\n */\n @Method()\n public async close(): Promise<void> {\n if (!this.#open) return\n\n if (this.#referenceElement instanceof globalThis.Element) {\n this.#referenceElement.setAttribute('aria-expanded', 'false')\n this.#referenceElement.removeAttribute('aria-controls')\n\n if (\n isQdsButton(this.#referenceElement) &&\n this.#referenceElement.action === 'dropdown-close'\n )\n this.#referenceElement.action = 'dropdown'\n }\n\n if (this.#cleanup) this.#cleanup()\n this.#open = false\n this.host.hidden = true\n this.host.hidePopover()\n\n this.closeEmitter.emit()\n }\n\n @Method()\n public async focusFirstItem(): Promise<void> {\n this.#focusFirstItem()\n }\n\n @Listen('click', { target: 'document' })\n protected async handleMouseDown(event: MouseEvent): Promise<void> {\n if (!this.#open) return\n\n const composedPath = event.composedPath()\n const withinBounds =\n composedPath.includes(this.host) ||\n (this.#referenceElement instanceof globalThis.Element &&\n composedPath.includes(this.#referenceElement))\n if (!withinBounds) await this.close()\n }\n\n @Listen('click')\n protected async onItemClick(event: MouseEvent): Promise<void> {\n if (!this.keepOpenOnSelect && isEnabledItem(event.target)) {\n await this.close()\n }\n }\n\n @Watch('target')\n private async updateReferenceElement(): Promise<void> {\n this.#disconnectReferenceElement()\n\n this.#referenceElement = resolveTarget(this.target)\n\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n this.#referenceElement.setAttribute('aria-expanded', 'false')\n this.#referenceElement.addEventListener(\n 'click',\n this.#boundOnReferenceClick,\n )\n this.#referenceElement.addEventListener('focusout', this.#boundOnFocusout)\n this.#referenceElement.addEventListener('keydown', this.#boundOnKeydown)\n\n if (this.host.role === 'menu') {\n this.#referenceElement.id ||= `qds-dropdown-trigger-${autoIncrementingId}`\n this.host.setAttribute('aria-labelledby', this.#referenceElement.id)\n }\n }\n\n @Watch('flipOptions')\n @Watch('noFlip')\n @Watch('noShift')\n @Watch('offsetOptions')\n @Watch('shiftOptions')\n private async updateMiddleware(): Promise<void> {\n this.#middleware = [\n offset({\n ...this.offsetOptions,\n mainAxis: this.#gap,\n }),\n !this.noFlip &&\n flip({\n crossAxis: this.noShift,\n ...this.flipOptions,\n }),\n !this.noShift &&\n shift({\n limiter: limitShift(),\n ...this.shiftOptions,\n }),\n ]\n }\n\n @Watch('middleware')\n @Watch('placement')\n @Watch('strategy')\n private async updatePosition(): Promise<void> {\n if (!this.#referenceElement) return\n\n const { x, y, strategy } = await computePosition(\n this.#referenceElement,\n this.host,\n {\n middleware: this.#middleware,\n placement: this.placement,\n strategy: this.strategy,\n },\n )\n Object.assign(this.host.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`,\n })\n }\n\n @Watch('autoUpdateOptions')\n private startAutoUpdate(): void {\n if (!this.#referenceElement) return\n\n if (this.#cleanup) this.#cleanup()\n this.#cleanup = autoUpdate(\n this.#referenceElement,\n this.host,\n () => {\n ignorePromise(this.updatePosition())\n },\n this.autoUpdateOptions,\n )\n }\n\n public async componentWillLoad(): Promise<void> {\n this.host.hidden = true\n this.host.popover = 'manual'\n this.internals.role = 'menu'\n this.host.id ||= `qds-dropdown-${autoIncrementingId}`\n await this.updateReferenceElement()\n autoIncrementingId += 1\n }\n\n public disconnectedCallback(): void {\n this.#disconnectReferenceElement()\n }\n\n public render() {\n return (\n <Host onKeyDown={this.#onKeydown} onFocusout={this.#onFocusout}>\n <slot onSlotchange={this.#onSlotchange} />\n </Host>\n )\n }\n\n readonly #onFocusout = async (event: Event): Promise<void> => {\n if (!(event instanceof FocusEvent)) return\n const { relatedTarget } = event\n\n const dropdownItem = this.#Items.find((item) => item === relatedTarget)\n if (\n relatedTarget instanceof globalThis.Element &&\n !this.host.contains(relatedTarget) &&\n this.#referenceElement !== relatedTarget &&\n !dropdownItem\n )\n await this.close()\n }\n\n #focusOnTrigger(): void {\n if (\n !(this.#referenceElement instanceof globalThis.HTMLElement) &&\n !(this.#referenceElement instanceof globalThis.SVGElement)\n )\n return\n\n const root = this.#referenceElement.getRootNode()\n const target =\n root instanceof globalThis.ShadowRoot\n ? (root.host as HTMLElement)\n : this.#referenceElement\n\n target.focus()\n }\n\n readonly #onKeydown = async (event: Event): Promise<void> => {\n if (!(event instanceof KeyboardEvent)) return\n\n const { key, target } = event\n const targetRootNode =\n target instanceof globalThis.Node ? target.getRootNode() : undefined\n const keydownOnReference =\n target === this.#referenceElement ||\n (targetRootNode instanceof globalThis.ShadowRoot &&\n targetRootNode.host === this.#referenceElement) ||\n (target instanceof globalThis.Element &&\n this.#referenceElement instanceof globalThis.Element &&\n this.#referenceElement.contains(target))\n\n if (key === 'Enter' && !this.keepOpenOnSelect && isEnabledItem(target)) {\n // Keep parent open when Enter is used on an item with a nested submenu.\n if (\n target instanceof HTMLElement &&\n target.shadowRoot?.querySelector('qds-dropdown')\n )\n return\n\n await this.close()\n this.#focusOnTrigger()\n return\n }\n\n if (\n key === 'Escape' &&\n (target === this.#referenceElement ||\n (target instanceof globalThis.Element &&\n closestElement('qds-dropdown', target) === this.host))\n ) {\n const cancelEvent = this.cancelEmitter.emit()\n if (cancelEvent.defaultPrevented) return\n\n await this.close()\n this.#focusOnTrigger()\n\n return\n }\n\n if (\n keydownOnReference &&\n (key === 'ArrowDown' || key === 'ArrowUp' || key === 'Enter')\n ) {\n if (!this.#open) await this.show()\n this.#focusFirstItem()\n event.preventDefault()\n event.stopPropagation()\n return\n }\n // Prevent space key from scrolling the page when focused on an item\n if (key === ' ') {\n event.preventDefault()\n event.stopPropagation()\n return\n }\n\n if (key === getSubmenuCloseKey(this.host) && this.#open) {\n event.preventDefault()\n event.stopPropagation()\n await this.close()\n this.#focusOnTrigger()\n return\n }\n\n if (!VERTICAL_MOVE_KEYS.has(key)) return\n\n const Items = this.#Items.filter(\n (item: HTMLElement) =>\n isEnabledItem(item) &&\n closestElement('qds-dropdown', item) === this.host,\n )\n\n if (Items.length === 0) return\n\n event.preventDefault()\n event.stopPropagation()\n\n const currentIndex = Items.findIndex(\n (item: HTMLElement) => item.getAttribute('tabindex') === '0',\n )\n\n let nextIndex = currentIndex\n\n switch (key) {\n case 'ArrowUp': {\n nextIndex = currentIndex > 0 ? currentIndex - 1 : Items.length - 1\n break\n }\n case 'ArrowDown': {\n nextIndex = currentIndex < Items.length - 1 ? currentIndex + 1 : 0\n break\n }\n case 'Home': {\n nextIndex = 0\n break\n }\n case 'End': {\n nextIndex = Items.length - 1\n break\n }\n default: {\n return\n }\n }\n const nextItem = Items[nextIndex]\n for (const [index, item] of Items.entries()) {\n ;(item as HTMLElement).setAttribute(\n 'tabindex',\n index === nextIndex ? '0' : '-1',\n )\n }\n\n nextItem.focus()\n event.preventDefault()\n }\n\n readonly #onReferenceClick = async (): Promise<void> => {\n if (this.disabled) return\n\n if (this.#open) {\n await this.close()\n return\n }\n\n await this.show()\n this.#focusFirstItem()\n }\n\n #focusFirstItem(): void {\n requestAnimationFrame(() => {\n const firstItem = this.#Items.find(\n (item) =>\n item instanceof HTMLElement &&\n isEnabledItem(item) &&\n closestElement('qds-dropdown', item) === this.host,\n )\n if (!firstItem) return\n for (const item of this.#Items) item.setAttribute('tabindex', '-1')\n firstItem.setAttribute('tabindex', '0')\n firstItem.focus()\n })\n }\n\n #disconnectReferenceElement(): void {\n this.host.removeAttribute('aria-labelledby')\n\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n this.#referenceElement.removeEventListener(\n 'focusout',\n this.#boundOnFocusout,\n )\n this.#referenceElement.removeEventListener('keydown', this.#boundOnKeydown)\n this.#referenceElement.removeAttribute('aria-expanded')\n this.#referenceElement.removeAttribute('aria-controls')\n }\n\n readonly #boundOnFocusout = (event: Event): void => {\n ignorePromise(this.#onFocusout(event))\n }\n\n readonly #boundOnKeydown = (event: Event): void => {\n ignorePromise(this.#onKeydown(event))\n }\n\n readonly #boundOnReferenceClick = (): void => {\n ignorePromise(this.#onReferenceClick())\n }\n\n readonly #onSlotchange = (event: Event): void => {\n const slot = event.target as HTMLSlotElement\n const assignedElements = slot.assignedElements({ flatten: true })\n\n this.#Items = assignedElements.filter((element): element is HTMLElement =>\n isEnabledItem(element),\n )\n }\n}\n"],"version":3}
|
|
@@ -221,7 +221,7 @@ const Icon = /*@__PURE__*/ proxyCustomElement(class Icon extends H {
|
|
|
221
221
|
await this.setIcon();
|
|
222
222
|
}
|
|
223
223
|
render() {
|
|
224
|
-
return (h("div", { key: '
|
|
224
|
+
return (h("div", { key: 'a30a96c36b82403a02633da78a0b088f268e38a8', class: "qds-container", "aria-hidden": "true" }, h("span", { key: 'e5857ccf7d3e9545279a7c6afc53cb788f274cae', class: "qds-icon-wrapper", innerHTML: this.svg })));
|
|
225
225
|
}
|
|
226
226
|
static get watchers() { return {
|
|
227
227
|
"name": ["setIcon"],
|
|
@@ -251,6 +251,6 @@ function defineCustomElement() {
|
|
|
251
251
|
}
|
|
252
252
|
|
|
253
253
|
export { Icon as I, defineCustomElement as d, registerIconLibrary as r, unregisterIconLibrary as u };
|
|
254
|
-
//# sourceMappingURL=p-
|
|
254
|
+
//# sourceMappingURL=p-EjoVBa5a.js.map
|
|
255
255
|
|
|
256
|
-
//# sourceMappingURL=p-
|
|
256
|
+
//# sourceMappingURL=p-EjoVBa5a.js.map
|