@webority/ui-elements 0.9.4 → 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,37 +19,37 @@ var e = {
19
19
  let t = this.getAttribute("tone"), n = Number.parseInt(this.getAttribute("size"), 10) || 72, r = e[t] || e.info;
20
20
  this.innerHTML = `<svg width="${n}" height="${n}" viewBox="0 0 174 174" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">${r}</svg>`;
21
21
  }
22
- }, r = 4;
23
- function i(e, t, n = {}) {
22
+ }, r = 4, i = 300, a = 400;
23
+ function o(e, t, n = {}) {
24
24
  if (!e || !t) return;
25
- let i = e.getBoundingClientRect(), a = t.offsetHeight, o = window.innerHeight - i.bottom, s = o < a + r && i.top > o;
26
- t.classList.toggle("drop-up", s), t.style.position = "fixed", t.style.top = s ? `${Math.max(r, i.top - a - r)}px` : `${i.bottom + r}px`, n.matchWidth && (t.style.minWidth = `${i.width}px`, t.style.width = "max-content", t.style.maxWidth = `${window.innerWidth - r * 2}px`);
27
- let c = t.offsetWidth, l = Math.min(i.left, window.innerWidth - c - r);
28
- t.style.left = `${Math.max(r, l)}px`;
25
+ let o = e.getBoundingClientRect(), s = t.offsetHeight, c = window.innerHeight - o.bottom, l = c < s + r && o.top > c;
26
+ t.classList.toggle("drop-up", l), t.style.position = "fixed", t.style.top = l ? `${Math.max(r, o.top - s - r)}px` : `${o.bottom + r}px`, n.matchWidth && (o.width >= i ? (t.style.minWidth = `${o.width}px`, t.style.width = `${o.width}px`, t.style.maxWidth = `${o.width}px`) : (t.style.minWidth = `${o.width}px`, t.style.width = "max-content", t.style.maxWidth = `${Math.min(a, window.innerWidth - r * 2)}px`));
27
+ let u = t.offsetWidth, d = Math.min(o.left, window.innerWidth - u - r);
28
+ t.style.left = `${Math.max(r, d)}px`;
29
29
  }
30
- function a(e, t) {
31
- o(e), e._reanchor = t, window.addEventListener("resize", e._reanchor), window.addEventListener("scroll", e._reanchor, !0);
30
+ function s(e, t) {
31
+ c(e), e._reanchor = t, window.addEventListener("resize", e._reanchor), window.addEventListener("scroll", e._reanchor, !0);
32
32
  }
33
- function o(e) {
33
+ function c(e) {
34
34
  e?._reanchor && (window.removeEventListener("resize", e._reanchor), window.removeEventListener("scroll", e._reanchor, !0), e._reanchor = null);
35
35
  }
36
36
  //#endregion
37
37
  //#region src/formMirror.js
38
- var s = "data-wui-mirror";
39
- function c(e, t) {
40
- let n = e.getAttribute("name"), r = e.querySelector(`:scope > input[${s}]`);
38
+ var l = "data-wui-mirror";
39
+ function u(e, t) {
40
+ let n = e.getAttribute("name"), r = e.querySelector(`:scope > input[${l}]`);
41
41
  if (!n) {
42
42
  r?.remove();
43
43
  return;
44
44
  }
45
- r || (r = document.createElement("input"), r.type = "hidden", r.setAttribute(s, ""), e.appendChild(r)), r.name = n, r.value = t == null ? "" : String(t);
45
+ r || (r = document.createElement("input"), r.type = "hidden", r.setAttribute(l, ""), e.appendChild(r)), r.name = n, r.value = t == null ? "" : String(t);
46
46
  for (let t of [...r.attributes]) t.name.startsWith("data-val") && !e.hasAttribute(t.name) && r.removeAttribute(t.name);
47
47
  for (let t of e.attributes) t.name.startsWith("data-val") && r.setAttribute(t.name, t.value);
48
48
  r.disabled = e.hasAttribute("disabled");
49
49
  }
50
50
  //#endregion
51
51
  //#region src/iconGlyphs.g.js
52
- var l = {
52
+ var d = {
53
53
  activity: "<path d=\"M9 22h6c5 0 7-2 7-7V9c0-5-2-7-7-7H9C4 2 2 4 2 9v6c0 5 2 7 7 7Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"m7.33 14.49 2.38-3.09c.34-.44.97-.52 1.41-.18l1.83 1.44c.44.34 1.07.26 1.41-.17l2.31-2.98\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
54
54
  alarm: "<path d=\"M2 22h20M12 6a9 9 0 0 0-9 9v7h18v-7a9 9 0 0 0-9-9ZM12 2v1M4 4l1 1M20 4l-1 1\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
55
55
  "alert-circle": "<path d=\"M12 7.75V13M21.08 8.58v6.84c0 1.12-.6 2.16-1.57 2.73l-5.94 3.43c-.97.56-2.17.56-3.15 0l-5.94-3.43a3.15 3.15 0 0 1-1.57-2.73V8.58c0-1.12.6-2.16 1.57-2.73l5.94-3.43c.97-.56 2.17-.56 3.15 0l5.94 3.43c.97.57 1.57 1.6 1.57 2.73Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"M12 16.2v.1\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
@@ -125,7 +125,7 @@ var l = {
125
125
  house: "<path d=\"m9.02 2.84-5.39 4.2C2.73 7.74 2 9.23 2 10.36v7.41c0 2.32 1.89 4.22 4.21 4.22h11.58c2.32 0 4.21-1.9 4.21-4.21V10.5c0-1.21-.81-2.76-1.8-3.45l-6.18-4.33c-1.4-.98-3.65-.93-5 .12ZM12 17.99v-3\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
126
126
  image: "<path d=\"M9 22h6c5 0 7-2 7-7V9c0-5-2-7-7-7H9C4 2 2 4 2 9v6c0 5 2 7 7 7Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"M9 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM2.67 18.95l4.93-3.31c.79-.53 1.93-.47 2.64.14l.33.29c.78.67 2.04.67 2.82 0l4.16-3.57c.78-.67 2.04-.67 2.82 0L22 13.9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
127
127
  inbox: "<path d=\"M12 2v7l2-2M12 9l-2-2M1.98 13h4.41c.38 0 .72.21.89.55l1.17 2.34A2 2 0 0 0 10.24 17h3.53a2 2 0 0 0 1.79-1.11l1.17-2.34a1 1 0 0 1 .89-.55h4.36\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"M7 4.13c-3.54.52-5 2.6-5 6.87v4c0 5 2 7 7 7h6c5 0 7-2 7-7v-4c0-4.27-1.46-6.35-5-6.87\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
128
- info: "<path d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM12 8v5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"M11.995 16h.009\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
128
+ info: "<g transform=\"rotate(180 12 12)\"><path d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM12 8v5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"M11.995 16h.009\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></g>",
129
129
  key: "<path d=\"M19.79 14.93a7.575 7.575 0 0 1-7.6 1.87l-4.71 4.7c-.34.35-1.01.56-1.49.49l-2.18-.3c-.72-.1-1.39-.78-1.5-1.5l-.3-2.18c-.07-.48.16-1.15.49-1.49l4.7-4.7c-.8-2.6-.18-5.55 1.88-7.6 2.95-2.95 7.74-2.95 10.7 0 2.96 2.95 2.96 7.76.01 10.71ZM6.89 17.49l2.3 2.3\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"M14.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
130
130
  "layout-dashboard": "<path d=\"M5 10h2c2 0 3-1 3-3V5c0-2-1-3-3-3H5C3 2 2 3 2 5v2c0 2 1 3 3 3ZM17 10h2c2 0 3-1 3-3V5c0-2-1-3-3-3h-2c-2 0-3 1-3 3v2c0 2 1 3 3 3ZM17 22h2c2 0 3-1 3-3v-2c0-2-1-3-3-3h-2c-2 0-3 1-3 3v2c0 2 1 3 3 3ZM5 22h2c2 0 3-1 3-3v-2c0-2-1-3-3-3H5c-2 0-3 1-3 3v2c0 2 1 3 3 3Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
131
131
  "layout-grid": "<path d=\"M17 10h2c2 0 3-1 3-3V5c0-2-1-3-3-3h-2c-2 0-3 1-3 3v2c0 2 1 3 3 3ZM5 22h2c2 0 3-1 3-3v-2c0-2-1-3-3-3H5c-2 0-3 1-3 3v2c0 2 1 3 3 3ZM6 10a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM18 22a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
@@ -192,14 +192,14 @@ var l = {
192
192
  "zoom-in": "<path d=\"M11 20a9 9 0 1 0 0-18 9 9 0 0 0 0 18ZM8.5 11h5M11 13.5v-5M18.93 20.69c.53 1.6 1.74 1.76 2.67.36.85-1.28.29-2.33-1.25-2.33-1.14-.01-1.78.88-1.42 1.97Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
193
193
  "zoom-out": "<path d=\"M9 11.7h5M11.5 21a9.5 9.5 0 1 0 0-19 9.5 9.5 0 0 0 0 19ZM22 22l-2-2\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>"
194
194
  };
195
- Object.keys(l);
196
- function u(e, { size: t = 16, className: n = "", style: r = "" } = {}) {
197
- let i = l[e];
195
+ Object.keys(d);
196
+ function f(e, { size: t = 16, className: n = "", style: r = "" } = {}) {
197
+ let i = d[e];
198
198
  return i ? `<svg class="${n ? `wui-icon ${n}` : "wui-icon"}" data-icon="${e}" width="${t}" height="${t}" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="vertical-align:-.125em${r ? `;${r}` : ""}">${i}</svg>` : "";
199
199
  }
200
200
  //#endregion
201
201
  //#region src/listboxKeyNav.js
202
- function d(e) {
202
+ function p(e) {
203
203
  let { getVisibleOptions: t, getActive: n, setActive: r, onEnter: i, onEscape: a, onTypeahead: o, typeaheadMs: s = 500 } = e, c = "", l = null, u = () => {
204
204
  clearTimeout(l), l = null, c = "";
205
205
  };
@@ -230,15 +230,15 @@ function d(e) {
230
230
  }
231
231
  //#endregion
232
232
  //#region src/optionLabel.js
233
- var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;"), m = (e) => {
233
+ var m = Symbol("wui.trustedHtml"), h = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;"), g = (e) => {
234
234
  if (!e) return "";
235
235
  let t = String(e).toLowerCase().replace(/[^a-z0-9-]/g, "");
236
- return t ? u(t) : "";
237
- }, h = (e) => {
236
+ return t ? f(t) : "";
237
+ }, _ = (e) => {
238
238
  if (e == null) return "";
239
- let t = e[f] ? String(e.label ?? "") : p(e.label), n = m(e.icon);
239
+ let t = e[m] ? String(e.label ?? "") : h(e.label), n = g(e.icon);
240
240
  return n ? `<span class="wui-opt-label">${n}${t}</span>` : t;
241
- }, g = class extends HTMLElement {
241
+ }, v = class extends HTMLElement {
242
242
  static formAssociated = !0;
243
243
  _accessibleName() {
244
244
  return this.getAttribute("aria-label") || this.getAttribute("placeholder") || "Select";
@@ -297,14 +297,14 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
297
297
  return this._value;
298
298
  }
299
299
  set value(e) {
300
- this._value = e == null ? "" : String(e), c(this, this._value);
300
+ this._value = e == null ? "" : String(e), u(this, this._value);
301
301
  let t = this._readOptions().find((e) => String(e.value) === this._value);
302
- this._label = t ? v(t.label) : "", this._syncInput(), this._renderOptions("");
302
+ this._label = t ? b(t.label) : "", this._syncInput(), this._renderOptions("");
303
303
  }
304
304
  set options(e) {
305
305
  this._optionsProp = Array.isArray(e) ? e : [];
306
306
  let t = this._readOptions().find((e) => String(e.value) === this._value);
307
- t && (this._label = v(t.label)), this._renderOptions(), this._syncInput();
307
+ t && (this._label = b(t.label)), this._renderOptions(), this._syncInput();
308
308
  }
309
309
  get options() {
310
310
  return this._readOptions();
@@ -323,7 +323,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
323
323
  }
324
324
  _matchesKnownOption(e) {
325
325
  let t = e.toLowerCase();
326
- return this._readOptions().some((e) => v(e.label).toLowerCase() === t || String(e.value ?? "").toLowerCase() === t);
326
+ return this._readOptions().some((e) => b(e.label).toLowerCase() === t || String(e.value ?? "").toLowerCase() === t);
327
327
  }
328
328
  get _minChars() {
329
329
  return Math.max(0, Number(this.getAttribute("min-chars")) || +!!this._remote);
@@ -341,7 +341,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
341
341
  value: e.getAttribute("value") ?? e.textContent.trim(),
342
342
  label: e.innerHTML,
343
343
  icon: e.getAttribute("icon") || void 0,
344
- [f]: !0,
344
+ [m]: !0,
345
345
  selected: e.hasAttribute("selected")
346
346
  })));
347
347
  }
@@ -355,17 +355,17 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
355
355
  let r = `${this.id}-listbox`;
356
356
  this._listboxId = r, this.innerHTML = `
357
357
  <div class="search-select${n}">
358
- <div class="input search-select-control search-select-ac" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-controls="${_(r)}" aria-label="${_(this._accessibleName())}"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}>
359
- <input class="search-select-input search-select-ac-input" placeholder="${_(e)}" aria-autocomplete="list" autocomplete="off"${this.hasAttribute("disabled") ? " disabled" : ""} />
358
+ <div class="input search-select-control search-select-ac" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-controls="${y(r)}" aria-label="${y(this._accessibleName())}"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}>
359
+ <input class="search-select-input search-select-ac-input" placeholder="${y(e)}" aria-autocomplete="list" autocomplete="off"${this.hasAttribute("disabled") ? " disabled" : ""} />
360
360
  <span class="search-select-spinner spinner-border spinner-border-sm" role="status" aria-hidden="true" hidden></span>
361
- <button type="button" class="search-select-clear" aria-label="Clear" hidden>${u("x")}</button>
361
+ <button type="button" class="search-select-clear" aria-label="Clear" hidden>${f("x")}</button>
362
362
  </div>
363
- <div class="search-select-menu search-select-menu-fixed" role="listbox" id="${_(r)}" tabindex="-1" hidden>
363
+ <div class="search-select-menu search-select-menu-fixed" role="listbox" id="${y(r)}" tabindex="-1" hidden>
364
364
  <div class="search-select-options"></div>
365
365
  <div class="search-select-empty" hidden>No matches</div>
366
366
  <div class="search-select-hint" hidden>Type to search…</div>
367
367
  </div>
368
- </div>`, this._rendered = !0, c(this, this._value), this._wire(), this._syncInput(), this._renderOptions();
368
+ </div>`, this._rendered = !0, u(this, this._value), this._wire(), this._syncInput(), this._renderOptions();
369
369
  }
370
370
  _refs() {
371
371
  return {
@@ -394,7 +394,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
394
394
  let t = this._refs();
395
395
  if (!t.optionsWrap) return;
396
396
  let n = e ?? (t.input ? t.input.value : ""), r = n.trim().toLowerCase(), i = this._readOptions();
397
- !this._remote && r && (i = i.filter((e) => v(e.label).toLowerCase().includes(r)));
397
+ !this._remote && r && (i = i.filter((e) => b(e.label).toLowerCase().includes(r)));
398
398
  let a = n.trim(), o = this._allowCustom && a && !this._matchesKnownOption(a) ? [...i, {
399
399
  value: a,
400
400
  custom: !0
@@ -402,42 +402,42 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
402
402
  t.optionsWrap.innerHTML = o.map((e, t) => {
403
403
  let n = `${s}-opt-${t}`;
404
404
  if (e.custom) {
405
- let t = `Add “${p(e.value)}”`;
406
- return `<button type="button" role="option" id="${_(n)}" class="search-select-option search-select-option-custom" data-value="${_(e.value)}" data-custom="true" aria-selected="false">${t}</button>`;
405
+ let t = `Add “${h(e.value)}”`;
406
+ return `<button type="button" role="option" id="${y(n)}" class="search-select-option search-select-option-custom" data-value="${y(e.value)}" data-custom="true" aria-selected="false">${t}</button>`;
407
407
  }
408
408
  let r = String(e.value) === String(this._value);
409
- return `<button type="button" role="option" id="${_(n)}" class="search-select-option${r ? " selected" : ""}" data-value="${_(e.value)}" aria-selected="${r}">${h(e)}</button>`;
409
+ return `<button type="button" role="option" id="${y(n)}" class="search-select-option${r ? " selected" : ""}" data-value="${y(e.value)}" aria-selected="${r}">${_(e)}</button>`;
410
410
  }).join(""), this._active = -1, t.control?.removeAttribute("aria-activedescendant");
411
411
  let c = r.length < this._minChars;
412
- t.hint && (t.hint.hidden = !(this._remote && c && !i.length)), t.empty && (t.empty.hidden = this._loading || o.length > 0 || this._remote && c);
412
+ t.hint && (t.hint.hidden = !(this._remote && c && !i.length)), t.empty && (t.empty.hidden = this._loading || o.length > 0 || this._remote && c), this._reanchor?.();
413
413
  }
414
414
  _wire() {
415
415
  this._teardown();
416
416
  let e = this._refs();
417
417
  if (!e.control || !e.input) return;
418
- let t = () => i(e.control, e.menu, { matchWidth: !0 }), n = () => this._optionEls().filter((e) => !e.hidden), r = (t) => {
418
+ let t = () => o(e.control, e.menu, { matchWidth: !0 }), n = () => this._optionEls().filter((e) => !e.hidden), r = (t) => {
419
419
  let r = n();
420
420
  this._active = t;
421
421
  for (let e of this._optionEls()) e.classList.remove("is-active");
422
422
  t >= 0 && r[t] ? (r[t].classList.add("is-active"), r[t].scrollIntoView({ block: "nearest" }), e.control.setAttribute("aria-activedescendant", r[t].id)) : e.control.removeAttribute("aria-activedescendant");
423
- }, o = () => !e.menu.hidden, s = () => {
423
+ }, i = () => !e.menu.hidden, a = () => {
424
424
  e.menu.hidden = !1, e.control.setAttribute("aria-expanded", "true"), e.control.classList.add("open"), t(), this._renderOptions();
425
- }, l = () => {
425
+ }, c = () => {
426
426
  e.menu.hidden = !0, e.control.setAttribute("aria-expanded", "false"), e.control.classList.remove("open"), r(-1), clearTimeout(this._typeaheadTimer), this._typeaheadTimer = null, this._typeahead = "", this._syncInput();
427
- }, u = (t) => {
427
+ }, l = (t) => {
428
428
  let n = t.dataset.custom === "true";
429
- this._value = t.dataset.value, this._label = n ? t.dataset.value : v(t.innerHTML), c(this, this._value), e.input.value = this._label, this.dispatchEvent(new CustomEvent("change", {
429
+ this._value = t.dataset.value, this._label = n ? t.dataset.value : b(t.innerHTML), u(this, this._value), e.input.value = this._label, this.dispatchEvent(new CustomEvent("change", {
430
430
  bubbles: !0,
431
431
  detail: { isCustom: n }
432
- })), l(), e.input.focus();
433
- }, f = (t) => {
434
- this._value = t, this._label = t, c(this, t), e.input.value = t, this.dispatchEvent(new CustomEvent("change", {
432
+ })), c(), e.input.focus();
433
+ }, d = (t) => {
434
+ this._value = t, this._label = t, u(this, t), e.input.value = t, this.dispatchEvent(new CustomEvent("change", {
435
435
  bubbles: !0,
436
436
  detail: { isCustom: !0 }
437
- })), l();
438
- }, p = () => {
437
+ })), c();
438
+ }, f = () => {
439
439
  let t = e.input.value;
440
- if (e.clear && (e.clear.hidden = !t), o() || s(), this._remote) {
440
+ if (e.clear && (e.clear.hidden = !t), i() || a(), this._remote) {
441
441
  if (this._renderOptions(t), clearTimeout(this._timer), t.trim().length < this._minChars) {
442
442
  this._pendingSearch = null;
443
443
  return;
@@ -449,52 +449,52 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
449
449
  }, this._timer = setTimeout(() => this._fireSearch(t, e), this._debounceMs);
450
450
  } else this._renderOptions(t);
451
451
  };
452
- this._navHandler = d({
452
+ this._navHandler = p({
453
453
  getVisibleOptions: n,
454
454
  getActive: () => this._active,
455
455
  setActive: (e) => r(e),
456
456
  onEnter: (t, n) => {
457
- if (n[this._active]) u(n[this._active]);
457
+ if (n[this._active]) l(n[this._active]);
458
458
  else if (this._allowCustom) {
459
459
  let t = e.input.value.trim();
460
- t && !this._matchesKnownOption(t) && f(t);
460
+ t && !this._matchesKnownOption(t) && d(t);
461
461
  }
462
462
  },
463
463
  onEscape: () => {
464
- this._navHandler.clearTypeahead(), l();
464
+ this._navHandler.clearTypeahead(), c();
465
465
  }
466
466
  });
467
467
  let m = (e) => {
468
468
  let t = e.target?.tagName === "INPUT" || e.target?.tagName === "TEXTAREA";
469
469
  if (e.key === "ArrowDown") {
470
- e.preventDefault(), o() || s();
470
+ e.preventDefault(), i() || a();
471
471
  let t = n();
472
472
  r(Math.min(this._active + 1, t.length - 1));
473
473
  return;
474
474
  } else if (e.key === "ArrowUp") {
475
475
  e.preventDefault(), r(Math.max(this._active - 1, 0));
476
476
  return;
477
- } else if ((e.key === "Home" || e.key === "End" || e.key === "PageDown" || e.key === "PageUp") && (!o() || t)) return;
478
- else if (e.key.length === 1 && (e.ctrlKey || e.metaKey || e.altKey || !o() || e.target?.tagName === "INPUT" || e.target?.tagName === "TEXTAREA") && (!o() || e.target?.tagName === "INPUT" || e.target?.tagName === "TEXTAREA")) return;
477
+ } else if ((e.key === "Home" || e.key === "End" || e.key === "PageDown" || e.key === "PageUp") && (!i() || t)) return;
478
+ else if (e.key.length === 1 && (e.ctrlKey || e.metaKey || e.altKey || !i() || e.target?.tagName === "INPUT" || e.target?.tagName === "TEXTAREA") && (!i() || e.target?.tagName === "INPUT" || e.target?.tagName === "TEXTAREA")) return;
479
479
  this._navHandler.handler(e);
480
480
  };
481
- e.input.addEventListener("focus", () => s()), e.input.addEventListener("input", p), e.input.addEventListener("keydown", m), e.menu.addEventListener("keydown", m), e.input.addEventListener("blur", (t) => {
481
+ e.input.addEventListener("focus", () => a()), e.input.addEventListener("input", f), e.input.addEventListener("keydown", m), e.menu.addEventListener("keydown", m), e.input.addEventListener("blur", (t) => {
482
482
  if (!this._allowCustom || t.relatedTarget && this.contains(t.relatedTarget)) return;
483
483
  let n = e.input.value.trim();
484
- !n || n === this._label || this._matchesKnownOption(n) || f(n);
484
+ !n || n === this._label || this._matchesKnownOption(n) || d(n);
485
485
  }), e.optionsWrap.addEventListener("click", (e) => {
486
486
  let t = e.target.closest(".search-select-option");
487
- t && u(t);
487
+ t && l(t);
488
488
  }), e.optionsWrap.addEventListener("mousemove", (e) => {
489
489
  let t = e.target.closest(".search-select-option");
490
490
  t && r(this._optionEls().indexOf(t));
491
491
  }), e.optionsWrap.addEventListener("mouseleave", () => r(-1)), e.clear?.addEventListener("click", () => {
492
- this._value = "", this._label = "", c(this, ""), e.input.value = "", e.clear.hidden = !0, this._renderOptions(""), this.dispatchEvent(new Event("change", { bubbles: !0 })), e.input.focus();
492
+ this._value = "", this._label = "", u(this, ""), e.input.value = "", e.clear.hidden = !0, this._renderOptions(""), this.dispatchEvent(new Event("change", { bubbles: !0 })), e.input.focus();
493
493
  }), this._bindGlobal = () => {
494
494
  this._teardown(), this._onDocClick = (e) => {
495
- o() && !this.contains(e.target) && l();
496
- }, document.addEventListener("click", this._onDocClick), a(this, () => {
497
- o() && t();
495
+ i() && !this.contains(e.target) && c();
496
+ }, document.addEventListener("click", this._onDocClick), s(this, () => {
497
+ i() && t();
498
498
  });
499
499
  }, this._bindGlobal();
500
500
  }
@@ -508,12 +508,12 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
508
508
  }));
509
509
  }
510
510
  _teardown() {
511
- this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), o(this), clearTimeout(this._timer), this._navHandler?.teardown();
511
+ this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), c(this), clearTimeout(this._timer), this._navHandler?.teardown();
512
512
  }
513
513
  disconnectedCallback() {
514
514
  this._teardown();
515
515
  }
516
- }, _ = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;"), v = (e) => String(e ?? "").replace(/<[^>]*>/g, ""), y = [
516
+ }, y = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;"), b = (e) => String(e ?? "").replace(/<[^>]*>/g, ""), x = [
517
517
  "January",
518
518
  "February",
519
519
  "March",
@@ -526,7 +526,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
526
526
  "October",
527
527
  "November",
528
528
  "December"
529
- ], b = [
529
+ ], S = [
530
530
  "Su",
531
531
  "Mo",
532
532
  "Tu",
@@ -534,24 +534,24 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
534
534
  "Th",
535
535
  "Fr",
536
536
  "Sa"
537
- ], x = (e) => String(e).padStart(2, "0"), S = (e, t, n) => `${e}-${x(t + 1)}-${x(n)}`, C = (e) => {
537
+ ], C = (e) => String(e).padStart(2, "0"), w = (e, t, n) => `${e}-${C(t + 1)}-${C(n)}`, T = (e) => {
538
538
  let t = /^(\d{4})-(\d{2})-(\d{2})$/.exec(e || "");
539
539
  return t ? {
540
540
  y: +t[1],
541
541
  m: t[2] - 1,
542
542
  d: +t[3]
543
543
  } : null;
544
- }, w = (e) => {
545
- let t = C(e);
546
- return t ? `${x(t.d)} ${y[t.m].slice(0, 3)} ${t.y}` : "";
547
- }, T = (e, t) => new Date(e, t + 1, 0).getDate(), E = (e, t) => {
544
+ }, E = (e) => {
545
+ let t = T(e);
546
+ return t ? `${C(t.d)} ${x[t.m].slice(0, 3)} ${t.y}` : "";
547
+ }, D = (e, t) => new Date(e, t + 1, 0).getDate(), O = (e, t) => {
548
548
  for (; t < 0;) t += 12, --e;
549
549
  for (; t > 11;) t -= 12, e += 1;
550
550
  return {
551
551
  y: e,
552
552
  m: t
553
553
  };
554
- }, D = class extends HTMLElement {
554
+ }, ee = class extends HTMLElement {
555
555
  static formAssociated = !0;
556
556
  static get observedAttributes() {
557
557
  return [
@@ -594,7 +594,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
594
594
  return this._value;
595
595
  }
596
596
  set value(e) {
597
- this._value = e || "", c(this, this._value), this._syncTrigger();
597
+ this._value = e || "", u(this, this._value), this._syncTrigger();
598
598
  }
599
599
  _firstDay() {
600
600
  let e = Number.parseInt(this.getAttribute("first-day") ?? "", 10);
@@ -602,29 +602,29 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
602
602
  }
603
603
  render() {
604
604
  this._defaultValue === void 0 && (this._defaultValue = this.getAttribute("value") || "", this._value = this._defaultValue || this._value);
605
- let e = this.getAttribute("placeholder") || "Enter Date", t = C(this._value);
605
+ let e = this.getAttribute("placeholder") || "Enter Date", t = T(this._value);
606
606
  t && (this._viewY = t.y, this._viewM = t.m);
607
607
  let n = this.getAttribute("size"), r = n === "sm" ? " input-sm" : n === "lg" ? " input-lg" : "", i = this.getAttribute("aria-label"), a = this.getAttribute("aria-describedby");
608
608
  this.innerHTML = `
609
609
  <div class="datepicker">
610
- <button type="button" class="input datepicker-trigger${r}${t ? " has-value" : ""}" aria-haspopup="dialog" aria-expanded="false"${this.hasAttribute("disabled") ? " disabled" : ""}${i ? ` aria-label="${p(i)}"` : ""}${a ? ` aria-describedby="${p(a)}"` : ""}>
611
- <span data-trigger-label class="${t ? "" : "search-select-placeholder"}">${t ? w(this._value) : p(e)}</span>
612
- ${u("calendar-dots")}
610
+ <button type="button" class="input datepicker-trigger${r}${t ? " has-value" : ""}" aria-haspopup="dialog" aria-expanded="false"${this.hasAttribute("disabled") ? " disabled" : ""}${i ? ` aria-label="${h(i)}"` : ""}${a ? ` aria-describedby="${h(a)}"` : ""}>
611
+ <span data-trigger-label class="${t ? "" : "search-select-placeholder"}">${t ? E(this._value) : h(e)}</span>
612
+ ${f("calendar-dots")}
613
613
  </button>
614
614
  <div class="datepicker-pop" role="dialog" aria-modal="false" hidden></div>
615
- </div>`, this._rendered = !0, c(this, this._value), this._wire();
615
+ </div>`, this._rendered = !0, u(this, this._value), this._wire();
616
616
  }
617
617
  _syncFormValue() {
618
- c(this, this._value);
618
+ u(this, this._value);
619
619
  }
620
620
  _syncTrigger() {
621
621
  let e = this.querySelector(".datepicker-trigger"), t = this.querySelector("[data-trigger-label]");
622
622
  if (!t) return;
623
- let n = C(this._value);
624
- t.textContent = n ? w(this._value) : this.getAttribute("placeholder") || "Enter Date", t.classList.toggle("search-select-placeholder", !n), e?.classList.toggle("has-value", !!n);
623
+ let n = T(this._value);
624
+ t.textContent = n ? E(this._value) : this.getAttribute("placeholder") || "Enter Date", t.classList.toggle("search-select-placeholder", !n), e?.classList.toggle("has-value", !!n);
625
625
  }
626
626
  _limits() {
627
- let e = C(this.getAttribute("min")), t = C(this.getAttribute("max")), n = e ? new Date(e.y, e.m, e.d).getTime() : -Infinity, r = t ? new Date(t.y, t.m, t.d).getTime() : Infinity;
627
+ let e = T(this.getAttribute("min")), t = T(this.getAttribute("max")), n = e ? new Date(e.y, e.m, e.d).getTime() : -Infinity, r = t ? new Date(t.y, t.m, t.d).getTime() : Infinity;
628
628
  return {
629
629
  dayDisabled: (e, t, i) => {
630
630
  let a = new Date(e, t, i).getTime();
@@ -632,7 +632,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
632
632
  },
633
633
  monthDisabled: (e, t) => {
634
634
  let i = new Date(e, t, 1).getTime();
635
- return new Date(e, t, T(e, t)).getTime() < n || i > r;
635
+ return new Date(e, t, D(e, t)).getTime() < n || i > r;
636
636
  },
637
637
  yearDisabled: (e) => {
638
638
  let t = new Date(e, 0, 1).getTime();
@@ -645,29 +645,29 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
645
645
  e && (this._mode === "months" ? e.innerHTML = this._monthsHtml() : this._mode === "years" ? e.innerHTML = this._yearsHtml() : e.innerHTML = this._daysHtml(), this._focusActive());
646
646
  }
647
647
  _daysHtml() {
648
- let e = this._firstDay(), t = (new Date(this._viewY, this._viewM, 1).getDay() - e + 7) % 7, n = T(this._viewY, this._viewM), r = C(this._value), i = /* @__PURE__ */ new Date(), { dayDisabled: a } = this._limits(), o = this._focus || r || {
648
+ let e = this._firstDay(), t = (new Date(this._viewY, this._viewM, 1).getDay() - e + 7) % 7, n = D(this._viewY, this._viewM), r = T(this._value), i = /* @__PURE__ */ new Date(), { dayDisabled: a } = this._limits(), o = this._focus || r || {
649
649
  y: this._viewY,
650
650
  m: this._viewM,
651
651
  d: 1
652
652
  }, s = (e, t, n, s) => {
653
- let c = S(e, t, n), l = r && r.y === e && r.m === t && r.d === n, u = i.getFullYear() === e && i.getMonth() === t && i.getDate() === n, d = o.y === e && o.m === t && o.d === n, f = a(e, t, n);
653
+ let c = w(e, t, n), l = r && r.y === e && r.m === t && r.d === n, u = i.getFullYear() === e && i.getMonth() === t && i.getDate() === n, d = o.y === e && o.m === t && o.d === n, f = a(e, t, n);
654
654
  return `<button type="button" class="${[
655
655
  "datepicker-day",
656
656
  s ? "is-outside" : "",
657
657
  u ? "is-today" : "",
658
658
  l ? "is-selected" : ""
659
659
  ].filter(Boolean).join(" ")}" data-iso="${c}" role="gridcell" tabindex="${d && !f ? "0" : "-1"}"${l ? " aria-selected=\"true\"" : ""}${f ? " disabled aria-disabled=\"true\"" : ""}>${n}</button>`;
660
- }, c = "", l = E(this._viewY, this._viewM - 1), d = T(l.y, l.m);
661
- for (let e = t - 1; e >= 0; e--) c += s(l.y, l.m, d - e, !0);
660
+ }, c = "", l = O(this._viewY, this._viewM - 1), u = D(l.y, l.m);
661
+ for (let e = t - 1; e >= 0; e--) c += s(l.y, l.m, u - e, !0);
662
662
  for (let e = 1; e <= n; e++) c += s(this._viewY, this._viewM, e, !1);
663
- let f = E(this._viewY, this._viewM + 1), p = (7 - (t + n) % 7) % 7;
664
- for (let e = 1; e <= p; e++) c += s(f.y, f.m, e, !0);
665
- let m = b.map((t, n) => b[(n + e) % 7]).map((e) => `<span>${e}</span>`).join("");
663
+ let d = O(this._viewY, this._viewM + 1), p = (7 - (t + n) % 7) % 7;
664
+ for (let e = 1; e <= p; e++) c += s(d.y, d.m, e, !0);
665
+ let m = S.map((t, n) => S[(n + e) % 7]).map((e) => `<span>${e}</span>`).join("");
666
666
  return `
667
667
  <div class="datepicker-head">
668
- <button type="button" class="datepicker-nav-btn" data-nav="-1" aria-label="Previous month">${u("chevron-left")}</button>
669
- <button type="button" class="datepicker-month" data-view="months" aria-label="Choose month and year">${y[this._viewM]} ${this._viewY}</button>
670
- <button type="button" class="datepicker-nav-btn" data-nav="1" aria-label="Next month">${u("chevron-right")}</button>
668
+ <button type="button" class="datepicker-nav-btn" data-nav="-1" aria-label="Previous month">${f("chevron-left")}</button>
669
+ <button type="button" class="datepicker-month" data-view="months" aria-label="Choose month and year">${x[this._viewM]} ${this._viewY}</button>
670
+ <button type="button" class="datepicker-nav-btn" data-nav="1" aria-label="Next month">${f("chevron-right")}</button>
671
671
  </div>
672
672
  <div class="datepicker-weekdays">${m}</div>
673
673
  <div class="datepicker-grid${this._slide ? ` ${this._slide}` : ""}" role="grid">${c}</div>
@@ -677,25 +677,25 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
677
677
  </div>`;
678
678
  }
679
679
  _monthsHtml() {
680
- let e = C(this._value), t = /* @__PURE__ */ new Date(), { monthDisabled: n } = this._limits(), r = "";
680
+ let e = T(this._value), t = /* @__PURE__ */ new Date(), { monthDisabled: n } = this._limits(), r = "";
681
681
  for (let i = 0; i < 12; i++) {
682
682
  let a = e && e.y === this._viewY && e.m === i, o = t.getFullYear() === this._viewY && t.getMonth() === i, s = n(this._viewY, i), c = [
683
683
  "datepicker-cell",
684
684
  o ? "is-today" : "",
685
685
  a ? "is-selected" : ""
686
686
  ].filter(Boolean).join(" ");
687
- r += `<button type="button" class="${c}" data-month="${i}"${s ? " disabled" : ""}>${y[i].slice(0, 3)}</button>`;
687
+ r += `<button type="button" class="${c}" data-month="${i}"${s ? " disabled" : ""}>${x[i].slice(0, 3)}</button>`;
688
688
  }
689
689
  return `
690
690
  <div class="datepicker-head">
691
- <button type="button" class="datepicker-nav-btn" data-nav-year="-1" aria-label="Previous year">${u("chevron-left")}</button>
691
+ <button type="button" class="datepicker-nav-btn" data-nav-year="-1" aria-label="Previous year">${f("chevron-left")}</button>
692
692
  <button type="button" class="datepicker-month" data-view="years" aria-label="Choose year">${this._viewY}</button>
693
- <button type="button" class="datepicker-nav-btn" data-nav-year="1" aria-label="Next year">${u("chevron-right")}</button>
693
+ <button type="button" class="datepicker-nav-btn" data-nav-year="1" aria-label="Next year">${f("chevron-right")}</button>
694
694
  </div>
695
695
  <div class="datepicker-cells">${r}</div>`;
696
696
  }
697
697
  _yearsHtml() {
698
- let e = C(this._value), t = (/* @__PURE__ */ new Date()).getFullYear(), { yearDisabled: n } = this._limits(), r = this._viewY - (this._viewY % 10 + 10) % 10 - 1, i = "";
698
+ let e = T(this._value), t = (/* @__PURE__ */ new Date()).getFullYear(), { yearDisabled: n } = this._limits(), r = this._viewY - (this._viewY % 10 + 10) % 10 - 1, i = "";
699
699
  for (let a = 0; a < 12; a++) {
700
700
  let o = r + a, s = e && e.y === o, c = t === o, l = n(o), u = [
701
701
  "datepicker-cell",
@@ -706,9 +706,9 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
706
706
  }
707
707
  return `
708
708
  <div class="datepicker-head">
709
- <button type="button" class="datepicker-nav-btn" data-nav-decade="-1" aria-label="Previous decade">${u("chevron-left")}</button>
709
+ <button type="button" class="datepicker-nav-btn" data-nav-decade="-1" aria-label="Previous decade">${f("chevron-left")}</button>
710
710
  <span class="datepicker-month">${r + 1} – ${r + 10}</span>
711
- <button type="button" class="datepicker-nav-btn" data-nav-decade="1" aria-label="Next decade">${u("chevron-right")}</button>
711
+ <button type="button" class="datepicker-nav-btn" data-nav-decade="1" aria-label="Next decade">${f("chevron-right")}</button>
712
712
  </div>
713
713
  <div class="datepicker-cells">${i}</div>`;
714
714
  }
@@ -717,24 +717,24 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
717
717
  t && e.contains(document.activeElement) && t.focus();
718
718
  }
719
719
  _position(e, t) {
720
- i(e, t);
720
+ o(e, t);
721
721
  }
722
722
  _setFocus(e, t, n, r) {
723
- let { y: i, m: a } = E(e, t);
723
+ let { y: i, m: a } = O(e, t);
724
724
  this._focus = {
725
725
  y: i,
726
726
  m: a,
727
727
  d: n
728
728
  };
729
729
  let o = i !== this._viewY || a !== this._viewM;
730
- this._viewY = i, this._viewM = a, this._slide = o && r || "", this._renderView(), this._slide = "", this.querySelector(`.datepicker-day[data-iso="${S(i, a, n)}"]`)?.focus();
730
+ this._viewY = i, this._viewM = a, this._slide = o && r || "", this._renderView(), this._slide = "", this.querySelector(`.datepicker-day[data-iso="${w(i, a, n)}"]`)?.focus();
731
731
  }
732
732
  _onKey(e) {
733
733
  if (this._mode !== "days") {
734
734
  e.key === "Escape" && this._close();
735
735
  return;
736
736
  }
737
- let t = this._focus || C(this._value) || {
737
+ let t = this._focus || T(this._value) || {
738
738
  y: this._viewY,
739
739
  m: this._viewM,
740
740
  d: 1
@@ -752,17 +752,17 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
752
752
  case "End": return n(6 - (new Date(t.y, t.m, t.d).getDay() - this._firstDay() + 7) % 7, "slide-next");
753
753
  case "PageUp": {
754
754
  e.preventDefault();
755
- let n = E(t.y, t.m - (e.shiftKey ? 12 : 1));
756
- return this._setFocus(n.y, n.m, Math.min(t.d, T(n.y, n.m)), "slide-prev");
755
+ let n = O(t.y, t.m - (e.shiftKey ? 12 : 1));
756
+ return this._setFocus(n.y, n.m, Math.min(t.d, D(n.y, n.m)), "slide-prev");
757
757
  }
758
758
  case "PageDown": {
759
759
  e.preventDefault();
760
- let n = E(t.y, t.m + (e.shiftKey ? 12 : 1));
761
- return this._setFocus(n.y, n.m, Math.min(t.d, T(n.y, n.m)), "slide-next");
760
+ let n = O(t.y, t.m + (e.shiftKey ? 12 : 1));
761
+ return this._setFocus(n.y, n.m, Math.min(t.d, D(n.y, n.m)), "slide-next");
762
762
  }
763
763
  case "Enter":
764
764
  case " ":
765
- e.preventDefault(), this._limits().dayDisabled(t.y, t.m, t.d) || (this.value = S(t.y, t.m, t.d), this.dispatchEvent(new Event("change", { bubbles: !0 })), this._close());
765
+ e.preventDefault(), this._limits().dayDisabled(t.y, t.m, t.d) || (this.value = w(t.y, t.m, t.d), this.dispatchEvent(new Event("change", { bubbles: !0 })), this._close());
766
766
  return;
767
767
  case "Escape": return this._close();
768
768
  default:
@@ -774,7 +774,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
774
774
  if (!e || !t) return;
775
775
  let r = () => !t.hidden;
776
776
  this._open = () => {
777
- let r = /* @__PURE__ */ new Date(), i = C(this._value);
777
+ let r = /* @__PURE__ */ new Date(), i = T(this._value);
778
778
  (i || !this._viewNavigated) && (this._viewY = r.getFullYear(), this._viewM = r.getMonth()), this._mode = "days";
779
779
  let a = r.getFullYear() === this._viewY && r.getMonth() === this._viewM, o = i && i.y === this._viewY && i.m === this._viewM;
780
780
  this._focus = o ? i : {
@@ -789,7 +789,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
789
789
  let t = e.target.closest("[data-nav]");
790
790
  if (t) {
791
791
  this._viewNavigated = !0, this._slide = Number(t.dataset.nav) < 0 ? "slide-prev" : "slide-next";
792
- let e = E(this._viewY, this._viewM + Number(t.dataset.nav));
792
+ let e = O(this._viewY, this._viewM + Number(t.dataset.nav));
793
793
  this._viewY = e.y, this._viewM = e.m, this._focus = {
794
794
  y: e.y,
795
795
  m: e.m,
@@ -828,7 +828,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
828
828
  }
829
829
  if (e.target.closest("[data-today]")) {
830
830
  let e = /* @__PURE__ */ new Date();
831
- this.value = S(e.getFullYear(), e.getMonth(), e.getDate()), this.dispatchEvent(new Event("change", { bubbles: !0 })), this._close();
831
+ this.value = w(e.getFullYear(), e.getMonth(), e.getDate()), this.dispatchEvent(new Event("change", { bubbles: !0 })), this._close();
832
832
  return;
833
833
  }
834
834
  if (e.target.closest("[data-clear]")) {
@@ -845,18 +845,18 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
845
845
  this._popClick = !1, r() && !t && !this.contains(e.target) && this._close();
846
846
  }, document.addEventListener("click", this._onDocClick), this._onDocKey = (e) => {
847
847
  r() && e.key === "Escape" && this._close();
848
- }, document.addEventListener("keydown", this._onDocKey), a(this, () => {
848
+ }, document.addEventListener("keydown", this._onDocKey), s(this, () => {
849
849
  r() && this._position(e, t);
850
850
  });
851
851
  }, this._bindGlobal(), this._syncFormValue();
852
852
  }
853
853
  _teardown() {
854
- this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null), o(this);
854
+ this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null), c(this);
855
855
  }
856
856
  disconnectedCallback() {
857
857
  this._teardown();
858
858
  }
859
- }, O = class extends HTMLElement {
859
+ }, te = class extends HTMLElement {
860
860
  static formAssociated = !0;
861
861
  static get observedAttributes() {
862
862
  return [
@@ -915,20 +915,20 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
915
915
  text: e,
916
916
  empty: !0
917
917
  } : {
918
- text: `${w(this._start) || "Start"} – ${w(this._end) || "End"}`,
918
+ text: `${E(this._start) || "Start"} – ${E(this._end) || "End"}`,
919
919
  empty: !1
920
920
  };
921
921
  }
922
922
  render() {
923
923
  this._defaultStart === void 0 && (this._defaultStart = this.getAttribute("start") || "", this._defaultEnd = this.getAttribute("end") || "", this._start = this._defaultStart || this._start, this._end = this._defaultEnd || this._end);
924
- let e = C(this._start);
924
+ let e = T(this._start);
925
925
  e && (this._viewY = e.y, this._viewM = e.m);
926
926
  let t = this.getAttribute("size"), n = t === "sm" ? " input-sm" : t === "lg" ? " input-lg" : "", { text: r, empty: i } = this._label(), a = this.getAttribute("aria-label"), o = this.getAttribute("aria-describedby");
927
927
  this.innerHTML = `
928
928
  <div class="daterange">
929
- <button type="button" class="input daterange-trigger${n}${i ? "" : " has-value"}" aria-haspopup="dialog" aria-expanded="false"${this.hasAttribute("disabled") ? " disabled" : ""}${a ? ` aria-label="${p(a)}"` : ""}${o ? ` aria-describedby="${p(o)}"` : ""}>
930
- <span data-range-label class="${i ? "search-select-placeholder" : ""}">${p(r)}</span>
931
- ${u("calendar")}
929
+ <button type="button" class="input daterange-trigger${n}${i ? "" : " has-value"}" aria-haspopup="dialog" aria-expanded="false"${this.hasAttribute("disabled") ? " disabled" : ""}${a ? ` aria-label="${h(a)}"` : ""}${o ? ` aria-describedby="${h(o)}"` : ""}>
930
+ <span data-range-label class="${i ? "search-select-placeholder" : ""}">${h(r)}</span>
931
+ ${f("calendar")}
932
932
  </button>
933
933
  <div class="daterange-pop" role="dialog" aria-modal="false" hidden></div>
934
934
  </div>`, this._rendered = !0, this._syncMirrors(), this._wire();
@@ -955,24 +955,24 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
955
955
  r || (r = document.createElement("input"), r.type = "hidden", r.setAttribute("data-range-mirror", e), this.appendChild(r)), r.name = t, r.value = n || "", r.disabled = this.hasAttribute("disabled");
956
956
  }
957
957
  _limits() {
958
- let e = C(this.getAttribute("min")), t = C(this.getAttribute("max")), n = e ? new Date(e.y, e.m, e.d).getTime() : -Infinity, r = t ? new Date(t.y, t.m, t.d).getTime() : Infinity;
958
+ let e = T(this.getAttribute("min")), t = T(this.getAttribute("max")), n = e ? new Date(e.y, e.m, e.d).getTime() : -Infinity, r = t ? new Date(t.y, t.m, t.d).getTime() : Infinity;
959
959
  return (e, t, i) => {
960
960
  let a = new Date(e, t, i).getTime();
961
961
  return a < n || a > r;
962
962
  };
963
963
  }
964
964
  _monthHtml(e, t) {
965
- let n = this._firstDay(), r = (new Date(e, t, 1).getDay() - n + 7) % 7, i = T(e, t), a = this._limits(), o = b.map((e, t) => b[(t + n) % 7]).map((e) => `<span>${e}</span>`).join(""), s = (e, t, n, r) => {
966
- let i = S(e, t, n), o = a(e, t, n);
965
+ let n = this._firstDay(), r = (new Date(e, t, 1).getDay() - n + 7) % 7, i = D(e, t), a = this._limits(), o = S.map((e, t) => S[(t + n) % 7]).map((e) => `<span>${e}</span>`).join(""), s = (e, t, n, r) => {
966
+ let i = w(e, t, n), o = a(e, t, n);
967
967
  return `<button type="button" class="${["datepicker-day", r ? "is-outside" : ""].filter(Boolean).join(" ")}" data-iso="${i}"${o ? " disabled" : ""}>${n}</button>`;
968
- }, c = "", l = E(e, t - 1), u = T(l.y, l.m);
968
+ }, c = "", l = O(e, t - 1), u = D(l.y, l.m);
969
969
  for (let e = r - 1; e >= 0; e--) c += s(l.y, l.m, u - e, !0);
970
970
  for (let n = 1; n <= i; n++) c += s(e, t, n, !1);
971
- let d = E(e, t + 1), f = (7 - (r + i) % 7) % 7;
971
+ let d = O(e, t + 1), f = (7 - (r + i) % 7) % 7;
972
972
  for (let e = 1; e <= f; e++) c += s(d.y, d.m, e, !0);
973
973
  return `
974
974
  <div class="daterange-cal">
975
- <div class="datepicker-month-label">${y[t]} ${e}</div>
975
+ <div class="datepicker-month-label">${x[t]} ${e}</div>
976
976
  <div class="datepicker-weekdays">${o}</div>
977
977
  <div class="datepicker-grid" role="grid">${c}</div>
978
978
  </div>`;
@@ -980,11 +980,11 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
980
980
  _renderView() {
981
981
  let e = this.querySelector(".daterange-pop");
982
982
  if (!e) return;
983
- let t = E(this._viewY, this._viewM + 1);
983
+ let t = O(this._viewY, this._viewM + 1);
984
984
  e.innerHTML = `
985
985
  <div class="daterange-head">
986
- <button type="button" class="datepicker-nav-btn" data-nav="-1" aria-label="Previous month">${u("chevron-left")}</button>
987
- <button type="button" class="datepicker-nav-btn" data-nav="1" aria-label="Next month">${u("chevron-right")}</button>
986
+ <button type="button" class="datepicker-nav-btn" data-nav="-1" aria-label="Previous month">${f("chevron-left")}</button>
987
+ <button type="button" class="datepicker-nav-btn" data-nav="1" aria-label="Next month">${f("chevron-right")}</button>
988
988
  </div>
989
989
  <div class="daterange-cals">
990
990
  ${this._monthHtml(this._viewY, this._viewM)}
@@ -1006,10 +1006,10 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1006
1006
  n.classList.toggle("is-range-start", i), n.classList.toggle("is-range-end", a), n.classList.toggle("in-range", o);
1007
1007
  }
1008
1008
  let i = e.querySelector("[data-range-hint]");
1009
- i && (i.textContent = this._start ? this._end ? `${w(this._start)} – ${w(this._end)}` : "Pick an end date" : "Pick a start date");
1009
+ i && (i.textContent = this._start ? this._end ? `${E(this._start)} – ${E(this._end)}` : "Pick an end date" : "Pick a start date");
1010
1010
  }
1011
1011
  _position(e, t) {
1012
- i(e, t);
1012
+ o(e, t);
1013
1013
  }
1014
1014
  _pick(e) {
1015
1015
  if (!this._start || this._start && this._end) {
@@ -1028,7 +1028,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1028
1028
  if (!e || !t) return;
1029
1029
  let r = () => !t.hidden;
1030
1030
  this._open = () => {
1031
- let r = C(this._start);
1031
+ let r = T(this._start);
1032
1032
  if (r) this._viewY = r.y, this._viewM = r.m;
1033
1033
  else {
1034
1034
  let e = /* @__PURE__ */ new Date();
@@ -1041,7 +1041,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1041
1041
  this._popClick = !0;
1042
1042
  let t = e.target.closest("[data-nav]");
1043
1043
  if (t) {
1044
- let e = E(this._viewY, this._viewM + Number(t.dataset.nav));
1044
+ let e = O(this._viewY, this._viewM + Number(t.dataset.nav));
1045
1045
  this._viewY = e.y, this._viewM = e.m, this._renderView();
1046
1046
  return;
1047
1047
  }
@@ -1060,18 +1060,18 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1060
1060
  this._popClick = !1, r() && !t && !this.contains(e.target) && this._close();
1061
1061
  }, document.addEventListener("click", this._onDocClick), this._onDocKey = (e) => {
1062
1062
  r() && e.key === "Escape" && this._close();
1063
- }, document.addEventListener("keydown", this._onDocKey), a(this, () => {
1063
+ }, document.addEventListener("keydown", this._onDocKey), s(this, () => {
1064
1064
  r() && this._position(e, t);
1065
1065
  });
1066
1066
  }, this._bindGlobal(), this._syncMirrors();
1067
1067
  }
1068
1068
  _teardown() {
1069
- this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null), o(this);
1069
+ this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null), c(this);
1070
1070
  }
1071
1071
  disconnectedCallback() {
1072
1072
  this._teardown();
1073
1073
  }
1074
- }, ee = class extends HTMLElement {
1074
+ }, ne = class extends HTMLElement {
1075
1075
  static get observedAttributes() {
1076
1076
  return [
1077
1077
  "static",
@@ -1092,10 +1092,10 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1092
1092
  e === "static" && this.isConnected && this._wire();
1093
1093
  }
1094
1094
  _maxScale() {
1095
- return te(this.getAttribute("max-scale"), 1.6);
1095
+ return re(this.getAttribute("max-scale"), 1.6);
1096
1096
  }
1097
1097
  _radius() {
1098
- return te(this.getAttribute("radius"), 100);
1098
+ return re(this.getAttribute("radius"), 100);
1099
1099
  }
1100
1100
  _magnifyEnabled() {
1101
1101
  return !(this.hasAttribute("static") || typeof matchMedia == "function" && (matchMedia("(pointer: coarse)").matches || matchMedia("(prefers-reduced-motion: reduce)").matches));
@@ -1120,10 +1120,10 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1120
1120
  _teardown() {
1121
1121
  this._pointerMoveListener &&= (this.removeEventListener("pointermove", this._pointerMoveListener), null), this._pointerLeaveListener &&= (this.removeEventListener("pointerleave", this._pointerLeaveListener), null), this._resetMagnification();
1122
1122
  }
1123
- }, te = (e, t) => {
1123
+ }, re = (e, t) => {
1124
1124
  let n = Number.parseFloat(e);
1125
1125
  return Number.isFinite(n) ? n : t;
1126
- }, k = class extends HTMLElement {
1126
+ }, ie = class extends HTMLElement {
1127
1127
  static formAssociated = !0;
1128
1128
  _accessibleName() {
1129
1129
  return this.getAttribute("aria-label") || this.getAttribute("placeholder") || "Select";
@@ -1182,7 +1182,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1182
1182
  return this._values.slice();
1183
1183
  }
1184
1184
  set values(e) {
1185
- if (this._values = Array.isArray(e) ? e.map(String) : [], c(this, this._values.join(",")), this._rendered) {
1185
+ if (this._values = Array.isArray(e) ? e.map(String) : [], u(this, this._values.join(",")), this._rendered) {
1186
1186
  this._renderControl();
1187
1187
  let e = this.querySelector(".search-select-input");
1188
1188
  this._renderOptions(e ? e.value : "");
@@ -1201,7 +1201,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1201
1201
  value: e.getAttribute("value") ?? e.textContent.trim(),
1202
1202
  label: e.innerHTML,
1203
1203
  icon: e.getAttribute("icon") || void 0,
1204
- [f]: !0,
1204
+ [m]: !0,
1205
1205
  selected: e.hasAttribute("selected")
1206
1206
  })));
1207
1207
  }
@@ -1214,36 +1214,36 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1214
1214
  }
1215
1215
  _labelHtmlFor(e) {
1216
1216
  let t = this._readOptions().find((t) => String(t.value) === String(e));
1217
- return t ? h(t) : p(e);
1217
+ return t ? _(t) : h(e);
1218
1218
  }
1219
1219
  render() {
1220
1220
  this._snapshotDeclared();
1221
1221
  let e = this.hasAttribute("searchable"), t = this.getAttribute("search-placeholder") || "Search…", n = this.getAttribute("icon"), r = this.getAttribute("size"), i = r === "sm" ? " search-select-sm" : r === "lg" ? " search-select-lg" : "";
1222
- c(this, this._values.join(",")), this.id ||= `wui-multiselect-${Math.random().toString(36).slice(2, 9)}`;
1222
+ u(this, this._values.join(",")), this.id ||= `wui-multiselect-${Math.random().toString(36).slice(2, 9)}`;
1223
1223
  let a = `${this.id}-listbox`;
1224
1224
  this._listboxId = a, this.innerHTML = `
1225
1225
  <div class="search-select${i}">
1226
- <div class="input search-select-control search-select-multi" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-controls="${A(a)}" aria-label="${A(this._accessibleName())}"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " aria-disabled=\"true\"" : " tabindex=\"0\""}>
1227
- ${n ? u(n, { className: "search-select-icon" }) : ""}
1226
+ <div class="input search-select-control search-select-multi" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-controls="${k(a)}" aria-label="${k(this._accessibleName())}"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " aria-disabled=\"true\"" : " tabindex=\"0\""}>
1227
+ ${n ? f(n, { className: "search-select-icon" }) : ""}
1228
1228
  <div class="ms-chips" data-chips></div>
1229
- ${u("chevron-down", { className: "search-select-caret" })}
1229
+ ${f("chevron-down", { className: "search-select-caret" })}
1230
1230
  </div>
1231
- <div class="search-select-menu search-select-menu-fixed" role="listbox" id="${A(a)}" aria-multiselectable="true" tabindex="-1" hidden>
1232
- ${e ? `<div class="search-select-search">${u("search")}<input class="search-select-input" placeholder="${A(t)}" aria-autocomplete="list" /><button type="button" class="search-select-clear" aria-label="Clear search" hidden>${u("x")}</button></div>` : ""}
1231
+ <div class="search-select-menu search-select-menu-fixed" role="listbox" id="${k(a)}" aria-multiselectable="true" tabindex="-1" hidden>
1232
+ ${e ? `<div class="search-select-search">${f("search")}<input class="search-select-input" placeholder="${k(t)}" aria-autocomplete="list" /><button type="button" class="search-select-clear" aria-label="Clear search" hidden>${f("x")}</button></div>` : ""}
1233
1233
  <div class="search-select-options"></div>
1234
1234
  <div class="search-select-empty" hidden>No matches</div>
1235
1235
  </div>
1236
- </div>`, this._rendered = !0, c(this, this._values.join(",")), this._renderControl(), this._renderOptions(), this._wire();
1236
+ </div>`, this._rendered = !0, u(this, this._values.join(",")), this._renderControl(), this._renderOptions(), this._wire();
1237
1237
  }
1238
1238
  _renderControl() {
1239
1239
  let e = this.querySelector("[data-chips]");
1240
1240
  if (!e) return;
1241
1241
  let t = this.getAttribute("placeholder") || "Select…";
1242
1242
  if (!this._values.length) {
1243
- e.innerHTML = `<span class="search-select-placeholder">${p(t)}</span>`;
1243
+ e.innerHTML = `<span class="search-select-placeholder">${h(t)}</span>`;
1244
1244
  return;
1245
1245
  }
1246
- e.innerHTML = this._values.map((e) => `<span class="chip chip-sm"><span class="chip-label">${this._labelHtmlFor(e)}</span><button type="button" class="chip-remove" data-remove="${A(e)}" aria-label="Remove ${A(j(this._labelFor(e)))}">${u("x")}</button></span>`).join(""), this._collapseChips();
1246
+ e.innerHTML = this._values.map((e) => `<span class="chip chip-sm"><span class="chip-label">${this._labelHtmlFor(e)}</span><button type="button" class="chip-remove" data-remove="${k(e)}" aria-label="Remove ${k(A(this._labelFor(e)))}">${f("x")}</button></span>`).join(""), this._collapseChips();
1247
1247
  }
1248
1248
  _collapseChips() {
1249
1249
  let e = this.querySelector("[data-chips]");
@@ -1267,28 +1267,28 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1267
1267
  let t = this.querySelector(".search-select-options"), n = this.querySelector(".search-select-empty");
1268
1268
  if (!t) return;
1269
1269
  let r = (e || "").trim().toLowerCase(), i = this._readOptions();
1270
- r && (i = i.filter((e) => j(e.label).toLowerCase().includes(r)));
1270
+ r && (i = i.filter((e) => A(e.label).toLowerCase().includes(r)));
1271
1271
  let a = this._listboxId || `${this.id || "wui-multiselect"}-listbox`;
1272
1272
  t.innerHTML = i.map((e, t) => {
1273
1273
  let n = this._values.includes(String(e.value));
1274
- return `<button type="button" role="option" id="${A(`${a}-opt-${t}`)}" class="search-select-option${n ? " selected" : ""}" data-value="${A(e.value)}" aria-selected="${n}"><span class="ms-opt-label">${h(e)}</span><span class="ms-check">${u("check")}</span></button>`;
1275
- }).join(""), n && (n.hidden = i.length > 0), this._active = -1, this.querySelector(".search-select-control")?.removeAttribute("aria-activedescendant");
1274
+ return `<button type="button" role="option" id="${k(`${a}-opt-${t}`)}" class="search-select-option${n ? " selected" : ""}" data-value="${k(e.value)}" aria-selected="${n}"><span class="ms-opt-label">${_(e)}</span><span class="ms-check">${f("check")}</span></button>`;
1275
+ }).join(""), n && (n.hidden = i.length > 0), this._active = -1, this.querySelector(".search-select-control")?.removeAttribute("aria-activedescendant"), this._reanchor?.();
1276
1276
  }
1277
1277
  _wire() {
1278
1278
  this._teardown();
1279
- let e = this.querySelector(".search-select-control"), t = this.querySelector(".search-select-menu"), n = this.querySelector(".search-select-input"), r = this.querySelector(".search-select-clear"), o = this.querySelector(".search-select-options");
1279
+ let e = this.querySelector(".search-select-control"), t = this.querySelector(".search-select-menu"), n = this.querySelector(".search-select-input"), r = this.querySelector(".search-select-clear"), i = this.querySelector(".search-select-options");
1280
1280
  if (!e || !t) return;
1281
- let s = () => this.hasAttribute("disabled"), l = () => i(e, t, { matchWidth: !0 }), u = () => [...this.querySelectorAll(".search-select-option")], f = () => u().filter((e) => !e.hidden), p = (t) => {
1282
- let n = f();
1281
+ let a = () => this.hasAttribute("disabled"), c = () => o(e, t, { matchWidth: !0 }), l = () => [...this.querySelectorAll(".search-select-option")], d = () => l().filter((e) => !e.hidden), f = (t) => {
1282
+ let n = d();
1283
1283
  this._active = t;
1284
- for (let e of u()) e.classList.remove("is-active");
1284
+ for (let e of l()) e.classList.remove("is-active");
1285
1285
  t >= 0 && n[t] ? (n[t].classList.add("is-active"), n[t].scrollIntoView({ block: "nearest" }), e.setAttribute("aria-activedescendant", n[t].id)) : e.removeAttribute("aria-activedescendant");
1286
1286
  }, m = () => !t.hidden, h = () => {
1287
- s() || (t.hidden = !1, e.setAttribute("aria-expanded", "true"), e.classList.add("open"), l(), n && (n.value = "", this._renderOptions(""), n.focus()));
1287
+ a() || (t.hidden = !1, e.setAttribute("aria-expanded", "true"), e.classList.add("open"), c(), n && (n.value = "", this._renderOptions(""), n.focus()));
1288
1288
  }, g = () => {
1289
- t.hidden = !0, e.setAttribute("aria-expanded", "false"), e.classList.remove("open"), p(-1), clearTimeout(this._typeaheadTimer), this._typeaheadTimer = null, this._typeahead = "";
1289
+ t.hidden = !0, e.setAttribute("aria-expanded", "false"), e.classList.remove("open"), f(-1), clearTimeout(this._typeaheadTimer), this._typeaheadTimer = null, this._typeahead = "";
1290
1290
  }, _ = () => {
1291
- c(this, this._values.join(",")), this.dispatchEvent(new Event("change", { bubbles: !0 }));
1291
+ u(this, this._values.join(",")), this.dispatchEvent(new Event("change", { bubbles: !0 }));
1292
1292
  }, v = (e) => {
1293
1293
  let t = String(e);
1294
1294
  this._values.includes(t) ? this._values = this._values.filter((e) => e !== t) : this._values = [...this._values, t], this._renderControl(), this._renderOptions(n ? n.value : ""), _();
@@ -1296,25 +1296,25 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1296
1296
  this._values = this._values.filter((t) => t !== String(e)), this._renderControl(), this._renderOptions(n ? n.value : ""), _();
1297
1297
  };
1298
1298
  e.addEventListener("click", (e) => {
1299
- if (s()) return;
1299
+ if (a()) return;
1300
1300
  let t = e.target.closest("[data-remove]");
1301
1301
  if (t) {
1302
1302
  e.stopPropagation(), y(t.dataset.remove);
1303
1303
  return;
1304
1304
  }
1305
1305
  m() ? g() : h();
1306
- }), o.addEventListener("click", (e) => {
1306
+ }), i.addEventListener("click", (e) => {
1307
1307
  let t = e.target.closest(".search-select-option");
1308
1308
  t && (v(t.dataset.value), n?.focus());
1309
- }), o.addEventListener("mousemove", (e) => {
1309
+ }), i.addEventListener("mousemove", (e) => {
1310
1310
  let t = e.target.closest(".search-select-option");
1311
- t && p(f().indexOf(t));
1312
- }), o.addEventListener("mouseleave", () => p(-1)), n?.addEventListener("input", () => {
1313
- this._renderOptions(n.value), r && (r.hidden = !n.value), p(-1);
1314
- }), this._navHandler = d({
1315
- getVisibleOptions: f,
1311
+ t && f(d().indexOf(t));
1312
+ }), i.addEventListener("mouseleave", () => f(-1)), n?.addEventListener("input", () => {
1313
+ this._renderOptions(n.value), r && (r.hidden = !n.value), f(-1);
1314
+ }), this._navHandler = p({
1315
+ getVisibleOptions: d,
1316
1316
  getActive: () => this._active,
1317
- setActive: (e) => p(e),
1317
+ setActive: (e) => f(e),
1318
1318
  onEnter: (e) => {
1319
1319
  e && v(e.dataset.value);
1320
1320
  },
@@ -1340,18 +1340,18 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1340
1340
  }), this._bindGlobal = () => {
1341
1341
  this._teardown(), !this._ro && typeof ResizeObserver < "u" && (this._ro = new ResizeObserver(() => this._collapseChips()), this._ro.observe(this)), this._onDocClick = (e) => {
1342
1342
  m() && !this.contains(e.target) && g();
1343
- }, document.addEventListener("click", this._onDocClick), a(this, () => {
1344
- m() && l();
1343
+ }, document.addEventListener("click", this._onDocClick), s(this, () => {
1344
+ m() && c();
1345
1345
  });
1346
1346
  }, this._bindGlobal();
1347
1347
  }
1348
1348
  _teardown() {
1349
- this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), o(this), this._navHandler?.teardown();
1349
+ this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), c(this), this._navHandler?.teardown();
1350
1350
  }
1351
1351
  disconnectedCallback() {
1352
1352
  this._teardown(), this._ro?.disconnect(), this._ro = null;
1353
1353
  }
1354
- }, A = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;"), j = (e) => String(e ?? "").replace(/<[^>]*>/g, ""), ne = /[^0-9]/g, re = /[^0-9a-zA-Z]/g, ie = class extends HTMLElement {
1354
+ }, k = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;"), A = (e) => String(e ?? "").replace(/<[^>]*>/g, ""), ae = /[^0-9]/g, oe = /[^0-9a-zA-Z]/g, j = class extends HTMLElement {
1355
1355
  static formAssociated = !0;
1356
1356
  static get observedAttributes() {
1357
1357
  return [
@@ -1379,10 +1379,10 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1379
1379
  return this._value ?? "";
1380
1380
  }
1381
1381
  set value(e) {
1382
- this._value = this._clean(e), c(this, this._value), this._paint();
1382
+ this._value = this._clean(e), u(this, this._value), this._paint();
1383
1383
  }
1384
1384
  _clean(e) {
1385
- return (e == null ? "" : String(e)).replace(this.mode === "alphanumeric" ? re : ne, "").slice(0, this.length);
1385
+ return (e == null ? "" : String(e)).replace(this.mode === "alphanumeric" ? oe : ae, "").slice(0, this.length);
1386
1386
  }
1387
1387
  constructor() {
1388
1388
  super();
@@ -1396,10 +1396,10 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1396
1396
  this._rendered ? this._onSelectionChange && document.addEventListener("selectionchange", this._onSelectionChange) : (this._defaultCaptured ||= (this._defaultValue = this._value, !0), this.render());
1397
1397
  }
1398
1398
  formResetCallback() {
1399
- this._value = this._defaultValue || "", c(this, this._value), this._paint();
1399
+ this._value = this._defaultValue || "", u(this, this._value), this._paint();
1400
1400
  }
1401
1401
  attributeChangedCallback(e, t, n) {
1402
- this._rendered && (e === "value" ? (this._value = this._clean(n), c(this, this._value), this._paint()) : this.render());
1402
+ this._rendered && (e === "value" ? (this._value = this._clean(n), u(this, this._value), this._paint()) : this.render());
1403
1403
  }
1404
1404
  render() {
1405
1405
  this._value = this._clean(this.getAttribute("value") ?? this._value);
@@ -1417,7 +1417,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1417
1417
  spellcheck="false"
1418
1418
  ${n ? "disabled" : ""} />
1419
1419
  <div class="otp-slots" aria-hidden="true">${r}</div>
1420
- </div>`, this._rendered = !0, c(this, this._value), this._wire(), this._paint();
1420
+ </div>`, this._rendered = !0, u(this, this._value), this._wire(), this._paint();
1421
1421
  }
1422
1422
  _refs() {
1423
1423
  return {
@@ -1439,7 +1439,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1439
1439
  if (!e) return;
1440
1440
  let t = (e) => {
1441
1441
  let t = this._clean(e), n = t !== this._value;
1442
- this._value = t, c(this, this._value), this._paint(), n && this.dispatchEvent(new Event("change", { bubbles: !0 })), n && t.length === this.length && this.dispatchEvent(new CustomEvent("complete", {
1442
+ this._value = t, u(this, this._value), this._paint(), n && this.dispatchEvent(new Event("change", { bubbles: !0 })), n && t.length === this.length && this.dispatchEvent(new CustomEvent("complete", {
1443
1443
  bubbles: !0,
1444
1444
  detail: t
1445
1445
  }));
@@ -1473,7 +1473,7 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
1473
1473
  disconnectedCallback() {
1474
1474
  this._onSelectionChange && document.removeEventListener("selectionchange", this._onSelectionChange);
1475
1475
  }
1476
- }, ae = [
1476
+ }, se = [
1477
1477
  [
1478
1478
  "AF",
1479
1479
  "Afghanistan",
@@ -2699,18 +2699,18 @@ var f = Symbol("wui.trustedHtml"), p = (e) => String(e ?? "").replace(/&/g, "&am
2699
2699
  "Zimbabwe",
2700
2700
  "263"
2701
2701
  ]
2702
- ], M = (e) => (ae.find((t) => t[0] === e) || [
2702
+ ], M = (e) => (se.find((t) => t[0] === e) || [
2703
2703
  "",
2704
2704
  "",
2705
2705
  ""
2706
- ])[2], N = (e) => `wui-flag wui-flag-${String(e).toLowerCase()}`, P = null, oe = null;
2707
- function se() {
2708
- return P ? Promise.resolve(P) : (oe ||= Promise.all([import("./libphonenumber-js-BcNT8oq0.js"), import("./examples.mobile.json-BMXTGiGC.js")]).then(([e, t]) => (P = {
2706
+ ])[2], N = (e) => `wui-flag wui-flag-${String(e).toLowerCase()}`, P = null, ce = null;
2707
+ function le() {
2708
+ return P ? Promise.resolve(P) : (ce ||= Promise.all([import("./libphonenumber-js-BcNT8oq0.js"), import("./examples.mobile.json-BMXTGiGC.js")]).then(([e, t]) => (P = {
2709
2709
  AsYouType: e.AsYouType,
2710
2710
  getExampleNumber: e.getExampleNumber,
2711
2711
  isValidPhoneNumber: e.isValidPhoneNumber,
2712
2712
  examples: t.default || t
2713
- }, P)).catch(() => null), oe);
2713
+ }, P)).catch(() => null), ce);
2714
2714
  }
2715
2715
  function F(e, t) {
2716
2716
  if (!P || !t) return t;
@@ -2736,7 +2736,7 @@ function L(e) {
2736
2736
  return null;
2737
2737
  }
2738
2738
  }
2739
- function ce(e) {
2739
+ function ue(e) {
2740
2740
  if (!P) return null;
2741
2741
  try {
2742
2742
  let t = P.getExampleNumber(e, P.examples);
@@ -2811,7 +2811,7 @@ var z = class extends HTMLElement {
2811
2811
  n && this.getAttribute("country") !== this._country ? this.setAttribute("country", this._country) : this._rendered && this.render(), this._committedValue = this.value, this._syncMirror();
2812
2812
  }
2813
2813
  _syncMirror() {
2814
- c(this, this.value);
2814
+ u(this, this.value);
2815
2815
  }
2816
2816
  _emitInput() {
2817
2817
  this.dispatchEvent(new Event("input", { bubbles: !0 }));
@@ -2825,23 +2825,23 @@ var z = class extends HTMLElement {
2825
2825
  this.id ||= `wui-phone-${Math.random().toString(36).slice(2, 9)}`;
2826
2826
  let t = `${this.id}-listbox`;
2827
2827
  this._listboxId = t;
2828
- let n = ae.map(([e, n, r], i) => `<button type="button" role="option" id="${B(`${t}-opt-${i}`)}" class="country-dropdown-item${e === this._country ? " selected" : ""}" data-iso="${e}" aria-selected="${e === this._country}"><span class="${N(e)}" aria-hidden="true"></span><span class="country-name-text">${n}<span class="country-code-text">+${r}</span></span></button>`).join("");
2828
+ let n = se.map(([e, n, r], i) => `<button type="button" role="option" id="${B(`${t}-opt-${i}`)}" class="country-dropdown-item${e === this._country ? " selected" : ""}" data-iso="${e}" aria-selected="${e === this._country}"><span class="${N(e)}" aria-hidden="true"></span><span class="country-name-text">${n}<span class="country-code-text">+${r}</span></span></button>`).join("");
2829
2829
  this.innerHTML = `
2830
2830
  <div class="phone-input-wrap">
2831
2831
  <div class="phone-country-adornment">
2832
2832
  <button type="button" class="country-toggle" aria-label="Choose country" aria-haspopup="listbox" aria-expanded="false" aria-controls="${B(t)}"${this.hasAttribute("disabled") ? " disabled" : ""}>
2833
2833
  <span class="${N(this._country)}" data-flag aria-hidden="true"></span>
2834
- ${u("chevron-down", { className: "phone-chevron" })}
2834
+ ${f("chevron-down", { className: "phone-chevron" })}
2835
2835
  <span class="phone-dial" data-dial>+${M(this._country)}</span>
2836
2836
  </button>
2837
2837
  <div class="country-dropdown-menu" role="listbox" id="${B(t)}" tabindex="-1" hidden>
2838
- <div class="dropdown-search-wrapper"><span class="dropdown-search-icon">${u("search")}</span><input type="text" class="dropdown-search-input" placeholder="Search country or code" aria-label="Search countries" aria-controls="${B(t)}" aria-autocomplete="list" /></div>
2838
+ <div class="dropdown-search-wrapper"><span class="dropdown-search-icon">${f("search")}</span><input type="text" class="dropdown-search-input" placeholder="Search country or code" aria-label="Search countries" aria-controls="${B(t)}" aria-autocomplete="list" /></div>
2839
2839
  <div class="country-list-scroll">${n}<div class="country-empty" hidden>No countries found</div></div>
2840
2840
  </div>
2841
2841
  </div>
2842
2842
  <input type="tel" class="input" placeholder="${B(e)}" value="${B(F(this._country, this._national))}"${this.getAttribute("aria-label") ? ` aria-label="${B(this.getAttribute("aria-label"))}"` : ""}${this.getAttribute("aria-describedby") ? ` aria-describedby="${B(this.getAttribute("aria-describedby"))}"` : ""}${this.hasAttribute("required") ? " required aria-required=\"true\"" : ""}${this.hasAttribute("disabled") ? " disabled" : ""} />
2843
2843
  </div>
2844
- <div class="field-error" data-phone-error hidden></div>`, this._rendered = !0, c(this, this.value), this._wire();
2844
+ <div class="field-error" data-phone-error hidden></div>`, this._rendered = !0, u(this, this.value), this._wire();
2845
2845
  }
2846
2846
  _itemEls() {
2847
2847
  return [...this.querySelectorAll(".country-dropdown-item")];
@@ -2851,9 +2851,9 @@ var z = class extends HTMLElement {
2851
2851
  }
2852
2852
  _wire() {
2853
2853
  this._teardown();
2854
- let e = this.querySelector(".country-toggle"), t = this.querySelector(".phone-input-wrap"), n = this.querySelector(".country-dropdown-menu"), r = this.querySelector(".dropdown-search-input"), s = this.querySelector(".country-list-scroll"), c = this.querySelector(".country-empty"), l = this.querySelector("input[type=tel]"), u = this.querySelector("[data-flag]"), d = this.querySelector("[data-dial]");
2854
+ let e = this.querySelector(".country-toggle"), t = this.querySelector(".phone-input-wrap"), n = this.querySelector(".country-dropdown-menu"), r = this.querySelector(".dropdown-search-input"), i = this.querySelector(".country-list-scroll"), a = this.querySelector(".country-empty"), l = this.querySelector("input[type=tel]"), u = this.querySelector("[data-flag]"), d = this.querySelector("[data-dial]");
2855
2855
  if (!e || !n) return;
2856
- let f = () => !n.hidden, p = () => i(t || e, n), m = (e) => {
2856
+ let f = () => !n.hidden, p = () => o(t || e, n), m = (e) => {
2857
2857
  let t = this._visibleItems();
2858
2858
  this._active = e;
2859
2859
  for (let e of this._itemEls()) e.classList.remove("is-active");
@@ -2868,7 +2868,7 @@ var z = class extends HTMLElement {
2868
2868
  let r = !t || e.textContent.toLowerCase().includes(t);
2869
2869
  e.hidden = !r, r && (n += 1);
2870
2870
  }
2871
- c && (c.hidden = n > 0);
2871
+ a && (a.hidden = n > 0);
2872
2872
  }, v = (e) => {
2873
2873
  this._country = e, this.getAttribute("country") !== e && (this._suppressCountryRender = !0, this.setAttribute("country", e), this._suppressCountryRender = !1), u && (u.className = N(e)), d && (d.textContent = `+${M(e)}`);
2874
2874
  for (let t of this._itemEls()) {
@@ -2899,13 +2899,13 @@ var z = class extends HTMLElement {
2899
2899
  _(r.value);
2900
2900
  let e = this._visibleItems();
2901
2901
  m(e.length ? 0 : -1);
2902
- }), s.addEventListener("click", (e) => {
2902
+ }), i.addEventListener("click", (e) => {
2903
2903
  let t = e.target.closest(".country-dropdown-item");
2904
2904
  t && v(t.dataset.iso);
2905
- }), s.addEventListener("mousemove", (e) => {
2905
+ }), i.addEventListener("mousemove", (e) => {
2906
2906
  let t = e.target.closest(".country-dropdown-item");
2907
2907
  t && m(this._visibleItems().indexOf(t));
2908
- }), s.addEventListener("mouseleave", () => m(-1)), n.addEventListener("keydown", y);
2908
+ }), i.addEventListener("mouseleave", () => m(-1)), n.addEventListener("keydown", y);
2909
2909
  let b = this.querySelector("[data-phone-error]"), x = (e) => {
2910
2910
  if (l.classList.toggle("is-invalid", e), e ? l.setAttribute("aria-invalid", "true") : l.removeAttribute("aria-invalid"), b) {
2911
2911
  if (e) {
@@ -2917,7 +2917,7 @@ var z = class extends HTMLElement {
2917
2917
  };
2918
2918
  l.addEventListener("input", (e) => {
2919
2919
  e.stopPropagation();
2920
- let t = l.value.replace(/[^0-9]/g, ""), n = ce(this._country);
2920
+ let t = l.value.replace(/[^0-9]/g, ""), n = ue(this._country);
2921
2921
  n && t.length > n && (t = t.slice(0, n)), this._national = t;
2922
2922
  let r = F(this._country, this._national);
2923
2923
  l.value !== r && (l.value = r), this._syncMirror(), this._emitInput(), l.classList.contains("is-invalid") && (!this._national || L(this.value) === !0) && x(!1);
@@ -2929,12 +2929,12 @@ var z = class extends HTMLElement {
2929
2929
  }), this._bindGlobal = () => {
2930
2930
  this._teardownGlobals?.(), this._onDocClick = (e) => {
2931
2931
  f() && !this.contains(e.target) && g();
2932
- }, document.addEventListener("click", this._onDocClick), a(this, () => {
2932
+ }, document.addEventListener("click", this._onDocClick), s(this, () => {
2933
2933
  f() && p();
2934
2934
  });
2935
2935
  }, this._teardownGlobals = () => {
2936
- this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), o(this);
2937
- }, this._bindGlobal(), se().then((e) => {
2936
+ this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), c(this);
2937
+ }, this._bindGlobal(), le().then((e) => {
2938
2938
  if (!(!e || !l.isConnected) && (this._national && (l.value = F(this._country, this._national)), !this.getAttribute("placeholder"))) {
2939
2939
  let e = I(this._country);
2940
2940
  e && (l.placeholder = e);
@@ -3006,7 +3006,7 @@ var z = class extends HTMLElement {
3006
3006
  return this._value;
3007
3007
  }
3008
3008
  set value(e) {
3009
- this._value = e == null ? "" : String(e), c(this, this._value), this._syncSelected(), this._syncReset();
3009
+ this._value = e == null ? "" : String(e), u(this, this._value), this._syncSelected(), this._syncReset();
3010
3010
  }
3011
3011
  set options(e) {
3012
3012
  this._optionsProp = Array.isArray(e) ? e : null, this.isConnected && this.render();
@@ -3021,7 +3021,7 @@ var z = class extends HTMLElement {
3021
3021
  value: e.getAttribute("value") ?? e.textContent.trim(),
3022
3022
  label: e.innerHTML,
3023
3023
  icon: e.getAttribute("icon") || void 0,
3024
- [f]: !0,
3024
+ [m]: !0,
3025
3025
  selected: e.hasAttribute("selected")
3026
3026
  })));
3027
3027
  }
@@ -3030,28 +3030,28 @@ var z = class extends HTMLElement {
3030
3030
  }
3031
3031
  render() {
3032
3032
  this._defaultValue === void 0 && (this._defaultValue = this.getAttribute("value") || ""), this._snapshotDeclared();
3033
- let e = this._readOptions(), t = this.hasAttribute("searchable"), n = this.hasAttribute("clearable"), r = this.getAttribute("size"), i = r === "sm" ? " search-select-sm" : r === "lg" ? " search-select-lg" : "", a = this.getAttribute("icon"), o = this.getAttribute("prefix"), s = this.getAttribute("placeholder") || "Select...", l = this.getAttribute("search-placeholder") || "Search...", d = e.find((e) => String(e.value) === String(this._value)) || e.find((e) => e.selected);
3034
- d && (this._value = String(d.value)), c(this, this._value), this.id ||= `wui-select-${Math.random().toString(36).slice(2, 9)}`;
3035
- let f = `${this.id}-listbox`;
3036
- this._listboxId = f;
3037
- let m = e.map((e, t) => {
3033
+ let e = this._readOptions(), t = this.hasAttribute("searchable"), n = this.hasAttribute("clearable"), r = this.getAttribute("size"), i = r === "sm" ? " search-select-sm" : r === "lg" ? " search-select-lg" : "", a = this.getAttribute("icon"), o = this.getAttribute("prefix"), s = this.getAttribute("placeholder") || "Select...", c = this.getAttribute("search-placeholder") || "Search...", l = e.find((e) => String(e.value) === String(this._value)) || e.find((e) => e.selected);
3034
+ l && (this._value = String(l.value)), u(this, this._value), this.id ||= `wui-select-${Math.random().toString(36).slice(2, 9)}`;
3035
+ let d = `${this.id}-listbox`;
3036
+ this._listboxId = d;
3037
+ let p = e.map((e, t) => {
3038
3038
  let n = String(e.value) === String(this._value);
3039
- return `<button type="button" role="option" id="${H(`${f}-opt-${t}`)}" class="search-select-option${n ? " selected" : ""}" data-value="${H(e.value)}" aria-selected="${n}">${h(e)}</button>`;
3039
+ return `<button type="button" role="option" id="${H(`${d}-opt-${t}`)}" class="search-select-option${n ? " selected" : ""}" data-value="${H(e.value)}" aria-selected="${n}">${_(e)}</button>`;
3040
3040
  }).join("");
3041
3041
  this.innerHTML = `
3042
3042
  <div class="search-select${this.hasAttribute("compact") ? " search-select-compact" : ""}${i}">
3043
- <button type="button" role="combobox" class="input search-select-control" aria-haspopup="listbox" aria-expanded="false" aria-controls="${H(f)}" aria-label="${H(this._accessibleName())}"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " disabled" : ""}>
3044
- ${a ? u(a, { className: "search-select-icon" }) : ""}
3045
- ${o ? `<span class="search-select-prefix">${p(o)}</span>` : ""}
3046
- <span class="${d ? "" : "search-select-placeholder"}" data-label>${d ? h(d) : p(s)}</span>
3047
- ${n ? `<span class="search-select-reset" role="button" aria-label="Clear selection" hidden>${u("x")}</span>` : ""}
3048
- ${u("chevron-down", { className: "search-select-caret" })}
3043
+ <button type="button" role="combobox" class="input search-select-control" aria-haspopup="listbox" aria-expanded="false" aria-controls="${H(d)}" aria-label="${H(this._accessibleName())}"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " disabled" : ""}>
3044
+ ${a ? f(a, { className: "search-select-icon" }) : ""}
3045
+ ${o ? `<span class="search-select-prefix">${h(o)}</span>` : ""}
3046
+ <span class="${l ? "" : "search-select-placeholder"}" data-label>${l ? _(l) : h(s)}</span>
3047
+ ${n ? `<span class="search-select-reset" role="button" aria-label="Clear selection" hidden>${f("x")}</span>` : ""}
3048
+ ${f("chevron-down", { className: "search-select-caret" })}
3049
3049
  </button>
3050
- <div class="search-select-menu search-select-menu-fixed" role="listbox" id="${H(f)}" tabindex="-1" hidden>
3051
- ${t ? `<div class="search-select-search">${u("search")}<input class="search-select-input" placeholder="${H(l)}" aria-autocomplete="list" /><button type="button" class="search-select-clear" aria-label="Clear search" hidden>${u("x")}</button></div>` : ""}
3052
- <div class="search-select-options">${m}<div class="search-select-empty" hidden>No matches</div></div>
3050
+ <div class="search-select-menu search-select-menu-fixed" role="listbox" id="${H(d)}" tabindex="-1" hidden>
3051
+ ${t ? `<div class="search-select-search">${f("search")}<input class="search-select-input" placeholder="${H(c)}" aria-autocomplete="list" /><button type="button" class="search-select-clear" aria-label="Clear search" hidden>${f("x")}</button></div>` : ""}
3052
+ <div class="search-select-options">${p}<div class="search-select-empty" hidden>No matches</div></div>
3053
3053
  </div>
3054
- </div>`, this._rendered = !0, c(this, this._value), this._wire(), this._syncReset();
3054
+ </div>`, this._rendered = !0, u(this, this._value), this._wire(), this._syncReset();
3055
3055
  }
3056
3056
  _refs() {
3057
3057
  return {
@@ -3077,7 +3077,7 @@ var z = class extends HTMLElement {
3077
3077
  let t = e.dataset.value === String(this._value);
3078
3078
  e.classList.toggle("selected", t), e.setAttribute("aria-selected", String(t));
3079
3079
  }
3080
- e && (e.innerHTML = t ? h(t) : p(this.getAttribute("placeholder") || "Select..."), e.classList.toggle("search-select-placeholder", !t));
3080
+ e && (e.innerHTML = t ? _(t) : h(this.getAttribute("placeholder") || "Select..."), e.classList.toggle("search-select-placeholder", !t));
3081
3081
  }
3082
3082
  _syncReset() {
3083
3083
  let { reset: e } = this._refs();
@@ -3090,28 +3090,28 @@ var z = class extends HTMLElement {
3090
3090
  let t = () => {
3091
3091
  if (this.hasAttribute("compact")) {
3092
3092
  let t = e.control.getBoundingClientRect();
3093
- e.menu.style.width = "max-content", e.menu.style.minWidth = `${t.width}px`, e.menu.style.maxWidth = "280px", i(e.control, e.menu);
3094
- } else i(e.control, e.menu, { matchWidth: !0 });
3093
+ e.menu.style.width = "max-content", e.menu.style.minWidth = `${t.width}px`, e.menu.style.maxWidth = "280px", o(e.control, e.menu);
3094
+ } else o(e.control, e.menu, { matchWidth: !0 });
3095
3095
  }, n = (t) => {
3096
3096
  let n = this._visible();
3097
3097
  this._active = t;
3098
3098
  for (let e of this._optionEls()) e.classList.remove("is-active");
3099
3099
  t >= 0 && n[t] ? (n[t].classList.add("is-active"), n[t].scrollIntoView({ block: "nearest" }), e.control.setAttribute("aria-activedescendant", n[t].id)) : e.control.removeAttribute("aria-activedescendant");
3100
- }, r = (t) => {
3101
- let n = t.trim().toLowerCase(), r = 0;
3100
+ }, r = (n) => {
3101
+ let r = n.trim().toLowerCase(), i = 0;
3102
3102
  for (let e of this._optionEls()) {
3103
- let t = !n || e.textContent.toLowerCase().includes(n);
3104
- e.hidden = !t, t && (r += 1);
3103
+ let t = !r || e.textContent.toLowerCase().includes(r);
3104
+ e.hidden = !t, t && (i += 1);
3105
3105
  }
3106
- e.empty && (e.empty.hidden = r > 0), e.clear && (e.clear.hidden = !n);
3107
- }, o = () => !e.menu.hidden, s = () => {
3106
+ e.empty && (e.empty.hidden = i > 0), e.clear && (e.clear.hidden = !r), e.menu.hidden || t();
3107
+ }, i = () => !e.menu.hidden, a = () => {
3108
3108
  e.menu.hidden = !1, e.control.setAttribute("aria-expanded", "true"), e.control.classList.add("open"), t(), e.search && (e.search.value = "", r(""), e.search.focus()), n(this._optionEls().findIndex((e) => e.classList.contains("selected")));
3109
3109
  }, c = () => {
3110
3110
  e.menu.hidden = !0, e.control.setAttribute("aria-expanded", "false"), e.control.classList.remove("open"), n(-1);
3111
3111
  }, l = (t) => {
3112
3112
  this.value = t.dataset.value, this.dispatchEvent(new Event("change", { bubbles: !0 })), c(), e.control.focus();
3113
3113
  };
3114
- this._navHandler = d({
3114
+ this._navHandler = p({
3115
3115
  getVisibleOptions: () => this._visible(),
3116
3116
  getActive: () => this._active,
3117
3117
  setActive: (e) => n(e),
@@ -3123,12 +3123,12 @@ var z = class extends HTMLElement {
3123
3123
  }
3124
3124
  }), e.reset?.addEventListener("click", (t) => {
3125
3125
  t.stopPropagation(), this.value = "", this.dispatchEvent(new Event("change", { bubbles: !0 })), e.control.focus();
3126
- }), e.control.addEventListener("click", () => o() ? c() : s()), e.control.addEventListener("keydown", (e) => {
3127
- if (o()) {
3126
+ }), e.control.addEventListener("click", () => i() ? c() : a()), e.control.addEventListener("keydown", (e) => {
3127
+ if (i()) {
3128
3128
  this._navHandler.handler(e);
3129
3129
  return;
3130
3130
  }
3131
- (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), s());
3131
+ (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), a());
3132
3132
  }), e.optionsWrap.addEventListener("click", (e) => {
3133
3133
  let t = e.target.closest(".search-select-option");
3134
3134
  t && l(t);
@@ -3141,14 +3141,14 @@ var z = class extends HTMLElement {
3141
3141
  e.search.value = "", r(""), e.search.focus();
3142
3142
  }), e.menu.addEventListener("keydown", this._navHandler.handler), this._bindGlobal = () => {
3143
3143
  this._teardown(), this._onDocClick = (e) => {
3144
- o() && !this.contains(e.target) && c();
3145
- }, document.addEventListener("click", this._onDocClick), a(this, () => {
3146
- o() && t();
3144
+ i() && !this.contains(e.target) && c();
3145
+ }, document.addEventListener("click", this._onDocClick), s(this, () => {
3146
+ i() && t();
3147
3147
  });
3148
3148
  }, this._bindGlobal();
3149
3149
  }
3150
3150
  _teardown() {
3151
- this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), o(this), this._navHandler?.teardown();
3151
+ this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), c(this), this._navHandler?.teardown();
3152
3152
  }
3153
3153
  disconnectedCallback() {
3154
3154
  this._teardown();
@@ -3295,7 +3295,7 @@ var z = class extends HTMLElement {
3295
3295
  aria-valuenow="${this._value}"
3296
3296
  aria-valuetext="${this._formatValue(this._value)}"
3297
3297
  ${a ? "disabled" : ""}
3298
- aria-label="${le(this.getAttribute("aria-label") || "Value")}"
3298
+ aria-label="${de(this.getAttribute("aria-label") || "Value")}"
3299
3299
  ></button>
3300
3300
  `}
3301
3301
  ${this.hasAttribute("show-value") ? n ? `<span class="slider-value">${this._formatValue(this._start)} – ${this._formatValue(this._end)}</span>` : `<span class="slider-value">${this._formatValue(this._value)}</span>` : ""}
@@ -3328,7 +3328,7 @@ var z = class extends HTMLElement {
3328
3328
  this._isRange() ? this._syncRangeMirrors() : this._syncSingleMirror();
3329
3329
  }
3330
3330
  _syncSingleMirror() {
3331
- this.getAttribute("name") && c(this, String(this._value));
3331
+ this.getAttribute("name") && u(this, String(this._value));
3332
3332
  }
3333
3333
  _syncRangeMirrors() {
3334
3334
  let e = this.getAttribute("start-name") || this.getAttribute("name"), t = this.getAttribute("end-name");
@@ -3398,7 +3398,7 @@ var z = class extends HTMLElement {
3398
3398
  }, W = (e, t) => {
3399
3399
  let n = Number.parseFloat(e);
3400
3400
  return Number.isFinite(n) ? n : t;
3401
- }, le = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;"), G = class extends HTMLElement {
3401
+ }, de = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;"), G = class extends HTMLElement {
3402
3402
  static formAssociated = !0;
3403
3403
  _accessibleName() {
3404
3404
  return this.getAttribute("aria-label") || this.getAttribute("placeholder") || "Add tags";
@@ -3464,17 +3464,17 @@ var z = class extends HTMLElement {
3464
3464
  return this._values.slice();
3465
3465
  }
3466
3466
  set values(e) {
3467
- this._values = Array.isArray(e) ? e.map(String) : [], c(this, this._values.join(",")), this._rendered && this._renderControl();
3467
+ this._values = Array.isArray(e) ? e.map(String) : [], u(this, this._values.join(",")), this._rendered && this._renderControl();
3468
3468
  }
3469
3469
  render() {
3470
3470
  let e = this.getAttribute("size"), t = e === "sm" ? " search-select-sm" : e === "lg" ? " search-select-lg" : "";
3471
- c(this, this._values.join(",")), this.innerHTML = `
3471
+ u(this, this._values.join(",")), this.innerHTML = `
3472
3472
  <div class="search-select${t}">
3473
3473
  <div class="input search-select-control search-select-multi"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " aria-disabled=\"true\"" : ""}>
3474
3474
  <input type="text" class="ms-input" data-input aria-label="${K(this._accessibleName())}" placeholder="${K(this.getAttribute("placeholder") || "Add…")}" autocomplete="off"${this.hasAttribute("disabled") ? " disabled" : ""}/>
3475
3475
  <div class="ms-chips" data-chips></div>
3476
3476
  </div>
3477
- </div>`, this._rendered = !0, c(this, this._values.join(",")), this._renderControl(), this._wire();
3477
+ </div>`, this._rendered = !0, u(this, this._values.join(",")), this._renderControl(), this._wire();
3478
3478
  }
3479
3479
  _renderControl() {
3480
3480
  let e = this.querySelector("[data-chips]");
@@ -3483,7 +3483,7 @@ var z = class extends HTMLElement {
3483
3483
  e.innerHTML = "";
3484
3484
  return;
3485
3485
  }
3486
- e.innerHTML = this._values.map((e) => `<span class="chip chip-sm"><span class="chip-label">${ue(e)}</span><button type="button" class="chip-remove" data-remove="${K(e)}" aria-label="Remove ${K(e)}">${u("x")}</button></span>`).join("");
3486
+ e.innerHTML = this._values.map((e) => `<span class="chip chip-sm"><span class="chip-label">${fe(e)}</span><button type="button" class="chip-remove" data-remove="${K(e)}" aria-label="Remove ${K(e)}">${f("x")}</button></span>`).join("");
3487
3487
  }
3488
3488
  }
3489
3489
  _wire() {
@@ -3493,33 +3493,33 @@ var z = class extends HTMLElement {
3493
3493
  let n = () => this.hasAttribute("disabled"), r = (this.getAttribute("separators") || "enter,comma").split(",").map((e) => e.trim()), i = this.getAttribute("max-tags"), a = this.hasAttribute("allow-duplicates"), o = /* @__PURE__ */ new Set();
3494
3494
  for (let e of r) e === "enter" ? o.add("Enter") : e === "comma" ? o.add(",") : e === "space" ? o.add(" ") : e === "tab" && o.add("Tab");
3495
3495
  let s = () => {
3496
- c(this, this._values.join(",")), this.dispatchEvent(new Event("change", { bubbles: !0 }));
3497
- }, l = (e) => {
3496
+ u(this, this._values.join(",")), this.dispatchEvent(new Event("change", { bubbles: !0 }));
3497
+ }, c = (e) => {
3498
3498
  let t = e.trim();
3499
3499
  if (!t || i && this._values.length >= parseInt(i, 10)) return;
3500
3500
  let n = a ? t : t.toLowerCase();
3501
3501
  (!this._values.some((e) => a ? e === t : e.toLowerCase() === n) || a) && (this._values.push(t), this._renderControl(), s());
3502
- }, u = (e) => {
3502
+ }, l = (e) => {
3503
3503
  this._values = this._values.filter((t) => t !== e), this._renderControl(), s();
3504
3504
  }, d = (e) => {
3505
3505
  if (e.key === "Enter" && o.has("Enter")) {
3506
- e.preventDefault(), l(t.value), t.value = "";
3506
+ e.preventDefault(), c(t.value), t.value = "";
3507
3507
  return;
3508
3508
  }
3509
3509
  if (e.key === "," && o.has(",")) {
3510
- e.preventDefault(), l(t.value.replace(/,+$/, "")), t.value = "";
3510
+ e.preventDefault(), c(t.value.replace(/,+$/, "")), t.value = "";
3511
3511
  return;
3512
3512
  }
3513
3513
  if (e.key === " " && o.has(" ")) {
3514
3514
  let n = t.value.trim();
3515
- n && (e.preventDefault(), l(n), t.value = "");
3515
+ n && (e.preventDefault(), c(n), t.value = "");
3516
3516
  return;
3517
3517
  }
3518
3518
  if (e.key === "Tab" && o.has("Tab")) {
3519
- e.preventDefault(), l(t.value), t.value = "";
3519
+ e.preventDefault(), c(t.value), t.value = "";
3520
3520
  return;
3521
3521
  }
3522
- e.key === "Backspace" && !t.value && this._values.length && (e.preventDefault(), u(this._values[this._values.length - 1])), e.key === "Escape" && (t.value = "");
3522
+ e.key === "Backspace" && !t.value && this._values.length && (e.preventDefault(), l(this._values[this._values.length - 1])), e.key === "Escape" && (t.value = "");
3523
3523
  }, f = (e) => {
3524
3524
  e.preventDefault();
3525
3525
  let n = e.clipboardData.getData("text/plain"), a = [];
@@ -3531,14 +3531,14 @@ var z = class extends HTMLElement {
3531
3531
  }
3532
3532
  }
3533
3533
  a.length || a.push(n.trim());
3534
- for (let e of a) if (l(e), i && this._values.length >= parseInt(i, 10)) break;
3534
+ for (let e of a) if (c(e), i && this._values.length >= parseInt(i, 10)) break;
3535
3535
  t.value = "";
3536
3536
  };
3537
3537
  this._onControlClick = (e) => {
3538
3538
  if (n()) return;
3539
3539
  let r = e.target.closest("[data-remove]");
3540
3540
  if (r) {
3541
- e.stopPropagation(), u(r.dataset.remove), t.focus();
3541
+ e.stopPropagation(), l(r.dataset.remove), t.focus();
3542
3542
  return;
3543
3543
  }
3544
3544
  t.focus();
@@ -3554,7 +3554,7 @@ var z = class extends HTMLElement {
3554
3554
  disconnectedCallback() {
3555
3555
  this._teardown();
3556
3556
  }
3557
- }, ue = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), K = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;"), q = (e) => String(e).padStart(2, "0"), de = (e, t) => `${q(e)}:${q(t)}`, J = (e) => {
3557
+ }, fe = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), K = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;"), q = (e) => String(e).padStart(2, "0"), pe = (e, t) => `${q(e)}:${q(t)}`, J = (e) => {
3558
3558
  let t = /^(\d{2}):(\d{2})$/.exec(e || "");
3559
3559
  return t ? {
3560
3560
  h: +t[1],
@@ -3562,10 +3562,10 @@ var z = class extends HTMLElement {
3562
3562
  } : null;
3563
3563
  }, Y = (e, t = "24") => {
3564
3564
  if (!e) return "";
3565
- if (t === "24") return de(e.h, e.m);
3565
+ if (t === "24") return pe(e.h, e.m);
3566
3566
  let n = e.h % 12 || 12, r = e.h >= 12 ? "PM" : "AM";
3567
3567
  return `${n}:${q(e.m)} ${r}`;
3568
- }, fe = class extends HTMLElement {
3568
+ }, me = class extends HTMLElement {
3569
3569
  static formAssociated = !0;
3570
3570
  static get observedAttributes() {
3571
3571
  return [
@@ -3608,22 +3608,22 @@ var z = class extends HTMLElement {
3608
3608
  return this._value;
3609
3609
  }
3610
3610
  set value(e) {
3611
- this._value = e || "", c(this, this._value), this._syncTrigger();
3611
+ this._value = e || "", u(this, this._value), this._syncTrigger();
3612
3612
  }
3613
3613
  render() {
3614
3614
  this._defaultValue === void 0 && (this._defaultValue = this.getAttribute("value") || "", this._value = this._defaultValue || this._value);
3615
3615
  let e = this.getAttribute("placeholder") || "Select time", t = J(this._value), n = this.getAttribute("format") || "24", r = this.getAttribute("size"), i = r === "sm" ? " input-sm" : r === "lg" ? " input-lg" : "", a = this.getAttribute("aria-label"), o = this.getAttribute("aria-describedby");
3616
3616
  this.innerHTML = `
3617
3617
  <div class="timepicker">
3618
- <button type="button" class="input timepicker-trigger${i}${t ? " has-value" : ""}" aria-haspopup="listbox" aria-expanded="false"${this.hasAttribute("disabled") ? " disabled" : ""}${a ? ` aria-label="${p(a)}"` : ""}${o ? ` aria-describedby="${p(o)}"` : ""}>
3619
- <span data-trigger-label class="${t ? "" : "timepicker-placeholder"}">${t ? Y(t, n) : p(e)}</span>
3620
- ${u("clock")}
3618
+ <button type="button" class="input timepicker-trigger${i}${t ? " has-value" : ""}" aria-haspopup="listbox" aria-expanded="false"${this.hasAttribute("disabled") ? " disabled" : ""}${a ? ` aria-label="${h(a)}"` : ""}${o ? ` aria-describedby="${h(o)}"` : ""}>
3619
+ <span data-trigger-label class="${t ? "" : "timepicker-placeholder"}">${t ? Y(t, n) : h(e)}</span>
3620
+ ${f("clock")}
3621
3621
  </button>
3622
3622
  <div class="timepicker-pop" role="listbox" tabindex="-1" hidden></div>
3623
- </div>`, this._rendered = !0, c(this, this._value), this._wire();
3623
+ </div>`, this._rendered = !0, u(this, this._value), this._wire();
3624
3624
  }
3625
3625
  _syncFormValue() {
3626
- c(this, this._value);
3626
+ u(this, this._value);
3627
3627
  }
3628
3628
  _syncTrigger() {
3629
3629
  let e = this.querySelector(".timepicker-trigger"), t = this.querySelector("[data-trigger-label]");
@@ -3650,7 +3650,7 @@ var z = class extends HTMLElement {
3650
3650
  if (!e) return;
3651
3651
  let t = this.getAttribute("format") || "24", n = this._buildTimes(), r = J(this._value), i = this._focus, a = "";
3652
3652
  for (let e = 0; e < n.length; e++) {
3653
- let o = n[e], s = de(o.h, o.m), c = r && r.h === o.h && r.m === o.m;
3653
+ let o = n[e], s = pe(o.h, o.m), c = r && r.h === o.h && r.m === o.m;
3654
3654
  a += `<button type="button" class="timepicker-option${c ? " is-selected" : ""}" data-hm="${s}" role="option" tabindex="${i === e ? "0" : "-1"}"${c ? " aria-selected=\"true\"" : ""}>${Y(o, t)}</button>`;
3655
3655
  }
3656
3656
  e.innerHTML = a, this._focusActive();
@@ -3660,7 +3660,7 @@ var z = class extends HTMLElement {
3660
3660
  t && !e.hidden && t.focus();
3661
3661
  }
3662
3662
  _position(e, t) {
3663
- i(e, t);
3663
+ o(e, t);
3664
3664
  }
3665
3665
  _onKey(e) {
3666
3666
  let t = [...this.querySelector(".timepicker-pop").querySelectorAll(".timepicker-option")];
@@ -3738,18 +3738,18 @@ var z = class extends HTMLElement {
3738
3738
  this._popClick = !1, r() && !t && !this.contains(e.target) && this._close();
3739
3739
  }, document.addEventListener("click", this._onDocClick), this._onDocKey = (e) => {
3740
3740
  r() && e.key === "Escape" && this._close();
3741
- }, document.addEventListener("keydown", this._onDocKey), a(this, () => {
3741
+ }, document.addEventListener("keydown", this._onDocKey), s(this, () => {
3742
3742
  r() && this._position(e, t);
3743
3743
  });
3744
3744
  }, this._bindGlobal(), this._syncFormValue();
3745
3745
  }
3746
3746
  _teardown() {
3747
- this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null), o(this), clearTimeout(this._typeaheadTimer), this._typeaheadTimer = null, this._typeahead = "";
3747
+ this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null), c(this), clearTimeout(this._typeaheadTimer), this._typeaheadTimer = null, this._typeahead = "";
3748
3748
  }
3749
3749
  disconnectedCallback() {
3750
3750
  this._teardown();
3751
3751
  }
3752
- }, pe = "wui-wizard-step", me = class extends HTMLElement {
3752
+ }, he = "wui-wizard-step", ge = class extends HTMLElement {
3753
3753
  static get observedAttributes() {
3754
3754
  return [
3755
3755
  "active",
@@ -3783,7 +3783,7 @@ var z = class extends HTMLElement {
3783
3783
  this._beforeNext = typeof e == "function" ? e : null;
3784
3784
  }
3785
3785
  get _steps() {
3786
- return [...this.querySelectorAll(`:scope > ${pe}`)];
3786
+ return [...this.querySelectorAll(`:scope > ${he}`)];
3787
3787
  }
3788
3788
  refresh() {
3789
3789
  this._rendered && this._renderChrome();
@@ -3840,15 +3840,15 @@ var z = class extends HTMLElement {
3840
3840
  ].filter(Boolean).join(" "), this._header.setAttribute("aria-label", this.getAttribute("label") || "Progress");
3841
3841
  let i = this.hasAttribute("non-linear");
3842
3842
  return e.map((e, r) => {
3843
- let a = this._stepStatus(e, r), o = e.getAttribute("label") || "", s = e.getAttribute("description") || "", c = e.getAttribute("icon") || "", l = r + 1, d;
3844
- d = a === "done" ? u("check") : a === "error" ? u("alert-triangle") : a === "skipped" ? u("minus") : c ? u(c) : String(l);
3845
- let f = a === "pending" ? "step" : `step ${a}`, p = a === "active" ? " aria-current=\"step\"" : "", m = i || r < this._active, h = s ? `<span class="step-desc">${X(s)}</span>` : "", g;
3846
- return g = t ? `<span class="step-circle">${d}</span><span class="step-text"><span class="step-index">Step ${l}</span><span class="step-label">${X(o)}</span>${h}</span>` : n ? `<span class="step-circle">${d}</span><span class="step-index">Step ${l}</span><span class="step-label">${X(o)}</span>${h}` : `<span class="step-circle">${d}</span><span class="step-label">${X(o)}</span>${h}`, m ? `<button type="button" class="${f}" data-step="${r}"${p}>${g}</button>` : `<div class="${f}"${p}>${g}</div>`;
3843
+ let a = this._stepStatus(e, r), o = e.getAttribute("label") || "", s = e.getAttribute("description") || "", c = e.getAttribute("icon") || "", l = r + 1, u;
3844
+ u = a === "done" ? f("check") : a === "error" ? f("alert-triangle") : a === "skipped" ? f("minus") : c ? f(c) : String(l);
3845
+ let d = a === "pending" ? "step" : `step ${a}`, p = a === "active" ? " aria-current=\"step\"" : "", m = i || r < this._active, h = s ? `<span class="step-desc">${X(s)}</span>` : "", g;
3846
+ return g = t ? `<span class="step-circle">${u}</span><span class="step-text"><span class="step-index">Step ${l}</span><span class="step-label">${X(o)}</span>${h}</span>` : n ? `<span class="step-circle">${u}</span><span class="step-index">Step ${l}</span><span class="step-label">${X(o)}</span>${h}` : `<span class="step-circle">${u}</span><span class="step-label">${X(o)}</span>${h}`, m ? `<button type="button" class="${d}" data-step="${r}"${p}>${g}</button>` : `<div class="${d}"${p}>${g}</div>`;
3847
3847
  }).join("");
3848
3848
  }
3849
3849
  _footerHtml(e) {
3850
3850
  let t = this._active, n = e.length - 1, r = this.hasAttribute("disabled") ? " disabled" : "", i = e[t]?.hasAttribute("optional") || this.hasAttribute("skippable"), a = this.getAttribute("back-label") || "Back", o = this.getAttribute("next-label") || "Next", s = this.getAttribute("skip-label") || "Skip", c = this.getAttribute("finish-label") || "Finish";
3851
- return `${t > 0 ? `<button type="button" class="btn btn-secondary" data-nav="back"${r}>${u("arrow-left", { className: "me-2" })}${X(a)}</button>` : "<span></span>"}<span class="wizard-footer-actions">${i && t < n ? `<button type="button" class="btn btn-subtle" data-nav="skip"${r}>${X(s)}</button>` : ""}${t < n ? `<button type="button" class="btn btn-primary" data-nav="next"${r}>${X(o)}${u("arrow-right", { className: "ms-2" })}</button>` : `<button type="button" class="btn btn-primary" data-nav="finish"${r}>${X(c)}</button>`}</span>`;
3851
+ return `${t > 0 ? `<button type="button" class="btn btn-secondary" data-nav="back"${r}>${f("arrow-left", { className: "me-2" })}${X(a)}</button>` : "<span></span>"}<span class="wizard-footer-actions">${i && t < n ? `<button type="button" class="btn btn-subtle" data-nav="skip"${r}>${X(s)}</button>` : ""}${t < n ? `<button type="button" class="btn btn-primary" data-nav="next"${r}>${X(o)}${f("arrow-right", { className: "ms-2" })}</button>` : `<button type="button" class="btn btn-primary" data-nav="finish"${r}>${X(c)}</button>`}</span>`;
3852
3852
  }
3853
3853
  _wire() {
3854
3854
  this._teardown(), this._onHeaderClick = (e) => {
@@ -3916,7 +3916,7 @@ var z = class extends HTMLElement {
3916
3916
  _reflectActive(e) {
3917
3917
  this._reflecting = !0, this.setAttribute("active", String(e)), this._reflecting = !1;
3918
3918
  }
3919
- }, X = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), he = class extends HTMLElement {
3919
+ }, X = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), _e = class extends HTMLElement {
3920
3920
  static get observedAttributes() {
3921
3921
  return [
3922
3922
  "label",
@@ -3930,14 +3930,14 @@ var z = class extends HTMLElement {
3930
3930
  let e = this.closest("wui-wizard");
3931
3931
  e && typeof e.refresh == "function" && e.refresh();
3932
3932
  }
3933
- }, ge = "image/png,image/jpeg,image/webp", _e = 5, ve = {
3933
+ }, ve = "image/png,image/jpeg,image/webp", ye = 5, be = {
3934
3934
  "image/png": [".png"],
3935
3935
  "image/jpeg": [".jpg", ".jpeg"],
3936
3936
  "image/webp": [".webp"],
3937
3937
  "image/gif": [".gif"],
3938
3938
  "image/svg+xml": [".svg"],
3939
3939
  "application/pdf": [".pdf"]
3940
- }, ye = {
3940
+ }, xe = {
3941
3941
  "image/png": "PNG",
3942
3942
  "image/jpeg": "JPG",
3943
3943
  "image/webp": "WEBP",
@@ -3962,44 +3962,44 @@ var z = class extends HTMLElement {
3962
3962
  ".avif",
3963
3963
  ".heic"
3964
3964
  ];
3965
- function be(e) {
3965
+ function Se(e) {
3966
3966
  if (!e) return !1;
3967
3967
  let t = typeof e == "object" && e.type ? String(e.type).toLowerCase() : "";
3968
3968
  if (t) return t.startsWith("image/");
3969
3969
  let n = typeof e == "string" ? e : e.name || e.url || "", r = String(n).toLowerCase();
3970
3970
  return Q.some((e) => r.endsWith(e));
3971
3971
  }
3972
- function xe(e) {
3972
+ function Ce(e) {
3973
3973
  let t = Z(e);
3974
3974
  return t.length ? t.every((e) => e.startsWith(".") ? Q.includes(e) : e === "image/*" || e.startsWith("image/")) : !1;
3975
3975
  }
3976
- function Se(e) {
3976
+ function we(e) {
3977
3977
  let t = [];
3978
3978
  for (let n of Z(e)) {
3979
- let e = ye[n] || (n.startsWith(".") ? n.slice(1).toUpperCase() : n.toUpperCase());
3979
+ let e = xe[n] || (n.startsWith(".") ? n.slice(1).toUpperCase() : n.toUpperCase());
3980
3980
  t.includes(e) || t.push(e);
3981
3981
  }
3982
3982
  return t.length <= 1 ? t[0] || "supported" : `${t.slice(0, -1).join(", ")} or ${t[t.length - 1]}`;
3983
3983
  }
3984
- function Ce(e, t) {
3984
+ function Te(e, t) {
3985
3985
  let n = Z(t);
3986
3986
  if (!n.length) return !0;
3987
3987
  let r = (e.type || "").toLowerCase(), i = (e.name || "").toLowerCase();
3988
- return n.some((e) => e.startsWith(".") ? i.endsWith(e) : e.endsWith("/*") ? r.startsWith(e.slice(0, -1)) : r && r === e ? !0 : !r && (ve[e] || []).some((e) => i.endsWith(e)));
3988
+ return n.some((e) => e.startsWith(".") ? i.endsWith(e) : e.endsWith("/*") ? r.startsWith(e.slice(0, -1)) : r && r === e ? !0 : !r && (be[e] || []).some((e) => i.endsWith(e)));
3989
3989
  }
3990
- function we(e, t = {}) {
3990
+ function Ee(e, t = {}) {
3991
3991
  if (!e) return null;
3992
- let n = t.accept === void 0 ? ge : t.accept, r = t.maxSizeMb || 5;
3993
- return Ce(e, n) ? e.size > r * 1024 * 1024 ? `Keep the file under ${r} MB.` : null : `Choose a ${Se(n)} file.`;
3992
+ let n = t.accept === void 0 ? ve : t.accept, r = t.maxSizeMb || 5;
3993
+ return Te(e, n) ? e.size > r * 1024 * 1024 ? `Keep the file under ${r} MB.` : null : `Choose a ${we(n)} file.`;
3994
3994
  }
3995
3995
  //#endregion
3996
3996
  //#region src/index.js
3997
3997
  var $ = (e, t) => {
3998
3998
  typeof customElements < "u" && !customElements.get(e) && customElements.define(e, t);
3999
3999
  };
4000
- function Te() {
4001
- $("wui-select", V), $("wui-phone", z), $("wui-datepicker", D), $("wui-date-range", O), $("wui-dock", ee), $("wui-slider", U), $("wui-timepicker", fe), $("wui-autocomplete", g), $("wui-multiselect", k), $("wui-taginput", G), $("wui-otp", ie), $("wui-status-icon", n), $("wui-wizard-step", he), $("wui-wizard", me);
4000
+ function De() {
4001
+ $("wui-select", V), $("wui-phone", z), $("wui-datepicker", ee), $("wui-date-range", te), $("wui-dock", ne), $("wui-slider", U), $("wui-timepicker", me), $("wui-autocomplete", v), $("wui-multiselect", ie), $("wui-taginput", G), $("wui-otp", j), $("wui-status-icon", n), $("wui-wizard-step", _e), $("wui-wizard", ge);
4002
4002
  }
4003
- Te();
4003
+ De();
4004
4004
  //#endregion
4005
- export { ge as DEFAULT_IMAGE_ACCEPT, _e as DEFAULT_MAX_SIZE_MB, t as STATUS_TONES, g as WuiAutocomplete, D as WuiDatePicker, O as WuiDateRange, ee as WuiDock, k as WuiMultiSelect, ie as WuiOtp, z as WuiPhone, V as WuiSelect, U as WuiSlider, n as WuiStatusIcon, G as WuiTagInput, fe as WuiTimePicker, me as WuiWizard, he as WuiWizardStep, Se as acceptLabel, Te as defineWeborityElements, be as isImageFile, xe as isImageOnlyAccept, Ce as matchesAccept, we as validateFile };
4005
+ export { ve as DEFAULT_IMAGE_ACCEPT, ye as DEFAULT_MAX_SIZE_MB, t as STATUS_TONES, v as WuiAutocomplete, ee as WuiDatePicker, te as WuiDateRange, ne as WuiDock, ie as WuiMultiSelect, j as WuiOtp, z as WuiPhone, V as WuiSelect, U as WuiSlider, n as WuiStatusIcon, G as WuiTagInput, me as WuiTimePicker, ge as WuiWizard, _e as WuiWizardStep, we as acceptLabel, De as defineWeborityElements, Se as isImageFile, Ce as isImageOnlyAccept, Te as matchesAccept, Ee as validateFile };