@luzmo/lucero 0.0.3 → 0.0.4

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 (179) hide show
  1. package/lib/accordion/index.cjs +43 -0
  2. package/lib/accordion/index.js +182 -0
  3. package/lib/action-bar/index.cjs +39 -0
  4. package/lib/action-bar/index.js +108 -0
  5. package/lib/action-button/index.cjs +24 -0
  6. package/lib/action-button/index.js +162 -0
  7. package/lib/action-group/index.cjs +18 -0
  8. package/lib/action-group/index.js +29 -0
  9. package/lib/action-group-BoIH8s8R.js +259 -0
  10. package/lib/action-group-D4MxBrq8.cjs +20 -0
  11. package/lib/action-menu/index.cjs +56 -0
  12. package/lib/action-menu/index.js +127 -0
  13. package/lib/async-directive-CV2MII86.cjs +22 -0
  14. package/lib/async-directive-FGzMycjH.js +82 -0
  15. package/lib/avatar/index.cjs +24 -0
  16. package/lib/avatar/index.js +82 -0
  17. package/lib/base-BCmA9Wxv.cjs +30 -0
  18. package/lib/base-BjTwmyRF.cjs +22 -0
  19. package/lib/base-D76d76ww.js +26 -0
  20. package/lib/base-nYalvNMy.js +390 -0
  21. package/lib/button/index.cjs +20 -0
  22. package/lib/button/index.js +128 -0
  23. package/lib/button-base-B0iB_JTv.cjs +25 -0
  24. package/lib/button-base-DgtT6sU5.js +143 -0
  25. package/lib/button-group/index.cjs +18 -0
  26. package/lib/button-group/index.js +60 -0
  27. package/lib/checkbox/index.cjs +25 -0
  28. package/lib/checkbox/index.js +97 -0
  29. package/lib/checkbox-mixin-DegQlk5C.js +71 -0
  30. package/lib/checkbox-mixin-H0Hm-VLk.cjs +27 -0
  31. package/lib/clear-button-Ap5H3UyH.js +54 -0
  32. package/lib/clear-button-D0djuaLb.cjs +18 -0
  33. package/lib/close-button-BrfeZvjk.cjs +18 -0
  34. package/lib/close-button-CGISEF33.js +52 -0
  35. package/lib/color-Bg3tYsAQ.js +178 -0
  36. package/lib/color-DphK4hwx.cjs +18 -0
  37. package/lib/color-area/index.cjs +80 -0
  38. package/lib/color-area/index.js +373 -0
  39. package/lib/color-field/index.cjs +23 -0
  40. package/lib/color-field/index.js +81 -0
  41. package/lib/color-handle/index.cjs +24 -0
  42. package/lib/color-handle/index.js +74 -0
  43. package/lib/color-loupe/index.cjs +18 -0
  44. package/lib/color-loupe/index.js +29 -0
  45. package/lib/color-loupe-BICpNqFs.cjs +56 -0
  46. package/lib/color-loupe-DBEApMDT.js +82 -0
  47. package/lib/color-menu/index.cjs +86 -0
  48. package/lib/color-menu/index.js +204 -0
  49. package/lib/color-picker/index.cjs +48 -0
  50. package/lib/color-picker/index.js +142 -0
  51. package/lib/color-slider/index.cjs +57 -0
  52. package/lib/color-slider/index.js +318 -0
  53. package/lib/condition-attribute-with-id-DrQYZzFS.cjs +18 -0
  54. package/lib/condition-attribute-with-id-Dv4lSRbe.js +31 -0
  55. package/lib/dependency-manger-C5HCkMMB.cjs +18 -0
  56. package/lib/dependency-manger-CEXvGQUV.js +54 -0
  57. package/lib/directive-C7oCP5Bh.cjs +22 -0
  58. package/lib/directive-helpers-BLDZnGQv.js +28 -0
  59. package/lib/directive-helpers-C2vOfhFx.cjs +22 -0
  60. package/lib/directive-oAbCiebi.js +44 -0
  61. package/lib/divider/index.cjs +18 -0
  62. package/lib/divider/index.js +62 -0
  63. package/lib/divider.module-CXMNveQc.cjs +18 -0
  64. package/lib/divider.module-DwOuLGU3.js +21 -0
  65. package/lib/element-resolution-BvRLGqIU.cjs +18 -0
  66. package/lib/element-resolution-FCUT-wql.js +91 -0
  67. package/lib/field-group/index.cjs +18 -0
  68. package/lib/field-group/index.js +29 -0
  69. package/lib/field-group-CBWafIUV.js +67 -0
  70. package/lib/field-group-TUFvhJkk.cjs +23 -0
  71. package/lib/field-label/index.cjs +18 -0
  72. package/lib/field-label/index.js +29 -0
  73. package/lib/field-label-BK_tk8vP.js +107 -0
  74. package/lib/field-label-BrJaeORz.cjs +25 -0
  75. package/lib/focus-group-DHeTq18L.js +218 -0
  76. package/lib/focus-group-DnxZUBhQ.cjs +18 -0
  77. package/lib/focus-visible-B0P9aY_G.cjs +18 -0
  78. package/lib/focus-visible-DBlJGoEW.js +74 -0
  79. package/lib/focusable-DbUg-3Vp.js +153 -0
  80. package/lib/focusable-Dv_6CFaY.cjs +18 -0
  81. package/lib/focusable-selectors-B4YgbghQ.js +31 -0
  82. package/lib/focusable-selectors-BgFlyFcY.cjs +18 -0
  83. package/lib/icon/index.cjs +18 -0
  84. package/lib/icon/index.js +89 -0
  85. package/lib/if-defined-CYpcjGCb.js +27 -0
  86. package/lib/if-defined-Cv6xanXh.cjs +22 -0
  87. package/lib/index-C1chwzNp.js +727 -0
  88. package/lib/index-DCKCHDTt.cjs +18 -0
  89. package/lib/index-ovT-qVzf.js +928 -0
  90. package/lib/index-yNcLzjhM.cjs +77 -0
  91. package/lib/index.cjs +18 -0
  92. package/lib/index.js +133 -0
  93. package/lib/infield-button/index.cjs +22 -0
  94. package/lib/infield-button/index.js +65 -0
  95. package/lib/label/index.cjs +18 -0
  96. package/lib/label/index.js +52 -0
  97. package/lib/legend-position/index.cjs +27 -0
  98. package/lib/legend-position/index.js +85 -0
  99. package/lib/like-anchor-K8W0QYwC.cjs +32 -0
  100. package/lib/like-anchor-cDeGGeHh.js +70 -0
  101. package/lib/lit-html-B3ugcwD9.js +248 -0
  102. package/lib/lit-html-p4Oxv2-5.cjs +24 -0
  103. package/lib/manage-help-text-2mSEy-AD.js +92 -0
  104. package/lib/manage-help-text-iOk-zmy8.cjs +30 -0
  105. package/lib/menu/index.cjs +18 -0
  106. package/lib/menu/index.js +32 -0
  107. package/lib/multi-language-field/index.cjs +39 -0
  108. package/lib/multi-language-field/index.js +149 -0
  109. package/lib/mutation-controller-DH7YOCyj.js +52 -0
  110. package/lib/mutation-controller-DkOMCW-c.cjs +22 -0
  111. package/lib/number-field/index.cjs +57 -0
  112. package/lib/number-field/index.js +736 -0
  113. package/lib/observe-slot-text-BmsCNJig.cjs +18 -0
  114. package/lib/observe-slot-text-BoFRF-VI.js +87 -0
  115. package/lib/overlay/index.cjs +73 -0
  116. package/lib/overlay/index.js +325 -0
  117. package/lib/overlay-C7QKFqRc.js +2702 -0
  118. package/lib/overlay-DScraBAi.cjs +47 -0
  119. package/lib/pending-state-D5KTK4_1.js +61 -0
  120. package/lib/pending-state-Dbc2HIM2.cjs +26 -0
  121. package/lib/picker/index.cjs +18 -0
  122. package/lib/picker/index.js +32 -0
  123. package/lib/picker--2OCYWnV.js +657 -0
  124. package/lib/picker-B9W7Haf4.cjs +127 -0
  125. package/lib/platform-CQzYNWKq.cjs +18 -0
  126. package/lib/platform-DQYMG7JI.js +54 -0
  127. package/lib/popover/index.cjs +18 -0
  128. package/lib/popover/index.js +29 -0
  129. package/lib/popover-CVbjhSnx.cjs +30 -0
  130. package/lib/popover-ZRVxogyp.js +68 -0
  131. package/lib/progress-circle/index.cjs +18 -0
  132. package/lib/progress-circle/index.js +29 -0
  133. package/lib/progress-circle-CiJoS8J7.cjs +33 -0
  134. package/lib/progress-circle-DpXiqW6a.js +98 -0
  135. package/lib/query-BL-TJj7K.cjs +22 -0
  136. package/lib/query-D_KR_GUc.js +51 -0
  137. package/lib/query-assigned-elements-DjfhL1cl.js +36 -0
  138. package/lib/query-assigned-elements-DsKsfk7G.cjs +22 -0
  139. package/lib/query-assigned-nodes-BcKWmGzy.cjs +22 -0
  140. package/lib/query-assigned-nodes-C76XVPWY.js +36 -0
  141. package/lib/radio/index.cjs +22 -0
  142. package/lib/radio/index.js +192 -0
  143. package/lib/random-id-ByCz1xaq.js +26 -0
  144. package/lib/random-id-CqvckpWe.cjs +18 -0
  145. package/lib/roving-tabindex-By_fCy_e.cjs +18 -0
  146. package/lib/roving-tabindex-DOg4z6ZU.js +66 -0
  147. package/lib/search/index.cjs +45 -0
  148. package/lib/search/index.js +132 -0
  149. package/lib/sized-mixin-BSYHt8nT.cjs +18 -0
  150. package/lib/sized-mixin-Dl0KoEcV.js +63 -0
  151. package/lib/slider/index.cjs +18 -0
  152. package/lib/slider/index.js +1159 -0
  153. package/lib/slottable-request-event-BfUUt1Mh.cjs +18 -0
  154. package/lib/slottable-request-event-DggLA4Rx.js +31 -0
  155. package/lib/state-BAO-13Bs.js +29 -0
  156. package/lib/state-DReJ3hB6.cjs +22 -0
  157. package/lib/streaming-listener-Bw4jE33f.cjs +18 -0
  158. package/lib/streaming-listener-DLo0wkMc.js +125 -0
  159. package/lib/style-map-BjBGQ_u3.cjs +22 -0
  160. package/lib/style-map-BqvQDFJt.js +53 -0
  161. package/lib/swatch/index.cjs +49 -0
  162. package/lib/swatch/index.js +343 -0
  163. package/lib/switch/index.cjs +22 -0
  164. package/lib/switch/index.js +74 -0
  165. package/lib/tags/index.cjs +32 -0
  166. package/lib/tags/index.js +174 -0
  167. package/lib/text-field/index.cjs +21 -0
  168. package/lib/text-field/index.js +62 -0
  169. package/lib/text-field-C6Aa7XOb.cjs +85 -0
  170. package/lib/text-field-DPk332j9.js +315 -0
  171. package/lib/toast/index.cjs +51 -0
  172. package/lib/toast/index.js +154 -0
  173. package/lib/tooltip/index.cjs +45 -0
  174. package/lib/tooltip/index.js +221 -0
  175. package/lib/unit-input/index.cjs +43 -0
  176. package/lib/unit-input/index.js +184 -0
  177. package/lib/when-CDK1Tt5Y.js +28 -0
  178. package/lib/when-CDZyJPvd.cjs +22 -0
  179. package/package.json +2 -2
@@ -0,0 +1,18 @@
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 b=require("./mutation-controller-DkOMCW-c.cjs"),g=require("./base-BCmA9Wxv.cjs"),x=require("./query-assigned-nodes-BcKWmGzy.cjs");var m=Object.defineProperty,h=(d,n,i,u)=>{for(var t=void 0,r=d.length-1,o;r>=0;r--)(o=d[r])&&(t=o(n,i,t)||t);return t&&m(n,i,t),t};const c=Symbol("assignedNodes");function v(d,n,i=[]){var u,t;const r=f=>e=>f.matches(e);class o extends(t=d,u=c,t){constructor(...e){super(e),this.slotHasContent=!1,new b.s(this,{config:{characterData:!0,subtree:!0},callback:l=>{for(const s of l)if(s.type==="characterData"){this.manageTextObservedSlot();return}}})}manageTextObservedSlot(){if(!this[c])return;const e=[...this[c]].filter(l=>{const s=l;return s.tagName?!i.some(r(s)):s.textContent?s.textContent.trim():!1});this.slotHasContent=e.length>0}update(e){if(!this.hasUpdated){const{childNodes:l}=this,s=[...l].filter(p=>{const a=p;return a.tagName?i.some(r(a))?!1:n?a.getAttribute("slot")===n:!a.hasAttribute("slot"):a.textContent?a.textContent.trim():!1});this.slotHasContent=s.length>0}super.update(e)}firstUpdated(e){super.firstUpdated(e),this.updateComplete.then(()=>{this.manageTextObservedSlot()})}}return h([g.n({type:Boolean,attribute:!1})],o.prototype,"slotHasContent"),h([x.n({slot:n,flatten:!0})],o.prototype,u),o}exports.ObserveSlotText=v;
@@ -0,0 +1,87 @@
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
+ import { s as m } from "./mutation-controller-DH7YOCyj.js";
19
+ import { n as x } from "./base-nYalvNMy.js";
20
+ import { n as b } from "./query-assigned-nodes-C76XVPWY.js";
21
+ var g = Object.defineProperty, p = (d, n, i, f) => {
22
+ for (var t = void 0, o = d.length - 1, r; o >= 0; o--)
23
+ (r = d[o]) && (t = r(n, i, t) || t);
24
+ return t && g(n, i, t), t;
25
+ };
26
+ const u = Symbol("assignedNodes");
27
+ function y(d, n, i = []) {
28
+ var f, t;
29
+ const o = (c) => (e) => c.matches(e);
30
+ class r extends (t = d, f = u, t) {
31
+ constructor(...e) {
32
+ super(e), this.slotHasContent = !1, new m(this, {
33
+ config: {
34
+ characterData: !0,
35
+ subtree: !0
36
+ },
37
+ callback: (l) => {
38
+ for (const s of l)
39
+ if (s.type === "characterData") {
40
+ this.manageTextObservedSlot();
41
+ return;
42
+ }
43
+ }
44
+ });
45
+ }
46
+ manageTextObservedSlot() {
47
+ if (!this[u])
48
+ return;
49
+ const e = [...this[u]].filter(
50
+ (l) => {
51
+ const s = l;
52
+ return s.tagName ? !i.some(o(s)) : s.textContent ? s.textContent.trim() : !1;
53
+ }
54
+ );
55
+ this.slotHasContent = e.length > 0;
56
+ }
57
+ update(e) {
58
+ if (!this.hasUpdated) {
59
+ const { childNodes: l } = this, s = [...l].filter((h) => {
60
+ const a = h;
61
+ return a.tagName ? i.some(o(a)) ? !1 : (
62
+ // Confirm it would exist in a targeted slot if there was one supplied.
63
+ n ? a.getAttribute("slot") === n : !a.hasAttribute("slot")
64
+ ) : a.textContent ? a.textContent.trim() : !1;
65
+ });
66
+ this.slotHasContent = s.length > 0;
67
+ }
68
+ super.update(e);
69
+ }
70
+ firstUpdated(e) {
71
+ super.firstUpdated(e), this.updateComplete.then(() => {
72
+ this.manageTextObservedSlot();
73
+ });
74
+ }
75
+ }
76
+ return p([
77
+ x({ type: Boolean, attribute: !1 })
78
+ ], r.prototype, "slotHasContent"), p([
79
+ b({
80
+ slot: n,
81
+ flatten: !0
82
+ })
83
+ ], r.prototype, f), r;
84
+ }
85
+ export {
86
+ y as O
87
+ };
@@ -0,0 +1,73 @@
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";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../overlay-DScraBAi.cjs"),h=require("../base-BCmA9Wxv.cjs"),i=require("lit"),d=require("../state-DReJ3hB6.cjs"),u=require("../query-BL-TJj7K.cjs");require("../lit-html-p4Oxv2-5.cjs");const C=require("../directive-C7oCP5Bh.cjs"),O=require("../async-directive-CV2MII86.cjs"),y=require("../slottable-request-event-BfUUt1Mh.cjs"),$=":host([disabled]) ::slotted([slot=trigger]){pointer-events:none}slot[name=longpress-describedby-descriptor]{display:none}";var k=Object.defineProperty,o=(c,e,t,r)=>{for(var n=void 0,l=c.length-1,a;l>=0;l--)(a=c[l])&&(n=a(e,t,n)||n);return n&&k(e,t,n),n};class s extends h.LuzmoElement{constructor(){super(...arguments),this.content="click hover longpress",this.offset=6,this.disabled=!1,this.receivesFocus="auto",this.clickContent=[],this.longpressContent=[],this.hoverContent=[],this.targetContent=[]}static get styles(){return[i.unsafeCSS($)]}getAssignedElementsFromSlot(e){return e.assignedElements({flatten:!0})}handleTriggerContent(e){this.targetContent=this.getAssignedElementsFromSlot(e.target)}handleSlotContent(e){switch(e.target.name){case"click-content":{this.clickContent=this.getAssignedElementsFromSlot(e.target);break}case"longpress-content":{this.longpressContent=this.getAssignedElementsFromSlot(e.target);break}case"hover-content":{this.hoverContent=this.getAssignedElementsFromSlot(e.target);break}}}handleBeforetoggle(e){const{target:t}=e;let r;if(t===this.clickOverlayElement)r="click";else if(t===this.longpressOverlayElement)r="longpress";else if(t===this.hoverOverlayElement)r="hover";else return;e.newState==="open"?this.open=r:this.open===r&&(this.open=void 0)}update(e){var t,r,n,l,a,g;e.has("clickContent")&&(this.clickPlacement=((t=this.clickContent[0])==null?void 0:t.getAttribute("placement"))||((r=this.clickContent[0])==null?void 0:r.getAttribute("direction"))||void 0),e.has("hoverContent")&&(this.hoverPlacement=((n=this.hoverContent[0])==null?void 0:n.getAttribute("placement"))||((l=this.hoverContent[0])==null?void 0:l.getAttribute("direction"))||void 0),e.has("longpressContent")&&(this.longpressPlacement=((a=this.longpressContent[0])==null?void 0:a.getAttribute("placement"))||((g=this.longpressContent[0])==null?void 0:g.getAttribute("direction"))||void 0),super.update(e)}renderSlot(e){return i.html`
19
+ <slot name=${e} @slotchange=${this.handleSlotContent}></slot>
20
+ `}renderClickOverlay(){Promise.resolve().then(()=>require("../overlay-DScraBAi.cjs")).then(t=>t.overlay);const e=this.renderSlot("click-content");return this.clickContent.length===0?e:i.html`
21
+ <luzmo-overlay
22
+ id="click-overlay"
23
+ ?disabled=${this.disabled||this.clickContent.length===0}
24
+ ?open=${this.open==="click"&&this.clickContent.length>0}
25
+ .offset=${this.offset}
26
+ .placement=${this.clickPlacement||this.placement}
27
+ .triggerElement=${this.targetContent[0]}
28
+ .triggerInteraction=${"click"}
29
+ .type=${this.type==="modal"?"modal":"auto"}
30
+ @beforetoggle=${this.handleBeforetoggle}
31
+ .receivesFocus=${this.receivesFocus}
32
+ >
33
+ ${e}
34
+ </luzmo-overlay>
35
+ `}renderHoverOverlay(){Promise.resolve().then(()=>require("../overlay-DScraBAi.cjs")).then(t=>t.overlay);const e=this.renderSlot("hover-content");return this.hoverContent.length===0?e:i.html`
36
+ <luzmo-overlay
37
+ id="hover-overlay"
38
+ ?open=${this.open==="hover"&&this.hoverContent.length>0}
39
+ ?disabled=${this.disabled||this.hoverContent.length===0||!!this.open&&this.open!=="hover"}
40
+ .offset=${this.offset}
41
+ .placement=${this.hoverPlacement||this.placement}
42
+ .triggerElement=${this.targetContent[0]}
43
+ .triggerInteraction=${"hover"}
44
+ .type=${"hint"}
45
+ @beforetoggle=${this.handleBeforetoggle}
46
+ .receivesFocus=${this.receivesFocus}
47
+ >
48
+ ${e}
49
+ </luzmo-overlay>
50
+ `}renderLongpressOverlay(){Promise.resolve().then(()=>require("../overlay-DScraBAi.cjs")).then(t=>t.overlay);const e=this.renderSlot("longpress-content");return this.longpressContent.length===0?e:i.html`
51
+ <luzmo-overlay
52
+ id="longpress-overlay"
53
+ ?disabled=${this.disabled||this.longpressContent.length===0}
54
+ ?open=${this.open==="longpress"&&this.longpressContent.length>0}
55
+ .offset=${this.offset}
56
+ .placement=${this.longpressPlacement||this.placement}
57
+ .triggerElement=${this.targetContent[0]}
58
+ .triggerInteraction=${"longpress"}
59
+ .type=${"auto"}
60
+ @beforetoggle=${this.handleBeforetoggle}
61
+ .receivesFocus=${this.receivesFocus}
62
+ >
63
+ ${e}
64
+ </luzmo-overlay>
65
+ <slot name="longpress-describedby-descriptor"></slot>
66
+ `}render(){const e=this.content.split(" ");return i.html`
67
+ <slot
68
+ id="trigger"
69
+ name="trigger"
70
+ @slotchange=${this.handleTriggerContent}
71
+ ></slot>
72
+ ${[e.includes("click")?this.renderClickOverlay():i.html``,e.includes("hover")?this.renderHoverOverlay():i.html``,e.includes("longpress")?this.renderLongpressOverlay():i.html``]}
73
+ `}updated(e){if(super.updated(e),this.disabled&&e.has("disabled")){this.open=void 0;return}}async getUpdateComplete(){return await super.getUpdateComplete()}}o([h.n()],s.prototype,"content");o([h.n({reflect:!0})],s.prototype,"placement");o([h.n()],s.prototype,"type");o([h.n({type:Number})],s.prototype,"offset");o([h.n({reflect:!0})],s.prototype,"open");o([h.n({type:Boolean,reflect:!0})],s.prototype,"disabled");o([h.n({attribute:"receives-focus"})],s.prototype,"receivesFocus");o([d.r()],s.prototype,"clickContent");o([d.r()],s.prototype,"longpressContent");o([d.r()],s.prototype,"hoverContent");o([d.r()],s.prototype,"targetContent");o([u.e("#click-overlay",!0)],s.prototype,"clickOverlayElement");o([u.e("#longpress-overlay",!0)],s.prototype,"longpressOverlayElement");o([u.e("#hover-overlay",!0)],s.prototype,"hoverOverlayElement");function S(c,e,t,r){return p.Overlay.open(c,e,t,r)}class E extends O.f{render(e){return i.nothing}update(e,[t]){this.template=t,this.target!==e.element&&(this.target=e.element,this.renderBefore=this.target.children[0]),this.listenerHost=this.target,this.init()}handleSlottableRequest(e){if(e.target!==e.currentTarget)return;const t=e.data===y.removeSlottableRequest;i.render(t?void 0:this.template(),this.target,{renderBefore:this.renderBefore})}init(){var t;(t=this.listeners)==null||t.abort(),this.listeners=new AbortController;const{signal:e}=this.listeners;this.listenerHost.addEventListener("slottable-request",r=>this.handleSlottableRequest(r),{signal:e})}disconnected(){var e;(e=this.listeners)==null||e.abort()}reconnected(){this.init()}}class f extends E{constructor(){super(...arguments),this.defaultOptions={triggerInteraction:"click",overlayOptions:{type:"auto",offset:0}},this.options={...this.defaultOptions.overlayOptions}}render(e,t){return i.nothing}update(e,[t,r]){var g,v,m;this.options={...this.defaultOptions.overlayOptions,...r==null?void 0:r.overlayOptions},this.insertionOptions=r==null?void 0:r.insertionOptions,this.template=t,this.host=(g=e.options)==null?void 0:g.host;let n=!1;const l=(r==null?void 0:r.triggerInteraction)||this.defaultOptions.triggerInteraction,a=p.InteractionTypes[(v=this.strategy)==null?void 0:v.type]!==l;this.target!==e.element&&(this.target=e.element,n=!0),(n||a)&&((m=this.strategy)==null||m.abort(),this.strategy=new p.strategies[l](this.target,{isPersistent:!0,handleOverlayReady:b=>{this.listenerHost=this.overlay=b,this.init()}})),this.strategy.open=(r==null?void 0:r.open)??!1}handleSlottableRequest(e){var n,l;if(e.target!==e.currentTarget)return;const t=e.data===y.removeSlottableRequest,r={};if(this.host&&(r.host=this.host),i.render(t?void 0:this.template(),this.overlay,r),t)this.overlay.remove();else{p.AbstractOverlay.applyOptions(this.overlay,{...this.options,trigger:this.target});const a=typeof((n=this.insertionOptions)==null?void 0:n.el)=="function"?this.insertionOptions.el():((l=this.insertionOptions)==null?void 0:l.el)||this.target,{where:g="afterend"}=this.insertionOptions||{};a.insertAdjacentElement(g,this.overlay)}}}const q=C.e(f);customElements.get("luzmo-overlay")||customElements.define("luzmo-overlay",p.Overlay);customElements.get("luzmo-overlay-trigger")||customElements.define("luzmo-overlay-trigger",s);exports.Overlay=p.Overlay;exports.VirtualTrigger=p.VirtualTrigger;exports.OverlayTrigger=s;exports.OverlayTriggerDirective=f;exports.openOverlay=S;exports.trigger=q;
@@ -0,0 +1,325 @@
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
+ import { O as f, I as C, s as k, A as O } from "../overlay-C7QKFqRc.js";
19
+ import { V as M } from "../overlay-C7QKFqRc.js";
20
+ import { L as $, n as u } from "../base-nYalvNMy.js";
21
+ import { unsafeCSS as S, html as c, nothing as z, render as v } from "lit";
22
+ import { r as h } from "../state-BAO-13Bs.js";
23
+ import { e as g } from "../query-D_KR_GUc.js";
24
+ import "../lit-html-B3ugcwD9.js";
25
+ import { e as w } from "../directive-oAbCiebi.js";
26
+ import { f as E } from "../async-directive-FGzMycjH.js";
27
+ import { r as b } from "../slottable-request-event-DggLA4Rx.js";
28
+ const x = () => {
29
+ if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
30
+ const i = document.createElement("style");
31
+ i.setAttribute("data-luzmo-vars", ""), i.textContent = 'html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-color-negative: #ca221c;--luzmo-color-negative-hover: #b3241f;--luzmo-color-negative-down: #9f231f;--luzmo-color-negative-focus: #b3241f;--luzmo-color-negative-rgb: 202, 34, 28;--luzmo-color-positive: rgb(20, 150, 101);--luzmo-color-positive-hover: rgb(17, 128, 86);--luzmo-color-positive-down: rgb(16, 105, 71);--luzmo-color-positive-focus: rgb(17, 128, 86);--luzmo-color-positive-rgb: 20, 150, 101;--luzmo-color-selected: rgb(110, 110, 110);--luzmo-color-selected-hover: rgb(70, 70, 70);--luzmo-color-selected-down: rgb(40, 40, 40);--luzmo-color-selected-focus: rgb(70, 70, 70);--luzmo-color-selected-hard: #1e1e1e;--luzmo-color-selected-hard-hover: rgb(0, 0, 0);--luzmo-color-selected-hard-down: rgb(0, 0, 0);--luzmo-color-selected-hard-focus: rgb(0, 0, 0);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}', document.head.appendChild(i);
32
+ }
33
+ };
34
+ x();
35
+ const A = ":host([disabled]) ::slotted([slot=trigger]){pointer-events:none}slot[name=longpress-describedby-descriptor]{display:none}";
36
+ var F = Object.defineProperty, s = (i, e, t, o) => {
37
+ for (var r = void 0, n = i.length - 1, a; n >= 0; n--)
38
+ (a = i[n]) && (r = a(e, t, r) || r);
39
+ return r && F(e, t, r), r;
40
+ };
41
+ class l extends $ {
42
+ constructor() {
43
+ super(...arguments), this.content = "click hover longpress", this.offset = 6, this.disabled = !1, this.receivesFocus = "auto", this.clickContent = [], this.longpressContent = [], this.hoverContent = [], this.targetContent = [];
44
+ }
45
+ static get styles() {
46
+ return [S(A)];
47
+ }
48
+ getAssignedElementsFromSlot(e) {
49
+ return e.assignedElements({ flatten: !0 });
50
+ }
51
+ handleTriggerContent(e) {
52
+ this.targetContent = this.getAssignedElementsFromSlot(e.target);
53
+ }
54
+ handleSlotContent(e) {
55
+ switch (e.target.name) {
56
+ case "click-content": {
57
+ this.clickContent = this.getAssignedElementsFromSlot(e.target);
58
+ break;
59
+ }
60
+ case "longpress-content": {
61
+ this.longpressContent = this.getAssignedElementsFromSlot(e.target);
62
+ break;
63
+ }
64
+ case "hover-content": {
65
+ this.hoverContent = this.getAssignedElementsFromSlot(e.target);
66
+ break;
67
+ }
68
+ }
69
+ }
70
+ handleBeforetoggle(e) {
71
+ const { target: t } = e;
72
+ let o;
73
+ if (t === this.clickOverlayElement)
74
+ o = "click";
75
+ else if (t === this.longpressOverlayElement)
76
+ o = "longpress";
77
+ else if (t === this.hoverOverlayElement)
78
+ o = "hover";
79
+ else
80
+ return;
81
+ e.newState === "open" ? this.open = o : this.open === o && (this.open = void 0);
82
+ }
83
+ update(e) {
84
+ var t, o, r, n, a, m;
85
+ e.has("clickContent") && (this.clickPlacement = ((t = this.clickContent[0]) == null ? void 0 : t.getAttribute("placement")) || ((o = this.clickContent[0]) == null ? void 0 : o.getAttribute("direction")) || void 0), e.has("hoverContent") && (this.hoverPlacement = ((r = this.hoverContent[0]) == null ? void 0 : r.getAttribute("placement")) || ((n = this.hoverContent[0]) == null ? void 0 : n.getAttribute("direction")) || void 0), e.has("longpressContent") && (this.longpressPlacement = ((a = this.longpressContent[0]) == null ? void 0 : a.getAttribute("placement")) || ((m = this.longpressContent[0]) == null ? void 0 : m.getAttribute("direction")) || void 0), super.update(e);
86
+ }
87
+ renderSlot(e) {
88
+ return c`
89
+ <slot name=${e} @slotchange=${this.handleSlotContent}></slot>
90
+ `;
91
+ }
92
+ renderClickOverlay() {
93
+ import("../overlay-C7QKFqRc.js").then((t) => t.o);
94
+ const e = this.renderSlot("click-content");
95
+ return this.clickContent.length === 0 ? e : c`
96
+ <luzmo-overlay
97
+ id="click-overlay"
98
+ ?disabled=${this.disabled || this.clickContent.length === 0}
99
+ ?open=${this.open === "click" && this.clickContent.length > 0}
100
+ .offset=${this.offset}
101
+ .placement=${this.clickPlacement || this.placement}
102
+ .triggerElement=${this.targetContent[0]}
103
+ .triggerInteraction=${"click"}
104
+ .type=${this.type === "modal" ? "modal" : "auto"}
105
+ @beforetoggle=${this.handleBeforetoggle}
106
+ .receivesFocus=${this.receivesFocus}
107
+ >
108
+ ${e}
109
+ </luzmo-overlay>
110
+ `;
111
+ }
112
+ renderHoverOverlay() {
113
+ import("../overlay-C7QKFqRc.js").then((t) => t.o);
114
+ const e = this.renderSlot("hover-content");
115
+ return this.hoverContent.length === 0 ? e : c`
116
+ <luzmo-overlay
117
+ id="hover-overlay"
118
+ ?open=${this.open === "hover" && this.hoverContent.length > 0}
119
+ ?disabled=${this.disabled || this.hoverContent.length === 0 || !!this.open && this.open !== "hover"}
120
+ .offset=${this.offset}
121
+ .placement=${this.hoverPlacement || this.placement}
122
+ .triggerElement=${this.targetContent[0]}
123
+ .triggerInteraction=${"hover"}
124
+ .type=${"hint"}
125
+ @beforetoggle=${this.handleBeforetoggle}
126
+ .receivesFocus=${this.receivesFocus}
127
+ >
128
+ ${e}
129
+ </luzmo-overlay>
130
+ `;
131
+ }
132
+ renderLongpressOverlay() {
133
+ import("../overlay-C7QKFqRc.js").then((t) => t.o);
134
+ const e = this.renderSlot("longpress-content");
135
+ return this.longpressContent.length === 0 ? e : c`
136
+ <luzmo-overlay
137
+ id="longpress-overlay"
138
+ ?disabled=${this.disabled || this.longpressContent.length === 0}
139
+ ?open=${this.open === "longpress" && this.longpressContent.length > 0}
140
+ .offset=${this.offset}
141
+ .placement=${this.longpressPlacement || this.placement}
142
+ .triggerElement=${this.targetContent[0]}
143
+ .triggerInteraction=${"longpress"}
144
+ .type=${"auto"}
145
+ @beforetoggle=${this.handleBeforetoggle}
146
+ .receivesFocus=${this.receivesFocus}
147
+ >
148
+ ${e}
149
+ </luzmo-overlay>
150
+ <slot name="longpress-describedby-descriptor"></slot>
151
+ `;
152
+ }
153
+ render() {
154
+ const e = this.content.split(" ");
155
+ return c`
156
+ <slot
157
+ id="trigger"
158
+ name="trigger"
159
+ @slotchange=${this.handleTriggerContent}
160
+ ></slot>
161
+ ${[
162
+ e.includes("click") ? this.renderClickOverlay() : c``,
163
+ e.includes("hover") ? this.renderHoverOverlay() : c``,
164
+ e.includes("longpress") ? this.renderLongpressOverlay() : c``
165
+ ]}
166
+ `;
167
+ }
168
+ updated(e) {
169
+ if (super.updated(e), this.disabled && e.has("disabled")) {
170
+ this.open = void 0;
171
+ return;
172
+ }
173
+ }
174
+ async getUpdateComplete() {
175
+ return await super.getUpdateComplete();
176
+ }
177
+ }
178
+ s([
179
+ u()
180
+ ], l.prototype, "content");
181
+ s([
182
+ u({ reflect: !0 })
183
+ ], l.prototype, "placement");
184
+ s([
185
+ u()
186
+ ], l.prototype, "type");
187
+ s([
188
+ u({ type: Number })
189
+ ], l.prototype, "offset");
190
+ s([
191
+ u({ reflect: !0 })
192
+ ], l.prototype, "open");
193
+ s([
194
+ u({ type: Boolean, reflect: !0 })
195
+ ], l.prototype, "disabled");
196
+ s([
197
+ u({ attribute: "receives-focus" })
198
+ ], l.prototype, "receivesFocus");
199
+ s([
200
+ h()
201
+ ], l.prototype, "clickContent");
202
+ s([
203
+ h()
204
+ ], l.prototype, "longpressContent");
205
+ s([
206
+ h()
207
+ ], l.prototype, "hoverContent");
208
+ s([
209
+ h()
210
+ ], l.prototype, "targetContent");
211
+ s([
212
+ g("#click-overlay", !0)
213
+ ], l.prototype, "clickOverlayElement");
214
+ s([
215
+ g("#longpress-overlay", !0)
216
+ ], l.prototype, "longpressOverlayElement");
217
+ s([
218
+ g("#hover-overlay", !0)
219
+ ], l.prototype, "hoverOverlayElement");
220
+ function j(i, e, t, o) {
221
+ return f.open(
222
+ i,
223
+ e,
224
+ t,
225
+ o
226
+ );
227
+ }
228
+ class I extends E {
229
+ /* c8 ignore next 9 */
230
+ render(e) {
231
+ return z;
232
+ }
233
+ update(e, [t]) {
234
+ this.template = t, this.target !== e.element && (this.target = e.element, this.renderBefore = this.target.children[0]), this.listenerHost = this.target, this.init();
235
+ }
236
+ handleSlottableRequest(e) {
237
+ if (e.target !== e.currentTarget)
238
+ return;
239
+ const t = e.data === b;
240
+ v(t ? void 0 : this.template(), this.target, {
241
+ renderBefore: this.renderBefore
242
+ });
243
+ }
244
+ init() {
245
+ var t;
246
+ (t = this.listeners) == null || t.abort(), this.listeners = new AbortController();
247
+ const { signal: e } = this.listeners;
248
+ this.listenerHost.addEventListener(
249
+ "slottable-request",
250
+ (o) => this.handleSlottableRequest(o),
251
+ { signal: e }
252
+ );
253
+ }
254
+ disconnected() {
255
+ var e;
256
+ (e = this.listeners) == null || e.abort();
257
+ }
258
+ /* c8 ignore next 3 */
259
+ reconnected() {
260
+ this.init();
261
+ }
262
+ }
263
+ class T extends I {
264
+ constructor() {
265
+ super(...arguments), this.defaultOptions = {
266
+ triggerInteraction: "click",
267
+ overlayOptions: {
268
+ type: "auto",
269
+ offset: 0
270
+ }
271
+ }, this.options = {
272
+ ...this.defaultOptions.overlayOptions
273
+ };
274
+ }
275
+ /* c8 ignore next 9 */
276
+ render(e, t) {
277
+ return z;
278
+ }
279
+ update(e, [t, o]) {
280
+ var m, d, p;
281
+ this.options = {
282
+ ...this.defaultOptions.overlayOptions,
283
+ ...o == null ? void 0 : o.overlayOptions
284
+ }, this.insertionOptions = o == null ? void 0 : o.insertionOptions, this.template = t, this.host = (m = e.options) == null ? void 0 : m.host;
285
+ let r = !1;
286
+ const n = (o == null ? void 0 : o.triggerInteraction) || this.defaultOptions.triggerInteraction, a = C[(d = this.strategy) == null ? void 0 : d.type] !== n;
287
+ this.target !== e.element && (this.target = e.element, r = !0), (r || a) && ((p = this.strategy) == null || p.abort(), this.strategy = new k[n](this.target, {
288
+ isPersistent: !0,
289
+ handleOverlayReady: (y) => {
290
+ this.listenerHost = this.overlay = y, this.init();
291
+ }
292
+ })), this.strategy.open = (o == null ? void 0 : o.open) ?? !1;
293
+ }
294
+ handleSlottableRequest(e) {
295
+ var r, n;
296
+ if (e.target !== e.currentTarget)
297
+ return;
298
+ const t = e.data === b, o = {};
299
+ if (this.host && (o.host = this.host), v(
300
+ t ? void 0 : this.template(),
301
+ this.overlay,
302
+ o
303
+ ), t)
304
+ this.overlay.remove();
305
+ else {
306
+ O.applyOptions(this.overlay, {
307
+ ...this.options,
308
+ trigger: this.target
309
+ });
310
+ const a = typeof ((r = this.insertionOptions) == null ? void 0 : r.el) == "function" ? this.insertionOptions.el() : ((n = this.insertionOptions) == null ? void 0 : n.el) || this.target, { where: m = "afterend" } = this.insertionOptions || {};
311
+ a.insertAdjacentElement(m, this.overlay);
312
+ }
313
+ }
314
+ }
315
+ const D = w(T);
316
+ customElements.get("luzmo-overlay") || customElements.define("luzmo-overlay", f);
317
+ customElements.get("luzmo-overlay-trigger") || customElements.define("luzmo-overlay-trigger", l);
318
+ export {
319
+ f as Overlay,
320
+ l as OverlayTrigger,
321
+ T as OverlayTriggerDirective,
322
+ M as VirtualTrigger,
323
+ j as openOverlay,
324
+ D as trigger
325
+ };