@luzmo/analytics-components-kit 1.0.1-alpha.26 → 1.0.1-alpha.27

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.
Files changed (123) hide show
  1. package/components/{button-base-B7v4eeRh-BKKUK3x0.cjs → button-base-DSHx7XO8-Cixrr9aG.cjs} +3 -3
  2. package/components/{button-base-B7v4eeRh-D3-GH03o.js → button-base-DSHx7XO8-VB_BBSqq.js} +27 -27
  3. package/components/display-settings/index.cjs +1 -1
  4. package/components/display-settings/index.js +7 -7
  5. package/components/display-settings-binning/index.cjs +1 -1
  6. package/components/display-settings-binning/index.js +5 -5
  7. package/components/display-settings-datetime/index.cjs +1 -1
  8. package/components/display-settings-datetime/index.js +8 -8
  9. package/components/display-settings-grand-totals/index.cjs +1 -1
  10. package/components/display-settings-grand-totals/index.js +4 -4
  11. package/components/display-settings-numeric/index.cjs +1 -1
  12. package/components/display-settings-numeric/index.js +9 -9
  13. package/components/display-settings-period-over-period/index.cjs +2 -2
  14. package/components/display-settings-period-over-period/index.js +7 -7
  15. package/components/draggable-data-item-level/index.cjs +1 -1
  16. package/components/draggable-data-item-level/index.js +3 -3
  17. package/components/droppable-slot/droppable-slot.d.ts +2 -2
  18. package/components/droppable-slot/index.cjs +1 -1
  19. package/components/droppable-slot/index.js +2 -2
  20. package/components/edit-item/edit-item.d.ts +1 -0
  21. package/components/edit-item/index.cjs +5 -4
  22. package/components/edit-item/index.js +26 -12
  23. package/components/edit-option-action-button-group/index.cjs +1 -1
  24. package/components/edit-option-action-button-group/index.js +5 -5
  25. package/components/{edit-option-base-qePiIQWd.js → edit-option-base-CPLI5-oZ.js} +2 -2
  26. package/components/{edit-option-base-Boz7TNRZ.cjs → edit-option-base-ChZvMFLr.cjs} +1 -1
  27. package/components/edit-option-color-picker/index.cjs +10 -10
  28. package/components/edit-option-color-picker/index.js +16 -16
  29. package/components/edit-option-multi-language-field/index.cjs +1 -1
  30. package/components/edit-option-multi-language-field/index.js +2 -2
  31. package/components/edit-option-number-field/index.cjs +1 -1
  32. package/components/edit-option-number-field/index.js +2 -2
  33. package/components/edit-option-picker/index.cjs +1 -1
  34. package/components/edit-option-picker/index.js +3 -3
  35. package/components/edit-option-position-picker/index.cjs +1 -1
  36. package/components/edit-option-position-picker/index.js +2 -2
  37. package/components/edit-option-positions-number-field/index.cjs +1 -1
  38. package/components/edit-option-positions-number-field/index.js +3 -3
  39. package/components/edit-option-radio-button-group/index.cjs +1 -1
  40. package/components/edit-option-radio-button-group/index.js +3 -3
  41. package/components/edit-option-slider/index.cjs +2 -2
  42. package/components/edit-option-slider/index.js +2 -2
  43. package/components/edit-option-switch/index.cjs +2 -2
  44. package/components/edit-option-switch/index.js +3 -3
  45. package/components/edit-option-text-field/index.cjs +1 -1
  46. package/components/edit-option-text-field/index.js +2 -2
  47. package/components/filter-data-item-picker/filter-data-item-picker.d.ts +80 -0
  48. package/components/filter-data-item-picker/index.d.ts +7 -0
  49. package/components/filter-expression-picker/filter-expression-picker.d.ts +60 -0
  50. package/components/filter-expression-picker/index.d.ts +7 -0
  51. package/components/filter-group/filter-group.d.ts +39 -0
  52. package/components/filter-group/index.d.ts +7 -0
  53. package/components/filter-item/filter-item.d.ts +64 -0
  54. package/components/filter-item/index.d.ts +7 -0
  55. package/components/filter-item/stories/dataset-data-items.const.d.ts +15 -0
  56. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +26 -0
  57. package/components/filter-parameter-picker/index.d.ts +7 -0
  58. package/components/filter-value-picker/filter-value-picker.d.ts +65 -0
  59. package/components/filter-value-picker/index.d.ts +7 -0
  60. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +43 -0
  61. package/components/filter-value-picker-datetime/index.d.ts +7 -0
  62. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +71 -0
  63. package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
  64. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +72 -0
  65. package/components/filter-value-picker-numeric/index.d.ts +7 -0
  66. package/components/index-B6Os866t.cjs +127 -0
  67. package/components/index-BgR4fBCA.cjs +42 -0
  68. package/components/{index-CdUTqQ3L.cjs → index-BnOOdgQZ.cjs} +3 -3
  69. package/components/{index-BH9W0QLt-DBxyzKWK.js → index-Brne8JKA.js} +84 -51
  70. package/components/{index-CXIT0cYY.js → index-Bsn3jtgt.js} +2 -2
  71. package/components/index-CAG4u31N.cjs +117 -0
  72. package/components/{index-DUO13KGl.cjs → index-CDUZyVS8.cjs} +1 -1
  73. package/components/{index-BYfDERr7.js → index-CJtXD_RI.js} +1 -1
  74. package/components/{index-Dc9c_dq-.cjs → index-CMvCwUvn.cjs} +1 -1
  75. package/components/{index-ymMEPngt.js → index-CPdcj1Bo.js} +22 -22
  76. package/components/{index-ByjLd3bT.cjs → index-CT2P9cSY.cjs} +2 -2
  77. package/components/{index-BUSWsm5N.js → index-CTxrSfyd.js} +4 -4
  78. package/components/{index-B3ve6cAj.js → index-CX0ynTHR.js} +135 -101
  79. package/components/{index-i8GaIN7i.cjs → index-CY1zprJk.cjs} +1 -1
  80. package/components/{index-CfEn3fIT.js → index-CdZDTZcN.js} +1 -1
  81. package/components/{index-aYcu00GB.js → index-DDm8p09D.js} +1 -1
  82. package/components/{index-h9T5DPIm.cjs → index-DFt-aKCN.cjs} +2 -2
  83. package/components/{index-C8IL2IZ6.js → index-DOnHTKUs.js} +2 -2
  84. package/components/{index-86cIx1Ql.cjs → index-DULisWB3.cjs} +2 -2
  85. package/components/index-DW3LXQ5Z.js +779 -0
  86. package/components/{index-CdCtJpK9.js → index-Dk2zOgvd.js} +4 -4
  87. package/components/index-DoZEESMk.cjs +217 -0
  88. package/components/{index-BVX_ozT9.js → index-Dpt_Qqgy.js} +1 -1
  89. package/components/{index-Bt5nP_6w.cjs → index-Dv1aV79F.cjs} +1 -1
  90. package/components/{index-BJVxTeoi.cjs → index-E6HaIK_Z.cjs} +2 -2
  91. package/components/{index-DEVOZNSc.cjs → index-NFKXlEm1.cjs} +1 -1
  92. package/components/{index-Bee1uunR.js → index-OuAMpMdS.js} +1 -1
  93. package/components/{index-DVAsMiOm.js → index-nP-SGD7o.js} +3 -3
  94. package/components/index.cjs +1 -1
  95. package/components/index.js +457 -54
  96. package/components/{language-resolution-8yZa5r_P-FqQChUDW.cjs → language-resolution-8yZa5r_P-CYK1IIrs.cjs} +2 -2
  97. package/components/{language-resolution-8yZa5r_P-Bn0bYosv.js → language-resolution-8yZa5r_P-Chn3SFme.js} +7 -7
  98. package/components/{luzmo-icons-BE2T8vWu.js → luzmo-icons-DxZo8BWX.js} +15 -15
  99. package/components/slot-menu/index.cjs +1 -1
  100. package/components/slot-menu/index.js +2 -2
  101. package/components/slot-menu-list/index.js +1 -1
  102. package/components/text-field-BTnBJoP9-Cwm3XQ88.cjs +147 -0
  103. package/components/text-field-BTnBJoP9-jo797Hka.js +430 -0
  104. package/components/utils.cjs +1 -1
  105. package/components/utils.js +472 -54
  106. package/custom-elements.json +4 -4
  107. package/index.d.ts +1 -0
  108. package/item-definitions/marker-map/marker-map-options.config.d.ts +1 -1
  109. package/package.json +1 -1
  110. package/utils/data-broker/index.d.ts +173 -0
  111. package/utils/data-item-types/calculate-data-item-icon.d.ts +3 -0
  112. package/utils/expressions/index.d.ts +13 -0
  113. package/utils/index.d.ts +1 -0
  114. package/utils/themes/index.d.ts +507 -0
  115. package/components/index-BH9W0QLt-Cy2sUVJ_.cjs +0 -95
  116. package/components/index-D5LI0odG.js +0 -44
  117. package/components/index-DM_2d78G.js +0 -744
  118. package/components/index-DrLPC6eG.cjs +0 -185
  119. package/components/index-iYpAy-Kg.cjs +0 -95
  120. package/components/index-w3j1USKK.cjs +0 -36
  121. package/components/index-zuArOtOt.cjs +0 -42
  122. package/components/text-field-CvKSS59x-Dn0_1HO7.js +0 -412
  123. package/components/text-field-CvKSS59x-E9LQElL4.cjs +0 -131
@@ -0,0 +1,779 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2025 Luzmo
4
+ * All rights reserved.
5
+ * Luzmo web components (“Luzmo Web Components”)
6
+ * must be used according to the Luzmo Terms of Service.
7
+ * This license allows users with a current active Luzmo account
8
+ * to use the Luzmo Web Components. This license terminates
9
+ * automatically if a user no longer has an active Luzmo account.
10
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ * SOFTWARE.
19
+ * */
20
+ import { v as x, H as c, r as w, d as u, w as I, h as C, R as s } from "./property-B2F7x7Cz.js";
21
+ import { _ as $, $ as S, s as E, n as v } from "./directive-helpers-nlQRAaQt-I6T4KZKW.js";
22
+ import { m as h, d as m } from "./if-defined-BSAr_4u4-4Ys8VE7T.js";
23
+ import { p as M } from "./index-Bsn3jtgt.js";
24
+ import { a as q } from "./index-DOnHTKUs.js";
25
+ import { c as k } from "./async-directive-DWRUSKKF-CmOVMf6V.js";
26
+ import "./index-CdZDTZcN.js";
27
+ import { m as A } from "./sized-mixin-BxMraZLS-B_y0PzR3.js";
28
+ import { O as b, T as L, I as F } from "./luzmo-icons-DxZo8BWX.js";
29
+ import "./index-Brne8JKA.js";
30
+ /*! * Lucero - The design system for Luzmo.
31
+ *
32
+ * Copyright © 2025 Luzmo
33
+ * All rights reserved.
34
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
35
+ * This license allows users with a current active Luzmo account to use Lucero.
36
+ * This license terminates automatically if a user no longer has an active Luzmo account.
37
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
38
+ *
39
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
40
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
41
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
42
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
43
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
44
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
45
+ * SOFTWARE.
46
+ * */
47
+ /**
48
+ * @license
49
+ * Copyright 2018 Google LLC
50
+ * SPDX-License-Identifier: BSD-3-Clause
51
+ */
52
+ const O = $(class extends S {
53
+ constructor(r) {
54
+ var e;
55
+ if (super(r), r.type !== E.ATTRIBUTE || r.name !== "class" || ((e = r.strings) == null ? void 0 : e.length) > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.");
56
+ }
57
+ render(r) {
58
+ return " " + Object.keys(r).filter((e) => r[e]).join(" ") + " ";
59
+ }
60
+ update(r, [e]) {
61
+ var o, t;
62
+ if (this.st === void 0) {
63
+ this.st = /* @__PURE__ */ new Set(), r.strings !== void 0 && (this.nt = new Set(r.strings.join(" ").split(/\s/).filter((i) => i !== "")));
64
+ for (const i in e) e[i] && !((o = this.nt) != null && o.has(i)) && this.st.add(i);
65
+ return this.render(e);
66
+ }
67
+ const n = r.element.classList;
68
+ for (const i of this.st) i in e || (n.remove(i), this.st.delete(i));
69
+ for (const i in e) {
70
+ const d = !!e[i];
71
+ d === this.st.has(i) || (t = this.nt) != null && t.has(i) || (d ? (n.add(i), this.st.add(i)) : (n.remove(i), this.st.delete(i)));
72
+ }
73
+ return x;
74
+ }
75
+ });
76
+ /*! * Lucero - The design system for Luzmo.
77
+ *
78
+ * Copyright © 2025 Luzmo
79
+ * All rights reserved.
80
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
81
+ * This license allows users with a current active Luzmo account to use Lucero.
82
+ * This license terminates automatically if a user no longer has an active Luzmo account.
83
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
84
+ *
85
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
86
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
87
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
88
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
89
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
90
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
91
+ * SOFTWARE.
92
+ * */
93
+ const B = "(max-width: 743px) and (hover: none) and (pointer: coarse)";
94
+ class T {
95
+ constructor(e, o) {
96
+ this.key = Symbol("match-media-key"), this.matches = !1, this.host = e, this.host.addController(this), this.media = window.matchMedia(o), this.matches = this.media.matches, this.onChange = this.onChange.bind(this), e.addController(this);
97
+ }
98
+ hostConnected() {
99
+ var e;
100
+ (e = this.media) == null || e.addEventListener("change", this.onChange);
101
+ }
102
+ hostDisconnected() {
103
+ var e;
104
+ (e = this.media) == null || e.removeEventListener("change", this.onChange);
105
+ }
106
+ onChange(e) {
107
+ this.matches !== e.matches && (this.matches = e.matches, this.host.requestUpdate(this.key, !this.matches));
108
+ }
109
+ }
110
+ const P = '#button{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--luzmo-button-font-family, var(--luzmo-font-family));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:var(--luzmo-button-line-height, var(--luzmo-line-height, 1.3));text-transform:none;vertical-align:top;-webkit-appearance:button;transition:background var(--luzmo-button-animation-duration, var(--luzmo-animation-duration)) ease-out,border-color var(--luzmo-button-animation-duration, var(--luzmo-animation-duration)) ease-out,color var(--luzmo-button-animation-duration, var(--luzmo-animation-duration)) ease-out,box-shadow var(--luzmo-button-animation-duration, var(--luzmo-animation-duration)) ease-out;justify-content:center;align-items:center;margin:0;-webkit-text-decoration:none;text-decoration:none;display:inline-flex;position:relative;overflow:visible}#button::-moz-focus-inner{border-style:none;padding:0}#button:focus{outline:none}#icon{margin-inline-end:var(--luzmo-picker-spacing-text-to-icon, var(--picker-spacing-text-to-icon));font-size:var(--luzmo-picker-font-size, var(--picker-font-size))}@media (forced-colors: active){:host{--highcontrast-picker-focus-indicator-color: Highlight;--highcontrast-picker-border-color-default: ButtonBorder;--highcontrast-picker-border-color-hover: Highlight;--highcontrast-picker-border-color-disabled: GrayText;--highcontrast-picker-content-color-default: ButtonText;--highcontrast-picker-content-color-disabled: GrayText;--highcontrast-picker-background-color: ButtonFace}#button.is-keyboardFocused,#button:focus-visible{--highcontrast-picker-border-color-hover: ButtonText}#button .label,#button:after{forced-color-adjust:none}}#button{box-sizing:border-box;max-inline-size:100%;min-inline-size:calc(var(--picker-minimum-width-multiplier) * var(--luzmo-picker-block-size, var(--picker-block-size)));block-size:var(--luzmo-picker-block-size, var(--picker-block-size));border-width:var(--luzmo-picker-border-width, var(--picker-border-width));border-radius:var(--luzmo-picker-border-radius, var(--picker-border-radius));box-shadow:var(--luzmo-picker-box-shadow, var(--picker-box-shadow));transition:background-color var(--luzmo-picker-animation-duration, var(--picker-animation-duration)),box-shadow var(--luzmo-picker-animation-duration, var(--picker-animation-duration)),border-color var(--luzmo-picker-animation-duration, var(--picker-animation-duration)) ease-in-out;color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default, var(--picker-font-color-default)));background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-default, var(--picker-background-color-default)));border-style:solid;border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-default, var(--picker-border-color-default)));margin-block-start:var(--luzmo-picker-spacing-label-to-picker, var(--picker-spacing-label-to-picker));padding-block:0;padding-inline-start:var(--luzmo-picker-spacing-edge-to-text, var(--picker-spacing-edge-to-text));padding-inline-end:var(--luzmo-picker-spacing-edge-to-disclosure-icon, var(--picker-spacing-edge-to-disclosure-icon));display:flex}#button:after{pointer-events:none;content:"";block-size:calc(100% + var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) * 2 + var(--luzmo-picker-border-width, var(--picker-border-width)) * 2);inline-size:calc(100% + var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) * 2 + var(--luzmo-picker-border-width, var(--picker-border-width)) * 2);border-style:solid;border-width:var(--luzmo-picker-focus-indicator-thickness, var(--picker-focus-indicator-thickness));border-radius:calc(var(--luzmo-picker-border-radius, var(--picker-border-radius)) + var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) + var(--luzmo-picker-border-width, var(--picker-border-width)));border-color:#0000;margin-block-start:calc((var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) + var(--luzmo-picker-focus-indicator-thickness, var(--picker-focus-indicator-thickness)) + var(--luzmo-picker-border-width, var(--picker-border-width))) * -1);margin-inline-start:calc((var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) + var(--luzmo-picker-focus-indicator-thickness, var(--picker-focus-indicator-thickness)) + var(--luzmo-picker-border-width, var(--picker-border-width))) * -1);position:absolute;inset-block:0;inset-inline:0}#button:active{background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-active, var(--picker-background-color-active)));border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-active, var(--picker-border-color-active)))}#button:active:after{border-color:#0000}#button.placeholder:active .label{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-active, var(--picker-font-color-active)))}#button.is-keyboardFocused,#button:focus-visible{background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-key-focus, var(--picker-background-color-key-focus)));border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-key-focus, var(--picker-border-color-key-focus)));color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-key-focus, var(--picker-font-color-key-focus)));outline:none}#button.is-keyboardFocused:after,#button:focus-visible:after{border-color:var(--highcontrast-picker-focus-indicator-color, var(--luzmo-picker-focus-indicator-color, var(--picker-focus-indicator-color)))}#button.is-keyboardFocused.placeholder,#button.placeholder:focus-visible{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-key-focus, var(--picker-font-color-key-focus)))}#button.is-keyboardFocused .disclosure-icon,#button:focus-visible .disclosure-icon{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-key-focus, var(--picker-icon-color-key-focus)))}:host([open]) #button:not(:disabled,.is-disabled){color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default-open, var(--picker-font-color-default-open)));background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-default-open, var(--picker-background-color-default-open)));border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-default-open, var(--picker-border-color-default-open)))}:host([open]) #button:not(:disabled,.is-disabled) .disclosure-icon{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-default-open, var(--picker-icon-color-default-open)))}:host([invalid]) #button:not(:disabled,.is-disabled){border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-error-default, var(--picker-border-color-error-default)))}:host([invalid]) #button:not(:disabled,.is-disabled) .validation-icon{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-error, var(--picker-icon-color-error)))}:host([invalid]) #button:not(:disabled,.is-disabled):active{border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-error-active, var(--picker-border-color-error-active)))}:host([invalid][open]) #button:not(:disabled,.is-disabled){border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-error-default-open, var(--picker-border-color-error-default-open)))}:host([invalid]) #button.is-keyboardFocused:not(:disabled,.is-disabled),:host([invalid]) #button:not(:disabled,.is-disabled):focus-visible{border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-error-key-focus, var(--picker-border-color-error-key-focus)))}:host([pending]) #button .disclosure-icon{color:var(--highcontrast-picker-content-color-disabled, var(--luzmo-picker-icon-color-disabled, var(--picker-icon-color-disabled)))}.icon{flex-shrink:0}.label{white-space:nowrap;font-size:var(--luzmo-picker-font-size, var(--picker-font-size));line-height:var(--luzmo-picker-line-height, var(--picker-line-height));font-weight:var(--luzmo-picker-font-weight, var(--picker-font-weight));text-overflow:ellipsis;text-align:start;flex:auto;overflow:hidden}.label.placeholder{font-weight:var(--luzmo-picker-placeholder-font-weight, var(--picker-font-weight));font-style:var(--luzmo-picker-placeholder-font-style, var(--picker-placeholder-font-style));transition:color var(--luzmo-picker-animation-duration, var(--picker-animation-duration)) ease-in-out;color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default, var(--picker-font-color-default)))}.label.placeholder:active{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-active, var(--picker-font-color-active)))}.disclosure-icon{vertical-align:top;transition:color var(--luzmo-picker-animation-duration, var(--picker-animation-duration)) ease-out;margin-inline-start:var(--luzmo-picker-spacing-icon-to-disclosure-icon, var(--picker-spacing-icon-to-disclosure-icon));color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-default, var(--picker-icon-color-default)));flex-shrink:0;display:inline-block;position:relative}.disclosure-icon:active{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-active, var(--picker-icon-color-active)))}luzmo-progress-circle,.validation-icon{margin-inline-start:var(--luzmo-picker-spacing-text-to-icon, var(--picker-spacing-text-to-icon))}.icon-container{display:flex;position:relative;height:100%;align-items:center;font-size:var(--luzmo-picker-disclosure-icon-size, var(--picker-disclosure-icon-size))}.icon-container.disclosure-icon{margin-inline-end:0}.label~.disclosure-icon{margin-inline-start:var(--luzmo-picker-spacing-text-to-icon, var(--picker-spacing-text-to-icon))}:host([quiet]) #button{inline-size:auto;min-inline-size:0;padding-inline:var(--luzmo-picker-spacing-edge-to-text-quiet, var(--picker-spacing-edge-to-text-quiet));color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default, var(--picker-font-color-default)));background-color:initial;background-color:var(--highcontrast-picker-background-color, transparent);border:none;border-radius:0;box-shadow:none;margin-block-start:calc(var(--luzmo-picker-spacing-label-to-picker-quiet, var(--picker-spacing-label-to-picker-quiet)) + 1px)}:host([quiet]) #button.label-inline{margin-block-start:0}:host([quiet]) #button .disclosure-icon{margin-inline-end:var(--luzmo-picker-spacing-edge-to-disclosure-icon-quiet, var(--picker-spacing-edge-to-disclosure-icon-quiet))}:host([quiet]) #button:after{block-size:auto;inline-size:auto;border:none}@media (hover: hover){#button:hover{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-hover, var(--picker-font-color-hover)));background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-hover, var(--picker-background-color-hover)));border-color:var(--highcontrast-picker-border-color-hover, var(--luzmo-picker-border-color-hover, var(--picker-border-color-hover)))}#button:hover .disclosure-icon{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-hover, var(--picker-icon-color-hover)))}:host([open]):not([quiet]) #button:not(:disabled,.is-disabled):hover{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-hover-open, var(--picker-font-color-hover-open)));background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-hover-open, var(--picker-background-color-hover-open)));border-color:var(--highcontrast-picker-border-color-hover, var(--luzmo-picker-border-color-hover-open, var(--picker-border-color-hover-open)))}:host([open]) #button:not(:disabled,.is-disabled):hover .disclosure-icon{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-hover-open, var(--picker-icon-color-hover-open)))}:host([invalid]) #button:not(:disabled,.is-disabled):hover{border-color:var(--highcontrast-picker-border-color-hover, var(--luzmo-picker-border-color-error-hover, var(--picker-border-color-error-hover)))}:host([invalid][open]) #button:not(:disabled,.is-disabled):hover{border-color:var(--highcontrast-picker-border-color-hover, var(--luzmo-picker-border-color-error-hover-open, var(--picker-border-color-error-hover-open)))}.label.placeholder:hover{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-hover, var(--picker-font-color-hover)))}:host([quiet]) #button:hover{background-color:initial;background-color:var(--highcontrast-picker-background-color, transparent)!important}}:host([quiet]) #button.is-keyboardFocused,:host([quiet]) #button:focus-visible{background-color:initial;background-color:var(--highcontrast-picker-background-color, transparent)}:host([quiet]) #button.is-keyboardFocused:after,:host([quiet]) #button:focus-visible:after{box-shadow:0 var(--luzmo-picker-focus-indicator-thickness, var(--picker-focus-indicator-thickness)) 0 0 var(--highcontrast-picker-focus-indicator-color, var(--luzmo-picker-focus-indicator-color, var(--picker-focus-indicator-color)));margin:calc((var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) + var(--luzmo-picker-border-width, var(--picker-border-width))) * -1) 0;border:none;border-radius:0}:host([quiet][open]) #button,:host([quiet][disabled]) #button#button,:host([quiet]) #button#button:disabled,:host([quiet]) #button:active{background-color:initial;background-color:var(--highcontrast-picker-background-color, transparent)}.label-inline{vertical-align:top;display:inline-flex}:host([disabled]) #button,#button:disabled{cursor:default;background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-disabled, var(--picker-background-color-disabled)));border-color:#0000;border-color:var(--highcontrast-picker-border-color-disabled, transparent);color:var(--highcontrast-picker-content-color-disabled, var(--luzmo-picker-font-color-disabled, var(--picker-font-color-disabled)))}:host([disabled]) #button .icon,:host([disabled]) #button .disclosure-icon,:host([disabled]) #button .validation-icon,#button:disabled .icon,#button:disabled .disclosure-icon,#button:disabled .validation-icon{color:var(--highcontrast-picker-content-color-disabled, var(--luzmo-picker-icon-color-disabled, var(--picker-icon-color-disabled)))}:host([disabled]) #button .label.placeholder,#button:disabled .label.placeholder{color:var(--highcontrast-picker-content-color-disabled, var(--luzmo-picker-font-color-disabled, var(--picker-font-color-disabled)))}:host{--picker-box-shadow: 0px 1px 3px 0px rgba(var(--luzmo-border-color-rgb), .06);--picker-background-color-default: var(--luzmo-background-color);--picker-background-color-default-open: var(--luzmo-background-color-hover);--picker-background-color-active: var(--luzmo-background-color-down);--picker-background-color-hover: var(--luzmo-background-color-hover);--picker-background-color-hover-open: var(--luzmo-background-color-down);--picker-background-color-key-focus: var(--luzmo-background-color-down);--picker-border-color-default: var(--luzmo-border-color);--picker-border-color-default-open: var(--luzmo-border-color-hover);--picker-border-color-hover: var(--luzmo-border-color);--picker-border-color-hover-open: var(--luzmo-border-color-hover);--picker-border-color-active: var(--luzmo-border-color);--picker-border-color-key-focus: var(--luzmo-border-color);--picker-border-width: var(--luzmo-border-width);--picker-font-size: var(--luzmo-font-size);--picker-font-weight: var(--luzmo-font-weight);--picker-placeholder-font-style: var(--luzmo-font-style);--picker-line-height: var(--luzmo-line-height);--picker-block-size: 32px;--picker-border-radius: var(--luzmo-border-radius);--picker-spacing-edge-to-text: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-text-to-icon: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-text-to-icon-inline-end: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-icon-to-disclosure-icon: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-edge-to-text-quiet: 0px;--picker-spacing-label-to-picker: 0px;--picker-spacing-label-to-picker-quiet: calc( -1 * var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-edge-to-disclosure-icon: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-edge-to-disclosure-icon-quiet: 0px;--picker-animation-duration: var(--luzmo-animation-duration);--picker-font-color-default: var(--luzmo-font-color);--picker-font-color-default-open: var(--luzmo-font-color-hover);--picker-font-color-hover: var(--luzmo-font-color-hover);--picker-font-color-hover-open: var(--luzmo-font-color-down);--picker-font-color-active: var(--luzmo-font-color-focus);--picker-font-color-key-focus: var(--luzmo-font-color-focus);--picker-icon-color-default: var(--luzmo-font-color);--picker-icon-color-default-open: var(--luzmo-font-color-hover);--picker-icon-color-hover: var(--luzmo-font-color-hover);--picker-icon-color-hover-open: var(--luzmo-font-color-hover);--picker-icon-color-active: var(--luzmo-font-color-focus);--picker-icon-color-key-focus: var(--luzmo-font-color-focus);--picker-border-color-error-default: var(--luzmo-negative-color);--picker-border-color-error-default-open: var(--luzmo-negative-color-down);--picker-border-color-error-hover: var(--luzmo-negative-color-hover);--picker-border-color-error-hover-open: var(--luzmo-negative-color-down);--picker-border-color-error-active: var(--luzmo-negative-color-down);--picker-border-color-error-key-focus: var(--luzmo-negative-color-focus);--picker-icon-color-error: var(--luzmo-negative-color);--picker-background-color-disabled: var(--luzmo-background-color-disabled);--picker-font-color-disabled: var(--luzmo-disabled-color);--picker-icon-color-disabled: var(--luzmo-disabled-color);--picker-focus-indicator-gap: var(--luzmo-indicator-gap);--picker-focus-indicator-thickness: var(--luzmo-indicator-width);--picker-focus-indicator-color: var(--luzmo-indicator-color);--picker-disclosure-icon-size: var(--luzmo-font-size-s)}:host([size=s]){--picker-block-size: 28px;--picker-font-size: var(--luzmo-font-size-s);--picker-border-radius: var(--luzmo-border-radius);--picker-spacing-edge-to-text: var(--luzmo-spacing-3);--picker-spacing-text-to-icon: var(--luzmo-spacing-3);--picker-spacing-text-to-icon-inline-end: var(--luzmo-spacing-3);--picker-spacing-icon-to-disclosure-icon: var(--luzmo-spacing-3);--picker-spacing-label-to-picker-quiet: calc(-1 * var(--luzmo-spacing-3));--picker-spacing-edge-to-disclosure-icon: var(--luzmo-spacing-3);--picker-disclosure-icon-size: var(--luzmo-font-size-s)}:host([size=l]){--picker-block-size: 40px;--picker-font-size: var(--luzmo-font-size-l);--picker-border-radius: var(--luzmo-border-radius);--picker-spacing-edge-to-text: var(--luzmo-spacing-4);--picker-spacing-text-to-icon: var(--luzmo-spacing-4);--picker-spacing-text-to-icon-inline-end: var(--luzmo-spacing-4);--picker-spacing-icon-to-disclosure-icon: var(--luzmo-spacing-4);--picker-spacing-label-to-picker-quiet: calc(-1 * var(--luzmo-spacing-4));--picker-spacing-edge-to-disclosure-icon: var(--luzmo-spacing-4);--picker-disclosure-icon-size: var(--luzmo-font-size)}:host([size=xl]){--picker-block-size: 48px;--picker-font-size: var(--luzmo-font-size-xl);--picker-border-radius: var(--luzmo-border-radius-l);--picker-spacing-edge-to-text: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-spacing-text-to-icon: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-spacing-text-to-icon-inline-end: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-spacing-icon-to-disclosure-icon: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-spacing-label-to-picker-quiet: calc( -1 * var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-spacing-edge-to-disclosure-icon: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-disclosure-icon-size: var(--luzmo-font-size-l)}:host([variant=highlight]) ::slotted(luzmo-menu-item[selected]){--menu-item-highlight-label-content-color: var(--luzmo-primary-inverse-color);--menu-item-label-icon-color-default: var(--luzmo-primary-inverse-color);--menu-checkmark-display: var(--menu-checkmark-display-hidden);padding-inline-start:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content));background-color:var(--luzmo-menu-item-highlight-label-background-color, var(--menu-item-highlight-label-background-color, var(--luzmo-border-color)))}:host{display:inline-flex;vertical-align:top;max-inline-size:100%;inline-size:var(--luzmo-picker-inline-size, var(--picker-inline-size));min-inline-size:calc(var(--picker-minimum-width-multiplier) * var(--luzmo-picker-block-size, var(--picker-block-size)))}:host([quiet]){width:auto;min-width:0}:host([disabled]){pointer-events:none}#button{width:100%;min-width:100%;max-width:100%}#icon:not([hidden]){display:inline-flex}:host([readonly]) #button{-webkit-user-select:inherit;user-select:inherit}.picker,.validation-icon{flex-shrink:0}luzmo-overlay{pointer-events:none}luzmo-menu{pointer-events:initial}:host>luzmo-menu{display:none}:host([focused]:not([quiet])) #button #label.placeholder{color:var(--picker-placeholder-text-color-key-focus, var(--alias-placeholder-text-color-hover))}#label.visually-hidden~.picker{margin-inline-start:auto}:host([focused]:not([quiet],[pending])) #button .picker{color:var(--picker-icon-color-key-focus, var(--alias-icon-color-focus))}.visually-hidden{border:0;clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;margin:0 -1px -1px 0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}luzmo-overlay:not(:defined){display:none}#button.remove-focus-ring-safari-hack:focus-visible{background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-default, var(--picker-background-color-default)));border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-default, var(--picker-border-color-default)));color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default, var(--picker-font-color-default)))}#button.remove-focus-ring-safari-hack:after{border:none}#button.remove-focus-ring-safari-hack:focus-visible:after{box-shadow:none}#button.remove-focus-ring-safari-hack:active{background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-default, var(--picker-background-color-default)));border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-default, var(--picker-border-color-default)));color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default, var(--picker-font-color-default)))}';
111
+ var g = /* @__PURE__ */ ((r) => (r[r.desktop = 0] = "desktop", r[r.mobile = 1] = "mobile", r))(g || {});
112
+ let y = class {
113
+ constructor(e, o) {
114
+ this.target = e, this.host = o, this.preventNextToggle = "no", this.pointerdownState = !1, this.enterKeydownOn = null, this._open = !1, this.target = e, this.host = o, this.host.addController(this), this.init();
115
+ }
116
+ get activelyOpening() {
117
+ return !1;
118
+ }
119
+ get open() {
120
+ return this._open;
121
+ }
122
+ /**
123
+ * Set `open`
124
+ */
125
+ set open(e) {
126
+ if (this._open !== e) {
127
+ if (this._open = e, this.overlay) {
128
+ this.host.open = e;
129
+ return;
130
+ }
131
+ customElements.whenDefined("luzmo-overlay").then(async () => {
132
+ const { LuzmoOverlay: o } = await import("./index-Bsn3jtgt.js").then((t) => t.i);
133
+ this.overlay = new o(), this.host.open = !0, this.host.requestUpdate();
134
+ }), import("./index-Bsn3jtgt.js").then((o) => o.i);
135
+ }
136
+ }
137
+ get overlay() {
138
+ return this._overlay;
139
+ }
140
+ set overlay(e) {
141
+ e && this.overlay !== e && (this._overlay = e, this.initOverlay());
142
+ }
143
+ releaseDescription() {
144
+ }
145
+ handleBeforetoggle(e) {
146
+ var o;
147
+ e.composedPath()[0] === e.target && (e.newState === "closed" && (this.preventNextToggle === "no" ? this.open = !1 : this.pointerdownState || (o = this.overlay) == null || o.manuallyKeepOpen()), this.open || (this.host.optionsMenu.updateSelectedItemIndex(), this.host.optionsMenu.closeDescendentOverlays()));
148
+ }
149
+ initOverlay() {
150
+ this.overlay && (this.overlay.addEventListener("beforetoggle", (e) => {
151
+ this.handleBeforetoggle(
152
+ e
153
+ );
154
+ }), this.overlay.type = this.host.isMobile.matches ? "modal" : "auto", this.overlay.triggerElement = this.host, this.overlay.placement = this.host.isMobile.matches ? void 0 : this.host.placement, this.overlay.receivesFocus = "true", this.overlay.willPreventClose = this.preventNextToggle !== "no" && this.open, this.overlay.addEventListener(
155
+ "slottable-request",
156
+ this.host.handleSlottableRequest
157
+ ));
158
+ }
159
+ handlePointerdown(e) {
160
+ }
161
+ handleButtonFocus(e) {
162
+ this.preventNextToggle === "maybe" && e.relatedTarget === this.host.optionsMenu && (this.preventNextToggle = "yes");
163
+ }
164
+ handleActivate(e) {
165
+ }
166
+ /* c8 ignore next 3 */
167
+ init() {
168
+ }
169
+ abort() {
170
+ var e;
171
+ this.releaseDescription(), (e = this.abortController) == null || e.abort();
172
+ }
173
+ hostConnected() {
174
+ this.init();
175
+ }
176
+ hostDisconnected() {
177
+ var e;
178
+ (e = this.abortController) == null || e.abort();
179
+ }
180
+ hostUpdated() {
181
+ this.overlay && this.host.dependencyManager.loaded && this.host.open !== this.overlay.open && (this.overlay.willPreventClose = this.preventNextToggle !== "no", this.overlay.open = this.host.open);
182
+ }
183
+ }, D = class extends y {
184
+ constructor() {
185
+ super(...arguments), this.type = g.desktop;
186
+ }
187
+ handlePointerdown(e) {
188
+ if (e.button !== 0 || e.pointerType === "touch")
189
+ return;
190
+ this.pointerdownState = this.open, this.preventNextToggle = "maybe";
191
+ let o = 0;
192
+ const t = () => {
193
+ cancelAnimationFrame(o), o = requestAnimationFrame(() => {
194
+ document.removeEventListener("pointerup", t), document.removeEventListener("pointercancel", t), this.target.removeEventListener("click", t), requestAnimationFrame(() => {
195
+ this.preventNextToggle = "no";
196
+ });
197
+ });
198
+ };
199
+ document.addEventListener("pointerup", t), document.addEventListener("pointercancel", t), this.target.addEventListener("click", t), this.handleActivate();
200
+ }
201
+ handleActivate(e) {
202
+ this.enterKeydownOn && this.enterKeydownOn !== this.target || this.preventNextToggle !== "yes" && ((e == null ? void 0 : e.type) === "click" && this.open !== this.pointerdownState || this.host.toggle());
203
+ }
204
+ init() {
205
+ var e;
206
+ (e = this.abortController) == null || e.abort(), this.abortController = new AbortController();
207
+ const { signal: o } = this.abortController;
208
+ this.target.addEventListener(
209
+ "click",
210
+ (t) => this.handleActivate(t),
211
+ {
212
+ signal: o
213
+ }
214
+ ), this.target.addEventListener(
215
+ "pointerdown",
216
+ (t) => this.handlePointerdown(t),
217
+ { signal: o }
218
+ ), this.target.addEventListener(
219
+ "focus",
220
+ (t) => this.handleButtonFocus(t),
221
+ {
222
+ signal: o
223
+ }
224
+ );
225
+ }
226
+ };
227
+ const p = "remove-focus-ring-safari-hack";
228
+ class _ extends y {
229
+ constructor() {
230
+ super(...arguments), this.type = g.mobile;
231
+ }
232
+ handleClick() {
233
+ this.preventNextToggle === "no" && (this.open = !this.open), this.preventNextToggle = "no";
234
+ }
235
+ handlePointerdown() {
236
+ this.preventNextToggle = this.open ? "yes" : "no", k() && this.target.classList.add(p);
237
+ }
238
+ handleFocusOut() {
239
+ this.host.open || k() && this.target.classList.contains(p) && this.target.classList.remove(p);
240
+ }
241
+ init() {
242
+ var e;
243
+ (e = this.abortController) == null || e.abort(), this.abortController = new AbortController();
244
+ const { signal: o } = this.abortController;
245
+ this.target.addEventListener("click", () => this.handleClick(), {
246
+ signal: o
247
+ }), this.target.addEventListener(
248
+ "pointerdown",
249
+ () => this.handlePointerdown(),
250
+ { signal: o }
251
+ ), this.target.addEventListener("focusout", () => this.handleFocusOut(), {
252
+ signal: o
253
+ });
254
+ }
255
+ }
256
+ const f = {
257
+ desktop: D,
258
+ mobile: _
259
+ };
260
+ /*! * Lucero - The design system for Luzmo.
261
+ *
262
+ * Copyright © 2025 Luzmo
263
+ * All rights reserved.
264
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
265
+ * This license allows users with a current active Luzmo account to use Lucero.
266
+ * This license terminates automatically if a user no longer has an active Luzmo account.
267
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
268
+ *
269
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
270
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
271
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
272
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
273
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
274
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
275
+ * SOFTWARE.
276
+ * */
277
+ class R {
278
+ /**
279
+ * Creates an instance of PendingStateController.
280
+ * @param host - The host element that this controller is attached to.
281
+ */
282
+ constructor(e) {
283
+ this.cachedAriaLabel = null, this.host = e, this.host.addController(this);
284
+ }
285
+ /**
286
+ * Renders the pending state UI.
287
+ * @returns A TemplateResult representing the pending state UI.
288
+ */
289
+ renderPendingState() {
290
+ const e = this.host.pendingLabel || "Pending";
291
+ return this.host.pending ? c`
292
+ <luzmo-progress-circle
293
+ id="loader"
294
+ size="s"
295
+ indeterminate
296
+ aria-valuetext=${e}
297
+ class="progress-circle"
298
+ ></luzmo-progress-circle>
299
+ ` : c``;
300
+ }
301
+ /**
302
+ * Updates the ARIA label of the host element based on the pending state.
303
+ * Manages Cached Aria Label
304
+ */
305
+ updateAriaLabel() {
306
+ const { pending: e, disabled: o, pendingLabel: t } = this.host, n = this.host.getAttribute("aria-label");
307
+ e && !o && n !== t ? (this.cachedAriaLabel = n, this.host.setAttribute("aria-label", t || "Pending")) : (!e || o) && (this.cachedAriaLabel ? this.host.setAttribute("aria-label", this.cachedAriaLabel) : e || this.host.removeAttribute("aria-label"));
308
+ }
309
+ hostConnected() {
310
+ this.cachedAriaLabel || (this.cachedAriaLabel = this.host.getAttribute("aria-label")), this.updateAriaLabel();
311
+ }
312
+ hostUpdated() {
313
+ this.updateAriaLabel();
314
+ }
315
+ }
316
+ /*! * Lucero - The design system for Luzmo.
317
+ *
318
+ * Copyright © 2025 Luzmo
319
+ * All rights reserved.
320
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
321
+ * This license allows users with a current active Luzmo account to use Lucero.
322
+ * This license terminates automatically if a user no longer has an active Luzmo account.
323
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
324
+ *
325
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
326
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
327
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
328
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
329
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
330
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
331
+ * SOFTWARE.
332
+ * */
333
+ var U = Object.defineProperty, K = Object.getOwnPropertyDescriptor, a = (r, e, o, t) => {
334
+ for (var n = t > 1 ? void 0 : t ? K(e, o) : e, i = r.length - 1, d; i >= 0; i--)
335
+ (d = r[i]) && (n = (t ? d(e, o, n) : d(n)) || n);
336
+ return t && n && U(e, o, n), n;
337
+ };
338
+ const N = () => c`
339
+ <div class="disclosure-icon icon">
340
+ ${b(L, { className: "indicator" })}
341
+ </div>
342
+ `, H = () => c`
343
+ <div class="icon-container validation-icon icon">
344
+ ${b(F)}
345
+ </div>
346
+ `, z = "option-picker";
347
+ class l extends A(w, {
348
+ noDefaultSize: !0
349
+ }) {
350
+ /**
351
+ * Initializes the `PendingStateController` for the Picker component.
352
+ * The `PendingStateController` manages the pending state of the Picker.
353
+ */
354
+ constructor() {
355
+ super(), this.disabled = !1, this.focused = !1, this.invalid = !1, this.pending = !1, this.pendingLabel = "Pending", this.open = !1, this.readonly = !1, this.placement = "bottom-start", this.quiet = !1, this.value = "", this.selects = "single", this.dependencyManager = new q(this), this.isMobile = new T(this, B), this.listRole = "listbox", this.itemRole = "option", this.hasRenderedOverlay = !1, this._selfManageFocusElement = !1, this.deprecatedMenu = null, this.selectionPromise = Promise.resolve(), this.willManageSelection = !1, this.recentlyConnected = !1, this.enterKeydownOn = null, this.handleSlottableRequest = (e) => {
356
+ }, this.applyFocusElementLabel = (e, o) => {
357
+ this.appliedLabel = e, this.labelAlignment = o.sideAligned ? "inline" : void 0;
358
+ }, this.handleKeydown = (e) => {
359
+ this.focused = !0, !(e.code !== "ArrowDown" && e.code !== "ArrowUp") && (e.stopPropagation(), e.preventDefault(), this.toggle(!0));
360
+ }, this.renderAngleIcon = () => N(), this.renderAlertIcon = () => H(), this.handleEnterKeydown = (e) => {
361
+ if (e.code === "Enter") {
362
+ if (this.enterKeydownOn) {
363
+ e.preventDefault();
364
+ return;
365
+ }
366
+ this.enterKeydownOn = e.target, this.addEventListener(
367
+ "keyup",
368
+ (o) => {
369
+ o.code === "Enter" && (this.enterKeydownOn = null);
370
+ },
371
+ { once: !0 }
372
+ );
373
+ }
374
+ }, this.pendingStateController = new R(this);
375
+ }
376
+ get selectedItem() {
377
+ return this._selectedItem;
378
+ }
379
+ get selectedItemContent() {
380
+ return this._selectedItemContent || { icon: [], content: [] };
381
+ }
382
+ get selfManageFocusElement() {
383
+ return this._selfManageFocusElement;
384
+ }
385
+ get menuItems() {
386
+ return this.optionsMenu.childItems;
387
+ }
388
+ set selectedItem(e) {
389
+ const o = e == null ? void 0 : e.querySelector('[slot="icon"]');
390
+ if (this.selectedItemContent = e ? e.itemChildren : void 0, e === this.selectedItem)
391
+ return;
392
+ const t = this.selectedItem;
393
+ this._selectedItem = e, this._selectedItemIcon = (o == null ? void 0 : o.icon) ?? void 0, this.requestUpdate("selectedItem", t);
394
+ }
395
+ get focusElement() {
396
+ return this.open ? this.optionsMenu : this.button;
397
+ }
398
+ forceFocusVisible() {
399
+ this.disabled || (this.focused = !0);
400
+ }
401
+ click() {
402
+ this.disabled || this.toggle();
403
+ }
404
+ handleButtonBlur() {
405
+ this.focused = !1;
406
+ }
407
+ focus(e) {
408
+ super.focus(e), !this.disabled && this.focusElement && (this.focused = this.hasVisibleFocusInTree());
409
+ }
410
+ handleHelperFocus() {
411
+ this.focused = !0, this.button.focus();
412
+ }
413
+ handleChange(e) {
414
+ this.strategy && (this.strategy.preventNextToggle = "no");
415
+ const o = e.target, [t] = o.selectedItems;
416
+ e.stopPropagation(), e.cancelable ? this.setValueFromItem(t, e) : (this.open = !1, this.strategy && (this.strategy.open = !1));
417
+ }
418
+ handleButtonFocus(e) {
419
+ var o;
420
+ (o = this.strategy) == null || o.handleButtonFocus(e);
421
+ }
422
+ toggle(e) {
423
+ this.readonly || this.pending || (this.open = e === void 0 ? !this.open : e, this.strategy && (this.strategy.open = this.open), this._selfManageFocusElement = this.open);
424
+ }
425
+ close() {
426
+ this.readonly || this.strategy && (this.open = !1, this.strategy.open = !1);
427
+ }
428
+ bindEvents() {
429
+ var e;
430
+ (e = this.strategy) == null || e.abort(), this.strategy = this.isMobile.matches ? new f.mobile(this.button, this) : new f.desktop(this.button, this);
431
+ }
432
+ connectedCallback() {
433
+ super.connectedCallback(), this.recentlyConnected = this.hasUpdated;
434
+ }
435
+ disconnectedCallback() {
436
+ var e;
437
+ this.close(), (e = this.strategy) == null || e.releaseDescription(), super.disconnectedCallback();
438
+ }
439
+ async setValueFromItem(e, o) {
440
+ this.open = !1, this.strategy && (this.strategy.open = !1);
441
+ const t = this.selectedItem, n = this.value;
442
+ if (this.selectedItem = e, this.value = (e == null ? void 0 : e.value) ?? "", await this.updateComplete, !this.dispatchEvent(
443
+ new CustomEvent("change", {
444
+ bubbles: !0,
445
+ // Allow it to be prevented.
446
+ cancelable: !0,
447
+ composed: !0,
448
+ detail: this.value
449
+ })
450
+ ) && this.selects) {
451
+ o && o.preventDefault(), this.setMenuItemSelected(this.selectedItem, !1), t && this.setMenuItemSelected(t, !0), this.selectedItem = t, this.value = n, this.open = !0, this.strategy && (this.strategy.open = !0);
452
+ return;
453
+ } else if (!this.selects) {
454
+ this.selectedItem = t, this.value = n;
455
+ return;
456
+ }
457
+ t && this.setMenuItemSelected(t, !1), this.setMenuItemSelected(e, !!this.selects);
458
+ }
459
+ setMenuItemSelected(e, o) {
460
+ this.selects != null && (e.selected = o);
461
+ }
462
+ get containerStyles() {
463
+ return this.isMobile.matches ? {
464
+ "--swc-menu-width": "100%"
465
+ } : {};
466
+ }
467
+ set selectedItemContent(e) {
468
+ if (e === this.selectedItemContent)
469
+ return;
470
+ const o = this.selectedItemContent;
471
+ this._selectedItemContent = e, this.requestUpdate("selectedItemContent", o);
472
+ }
473
+ handleTooltipSlotchange(e) {
474
+ this.tooltipEl = e.target.assignedElements()[0];
475
+ }
476
+ renderLabelContent(e) {
477
+ return this.value && this.selectedItem ? e : c`
478
+ <slot name="label" id="label">
479
+ <span aria-hidden=${h(this.appliedLabel ? void 0 : "true")}>
480
+ ${this.label}
481
+ </span>
482
+ </slot>
483
+ `;
484
+ }
485
+ get buttonContent() {
486
+ const e = {
487
+ "visually-hidden": this.icons === "only" && !!this.value,
488
+ placeholder: !this.value,
489
+ label: !0
490
+ }, o = this.appliedLabel || this.label, t = c` <div id="icon" ?hidden=${this.icons === "none"}>
491
+ ${this._selectedItemIcon ? b(this._selectedItemIcon) : u}
492
+ </div>`;
493
+ return [
494
+ c`
495
+ ${this._selectedItemIcon ? t : u}
496
+ <div
497
+ id=${h(this.value && this.selectedItem ? "label" : void 0)}
498
+ class=${O(e)}
499
+ >
500
+ ${this.renderLabelContent(this.selectedItemContent.content)}
501
+ </div>
502
+ ${this.value && this.selectedItem ? c`
503
+ <div
504
+ aria-hidden="true"
505
+ class="visually-hidden"
506
+ id="applied-label"
507
+ >
508
+ ${o}
509
+ <slot name="label"></slot>
510
+ </div>
511
+ ` : c` <span hidden id="applied-label">${o}</span> `}
512
+ ${this.invalid && !this.pending ? c` ${this.renderAlertIcon()} ` : u}
513
+ ${this.pendingStateController.renderPendingState()}
514
+ ${this.readonly ? u : this.renderAngleIcon()}
515
+ <slot
516
+ aria-hidden="true"
517
+ name="tooltip"
518
+ id="tooltip"
519
+ @slotchange=${this.handleTooltipSlotchange}
520
+ ></slot>
521
+ `
522
+ ];
523
+ }
524
+ renderOverlay(e) {
525
+ var o, t, n;
526
+ if (((o = this.strategy) == null ? void 0 : o.overlay) === void 0)
527
+ return e;
528
+ const i = this.renderContainer(e);
529
+ return I(i, (t = this.strategy) == null ? void 0 : t.overlay, {
530
+ host: this
531
+ }), (n = this.strategy) == null ? void 0 : n.overlay;
532
+ }
533
+ get renderDescriptionSlot() {
534
+ return c`
535
+ <div id=${z}>
536
+ <slot name="description"></slot>
537
+ </div>
538
+ `;
539
+ }
540
+ // a helper to throw focus to the button is needed because Safari
541
+ // won't include buttons in the tab order even with tabindex="0"
542
+ render() {
543
+ return this.tooltipEl && (this.tooltipEl.disabled = this.open), c`
544
+ <span
545
+ id="focus-helper"
546
+ tabindex=${this.focused || this.open ? "-1" : "0"}
547
+ @focus=${this.handleHelperFocus}
548
+ aria-describedby=${z}
549
+ ></span>
550
+ <button
551
+ aria-controls=${h(this.open ? "menu" : void 0)}
552
+ aria-describedby="tooltip"
553
+ aria-expanded=${this.open ? "true" : "false"}
554
+ aria-haspopup="true"
555
+ aria-labelledby="loader icon label applied-label"
556
+ id="button"
557
+ class=${h(
558
+ this.labelAlignment ? `label-${this.labelAlignment}` : void 0
559
+ )}
560
+ @blur=${this.handleButtonBlur}
561
+ @keydown=${{
562
+ handleEvent: this.handleEnterKeydown,
563
+ capture: !0
564
+ }}
565
+ ?disabled=${this.disabled}
566
+ tabindex="-1"
567
+ >
568
+ ${this.buttonContent}
569
+ </button>
570
+ ${this.renderMenu} ${this.renderDescriptionSlot}
571
+ `;
572
+ }
573
+ update(e) {
574
+ var o, t;
575
+ this.selects && (this.selects = "single"), e.has("disabled") && this.disabled && this.strategy && (this.open = !1, this.strategy.open = !1), e.has("pending") && this.pending && this.strategy && (this.open = !1, this.strategy.open = !1), e.has("value") && this.shouldScheduleManageSelection(), this.hasUpdated || (this.deprecatedMenu = this.querySelector(":scope > luzmo-menu"), (o = this.deprecatedMenu) == null || o.toggleAttribute("ignore", !0), (t = this.deprecatedMenu) == null || t.setAttribute("selects", "inherit")), super.update(e);
576
+ }
577
+ bindButtonKeydownListener() {
578
+ this.button.addEventListener("keydown", this.handleKeydown);
579
+ }
580
+ updated(e) {
581
+ super.updated(e), e.has("open") && (this.strategy.open = this.open);
582
+ }
583
+ firstUpdated(e) {
584
+ super.firstUpdated(e), this.bindButtonKeydownListener(), this.bindEvents();
585
+ }
586
+ get dismissHelper() {
587
+ return c`
588
+ <div class="visually-hidden">
589
+ <button
590
+ tabindex="-1"
591
+ aria-label="Dismiss"
592
+ @click=${this.close}
593
+ ></button>
594
+ </div>
595
+ `;
596
+ }
597
+ renderContainer(e) {
598
+ const o = c`
599
+ ${this.dismissHelper} ${e} ${this.dismissHelper}
600
+ `;
601
+ return this.dependencyManager.add("luzmo-popover"), import("./index-DDm8p09D.js"), c`
602
+ <luzmo-popover
603
+ id="popover"
604
+ size=${this.size}
605
+ role="presentation"
606
+ style=${M(this.containerStyles)}
607
+ placement=${this.placement}
608
+ >
609
+ ${o}
610
+ </luzmo-popover>
611
+ `;
612
+ }
613
+ get renderMenu() {
614
+ const e = c`
615
+ <luzmo-menu
616
+ aria-labelledby="applied-label"
617
+ @change=${this.handleChange}
618
+ id="menu"
619
+ @keydown=${{
620
+ handleEvent: this.handleEnterKeydown,
621
+ capture: !0
622
+ }}
623
+ @scroll=${this.onScroll}
624
+ role=${this.listRole}
625
+ .selects=${this.selects}
626
+ .selected=${this.value ? [this.value] : []}
627
+ size=${this.size}
628
+ @luzmo-menu-item-added-or-updated=${this.shouldManageSelection}
629
+ >
630
+ <slot @slotchange=${this.shouldScheduleManageSelection}></slot>
631
+ </luzmo-menu>
632
+ `;
633
+ return this.hasRenderedOverlay = this.hasRenderedOverlay || this.focused || this.open || !!this.deprecatedMenu, this.hasRenderedOverlay ? (this.dependencyManager.loaded && this.dependencyManager.add("luzmo-overlay"), this.renderOverlay(e)) : e;
634
+ }
635
+ shouldScheduleManageSelection(e) {
636
+ !this.willManageSelection && (!e || e.target.getRootNode().host === this) && (this.willManageSelection = !0, requestAnimationFrame(() => {
637
+ requestAnimationFrame(() => {
638
+ this.manageSelection();
639
+ });
640
+ }));
641
+ }
642
+ shouldManageSelection() {
643
+ this.willManageSelection || (this.willManageSelection = !0, this.manageSelection());
644
+ }
645
+ async manageSelection() {
646
+ if (this.selects == null)
647
+ return;
648
+ this.selectionPromise = new Promise(
649
+ (o) => this.selectionResolver = o
650
+ );
651
+ let e;
652
+ await this.optionsMenu.updateComplete, this.recentlyConnected && (await new Promise((o) => requestAnimationFrame(() => o(!0))), this.recentlyConnected = !1), this.menuItems.forEach((o) => {
653
+ this.value === o.value && !o.disabled ? e = o : o.selected = !1;
654
+ }), e ? (e.selected = !!this.selects, this.selectedItem = e) : (this.value = "", this.selectedItem = void 0), this.open && (await this.optionsMenu.updateComplete, this.optionsMenu.updateSelectedItemIndex()), this.selectionResolver(), this.willManageSelection = !1;
655
+ }
656
+ async getUpdateComplete() {
657
+ const e = await super.getUpdateComplete();
658
+ return await this.selectionPromise, e;
659
+ }
660
+ onScroll() {
661
+ this.dispatchEvent(
662
+ new Event("scroll", {
663
+ cancelable: !0,
664
+ composed: !0
665
+ })
666
+ );
667
+ }
668
+ }
669
+ a([
670
+ v()
671
+ ], l.prototype, "appliedLabel", 2);
672
+ a([
673
+ m("#button")
674
+ ], l.prototype, "button", 2);
675
+ a([
676
+ s({ type: Boolean, reflect: !0 })
677
+ ], l.prototype, "disabled", 2);
678
+ a([
679
+ s({ type: Boolean, reflect: !0 })
680
+ ], l.prototype, "focused", 2);
681
+ a([
682
+ s({ type: String, reflect: !0 })
683
+ ], l.prototype, "icons", 2);
684
+ a([
685
+ s({ type: String, reflect: !0 })
686
+ ], l.prototype, "variant", 2);
687
+ a([
688
+ s({ type: Boolean, reflect: !0 })
689
+ ], l.prototype, "invalid", 2);
690
+ a([
691
+ s({ type: Boolean, reflect: !0 })
692
+ ], l.prototype, "pending", 2);
693
+ a([
694
+ s({ type: String, attribute: "pending-label" })
695
+ ], l.prototype, "pendingLabel", 2);
696
+ a([
697
+ s()
698
+ ], l.prototype, "label", 2);
699
+ a([
700
+ s({ type: Boolean, reflect: !0 })
701
+ ], l.prototype, "open", 2);
702
+ a([
703
+ s({ type: Boolean, reflect: !0 })
704
+ ], l.prototype, "readonly", 2);
705
+ a([
706
+ v()
707
+ ], l.prototype, "labelAlignment", 2);
708
+ a([
709
+ m("luzmo-menu")
710
+ ], l.prototype, "optionsMenu", 2);
711
+ a([
712
+ m("luzmo-overlay")
713
+ ], l.prototype, "overlayElement", 2);
714
+ a([
715
+ s()
716
+ ], l.prototype, "placement", 2);
717
+ a([
718
+ s({ type: Boolean, reflect: !0 })
719
+ ], l.prototype, "quiet", 2);
720
+ a([
721
+ s({ type: String })
722
+ ], l.prototype, "value", 2);
723
+ a([
724
+ s({ attribute: !1 })
725
+ ], l.prototype, "selectedItem", 1);
726
+ a([
727
+ v()
728
+ ], l.prototype, "selectedItemContent", 1);
729
+ class j extends l {
730
+ constructor() {
731
+ super(...arguments), this.handleKeydown = (e) => {
732
+ const { code: o } = e;
733
+ if (this.focused = !0, !o.startsWith("Arrow") || this.readonly || this.pending)
734
+ return;
735
+ if (o === "ArrowUp" || o === "ArrowDown") {
736
+ this.toggle(!0), e.preventDefault();
737
+ return;
738
+ }
739
+ e.preventDefault();
740
+ const t = this.selectedItem ? this.menuItems.indexOf(this.selectedItem) : -1, n = t < 0 || o === "ArrowRight" ? 1 : -1;
741
+ let i = t + n;
742
+ for (; this.menuItems[i] && this.menuItems[i].disabled; )
743
+ i += n;
744
+ !this.menuItems[i] || this.menuItems[i].disabled || (!this.value || i !== t) && this.setValueFromItem(this.menuItems[i]);
745
+ };
746
+ }
747
+ static get styles() {
748
+ return [C(P)];
749
+ }
750
+ get containerStyles() {
751
+ const e = super.containerStyles;
752
+ return this.quiet || (e["min-width"] = `${this.offsetWidth}px`), e;
753
+ }
754
+ }
755
+ /*! * Lucero - The design system for Luzmo.
756
+ *
757
+ * Copyright © 2025 Luzmo
758
+ * All rights reserved.
759
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
760
+ * This license allows users with a current active Luzmo account to use Lucero.
761
+ * This license terminates automatically if a user no longer has an active Luzmo account.
762
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
763
+ *
764
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
765
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
766
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
767
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
768
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
769
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
770
+ * SOFTWARE.
771
+ * */
772
+ const V = () => {
773
+ if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
774
+ const r = document.createElement("style");
775
+ r.setAttribute("data-luzmo-vars", ""), r.textContent = 'html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-disabled-color);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--luzmo-informative-color: #1a77e9;--luzmo-informative-color-rgb: 26, 119, 233;--luzmo-disabled-color: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}', document.head.appendChild(r);
776
+ }
777
+ };
778
+ V();
779
+ customElements.get("luzmo-picker") || customElements.define("luzmo-picker", j);