@luzmo/lucero 1.0.1-alpha.21 → 1.0.1-alpha.23

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 (207) hide show
  1. package/components/accordion/index.cjs +6 -6
  2. package/components/accordion/index.js +9 -8
  3. package/components/action-bar/index.cjs +4 -4
  4. package/components/action-bar/index.js +10 -8
  5. package/components/action-button/index.cjs +3 -3
  6. package/components/action-button/index.js +5 -4
  7. package/components/action-group/index.cjs +1 -1
  8. package/components/action-group/index.js +1 -1
  9. package/components/{action-group-C9dsPJg-.js → action-group-Bwt9w8Vh.js} +10 -9
  10. package/components/action-group-D917z7XF.cjs +20 -0
  11. package/components/action-menu/index.cjs +9 -9
  12. package/components/action-menu/index.js +9 -9
  13. package/components/avatar/index.cjs +3 -3
  14. package/components/avatar/index.js +6 -6
  15. package/components/base-5nDSSNeT.cjs +18 -0
  16. package/components/base-CdYjmV_8.js +96 -0
  17. package/components/button/index.cjs +2 -2
  18. package/components/button/index.js +7 -6
  19. package/components/{button-base-BwbaTInD.js → button-base-B5uul3tZ.js} +5 -5
  20. package/components/button-base-C7or8-FB.cjs +25 -0
  21. package/components/button-group/index.cjs +1 -1
  22. package/components/button-group/index.js +10 -8
  23. package/components/calendar/index.cjs +96 -1
  24. package/components/calendar/index.js +538 -6
  25. package/components/checkbox/index.cjs +4 -4
  26. package/components/checkbox/index.js +6 -4
  27. package/components/{checkbox-mixin-BOTvuPEu.js → checkbox-mixin-DUbGDm7f.js} +9 -9
  28. package/components/{checkbox-mixin-BVPpXtsq.cjs → checkbox-mixin-DhN8CIXY.cjs} +3 -3
  29. package/components/{clear-button-ahIIuwV-.js → clear-button-BFtJVPzm.js} +14 -13
  30. package/components/clear-button-_a8GjtJC.cjs +18 -0
  31. package/components/{close-button-DFh14y6u.js → close-button-D9qjjy2w.js} +13 -12
  32. package/components/close-button-TZ08VFmi.cjs +18 -0
  33. package/components/color-area/index.cjs +5 -5
  34. package/components/color-area/index.js +10 -9
  35. package/components/color-controller-7sNUf7SP.js +386 -0
  36. package/components/color-controller-ChN-A9Ft.cjs +18 -0
  37. package/components/color-field/index.cjs +2 -2
  38. package/components/color-field/index.js +4 -3
  39. package/components/color-handle/index.cjs +2 -2
  40. package/components/color-handle/index.js +7 -5
  41. package/components/color-loupe/index.cjs +1 -1
  42. package/components/color-loupe/index.js +1 -1
  43. package/components/color-loupe-CIEFp7ln.cjs +56 -0
  44. package/components/{color-loupe-DmQe3SpP.js → color-loupe-CLPX6xVb.js} +6 -4
  45. package/components/color-menu/index.cjs +7 -7
  46. package/components/color-menu/index.js +7 -7
  47. package/components/color-palette/index.cjs +1 -1
  48. package/components/color-palette/index.js +4 -3
  49. package/components/color-palette-group/index.cjs +3 -3
  50. package/components/color-palette-group/index.js +33 -32
  51. package/components/color-picker/index.cjs +4 -4
  52. package/components/color-picker/index.js +11 -11
  53. package/components/color-slider/index.cjs +40 -1
  54. package/components/color-slider/index.js +452 -6
  55. package/components/date-time-picker/index.cjs +16 -16
  56. package/components/date-time-picker/index.js +104 -105
  57. package/components/divider/index.cjs +1 -1
  58. package/components/divider/index.js +10 -8
  59. package/components/field-group/index.cjs +1 -1
  60. package/components/field-group/index.js +1 -1
  61. package/components/field-group-BYHNJmv0.cjs +23 -0
  62. package/components/{field-group-D4B0IOdA.js → field-group-CHmw159R.js} +7 -5
  63. package/components/field-label/index.cjs +1 -1
  64. package/components/field-label/index.js +1 -1
  65. package/components/{field-label-DxmPiC5p.js → field-label-Cy3xMWZ-.js} +9 -8
  66. package/components/field-label-DZoeqJJX.cjs +25 -0
  67. package/components/{focusable-C5JjRZmT.js → focusable-BjvsvVam.js} +2 -1
  68. package/components/focusable-CbVKgGfS.cjs +18 -0
  69. package/components/icon/index.cjs +1 -1
  70. package/components/icon/index.js +20 -18
  71. package/components/index.cjs +1 -1
  72. package/components/index.js +18 -18
  73. package/components/infield-button/index.cjs +2 -2
  74. package/components/infield-button/index.js +4 -3
  75. package/components/label/index.cjs +1 -1
  76. package/components/label/index.js +6 -4
  77. package/components/like-anchor-B2EqJPdw.cjs +32 -0
  78. package/components/{like-anchor-DCFJN0LV.js → like-anchor-CgqCU210.js} +23 -22
  79. package/components/{manage-help-text-DNqdEkTA.cjs → manage-help-text-Bat9yGvF.cjs} +3 -3
  80. package/components/{manage-help-text-CHfMLzSa.js → manage-help-text-C9sCHK3R.js} +8 -8
  81. package/components/menu/index.cjs +16 -16
  82. package/components/menu/index.js +18 -19
  83. package/components/multi-language-field/index.cjs +2 -2
  84. package/components/multi-language-field/index.js +8 -6
  85. package/components/number-field/index.cjs +6 -6
  86. package/components/number-field/index.js +34 -35
  87. package/components/observe-slot-presence-CNltc0C0.cjs +18 -0
  88. package/components/{observe-slot-presence-CmVi0zTc.js → observe-slot-presence-DFi6GE3H.js} +1 -1
  89. package/components/observe-slot-text-CBMHpuIK.cjs +18 -0
  90. package/components/{observe-slot-text-C3moTjwy.js → observe-slot-text-DorVpCL4.js} +14 -15
  91. package/components/options/index.cjs +26 -58
  92. package/components/options/index.js +205 -849
  93. package/components/overlay/index.cjs +6 -6
  94. package/components/overlay/index.js +30 -31
  95. package/components/overlay-DpWon1Rp.js +1736 -0
  96. package/components/overlay-nUwFClQq.cjs +47 -0
  97. package/components/{pending-state-bJr-nEJl.cjs → pending-state-DQctFHI8.cjs} +2 -2
  98. package/components/{pending-state-B2wWssTo.js → pending-state-Dx1u3EXA.js} +2 -2
  99. package/components/picker/index.cjs +1 -1
  100. package/components/picker/index.js +2 -2
  101. package/components/{picker-BsQJBF9j.js → picker-Cm6_didQ.js} +19 -20
  102. package/components/picker-DxYgh4LR.cjs +123 -0
  103. package/components/picker-button/index.cjs +4 -4
  104. package/components/picker-button/index.js +7 -6
  105. package/components/{platform-BiXhwqk3.cjs → platform-BJnOJJag.cjs} +1 -1
  106. package/components/{platform-BM-uMWpX.js → platform-CqwNrovd.js} +12 -12
  107. package/components/popover/index.cjs +1 -1
  108. package/components/popover/index.js +1 -1
  109. package/components/popover-lcZnODPK.cjs +30 -0
  110. package/components/{popover-iD8f5Jkp.js → popover-ucIgjbQs.js} +8 -7
  111. package/components/progress-circle/index.cjs +1 -1
  112. package/components/progress-circle/index.js +1 -1
  113. package/components/{progress-circle-USIIU1up.js → progress-circle-D5J0ZwY0.js} +8 -7
  114. package/components/progress-circle-DgMbqrzG.cjs +33 -0
  115. package/components/radio/index.cjs +2 -2
  116. package/components/radio/index.js +10 -9
  117. package/components/search/index.cjs +6 -6
  118. package/components/search/index.js +5 -5
  119. package/components/select/index.cjs +43 -43
  120. package/components/select/index.js +33 -33
  121. package/components/{directive-C7oCP5Bh.cjs → sized-mixin-DcvJLFeo.cjs} +1 -5
  122. package/components/{sized-mixin-CJbBHWRQ.js → sized-mixin-cJbo3PKR.js} +5 -5
  123. package/components/slider/index.cjs +1 -1
  124. package/components/slider/index.js +48 -1101
  125. package/components/{streaming-listener-BQ68fKMa.js → streaming-listener-BlWm-XZU.js} +5 -6
  126. package/components/streaming-listener-D9Wc7skA.cjs +18 -0
  127. package/components/swatch/index.cjs +7 -7
  128. package/components/swatch/index.js +13 -12
  129. package/components/switch/index.cjs +2 -2
  130. package/components/switch/index.js +5 -4
  131. package/components/tabs/index.cjs +16 -24
  132. package/components/tabs/index.js +93 -161
  133. package/components/tags/index.cjs +4 -4
  134. package/components/tags/index.js +13 -12
  135. package/components/text-field/index.cjs +3 -3
  136. package/components/text-field/index.js +12 -10
  137. package/components/{text-field-C2n3rzCK.js → text-field-BTEpwGFu.js} +73 -99
  138. package/components/text-field-JMrsh-zo.cjs +81 -0
  139. package/components/toast/index.cjs +11 -11
  140. package/components/toast/index.js +9 -7
  141. package/components/tooltip/index.cjs +4 -4
  142. package/components/tooltip/index.js +8 -7
  143. package/components/unit-input/index.cjs +6 -6
  144. package/components/unit-input/index.js +27 -26
  145. package/components/utils.cjs +1 -1
  146. package/components/utils.js +5 -5
  147. package/package.json +62 -1
  148. package/components/NumberFormatter-DewVDY5w.cjs +0 -18
  149. package/components/NumberFormatter-DgOUVrge.js +0 -136
  150. package/components/NumberParser-Dik4a0h-.cjs +0 -18
  151. package/components/NumberParser-ci9J5EKv.js +0 -173
  152. package/components/action-group-C54IxNZk.cjs +0 -20
  153. package/components/async-directive-BwIAw5tB.js +0 -82
  154. package/components/async-directive-DLz6JB0v.cjs +0 -22
  155. package/components/base-BjTwmyRF.cjs +0 -22
  156. package/components/base-CFWO09N1.js +0 -684
  157. package/components/base-Cy0MQrPT.cjs +0 -40
  158. package/components/base-D76d76ww.js +0 -26
  159. package/components/button-base-CC9ZL53k.cjs +0 -25
  160. package/components/class-map-CGfNk3Ee.js +0 -51
  161. package/components/class-map-D-Y-hsN5.cjs +0 -22
  162. package/components/clear-button-CHcbu9Bz.cjs +0 -18
  163. package/components/close-button-DMd52_KV.cjs +0 -18
  164. package/components/color-controller-B0uX6Zso.js +0 -3230
  165. package/components/color-controller-CoUL5f9K.cjs +0 -18
  166. package/components/color-loupe-CrM2DVY3.cjs +0 -56
  167. package/components/directive-helpers-D4KMv2dC.js +0 -62
  168. package/components/directive-helpers-t-TVum7J.cjs +0 -22
  169. package/components/directive-oAbCiebi.js +0 -44
  170. package/components/field-group-5WQMBOk4.cjs +0 -23
  171. package/components/field-label-Dz9kisdW.cjs +0 -25
  172. package/components/flow-D-0MTYCm.js +0 -527
  173. package/components/flow-DM3dNAKs.cjs +0 -30
  174. package/components/focusable-B_KwfEec.cjs +0 -18
  175. package/components/if-defined-DULpqYwi.js +0 -27
  176. package/components/if-defined-DaXWqfzc.cjs +0 -22
  177. package/components/index-CNK8wHXu.cjs +0 -57
  178. package/components/index-Cf6G4q52.js +0 -1490
  179. package/components/index-D3ICqC7S.js +0 -1174
  180. package/components/index-hqVbNKYy.cjs +0 -113
  181. package/components/like-anchor-Bu3pXbjT.cjs +0 -32
  182. package/components/luzmo-icons-CiSek5iM.js +0 -229
  183. package/components/luzmo-icons-CtA-TJPd.cjs +0 -29
  184. package/components/mutation-controller-DH7YOCyj.js +0 -52
  185. package/components/mutation-controller-DkOMCW-c.cjs +0 -22
  186. package/components/observe-slot-presence-bc9chhsi.cjs +0 -18
  187. package/components/observe-slot-text-D2VAEFSd.cjs +0 -18
  188. package/components/overlay-B3ajDLLq.cjs +0 -47
  189. package/components/overlay-CUKs69yr.js +0 -2745
  190. package/components/picker-X96xmLAw.cjs +0 -123
  191. package/components/popover-fwJeZHMQ.cjs +0 -30
  192. package/components/progress-circle-DZxaMe8L.cjs +0 -33
  193. package/components/query-BL-TJj7K.cjs +0 -22
  194. package/components/query-D_KR_GUc.js +0 -51
  195. package/components/query-assigned-elements-DjfhL1cl.js +0 -36
  196. package/components/query-assigned-elements-DsKsfk7G.cjs +0 -22
  197. package/components/query-assigned-nodes-BcKWmGzy.cjs +0 -22
  198. package/components/query-assigned-nodes-C76XVPWY.js +0 -36
  199. package/components/sized-mixin-WPHH0a_D.cjs +0 -18
  200. package/components/state-DwIwYPvt.js +0 -29
  201. package/components/state-vf0PJN3_.cjs +0 -22
  202. package/components/streaming-listener-DeGQYM-9.cjs +0 -18
  203. package/components/style-map-Bnhf_mVZ.js +0 -53
  204. package/components/style-map-DuMd5xlY.cjs +0 -22
  205. package/components/text-field-BkFPYo7S.cjs +0 -85
  206. package/components/when-CDK1Tt5Y.js +0 -28
  207. package/components/when-CDZyJPvd.cjs +0 -22
@@ -15,4 +15,4 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../base-Cy0MQrPT.cjs"),p="";var c=Object.defineProperty,u=(n,o,i,b)=>{for(var t=void 0,s=n.length-1,a;s>=0;s--)(a=n[s])&&(t=a(o,i,t)||t);return t&&c(o,i,t),t};const l=class l extends r.LuzmoElement{constructor(){super(...arguments),this.label="",this.tooltip=""}render(){return r.x` <span> ${this.label} </span> `}};l.styles=r.r(p);let e=l;u([r.n({type:String})],e.prototype,"label");u([r.n({type:String,reflect:!0,attribute:"tooltip"})],e.prototype,"tooltip");customElements.get("luzmo-label")||customElements.define("luzmo-label",e);exports.LuzmoLabel=e;
18
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("lit"),u=require("lit/decorators.js"),c=require("../base-5nDSSNeT.cjs"),f="";var m=Object.defineProperty,a=(l,o,n,y)=>{for(var t=void 0,r=l.length-1,i;r>=0;r--)(i=l[r])&&(t=i(o,n,t)||t);return t&&m(o,n,t),t};const s=class s extends c.LuzmoElement{constructor(){super(...arguments),this.label="",this.tooltip=""}render(){return p.html` <span> ${this.label} </span> `}};s.styles=p.unsafeCSS(f);let e=s;a([u.property({type:String})],e.prototype,"label");a([u.property({type:String,reflect:!0,attribute:"tooltip"})],e.prototype,"tooltip");customElements.get("luzmo-label")||customElements.define("luzmo-label",e);exports.LuzmoLabel=e;
@@ -15,7 +15,9 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- import { a, r as s, x as d, n as i } from "../base-CFWO09N1.js";
18
+ import { unsafeCSS as a, html as s } from "lit";
19
+ import { property as i } from "lit/decorators.js";
20
+ import { a as d } from "../base-CdYjmV_8.js";
19
21
  const z = () => {
20
22
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
21
23
  const o = document.createElement("style");
@@ -29,15 +31,15 @@ var b = Object.defineProperty, n = (o, m, t, g) => {
29
31
  (c = o[e]) && (l = c(m, t, l) || l);
30
32
  return l && b(m, t, l), l;
31
33
  };
32
- const u = class u extends a {
34
+ const u = class u extends d {
33
35
  constructor() {
34
36
  super(...arguments), this.label = "", this.tooltip = "";
35
37
  }
36
38
  render() {
37
- return d` <span> ${this.label} </span> `;
39
+ return s` <span> ${this.label} </span> `;
38
40
  }
39
41
  };
40
- u.styles = s(f);
42
+ u.styles = a(f);
41
43
  let r = u;
42
44
  n([
43
45
  i({ type: String })
@@ -0,0 +1,32 @@
1
+ /*! * Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2025 Luzmo
4
+ * All rights reserved.
5
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
+ * This license allows users with a current active Luzmo account to use Lucero.
7
+ * This license terminates automatically if a user no longer has an active Luzmo account.
8
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
+ *
10
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
+ * SOFTWARE.
17
+ * */
18
+ "use strict";const a=require("lit"),t=require("lit/decorators.js"),r=require("lit/directives/if-defined.js");var y=Object.defineProperty,o=(n,e,l,p)=>{for(var i=void 0,f=n.length-1,d;f>=0;f--)(d=n[f])&&(i=d(e,l,i)||i);return i&&y(e,l,i),i};function c(n){class e extends n{renderAnchor({id:p,className:i,ariaHidden:f,labelledby:d,tabindex:s,anchorContent:h=a.html`<slot></slot>`}){return a.html`
19
+ <a
20
+ id=${p}
21
+ class=${r.ifDefined(i)}
22
+ href=${r.ifDefined(this.href)}
23
+ download=${r.ifDefined(this.download)}
24
+ target=${r.ifDefined(this.target)}
25
+ aria-label=${r.ifDefined(this.label)}
26
+ aria-labelledby=${r.ifDefined(d)}
27
+ aria-hidden=${r.ifDefined(f?"true":void 0)}
28
+ tabindex=${r.ifDefined(s)}
29
+ referrerpolicy=${r.ifDefined(this.referrerpolicy)}
30
+ rel=${r.ifDefined(this.rel)}
31
+ >${h}</a>
32
+ `}}return o([t.property()],e.prototype,"download"),o([t.property()],e.prototype,"label"),o([t.property()],e.prototype,"href"),o([t.property()],e.prototype,"target"),o([t.property()],e.prototype,"referrerpolicy"),o([t.property()],e.prototype,"rel"),e}exports.LikeAnchor=c;
@@ -15,25 +15,26 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- import { n as o, x as s } from "./base-CFWO09N1.js";
19
- import { o as e } from "./if-defined-DULpqYwi.js";
20
- var $ = Object.defineProperty, l = (i, r, p, d) => {
21
- for (var t = void 0, a = i.length - 1, n; a >= 0; a--)
22
- (n = i[a]) && (t = n(r, p, t) || t);
23
- return t && $(r, p, t), t;
18
+ import { html as f } from "lit";
19
+ import { property as o } from "lit/decorators.js";
20
+ import { ifDefined as e } from "lit/directives/if-defined.js";
21
+ var $ = Object.defineProperty, i = (a, r, n, d) => {
22
+ for (var t = void 0, l = a.length - 1, p; l >= 0; l--)
23
+ (p = a[l]) && (t = p(r, n, t) || t);
24
+ return t && $(r, n, t), t;
24
25
  };
25
- function b(i) {
26
- class r extends i {
26
+ function b(a) {
27
+ class r extends a {
27
28
  renderAnchor({
28
29
  id: d,
29
30
  className: t,
30
- ariaHidden: a,
31
- labelledby: n,
32
- tabindex: f,
31
+ ariaHidden: l,
32
+ labelledby: p,
33
+ tabindex: s,
33
34
  // prettier-ignore
34
- anchorContent: h = s`<slot></slot>`
35
+ anchorContent: h = f`<slot></slot>`
35
36
  }) {
36
- return s`
37
+ return f`
37
38
  <a
38
39
  id=${d}
39
40
  class=${e(t)}
@@ -41,26 +42,26 @@ function b(i) {
41
42
  download=${e(this.download)}
42
43
  target=${e(this.target)}
43
44
  aria-label=${e(this.label)}
44
- aria-labelledby=${e(n)}
45
- aria-hidden=${e(a ? "true" : void 0)}
46
- tabindex=${e(f)}
45
+ aria-labelledby=${e(p)}
46
+ aria-hidden=${e(l ? "true" : void 0)}
47
+ tabindex=${e(s)}
47
48
  referrerpolicy=${e(this.referrerpolicy)}
48
49
  rel=${e(this.rel)}
49
50
  >${h}</a>
50
51
  `;
51
52
  }
52
53
  }
53
- return l([
54
+ return i([
54
55
  o()
55
- ], r.prototype, "download"), l([
56
+ ], r.prototype, "download"), i([
56
57
  o()
57
- ], r.prototype, "label"), l([
58
+ ], r.prototype, "label"), i([
58
59
  o()
59
- ], r.prototype, "href"), l([
60
+ ], r.prototype, "href"), i([
60
61
  o()
61
- ], r.prototype, "target"), l([
62
+ ], r.prototype, "target"), i([
62
63
  o()
63
- ], r.prototype, "referrerpolicy"), l([
64
+ ], r.prototype, "referrerpolicy"), i([
64
65
  o()
65
66
  ], r.prototype, "rel"), r;
66
67
  }
@@ -15,9 +15,9 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- "use strict";const d=require("./base-Cy0MQrPT.cjs"),r=require("./if-defined-DaXWqfzc.cjs"),a=require("./condition-attribute-with-id-DrQYZzFS.cjs"),s=require("./random-id-CqvckpWe.cjs");class l{constructor(e,{mode:i}={mode:"internal"}){this.mode="internal",this.handleSlotchange=({target:t})=>{this.handleHelpText(t),this.handleNegativeHelpText(t)},this.host=e,this.id=`luzmo-help-text-${s.randomID()}`,this.mode=i}get isInternal(){return this.mode==="internal"}render(e){return d.x`
18
+ "use strict";const d=require("lit"),r=require("lit/directives/if-defined.js"),l=require("./condition-attribute-with-id-DrQYZzFS.cjs"),s=require("./random-id-CqvckpWe.cjs");class a{constructor(e,{mode:i}={mode:"internal"}){this.mode="internal",this.handleSlotchange=({target:t})=>{this.handleHelpText(t),this.handleNegativeHelpText(t)},this.host=e,this.id=`luzmo-help-text-${s.randomID()}`,this.mode=i}get isInternal(){return this.mode==="internal"}render(e){return d.html`
19
19
  <div
20
- id=${r.o(this.isInternal?this.id:void 0)}
20
+ id=${r.ifDefined(this.isInternal?this.id:void 0)}
21
21
  aria-live="assertive"
22
22
  >
23
23
  <slot
@@ -27,4 +27,4 @@
27
27
  <slot name="help-text"></slot>
28
28
  </slot>
29
29
  </div>
30
- `}addId(){const e=this.helpTextElement?this.helpTextElement.id:this.id;this.conditionId=a.conditionAttributeWithId(this.host,"aria-describedby",e),this.host.hasAttribute("tabindex")&&(this.previousTabindex=Number.parseFloat(this.host.getAttribute("tabindex"))),this.host.tabIndex=0}removeId(){this.conditionId&&(this.conditionId(),delete this.conditionId),!this.helpTextElement&&(this.previousTabindex?this.host.tabIndex=this.previousTabindex:this.host.removeAttribute("tabindex"))}handleHelpText(e){if(this.isInternal)return;this.helpTextElement&&this.helpTextElement.id===this.id&&this.helpTextElement.removeAttribute("id"),this.removeId();const t=e.assignedElements()[0];this.helpTextElement=t,t&&(t.id||(t.id=this.id),this.addId())}handleNegativeHelpText(e){if(e.name!=="negative-help-text")return;e.assignedElements().forEach(t=>t.variant="negative")}}function o(n,{mode:e}={mode:"internal"}){class i extends n{constructor(){super(...arguments),this.helpTextManager=new l(this,{mode:e})}get helpTextId(){return this.helpTextManager.id}renderHelpText(h){return this.helpTextManager.render(h)}}return i}exports.ManageHelpText=o;
30
+ `}addId(){const e=this.helpTextElement?this.helpTextElement.id:this.id;this.conditionId=l.conditionAttributeWithId(this.host,"aria-describedby",e),this.host.hasAttribute("tabindex")&&(this.previousTabindex=Number.parseFloat(this.host.getAttribute("tabindex"))),this.host.tabIndex=0}removeId(){this.conditionId&&(this.conditionId(),delete this.conditionId),!this.helpTextElement&&(this.previousTabindex?this.host.tabIndex=this.previousTabindex:this.host.removeAttribute("tabindex"))}handleHelpText(e){if(this.isInternal)return;this.helpTextElement&&this.helpTextElement.id===this.id&&this.helpTextElement.removeAttribute("id"),this.removeId();const t=e.assignedElements()[0];this.helpTextElement=t,t&&(t.id||(t.id=this.id),this.addId())}handleNegativeHelpText(e){if(e.name!=="negative-help-text")return;e.assignedElements().forEach(t=>t.variant="negative")}}function o(n,{mode:e}={mode:"internal"}){class i extends n{constructor(){super(...arguments),this.helpTextManager=new a(this,{mode:e})}get helpTextId(){return this.helpTextManager.id}renderHelpText(h){return this.helpTextManager.render(h)}}return i}exports.ManageHelpText=o;
@@ -15,11 +15,11 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- import { x as r } from "./base-CFWO09N1.js";
19
- import { o as d } from "./if-defined-DULpqYwi.js";
20
- import { c as a } from "./condition-attribute-with-id-Dv4lSRbe.js";
18
+ import { html as d } from "lit";
19
+ import { ifDefined as r } from "lit/directives/if-defined.js";
20
+ import { c as l } from "./condition-attribute-with-id-Dv4lSRbe.js";
21
21
  import { r as n } from "./random-id-ByCz1xaq.js";
22
- class l {
22
+ class a {
23
23
  constructor(e, { mode: i } = { mode: "internal" }) {
24
24
  this.mode = "internal", this.handleSlotchange = ({
25
25
  target: t
@@ -31,9 +31,9 @@ class l {
31
31
  return this.mode === "internal";
32
32
  }
33
33
  render(e) {
34
- return r`
34
+ return d`
35
35
  <div
36
- id=${d(this.isInternal ? this.id : void 0)}
36
+ id=${r(this.isInternal ? this.id : void 0)}
37
37
  aria-live="assertive"
38
38
  >
39
39
  <slot
@@ -47,7 +47,7 @@ class l {
47
47
  }
48
48
  addId() {
49
49
  const e = this.helpTextElement ? this.helpTextElement.id : this.id;
50
- this.conditionId = a(
50
+ this.conditionId = l(
51
51
  this.host,
52
52
  "aria-describedby",
53
53
  e
@@ -76,7 +76,7 @@ class l {
76
76
  function u(s, { mode: e } = { mode: "internal" }) {
77
77
  class i extends s {
78
78
  constructor() {
79
- super(...arguments), this.helpTextManager = new l(this, { mode: e });
79
+ super(...arguments), this.helpTextManager = new a(this, { mode: e });
80
80
  }
81
81
  get helpTextId() {
82
82
  return this.helpTextManager.id;
@@ -15,13 +15,13 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../base-Cy0MQrPT.cjs"),f=require("../query-BL-TJj7K.cjs"),z=require("../sized-mixin-WPHH0a_D.cjs"),y=require("../divider.module-DDvBo9zo.cjs"),S=require("../state-vf0PJN3_.cjs"),E=require("../query-assigned-nodes-BcKWmGzy.cjs"),k=require("../random-id-CqvckpWe.cjs"),M=require("../mutation-controller-DkOMCW-c.cjs"),A=require("../focusable-B_KwfEec.cjs"),C=require("../like-anchor-Bu3pXbjT.cjs"),P=require("../observe-slot-presence-bc9chhsi.cjs"),D=require("../observe-slot-text-D2VAEFSd.cjs"),R=require("../dependency-manger-uthev62E.cjs"),d=require("../luzmo-icons-CtA-TJPd.cjs"),O=require("../slottable-request-event-BfUUt1Mh.cjs"),L=":host{--menu-item-top-to-action: var(--luzmo-spacing-1);--menu-item-top-to-checkbox: var(--luzmo-spacing-1);--menu-item-label-line-height: var(--luzmo-line-height);--menu-item-label-line-height-cjk: 1.5;--menu-item-label-to-description-spacing: 1px;--menu-item-focus-indicator-width: var(--luzmo-indicator-width);--menu-item-focus-indicator-color: var(--luzmo-indicator-color);--menu-item-label-to-value-area-min-spacing: var(--luzmo-spacing-3);--menu-item-label-content-color-default: var(--luzmo-font-color);--menu-item-label-content-color-hover: var(--luzmo-font-color-hover);--menu-item-label-content-color-down: var(--luzmo-font-color-down);--menu-item-label-content-color-focus: var(--luzmo-font-color-focus);--menu-item-highlight-label-background-color: var(--luzmo-primary);--menu-item-highlight-label-content-color: var(--luzmo-font-color);--menu-item-highlight-label-content-color-hover: var( --luzmo-font-color-hover );--menu-item-highlight-label-content-color-down: var(--luzmo-font-color-down);--menu-item-highlight-label-content-color-focus: var( --luzmo-font-color-focus );--menu-item-label-icon-color-default: var(--luzmo-font-color);--menu-item-label-icon-color-hover: var(--luzmo-font-color-hover);--menu-item-label-icon-color-down: var(--luzmo-font-color-down);--menu-item-label-icon-color-focus: var(--luzmo-font-color-focus);--menu-item-label-content-color-disabled: var(--luzmo-font-color-disabled);--menu-item-label-icon-color-disabled: var(--luzmo-font-color-disabled);--menu-item-description-line-height: var(--luzmo-line-height);--menu-item-description-line-height-cjk: 1.5;--menu-item-description-color-default: var(--luzmo-font-color);--menu-item-description-color-hover: var(--luzmo-font-color-hover);--menu-item-description-color-down: var(--luzmo-font-color-down);--menu-item-description-color-focus: var(--luzmo-font-color-focus);--menu-item-description-color-disabled: var(--luzmo-disabled-color);--menu-section-header-line-height: var(--luzmo-line-height);--menu-section-header-line-height-cjk: 1.5;--menu-section-header-font-weight: bold;--menu-section-header-color: var(--luzmo-font-color-hard);--menu-collapsible-icon-color: var(--luzmo-font-color-hard);--menu-checkmark-icon-color-default: var(--luzmo-primary);--menu-checkmark-icon-color-hover: var(--luzmo-primary-hover);--menu-checkmark-icon-color-down: var(--luzmo-primary-down);--menu-checkmark-icon-color-focus: var(--luzmo-primary-focus);--menu-drillin-icon-color-default: var(--luzmo-font-color);--menu-drillin-icon-color-hover: var(--luzmo-font-color-hover);--menu-drillin-icon-color-down: var(--luzmo-font-color-down);--menu-drillin-icon-color-focus: var(--luzmo-font-color-focus);--menu-item-value-color-default: var(--luzmo-font-color);--menu-item-value-color-hover: var(--luzmo-font-color-hover);--menu-item-value-color-down: var(--luzmo-font-color-down);--menu-item-value-color-focus: var(--luzmo-font-color-focus);--menu-checkmark-display-hidden: none;--menu-checkmark-display-shown: block;--menu-checkmark-display: block;--menu-item-collapsible-no-icon-submenu-item-padding-x-start: 28px;--menu-item-background-color-selected: var(--luzmo-background-color);--menu-item-background-color-default: var(--luzmo-background-color);--menu-item-background-color-hover: var(--luzmo-background-color-hover);--menu-item-background-color-down: var(--luzmo-background-color-down);--menu-item-background-color-key-focus: var(--luzmo-background-color-focus)}:host{--menu-item-min-height: var(--luzmo-component-height);--menu-item-icon-height: var(--luzmo-font-size);--menu-item-icon-width: var(--luzmo-font-size);--menu-item-label-font-size: var(--luzmo-font-size);--menu-item-label-text-to-visual: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--menu-item-label-inline-edge-to-content: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--menu-item-top-edge-to-text: var(--luzmo-spacing-1);--menu-item-bottom-edge-to-text: var(--luzmo-spacing-1);--menu-item-text-to-control: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--menu-item-description-font-size: var(--luzmo-font-size-xs);--menu-section-header-font-size: var(--luzmo-font-size);--menu-section-header-min-width: var(--luzmo-component-height);--menu-item-selectable-edge-to-text-not-selected: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--menu-item-checkmark-size: var(--luzmo-font-size-xs);--menu-item-angle-size: var(--luzmo-font-size);--menu-item-top-to-icon: calc( ( var(--menu-item-min-height) - var(--menu-item-top-edge-to-text) - var( --menu-item-bottom-edge-to-text ) - var(--menu-item-icon-height) ) / 2 );--menu-item-top-to-checkmark: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--menu-back-icon-margin: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) )}:host([size=s]){--menu-item-min-height: var(--luzmo-component-height-s);--menu-item-icon-height: var(--luzmo-font-size-s);--menu-item-icon-width: var(--luzmo-font-size-s);--menu-item-label-font-size: var(--luzmo-font-size-s);--menu-item-label-text-to-visual: var(--luzmo-spacing-3);--menu-item-label-inline-edge-to-content: var(--luzmo-spacing-3);--menu-item-top-edge-to-text: var(--luzmo-spacing-1);--menu-item-bottom-edge-to-text: var(--luzmo-spacing-1);--menu-item-text-to-control: var(--luzmo-spacing-2);--menu-item-description-font-size: var(--luzmo-font-size-xs);--menu-section-header-font-size: var(--luzmo-font-size-s);--menu-section-header-min-width: var(--luzmo-component-height-s);--menu-item-selectable-edge-to-text-not-selected: var(--luzmo-spacing-3);--menu-item-checkmark-size: var(--luzmo-font-size-xs);--menu-item-angle-size: var(--luzmo-font-size-s);--menu-item-top-to-icon: calc( ( var(--menu-item-min-height) - var(--menu-item-top-edge-to-text) - var( --menu-item-bottom-edge-to-text ) - var(--menu-item-icon-height) ) / 2 );--menu-item-top-to-checkmark: var(--luzmo-spacing-3);--menu-back-icon-margin: var(--luzmo-spacing-3)}:host([size=l]){--menu-item-min-height: var(--luzmo-component-height-l);--menu-item-icon-height: var(--luzmo-font-size-l);--menu-item-icon-width: var(--luzmo-font-size-l);--menu-item-label-font-size: var(--luzmo-font-size-l);--menu-item-label-text-to-visual: var(--luzmo-spacing-4);--menu-item-label-inline-edge-to-content: var(--luzmo-spacing-4);--menu-item-top-edge-to-text: var(--luzmo-spacing-2);--menu-item-bottom-edge-to-text: var(--luzmo-spacing-2);--menu-item-text-to-control: var(--luzmo-spacing-3);--menu-item-description-font-size: var(--luzmo-font-size-s);--menu-section-header-font-size: var(--luzmo-font-size-l);--menu-section-header-min-width: var(--luzmo-component-height-l);--menu-item-selectable-edge-to-text-not-selected: var(--luzmo-spacing-4);--menu-item-checkmark-size: var(--luzmo-font-size-s);--menu-item-angle-size: var(--luzmo-font-size-l);--menu-item-top-to-icon: calc( ( var(--menu-item-min-height) - var(--menu-item-top-edge-to-text) - var( --menu-item-bottom-edge-to-text ) - var(--menu-item-icon-height) ) / 2 );--menu-item-top-to-checkmark: var(--luzmo-spacing-4);--menu-back-icon-margin: var(--luzmo-spacing-4)}:host([size=xl]){--menu-item-min-height: var(--luzmo-component-height-xl);--menu-item-icon-height: var(--luzmo-font-size-xl);--menu-item-icon-width: var(--luzmo-font-size-xl);--menu-item-label-font-size: var(--luzmo-font-size-xl);--menu-item-label-text-to-visual: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--menu-item-label-inline-edge-to-content: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--menu-item-top-edge-to-text: var(--luzmo-spacing-2);--menu-item-bottom-edge-to-text: var(--luzmo-spacing-2);--menu-item-text-to-control: var(--luzmo-spacing-4);--menu-item-description-font-size: var(--luzmo-font-size);--menu-section-header-font-size: var(--luzmo-font-size-xl);--menu-section-header-min-width: var(--luzmo-component-height-xl);--menu-item-selectable-edge-to-text-not-selected: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--menu-item-checkmark-size: var(--luzmo-font-size);--menu-item-angle-size: var(--luzmo-font-size-xl);--menu-item-top-to-icon: calc( ( var(--menu-item-min-height) - var(--menu-item-top-edge-to-text) - var( --menu-item-bottom-edge-to-text ) - var(--menu-item-icon-height) ) / 2 );--menu-item-top-to-checkmark: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--menu-back-icon-margin: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) )}:host([variant=highlight]){--menu-item-highlight-label-content-color: var(--luzmo-primary-inverse-color);--menu-checkmark-display: var(--menu-checkmark-display-hidden);--menu-item-highlight-label-content-color-hover: var( --luzmo-primary-inverse-color );--menu-item-highlight-label-content-color-down: var( --luzmo-primary-inverse-color );--menu-item-highlight-label-content-color-focus: var( --luzmo-primary-inverse-color )}:host([variant=highlight]) ::slotted(luzmo-menu-item[selected]){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)))}@media (forced-colors: active){:host{--highcontrast-menu-item-background-color-default: ButtonFace;--highcontrast-menu-item-color-default: ButtonText;--highcontrast-menu-item-background-color-focus: Highlight;--highcontrast-menu-item-color-focus: HighlightText;--highcontrast-menu-checkmark-icon-color-default: Highlight;--highcontrast-menu-item-color-disabled: GrayText;--highcontrast-menu-item-focus-indicator-color: Highlight;--highcontrast-menu-item-selected-background-color: Highlight;--highcontrast-menu-item-selected-color: HighlightText}@supports (color: SelectedItem){:host{--highcontrast-menu-item-selected-background-color: SelectedItem;--highcontrast-menu-item-selected-color: SelectedItemText}}}:host{inline-size:auto;inline-size:var(--luzmo-menu-inline-size, auto);box-sizing:border-box;margin:0;padding:0;list-style-type:none;display:inline-block;overflow:auto}:host:lang(ja),:host:lang(ko),:host:lang(zh){--menu-item-label-line-height: var( --luzmo-menu-item-label-line-height-cjk, var(--menu-item-label-line-height-cjk) );--menu-item-description-line-height: var( --luzmo-menu-item-description-line-height-cjk, var(--menu-item-description-line-height-cjk) );--menu-section-header-line-height: var( --luzmo-menu-section-header-line-height-cjk, var(--menu-section-header-line-height-cjk) )}:host([selects]) ::slotted(luzmo-menu-item){--menu-checkmark-display: var(--menu-checkmark-display-hidden);padding-inline-start:var(--luzmo-menu-item-selectable-edge-to-text-not-selected, var(--menu-item-selectable-edge-to-text-not-selected))}:host([selects]) ::slotted(luzmo-menu-item[selected]){--menu-checkmark-display: var(--menu-checkmark-display-shown);padding-inline-start:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content))}.luzmo-Menu-backIcon{margin-block:var(--luzmo-menu-back-icon-margin-block, var(--menu-back-icon-margin));margin-inline:var(--luzmo-menu-back-icon-margin-inline, var(--menu-back-icon-margin));fill:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-icon-color-default, var(--menu-section-header-color)));color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-icon-color-default, var(--menu-section-header-color)))}.luzmo-Menu-back:focus-visible{box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * 1) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)));box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * var(--menu-item-focus-indicator-direction-scalar, 1)) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)))}.luzmo-Menu-sectionHeading{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-section-header-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));min-inline-size:var(--luzmo-menu-section-header-min-width, var(--menu-section-header-min-width));padding-block-start:var(--luzmo-menu-section-header-top-edge-to-text, var(--luzmo-menu-item-top-edge-to-text, var(--menu-item-top-edge-to-text)));padding-block-end:var(--luzmo-menu-section-header-bottom-edge-to-text, var(--luzmo-menu-item-bottom-edge-to-text, var(--menu-item-bottom-edge-to-text)));padding-inline:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content));grid-area:sectionHeadingArea/1/sectionHeadingArea/-1;display:block}.luzmo-Menu-back{padding-inline:0 var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-inline:var(--luzmo-menu-back-padding-inline-start, 0) var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-block:0;padding-block:var(--luzmo-menu-back-padding-block-start, 0) var(--luzmo-menu-back-padding-block-end, 0);flex-flow:wrap;align-items:center;display:flex}.luzmo-Menu-back .luzmo-Menu-sectionHeading{padding:0}.luzmo-Menu-backButton{cursor:pointer;background:none;border:0;margin:0;padding:0;display:inline-flex}.luzmo-Menu-backButton:focus-visible{outline:var(--luzmo-indicator-width) solid var(--luzmo-indicator-color);outline-offset:calc((var(--luzmo-indicator-width) + 1px) * -1)}.luzmo-Menu-backHeading{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-heading-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));display:block}:host{display:inline-flex;flex-direction:column;width:100%}:host(:focus){outline:none}::slotted(*){flex-shrink:0}";var T=Object.defineProperty,U=Object.getOwnPropertyDescriptor,m=(r,e,t,o)=>{for(var i=o>1?void 0:o?U(e,t):e,n=r.length-1,a;n>=0;n--)(a=r[n])&&(i=(o?a(e,t,i):a(i))||i);return o&&i&&T(e,t,i),i};function $(r,e){return!!e&&(r===e||r.contains(e))}class u extends z.SizedMixin(l.LuzmoElement,{noDefaultSize:!0}){constructor(){super(),this.label="",this.ignore=!1,this.value="",this.valueSeparator=",",this.selectedItems=[],this.focusedItemIndex=0,this.focusInItemIndex=0,this._selected=[],this.cacheUpdated=Promise.resolve(),this.childItemSet=new Set,this.selectedItemsMap=new Map,this._hasUpdatedSelectedItemIndex=!1,this._willUpdateItems=!1,this.pointerUpTarget=null,this.descendentOverlays=new Map,this.handleSubmenuClosed=e=>{e.stopPropagation(),e.composedPath()[0].dispatchEvent(new Event("luzmo-menu-submenu-closed",{bubbles:!0,composed:!0}))},this.handleSubmenuOpened=e=>{e.stopPropagation(),e.composedPath()[0].dispatchEvent(new Event("luzmo-menu-submenu-opened",{bubbles:!0,composed:!0}));const o=this.childItems[this.focusedItemIndex];o&&(o.focused=!1);const i=e.composedPath().find(a=>this.childItemSet.has(a));if(!i)return;const n=this.childItems.indexOf(i);this.focusedItemIndex=n,this.focusInItemIndex=n},this.resolveCacheUpdated=()=>{},this.addEventListener("luzmo-menu-item-added-or-updated",this.onSelectableItemAddedOrUpdated),this.addEventListener("luzmo-menu-item-added-or-updated",this.onFocusableItemAddedOrUpdated,{capture:!0}),this.addEventListener("click",this.handleClick),this.addEventListener("pointerup",this.handlePointerup),this.addEventListener("focusin",this.handleFocusin),this.addEventListener("blur",this.handleBlur),this.addEventListener("luzmo-opened",this.handleSubmenuOpened),this.addEventListener("luzmo-closed",this.handleSubmenuClosed)}static get styles(){return[l.r(L)]}get isSubmenu(){return this.slot==="submenu"}get selected(){return this._selected}set selected(e){if(e===this.selected)return;const t=this.selected;this._selected=e,this.selectedItems=[],this.selectedItemsMap.clear(),this.childItems.forEach(o=>{this===o.menuData.selectionRoot&&(o.selected=this.selected.includes(o.value),o.selected&&(this.selectedItems.push(o),this.selectedItemsMap.set(o,!0)))}),this.requestUpdate("selected",t)}get childItems(){return this.cachedChildItems||(this.cachedChildItems=this.updateCachedMenuItems()),this.cachedChildItems}get childRole(){if(this.resolvedRole==="listbox")return"option";switch(this.resolvedSelects){case"single":return"menuitemradio";case"multiple":return"menuitemcheckbox";default:return"menuitem"}}get ownRole(){return"menu"}focus({preventScroll:e}={}){if(this.childItems.every(o=>o.disabled))return;if(this.childItems.some(o=>o.menuData.focusRoot!==this)){super.focus({preventScroll:e});return}this.focusMenuItemByOffset(0),super.focus({preventScroll:e});const t=this.selectedItems[0];t&&!e&&t.scrollIntoView({block:"nearest"})}handleFocusin(e){var i;if(this.childItems.some(n=>n.menuData.focusRoot!==this))return;const t=this.getRootNode().activeElement,o=((i=this.childItems[this.focusedItemIndex])==null?void 0:i.menuData.selectionRoot)||this;if((t!==o||e.target!==this)&&(o.focus({preventScroll:!0}),t&&this.focusedItemIndex===0)){const n=this.childItems.indexOf(t);this.focusMenuItemByOffset(Math.max(n,0))}this.startListeningToKeyboard()}startListeningToKeyboard(){this.addEventListener("keydown",this.handleKeydown)}handleBlur(e){$(this,e.relatedTarget)||(this.stopListeningToKeyboard(),this.childItems.forEach(t=>t.focused=!1),this.removeAttribute("aria-activedescendant"))}stopListeningToKeyboard(){this.removeEventListener("keydown",this.handleKeydown)}selectOrToggleItem(e){const t=this.resolvedSelects,o=new Map(this.selectedItemsMap),i=[...this.selected],n=[...this.selectedItems],a=this.value,h=this.childItems[this.focusedItemIndex];if(h&&(h.focused=!1,h.active=!1),this.focusedItemIndex=this.childItems.indexOf(e),this.forwardFocusVisibleToItem(e),t==="multiple"){this.selectedItemsMap.has(e)?this.selectedItemsMap.delete(e):this.selectedItemsMap.set(e,!0);const v=[],b=[];this.childItemSet.forEach(p=>{p.menuData.selectionRoot===this&&this.selectedItemsMap.has(p)&&(v.push(p.value),b.push(p))}),this._selected=v,this.selectedItems=b,this.value=this.selected.join(this.valueSeparator)}else this.selectedItemsMap.clear(),this.selectedItemsMap.set(e,!0),this.value=e.value,this._selected=[e.value],this.selectedItems=[e];if(!this.dispatchEvent(new Event("change",{cancelable:!0,bubbles:!0,composed:!0}))){this._selected=i,this.selectedItems=n,this.selectedItemsMap=o,this.value=a;return}if(t==="single"){for(const v of o.keys())v!==e&&(v.selected=!1);e.selected=!0}else t==="multiple"&&(e.selected=!e.selected)}handleKeydown(e){if(e.defaultPrevented)return;const t=this.childItems[this.focusedItemIndex];t&&(t.focused=!0);const{key:o}=e;if(e.shiftKey&&e.target!==this&&this.hasAttribute("tabindex")){this.removeAttribute("tabindex");const i=n=>{!n.shiftKey&&!this.hasAttribute("tabindex")&&(this.tabIndex=0,document.removeEventListener("keyup",i),this.removeEventListener("focusout",i))};document.addEventListener("keyup",i),this.addEventListener("focusout",i)}if(o==="Tab"){this.prepareToCleanUp();return}if(o===" "&&(t!=null&&t.hasSubmenu)){t.openOverlay();return}if(o===" "||o==="Enter"){const i=this.childItems[this.focusedItemIndex];i&&i.menuData.selectionRoot===e.target&&(e.preventDefault(),i.click());return}if(o==="ArrowDown"||o==="ArrowUp"){const i=this.childItems[this.focusedItemIndex];i&&i.menuData.selectionRoot===e.target&&this.navigateWithinMenu(e);return}this.navigateBetweenRelatedMenus(e)}focusMenuItemByOffset(e){const t=e||1,o=this.childItems[this.focusedItemIndex];o&&(o.focused=!1,o.active=o.open),this.focusedItemIndex=(this.childItems.length+this.focusedItemIndex+e)%this.childItems.length;let i=this.childItems[this.focusedItemIndex],n=this.childItems.length;for(;i!=null&&i.disabled&&n;)n-=1,this.focusedItemIndex=(this.childItems.length+this.focusedItemIndex+t)%this.childItems.length,i=this.childItems[this.focusedItemIndex];return i!=null&&i.disabled||this.forwardFocusVisibleToItem(i),i}updateSelectedItemIndex(){let e=0;const t=new Map,o=[],i=[];let n=this.childItems.length;for(;n;){n-=1;const a=this.childItems[n];a.menuData.selectionRoot===this&&((a.selected||!this._hasUpdatedSelectedItemIndex&&this.selected.includes(a.value))&&(e=n,t.set(a,!0),o.unshift(a.value),i.unshift(a)),n!==e&&(a.focused=!1))}i.map((a,h)=>{h>0&&(a.focused=!1)}),this.selectedItemsMap=t,this._selected=o,this.selectedItems=i,this.value=this.selected.join(this.valueSeparator),this.focusedItemIndex=e,this.focusInItemIndex=e}closeDescendentOverlays(){this.descendentOverlays.forEach(e=>{e.open=!1}),this.descendentOverlays=new Map}render(){return this.renderMenuItemSlot()}connectedCallback(){super.connectedCallback(),!this.hasAttribute("role")&&!this.ignore&&this.setAttribute("role",this.ownRole),this.updateComplete.then(()=>this.updateItemFocus())}disconnectedCallback(){this.cachedChildItems=void 0,this.selectedItems=[],this.selectedItemsMap.clear(),this.childItemSet.clear(),this.descendentOverlays=new Map,super.disconnectedCallback()}handleDescendentOverlayOpened(e){const t=e.composedPath()[0];t.overlayElement&&this.descendentOverlays.set(t.overlayElement,t.overlayElement)}handleDescendentOverlayClosed(e){const t=e.composedPath()[0];t.overlayElement&&this.descendentOverlays.delete(t.overlayElement)}navigateWithinMenu(e){const{key:t}=e,o=this.childItems[this.focusedItemIndex],i=t==="ArrowDown"?1:-1,n=this.focusMenuItemByOffset(i);n!==o&&(e.preventDefault(),e.stopPropagation(),n.scrollIntoView({block:"nearest"}))}navigateBetweenRelatedMenus(e){const{key:t}=e;e.stopPropagation();const o=this.isLTR&&t==="ArrowRight"||!this.isLTR&&t==="ArrowLeft",i=this.isLTR&&t==="ArrowLeft"||!this.isLTR&&t==="ArrowRight";if(o){const n=this.childItems[this.focusedItemIndex];n!=null&&n.hasSubmenu&&n.openOverlay()}else i&&this.isSubmenu&&(this.dispatchEvent(new Event("close",{bubbles:!0})),this.updateSelectedItemIndex())}renderMenuItemSlot(){return l.x`
18
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("lit"),a=require("lit/decorators.js"),z=require("../base-5nDSSNeT.cjs"),k=require("../sized-mixin-DcvJLFeo.cjs"),S=require("../divider.module-DDvBo9zo.cjs"),I=require("../random-id-CqvckpWe.cjs"),E=require("@lit-labs/observers/mutation-controller.js"),M=require("../focusable-CbVKgGfS.cjs"),C=require("../like-anchor-B2EqJPdw.cjs"),A=require("../observe-slot-presence-CNltc0C0.cjs"),P=require("../observe-slot-text-CBMHpuIK.cjs"),D=require("../dependency-manger-uthev62E.cjs"),h=require("@luzmo/icons"),R=require("../slottable-request-event-BfUUt1Mh.cjs"),O=":host{--menu-item-top-to-action: var(--luzmo-spacing-1);--menu-item-top-to-checkbox: var(--luzmo-spacing-1);--menu-item-label-line-height: var(--luzmo-line-height);--menu-item-label-line-height-cjk: 1.5;--menu-item-label-to-description-spacing: 1px;--menu-item-focus-indicator-width: var(--luzmo-indicator-width);--menu-item-focus-indicator-color: var(--luzmo-indicator-color);--menu-item-label-to-value-area-min-spacing: var(--luzmo-spacing-3);--menu-item-label-content-color-default: var(--luzmo-font-color);--menu-item-label-content-color-hover: var(--luzmo-font-color-hover);--menu-item-label-content-color-down: var(--luzmo-font-color-down);--menu-item-label-content-color-focus: var(--luzmo-font-color-focus);--menu-item-highlight-label-background-color: var(--luzmo-primary);--menu-item-highlight-label-content-color: var(--luzmo-font-color);--menu-item-highlight-label-content-color-hover: var( --luzmo-font-color-hover );--menu-item-highlight-label-content-color-down: var(--luzmo-font-color-down);--menu-item-highlight-label-content-color-focus: var( --luzmo-font-color-focus );--menu-item-label-icon-color-default: var(--luzmo-font-color);--menu-item-label-icon-color-hover: var(--luzmo-font-color-hover);--menu-item-label-icon-color-down: var(--luzmo-font-color-down);--menu-item-label-icon-color-focus: var(--luzmo-font-color-focus);--menu-item-label-content-color-disabled: var(--luzmo-font-color-disabled);--menu-item-label-icon-color-disabled: var(--luzmo-font-color-disabled);--menu-item-description-line-height: var(--luzmo-line-height);--menu-item-description-line-height-cjk: 1.5;--menu-item-description-color-default: var(--luzmo-font-color);--menu-item-description-color-hover: var(--luzmo-font-color-hover);--menu-item-description-color-down: var(--luzmo-font-color-down);--menu-item-description-color-focus: var(--luzmo-font-color-focus);--menu-item-description-color-disabled: var(--luzmo-disabled-color);--menu-section-header-line-height: var(--luzmo-line-height);--menu-section-header-line-height-cjk: 1.5;--menu-section-header-font-weight: bold;--menu-section-header-color: var(--luzmo-font-color-hard);--menu-collapsible-icon-color: var(--luzmo-font-color-hard);--menu-checkmark-icon-color-default: var(--luzmo-primary);--menu-checkmark-icon-color-hover: var(--luzmo-primary-hover);--menu-checkmark-icon-color-down: var(--luzmo-primary-down);--menu-checkmark-icon-color-focus: var(--luzmo-primary-focus);--menu-drillin-icon-color-default: var(--luzmo-font-color);--menu-drillin-icon-color-hover: var(--luzmo-font-color-hover);--menu-drillin-icon-color-down: var(--luzmo-font-color-down);--menu-drillin-icon-color-focus: var(--luzmo-font-color-focus);--menu-item-value-color-default: var(--luzmo-font-color);--menu-item-value-color-hover: var(--luzmo-font-color-hover);--menu-item-value-color-down: var(--luzmo-font-color-down);--menu-item-value-color-focus: var(--luzmo-font-color-focus);--menu-checkmark-display-hidden: none;--menu-checkmark-display-shown: block;--menu-checkmark-display: block;--menu-item-collapsible-no-icon-submenu-item-padding-x-start: 28px;--menu-item-background-color-selected: var(--luzmo-background-color);--menu-item-background-color-default: var(--luzmo-background-color);--menu-item-background-color-hover: var(--luzmo-background-color-hover);--menu-item-background-color-down: var(--luzmo-background-color-down);--menu-item-background-color-key-focus: var(--luzmo-background-color-focus)}:host{--menu-item-min-height: var(--luzmo-component-height);--menu-item-icon-height: var(--luzmo-font-size);--menu-item-icon-width: var(--luzmo-font-size);--menu-item-label-font-size: var(--luzmo-font-size);--menu-item-label-text-to-visual: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--menu-item-label-inline-edge-to-content: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--menu-item-top-edge-to-text: var(--luzmo-spacing-1);--menu-item-bottom-edge-to-text: var(--luzmo-spacing-1);--menu-item-text-to-control: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--menu-item-description-font-size: var(--luzmo-font-size-xs);--menu-section-header-font-size: var(--luzmo-font-size);--menu-section-header-min-width: var(--luzmo-component-height);--menu-item-selectable-edge-to-text-not-selected: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--menu-item-checkmark-size: var(--luzmo-font-size-xs);--menu-item-angle-size: var(--luzmo-font-size);--menu-item-top-to-icon: calc( ( var(--menu-item-min-height) - var(--menu-item-top-edge-to-text) - var( --menu-item-bottom-edge-to-text ) - var(--menu-item-icon-height) ) / 2 );--menu-item-top-to-checkmark: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--menu-back-icon-margin: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) )}:host([size=s]){--menu-item-min-height: var(--luzmo-component-height-s);--menu-item-icon-height: var(--luzmo-font-size-s);--menu-item-icon-width: var(--luzmo-font-size-s);--menu-item-label-font-size: var(--luzmo-font-size-s);--menu-item-label-text-to-visual: var(--luzmo-spacing-3);--menu-item-label-inline-edge-to-content: var(--luzmo-spacing-3);--menu-item-top-edge-to-text: var(--luzmo-spacing-1);--menu-item-bottom-edge-to-text: var(--luzmo-spacing-1);--menu-item-text-to-control: var(--luzmo-spacing-2);--menu-item-description-font-size: var(--luzmo-font-size-xs);--menu-section-header-font-size: var(--luzmo-font-size-s);--menu-section-header-min-width: var(--luzmo-component-height-s);--menu-item-selectable-edge-to-text-not-selected: var(--luzmo-spacing-3);--menu-item-checkmark-size: var(--luzmo-font-size-xs);--menu-item-angle-size: var(--luzmo-font-size-s);--menu-item-top-to-icon: calc( ( var(--menu-item-min-height) - var(--menu-item-top-edge-to-text) - var( --menu-item-bottom-edge-to-text ) - var(--menu-item-icon-height) ) / 2 );--menu-item-top-to-checkmark: var(--luzmo-spacing-3);--menu-back-icon-margin: var(--luzmo-spacing-3)}:host([size=l]){--menu-item-min-height: var(--luzmo-component-height-l);--menu-item-icon-height: var(--luzmo-font-size-l);--menu-item-icon-width: var(--luzmo-font-size-l);--menu-item-label-font-size: var(--luzmo-font-size-l);--menu-item-label-text-to-visual: var(--luzmo-spacing-4);--menu-item-label-inline-edge-to-content: var(--luzmo-spacing-4);--menu-item-top-edge-to-text: var(--luzmo-spacing-2);--menu-item-bottom-edge-to-text: var(--luzmo-spacing-2);--menu-item-text-to-control: var(--luzmo-spacing-3);--menu-item-description-font-size: var(--luzmo-font-size-s);--menu-section-header-font-size: var(--luzmo-font-size-l);--menu-section-header-min-width: var(--luzmo-component-height-l);--menu-item-selectable-edge-to-text-not-selected: var(--luzmo-spacing-4);--menu-item-checkmark-size: var(--luzmo-font-size-s);--menu-item-angle-size: var(--luzmo-font-size-l);--menu-item-top-to-icon: calc( ( var(--menu-item-min-height) - var(--menu-item-top-edge-to-text) - var( --menu-item-bottom-edge-to-text ) - var(--menu-item-icon-height) ) / 2 );--menu-item-top-to-checkmark: var(--luzmo-spacing-4);--menu-back-icon-margin: var(--luzmo-spacing-4)}:host([size=xl]){--menu-item-min-height: var(--luzmo-component-height-xl);--menu-item-icon-height: var(--luzmo-font-size-xl);--menu-item-icon-width: var(--luzmo-font-size-xl);--menu-item-label-font-size: var(--luzmo-font-size-xl);--menu-item-label-text-to-visual: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--menu-item-label-inline-edge-to-content: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--menu-item-top-edge-to-text: var(--luzmo-spacing-2);--menu-item-bottom-edge-to-text: var(--luzmo-spacing-2);--menu-item-text-to-control: var(--luzmo-spacing-4);--menu-item-description-font-size: var(--luzmo-font-size);--menu-section-header-font-size: var(--luzmo-font-size-xl);--menu-section-header-min-width: var(--luzmo-component-height-xl);--menu-item-selectable-edge-to-text-not-selected: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--menu-item-checkmark-size: var(--luzmo-font-size);--menu-item-angle-size: var(--luzmo-font-size-xl);--menu-item-top-to-icon: calc( ( var(--menu-item-min-height) - var(--menu-item-top-edge-to-text) - var( --menu-item-bottom-edge-to-text ) - var(--menu-item-icon-height) ) / 2 );--menu-item-top-to-checkmark: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--menu-back-icon-margin: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) )}:host([variant=highlight]){--menu-item-highlight-label-content-color: var(--luzmo-primary-inverse-color);--menu-checkmark-display: var(--menu-checkmark-display-hidden);--menu-item-highlight-label-content-color-hover: var( --luzmo-primary-inverse-color );--menu-item-highlight-label-content-color-down: var( --luzmo-primary-inverse-color );--menu-item-highlight-label-content-color-focus: var( --luzmo-primary-inverse-color )}:host([variant=highlight]) ::slotted(luzmo-menu-item[selected]){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)))}@media (forced-colors: active){:host{--highcontrast-menu-item-background-color-default: ButtonFace;--highcontrast-menu-item-color-default: ButtonText;--highcontrast-menu-item-background-color-focus: Highlight;--highcontrast-menu-item-color-focus: HighlightText;--highcontrast-menu-checkmark-icon-color-default: Highlight;--highcontrast-menu-item-color-disabled: GrayText;--highcontrast-menu-item-focus-indicator-color: Highlight;--highcontrast-menu-item-selected-background-color: Highlight;--highcontrast-menu-item-selected-color: HighlightText}@supports (color: SelectedItem){:host{--highcontrast-menu-item-selected-background-color: SelectedItem;--highcontrast-menu-item-selected-color: SelectedItemText}}}:host{inline-size:auto;inline-size:var(--luzmo-menu-inline-size, auto);box-sizing:border-box;margin:0;padding:0;list-style-type:none;display:inline-block;overflow:auto}:host:lang(ja),:host:lang(ko),:host:lang(zh){--menu-item-label-line-height: var( --luzmo-menu-item-label-line-height-cjk, var(--menu-item-label-line-height-cjk) );--menu-item-description-line-height: var( --luzmo-menu-item-description-line-height-cjk, var(--menu-item-description-line-height-cjk) );--menu-section-header-line-height: var( --luzmo-menu-section-header-line-height-cjk, var(--menu-section-header-line-height-cjk) )}:host([selects]) ::slotted(luzmo-menu-item){--menu-checkmark-display: var(--menu-checkmark-display-hidden);padding-inline-start:var(--luzmo-menu-item-selectable-edge-to-text-not-selected, var(--menu-item-selectable-edge-to-text-not-selected))}:host([selects]) ::slotted(luzmo-menu-item[selected]){--menu-checkmark-display: var(--menu-checkmark-display-shown);padding-inline-start:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content))}.luzmo-Menu-backIcon{margin-block:var(--luzmo-menu-back-icon-margin-block, var(--menu-back-icon-margin));margin-inline:var(--luzmo-menu-back-icon-margin-inline, var(--menu-back-icon-margin));fill:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-icon-color-default, var(--menu-section-header-color)));color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-icon-color-default, var(--menu-section-header-color)))}.luzmo-Menu-back:focus-visible{box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * 1) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)));box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * var(--menu-item-focus-indicator-direction-scalar, 1)) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)))}.luzmo-Menu-sectionHeading{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-section-header-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));min-inline-size:var(--luzmo-menu-section-header-min-width, var(--menu-section-header-min-width));padding-block-start:var(--luzmo-menu-section-header-top-edge-to-text, var(--luzmo-menu-item-top-edge-to-text, var(--menu-item-top-edge-to-text)));padding-block-end:var(--luzmo-menu-section-header-bottom-edge-to-text, var(--luzmo-menu-item-bottom-edge-to-text, var(--menu-item-bottom-edge-to-text)));padding-inline:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content));grid-area:sectionHeadingArea/1/sectionHeadingArea/-1;display:block}.luzmo-Menu-back{padding-inline:0 var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-inline:var(--luzmo-menu-back-padding-inline-start, 0) var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-block:0;padding-block:var(--luzmo-menu-back-padding-block-start, 0) var(--luzmo-menu-back-padding-block-end, 0);flex-flow:wrap;align-items:center;display:flex}.luzmo-Menu-back .luzmo-Menu-sectionHeading{padding:0}.luzmo-Menu-backButton{cursor:pointer;background:none;border:0;margin:0;padding:0;display:inline-flex}.luzmo-Menu-backButton:focus-visible{outline:var(--luzmo-indicator-width) solid var(--luzmo-indicator-color);outline-offset:calc((var(--luzmo-indicator-width) + 1px) * -1)}.luzmo-Menu-backHeading{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-heading-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));display:block}:host{display:inline-flex;flex-direction:column;width:100%}:host(:focus){outline:none}::slotted(*){flex-shrink:0}";var L=Object.defineProperty,T=Object.getOwnPropertyDescriptor,d=(r,e,t,o)=>{for(var i=o>1?void 0:o?T(e,t):e,n=r.length-1,l;n>=0;n--)(l=r[n])&&(i=(o?l(e,t,i):l(i))||i);return o&&i&&L(e,t,i),i};function U(r,e){return!!e&&(r===e||r.contains(e))}class m extends k.SizedMixin(z.LuzmoElement,{noDefaultSize:!0}){constructor(){super(),this.label="",this.ignore=!1,this.value="",this.valueSeparator=",",this.selectedItems=[],this.focusedItemIndex=0,this.focusInItemIndex=0,this._selected=[],this.cacheUpdated=Promise.resolve(),this.childItemSet=new Set,this.selectedItemsMap=new Map,this._hasUpdatedSelectedItemIndex=!1,this._willUpdateItems=!1,this.pointerUpTarget=null,this.descendentOverlays=new Map,this.handleSubmenuClosed=e=>{e.stopPropagation(),e.composedPath()[0].dispatchEvent(new Event("luzmo-menu-submenu-closed",{bubbles:!0,composed:!0}))},this.handleSubmenuOpened=e=>{e.stopPropagation(),e.composedPath()[0].dispatchEvent(new Event("luzmo-menu-submenu-opened",{bubbles:!0,composed:!0}));const o=this.childItems[this.focusedItemIndex];o&&(o.focused=!1);const i=e.composedPath().find(l=>this.childItemSet.has(l));if(!i)return;const n=this.childItems.indexOf(i);this.focusedItemIndex=n,this.focusInItemIndex=n},this.resolveCacheUpdated=()=>{},this.addEventListener("luzmo-menu-item-added-or-updated",this.onSelectableItemAddedOrUpdated),this.addEventListener("luzmo-menu-item-added-or-updated",this.onFocusableItemAddedOrUpdated,{capture:!0}),this.addEventListener("click",this.handleClick),this.addEventListener("pointerup",this.handlePointerup),this.addEventListener("focusin",this.handleFocusin),this.addEventListener("blur",this.handleBlur),this.addEventListener("luzmo-opened",this.handleSubmenuOpened),this.addEventListener("luzmo-closed",this.handleSubmenuClosed)}static get styles(){return[s.unsafeCSS(O)]}get isSubmenu(){return this.slot==="submenu"}get selected(){return this._selected}set selected(e){if(e===this.selected)return;const t=this.selected;this._selected=e,this.selectedItems=[],this.selectedItemsMap.clear(),this.childItems.forEach(o=>{this===o.menuData.selectionRoot&&(o.selected=this.selected.includes(o.value),o.selected&&(this.selectedItems.push(o),this.selectedItemsMap.set(o,!0)))}),this.requestUpdate("selected",t)}get childItems(){return this.cachedChildItems||(this.cachedChildItems=this.updateCachedMenuItems()),this.cachedChildItems}get childRole(){if(this.resolvedRole==="listbox")return"option";switch(this.resolvedSelects){case"single":return"menuitemradio";case"multiple":return"menuitemcheckbox";default:return"menuitem"}}get ownRole(){return"menu"}focus({preventScroll:e}={}){if(this.childItems.every(o=>o.disabled))return;if(this.childItems.some(o=>o.menuData.focusRoot!==this)){super.focus({preventScroll:e});return}this.focusMenuItemByOffset(0),super.focus({preventScroll:e});const t=this.selectedItems[0];t&&!e&&t.scrollIntoView({block:"nearest"})}handleFocusin(e){var i;if(this.childItems.some(n=>n.menuData.focusRoot!==this))return;const t=this.getRootNode().activeElement,o=((i=this.childItems[this.focusedItemIndex])==null?void 0:i.menuData.selectionRoot)||this;if((t!==o||e.target!==this)&&(o.focus({preventScroll:!0}),t&&this.focusedItemIndex===0)){const n=this.childItems.indexOf(t);this.focusMenuItemByOffset(Math.max(n,0))}this.startListeningToKeyboard()}startListeningToKeyboard(){this.addEventListener("keydown",this.handleKeydown)}handleBlur(e){U(this,e.relatedTarget)||(this.stopListeningToKeyboard(),this.childItems.forEach(t=>t.focused=!1),this.removeAttribute("aria-activedescendant"))}stopListeningToKeyboard(){this.removeEventListener("keydown",this.handleKeydown)}selectOrToggleItem(e){const t=this.resolvedSelects,o=new Map(this.selectedItemsMap),i=[...this.selected],n=[...this.selectedItems],l=this.value,v=this.childItems[this.focusedItemIndex];if(v&&(v.focused=!1,v.active=!1),this.focusedItemIndex=this.childItems.indexOf(e),this.forwardFocusVisibleToItem(e),t==="multiple"){this.selectedItemsMap.has(e)?this.selectedItemsMap.delete(e):this.selectedItemsMap.set(e,!0);const p=[],b=[];this.childItemSet.forEach(f=>{f.menuData.selectionRoot===this&&this.selectedItemsMap.has(f)&&(p.push(f.value),b.push(f))}),this._selected=p,this.selectedItems=b,this.value=this.selected.join(this.valueSeparator)}else this.selectedItemsMap.clear(),this.selectedItemsMap.set(e,!0),this.value=e.value,this._selected=[e.value],this.selectedItems=[e];if(!this.dispatchEvent(new Event("change",{cancelable:!0,bubbles:!0,composed:!0}))){this._selected=i,this.selectedItems=n,this.selectedItemsMap=o,this.value=l;return}if(t==="single"){for(const p of o.keys())p!==e&&(p.selected=!1);e.selected=!0}else t==="multiple"&&(e.selected=!e.selected)}handleKeydown(e){if(e.defaultPrevented)return;const t=this.childItems[this.focusedItemIndex];t&&(t.focused=!0);const{key:o}=e;if(e.shiftKey&&e.target!==this&&this.hasAttribute("tabindex")){this.removeAttribute("tabindex");const i=n=>{!n.shiftKey&&!this.hasAttribute("tabindex")&&(this.tabIndex=0,document.removeEventListener("keyup",i),this.removeEventListener("focusout",i))};document.addEventListener("keyup",i),this.addEventListener("focusout",i)}if(o==="Tab"){this.prepareToCleanUp();return}if(o===" "&&(t!=null&&t.hasSubmenu)){t.openOverlay();return}if(o===" "||o==="Enter"){const i=this.childItems[this.focusedItemIndex];i&&i.menuData.selectionRoot===e.target&&(e.preventDefault(),i.click());return}if(o==="ArrowDown"||o==="ArrowUp"){const i=this.childItems[this.focusedItemIndex];i&&i.menuData.selectionRoot===e.target&&this.navigateWithinMenu(e);return}this.navigateBetweenRelatedMenus(e)}focusMenuItemByOffset(e){const t=e||1,o=this.childItems[this.focusedItemIndex];o&&(o.focused=!1,o.active=o.open),this.focusedItemIndex=(this.childItems.length+this.focusedItemIndex+e)%this.childItems.length;let i=this.childItems[this.focusedItemIndex],n=this.childItems.length;for(;i!=null&&i.disabled&&n;)n-=1,this.focusedItemIndex=(this.childItems.length+this.focusedItemIndex+t)%this.childItems.length,i=this.childItems[this.focusedItemIndex];return i!=null&&i.disabled||this.forwardFocusVisibleToItem(i),i}updateSelectedItemIndex(){let e=0;const t=new Map,o=[],i=[];let n=this.childItems.length;for(;n;){n-=1;const l=this.childItems[n];l.menuData.selectionRoot===this&&((l.selected||!this._hasUpdatedSelectedItemIndex&&this.selected.includes(l.value))&&(e=n,t.set(l,!0),o.unshift(l.value),i.unshift(l)),n!==e&&(l.focused=!1))}i.map((l,v)=>{v>0&&(l.focused=!1)}),this.selectedItemsMap=t,this._selected=o,this.selectedItems=i,this.value=this.selected.join(this.valueSeparator),this.focusedItemIndex=e,this.focusInItemIndex=e}closeDescendentOverlays(){this.descendentOverlays.forEach(e=>{e.open=!1}),this.descendentOverlays=new Map}render(){return this.renderMenuItemSlot()}connectedCallback(){super.connectedCallback(),!this.hasAttribute("role")&&!this.ignore&&this.setAttribute("role",this.ownRole),this.updateComplete.then(()=>this.updateItemFocus())}disconnectedCallback(){this.cachedChildItems=void 0,this.selectedItems=[],this.selectedItemsMap.clear(),this.childItemSet.clear(),this.descendentOverlays=new Map,super.disconnectedCallback()}handleDescendentOverlayOpened(e){const t=e.composedPath()[0];t.overlayElement&&this.descendentOverlays.set(t.overlayElement,t.overlayElement)}handleDescendentOverlayClosed(e){const t=e.composedPath()[0];t.overlayElement&&this.descendentOverlays.delete(t.overlayElement)}navigateWithinMenu(e){const{key:t}=e,o=this.childItems[this.focusedItemIndex],i=t==="ArrowDown"?1:-1,n=this.focusMenuItemByOffset(i);n!==o&&(e.preventDefault(),e.stopPropagation(),n.scrollIntoView({block:"nearest"}))}navigateBetweenRelatedMenus(e){const{key:t}=e;e.stopPropagation();const o=this.isLTR&&t==="ArrowRight"||!this.isLTR&&t==="ArrowLeft",i=this.isLTR&&t==="ArrowLeft"||!this.isLTR&&t==="ArrowRight";if(o){const n=this.childItems[this.focusedItemIndex];n!=null&&n.hasSubmenu&&n.openOverlay()}else i&&this.isSubmenu&&(this.dispatchEvent(new Event("close",{bubbles:!0})),this.updateSelectedItemIndex())}renderMenuItemSlot(){return s.html`
19
19
  <slot
20
20
  @luzmo-menu-submenu-opened=${this.handleDescendentOverlayOpened}
21
21
  @luzmo-menu-submenu-closed=${this.handleDescendentOverlayClosed}
22
22
  @slotchange=${this.handleSlotchange}
23
23
  ></slot>
24
- `}firstUpdated(e){if(super.firstUpdated(e),!this.hasAttribute("tabindex")&&!this.ignore){const o=this.getAttribute("role");this.tabIndex=o==="group"?-1:0}const t=[new Promise(o=>requestAnimationFrame(()=>o(!0)))];[...this.children].forEach(o=>{o.localName==="luzmo-menu-item"&&t.push(o.updateComplete)}),this.childItemsUpdated=Promise.all(t)}updated(e){super.updated(e),e.has("selects")&&this.hasUpdated&&this.selectsChanged(),e.has("label")&&(this.label||e.get("label")!==void 0)&&(this.label?this.setAttribute("aria-label",this.label):this.removeAttribute("aria-label"))}selectsChanged(){const e=[new Promise(t=>requestAnimationFrame(()=>t(!0)))];this.childItemSet.forEach(t=>{e.push(t.triggerUpdate())}),this.childItemsUpdated=Promise.all(e)}async getUpdateComplete(){const e=await super.getUpdateComplete();return await this.childItemsUpdated,await this.cacheUpdated,e}updateCachedMenuItems(){if(this.cachedChildItems=[],!this.menuSlot)return[];const e=this.menuSlot.assignedElements({flatten:!0});for(const[t,o]of e.entries()){if(this.childItemSet.has(o)){this.cachedChildItems.push(o);continue}const n=o.localName==="slot"?o.assignedElements({flatten:!0}):[...o.querySelectorAll(":scope > *")];e.splice(t,1,o,...n)}return this.cachedChildItems}onFocusableItemAddedOrUpdated(e){e.menuCascade.set(this,{hadFocusRoot:!!e.item.menuData.focusRoot,ancestorWithSelects:e.currentAncestorWithSelects}),this.selects&&(e.currentAncestorWithSelects=this),e.item.menuData.focusRoot=e.item.menuData.focusRoot||this}onSelectableItemAddedOrUpdated(e){var i,n;const t=e.menuCascade.get(this);if(!t)return;if(e.item.menuData.parentMenu=e.item.menuData.parentMenu||this,t.hadFocusRoot&&!this.ignore&&(this.tabIndex=-1),this.addChildItem(e.item),this.selects==="inherit"){this.resolvedSelects="inherit";const a=(i=e.currentAncestorWithSelects)==null?void 0:i.ignore;this.resolvedRole=a?"none":((n=e.currentAncestorWithSelects)==null?void 0:n.getAttribute("role"))||this.getAttribute("role")||void 0}else this.selects?(this.resolvedRole=this.ignore?"none":this.getAttribute("role")||void 0,this.resolvedSelects=this.selects):(this.resolvedRole=this.ignore?"none":this.getAttribute("role")||void 0,this.resolvedSelects=this.resolvedRole==="none"?"ignore":"none");const o=this.resolvedSelects==="single"||this.resolvedSelects==="multiple";e.item.menuData.cleanupSteps.push(a=>this.removeChildItem(a)),(o||!this.selects&&this.resolvedSelects!=="ignore")&&!e.item.menuData.selectionRoot&&(e.item.setRole(this.childRole),e.item.menuData.selectionRoot=e.item.menuData.selectionRoot||this,e.item.selected&&(this.selectedItemsMap.set(e.item,!0),this.selectedItems=[...this.selectedItems,e.item],this._selected=[...this.selected,e.item.value],this.value=this.selected.join(this.valueSeparator)))}addChildItem(e){this.childItemSet.add(e),this.handleItemsChanged()}async removeChildItem(e){this.childItemSet.delete(e),this.cachedChildItems=void 0,e.focused&&(this.handleItemsChanged(),await this.updateComplete,this.focus())}handleClick(e){if(this.pointerUpTarget===e.target){this.pointerUpTarget=null;return}this.handlePointerBasedSelection(e)}handlePointerup(e){this.pointerUpTarget=e.target,this.handlePointerBasedSelection(e)}handlePointerBasedSelection(e){var i,n;if(e instanceof MouseEvent&&e.button!==0)return;const o=e.composedPath().find(a=>a instanceof Element?a.getAttribute("role")===this.childRole:!1);if(e.defaultPrevented){const a=this.childItems.indexOf(o);((i=o==null?void 0:o.menuData)==null?void 0:i.focusRoot)===this&&a!==-1&&(this.focusedItemIndex=a);return}if(o!=null&&o.href&&o.href.length>0){this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}));return}else if(((n=o==null?void 0:o.menuData)==null?void 0:n.selectionRoot)===this&&this.childItems.length>0){if(e.preventDefault(),o.hasSubmenu||o.open)return;this.selectOrToggleItem(o)}else return;this.prepareToCleanUp()}prepareToCleanUp(){document.addEventListener("focusout",()=>{requestAnimationFrame(()=>{const e=this.childItems[this.focusedItemIndex];e&&(e.focused=!1,this.updateSelectedItemIndex())})},{once:!0})}handleItemsChanged(){this.cachedChildItems=void 0,this._willUpdateItems||(this._willUpdateItems=!0,this.cacheUpdated=this.updateCache())}async updateCache(){await(this.hasUpdated?new Promise(e=>requestAnimationFrame(()=>e(!0))):Promise.all([new Promise(e=>requestAnimationFrame(()=>e(!0))),this.updateComplete])),this.cachedChildItems===void 0&&(this.updateSelectedItemIndex(),this.updateItemFocus()),this._willUpdateItems=!1}updateItemFocus(){if(this.childItems.length===0)return;const e=this.childItems[this.focusInItemIndex];this.getRootNode().activeElement===e.menuData.focusRoot&&this.forwardFocusVisibleToItem(e)}forwardFocusVisibleToItem(e){if(!e||e.menuData.focusRoot!==this)return;this.closeDescendentOverlays();const t=this.hasVisibleFocusInTree()||!!this.childItems.some(o=>o.hasVisibleFocusInTree());e.focused=t,this.setAttribute("aria-activedescendant",e.id),e.menuData.selectionRoot&&e.menuData.selectionRoot!==this&&e.menuData.selectionRoot.focus()}handleSlotchange({target:e}){const t=e.assignedElements({flatten:!0});this.childItems.length!==t.length&&t.forEach(o=>{o.triggerUpdate!==void 0?o.triggerUpdate():o.childItems!==void 0&&o.childItems.forEach(i=>{i.triggerUpdate()})})}}m([l.n({type:String,reflect:!0})],u.prototype,"label",2);m([l.n({type:Boolean,reflect:!0})],u.prototype,"ignore",2);m([l.n({type:String,reflect:!0})],u.prototype,"variant",2);m([l.n({type:String,reflect:!0})],u.prototype,"selects",2);m([l.n({type:String})],u.prototype,"value",2);m([l.n({type:String,attribute:"value-separator"})],u.prototype,"valueSeparator",2);m([l.n({attribute:!1})],u.prototype,"selected",1);m([l.n({attribute:!1})],u.prototype,"selectedItems",2);m([f.e("slot:not([name])")],u.prototype,"menuSlot",2);const _=":host{--menu-divider-thickness: var( --divider-thickness-medium, var(--luzmo-border-width) );inline-size:auto;margin-block:var(--luzmo-menu-section-divider-margin-block, max(0px, (var(--menu-item-section-divider-height) - var(--menu-divider-thickness)) / 2));margin-inline:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content));overflow:visible}.luzmo-Menu-back:focus-visible{box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * 1) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)));box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * var(--menu-item-focus-indicator-direction-scalar, 1)) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)))}.luzmo-Menu-back{padding-inline:0 var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-inline:var(--luzmo-menu-back-padding-inline-start, 0) var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-block:0;padding-block:var(--luzmo-menu-back-padding-block-start, 0) var(--luzmo-menu-back-padding-block-end, 0);flex-flow:wrap;align-items:center;display:flex}.luzmo-Menu-backButton{cursor:pointer;background:none;border:0;margin:0;padding:0;display:inline-flex}.luzmo-Menu-backButton:focus-visible{outline:var(--focus-indicator-width) solid var(--focus-indicator-color);outline-offset:calc((var(--focus-indicator-width) + 1px) * -1)}.luzmo-Menu-backHeading{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-heading-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));display:block}:host{display:block;flex-shrink:0}";class I extends z.SizedMixin(l.LuzmoElement,{validSizes:["s","m","l"]}){static get styles(){return[l.r(y.dividerStyles),l.r(_)]}firstUpdated(e){super.firstUpdated(e),this.setAttribute("role","separator")}}const q=".luzmo-Menu-back:focus-visible{box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * 1) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)));box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * var(--menu-item-focus-indicator-direction-scalar, 1)) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)))}.header{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-section-header-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));min-inline-size:var(--luzmo-menu-section-header-min-width, var(--menu-section-header-min-width));padding-block-start:var(--luzmo-menu-section-header-top-edge-to-text, var(--luzmo-menu-item-top-edge-to-text, var(--menu-item-top-edge-to-text)));padding-block-end:var(--luzmo-menu-section-header-bottom-edge-to-text, var(--luzmo-menu-item-bottom-edge-to-text, var(--menu-item-bottom-edge-to-text)));padding-inline:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content));grid-area:sectionHeadingArea/1/sectionHeadingArea/-1;display:block}.luzmo-Menu-back{padding-inline:0 var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-inline:var(--luzmo-menu-back-padding-inline-start, 0) var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-block:0;padding-block:var(--luzmo-menu-back-padding-block-start, 0) var(--luzmo-menu-back-padding-block-end, 0);flex-flow:wrap;align-items:center;display:flex}.luzmo-Menu-back .header{padding:0}.luzmo-Menu-backButton{cursor:pointer;background:none;border:0;margin:0;padding:0;display:inline-flex}.luzmo-Menu-backButton:focus-visible{outline:var(--focus-indicator-width) solid var(--focus-indicator-color);outline-offset:calc((var(--focus-indicator-width) + 1px) * -1)}.luzmo-Menu-backHeading{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-heading-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));display:block}:host{margin:0;display:inline-flex;overflow:visible;flex-direction:column}[hidden]{display:none!important}";var B=Object.defineProperty,w=(r,e,t,o)=>{for(var i=void 0,n=r.length-1,a;n>=0;n--)(a=r[n])&&(i=a(e,t,i)||i);return i&&B(e,t,i),i};class g extends u{constructor(){super(...arguments),this.headerId=""}static get styles(){return[...super.styles,l.r(q)]}render(){return l.x`
24
+ `}firstUpdated(e){if(super.firstUpdated(e),!this.hasAttribute("tabindex")&&!this.ignore){const o=this.getAttribute("role");this.tabIndex=o==="group"?-1:0}const t=[new Promise(o=>requestAnimationFrame(()=>o(!0)))];[...this.children].forEach(o=>{o.localName==="luzmo-menu-item"&&t.push(o.updateComplete)}),this.childItemsUpdated=Promise.all(t)}updated(e){super.updated(e),e.has("selects")&&this.hasUpdated&&this.selectsChanged(),e.has("label")&&(this.label||e.get("label")!==void 0)&&(this.label?this.setAttribute("aria-label",this.label):this.removeAttribute("aria-label"))}selectsChanged(){const e=[new Promise(t=>requestAnimationFrame(()=>t(!0)))];this.childItemSet.forEach(t=>{e.push(t.triggerUpdate())}),this.childItemsUpdated=Promise.all(e)}async getUpdateComplete(){const e=await super.getUpdateComplete();return await this.childItemsUpdated,await this.cacheUpdated,e}updateCachedMenuItems(){if(this.cachedChildItems=[],!this.menuSlot)return[];const e=this.menuSlot.assignedElements({flatten:!0});for(const[t,o]of e.entries()){if(this.childItemSet.has(o)){this.cachedChildItems.push(o);continue}const n=o.localName==="slot"?o.assignedElements({flatten:!0}):[...o.querySelectorAll(":scope > *")];e.splice(t,1,o,...n)}return this.cachedChildItems}onFocusableItemAddedOrUpdated(e){e.menuCascade.set(this,{hadFocusRoot:!!e.item.menuData.focusRoot,ancestorWithSelects:e.currentAncestorWithSelects}),this.selects&&(e.currentAncestorWithSelects=this),e.item.menuData.focusRoot=e.item.menuData.focusRoot||this}onSelectableItemAddedOrUpdated(e){var i,n;const t=e.menuCascade.get(this);if(!t)return;if(e.item.menuData.parentMenu=e.item.menuData.parentMenu||this,t.hadFocusRoot&&!this.ignore&&(this.tabIndex=-1),this.addChildItem(e.item),this.selects==="inherit"){this.resolvedSelects="inherit";const l=(i=e.currentAncestorWithSelects)==null?void 0:i.ignore;this.resolvedRole=l?"none":((n=e.currentAncestorWithSelects)==null?void 0:n.getAttribute("role"))||this.getAttribute("role")||void 0}else this.selects?(this.resolvedRole=this.ignore?"none":this.getAttribute("role")||void 0,this.resolvedSelects=this.selects):(this.resolvedRole=this.ignore?"none":this.getAttribute("role")||void 0,this.resolvedSelects=this.resolvedRole==="none"?"ignore":"none");const o=this.resolvedSelects==="single"||this.resolvedSelects==="multiple";e.item.menuData.cleanupSteps.push(l=>this.removeChildItem(l)),(o||!this.selects&&this.resolvedSelects!=="ignore")&&!e.item.menuData.selectionRoot&&(e.item.setRole(this.childRole),e.item.menuData.selectionRoot=e.item.menuData.selectionRoot||this,e.item.selected&&(this.selectedItemsMap.set(e.item,!0),this.selectedItems=[...this.selectedItems,e.item],this._selected=[...this.selected,e.item.value],this.value=this.selected.join(this.valueSeparator)))}addChildItem(e){this.childItemSet.add(e),this.handleItemsChanged()}async removeChildItem(e){this.childItemSet.delete(e),this.cachedChildItems=void 0,e.focused&&(this.handleItemsChanged(),await this.updateComplete,this.focus())}handleClick(e){if(this.pointerUpTarget===e.target){this.pointerUpTarget=null;return}this.handlePointerBasedSelection(e)}handlePointerup(e){this.pointerUpTarget=e.target,this.handlePointerBasedSelection(e)}handlePointerBasedSelection(e){var i,n;if(e instanceof MouseEvent&&e.button!==0)return;const o=e.composedPath().find(l=>l instanceof Element?l.getAttribute("role")===this.childRole:!1);if(e.defaultPrevented){const l=this.childItems.indexOf(o);((i=o==null?void 0:o.menuData)==null?void 0:i.focusRoot)===this&&l!==-1&&(this.focusedItemIndex=l);return}if(o!=null&&o.href&&o.href.length>0){this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}));return}else if(((n=o==null?void 0:o.menuData)==null?void 0:n.selectionRoot)===this&&this.childItems.length>0){if(e.preventDefault(),o.hasSubmenu||o.open)return;this.selectOrToggleItem(o)}else return;this.prepareToCleanUp()}prepareToCleanUp(){document.addEventListener("focusout",()=>{requestAnimationFrame(()=>{const e=this.childItems[this.focusedItemIndex];e&&(e.focused=!1,this.updateSelectedItemIndex())})},{once:!0})}handleItemsChanged(){this.cachedChildItems=void 0,this._willUpdateItems||(this._willUpdateItems=!0,this.cacheUpdated=this.updateCache())}async updateCache(){await(this.hasUpdated?new Promise(e=>requestAnimationFrame(()=>e(!0))):Promise.all([new Promise(e=>requestAnimationFrame(()=>e(!0))),this.updateComplete])),this.cachedChildItems===void 0&&(this.updateSelectedItemIndex(),this.updateItemFocus()),this._willUpdateItems=!1}updateItemFocus(){if(this.childItems.length===0)return;const e=this.childItems[this.focusInItemIndex];this.getRootNode().activeElement===e.menuData.focusRoot&&this.forwardFocusVisibleToItem(e)}forwardFocusVisibleToItem(e){if(!e||e.menuData.focusRoot!==this)return;this.closeDescendentOverlays();const t=this.hasVisibleFocusInTree()||!!this.childItems.some(o=>o.hasVisibleFocusInTree());e.focused=t,this.setAttribute("aria-activedescendant",e.id),e.menuData.selectionRoot&&e.menuData.selectionRoot!==this&&e.menuData.selectionRoot.focus()}handleSlotchange({target:e}){const t=e.assignedElements({flatten:!0});this.childItems.length!==t.length&&t.forEach(o=>{o.triggerUpdate!==void 0?o.triggerUpdate():o.childItems!==void 0&&o.childItems.forEach(i=>{i.triggerUpdate()})})}}d([a.property({type:String,reflect:!0})],m.prototype,"label",2);d([a.property({type:Boolean,reflect:!0})],m.prototype,"ignore",2);d([a.property({type:String,reflect:!0})],m.prototype,"variant",2);d([a.property({type:String,reflect:!0})],m.prototype,"selects",2);d([a.property({type:String})],m.prototype,"value",2);d([a.property({type:String,attribute:"value-separator"})],m.prototype,"valueSeparator",2);d([a.property({attribute:!1})],m.prototype,"selected",1);d([a.property({attribute:!1})],m.prototype,"selectedItems",2);d([a.query("slot:not([name])")],m.prototype,"menuSlot",2);const $=":host{--menu-divider-thickness: var( --divider-thickness-medium, var(--luzmo-border-width) );inline-size:auto;margin-block:var(--luzmo-menu-section-divider-margin-block, max(0px, (var(--menu-item-section-divider-height) - var(--menu-divider-thickness)) / 2));margin-inline:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content));overflow:visible}.luzmo-Menu-back:focus-visible{box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * 1) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)));box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * var(--menu-item-focus-indicator-direction-scalar, 1)) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)))}.luzmo-Menu-back{padding-inline:0 var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-inline:var(--luzmo-menu-back-padding-inline-start, 0) var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-block:0;padding-block:var(--luzmo-menu-back-padding-block-start, 0) var(--luzmo-menu-back-padding-block-end, 0);flex-flow:wrap;align-items:center;display:flex}.luzmo-Menu-backButton{cursor:pointer;background:none;border:0;margin:0;padding:0;display:inline-flex}.luzmo-Menu-backButton:focus-visible{outline:var(--focus-indicator-width) solid var(--focus-indicator-color);outline-offset:calc((var(--focus-indicator-width) + 1px) * -1)}.luzmo-Menu-backHeading{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-heading-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));display:block}:host{display:block;flex-shrink:0}";class y extends k.SizedMixin(z.LuzmoElement,{validSizes:["s","m","l"]}){static get styles(){return[s.unsafeCSS(S.dividerStyles),s.unsafeCSS($)]}firstUpdated(e){super.firstUpdated(e),this.setAttribute("role","separator")}}const _=".luzmo-Menu-back:focus-visible{box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * 1) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)));box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * var(--menu-item-focus-indicator-direction-scalar, 1)) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)))}.header{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-section-header-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));min-inline-size:var(--luzmo-menu-section-header-min-width, var(--menu-section-header-min-width));padding-block-start:var(--luzmo-menu-section-header-top-edge-to-text, var(--luzmo-menu-item-top-edge-to-text, var(--menu-item-top-edge-to-text)));padding-block-end:var(--luzmo-menu-section-header-bottom-edge-to-text, var(--luzmo-menu-item-bottom-edge-to-text, var(--menu-item-bottom-edge-to-text)));padding-inline:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content));grid-area:sectionHeadingArea/1/sectionHeadingArea/-1;display:block}.luzmo-Menu-back{padding-inline:0 var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-inline:var(--luzmo-menu-back-padding-inline-start, 0) var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-block:0;padding-block:var(--luzmo-menu-back-padding-block-start, 0) var(--luzmo-menu-back-padding-block-end, 0);flex-flow:wrap;align-items:center;display:flex}.luzmo-Menu-back .header{padding:0}.luzmo-Menu-backButton{cursor:pointer;background:none;border:0;margin:0;padding:0;display:inline-flex}.luzmo-Menu-backButton:focus-visible{outline:var(--focus-indicator-width) solid var(--focus-indicator-color);outline-offset:calc((var(--focus-indicator-width) + 1px) * -1)}.luzmo-Menu-backHeading{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-heading-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));display:block}:host{margin:0;display:inline-flex;overflow:visible;flex-direction:column}[hidden]{display:none!important}";var q=Object.defineProperty,w=(r,e,t,o)=>{for(var i=void 0,n=r.length-1,l;n>=0;n--)(l=r[n])&&(i=l(e,t,i)||i);return i&&q(e,t,i),i};class g extends m{constructor(){super(...arguments),this.headerId=""}static get styles(){return[...super.styles,s.unsafeCSS(_)]}render(){return s.html`
25
25
  <span class="header" ?hidden=${!this.headerElement}>
26
26
  <slot name="header" @slotchange=${this.updateLabel}></slot>
27
27
  </span>
@@ -32,19 +32,19 @@
32
32
  ignore
33
33
  >${this.renderMenuItemSlot()}</luzmo-menu
34
34
  >
35
- `}get ownRole(){switch(this.selects){case"multiple":case"single":case"inherit":return"group";default:return"menu"}}updateLabel(){const e=this.headerElements.length>0?this.headerElements[0]:void 0;if(e!==this.headerElement)if(this.headerElement&&this.headerElement.id===this.headerId&&this.headerElement.removeAttribute("id"),e){this.headerId=this.headerId||`luzmo-menu-group-label-${k.randomID()}`;const t=e.id||this.headerId;e.id||(e.id=t),this.setAttribute("aria-labelledby",t)}else this.removeAttribute("aria-labelledby");this.headerElement=e}}w([E.n({slot:"header",flatten:!0})],g.prototype,"headerElements");w([S.r()],g.prototype,"headerElement");const F='.checkmark{display:var(--luzmo-menu-checkmark-display, var(--menu-checkmark-display));font-size:var(--luzmo-menu-item-checkmark-size, var(--menu-item-checkmark-size));fill:var(--highcontrast-menu-checkmark-icon-color-default, var(--luzmo-menu-checkmark-icon-color-default, var(--menu-checkmark-icon-color-default)));color:var(--highcontrast-menu-checkmark-icon-color-default, var(--luzmo-menu-checkmark-icon-color-default, var(--menu-checkmark-icon-color-default)));opacity:1;grid-area:checkmarkArea;align-self:start;margin-block-start:calc(var(--luzmo-menu-item-top-to-checkmark, var(--menu-item-top-to-checkmark)) - var(--luzmo-menu-item-top-edge-to-text, var(--menu-item-top-edge-to-text)));margin-inline-end:var(--luzmo-menu-item-text-to-control, var(--menu-item-text-to-control))}.angle{font-size:var(--menu-item-angle-size);grid-area:angleArea;align-self:center;margin-inline-end:var(--luzmo-menu-item-text-to-control, var(--menu-item-text-to-control))}.luzmo-Menu-back:focus-visible{box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * 1) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)));box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * var(--menu-item-focus-indicator-direction-scalar, 1)) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)))}.luzmo-Menu-backButton:focus-visible{outline:var(--focus-indicator-width) solid var(--focus-indicator-color);outline-offset:calc((var(--focus-indicator-width) + 1px) * -1)}::slotted([slot=icon]){fill:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-label-icon-color-default, var(--menu-item-label-icon-color-default)));color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-label-icon-color-default, var(--menu-item-label-icon-color-default)));grid-area:iconArea;align-self:start}::slotted([slot=icon]){margin-inline-end:var(--luzmo-menu-item-label-text-to-visual, var(--menu-item-label-text-to-visual));margin-block-start:var(--luzmo-menu-item-top-to-icon, var(--menu-item-top-to-icon));block-size:var(--luzmo-menu-item-icon-size, var(--menu-item-icon-height));inline-size:var(--luzmo-menu-item-icon-width, var(--menu-item-icon-height));font-size:var(--luzmo-menu-item-icon-size, var(--menu-item-icon-height));text-align:center;--luzmo-icon-vertical-align: 0}:host{cursor:pointer;box-sizing:border-box;background-color:var(--highcontrast-menu-item-background-color-default, var(--luzmo-menu-item-background-color-default, var(--menu-item-background-color-default)));line-height:var(--luzmo-menu-item-label-line-height, var(--menu-item-label-line-height));min-block-size:var(--luzmo-menu-item-min-height, var(--menu-item-min-height));padding-block-start:var(--luzmo-menu-item-top-edge-to-text, var(--menu-item-top-edge-to-text));padding-block-end:var(--luzmo-menu-item-bottom-edge-to-text, var(--menu-item-bottom-edge-to-text));padding-inline:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content));grid-template:". angleAreaCollapsible . headingIconArea sectionHeadingArea . . ." "selectedArea angleAreaCollapsible checkmarkArea iconArea labelArea valueArea actionsArea angleAreaDrillIn" 1fr ". . . . descriptionArea . . ." ". . . . submenuArea . . ." ". . . . . . . ."/auto auto auto auto 1fr auto auto auto;justify-content:start;margin:0;-webkit-text-decoration:none;text-decoration:none;display:grid;align-items:center;position:relative}.luzmo-Menu-itemCheckbox{--luzmo-checkbox-top-to-text: 0;--luzmo-checkbox-text-to-control: 0;min-block-size:0}.luzmo-Menu-itemCheckbox .luzmo-Checkbox-box{margin-block-start:var(--luzmo-menu-item-top-to-checkbox, var(--menu-item-top-to-checkbox));margin-block-end:0;margin-inline-end:var(--luzmo-menu-item-text-to-control, var(--menu-item-text-to-control))}.luzmo-Menu-itemSwitch{min-block-size:0}.luzmo-Menu-itemSwitch .luzmo-Switch-switch{margin-block-start:var(--luzmo-menu-item-top-to-action, var(--menu-item-top-to-action));margin-block-end:0}#label{grid-area:submenuItemLabelArea}::slotted([slot=value]){grid-area:submenuItemValueArea}:host([focused]),:host(:focus){background-color:var(--highcontrast-menu-item-background-color-focus, var(--luzmo-menu-item-background-color-key-focus, var(--menu-item-background-color-key-focus)));outline:none}:host([focused])>#label,:host(:focus)>#label,:host([focused])>.menu-item-tooltip-icon,:host(:focus)>.menu-item-tooltip-icon{color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-content-color-focus, var(--menu-item-label-content-color-focus)))}:host([focused])>[name=description]::slotted(*),:host(:focus)>[name=description]::slotted(*){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-description-color-focus, var(--menu-item-description-color-focus)))}:host([focused])>::slotted([slot=value]),:host(:focus)>::slotted([slot=value]){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-value-color-focus, var(--menu-item-value-color-focus)))}:host([focused])>.icon:not(.angle,.checkmark),:host(:focus)>.icon:not(.angle,.checkmark){fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-focus, var(--menu-item-label-icon-color-focus)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-focus, var(--menu-item-label-icon-color-focus)))}:host([focused])>.angle,:host(:focus)>.angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)))}:host([focused])>.checkmark,:host(:focus)>.checkmark{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-focus, var(--menu-checkmark-icon-color-focus)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-focus, var(--menu-checkmark-icon-color-focus)))}:host:dir(rtl),:host([dir=rtl]){--menu-item-focus-indicator-direction-scalar: -1}:host(:is(:active,[active])){background-color:var(--highcontrast-menu-item-background-color-focus, var(--luzmo-menu-item-background-color-down, var(--menu-item-background-color-down)))}:host(:is(:active,[active]))>#label,:host(:is(:active,[active]))>.menu-item-tooltip-icon{color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-content-color-down, var(--menu-item-label-content-color-down)))}:host(:is(:active,[active]))>[name=description]::slotted(*){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-description-color-down, var(--menu-item-description-color-down)))}:host(:is(:active,[active]))>::slotted([slot=value]){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-value-color-down, var(--menu-item-value-color-down)))}:host(:is(:active,[active]))>.icon:not(.angle,.checkmark){fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-down, var(--menu-item-label-icon-color-down)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-down, var(--menu-item-label-icon-color-down)))}:host(:is(:active,[active]))>.angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)))}:host(:is(:active,[active]))>.checkmark{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-down, var(--menu-checkmark-icon-color-down)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-down, var(--menu-checkmark-icon-color-down)))}:host([disabled]),:host([aria-disabled=true]){background-color:initial}:host([disabled]) #label,:host([disabled]) .menu-item-tooltip-icon,:host([disabled]) ::slotted([slot=value]),:host([aria-disabled=true]) #label,:host([aria-disabled=true]) ::slotted([slot=value]){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-content-color-disabled, var(--menu-item-label-content-color-disabled)))}:host([disabled]) [name=description]::slotted(*),:host([aria-disabled=true]) [name=description]::slotted(*){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-description-color-disabled, var(--menu-item-description-color-disabled)))}:host([disabled]) ::slotted([slot=icon]),:host([aria-disabled=true]) ::slotted([slot=icon]){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-icon-color-disabled, var(--menu-item-label-icon-color-disabled)));fill:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-icon-color-disabled, var(--menu-item-label-icon-color-disabled)))}:host([focused]) .luzmo-Menu-back,:host([focused]){box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * 1) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)));box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * var(--menu-item-focus-indicator-direction-scalar, 1)) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)))}:host .is-selectableMultiple{align-items:start}.is-selectableMultiple .luzmo-Menu-itemCheckbox{grid-area:checkmarkArea}.luzmo-Menu-itemSelection{grid-area:selectedArea}#label{--luzmo-switch-control-label-spacing: 0;--luzmo-switch-spacing-top-to-label: 0;font-size:var(--luzmo-menu-item-label-font-size, var(--menu-item-label-font-size));color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-label-content-color-default, var(--menu-item-label-content-color-default)));-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;grid-area:labelArea}.menu-item-tooltip-icon{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-label-icon-color-default, var(--menu-item-label-icon-color-default)))}:host([selected]) #label{color:var(--menu-item-highlight-label-content-color)}:host([selected]) .menu-item-tooltip-icon{color:var(--menu-item-highlight-label-content-color)}::slotted([slot=value]){color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-value-color-default, var(--menu-item-value-color-default)));font-size:var(--luzmo-menu-item-label-font-size, var(--menu-item-label-font-size));grid-area:valueArea;justify-self:end}.luzmo-Menu-itemActions,::slotted([slot=value]){align-self:start;margin-inline-start:var(--luzmo-menu-item-label-to-value-area-min-spacing, var(--menu-item-label-to-value-area-min-spacing))}.luzmo-Menu-itemActions{grid-area:actionsArea}[name=description]::slotted(*){color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-description-color-default, var(--menu-item-description-color-default)));font-size:var(--luzmo-menu-item-description-font-size, var(--menu-item-description-font-size));-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;line-height:var(--luzmo-menu-item-description-line-height, var(--menu-item-description-line-height));grid-area:descriptionArea;margin-block-start:var(--luzmo-menu-item-label-to-description-spacing, var(--menu-item-label-to-description-spacing))}:host([no-wrap]) #label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.luzmo-Menu-item--collapsible.is-open{padding-block-end:0}.luzmo-Menu-item--collapsible.is-open .angle{transform:rotate(90deg)}:host([focused]) .luzmo-Menu-item--collapsible.is-open,:host(:is(:active,[active])) .luzmo-Menu-item--collapsible.is-open,.luzmo-Menu-item--collapsible.is-open:focus{background-color:var(--highcontrast-menu-item-background-color-default, var(--luzmo-menu-item-background-color-default, var(--menu-item-background-color-default)))}.luzmo-Menu-item--collapsible ::slotted([slot=icon]){grid-area:headingIconArea}.luzmo-Menu-item--collapsible>::slotted([slot=icon]){padding-block-start:var(--luzmo-menu-section-header-top-edge-to-text, var(--luzmo-menu-item-top-edge-to-text, var(--menu-item-top-edge-to-text)));padding-block-end:var(--luzmo-menu-section-header-bottom-edge-to-text, var(--luzmo-menu-item-bottom-edge-to-text, var(--menu-item-bottom-edge-to-text)))}.luzmo-Menu-item--collapsible .angle{grid-area:angleAreaCollapsible}:host([has-submenu]) .angle{fill:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-drillin-icon-color-default, var(--menu-drillin-icon-color-default)));color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-drillin-icon-color-default, var(--menu-drillin-icon-color-default)));grid-area:angleAreaDrillIn;margin-inline-start:var(--luzmo-menu-item-label-to-value-area-min-spacing, var(--menu-item-label-to-value-area-min-spacing));margin-inline-end:0}:host([has-submenu]) .is-open{--menu-item-background-color-default: var( --highcontrast-menu-item-selected-background-color, var( --luzmo-menu-item-background-color-hover, var(--menu-item-background-color-hover) ) )}:host([has-submenu]) .is-open .icon:not(.angle,.checkmark){fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-hover, var(--menu-item-label-icon-color-hover)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-hover, var(--menu-item-label-icon-color-hover)))}:host([has-submenu]) .is-open .angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-hover, var(--menu-drillin-icon-color-hover)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-hover, var(--menu-drillin-icon-color-hover)))}:host([has-submenu]) .is-open .checkmark{fill:var(--highcontrast-menu-checkmark-icon-color-default, var(--luzmo-menu-checkmark-icon-color-hover, var(--menu-checkmark-icon-color-hover)));color:var(--highcontrast-menu-checkmark-icon-color-default, var(--luzmo-menu-checkmark-icon-color-hover, var(--menu-checkmark-icon-color-hover)))}@media (hover: hover){:host(:hover){background-color:var(--highcontrast-menu-item-background-color-focus, var(--luzmo-menu-item-background-color-hover, var(--menu-item-background-color-hover)))}:host(:hover)>#label,:host(:hover)>.menu-item-tooltip-icon{color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-content-color-hover, var(--menu-item-label-content-color-hover)))}:host([selected]:hover)>#label,:host([selected]:hover)>.menu-item-tooltip-icon{color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-highlight-label-content-color, var(--menu-item-highlight-label-content-color)))}:host(:hover)>[name=description]::slotted(*){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-description-color-hover, var(--menu-item-description-color-hover)))}:host(:hover)>::slotted([slot=value]){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-value-color-hover, var(--menu-item-value-color-hover)))}:host(:hover)>.icon:not(.angle,.checkmark){fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-hover, var(--menu-item-label-icon-color-hover)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-hover, var(--menu-item-label-icon-color-hover)))}:host(:hover)>.angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)))}:host(:hover)>.checkmark{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-hover, var(--menu-checkmark-icon-color-hover)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-hover, var(--menu-checkmark-icon-color-hover)))}:host([disabled]:hover),:host([aria-disabled=true]:hover){cursor:default;background-color:initial}:host([disabled]:hover) #label,:host([disabled]:hover) .menu-item-tooltip-icon,:host([disabled]:hover) ::slotted([slot=value]),:host([aria-disabled=true]:hover) #label,:host([aria-disabled=true]:hover) ::slotted([slot=value]){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-content-color-disabled, var(--menu-item-label-content-color-disabled)))}:host([disabled]:hover) [name=description]::slotted(*),:host([aria-disabled=true]:hover) [name=description]::slotted(*){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-description-color-disabled, var(--menu-item-description-color-disabled)))}:host([disabled]:hover) ::slotted([slot=icon]),:host([aria-disabled=true]:hover) ::slotted([slot=icon]){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-icon-color-disabled, var(--menu-item-label-icon-color-disabled)));fill:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-icon-color-disabled, var(--menu-item-label-icon-color-disabled)))}.luzmo-Menu-item--collapsible.is-open:hover{background-color:var(--highcontrast-menu-item-background-color-default, var(--luzmo-menu-item-background-color-default, var(--menu-item-background-color-default)))}:host([has-submenu]:hover) .angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-hover, var(--menu-drillin-icon-color-hover)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-hover, var(--menu-drillin-icon-color-hover)))}}:host([has-submenu][focused]) .angle,:host([has-submenu]:focus) .angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-focus, var(--menu-drillin-icon-color-focus)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-focus, var(--menu-drillin-icon-color-focus)))}:host([has-submenu]:is(:active,[active])) .angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-down, var(--menu-drillin-icon-color-down)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-down, var(--menu-drillin-icon-color-down)))}.luzmo-Menu-back{padding-inline:0 var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-inline:var(--luzmo-menu-back-padding-inline-start, 0) var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-block:0;padding-block:var(--luzmo-menu-back-padding-block-start, 0) var(--luzmo-menu-back-padding-block-end, 0);flex-flow:wrap;align-items:center;display:flex}.luzmo-Menu-backButton{cursor:pointer;background:none;border:0;margin:0;padding:0;display:inline-flex}:host([focused]) .luzmo-Menu-backButton{outline:var(--focus-indicator-width) solid var(--focus-indicator-color);outline-offset:calc((var(--focus-indicator-width) + 1px) * -1)}.luzmo-Menu-backHeading{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-heading-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));display:block}:host{text-align:initial;font-family:var(--luzmo-menu-item-font-family, var(--luzmo-font-family))}:host([hidden]){display:none}:host([disabled]){pointer-events:none}:host([disabled]) [name=value]::slotted(*){color:var(--luzmo-menu-item-label-icon-color-disabled, var(--luzmo-disabled-color))}:host([has-submenu][disabled]) .angle{color:var(--luzmo-menu-item-label-icon-color-disabled, var(--luzmo-disabled-color))}#button{position:absolute;top:0;right:0;bottom:0;left:0}.icon-container>svg{vertical-align:top}:host([dir=ltr]) [icon-only]::slotted(:last-of-type){margin-right:auto}:host([dir=rtl]) [icon-only]::slotted(:last-of-type){margin-left:auto}@media (forced-colors: active){:host{forced-color-adjust:none}}::slotted([slot=submenu]){width:max-content;max-width:100%}:host([no-wrap]) #label{display:block}.menu-item-tooltip-container{grid-area:actionsArea;align-self:center;margin-inline-start:var(--luzmo-menu-item-label-to-value-area-min-spacing, var(--menu-item-label-to-value-area-min-spacing));display:flex;align-items:center;justify-content:center}.menu-item-tooltip-container luzmo-tooltip{--tooltip-font-size: var( --luzmo-menu-item-tooltip-font-size, var(--tooltip-font-size) )}.menu-item-tooltip-icon-trigger{cursor:default;display:flex;align-items:center;justify-content:center}.menu-item-tooltip-icon{font-size:.875rem;width:.875rem;height:.875rem}';var j=Object.defineProperty,H=Object.getOwnPropertyDescriptor,c=(r,e,t,o)=>{for(var i=o>1?void 0:o?H(e,t):e,n=r.length-1,a;n>=0;n--)(a=r[n])&&(i=(o?a(e,t,i):a(i))||i);return o&&i&&j(e,t,i),i};const N=100,W=r=>l.x`
35
+ `}get ownRole(){switch(this.selects){case"multiple":case"single":case"inherit":return"group";default:return"menu"}}updateLabel(){const e=this.headerElements.length>0?this.headerElements[0]:void 0;if(e!==this.headerElement)if(this.headerElement&&this.headerElement.id===this.headerId&&this.headerElement.removeAttribute("id"),e){this.headerId=this.headerId||`luzmo-menu-group-label-${I.randomID()}`;const t=e.id||this.headerId;e.id||(e.id=t),this.setAttribute("aria-labelledby",t)}else this.removeAttribute("aria-labelledby");this.headerElement=e}}w([a.queryAssignedNodes({slot:"header",flatten:!0})],g.prototype,"headerElements");w([a.state()],g.prototype,"headerElement");const B='.checkmark{display:var(--luzmo-menu-checkmark-display, var(--menu-checkmark-display));font-size:var(--luzmo-menu-item-checkmark-size, var(--menu-item-checkmark-size));fill:var(--highcontrast-menu-checkmark-icon-color-default, var(--luzmo-menu-checkmark-icon-color-default, var(--menu-checkmark-icon-color-default)));color:var(--highcontrast-menu-checkmark-icon-color-default, var(--luzmo-menu-checkmark-icon-color-default, var(--menu-checkmark-icon-color-default)));opacity:1;grid-area:checkmarkArea;align-self:start;margin-block-start:calc(var(--luzmo-menu-item-top-to-checkmark, var(--menu-item-top-to-checkmark)) - var(--luzmo-menu-item-top-edge-to-text, var(--menu-item-top-edge-to-text)));margin-inline-end:var(--luzmo-menu-item-text-to-control, var(--menu-item-text-to-control))}.angle{font-size:var(--menu-item-angle-size);grid-area:angleArea;align-self:center;margin-inline-end:var(--luzmo-menu-item-text-to-control, var(--menu-item-text-to-control))}.luzmo-Menu-back:focus-visible{box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * 1) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)));box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * var(--menu-item-focus-indicator-direction-scalar, 1)) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)))}.luzmo-Menu-backButton:focus-visible{outline:var(--focus-indicator-width) solid var(--focus-indicator-color);outline-offset:calc((var(--focus-indicator-width) + 1px) * -1)}::slotted([slot=icon]){fill:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-label-icon-color-default, var(--menu-item-label-icon-color-default)));color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-label-icon-color-default, var(--menu-item-label-icon-color-default)));grid-area:iconArea;align-self:start}::slotted([slot=icon]){margin-inline-end:var(--luzmo-menu-item-label-text-to-visual, var(--menu-item-label-text-to-visual));margin-block-start:var(--luzmo-menu-item-top-to-icon, var(--menu-item-top-to-icon));block-size:var(--luzmo-menu-item-icon-size, var(--menu-item-icon-height));inline-size:var(--luzmo-menu-item-icon-width, var(--menu-item-icon-height));font-size:var(--luzmo-menu-item-icon-size, var(--menu-item-icon-height));text-align:center;--luzmo-icon-vertical-align: 0}:host{cursor:pointer;box-sizing:border-box;background-color:var(--highcontrast-menu-item-background-color-default, var(--luzmo-menu-item-background-color-default, var(--menu-item-background-color-default)));line-height:var(--luzmo-menu-item-label-line-height, var(--menu-item-label-line-height));min-block-size:var(--luzmo-menu-item-min-height, var(--menu-item-min-height));padding-block-start:var(--luzmo-menu-item-top-edge-to-text, var(--menu-item-top-edge-to-text));padding-block-end:var(--luzmo-menu-item-bottom-edge-to-text, var(--menu-item-bottom-edge-to-text));padding-inline:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content));grid-template:". angleAreaCollapsible . headingIconArea sectionHeadingArea . . ." "selectedArea angleAreaCollapsible checkmarkArea iconArea labelArea valueArea actionsArea angleAreaDrillIn" 1fr ". . . . descriptionArea . . ." ". . . . submenuArea . . ." ". . . . . . . ."/auto auto auto auto 1fr auto auto auto;justify-content:start;margin:0;-webkit-text-decoration:none;text-decoration:none;display:grid;align-items:center;position:relative}.luzmo-Menu-itemCheckbox{--luzmo-checkbox-top-to-text: 0;--luzmo-checkbox-text-to-control: 0;min-block-size:0}.luzmo-Menu-itemCheckbox .luzmo-Checkbox-box{margin-block-start:var(--luzmo-menu-item-top-to-checkbox, var(--menu-item-top-to-checkbox));margin-block-end:0;margin-inline-end:var(--luzmo-menu-item-text-to-control, var(--menu-item-text-to-control))}.luzmo-Menu-itemSwitch{min-block-size:0}.luzmo-Menu-itemSwitch .luzmo-Switch-switch{margin-block-start:var(--luzmo-menu-item-top-to-action, var(--menu-item-top-to-action));margin-block-end:0}#label{grid-area:submenuItemLabelArea}::slotted([slot=value]){grid-area:submenuItemValueArea}:host([focused]),:host(:focus){background-color:var(--highcontrast-menu-item-background-color-focus, var(--luzmo-menu-item-background-color-key-focus, var(--menu-item-background-color-key-focus)));outline:none}:host([focused])>#label,:host(:focus)>#label,:host([focused])>.menu-item-tooltip-icon,:host(:focus)>.menu-item-tooltip-icon{color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-content-color-focus, var(--menu-item-label-content-color-focus)))}:host([focused])>[name=description]::slotted(*),:host(:focus)>[name=description]::slotted(*){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-description-color-focus, var(--menu-item-description-color-focus)))}:host([focused])>::slotted([slot=value]),:host(:focus)>::slotted([slot=value]){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-value-color-focus, var(--menu-item-value-color-focus)))}:host([focused])>.icon:not(.angle,.checkmark),:host(:focus)>.icon:not(.angle,.checkmark){fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-focus, var(--menu-item-label-icon-color-focus)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-focus, var(--menu-item-label-icon-color-focus)))}:host([focused])>.angle,:host(:focus)>.angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)))}:host([focused])>.checkmark,:host(:focus)>.checkmark{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-focus, var(--menu-checkmark-icon-color-focus)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-focus, var(--menu-checkmark-icon-color-focus)))}:host:dir(rtl),:host([dir=rtl]){--menu-item-focus-indicator-direction-scalar: -1}:host(:is(:active,[active])){background-color:var(--highcontrast-menu-item-background-color-focus, var(--luzmo-menu-item-background-color-down, var(--menu-item-background-color-down)))}:host(:is(:active,[active]))>#label,:host(:is(:active,[active]))>.menu-item-tooltip-icon{color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-content-color-down, var(--menu-item-label-content-color-down)))}:host(:is(:active,[active]))>[name=description]::slotted(*){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-description-color-down, var(--menu-item-description-color-down)))}:host(:is(:active,[active]))>::slotted([slot=value]){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-value-color-down, var(--menu-item-value-color-down)))}:host(:is(:active,[active]))>.icon:not(.angle,.checkmark){fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-down, var(--menu-item-label-icon-color-down)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-down, var(--menu-item-label-icon-color-down)))}:host(:is(:active,[active]))>.angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)))}:host(:is(:active,[active]))>.checkmark{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-down, var(--menu-checkmark-icon-color-down)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-down, var(--menu-checkmark-icon-color-down)))}:host([disabled]),:host([aria-disabled=true]){background-color:initial}:host([disabled]) #label,:host([disabled]) .menu-item-tooltip-icon,:host([disabled]) ::slotted([slot=value]),:host([aria-disabled=true]) #label,:host([aria-disabled=true]) ::slotted([slot=value]){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-content-color-disabled, var(--menu-item-label-content-color-disabled)))}:host([disabled]) [name=description]::slotted(*),:host([aria-disabled=true]) [name=description]::slotted(*){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-description-color-disabled, var(--menu-item-description-color-disabled)))}:host([disabled]) ::slotted([slot=icon]),:host([aria-disabled=true]) ::slotted([slot=icon]){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-icon-color-disabled, var(--menu-item-label-icon-color-disabled)));fill:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-icon-color-disabled, var(--menu-item-label-icon-color-disabled)))}:host([focused]) .luzmo-Menu-back,:host([focused]){box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * 1) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)));box-shadow:inset calc(var(--luzmo-menu-item-focus-indicator-width, var(--menu-item-focus-indicator-width)) * var(--menu-item-focus-indicator-direction-scalar, 1)) 0 0 0 var(--highcontrast-menu-item-focus-indicator-color, var(--luzmo-menu-item-focus-indicator-color, var(--menu-item-focus-indicator-color)))}:host .is-selectableMultiple{align-items:start}.is-selectableMultiple .luzmo-Menu-itemCheckbox{grid-area:checkmarkArea}.luzmo-Menu-itemSelection{grid-area:selectedArea}#label{--luzmo-switch-control-label-spacing: 0;--luzmo-switch-spacing-top-to-label: 0;font-size:var(--luzmo-menu-item-label-font-size, var(--menu-item-label-font-size));color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-label-content-color-default, var(--menu-item-label-content-color-default)));-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;grid-area:labelArea}.menu-item-tooltip-icon{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-label-icon-color-default, var(--menu-item-label-icon-color-default)))}:host([selected]) #label{color:var(--menu-item-highlight-label-content-color)}:host([selected]) .menu-item-tooltip-icon{color:var(--menu-item-highlight-label-content-color)}::slotted([slot=value]){color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-value-color-default, var(--menu-item-value-color-default)));font-size:var(--luzmo-menu-item-label-font-size, var(--menu-item-label-font-size));grid-area:valueArea;justify-self:end}.luzmo-Menu-itemActions,::slotted([slot=value]){align-self:start;margin-inline-start:var(--luzmo-menu-item-label-to-value-area-min-spacing, var(--menu-item-label-to-value-area-min-spacing))}.luzmo-Menu-itemActions{grid-area:actionsArea}[name=description]::slotted(*){color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-item-description-color-default, var(--menu-item-description-color-default)));font-size:var(--luzmo-menu-item-description-font-size, var(--menu-item-description-font-size));-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;line-height:var(--luzmo-menu-item-description-line-height, var(--menu-item-description-line-height));grid-area:descriptionArea;margin-block-start:var(--luzmo-menu-item-label-to-description-spacing, var(--menu-item-label-to-description-spacing))}:host([no-wrap]) #label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.luzmo-Menu-item--collapsible.is-open{padding-block-end:0}.luzmo-Menu-item--collapsible.is-open .angle{transform:rotate(90deg)}:host([focused]) .luzmo-Menu-item--collapsible.is-open,:host(:is(:active,[active])) .luzmo-Menu-item--collapsible.is-open,.luzmo-Menu-item--collapsible.is-open:focus{background-color:var(--highcontrast-menu-item-background-color-default, var(--luzmo-menu-item-background-color-default, var(--menu-item-background-color-default)))}.luzmo-Menu-item--collapsible ::slotted([slot=icon]){grid-area:headingIconArea}.luzmo-Menu-item--collapsible>::slotted([slot=icon]){padding-block-start:var(--luzmo-menu-section-header-top-edge-to-text, var(--luzmo-menu-item-top-edge-to-text, var(--menu-item-top-edge-to-text)));padding-block-end:var(--luzmo-menu-section-header-bottom-edge-to-text, var(--luzmo-menu-item-bottom-edge-to-text, var(--menu-item-bottom-edge-to-text)))}.luzmo-Menu-item--collapsible .angle{grid-area:angleAreaCollapsible}:host([has-submenu]) .angle{fill:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-drillin-icon-color-default, var(--menu-drillin-icon-color-default)));color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-drillin-icon-color-default, var(--menu-drillin-icon-color-default)));grid-area:angleAreaDrillIn;margin-inline-start:var(--luzmo-menu-item-label-to-value-area-min-spacing, var(--menu-item-label-to-value-area-min-spacing));margin-inline-end:0}:host([has-submenu]) .is-open{--menu-item-background-color-default: var( --highcontrast-menu-item-selected-background-color, var( --luzmo-menu-item-background-color-hover, var(--menu-item-background-color-hover) ) )}:host([has-submenu]) .is-open .icon:not(.angle,.checkmark){fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-hover, var(--menu-item-label-icon-color-hover)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-hover, var(--menu-item-label-icon-color-hover)))}:host([has-submenu]) .is-open .angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-hover, var(--menu-drillin-icon-color-hover)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-hover, var(--menu-drillin-icon-color-hover)))}:host([has-submenu]) .is-open .checkmark{fill:var(--highcontrast-menu-checkmark-icon-color-default, var(--luzmo-menu-checkmark-icon-color-hover, var(--menu-checkmark-icon-color-hover)));color:var(--highcontrast-menu-checkmark-icon-color-default, var(--luzmo-menu-checkmark-icon-color-hover, var(--menu-checkmark-icon-color-hover)))}@media (hover: hover){:host(:hover){background-color:var(--highcontrast-menu-item-background-color-focus, var(--luzmo-menu-item-background-color-hover, var(--menu-item-background-color-hover)))}:host(:hover)>#label,:host(:hover)>.menu-item-tooltip-icon{color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-content-color-hover, var(--menu-item-label-content-color-hover)))}:host([selected]:hover)>#label,:host([selected]:hover)>.menu-item-tooltip-icon{color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-highlight-label-content-color, var(--menu-item-highlight-label-content-color)))}:host(:hover)>[name=description]::slotted(*){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-description-color-hover, var(--menu-item-description-color-hover)))}:host(:hover)>::slotted([slot=value]){color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-value-color-hover, var(--menu-item-value-color-hover)))}:host(:hover)>.icon:not(.angle,.checkmark){fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-hover, var(--menu-item-label-icon-color-hover)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-item-label-icon-color-hover, var(--menu-item-label-icon-color-hover)))}:host(:hover)>.angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-collapsible-icon-color, var(--menu-collapsible-icon-color)))}:host(:hover)>.checkmark{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-hover, var(--menu-checkmark-icon-color-hover)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-checkmark-icon-color-hover, var(--menu-checkmark-icon-color-hover)))}:host([disabled]:hover),:host([aria-disabled=true]:hover){cursor:default;background-color:initial}:host([disabled]:hover) #label,:host([disabled]:hover) .menu-item-tooltip-icon,:host([disabled]:hover) ::slotted([slot=value]),:host([aria-disabled=true]:hover) #label,:host([aria-disabled=true]:hover) ::slotted([slot=value]){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-content-color-disabled, var(--menu-item-label-content-color-disabled)))}:host([disabled]:hover) [name=description]::slotted(*),:host([aria-disabled=true]:hover) [name=description]::slotted(*){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-description-color-disabled, var(--menu-item-description-color-disabled)))}:host([disabled]:hover) ::slotted([slot=icon]),:host([aria-disabled=true]:hover) ::slotted([slot=icon]){color:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-icon-color-disabled, var(--menu-item-label-icon-color-disabled)));fill:var(--highcontrast-menu-item-color-disabled, var(--luzmo-menu-item-label-icon-color-disabled, var(--menu-item-label-icon-color-disabled)))}.luzmo-Menu-item--collapsible.is-open:hover{background-color:var(--highcontrast-menu-item-background-color-default, var(--luzmo-menu-item-background-color-default, var(--menu-item-background-color-default)))}:host([has-submenu]:hover) .angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-hover, var(--menu-drillin-icon-color-hover)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-hover, var(--menu-drillin-icon-color-hover)))}}:host([has-submenu][focused]) .angle,:host([has-submenu]:focus) .angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-focus, var(--menu-drillin-icon-color-focus)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-focus, var(--menu-drillin-icon-color-focus)))}:host([has-submenu]:is(:active,[active])) .angle{fill:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-down, var(--menu-drillin-icon-color-down)));color:var(--highcontrast-menu-item-color-focus, var(--luzmo-menu-drillin-icon-color-down, var(--menu-drillin-icon-color-down)))}.luzmo-Menu-back{padding-inline:0 var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-inline:var(--luzmo-menu-back-padding-inline-start, 0) var(--luzmo-menu-back-padding-inline-end, var(--menu-item-label-inline-edge-to-content));padding-block:0;padding-block:var(--luzmo-menu-back-padding-block-start, 0) var(--luzmo-menu-back-padding-block-end, 0);flex-flow:wrap;align-items:center;display:flex}.luzmo-Menu-backButton{cursor:pointer;background:none;border:0;margin:0;padding:0;display:inline-flex}:host([focused]) .luzmo-Menu-backButton{outline:var(--focus-indicator-width) solid var(--focus-indicator-color);outline-offset:calc((var(--focus-indicator-width) + 1px) * -1)}.luzmo-Menu-backHeading{color:var(--highcontrast-menu-item-color-default, var(--luzmo-menu-back-heading-color, var(--menu-section-header-color)));font-size:var(--luzmo-menu-section-header-font-size, var(--menu-section-header-font-size));font-weight:var(--luzmo-menu-section-header-font-weight, var(--menu-section-header-font-weight));line-height:var(--luzmo-menu-section-header-line-height, var(--menu-section-header-line-height));display:block}:host{text-align:initial;font-family:var(--luzmo-menu-item-font-family, var(--luzmo-font-family))}:host([hidden]){display:none}:host([disabled]){pointer-events:none}:host([disabled]) [name=value]::slotted(*){color:var(--luzmo-menu-item-label-icon-color-disabled, var(--luzmo-disabled-color))}:host([has-submenu][disabled]) .angle{color:var(--luzmo-menu-item-label-icon-color-disabled, var(--luzmo-disabled-color))}#button{position:absolute;top:0;right:0;bottom:0;left:0}.icon-container>svg{vertical-align:top}:host([dir=ltr]) [icon-only]::slotted(:last-of-type){margin-right:auto}:host([dir=rtl]) [icon-only]::slotted(:last-of-type){margin-left:auto}@media (forced-colors: active){:host{forced-color-adjust:none}}::slotted([slot=submenu]){width:max-content;max-width:100%}:host([no-wrap]) #label{display:block}.menu-item-tooltip-container{grid-area:actionsArea;align-self:center;margin-inline-start:var(--luzmo-menu-item-label-to-value-area-min-spacing, var(--menu-item-label-to-value-area-min-spacing));display:flex;align-items:center;justify-content:center}.menu-item-tooltip-container luzmo-tooltip{--tooltip-font-size: var( --luzmo-menu-item-tooltip-font-size, var(--tooltip-font-size) )}.menu-item-tooltip-icon-trigger{cursor:default;display:flex;align-items:center;justify-content:center}.menu-item-tooltip-icon{font-size:.875rem;width:.875rem;height:.875rem}';var j=Object.defineProperty,F=Object.getOwnPropertyDescriptor,u=(r,e,t,o)=>{for(var i=o>1?void 0:o?F(e,t):e,n=r.length-1,l;n>=0;n--)(l=r[n])&&(i=(o?l(e,t,i):l(i))||i);return o&&i&&j(e,t,i),i};const H=100,N=r=>s.html`
36
36
  <span class="icon-container icon checkmark ${r.join(" ")}">
37
- ${d.T3(d.F)}
37
+ ${h.luzmoIcon(h.luzmoCheck)}
38
38
  </span>
39
- `,V=r=>l.x`
39
+ `,W=r=>s.html`
40
40
  <span class="icon-container icon angle ${r.join(" ")}">
41
- ${d.T3(d.S,{className:"indicator"})}
41
+ ${h.luzmoIcon(h.luzmoAngleRight,{className:"indicator"})}
42
42
  </span>
43
- `,K=r=>l.x`
43
+ `,V=r=>s.html`
44
44
  <span class="icon-container icon info ${r.join(" ")}">
45
- ${d.T3(d.p1)}
45
+ ${h.luzmoIcon(h.luzmoInfoCircleOutline)}
46
46
  </span>
47
- `;class x extends Event{constructor(e){super("luzmo-menu-item-added-or-updated",{bubbles:!0,composed:!0}),this.menuCascade=new WeakMap,this.clear(e)}get item(){return this._item}clear(e){this._item=e,this.currentAncestorWithSelects=void 0,e.menuData={cleanupSteps:[],focusRoot:void 0,selectionRoot:void 0,parentMenu:void 0},this.menuCascade=new WeakMap}}class s extends C.LikeAnchor(D.ObserveSlotText(P.ObserveSlotPresence(A.Focusable,'[slot="icon"]'))){constructor(){super(),this.active=!1,this.dependencyManager=new R.DependencyManagerController(this),this.focused=!1,this.selected=!1,this._value="",this.hasSubmenu=!1,this.tooltipPlacement="top",this.noWrap=!1,this.renderAngleIcon=(e=[])=>V(e),this.renderCheckIcon=(e=[])=>W(e),this.renderInfoIcon=(e=[])=>K(e),this.open=!1,this.handleSlottableRequest=e=>{var t;(t=this.submenuElement)==null||t.dispatchEvent(new O.SlottableRequestEvent(e.name,e.data))},this.proxyFocus=()=>{this.focus()},this.handleBeforetoggle=e=>{e.newState==="closed"&&(this.open=!0,this.overlayElement.manuallyKeepOpen(),this.overlayElement.removeEventListener("beforetoggle",this.handleBeforetoggle))},this.recentlyLeftChild=!1,this.willDispatchUpdate=!1,this.menuData={focusRoot:void 0,parentMenu:void 0,selectionRoot:void 0,cleanupSteps:[]},this.addEventListener("click",this.handleClickCapture,{capture:!0}),new M.s(this,{config:{characterData:!0,childList:!0,subtree:!0},callback:e=>{e.every(o=>o.target.slot==="submenu")||this.breakItemChildrenCache()}})}static get styles(){return[l.r(F)]}get value(){return this._value||this.itemText}set value(e){e!==this._value&&(this._value=e||"",this._value?this.setAttribute("value",this._value):this.removeAttribute("value"))}get itemText(){return this.itemChildren.content.reduce((e,t)=>e+(t.textContent||"").trim(),"")}renderTooltip(){return this.tooltip?(this.dependencyManager.add("luzmo-tooltip"),this.dependencyManager.add("luzmo-overlay"),Promise.resolve().then(()=>require("../tooltip/index.cjs")),Promise.resolve().then(()=>require("../overlay/index.cjs")),l.x`
47
+ `;class x extends Event{constructor(e){super("luzmo-menu-item-added-or-updated",{bubbles:!0,composed:!0}),this.menuCascade=new WeakMap,this.clear(e)}get item(){return this._item}clear(e){this._item=e,this.currentAncestorWithSelects=void 0,e.menuData={cleanupSteps:[],focusRoot:void 0,selectionRoot:void 0,parentMenu:void 0},this.menuCascade=new WeakMap}}class c extends C.LikeAnchor(P.ObserveSlotText(A.ObserveSlotPresence(M.Focusable,'[slot="icon"]'))){constructor(){super(),this.active=!1,this.dependencyManager=new D.DependencyManagerController(this),this.focused=!1,this.selected=!1,this._value="",this.hasSubmenu=!1,this.tooltipPlacement="top",this.noWrap=!1,this.renderAngleIcon=(e=[])=>W(e),this.renderCheckIcon=(e=[])=>N(e),this.renderInfoIcon=(e=[])=>V(e),this.open=!1,this.handleSlottableRequest=e=>{var t;(t=this.submenuElement)==null||t.dispatchEvent(new R.SlottableRequestEvent(e.name,e.data))},this.proxyFocus=()=>{this.focus()},this.handleBeforetoggle=e=>{e.newState==="closed"&&(this.open=!0,this.overlayElement.manuallyKeepOpen(),this.overlayElement.removeEventListener("beforetoggle",this.handleBeforetoggle))},this.recentlyLeftChild=!1,this.willDispatchUpdate=!1,this.menuData={focusRoot:void 0,parentMenu:void 0,selectionRoot:void 0,cleanupSteps:[]},this.addEventListener("click",this.handleClickCapture,{capture:!0}),new E.MutationController(this,{config:{characterData:!0,childList:!0,subtree:!0},callback:e=>{e.every(o=>o.target.slot==="submenu")||this.breakItemChildrenCache()}})}static get styles(){return[s.unsafeCSS(B)]}get value(){return this._value||this.itemText}set value(e){e!==this._value&&(this._value=e||"",this._value?this.setAttribute("value",this._value):this.removeAttribute("value"))}get itemText(){return this.itemChildren.content.reduce((e,t)=>e+(t.textContent||"").trim(),"")}renderTooltip(){return this.tooltip?(this.dependencyManager.add("luzmo-tooltip"),this.dependencyManager.add("luzmo-overlay"),Promise.resolve().then(()=>require("../tooltip/index.cjs")),Promise.resolve().then(()=>require("../overlay/index.cjs")),s.html`
48
48
  <div class="menu-item-tooltip-container">
49
49
  <!-- The visible icon that acts as trigger -->
50
50
  <div
@@ -64,14 +64,14 @@
64
64
  <luzmo-tooltip> ${this.tooltip} </luzmo-tooltip>
65
65
  </luzmo-overlay>
66
66
  </div>
67
- `):l.E}get focusElement(){return this}get hasIcon(){return this.slotContentIsPresent}get itemChildren(){if(!this.iconSlot||!this.contentSlot)return{icon:[],content:[]};if(this._itemChildren)return this._itemChildren;const e=this.iconSlot.assignedElements().map(o=>{const i=o.cloneNode(!0);return i.removeAttribute("slot"),i.classList.toggle("icon"),i}),t=this.contentSlot.assignedNodes().map(o=>o.cloneNode(!0));return this._itemChildren={icon:e,content:t},this._itemChildren}click(){this.disabled||this.shouldProxyClick()||super.click()}handleClickCapture(e){if(this.disabled)return e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),!1}shouldProxyClick(){let e=!1;return this.anchorElement&&(this.anchorElement.click(),e=!0),e}breakItemChildrenCache(){this._itemChildren=void 0,this.triggerUpdate()}renderSubmenu(){const e=l.x`
67
+ `):s.nothing}get focusElement(){return this}get hasIcon(){return this.slotContentIsPresent}get itemChildren(){if(!this.iconSlot||!this.contentSlot)return{icon:[],content:[]};if(this._itemChildren)return this._itemChildren;const e=this.iconSlot.assignedElements().map(o=>{const i=o.cloneNode(!0);return i.removeAttribute("slot"),i.classList.toggle("icon"),i}),t=this.contentSlot.assignedNodes().map(o=>o.cloneNode(!0));return this._itemChildren={icon:e,content:t},this._itemChildren}click(){this.disabled||this.shouldProxyClick()||super.click()}handleClickCapture(e){if(this.disabled)return e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),!1}shouldProxyClick(){let e=!1;return this.anchorElement&&(this.anchorElement.click(),e=!0),e}breakItemChildrenCache(){this._itemChildren=void 0,this.triggerUpdate()}renderSubmenu(){const e=s.html`
68
68
  <slot
69
69
  name="submenu"
70
70
  @slotchange=${this.manageSubmenu}
71
71
  @luzmo-menu-item-added-or-updated=${{handleEvent:t=>{t.clear(t.item)},capture:!0}}
72
72
  @focusin=${t=>t.stopPropagation()}
73
73
  ></slot>
74
- `;return this.hasSubmenu?(this.dependencyManager.add("luzmo-overlay"),this.dependencyManager.add("luzmo-popover"),Promise.resolve().then(()=>require("../overlay-B3ajDLLq.cjs")).then(t=>t.overlay),Promise.resolve().then(()=>require("../popover-fwJeZHMQ.cjs")),l.x`
74
+ `;return this.hasSubmenu?(this.dependencyManager.add("luzmo-overlay"),this.dependencyManager.add("luzmo-popover"),Promise.resolve().then(()=>require("../overlay-nUwFClQq.cjs")).then(t=>t.overlay),Promise.resolve().then(()=>require("../popover-lcZnODPK.cjs")),s.html`
75
75
  <luzmo-overlay
76
76
  .triggerElement=${this}
77
77
  ?disabled=${!this.hasSubmenu}
@@ -92,10 +92,10 @@
92
92
  </luzmo-popover>
93
93
  </luzmo-overlay>
94
94
  ${this.renderAngleIcon()}
95
- `):e}render(){return l.x`
96
- ${this.selected?l.x`
95
+ `):e}render(){return s.html`
96
+ ${this.selected?s.html`
97
97
  ${this.renderCheckIcon(this.hasIcon?["checkmark--withAdjacentIcon"]:[])}
98
- `:l.E}
98
+ `:s.nothing}
99
99
  <slot name="icon"></slot>
100
100
  <div id="label">
101
101
  <slot id="slot"></slot>
@@ -103,6 +103,6 @@
103
103
  <slot name="description"></slot>
104
104
  <slot name="value"></slot>
105
105
  ${this.renderTooltip()}
106
- ${this.href&&this.href.length>0?super.renderAnchor({id:"button",ariaHidden:!0,className:"button anchor hidden"}):l.E}
106
+ ${this.href&&this.href.length>0?super.renderAnchor({id:"button",ariaHidden:!0,className:"button anchor hidden"}):s.nothing}
107
107
  ${this.renderSubmenu()}
108
- `}manageSubmenu(e){this.submenuElement=e.target.assignedElements({flatten:!0})[0],this.hasSubmenu=!!this.submenuElement,this.hasSubmenu&&this.setAttribute("aria-haspopup","true")}handlePointerdown(e){e.target===this&&this.hasSubmenu&&this.open&&(this.addEventListener("focus",this.handleSubmenuFocus,{once:!0}),this.overlayElement.addEventListener("beforetoggle",this.handleBeforetoggle))}firstUpdated(e){super.firstUpdated(e),this.setAttribute("tabindex","-1"),this.addEventListener("pointerdown",this.handlePointerdown),this.addEventListener("pointerenter",this.closeOverlaysForRoot),this.hasAttribute("id")||(this.id=`luzmo-menu-item-${k.randomID()}`)}closeOverlaysForRoot(){var e;this.open||(e=this.menuData.parentMenu)==null||e.closeDescendentOverlays()}handleSubmenuClick(e){e.composedPath().includes(this.overlayElement)||this.openOverlay()}handleSubmenuFocus(){requestAnimationFrame(()=>{this.overlayElement.open=this.open})}handlePointerenter(){if(this.leaveTimeout){clearTimeout(this.leaveTimeout),delete this.leaveTimeout;return}this.openOverlay()}handlePointerleave(){this.open&&!this.recentlyLeftChild&&(this.leaveTimeout=setTimeout(()=>{delete this.leaveTimeout,this.open=!1},N))}handleSubmenuChange(e){var t;e.stopPropagation(),(t=this.menuData.selectionRoot)==null||t.selectOrToggleItem(this)}handleSubmenuPointerenter(){this.recentlyLeftChild=!0}handleSubmenuPointerleave(){requestAnimationFrame(()=>{this.recentlyLeftChild=!1})}handleSubmenuOpen(e){this.focused=!1;const t=e.composedPath().find(o=>o!==this.overlayElement&&o.localName==="luzmo-overlay");this.overlayElement.parentOverlayToForceClose=t}cleanup(){this.open=!1,this.active=!1}openOverlay(){!this.hasSubmenu||this.open||this.disabled||(this.open=!0,this.active=!0,this.setAttribute("aria-expanded","true"),this.addEventListener("luzmo-closed",this.cleanup,{once:!0}))}updateAriaSelected(){const e=this.getAttribute("role");e==="option"?this.setAttribute("aria-selected",this.selected?"true":"false"):(e==="menuitemcheckbox"||e==="menuitemradio")&&this.setAttribute("aria-checked",this.selected?"true":"false")}setRole(e){this.setAttribute("role",e),this.updateAriaSelected()}updated(e){var t,o;if(super.updated(e),e.has("label")&&(this.label||e.get("label")!==void 0)&&this.setAttribute("aria-label",this.label||""),e.has("active")&&(this.active||e.get("active")!==void 0)&&this.active&&((t=this.menuData.selectionRoot)==null||t.closeDescendentOverlays()),this.anchorElement&&(this.anchorElement.addEventListener("focus",this.proxyFocus),this.anchorElement.tabIndex=-1),e.has("selected")&&this.updateAriaSelected(),e.has("hasSubmenu")&&(this.hasSubmenu||e.get("hasSubmenu")!==void 0))if(this.hasSubmenu){this.abortControllerSubmenu=new AbortController;const i={signal:this.abortControllerSubmenu.signal};this.addEventListener("click",this.handleSubmenuClick,i),this.addEventListener("pointerenter",this.handlePointerenter,i),this.addEventListener("pointerleave",this.handlePointerleave,i),this.addEventListener("luzmo-opened",this.handleSubmenuOpen,i)}else(o=this.abortControllerSubmenu)==null||o.abort()}connectedCallback(){super.connectedCallback(),this.triggerUpdate()}disconnectedCallback(){this.menuData.cleanupSteps.forEach(e=>e(this)),this.menuData={focusRoot:void 0,parentMenu:void 0,selectionRoot:void 0,cleanupSteps:[]},super.disconnectedCallback()}async triggerUpdate(){this.willDispatchUpdate||(this.willDispatchUpdate=!0,await new Promise(e=>requestAnimationFrame(e)),this.dispatchUpdate())}dispatchUpdate(){this.isConnected&&(this.dispatchEvent(new x(this)),this.willDispatchUpdate=!1)}}c([l.n({type:Boolean,reflect:!0})],s.prototype,"active",2);c([l.n({type:Boolean,reflect:!0})],s.prototype,"focused",2);c([l.n({type:Boolean,reflect:!0})],s.prototype,"selected",2);c([l.n({type:String})],s.prototype,"value",1);c([l.n({type:Boolean,reflect:!0,attribute:"has-submenu"})],s.prototype,"hasSubmenu",2);c([l.n({type:String})],s.prototype,"tooltip",2);c([l.n({type:String,attribute:"tooltip-placement"})],s.prototype,"tooltipPlacement",2);c([f.e("slot:not([name])")],s.prototype,"contentSlot",2);c([f.e('slot[name="icon"]')],s.prototype,"iconSlot",2);c([l.n({type:Boolean,reflect:!0,attribute:"no-wrap",hasChanged(){return!1}})],s.prototype,"noWrap",2);c([f.e(".anchor")],s.prototype,"anchorElement",2);c([f.e("luzmo-overlay")],s.prototype,"overlayElement",2);c([l.n({type:Boolean,reflect:!0})],s.prototype,"open",2);customElements.get("luzmo-menu")||customElements.define("luzmo-menu",u);customElements.get("luzmo-menu-divider")||customElements.define("luzmo-menu-divider",I);customElements.get("luzmo-menu-group")||customElements.define("luzmo-menu-group",g);customElements.get("luzmo-menu-item")||customElements.define("luzmo-menu-item",s);exports.LuzmoMenu=u;exports.LuzmoMenuDivider=I;exports.LuzmoMenuGroup=g;exports.LuzmoMenuItem=s;exports.MenuItemAddedOrUpdatedEvent=x;
108
+ `}manageSubmenu(e){this.submenuElement=e.target.assignedElements({flatten:!0})[0],this.hasSubmenu=!!this.submenuElement,this.hasSubmenu&&this.setAttribute("aria-haspopup","true")}handlePointerdown(e){e.target===this&&this.hasSubmenu&&this.open&&(this.addEventListener("focus",this.handleSubmenuFocus,{once:!0}),this.overlayElement.addEventListener("beforetoggle",this.handleBeforetoggle))}firstUpdated(e){super.firstUpdated(e),this.setAttribute("tabindex","-1"),this.addEventListener("pointerdown",this.handlePointerdown),this.addEventListener("pointerenter",this.closeOverlaysForRoot),this.hasAttribute("id")||(this.id=`luzmo-menu-item-${I.randomID()}`)}closeOverlaysForRoot(){var e;this.open||(e=this.menuData.parentMenu)==null||e.closeDescendentOverlays()}handleSubmenuClick(e){e.composedPath().includes(this.overlayElement)||this.openOverlay()}handleSubmenuFocus(){requestAnimationFrame(()=>{this.overlayElement.open=this.open})}handlePointerenter(){if(this.leaveTimeout){clearTimeout(this.leaveTimeout),delete this.leaveTimeout;return}this.openOverlay()}handlePointerleave(){this.open&&!this.recentlyLeftChild&&(this.leaveTimeout=setTimeout(()=>{delete this.leaveTimeout,this.open=!1},H))}handleSubmenuChange(e){var t;e.stopPropagation(),(t=this.menuData.selectionRoot)==null||t.selectOrToggleItem(this)}handleSubmenuPointerenter(){this.recentlyLeftChild=!0}handleSubmenuPointerleave(){requestAnimationFrame(()=>{this.recentlyLeftChild=!1})}handleSubmenuOpen(e){this.focused=!1;const t=e.composedPath().find(o=>o!==this.overlayElement&&o.localName==="luzmo-overlay");this.overlayElement.parentOverlayToForceClose=t}cleanup(){this.open=!1,this.active=!1}openOverlay(){!this.hasSubmenu||this.open||this.disabled||(this.open=!0,this.active=!0,this.setAttribute("aria-expanded","true"),this.addEventListener("luzmo-closed",this.cleanup,{once:!0}))}updateAriaSelected(){const e=this.getAttribute("role");e==="option"?this.setAttribute("aria-selected",this.selected?"true":"false"):(e==="menuitemcheckbox"||e==="menuitemradio")&&this.setAttribute("aria-checked",this.selected?"true":"false")}setRole(e){this.setAttribute("role",e),this.updateAriaSelected()}updated(e){var t,o;if(super.updated(e),e.has("label")&&(this.label||e.get("label")!==void 0)&&this.setAttribute("aria-label",this.label||""),e.has("active")&&(this.active||e.get("active")!==void 0)&&this.active&&((t=this.menuData.selectionRoot)==null||t.closeDescendentOverlays()),this.anchorElement&&(this.anchorElement.addEventListener("focus",this.proxyFocus),this.anchorElement.tabIndex=-1),e.has("selected")&&this.updateAriaSelected(),e.has("hasSubmenu")&&(this.hasSubmenu||e.get("hasSubmenu")!==void 0))if(this.hasSubmenu){this.abortControllerSubmenu=new AbortController;const i={signal:this.abortControllerSubmenu.signal};this.addEventListener("click",this.handleSubmenuClick,i),this.addEventListener("pointerenter",this.handlePointerenter,i),this.addEventListener("pointerleave",this.handlePointerleave,i),this.addEventListener("luzmo-opened",this.handleSubmenuOpen,i)}else(o=this.abortControllerSubmenu)==null||o.abort()}connectedCallback(){super.connectedCallback(),this.triggerUpdate()}disconnectedCallback(){this.menuData.cleanupSteps.forEach(e=>e(this)),this.menuData={focusRoot:void 0,parentMenu:void 0,selectionRoot:void 0,cleanupSteps:[]},super.disconnectedCallback()}async triggerUpdate(){this.willDispatchUpdate||(this.willDispatchUpdate=!0,await new Promise(e=>requestAnimationFrame(e)),this.dispatchUpdate())}dispatchUpdate(){this.isConnected&&(this.dispatchEvent(new x(this)),this.willDispatchUpdate=!1)}}u([a.property({type:Boolean,reflect:!0})],c.prototype,"active",2);u([a.property({type:Boolean,reflect:!0})],c.prototype,"focused",2);u([a.property({type:Boolean,reflect:!0})],c.prototype,"selected",2);u([a.property({type:String})],c.prototype,"value",1);u([a.property({type:Boolean,reflect:!0,attribute:"has-submenu"})],c.prototype,"hasSubmenu",2);u([a.property({type:String})],c.prototype,"tooltip",2);u([a.property({type:String,attribute:"tooltip-placement"})],c.prototype,"tooltipPlacement",2);u([a.query("slot:not([name])")],c.prototype,"contentSlot",2);u([a.query('slot[name="icon"]')],c.prototype,"iconSlot",2);u([a.property({type:Boolean,reflect:!0,attribute:"no-wrap",hasChanged(){return!1}})],c.prototype,"noWrap",2);u([a.query(".anchor")],c.prototype,"anchorElement",2);u([a.query("luzmo-overlay")],c.prototype,"overlayElement",2);u([a.property({type:Boolean,reflect:!0})],c.prototype,"open",2);customElements.get("luzmo-menu")||customElements.define("luzmo-menu",m);customElements.get("luzmo-menu-divider")||customElements.define("luzmo-menu-divider",y);customElements.get("luzmo-menu-group")||customElements.define("luzmo-menu-group",g);customElements.get("luzmo-menu-item")||customElements.define("luzmo-menu-item",c);exports.LuzmoMenu=m;exports.LuzmoMenuDivider=y;exports.LuzmoMenuGroup=g;exports.LuzmoMenuItem=c;exports.MenuItemAddedOrUpdatedEvent=x;