@mhmo91/schmancy 0.2.72 → 0.2.74

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.
@@ -1,176 +0,0 @@
1
- import { autoUpdate as d, computePosition as u, offset as y, flip as m, shift as v } from "@floating-ui/dom";
2
- import "rxjs";
3
- import { classMap as b } from "lit/directives/class-map.js";
4
- import "lit/directives/style-map.js";
5
- import { $ as f } from "./litElement.mixin-vAR9BIyD.js";
6
- import "./tailwind.mixin-DxmWMnBQ.js";
7
- import { c as g } from "./ripple-BumgqsDT.js";
8
- import { S as w } from "./theme.interface-C5Kj6WjD.js";
9
- import { css as V, html as O } from "lit";
10
- import { property as a, state as p, query as c, queryAssignedElements as x, customElement as $ } from "lit/decorators.js";
11
- var D = Object.defineProperty, S = Object.getOwnPropertyDescriptor, l = (e, t, i, s) => {
12
- for (var r, n = s > 1 ? void 0 : s ? S(t, i) : t, h = e.length - 1; h >= 0; h--) (r = e[h]) && (n = (s ? r(t, i, n) : r(n)) || n);
13
- return s && n && D(t, i, n), n;
14
- };
15
- let o = class extends f(V`
16
- :host {
17
- display: block;
18
- position: relative;
19
- }
20
-
21
- [role='listbox'] {
22
- /* max-height: 25vh; */ /* Remove the fixed max-height */
23
- overflow-y: auto;
24
- outline: none;
25
- }
26
- `) {
27
- constructor() {
28
- super(...arguments), this.required = !1, this.placeholder = "", this.value = "", this.selectedValues = [], this.multi = !1, this.label = "", this.isOpen = !1, this.valueLabel = "", this.isValid = !0, this.validationMessage = "";
29
- }
30
- connectedCallback() {
31
- super.connectedCallback(), this.id || (this.id = `schmancy-select-${Math.random().toString(36).substr(2, 9)}`), this.addEventListener("keydown", this.handleKeyDown);
32
- }
33
- disconnectedCallback() {
34
- var e;
35
- super.disconnectedCallback(), this.removeEventListener("keydown", this.handleKeyDown), (e = this.cleanupPositioner) == null || e.call(this);
36
- }
37
- firstUpdated() {
38
- this.syncSelection(), this.setupOptionsAccessibility();
39
- }
40
- syncSelection() {
41
- if (this.multi) this.selectedValues = this.options.filter((e) => e.selected).map((e) => e.value), this.valueLabel = this.selectedValues.length > 0 ? this.options.filter((e) => this.selectedValues.includes(e.value)).map((e) => e.label).join(", ") : this.placeholder;
42
- else {
43
- const e = this.options.find((t) => t.value === this.value);
44
- this.valueLabel = (e == null ? void 0 : e.label) || this.placeholder;
45
- }
46
- }
47
- setupOptionsAccessibility() {
48
- this.options.forEach((e, t) => {
49
- e.setAttribute("role", "option"), e.id || (e.id = `${this.id}-option-${t}`), e.tabIndex = -1, e.setAttribute("aria-selected", String(this.multi ? this.selectedValues.includes(e.value) : e.value === this.value));
50
- });
51
- }
52
- async positionDropdown() {
53
- const e = this.renderRoot.querySelector(".trigger");
54
- if (!e || !this.ul) return;
55
- const t = window.innerHeight - e.getBoundingClientRect().bottom - 10;
56
- this.ul.style.maxHeight = `${t}px`, this.cleanupPositioner = d(e, this.ul, async () => {
57
- const { x: i, y: s } = await u(e, this.ul, { placement: "bottom-start", middleware: [y(5), m(), v({ padding: 5 })] });
58
- Object.assign(this.ul.style, { left: `${i}px`, top: `${s}px`, position: "absolute" });
59
- });
60
- }
61
- handleKeyDown(e) {
62
- if (!this.isOpen) return void (["Enter", " ", "ArrowDown"].includes(e.key) && (e.preventDefault(), this.openDropdown(!1)));
63
- const t = this.options.findIndex((i) => i.matches(":focus")) ?? -1;
64
- switch (e.key) {
65
- case "Escape":
66
- case "Tab":
67
- this.closeDropdown();
68
- break;
69
- case "ArrowDown":
70
- e.preventDefault(), this.focusOption(this.options, Math.min(t + 1, this.options.length - 1));
71
- break;
72
- case "ArrowUp":
73
- e.preventDefault(), this.focusOption(this.options, Math.max(t - 1, 0));
74
- break;
75
- case "Enter":
76
- case " ":
77
- e.preventDefault(), t >= 0 && this.handleOptionSelect(this.options[t].value);
78
- }
79
- }
80
- focusOption(e, t) {
81
- const i = e[t];
82
- if (i) {
83
- i.focus();
84
- const s = this.renderRoot.querySelector(".trigger");
85
- s == null || s.setAttribute("aria-activedescendant", i.id);
86
- }
87
- }
88
- async openDropdown(e = !1) {
89
- this.isOpen = !0, await this.updateComplete, this.positionDropdown(), this.setupOptionsAccessibility();
90
- const t = Array.from(this.ul.querySelectorAll('[role="option"]')), i = this.multi ? 0 : t.findIndex((s) => s.getAttribute("value") === this.value);
91
- this.focusOption(t, Math.max(i, 0)), e && this.reportValidity();
92
- }
93
- closeDropdown() {
94
- var t;
95
- this.isOpen = !1, (t = this.cleanupPositioner) == null || t.call(this);
96
- const e = this.renderRoot.querySelector(".trigger");
97
- e == null || e.removeAttribute("aria-activedescendant"), e == null || e.focus();
98
- }
99
- handleOptionSelect(e) {
100
- var t;
101
- if (this.multi) {
102
- const i = this.options.find((s) => s.value === e);
103
- if (!i) return;
104
- i.selected = !i.selected, i.selected ? this.selectedValues = [...this.selectedValues, e] : this.selectedValues = this.selectedValues.filter((s) => s !== e), this.valueLabel = this.selectedValues.length > 0 ? this.options.filter((s) => this.selectedValues.includes(s.value)).map((s) => s.label).join(", ") : this.placeholder, this.dispatchChange(this.selectedValues);
105
- } else this.options.forEach((i) => i.selected = i.value === e), this.value = e, this.valueLabel = ((t = this.options.find((i) => i.value === e)) == null ? void 0 : t.label) || this.placeholder, this.dispatchChange(e), this.closeDropdown();
106
- this.setupOptionsAccessibility();
107
- }
108
- dispatchChange(e) {
109
- this.isValid = !0, this.validationMessage = "", this.dispatchEvent(new CustomEvent("change", { detail: { value: e }, bubbles: !0, composed: !0 }));
110
- }
111
- checkValidity() {
112
- return this.isValid = this.multi ? this.options.some((e) => e.selected) : !!this.value, this.validationMessage = this.isValid ? "" : "Please select an option.", this.isValid;
113
- }
114
- reportValidity() {
115
- return !this.required || (this.checkValidity(), this.inputRef.required = !0, this.isValid ? (this.inputRef.reportValidity(), !0) : (this.openDropdown(), this.inputRef.reportValidity(), !1));
116
- }
117
- setCustomValidity(e) {
118
- this.validationMessage = e;
119
- }
120
- render() {
121
- return O`
122
- <div class="relative">
123
- <schmancy-input
124
- .name=${this.name}
125
- tabIndex="0"
126
- class="trigger"
127
- role="combobox"
128
- aria-haspopup="listbox"
129
- aria-expanded=${this.isOpen}
130
- aria-controls="options"
131
- aria-autocomplete="none"
132
- aria-required=${this.required}
133
- .label=${this.label}
134
- .placeholder=${this.placeholder}
135
- .value=${this.valueLabel}
136
- .required=${this.required}
137
- readonly
138
- @click=${() => this.isOpen ? this.closeDropdown() : this.openDropdown(!0)}
139
- ></schmancy-input>
140
-
141
- <div
142
- id="overlay"
143
- class="fixed inset-0"
144
- ?hidden=${!this.isOpen}
145
- @click=${this.closeDropdown}
146
- tabindex="-1"
147
- aria-hidden="true"
148
- ></div>
149
-
150
- <ul
151
- id="options"
152
- role="listbox"
153
- aria-multiselectable=${this.multi}
154
- class=${b({ "absolute z-[1000] mt-1 w-full rounded-md shadow-sm": !0, hidden: !this.isOpen })}
155
- ${g({ bgColor: w.sys.color.surface.container })}
156
- @click=${(e) => {
157
- var s;
158
- const t = e, i = (s = t.detail) == null ? void 0 : s.value;
159
- i && this.handleOptionSelect(i);
160
- }}
161
- >
162
- <slot
163
- @slotchange=${() => {
164
- this.syncSelection(), this.setupOptionsAccessibility();
165
- }}
166
- ></slot>
167
- </ul>
168
- </div>
169
- `;
170
- }
171
- };
172
- l([a({ type: String })], o.prototype, "name", 2), l([a({ type: Boolean })], o.prototype, "required", 2), l([a({ type: String })], o.prototype, "placeholder", 2), l([a({ type: String })], o.prototype, "value", 2), l([a({ type: Array })], o.prototype, "selectedValues", 2), l([a({ type: Boolean })], o.prototype, "multi", 2), l([a({ type: String })], o.prototype, "label", 2), l([p()], o.prototype, "isOpen", 2), l([p()], o.prototype, "valueLabel", 2), l([p()], o.prototype, "isValid", 2), l([a({ type: String })], o.prototype, "validationMessage", 2), l([c("ul")], o.prototype, "ul", 2), l([c("schmancy-input")], o.prototype, "inputRef", 2), l([x({ flatten: !0 })], o.prototype, "options", 2), o = l([$("schmancy-select")], o);
173
- export {
174
- o as S
175
- };
176
- //# sourceMappingURL=select-Iem1gGwb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-Iem1gGwb.js","sources":["../src/select/select.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyInput from '@schmancy/input/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { css, html, TemplateResult } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport class SchmancySelect extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t[role='listbox'] {\n\t\t/* max-height: 25vh; */ /* Remove the fixed max-height */\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t}\n`) {\n\t// API\n\t@property({ type: String }) name: string | undefined\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String }) value = '' // for single-select\n\t@property({ type: Array }) selectedValues: string[] = [] // for multi-select\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private valueLabel = ''\n\t@state() private isValid = true\n\t@property({ type: String }) validationMessage = ''\n\n\t@query('ul') private ul!: HTMLUListElement\n\n\t@query('schmancy-input') private inputRef!: SchmancyInput\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tif (!this.id) {\n\t\t\tthis.id = `schmancy-select-${Math.random().toString(36).substr(2, 9)}`\n\t\t}\n\t\tthis.addEventListener('keydown', this.handleKeyDown)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('keydown', this.handleKeyDown)\n\t\tthis.cleanupPositioner?.()\n\t}\n\n\tfirstUpdated() {\n\t\tthis.syncSelection()\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tprivate syncSelection() {\n\t\tif (this.multi) {\n\t\t\tthis.selectedValues = this.options.filter(o => o.selected).map(o => o.value)\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\t\t} else {\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption?.label || this.placeholder\n\t\t}\n\t}\n\n\tprivate setupOptionsAccessibility() {\n\t\tthis.options.forEach((option, index) => {\n\t\t\toption.setAttribute('role', 'option')\n\t\t\tif (!option.id) {\n\t\t\t\toption.id = `${this.id}-option-${index}`\n\t\t\t}\n\t\t\toption.tabIndex = -1\n\t\t\toption.setAttribute(\n\t\t\t\t'aria-selected',\n\t\t\t\tString(this.multi ? this.selectedValues.includes(option.value) : option.value === this.value),\n\t\t\t)\n\t\t})\n\t}\n\n\tprivate async positionDropdown() {\n\t\tconst reference = this.renderRoot.querySelector('.trigger') as HTMLElement\n\t\tif (!reference || !this.ul) return\n\n\t\t// Get the available height\n\t\tconst availableHeight = window.innerHeight - reference.getBoundingClientRect().bottom - 10 // 10px buffer\n\t\tthis.ul.style.maxHeight = `${availableHeight}px` // Set max height\n\n\t\tthis.cleanupPositioner = autoUpdate(reference, this.ul, async () => {\n\t\t\tconst { x, y } = await computePosition(reference, this.ul, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.ul.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate handleKeyDown(e: KeyboardEvent) {\n\t\tif (!this.isOpen) {\n\t\t\tif (['Enter', ' ', 'ArrowDown'].includes(e.key)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.openDropdown(false) // Modified: Call openDropdown directly\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tconst current = this.options.findIndex(o => o.matches(':focus')) ?? -1\n\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(this.options, Math.min(current + 1, this.options.length - 1))\n\t\t\t\tbreak\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(this.options, Math.max(current - 1, 0))\n\t\t\t\tbreak\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\te.preventDefault()\n\t\t\t\tif (current >= 0) this.handleOptionSelect(this.options[current].value)\n\t\t\t\tbreak\n\t\t\tcase 'Tab':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tprivate focusOption(options: HTMLElement[], index: number) {\n\t\tconst option = options[index]\n\t\tif (option) {\n\t\t\toption.focus()\n\t\t\tconst combobox = this.renderRoot.querySelector('.trigger')\n\t\t\tcombobox?.setAttribute('aria-activedescendant', option.id)\n\t\t}\n\t}\n\n\tprivate async openDropdown(report = false) {\n\t\t// Add a report flag\n\t\tthis.isOpen = true\n\t\tawait this.updateComplete\n\n\t\tthis.positionDropdown()\n\t\tthis.setupOptionsAccessibility()\n\n\t\tconst options = Array.from(this.ul.querySelectorAll('[role=\"option\"]')) as HTMLElement[]\n\t\tconst selectedIndex = this.multi ? 0 : options.findIndex(o => o.getAttribute('value') === this.value)\n\t\tthis.focusOption(options, Math.max(selectedIndex, 0))\n\t\t//Check if this needs to be reported\n\t\tif (report) this.reportValidity()\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t\tthis.cleanupPositioner?.()\n\t\tconst combobox = this.renderRoot.querySelector<HTMLElement>('.trigger')\n\t\tcombobox?.removeAttribute('aria-activedescendant')\n\t\tcombobox?.focus()\n\t}\n\n\tprivate handleOptionSelect(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (!option) return\n\n\t\t\toption.selected = !option.selected\n\t\t\tif (option.selected) {\n\t\t\t\tthis.selectedValues = [...this.selectedValues, value]\n\t\t\t} else {\n\t\t\t\tthis.selectedValues = this.selectedValues.filter(v => v !== value)\n\t\t\t}\n\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\n\t\t\tthis.dispatchChange(this.selectedValues)\n\t\t} else {\n\t\t\tthis.options.forEach(o => (o.selected = o.value === value))\n\t\t\tthis.value = value\n\t\t\tthis.valueLabel = this.options.find(o => o.value === value)?.label || this.placeholder\n\t\t\tthis.dispatchChange(value)\n\t\t\tthis.closeDropdown()\n\t\t}\n\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tprivate dispatchChange(value: string | string[]) {\n\t\tthis.isValid = true // Reset validation on change\n\t\tthis.validationMessage = ''\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancySelectChangeEvent['detail']>('change', {\n\t\t\t\tdetail: { value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t/**\n\t * Native form methods:\n\t * - checkValidity()\n\t * - reportValidity()\n\t * - setCustomValidity()\n\t */\n\tpublic checkValidity(): boolean {\n\t\t//Check if there is a value\n\t\tthis.isValid = this.multi ? this.options.some(o => o.selected) : Boolean(this.value)\n\t\tthis.validationMessage = this.isValid ? '' : 'Please select an option.'\n\t\treturn this.isValid\n\t}\n\n\tpublic reportValidity(): boolean {\n\t\tif (this.required) {\n\t\t\tthis.checkValidity()\n\t\t\tthis.inputRef.required = true // Ensure the inner input knows it's required.\n\t\t\tif (!this.isValid) {\n\t\t\t\tthis.openDropdown()\n\t\t\t\tthis.inputRef.reportValidity()\n\t\t\t\treturn false\n\t\t\t} else {\n\t\t\t\tthis.inputRef.reportValidity()\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn true // Always return true if not required\n\t}\n\n\tpublic setCustomValidity(message: string) {\n\t\tthis.validationMessage = message\n\t}\n\n\trender(): TemplateResult {\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<schmancy-input\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\taria-autocomplete=\"none\"\n\t\t\t\t\taria-required=${this.required}\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\treadonly\n\t\t\t\t\t@click=${() => (this.isOpen ? this.closeDropdown() : this.openDropdown(true))}\n\t\t\t\t></schmancy-input>\n\n\t\t\t\t<div\n\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t?hidden=${!this.isOpen}\n\t\t\t\t\t@click=${this.closeDropdown}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t></div>\n\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\taria-multiselectable=${this.multi}\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\t'absolute z-[1000] mt-1 w-full rounded-md shadow-sm': true,\n\t\t\t\t\t\thidden: !this.isOpen,\n\t\t\t\t\t})}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\tconst customEvt = e as CustomEvent\n\t\t\t\t\t\tconst detailVal = customEvt.detail?.value\n\t\t\t\t\t\tif (detailVal) {\n\t\t\t\t\t\t\tthis.handleOptionSelect(detailVal)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\t\tthis.syncSelection()\n\t\t\t\t\t\t\tthis.setupOptionsAccessibility()\n\t\t\t\t\t\t}}\n\t\t\t\t\t></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-select': SchmancySelect\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","css","super","arguments","this","required","placeholder","value","selectedValues","multi","label","isOpen","valueLabel","isValid","validationMessage","connectedCallback","id","Math","random","toString","substr","addEventListener","handleKeyDown","disconnectedCallback","removeEventListener","cleanupPositioner","firstUpdated","syncSelection","setupOptionsAccessibility","options","filter","o","selected","map","length","includes","join","selectedOption","find","forEach","option","index","setAttribute","tabIndex","String","positionDropdown","reference","renderRoot","querySelector","ul","availableHeight","window","innerHeight","getBoundingClientRect","bottom","style","maxHeight","autoUpdate","async","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","left","top","position","e","key","preventDefault","openDropdown","current","findIndex","matches","closeDropdown","focusOption","min","max","handleOptionSelect","focus","combobox","report","updateComplete","Array","from","querySelectorAll","selectedIndex","getAttribute","reportValidity","removeAttribute","v","dispatchChange","dispatchEvent","CustomEvent","detail","bubbles","composed","some","Boolean","checkValidity","inputRef","message","render","html","name","classMap","hidden","color","bgColor","SchmancyTheme","sys","surface","container","customEvt","detailVal","__decorateClass","property","type","prototype","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}