@luzmo/analytics-components-kit 1.0.1-alpha.36 → 1.0.1-alpha.39
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.
- package/components/{calculate-data-item-icon-BtUWtDx3.cjs → calculate-data-item-icon-Bygfq3KO.cjs} +1 -1
- package/components/{calculate-data-item-icon-DauSiV8c.js → calculate-data-item-icon-DlyGQVBA.js} +23 -23
- package/components/{de-CCq00pbq.js → de-BbcctJsI.js} +7 -0
- package/components/de-eIqMhTVC.cjs +20 -0
- package/components/display-settings/index.cjs +3 -3
- package/components/display-settings/index.js +6 -6
- package/components/display-settings-binning/index.cjs +2 -2
- package/components/display-settings-binning/index.js +12 -12
- package/components/display-settings-datetime/index.cjs +4 -4
- package/components/display-settings-datetime/index.js +13 -13
- package/components/display-settings-grand-totals/index.cjs +2 -2
- package/components/display-settings-grand-totals/index.js +10 -10
- package/components/display-settings-numeric/index.cjs +2 -2
- package/components/display-settings-numeric/index.js +10 -10
- package/components/display-settings-period-over-period/index.cjs +1 -1
- package/components/display-settings-period-over-period/index.js +8 -8
- package/components/draggable-data-item/index.cjs +1 -1
- package/components/draggable-data-item/index.js +6 -6
- package/components/draggable-data-item-level/index.cjs +4 -4
- package/components/draggable-data-item-level/index.js +9 -9
- package/components/droppable-slot/index.cjs +3 -3
- package/components/droppable-slot/index.js +10 -10
- package/components/edit-item/index.cjs +1 -1
- package/components/edit-item/index.js +4 -4
- package/components/edit-option/index.cjs +1 -1
- package/components/edit-option/index.js +1 -1
- package/components/edit-option-action-button-group/index.cjs +1 -1
- package/components/edit-option-action-button-group/index.js +19 -19
- package/components/{edit-option-base-J7XNb_vp.cjs → edit-option-base-B7owFMOO.cjs} +1 -1
- package/components/{edit-option-base-BHvx3Mlq.js → edit-option-base-Cw2iO2Av.js} +4 -4
- package/components/edit-option-color-picker/index.cjs +5 -5
- package/components/edit-option-color-picker/index.js +4 -4
- package/components/edit-option-multi-language-field/index.cjs +1 -1
- package/components/edit-option-multi-language-field/index.js +2 -2
- package/components/edit-option-number-field/index.cjs +1 -1
- package/components/edit-option-number-field/index.js +2 -2
- package/components/edit-option-picker/index.cjs +1 -1
- package/components/edit-option-picker/index.js +4 -4
- package/components/edit-option-position-picker/index.cjs +1 -1
- package/components/edit-option-position-picker/index.js +2 -2
- package/components/edit-option-positions-number-field/index.cjs +2 -2
- package/components/edit-option-positions-number-field/index.js +6 -6
- package/components/edit-option-radio-button-group/index.cjs +1 -1
- package/components/edit-option-radio-button-group/index.js +2 -2
- package/components/edit-option-slider/index.cjs +1 -1
- package/components/edit-option-slider/index.js +2 -2
- package/components/edit-option-switch/index.cjs +1 -1
- package/components/edit-option-switch/index.js +2 -2
- package/components/edit-option-text-field/index.cjs +1 -1
- package/components/edit-option-text-field/index.js +2 -2
- package/components/{es-DBmbFw-L.js → es-ByWFTJ0s.js} +7 -0
- package/components/es-tWaYVbsQ.cjs +20 -0
- package/components/filter-data-item-picker/index.cjs +1 -1
- package/components/filter-data-item-picker/index.js +6 -6
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +1 -1
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.js +6 -6
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +3 -3
- package/components/filter-value-picker-datetime/index.cjs +7 -7
- package/components/filter-value-picker-datetime/index.js +6 -6
- package/components/filter-value-picker-hierarchy/index.cjs +1 -1
- package/components/filter-value-picker-hierarchy/index.js +7 -6
- package/components/filter-value-picker-numeric/index.cjs +1 -1
- package/components/filter-value-picker-numeric/index.js +6 -6
- package/components/{focusable-_wp5pWO-.cjs → focusable-BTJYY_Mf.cjs} +1 -1
- package/components/{focusable-DB6Uhr-C.js → focusable-BXhQz3_k.js} +1 -1
- package/components/fr-2igiTsHU.cjs +20 -0
- package/components/{fr-BOwMikLT.js → fr-C5b2Wgoz.js} +7 -0
- package/components/get-css-variable-BEYG097C.js +1446 -0
- package/components/get-css-variable-BZxY4IOa.cjs +35 -0
- package/components/grid/actions.d.ts +21 -0
- package/components/grid/default-actions.d.ts +14 -0
- package/components/grid/grid-item-actions-menu.d.ts +35 -0
- package/components/grid/grid.d.ts +165 -0
- package/components/grid/index.cjs +326 -0
- package/components/grid/index.d.ts +10 -0
- package/components/grid/index.js +8948 -0
- package/components/{if-defined-DqthfJme.cjs → if-defined-Bulnuz1A.cjs} +1 -1
- package/components/{if-defined-B4gwZxx6.js → if-defined-CTc4c9nr.js} +1 -1
- package/components/{index-Y9hjNorm.js → index-BNwJ9moR.js} +3 -3
- package/components/{index-CRYEL3MP.cjs → index-B_dW2-QA.cjs} +1 -1
- package/components/{index-5mZhN-HJ.js → index-BiY07GvX.js} +4 -4
- package/components/{index-Dh6CgbzT.js → index-Boxjo5I0.js} +79 -79
- package/components/{index-BhpqKmwq.cjs → index-CAJRL5rT.cjs} +1 -1
- package/components/{index-Cltytvm7.cjs → index-CT2vEcpn.cjs} +2 -2
- package/components/{index-D07V2c7z.cjs → index-CaVIv7B9.cjs} +1 -1
- package/components/index-CcDZIqpD.cjs +192 -0
- package/components/index-CcLRp9ao.js +1685 -0
- package/components/{index-DfTZDl-O.js → index-Ciad94jH.js} +3 -3
- package/components/index-CpGRysX_.js +691 -0
- package/components/{index-CTaPKPdt.cjs → index-CzRmB9z3.cjs} +1 -1
- package/components/index-DFHExzGq.cjs +20 -0
- package/components/{index-BHXq1-M1.cjs → index-DQbl3h5H.cjs} +1 -1
- package/components/index-GgkqKtE6.cjs +20 -0
- package/components/{index-BFPa6sJd.js → index-Jmmy73Aq.js} +1 -1
- package/components/{index-CoZF4QUN.js → index-UWOCtc0Y.js} +6 -6
- package/components/{index-CpQnVCVV.js → index-sCesmw8l.js} +4 -4
- package/components/index.cjs +1 -1
- package/components/index.js +25 -21
- package/components/item-list.cjs +1 -1
- package/components/item-list.js +267 -46
- package/components/item-menu/item-list/item-list.d.ts +2 -0
- package/components/{localized-decorator-DGnMToFa.js → localized-decorator-DNr1P1m0.js} +1 -1
- package/components/{localized-decorator-ClAOFk8M.cjs → localized-decorator-SOrjcPab.cjs} +1 -1
- package/components/luzmo-icons-DAsjNJNI.cjs +31 -0
- package/components/{luzmo-icons-CPucBq6e.js → luzmo-icons-DEoJcvoL.js} +146 -114
- package/components/{nl-CY0iO3Ch.js → nl-76jn_zMH.js} +7 -0
- package/components/nl-B50x7wMn.cjs +20 -0
- package/components/{pending-state-DTX7ggyF-B_9VbFxI.js → pending-state-DTX7ggyF-D1SvcIIz.js} +2 -2
- package/components/{pending-state-DTX7ggyF-C_go9EJh.cjs → pending-state-DTX7ggyF-DZzxjogp.cjs} +1 -1
- package/components/{periods.const-D2cMP5hH.js → periods.const-C89NNRX-.js} +1 -1
- package/components/{periods.const-BbgInj9J.cjs → periods.const-CfXsouLz.cjs} +1 -1
- package/components/{property-Dlf9S6Jz.cjs → property-BCb4Kybn.cjs} +7 -7
- package/components/{property-CxtZroGf.js → property-Dn4zSyxu.js} +46 -36
- package/components/query-all-CR2wWKRD.cjs +24 -0
- package/components/query-all-Ddzx2fEK.js +34 -0
- package/components/{set-locale-5FFfQpVQ.cjs → set-locale-Cam8nRIW.cjs} +1 -1
- package/components/{set-locale-DAGnJZD8.js → set-locale-DbEAMqUs.js} +1 -1
- package/components/{sized-mixin-ZTphZKLm.cjs → sized-mixin-BNtmplgF.cjs} +1 -1
- package/components/{sized-mixin-C7R5uRbF.js → sized-mixin-BR_Ii7le.js} +1 -1
- package/components/slot-menu/index.cjs +4 -4
- package/components/slot-menu/index.js +4 -4
- package/components/slot-menu-list/index.cjs +3 -7
- package/components/slot-menu-list/index.js +62 -73
- package/components/{state-CrfOw8Zp.cjs → state-BxZEcclm.cjs} +1 -1
- package/components/{state-BVYsk_HZ.js → state-vVJlsarL.js} +1 -1
- package/components/{task-DH8UFyxP.js → task-PQaVY8Iw.js} +1 -1
- package/components/{task-CdvrMX8r.cjs → task-qPJdeXO1.cjs} +1 -1
- package/components/utils.cjs +1 -1
- package/components/utils.js +56 -472
- package/custom-elements.json +491 -0
- package/index.d.ts +1 -0
- package/package.json +6 -1
- package/utils/filters/expressions.d.ts +1 -1
- package/utils/themes/bliss.d.ts +43 -0
- package/utils/themes/classic-dark.d.ts +34 -0
- package/utils/themes/classic.d.ts +43 -0
- package/utils/themes/default-dark.d.ts +46 -0
- package/utils/themes/default.d.ts +46 -0
- package/utils/themes/index.d.ts +121 -120
- package/utils/themes/orion.d.ts +44 -0
- package/utils/themes/pinky.d.ts +42 -0
- package/utils/themes/radiant.d.ts +42 -0
- package/utils/themes/royale.d.ts +36 -0
- package/utils/themes/seasonal.d.ts +43 -0
- package/utils/themes/urban.d.ts +44 -0
- package/utils/themes/vivid.d.ts +42 -0
- package/components/de-DcZysUyZ.cjs +0 -20
- package/components/es-CGiBfBKJ.cjs +0 -20
- package/components/fr-DZbYwMlh.cjs +0 -20
- package/components/index-B4EIbvuW.cjs +0 -192
- package/components/luzmo-icons-Nyf1P71v.cjs +0 -31
- package/components/nl-0V96M02q.cjs +0 -20
@@ -0,0 +1,192 @@
|
|
1
|
+
/*! * A kit of modern Luzmo Web Components for analytics in your web application.
|
2
|
+
*
|
3
|
+
* Copyright © 2025 Luzmo
|
4
|
+
* All rights reserved.
|
5
|
+
* Luzmo web components (“Luzmo Web Components”)
|
6
|
+
* must be used according to the Luzmo Terms of Service.
|
7
|
+
* This license allows users with a current active Luzmo account
|
8
|
+
* to use the Luzmo Web Components. This license terminates
|
9
|
+
* automatically if a user no longer has an active Luzmo account.
|
10
|
+
* Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
|
11
|
+
*
|
12
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
13
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
14
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
15
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
16
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
17
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
18
|
+
* SOFTWARE.
|
19
|
+
* */
|
20
|
+
"use strict";const f=require("./base-D76d76ww-tT6yr8eb.cjs"),H=require("./directive-helpers-Cm6gitnu-BeggOiwf.cjs"),Y=require("./if-defined-DOaE2coe-Cvlu5s9n.cjs"),Z=require("./element-resolution-FCUT-wql-DSTvdyds.cjs"),bt=require("./index-CAJRL5rT.cjs"),ft=require("./async-directive-BfcqVjDp-C8C45jl6.cjs");/*! * Lucero - The design system for Luzmo.
|
21
|
+
*
|
22
|
+
* Copyright © 2025 Luzmo
|
23
|
+
* All rights reserved.
|
24
|
+
* Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
|
25
|
+
* This license allows users with a current active Luzmo account to use Lucero.
|
26
|
+
* This license terminates automatically if a user no longer has an active Luzmo account.
|
27
|
+
* Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
|
28
|
+
*
|
29
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
30
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
31
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
32
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
33
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
34
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
35
|
+
* SOFTWARE.
|
36
|
+
* *//**
|
37
|
+
* @license
|
38
|
+
* Copyright 2018 Google LLC
|
39
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
40
|
+
*/const me="important",Se=" !"+me,Nt=H._(class extends H.${constructor(e){var t;if(super(e),e.type!==H.s.ATTRIBUTE||e.name!=="style"||((t=e.strings)==null?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce((t,n)=>{const o=e[n];return o==null?t:t+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${o};`},"")}update(e,[t]){const{style:n}=e.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(t)),this.render(t);for(const o of this.ft)t[o]==null&&(this.ft.delete(o),o.includes("-")?n.removeProperty(o):n[o]=null);for(const o in t){const i=t[o];if(i!=null){this.ft.add(o);const s=typeof i=="string"&&i.endsWith(Se);o.includes("-")||s?n.setProperty(o,s?i.slice(0,-11):i,s?me:""):n[o]=i}}return f.v}});/*! * Lucero - The design system for Luzmo.
|
41
|
+
*
|
42
|
+
* Copyright © 2025 Luzmo
|
43
|
+
* All rights reserved.
|
44
|
+
* Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
|
45
|
+
* This license allows users with a current active Luzmo account to use Lucero.
|
46
|
+
* This license terminates automatically if a user no longer has an active Luzmo account.
|
47
|
+
* Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
|
48
|
+
*
|
49
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
50
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
51
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
52
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
53
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
54
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
55
|
+
* SOFTWARE.
|
56
|
+
* */class It extends Event{constructor(t,n,o){super("slottable-request",{bubbles:!1,cancelable:!0,composed:!1}),this.name=t,this.data=n,this.slotName=o===void 0?t:`${t}.${o}`}}const wt=Symbol("remove-slottable-request");/*! * Lucero - The design system for Luzmo.
|
57
|
+
*
|
58
|
+
* Copyright © 2025 Luzmo
|
59
|
+
* All rights reserved.
|
60
|
+
* Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
|
61
|
+
* This license allows users with a current active Luzmo account to use Lucero.
|
62
|
+
* This license terminates automatically if a user no longer has an active Luzmo account.
|
63
|
+
* Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
|
64
|
+
*
|
65
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
66
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
67
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
68
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
69
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
70
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
71
|
+
* SOFTWARE.
|
72
|
+
* *//**
|
73
|
+
* @license
|
74
|
+
* Copyright 2021 Google LLC
|
75
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
76
|
+
*/function ge(e){return(t,n)=>{const{slot:o,selector:i}=e??{},s="slot"+(o?`[name=${o}]`:":not([name])");return f.o(t,n,{get(){var l;const r=(l=this.renderRoot)==null?void 0:l.querySelector(s),a=(r==null?void 0:r.assignedElements(e))??[];return i===void 0?a:a.filter(c=>c.matches(i))}})}}/*! * Lucero - The design system for Luzmo.
|
77
|
+
*
|
78
|
+
* Copyright © 2025 Luzmo
|
79
|
+
* All rights reserved.
|
80
|
+
* Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
|
81
|
+
* This license allows users with a current active Luzmo account to use Lucero.
|
82
|
+
* This license terminates automatically if a user no longer has an active Luzmo account.
|
83
|
+
* Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
|
84
|
+
*
|
85
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
86
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
87
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
88
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
89
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
90
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
91
|
+
* SOFTWARE.
|
92
|
+
* */function Re(e,t,n=[]){for(const[o,i]of t.entries()){const s=e[o],l=s.parentElement||s.getRootNode();n[o]&&n[o](i),l&&l!==s&&s.replaceWith(i),delete e[o]}return t}const Le=(e,t,{position:n,prepareCallback:o}={position:"beforeend"})=>{let{length:i}=e;if(i===0)return()=>e;let s=1,l=0;(n==="afterbegin"||n==="afterend")&&(s=-1,l=i-1);const r=new Array(i),a=new Array(i),c=document.createComment("placeholder for reparented element");do{const h=e[l];o&&(a[l]=o(h)),r[l]=c.cloneNode();const u=h.parentElement||h.getRootNode();u&&u!==h&&u.replaceChild(r[l],h),t.insertAdjacentElement(n,h),l+=s}while(--i>0);return function(){return Re(r,e,a)}},Ae=1e3,De=1e3;class $e{constructor(t={}){this.warmUpDelay=Ae,this.coolDownDelay=De,this.isWarm=!1,this.timeout=0,Object.assign(this,t)}openTimer(t){if(this.cancelCooldownTimer(),!this.component||t!==this.component)return this.component&&(this.close(this.component),this.cancelCooldownTimer()),this.component=t,this.isWarm?Promise.resolve(!1):(this.promise=new Promise(n=>{this.resolve=n,this.timeout=window.setTimeout(()=>{this.resolve&&(this.resolve(!1),this.isWarm=!0)},this.warmUpDelay)}),this.promise);if(this.promise)return this.promise;throw new Error("Inconsistent state")}close(t){this.component&&this.component===t&&(this.resetCooldownTimer(),this.timeout>0&&(clearTimeout(this.timeout),this.timeout=0),this.resolve&&(this.resolve(!0),delete this.resolve),delete this.promise,delete this.component)}resetCooldownTimer(){this.isWarm&&(this.cooldownTimeout&&window.clearTimeout(this.cooldownTimeout),this.cooldownTimeout=window.setTimeout(()=>{this.isWarm=!1,delete this.cooldownTimeout},this.coolDownDelay))}cancelCooldownTimer(){this.cooldownTimeout&&window.clearTimeout(this.cooldownTimeout),delete this.cooldownTimeout}}const ct=new $e,V=()=>{},xt=(e,t,n)=>{const o=new AbortController,i=new Map,s=()=>{o.abort(),n()};let l,r;const a=requestAnimationFrame(()=>{l=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{s()})})}),c=u=>{u.target===e&&(i.set(u.propertyName,i.get(u.propertyName)-1),i.get(u.propertyName)||i.delete(u.propertyName),i.size===0&&s())},h=u=>{u.target===e&&(i.has(u.propertyName)||i.set(u.propertyName,0),i.set(u.propertyName,i.get(u.propertyName)+1),cancelAnimationFrame(a),cancelAnimationFrame(l),cancelAnimationFrame(r))};e.addEventListener("transitionrun",h,{signal:o.signal}),e.addEventListener("transitionend",c,{signal:o.signal}),e.addEventListener("transitioncancel",c,{signal:o.signal}),t()};function k(){return new Promise(e=>requestAnimationFrame(()=>e()))}class Q extends f.It{constructor(){super(...arguments),this.dispose=V,this.offset=0,this.willPreventClose=!1}applyFocus(t,n){}get delayed(){return!1}set delayed(t){}get disabled(){return!1}set disabled(t){}get elementResolver(){return this._elementResolver}set elementResolver(t){this._elementResolver=t}ensureOnDOM(t){}makeTransition(t){return null}manageDelay(t){}manageDialogOpen(){}managePopoverOpen(){}managePosition(){}get open(){return!1}set open(t){}get placementController(){return this._placementController}set placementController(t){this._placementController=t}requestSlottable(){}returnFocus(){}get state(){return"closed"}set state(t){}manuallyKeepOpen(){}static update(){const t=new CustomEvent("luzmo-update-overlays",{bubbles:!0,composed:!0,cancelable:!0});document.dispatchEvent(t)}static async open(t,n,o,i){await Promise.resolve().then(()=>At);const s=arguments.length===2,l=o||t,r=new this;let a=!1;const c=Le([l],r,{position:"beforeend",prepareCallback:u=>{const p=u.slot;return u.removeAttribute("slot"),()=>{u.slot=p}}});if(r.dispose=()=>{r.addEventListener("luzmo-closed",()=>{a||(c(),a=!0),requestAnimationFrame(()=>{r.remove()})}),r.open=!1,r.dispose=V},!s&&l&&i){const u=t,p=n,d=i;return Q.applyOptions(r,{...d,delayed:d.delayed||l.hasAttribute("delayed"),trigger:d.virtualTrigger||u,type:p==="modal"?"modal":p==="hover"?"hint":"auto"}),u.after(r),await r.updateComplete,r.open=!0,r.dispose}const h=n;return r.append(l),Q.applyOptions(r,{...h,delayed:h.delayed||l.hasAttribute("delayed")}),r.updateComplete.then(()=>{r.open=!0}),r}static applyOptions(t,n){t.delayed=!!n.delayed,t.receivesFocus=n.receivesFocus??"auto",t.triggerElement=n.trigger||null,t.type=n.type||"modal",t.offset=n.offset??0,t.placement=n.placement,t.willPreventClose=!!n.notImmediatelyClosable}}const Mt=e=>e.querySelector(bt.t),Ut=e=>e.assignedElements().find(t=>t.matches(bt.t));class Wt extends Event{constructor(){super("beforetoggle",{bubbles:!1,composed:!1}),this.currentState="open",this.newState="closed"}}class jt extends Event{constructor(){super("beforetoggle",{bubbles:!1,composed:!1}),this.currentState="closed",this.newState="open"}}class $ extends Event{constructor(t,n,{publish:o,interaction:i,reason:s}){super(t,{bubbles:o,composed:o}),this.overlay=n,this.detail={interaction:i,reason:s}}}class ut{constructor(t,n){this.x=0,this.y=0,this.x=t,this.y=n}updateBoundingClientRect(t,n){this.x=t,this.y=n,Q.update()}getBoundingClientRect(){return{width:0,height:0,top:this.y,right:this.x,y:this.y,x:this.x,bottom:this.y,left:this.x,toJSON(){}}}}function Fe(e){class t extends e{async manageDialogOpen(){const o=this.open;if(await k(),await this.managePosition(),this.open!==o)return;const i=await this.dialogMakeTransition(o);this.open===o&&await this.dialogApplyFocus(o,i)}dialogMakeTransition(o){let i=null;const s=(r,a)=>()=>{if(r.open=o,!o){const h=()=>{r.removeEventListener("close",h)};r.addEventListener("close",h)}if(a>0)return;const c=o?jt:Wt;this.dispatchEvent(new c),o&&(r.matches(bt.t)&&(i=r),i=i||Mt(r),i||r.querySelectorAll("slot").forEach(h=>{i||(i=Ut(h))}),!(!this.isConnected||this.dialogEl.open)&&this.dialogEl.showModal())},l=(r,a)=>()=>{if(this.open!==o)return;const c=o?"luzmo-opened":"luzmo-closed";if(a>0){r.dispatchEvent(new $(c,this,{interaction:this.type,publish:!1}));return}if(!this.isConnected||o!==this.open)return;const h=async()=>{const u=this.triggerElement instanceof ut;this.dispatchEvent(new $(c,this,{interaction:this.type,publish:u})),r.dispatchEvent(new $(c,this,{interaction:this.type,publish:!1})),this.triggerElement&&!u&&this.triggerElement.dispatchEvent(new $(c,this,{interaction:this.type,publish:!0})),this.state=o?"opened":"closed",this.returnFocus(),await k(),await k(),o===this.open&&o===!1&&this.requestSlottable()};!o&&this.dialogEl.open?(this.dialogEl.addEventListener("close",()=>{h()},{once:!0}),this.dialogEl.close()):h()};return this.elements.forEach((r,a)=>{xt(r,s(r,a),l(r,a))}),i}dialogApplyFocus(o,i){this.applyFocus(o,i)}}return t}function qe(e){class t extends e{async managePopoverOpen(){await this.managePosition()}async manageDelay(o){if(o===!1||o!==this.open){ct.close(this);return}this.delayed&&await ct.openTimer(this)&&(this.open=!o)}ensureOnDOM(o){document.body.offsetHeight}makeTransition(o){if(this.open!==o)return null;let i=null;const s=(r,a)=>()=>{if(o===this.open){if(r.open=o,a===0){const c=o?jt:Wt;this.dispatchEvent(new c)}o!==!0||(r.matches(bt.t)&&(i=r),i=i||Mt(r),i)||r.querySelectorAll("slot").forEach(c=>{i||(i=Ut(c))})}},l=(r,a)=>async()=>{if(this.open!==o)return;const c=o?"luzmo-opened":"luzmo-closed";if(r.dispatchEvent(new $(c,this,{interaction:this.type})),a>0)return;const h=this.triggerElement instanceof ut;this.dispatchEvent(new $(c,this,{interaction:this.type,publish:h})),this.triggerElement&&!h&&this.triggerElement.dispatchEvent(new $(c,this,{interaction:this.type,publish:!0})),this.state=o?"opened":"closed",this.returnFocus(),await k(),await k(),o===this.open&&o===!1&&this.requestSlottable()};return this.elements.forEach((r,a)=>{xt(r,s(r,a),l(r,a))}),i}}return t}const Ne=CSS.supports("(overlay: auto)");function re(e){let t=!1;try{t=e.matches(":popover-open")}catch{}let n=!1;try{n=e.matches(":open")}catch{}return t||n}function Be(e){class t extends e{async manageDelay(o){if(o===!1||o!==this.open){ct.close(this);return}this.delayed&&await ct.openTimer(this)&&(this.open=!o)}shouldHidePopover(o){if(o&&this.open!==o)return;const i=async({newState:s}={})=>{s!=="open"&&await this.placementController.resetOverlayPosition()};if(!re(this.dialogEl)){i();return}this.dialogEl.addEventListener("toggle",i,{once:!0})}shouldShowPopover(o){let i=!1;try{i=this.dialogEl.matches(":popover-open")}catch{}let s=!1;try{s=this.dialogEl.matches(":open")}catch{}o&&this.open===o&&!i&&!s&&this.isConnected&&(this.dialogEl.showPopover(),this.managePosition())}async ensureOnDOM(o){Ne||await this.shouldHidePopover(o),this.shouldShowPopover(o),await k()}makeTransition(o){if(this.open!==o)return null;let i=null;const s=(r,a)=>()=>{if(r.open=o,a===0){const c=o?jt:Wt;this.dispatchEvent(new c)}!o||(r.matches(bt.t)&&(i=r),i=i||Mt(r),i)||r.querySelectorAll("slot").forEach(c=>{i||(i=Ut(c))})},l=(r,a)=>()=>{if(this.open!==o)return;const c=o?"luzmo-opened":"luzmo-closed";if(a>0){r.dispatchEvent(new $(c,this,{interaction:this.type,publish:!1}));return}const h=async()=>{if(this.open!==o)return;await k();const p=this.triggerElement instanceof ut;this.dispatchEvent(new $(c,this,{interaction:this.type,publish:p})),r.dispatchEvent(new $(c,this,{interaction:this.type,publish:!1})),this.triggerElement&&!p&&this.triggerElement.dispatchEvent(new $(c,this,{interaction:this.type,publish:!0})),this.state=o?"opened":"closed",this.returnFocus(),await k(),await k(),o===this.open&&o===!1&&this.requestSlottable()};if(this.open!==o)return;const u=re(this.dialogEl);o!==!0&&u&&this.isConnected?(this.dialogEl.addEventListener("beforetoggle",()=>{h()},{once:!0}),this.dialogEl.hidePopover()):h()};return this.elements.forEach((r,a)=>{xt(r,s(r,a),l(r,a))}),i}}return t}const _e="showPopover"in document.createElement("div");class He{constructor(){this.root=document.body,this.stack=[],this.handleScroll=t=>{t.target!==document&&t.target!==document.documentElement&&t.target!==document.body||this.stack.forEach(n=>{n.open&&(n.type==="auto"&&n.triggerElement instanceof HTMLElement&&n.triggerElement.closest("luzmo-picker, luzmo-select, luzmo-action-menu")&&t.stopPropagation(),document.dispatchEvent(new CustomEvent("luzmo-update-overlays",{bubbles:!0,composed:!0,cancelable:!0})))})},this.handlePointerdown=t=>{this.pointerdownPath=t.composedPath(),this.lastOverlay=this.stack.at(-1)},this.handlePointerup=()=>{const t=this.pointerdownPath;if(this.pointerdownPath=void 0,this.stack.length===0||!(t!=null&&t.length))return;const n=this.lastOverlay;this.lastOverlay=void 0;const o=this.stack.length-1,i=this.stack.filter((s,l)=>!t.find(r=>r===s||r===(s==null?void 0:s.triggerElement)&&(s==null?void 0:s.type)==="hint"||l===o&&s!==n&&s.triggerInteraction==="longpress")&&!s.shouldPreventClose()&&s.type!=="manual"&&!(s.type==="modal"&&n!==s));i.reverse(),i.forEach(s=>{this.closeOverlay(s);let l=s.parentOverlayToForceClose;for(;l;)this.closeOverlay(l),l=l.parentOverlayToForceClose})},this.handleBeforetoggle=t=>{const{target:n,newState:o}=t;o!=="open"&&this.closeOverlay(n)},this.handleKeydown=t=>{if(t.code!=="Escape"||this.stack.length===0)return;const n=this.stack.at(-1);if((n==null?void 0:n.type)==="page"){t.preventDefault();return}if((n==null?void 0:n.type)==="manual"){this.closeOverlay(n);return}_e||n&&this.closeOverlay(n)},this.bindEvents()}get document(){return this.root.ownerDocument||document}bindEvents(){this.document.addEventListener("pointerdown",this.handlePointerdown),this.document.addEventListener("pointerup",this.handlePointerup),this.document.addEventListener("keydown",this.handleKeydown),this.document.addEventListener("scroll",this.handleScroll,{capture:!0})}closeOverlay(t){const n=this.stack.indexOf(t);n!==-1&&this.stack.splice(n,1),t.open=!1}overlaysByTriggerElement(t){return this.stack.filter(n=>n.triggerElement===t)}add(t){if(this.stack.includes(t)){const n=this.stack.indexOf(t);n!==-1&&(this.stack.splice(n,1),this.stack.push(t));return}if(t.type==="auto"||t.type==="modal"||t.type==="page"){const n="luzmo-overlay-query-path",o=new Event(n,{composed:!0,bubbles:!0});t.addEventListener(n,i=>{const s=i.composedPath();this.stack.forEach(l=>{!s.find(r=>r===l)&&l.type!=="manual"&&l.type!=="modal"&&this.closeOverlay(l)})},{once:!0}),t.dispatchEvent(o)}else if(t.type==="hint"){if(this.stack.some(n=>n.type!=="manual"&&n.triggerElement&&n.triggerElement===t.triggerElement)){t.open=!1;return}this.stack.forEach(n=>{n.type==="hint"&&this.closeOverlay(n)})}requestAnimationFrame(()=>{this.stack.push(t),t.addEventListener("beforetoggle",this.handleBeforetoggle,{once:!0})})}remove(t){this.closeOverlay(t)}}const le=new He,Ie=':host{display:contents;pointer-events:none;--luzmo-overlay-animation-distance: .5rem}:host(:has(> luzmo-tooltip)){--luzmo-overlay-animation-distance: var( --luzmo-tooltip-animation-distance, 4px )}.dialog{margin:0;border:0;background:none;padding:0;position:fixed;overflow:visible;opacity:1!important;box-sizing:border-box;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);max-width:calc(100vw - 16px);height:auto;inset:auto;top:0;left:0;display:flex;--luzmo-overlay-open: true}.dialog:not([is-visible]){display:none}.dialog:focus{outline:none}dialog:modal{--luzmo-popover-filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, .15))}:host(:not([open])) .dialog{--luzmo-overlay-open: false}.dialog::backdrop{display:none}.dialog:before{position:absolute;top:-999em;right:-999em;bottom:-999em;left:-999em;content:"";pointer-events:auto!important}.dialog:not(.not-immediately-closable):before{display:none}.dialog>div{width:100%}::slotted(*){pointer-events:auto;visibility:visible!important}::slotted(luzmo-popover){position:static}.dialog:not([actual-placement])[placement*=top]{padding-block:var(--luzmo-overlay-animation-distance);margin-top:var(--luzmo-overlay-animation-distance)}.dialog:not([actual-placement])[placement*=right]{padding-inline:var(--luzmo-overlay-animation-distance);margin-left:calc(-1 * var(--luzmo-overlay-animation-distance))}.dialog:not([actual-placement])[placement*=bottom]{padding-block:var(--luzmo-overlay-animation-distance);margin-top:calc(-1 * var(--luzmo-overlay-animation-distance))}.dialog:not([actual-placement])[placement*=left]{padding-inline:var(--luzmo-overlay-animation-distance);margin-left:var(--luzmo-overlay-animation-distance)}.dialog[actual-placement*=top]{padding-block:var(--luzmo-overlay-animation-distance);margin-top:var(--luzmo-overlay-animation-distance)}.dialog[actual-placement*=right]{padding-inline:var(--luzmo-overlay-animation-distance);margin-left:calc(-1 * var(--luzmo-overlay-animation-distance))}.dialog[actual-placement*=bottom]{padding-block:var(--luzmo-overlay-animation-distance);margin-top:calc(-1 * var(--luzmo-overlay-animation-distance))}.dialog[actual-placement*=left]{padding-inline:var(--luzmo-overlay-animation-distance);margin-left:var(--luzmo-overlay-animation-distance)}slot[name=longpress-describedby-descriptor]{display:none}@supports selector(:open){.dialog{opacity:0}.dialog:open{opacity:1;--luzmo-popover-filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, .15))}}@supports selector(:popover-open){.dialog{opacity:0}.dialog:popover-open{opacity:1;--luzmo-popover-filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, .15))}}@supports (overlay: auto){.dialog{display:none;transition:all var(--luzmo-overlay-animation-duration, .13s),translate 0s,display var(--luzmo-overlay-animation-duration, .13s);transition-behavior:allow-discrete}.dialog:popover-open,.dialog:modal{display:flex}}@supports (not selector(:open)) and (not selector(:popover-open)){:host:not([open]) .dialog{pointer-events:none}.dialog[actual-placement]{z-index:calc(var(--luzmo-overlay-z-index-base, 1000) + var(--luzmo-overlay-open-count))}}',tt=Math.min,R=Math.max,St=Math.round,Ot=Math.floor,I=e=>({x:e,y:e}),Me={left:"right",right:"left",bottom:"top",top:"bottom"},Ue={start:"end",end:"start"};function Bt(e,t,n){return R(e,tt(t,n))}function dt(e,t){return typeof e=="function"?e(t):e}function et(e){return e.split("-")[0]}function pt(e){return e.split("-")[1]}function fe(e){return e==="x"?"y":"x"}function Vt(e){return e==="y"?"height":"width"}function it(e){return["top","bottom"].includes(et(e))?"y":"x"}function Kt(e){return fe(it(e))}function We(e,t,n){n===void 0&&(n=!1);const o=pt(e),i=Kt(e),s=Vt(i);let l=i==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(l=Rt(l)),[l,Rt(l)]}function je(e){const t=Rt(e);return[_t(e),t,_t(t)]}function _t(e){return e.replace(/start|end/g,t=>Ue[t])}function Ve(e,t,n){const o=["left","right"],i=["right","left"],s=["top","bottom"],l=["bottom","top"];switch(e){case"top":case"bottom":return n?t?i:o:t?o:i;case"left":case"right":return t?s:l;default:return[]}}function Ke(e,t,n,o){const i=pt(e);let s=Ve(et(e),n==="start",o);return i&&(s=s.map(l=>l+"-"+i),t&&(s=s.concat(s.map(_t)))),s}function Rt(e){return e.replace(/left|right|bottom|top/g,t=>Me[t])}function Ge(e){return{top:0,right:0,bottom:0,left:0,...e}}function ve(e){return typeof e!="number"?Ge(e):{top:e,right:e,bottom:e,left:e}}function Lt(e){const{x:t,y:n,width:o,height:i}=e;return{width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}function ae(e,t,n){let{reference:o,floating:i}=e;const s=it(t),l=Kt(t),r=Vt(l),a=et(t),c=s==="y",h=o.x+o.width/2-i.width/2,u=o.y+o.height/2-i.height/2,p=o[r]/2-i[r]/2;let d;switch(a){case"top":d={x:h,y:o.y-i.height};break;case"bottom":d={x:h,y:o.y+o.height};break;case"right":d={x:o.x+o.width,y:u};break;case"left":d={x:o.x-i.width,y:u};break;default:d={x:o.x,y:o.y}}switch(pt(t)){case"start":d[l]-=p*(n&&c?-1:1);break;case"end":d[l]+=p*(n&&c?-1:1);break}return d}const Xe=async(e,t,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:s=[],platform:l}=n,r=s.filter(Boolean),a=await(l.isRTL==null?void 0:l.isRTL(t));let c=await l.getElementRects({reference:e,floating:t,strategy:i}),{x:h,y:u}=ae(c,o,a),p=o,d={},m=0;for(let g=0;g<r.length;g++){const{name:v,fn:y}=r[g],{x:b,y:w,data:x,reset:z}=await y({x:h,y:u,initialPlacement:o,placement:p,strategy:i,middlewareData:d,rects:c,platform:l,elements:{reference:e,floating:t}});h=b??h,u=w??u,d={...d,[v]:{...d[v],...x}},z&&m<=50&&(m++,typeof z=="object"&&(z.placement&&(p=z.placement),z.rects&&(c=z.rects===!0?await l.getElementRects({reference:e,floating:t,strategy:i}):z.rects),{x:h,y:u}=ae(c,p,a)),g=-1)}return{x:h,y:u,placement:p,strategy:i,middlewareData:d}};async function Gt(e,t){var n;t===void 0&&(t={});const{x:o,y:i,platform:s,rects:l,elements:r,strategy:a}=e,{boundary:c="clippingAncestors",rootBoundary:h="viewport",elementContext:u="floating",altBoundary:p=!1,padding:d=0}=dt(t,e),m=ve(d),g=r[p?u==="floating"?"reference":"floating":u],v=Lt(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(g)))==null||n?g:g.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(r.floating)),boundary:c,rootBoundary:h,strategy:a})),y=u==="floating"?{x:o,y:i,width:l.floating.width,height:l.floating.height}:l.reference,b=await(s.getOffsetParent==null?void 0:s.getOffsetParent(r.floating)),w=await(s.isElement==null?void 0:s.isElement(b))?await(s.getScale==null?void 0:s.getScale(b))||{x:1,y:1}:{x:1,y:1},x=Lt(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:r,rect:y,offsetParent:b,strategy:a}):y);return{top:(v.top-x.top+m.top)/w.y,bottom:(x.bottom-v.bottom+m.bottom)/w.y,left:(v.left-x.left+m.left)/w.x,right:(x.right-v.right+m.right)/w.x}}const Je=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:i,rects:s,platform:l,elements:r,middlewareData:a}=t,{element:c,padding:h=0}=dt(e,t)||{};if(c==null)return{};const u=ve(h),p={x:n,y:o},d=Kt(i),m=Vt(d),g=await l.getDimensions(c),v=d==="y",y=v?"top":"left",b=v?"bottom":"right",w=v?"clientHeight":"clientWidth",x=s.reference[m]+s.reference[d]-p[d]-s.floating[m],z=p[d]-s.reference[d],S=await(l.getOffsetParent==null?void 0:l.getOffsetParent(c));let A=S?S[w]:0;(!A||!await(l.isElement==null?void 0:l.isElement(S)))&&(A=r.floating[w]||s.floating[m]);const W=x/2-z/2,N=A/2-g[m]/2-1,D=tt(u[y],N),K=tt(u[b],N),B=D,G=A-g[m]-K,O=A/2-g[m]/2+W,rt=Bt(B,O,G),j=!a.arrow&&pt(i)!=null&&O!==rt&&s.reference[m]/2-(O<B?D:K)-g[m]/2<0,_=j?O<B?O-B:O-G:0;return{[d]:p[d]+_,data:{[d]:rt,centerOffset:O-rt-_,...j&&{alignmentOffset:_}},reset:j}}}),Ye=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:i,middlewareData:s,rects:l,initialPlacement:r,platform:a,elements:c}=t,{mainAxis:h=!0,crossAxis:u=!0,fallbackPlacements:p,fallbackStrategy:d="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:g=!0,...v}=dt(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const y=et(i),b=it(r),w=et(r)===r,x=await(a.isRTL==null?void 0:a.isRTL(c.floating)),z=p||(w||!g?[Rt(r)]:je(r)),S=m!=="none";!p&&S&&z.push(...Ke(r,g,m,x));const A=[r,...z],W=await Gt(t,v),N=[];let D=((o=s.flip)==null?void 0:o.overflows)||[];if(h&&N.push(W[y]),u){const O=We(i,l,x);N.push(W[O[0]],W[O[1]])}if(D=[...D,{placement:i,overflows:N}],!N.every(O=>O<=0)){var K,B;const O=(((K=s.flip)==null?void 0:K.index)||0)+1,rt=A[O];if(rt)return{data:{index:O,overflows:D},reset:{placement:rt}};let j=(B=D.filter(_=>_.overflows[0]<=0).sort((_,X)=>_.overflows[1]-X.overflows[1])[0])==null?void 0:B.placement;if(!j)switch(d){case"bestFit":{var G;const _=(G=D.filter(X=>{if(S){const J=it(X.placement);return J===b||J==="y"}return!0}).map(X=>[X.placement,X.overflows.filter(J=>J>0).reduce((J,ke)=>J+ke,0)]).sort((X,J)=>X[1]-J[1])[0])==null?void 0:G[0];_&&(j=_);break}case"initialPlacement":j=r;break}if(i!==j)return{reset:{placement:j}}}return{}}}};async function Ze(e,t){const{placement:n,platform:o,elements:i}=e,s=await(o.isRTL==null?void 0:o.isRTL(i.floating)),l=et(n),r=pt(n),a=it(n)==="y",c=["left","top"].includes(l)?-1:1,h=s&&a?-1:1,u=dt(t,e);let{mainAxis:p,crossAxis:d,alignmentAxis:m}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return r&&typeof m=="number"&&(d=r==="end"?m*-1:m),a?{x:d*h,y:p*c}:{x:p*c,y:d*h}}const Qe=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:i,y:s,placement:l,middlewareData:r}=t,a=await Ze(t,e);return l===((n=r.offset)==null?void 0:n.placement)&&(o=r.arrow)!=null&&o.alignmentOffset?{}:{x:i+a.x,y:s+a.y,data:{...a,placement:l}}}}},to=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:s=!0,crossAxis:l=!1,limiter:r={fn:v=>{let{x:y,y:b}=v;return{x:y,y:b}}},...a}=dt(e,t),c={x:n,y:o},h=await Gt(t,a),u=it(et(i)),p=fe(u);let d=c[p],m=c[u];if(s){const v=p==="y"?"top":"left",y=p==="y"?"bottom":"right",b=d+h[v],w=d-h[y];d=Bt(b,d,w)}if(l){const v=u==="y"?"top":"left",y=u==="y"?"bottom":"right",b=m+h[v],w=m-h[y];m=Bt(b,m,w)}const g=r.fn({...t,[p]:d,[u]:m});return{...g,data:{x:g.x-n,y:g.y-o,enabled:{[p]:s,[u]:l}}}}}},eo=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:i,rects:s,platform:l,elements:r}=t,{apply:a=()=>{},...c}=dt(e,t),h=await Gt(t,c),u=et(i),p=pt(i),d=it(i)==="y",{width:m,height:g}=s.floating;let v,y;u==="top"||u==="bottom"?(v=u,y=p===(await(l.isRTL==null?void 0:l.isRTL(r.floating))?"start":"end")?"left":"right"):(y=u,v=p==="end"?"top":"bottom");const b=g-h.top-h.bottom,w=m-h.left-h.right,x=tt(g-h[v],b),z=tt(m-h[y],w),S=!t.middlewareData.shift;let A=x,W=z;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(W=w),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(A=b),S&&!p){const D=R(h.left,0),K=R(h.right,0),B=R(h.top,0),G=R(h.bottom,0);d?W=m-2*(D!==0||K!==0?D+K:R(h.left,h.right)):A=g-2*(B!==0||G!==0?B+G:R(h.top,h.bottom))}await a({...t,availableWidth:W,availableHeight:A});const N=await l.getDimensions(r.floating);return m!==N.width||g!==N.height?{reset:{rects:!0}}:{}}}};function Dt(){return typeof window<"u"}function mt(e){return ye(e)?(e.nodeName||"").toLowerCase():"#document"}function L(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function U(e){var t;return(t=(ye(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function ye(e){return Dt()?e instanceof Node||e instanceof L(e).Node:!1}function F(e){return Dt()?e instanceof Element||e instanceof L(e).Element:!1}function M(e){return Dt()?e instanceof HTMLElement||e instanceof L(e).HTMLElement:!1}function ce(e){return!Dt()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof L(e).ShadowRoot}function Et(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=q(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(i)}function oo(e){return["table","td","th"].includes(mt(e))}function $t(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function Xt(e){const t=Jt(),n=F(e)?q(e):e;return["transform","translate","scale","rotate","perspective"].some(o=>n[o]?n[o]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(o=>(n.willChange||"").includes(o))||["paint","layout","strict","content"].some(o=>(n.contain||"").includes(o))}function no(e){let t=ot(e);for(;M(t)&&!ht(t);){if(Xt(t))return t;if($t(t))return null;t=ot(t)}return null}function Jt(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function ht(e){return["html","body","#document"].includes(mt(e))}function q(e){return L(e).getComputedStyle(e)}function Ft(e){return F(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ot(e){if(mt(e)==="html")return e;const t=e.assignedSlot||e.parentNode||ce(e)&&e.host||U(e);return ce(t)?t.host:t}function be(e){const t=ot(e);return ht(t)?e.ownerDocument?e.ownerDocument.body:e.body:M(t)&&Et(t)?t:be(t)}function vt(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const i=be(e),s=i===((o=e.ownerDocument)==null?void 0:o.body),l=L(i);if(s){const r=Ht(l);return t.concat(l,l.visualViewport||[],Et(i)?i:[],r&&n?vt(r):[])}return t.concat(i,vt(i,[],n))}function Ht(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function we(e){const t=q(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=M(e),s=i?e.offsetWidth:n,l=i?e.offsetHeight:o,r=St(n)!==s||St(o)!==l;return r&&(n=s,o=l),{width:n,height:o,$:r}}function Yt(e){return F(e)?e:e.contextElement}function at(e){const t=Yt(e);if(!M(t))return I(1);const n=t.getBoundingClientRect(),{width:o,height:i,$:s}=we(t);let l=(s?St(n.width):n.width)/o,r=(s?St(n.height):n.height)/i;return(!l||!Number.isFinite(l))&&(l=1),(!r||!Number.isFinite(r))&&(r=1),{x:l,y:r}}const io=I(0);function xe(e){const t=L(e);return!Jt()||!t.visualViewport?io:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function so(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==L(e)?!1:t}function st(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const i=e.getBoundingClientRect(),s=Yt(e);let l=I(1);t&&(o?F(o)&&(l=at(o)):l=at(e));const r=so(s,n,o)?xe(s):I(0);let a=(i.left+r.x)/l.x,c=(i.top+r.y)/l.y,h=i.width/l.x,u=i.height/l.y;if(s){const p=L(s),d=o&&F(o)?L(o):o;let m=p,g=Ht(m);for(;g&&o&&d!==m;){const v=at(g),y=g.getBoundingClientRect(),b=q(g),w=y.left+(g.clientLeft+parseFloat(b.paddingLeft))*v.x,x=y.top+(g.clientTop+parseFloat(b.paddingTop))*v.y;a*=v.x,c*=v.y,h*=v.x,u*=v.y,a+=w,c+=x,m=L(g),g=Ht(m)}}return Lt({width:h,height:u,x:a,y:c})}function Zt(e,t){const n=Ft(e).scrollLeft;return t?t.left+n:st(U(e)).left+n}function Ee(e,t,n){n===void 0&&(n=!1);const o=e.getBoundingClientRect(),i=o.left+t.scrollLeft-(n?0:Zt(e,o)),s=o.top+t.scrollTop;return{x:i,y:s}}function ro(e){let{elements:t,rect:n,offsetParent:o,strategy:i}=e;const s=i==="fixed",l=U(o),r=t?$t(t.floating):!1;if(o===l||r&&s)return n;let a={scrollLeft:0,scrollTop:0},c=I(1);const h=I(0),u=M(o);if((u||!u&&!s)&&((mt(o)!=="body"||Et(l))&&(a=Ft(o)),M(o))){const d=st(o);c=at(o),h.x=d.x+o.clientLeft,h.y=d.y+o.clientTop}const p=l&&!u&&!s?Ee(l,a,!0):I(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-a.scrollLeft*c.x+h.x+p.x,y:n.y*c.y-a.scrollTop*c.y+h.y+p.y}}function lo(e){return Array.from(e.getClientRects())}function ao(e){const t=U(e),n=Ft(e),o=e.ownerDocument.body,i=R(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),s=R(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let l=-n.scrollLeft+Zt(e);const r=-n.scrollTop;return q(o).direction==="rtl"&&(l+=R(t.clientWidth,o.clientWidth)-i),{width:i,height:s,x:l,y:r}}function co(e,t){const n=L(e),o=U(e),i=n.visualViewport;let s=o.clientWidth,l=o.clientHeight,r=0,a=0;if(i){s=i.width,l=i.height;const c=Jt();(!c||c&&t==="fixed")&&(r=i.offsetLeft,a=i.offsetTop)}return{width:s,height:l,x:r,y:a}}function ho(e,t){const n=st(e,!0,t==="fixed"),o=n.top+e.clientTop,i=n.left+e.clientLeft,s=M(e)?at(e):I(1),l=e.clientWidth*s.x,r=e.clientHeight*s.y,a=i*s.x,c=o*s.y;return{width:l,height:r,x:a,y:c}}function he(e,t,n){let o;if(t==="viewport")o=co(e,n);else if(t==="document")o=ao(U(e));else if(F(t))o=ho(t,n);else{const i=xe(e);o={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return Lt(o)}function ze(e,t){const n=ot(e);return n===t||!F(n)||ht(n)?!1:q(n).position==="fixed"||ze(n,t)}function uo(e,t){const n=t.get(e);if(n)return n;let o=vt(e,[],!1).filter(r=>F(r)&&mt(r)!=="body"),i=null;const s=q(e).position==="fixed";let l=s?ot(e):e;for(;F(l)&&!ht(l);){const r=q(l),a=Xt(l);!a&&r.position==="fixed"&&(i=null),(s?!a&&!i:!a&&r.position==="static"&&i&&["absolute","fixed"].includes(i.position)||Et(l)&&!a&&ze(e,l))?o=o.filter(c=>c!==l):i=r,l=ot(l)}return t.set(e,o),o}function po(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const s=[...n==="clippingAncestors"?$t(t)?[]:uo(t,this._c):[].concat(n),o],l=s[0],r=s.reduce((a,c)=>{const h=he(t,c,i);return a.top=R(h.top,a.top),a.right=tt(h.right,a.right),a.bottom=tt(h.bottom,a.bottom),a.left=R(h.left,a.left),a},he(t,l,i));return{width:r.right-r.left,height:r.bottom-r.top,x:r.left,y:r.top}}function mo(e){const{width:t,height:n}=we(e);return{width:t,height:n}}function go(e,t,n){const o=M(t),i=U(t),s=n==="fixed",l=st(e,!0,s,t);let r={scrollLeft:0,scrollTop:0};const a=I(0);if(o||!o&&!s)if((mt(t)!=="body"||Et(i))&&(r=Ft(t)),o){const p=st(t,!0,s,t);a.x=p.x+t.clientLeft,a.y=p.y+t.clientTop}else i&&(a.x=Zt(i));const c=i&&!o&&!s?Ee(i,r):I(0),h=l.left+r.scrollLeft-a.x-c.x,u=l.top+r.scrollTop-a.y-c.y;return{x:h,y:u,width:l.width,height:l.height}}function qt(e){return q(e).position==="static"}function ue(e,t){if(!M(e)||q(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return U(e)===n&&(n=n.ownerDocument.body),n}function Ce(e,t){const n=L(e);if($t(e))return n;if(!M(e)){let i=ot(e);for(;i&&!ht(i);){if(F(i)&&!qt(i))return i;i=ot(i)}return n}let o=ue(e,t);for(;o&&oo(o)&&qt(o);)o=ue(o,t);return o&&ht(o)&&qt(o)&&!Xt(o)?n:o||no(e)||n}const fo=async function(e){const t=this.getOffsetParent||Ce,n=this.getDimensions,o=await n(e.floating);return{reference:go(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function vo(e){return q(e).direction==="rtl"}const yo={convertOffsetParentRelativeRectToViewportRelativeRect:ro,getDocumentElement:U,getClippingRect:po,getOffsetParent:Ce,getElementRects:fo,getClientRects:lo,getDimensions:mo,getScale:at,isElement:F,isRTL:vo};function Oe(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function bo(e,t){let n=null,o;const i=U(e);function s(){var r;clearTimeout(o),(r=n)==null||r.disconnect(),n=null}function l(r,a){r===void 0&&(r=!1),a===void 0&&(a=1),s();const c=e.getBoundingClientRect(),{left:h,top:u,width:p,height:d}=c;if(r||t(),!p||!d)return;const m=Ot(u),g=Ot(i.clientWidth-(h+p)),v=Ot(i.clientHeight-(u+d)),y=Ot(h),b={rootMargin:-m+"px "+-g+"px "+-v+"px "+-y+"px",threshold:R(0,tt(1,a))||1};let w=!0;function x(z){const S=z[0].intersectionRatio;if(S!==a){if(!w)return l();S?l(!1,S):o=setTimeout(()=>{l(!1,1e-7)},1e3)}S===1&&!Oe(c,e.getBoundingClientRect())&&l(),w=!1}try{n=new IntersectionObserver(x,{...b,root:i.ownerDocument})}catch{n=new IntersectionObserver(x,b)}n.observe(e)}return l(!0),s}function de(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:r=typeof IntersectionObserver=="function",animationFrame:a=!1}=o,c=Yt(e),h=i||s?[...c?vt(c):[],...vt(t)]:[];h.forEach(y=>{i&&y.addEventListener("scroll",n,{passive:!0}),s&&y.addEventListener("resize",n)});const u=c&&r?bo(c,n):null;let p=-1,d=null;l&&(d=new ResizeObserver(y=>{let[b]=y;b&&b.target===c&&d&&(d.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var w;(w=d)==null||w.observe(t)})),n()}),c&&!a&&d.observe(c),d.observe(t));let m,g=a?st(e):null;a&&v();function v(){const y=st(e);g&&!Oe(g,y)&&n(),g=y,m=requestAnimationFrame(v)}return n(),()=>{var y;h.forEach(b=>{i&&b.removeEventListener("scroll",n),s&&b.removeEventListener("resize",n)}),u==null||u(),(y=d)==null||y.disconnect(),d=null,a&&cancelAnimationFrame(m)}}const wo=Qe,xo=to,pe=Ye,Eo=eo,zo=Je,Co=(e,t,n)=>{const o=new Map,i={platform:yo,...n},s={...i.platform,_c:o};return Xe(e,t,{...i,platform:s})};function Pt(e){if(e===void 0)return 0;const t=window.devicePixelRatio||1;return Math.round(e*t)/t}const Tt=8,Oo=100,Po=e=>({left:["right","bottom","top"],"left-start":["right-start","bottom","top"],"left-end":["right-end","bottom","top"],right:["left","bottom","top"],"right-start":["left-start","bottom","top"],"right-end":["left-end","bottom","top"],top:["bottom","left","right"],"top-start":["bottom-start","left","right"],"top-end":["bottom-end","left","right"],bottom:["top","left","right"],"bottom-start":["top-start","left","right"],"bottom-end":["top-end","left","right"]})[e]??[e],Pe=Symbol("placement updated");class Qt{constructor(t){this.originalPlacements=new WeakMap,this.allowPlacementUpdate=!1,this.closeForAncestorUpdate=()=>{!this.allowPlacementUpdate&&this.options.type!=="modal"&&this.cleanup&&this.target.dispatchEvent(new Event("close",{bubbles:!0})),this.allowPlacementUpdate=!1},this.updatePlacement=()=>{this.computePlacement()},this.resetOverlayPosition=()=>{!this.target||!this.options||(this.clearOverlayPosition(),this.host.offsetHeight,this.computePlacement())},this.host=t,this.host.addController(this)}placeOverlay(t=this.target,n=this.options){if(this.target=t,this.options=n,!t||!n)return;const o=de(n.trigger,t,this.closeForAncestorUpdate,{ancestorResize:!1,elementResize:!1,layoutShift:!1}),i=de(n.trigger,t,this.updatePlacement,{ancestorScroll:!1});this.cleanup=()=>{var s;(s=this.host.elements)==null||s.forEach(l=>{l.addEventListener("luzmo-closed",()=>{const r=this.originalPlacements.get(l);r&&l.setAttribute("placement",r),this.originalPlacements.delete(l)},{once:!0})}),o(),i()}}async computePlacement(){var t,n;const{options:o,target:i}=this;await(document.fonts?document.fonts.ready:Promise.resolve());const s=o.trigger instanceof HTMLElement?pe():pe({padding:Tt,fallbackPlacements:Po(o.placement)}),[l=0,r=0]=Array.isArray(o==null?void 0:o.offset)?o.offset:[o.offset,0],a=(t=this.host.elements.find(m=>m.tipElement))==null?void 0:t.tipElement,c=[wo({mainAxis:l,crossAxis:r}),xo({padding:Tt}),s,Eo({padding:Tt,apply:({availableWidth:m,availableHeight:g,rects:{floating:v}})=>{const y=Math.max(Oo,Math.floor(g)),b=v.height;this.initialHeight=this.isConstrained&&this.initialHeight||b,this.isConstrained=b<this.initialHeight||y<=b;const w=this.isConstrained?`${y}px`:"";Object.assign(i.style,{maxWidth:`${Math.floor(m)}px`,maxHeight:w})}}),...a?[zo({element:a,padding:o.tipPadding||Tt})]:[]],{x:h,y:u,placement:p,middlewareData:d}=await Co(o.trigger,i,{placement:o.placement,middleware:c,strategy:"fixed"});if(Object.assign(i.style,{top:"0px",left:"0px",translate:`${Pt(h)}px ${Pt(u)}px`}),i.setAttribute("actual-placement",p),(n=this.host.elements)==null||n.forEach(m=>{this.originalPlacements.has(m)||this.originalPlacements.set(m,m.getAttribute("placement")),m.setAttribute("placement",p)}),a&&d.arrow){const{x:m,y:g}=d.arrow;Object.assign(a.style,{top:p.startsWith("right")||p.startsWith("left")?"0px":"",left:p.startsWith("bottom")||p.startsWith("top")?"0px":"",translate:`${Pt(m)}px ${Pt(g)}px`})}}clearOverlayPosition(){this.target&&(this.target.style.removeProperty("max-height"),this.target.style.removeProperty("max-width"),this.initialHeight=void 0,this.isConstrained=!1)}hostConnected(){document.addEventListener("luzmo-update-overlays",this.resetOverlayPosition)}hostUpdated(){var t;this.host.open||((t=this.cleanup)==null||t.call(this),this.cleanup=void 0)}hostDisconnected(){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0,document.removeEventListener("luzmo-update-overlays",this.resetOverlayPosition)}}var nt=(e=>(e.click="click",e.hover="hover",e.longpress="longpress",e))(nt||{});const yt=Symbol("lastInteractionType"),gt="remove-focus-ring-safari-hack";class zt{constructor(t,{overlay:n,isPersistent:o,handleOverlayReady:i}){this.target=t,this.isLazilyOpen=!1,this.isPersistent=!1,this.isPersistent=!!o,this.handleOverlayReady=i,this.isPersistent&&this.init(),this.overlay=n}get activelyOpening(){return!1}get open(){var t;return((t=this.overlay)==null?void 0:t.open)??this.isLazilyOpen}set open(t){if(t!==this.open){if(this.isLazilyOpen=t,this.overlay){this.overlay.open=t,this.target[yt]=this.type;return}t&&(customElements.whenDefined("luzmo-overlay").then(async()=>{const{LuzmoOverlay:n}=await Promise.resolve().then(()=>At);this.overlay=new n,this.overlay.open=!0,this.target[yt]=this.type}),Promise.resolve().then(()=>At))}}get overlay(){return this._overlay}set overlay(t){var n;t&&this.overlay!==t&&(this.overlay&&this.overlay.removeController(this),this._overlay=t,this.overlay.addController(this),this.initOverlay(),this.prepareDescription(this.target),(n=this.handleOverlayReady)==null||n.call(this,this.overlay))}prepareDescription(t){}releaseDescription(){}shouldCompleteOpen(){}init(){}initOverlay(){}abort(){var t;this.releaseDescription(),(t=this.abortController)==null||t.abort()}hostConnected(){this.init()}hostDisconnected(){this.isPersistent||this.abort()}}class te extends zt{constructor(){super(...arguments),this.type=nt.click,this.preventNextToggle=!1}handleClick(){this.preventNextToggle||(this.open=!this.open),this.preventNextToggle=!1}handlePointerdown(){this.preventNextToggle=this.open}init(){var t;(t=this.abortController)==null||t.abort(),this.abortController=new AbortController;const{signal:n}=this.abortController;this.target.addEventListener("click",()=>this.handleClick(),{signal:n}),this.target.addEventListener("pointerdown",()=>this.handlePointerdown(),{signal:n})}}const To=300;class ee extends zt{constructor(){super(...arguments),this.type=nt.hover,this.elementIds=[],this.focusedin=!1,this.pointerentered=!1}handleKeyup(t){(t.code==="Tab"||t.code==="Escape")&&(this.open=!0,this.removeSafariFocusRingClass())}handleTargetFocusin(){if(this.target.matches(":focus-visible")){if(ft.c()&&this.target[yt]===nt.click){this.target.classList.add(gt);return}this.open=!0,this.focusedin=!0,this.removeSafariFocusRingClass()}}handleTargetFocusout(){this.removeSafariFocusRingClass(),this.focusedin=!1,!this.pointerentered&&(this.open=!1)}handleTargetPointerenter(){var t;this.hoverTimeout&&(clearTimeout(this.hoverTimeout),this.hoverTimeout=void 0),!((t=this.overlay)!=null&&t.disabled)&&(this.open=!0,this.pointerentered=!0)}handleTargetPointerleave(){this.doPointerleave()}handleHostPointerenter(){this.hoverTimeout&&(clearTimeout(this.hoverTimeout),this.hoverTimeout=void 0)}handleHostPointerleave(){this.doPointerleave()}prepareDescription(){if(this.overlay.elements.length===0)return;const t=this.target.getRootNode(),n=this.overlay.elements[0].getRootNode(),o=this.overlay.getRootNode();t===o?this.prepareOverlayRelativeDescription():t===n&&this.prepareContentRelativeDescription()}prepareOverlayRelativeDescription(){const t=Z.u(this.target,"aria-describedby",[this.overlay.id]);this.releaseDescription=()=>{t(),this.releaseDescription=V}}prepareContentRelativeDescription(){const t=[],n=this.overlay.elements.map(i=>(t.push(i.id),i.id||(i.id=`${this.overlay.tagName.toLowerCase()}-helper-${Z.n()}`),i.id));this.elementIds=t;const o=Z.u(this.target,"aria-describedby",n);this.releaseDescription=()=>{o(),this.overlay.elements.map((i,s)=>{i.id=this.elementIds[s]}),this.releaseDescription=V}}doPointerleave(){this.pointerentered=!1;const t=this.target;this.focusedin&&t.matches(":focus-visible")||(this.hoverTimeout=setTimeout(()=>{this.open=!1},To))}init(){var t;(t=this.abortController)==null||t.abort(),this.abortController=new AbortController;const{signal:n}=this.abortController;this.target.addEventListener("keyup",o=>this.handleKeyup(o),{signal:n}),this.target.addEventListener("focusin",()=>this.handleTargetFocusin(),{signal:n}),this.target.addEventListener("focusout",()=>this.handleTargetFocusout(),{signal:n}),this.target.addEventListener("pointerenter",()=>this.handleTargetPointerenter(),{signal:n}),this.target.addEventListener("pointerleave",()=>this.handleTargetPointerleave(),{signal:n}),this.overlay&&this.initOverlay()}initOverlay(){if(!this.abortController)return;const{signal:t}=this.abortController;this.overlay.addEventListener("pointerenter",()=>this.handleHostPointerenter(),{signal:t}),this.overlay.addEventListener("pointerleave",()=>this.handleHostPointerleave(),{signal:t})}removeSafariFocusRingClass(){ft.c()&&this.target.classList.contains(gt)&&this.target.classList.remove(gt)}}const ko=300,oe={touch:"Double tap and long press for additional options",keyboard:"Press Space or Alt+Down Arrow for additional options",mouse:"Click and hold for additional options"};class ne extends zt{constructor(){super(...arguments),this.type=nt.longpress,this.longpressState=null,this.releaseDescription=V,this.handlePointerup=()=>{var t;clearTimeout(this.timeout),this.target&&(this.longpressState=((t=this.overlay)==null?void 0:t.state)==="opening"?"pressed":null,document.removeEventListener("pointerup",this.handlePointerup),document.removeEventListener("pointercancel",this.handlePointerup))}}get activelyOpening(){return this.longpressState==="opening"||this.longpressState==="pressed"}handleLongpress(){this.open=!0,this.longpressState=this.longpressState==="potential"?"opening":"pressed"}handlePointerdown(t){!this.target||t.button!==0||(this.longpressState="potential",document.addEventListener("pointerup",this.handlePointerup),document.addEventListener("pointercancel",this.handlePointerup),"holdAffordance"in this.target)||(this.timeout=setTimeout(()=>{this.target&&this.target.dispatchEvent(new CustomEvent("longpress",{bubbles:!0,composed:!0,detail:{source:"pointer"}}))},ko))}handleKeydown(t){const{code:n,altKey:o}=t;o&&n==="ArrowDown"&&(t.stopPropagation(),t.stopImmediatePropagation())}handleKeyup(t){const{code:n,altKey:o}=t;if(n==="Space"||o&&n==="ArrowDown"){if(!this.target)return;t.stopPropagation(),this.target.dispatchEvent(new CustomEvent("longpress",{bubbles:!0,composed:!0,detail:{source:"keyboard"}})),setTimeout(()=>{this.longpressState=null})}}prepareDescription(t){if(this.releaseDescription!==V||this.overlay.elements.length===0)return;const n=document.createElement("div");n.id=`longpress-describedby-descriptor-${Z.n()}`;const o=ft.a()||ft.w()?"touch":"keyboard";n.textContent=oe[o],n.slot="longpress-describedby-descriptor";const i=t.getRootNode(),s=this.overlay.getRootNode();i===s?this.overlay.append(n):(n.hidden=!("host"in i),t.after(n));const l=Z.u(t,"aria-describedby",[n.id]);this.releaseDescription=()=>{l(),n.remove(),this.releaseDescription=V}}shouldCompleteOpen(){this.longpressState=this.longpressState==="pressed"?null:this.longpressState}init(){var t;(t=this.abortController)==null||t.abort(),this.abortController=new AbortController;const{signal:n}=this.abortController;this.target.addEventListener("longpress",()=>this.handleLongpress(),{signal:n}),this.target.addEventListener("pointerdown",o=>this.handlePointerdown(o),{signal:n}),this.prepareDescription(this.target),!this.target.holdAffordance&&(this.target.addEventListener("keydown",o=>this.handleKeydown(o),{signal:n}),this.target.addEventListener("keyup",o=>this.handleKeyup(o),{signal:n}))}}const ie={click:te,longpress:ne,hover:ee};var So=Object.defineProperty,Ro=Object.getOwnPropertyDescriptor,P=(e,t,n,o)=>{for(var i=o>1?void 0:o?Ro(t,n):t,s=e.length-1,l;s>=0;s--)(l=e[s])&&(i=(o?l(t,n,i):l(i))||i);return o&&i&&So(t,n,i),i};const Lo="showPopover"in document.createElement("div");let kt=Fe(Q);kt=Lo?Be(kt):qe(kt);var lt;const C=(lt=class extends kt{constructor(){super(...arguments),this._delayed=!1,this._disabled=!1,this.offset=0,this._open=!1,this.lastRequestSlottableState=!1,this.receivesFocus="auto",this._state="closed",this.triggerElement=null,this.type="auto",this.wasOpen=!1,this.closeOnFocusOut=e=>{if(!e.relatedTarget)return;const t=new Event("overlay-relation-query",{bubbles:!0,composed:!0});e.relatedTarget.addEventListener(t.type,n=>{n.composedPath().includes(this)||(this.open=!1)}),e.relatedTarget.dispatchEvent(t)}}get delayed(){var e;return((e=this.elements.at(-1))==null?void 0:e.hasAttribute("delayed"))||this._delayed}set delayed(e){this._delayed=e}get disabled(){return this._disabled}set disabled(e){var t;this._disabled=e,e?((t=this.strategy)==null||t.abort(),this.wasOpen=this.open,this.open=!1):(this.bindEvents(),this.open=this.open||this.wasOpen,this.wasOpen=!1)}get hasNonVirtualTrigger(){return!!this.triggerElement&&!(this.triggerElement instanceof ut)}get placementController(){return this._placementController||(this._placementController=new Qt(this)),this._placementController}get open(){return this._open}set open(e){var t;e&&this.disabled||e!==this.open&&((t=this.strategy)!=null&&t.activelyOpening&&!e||(this._open=e,this.open&&(lt.openCount+=1),this.requestUpdate("open",!this.open),this.open&&this.requestSlottable()))}get state(){return this._state}set state(e){var t;if(e===this.state)return;const n=this.state;this._state=e,(this.state==="opened"||this.state==="closed")&&((t=this.strategy)==null||t.shouldCompleteOpen()),this.requestUpdate("state",n)}get elementResolver(){return this._elementResolver||(this._elementResolver=new Z.d(this)),this._elementResolver}get usesDialog(){return this.type==="modal"||this.type==="page"}get popoverValue(){if("popover"in this)switch(this.type){case"modal":case"page":return;case"hint":return"manual";default:return this.type}}get requiresPositioning(){return!(this.type==="page"||!this.open||!this.triggerElement||!this.placement&&this.type!=="hint")}managePosition(){if(!this.requiresPositioning||!this.open)return;const e=this.offset||0,t=this.triggerElement,n=this.placement||"right",o=this.tipPadding;this.placementController.placeOverlay(this.dialogEl,{offset:e,placement:n,tipPadding:o,trigger:t,type:this.type})}async managePopoverOpen(){super.managePopoverOpen();const e=this.open;if(this.open!==e||(await this.manageDelay(e),this.open!==e)||(this.triggerInteraction==="longpress"&&await k(),await this.ensureOnDOM(e),this.open!==e))return;const t=await this.makeTransition(e);this.open===e&&await this.applyFocus(e,t)}async applyFocus(e,t){if(!(this.receivesFocus==="false"||this.type==="hint")){if(await k(),await k(),e===this.open&&!this.open){this.hasNonVirtualTrigger&&this.contains(this.getRootNode().activeElement)&&this.triggerElement.focus();return}t==null||t.focus()}}returnFocus(){var e;if(this.open||this.type==="hint")return;const t=()=>{var n,o;const i=[];let s=document.activeElement;for(;(n=s==null?void 0:s.shadowRoot)!=null&&n.activeElement;)s=s.shadowRoot.activeElement;for(;s;){const l=s.assignedSlot||s.parentElement||((o=s.getRootNode())==null?void 0:o.host);l&&i.push(l),s=l}return i};this.receivesFocus!=="false"&&(e=this.triggerElement)!=null&&e.focus&&(this.contains(this.getRootNode().activeElement)||t().includes(this)||document.activeElement===document.body)&&this.triggerElement.focus()}async manageOpen(e){if(!(!this.isConnected&&this.open)&&(this.hasUpdated||await this.updateComplete,this.open?(le.add(this),this.willPreventClose&&(document.addEventListener("pointerup",()=>{this.dialogEl.classList.toggle("not-immediately-closable",!1),this.willPreventClose=!1},{once:!0}),this.dialogEl.classList.toggle("not-immediately-closable",!0))):(e&&this.dispose(),le.remove(this)),this.open&&this.state!=="opened"?this.state="opening":!this.open&&this.state!=="closed"&&(this.state="closing"),this.usesDialog?this.manageDialogOpen():this.managePopoverOpen(),this.type==="auto")){const t=this.getRootNode();this.open?t.addEventListener("focusout",this.closeOnFocusOut,{capture:!0}):t.removeEventListener("focusout",this.closeOnFocusOut,{capture:!0})}}bindEvents(){var e;(e=this.strategy)==null||e.abort(),this.strategy=void 0,this.hasNonVirtualTrigger&&this.triggerInteraction&&(this.strategy=new ie[this.triggerInteraction](this.triggerElement,{overlay:this}))}handleBeforetoggle(e){e.newState!=="open"&&this.handleBrowserClose(e)}handleBrowserClose(e){var t;if(e.stopPropagation(),!((t=this.strategy)!=null&&t.activelyOpening)){this.open=!1;return}this.manuallyKeepOpen()}manuallyKeepOpen(){this.open=!0,this.placementController.allowPlacementUpdate=!0,this.manageOpen(!1)}handleSlotchange(){var e,t;this.elements.length===0?(e=this.strategy)==null||e.releaseDescription():this.hasNonVirtualTrigger&&((t=this.strategy)==null||t.prepareDescription(this.triggerElement))}shouldPreventClose(){const e=this.willPreventClose;return this.willPreventClose=!1,e}requestSlottable(){this.lastRequestSlottableState!==this.open&&(this.open||document.body.offsetHeight,this.dispatchEvent(new It("overlay-content",this.open?{}:wt)),this.lastRequestSlottableState=this.open)}willUpdate(e){var t;if(this.hasAttribute("id")||this.setAttribute("id",`${this.tagName.toLowerCase()}-${Z.n()}`),e.has("open")&&(this.hasUpdated||this.open)&&this.manageOpen(e.get("open")),e.has("trigger")){const[o,i]=((t=this.trigger)==null?void 0:t.split("@"))||[];this.elementResolver.selector=o?`#${o}`:"",this.triggerInteraction=i}let n=!1;e.has(Z.h)&&(n=this.triggerElement,this.triggerElement=this.elementResolver.element),e.has("triggerElement")&&(n=e.get("triggerElement")),n!==!1&&this.bindEvents()}updated(e){super.updated(e),e.has("placement")&&(this.placement?this.dialogEl.setAttribute("actual-placement",this.placement):this.dialogEl.removeAttribute("actual-placement"),this.open&&e.get("placement")!==void 0&&this.placementController.resetOverlayPosition()),e.has("state")&&this.state==="closed"&&e.get("state")!==void 0&&this.placementController.clearOverlayPosition()}renderContent(){return f.Rt` <slot @slotchange=${this.handleSlotchange}></slot> `}get dialogStyleMap(){return{"--luzmo-overlay-open-count":lt.openCount.toString()}}renderDialog(){return f.Rt`
|
93
|
+
<dialog
|
94
|
+
class="dialog"
|
95
|
+
part="dialog"
|
96
|
+
placement=${Y.m(this.requiresPositioning?this.placement||"right":void 0)}
|
97
|
+
style=${Nt(this.dialogStyleMap)}
|
98
|
+
@close=${this.handleBrowserClose}
|
99
|
+
@cancel=${this.handleBrowserClose}
|
100
|
+
@beforetoggle=${this.handleBeforetoggle}
|
101
|
+
?is-visible=${this.state!=="closed"}
|
102
|
+
>
|
103
|
+
${this.renderContent()}
|
104
|
+
</dialog>
|
105
|
+
`}renderPopover(){return f.Rt`
|
106
|
+
<div
|
107
|
+
class="dialog"
|
108
|
+
part="dialog"
|
109
|
+
placement=${Y.m(this.requiresPositioning?this.placement||"right":void 0)}
|
110
|
+
popover=${Y.m(this.popoverValue)}
|
111
|
+
style=${Nt(this.dialogStyleMap)}
|
112
|
+
@beforetoggle=${this.handleBeforetoggle}
|
113
|
+
@close=${this.handleBrowserClose}
|
114
|
+
?is-visible=${this.state!=="closed"}
|
115
|
+
>
|
116
|
+
${this.renderContent()}
|
117
|
+
</div>
|
118
|
+
`}render(){const e=this.type==="modal"||this.type==="page";return f.Rt`
|
119
|
+
${e?this.renderDialog():this.renderPopover()}
|
120
|
+
<slot name="longpress-describedby-descriptor"></slot>
|
121
|
+
`}connectedCallback(){super.connectedCallback(),this.addEventListener("close",()=>{this.open=!1}),this.hasUpdated&&this.bindEvents()}disconnectedCallback(){var e;(e=this.strategy)==null||e.releaseDescription(),this.open=!1,super.disconnectedCallback()}},lt.styles=[f.at(Ie)],lt.openCount=1,lt);P([f.zt({type:Boolean})],C.prototype,"delayed",1);P([Y.d(".dialog")],C.prototype,"dialogEl",2);P([f.zt({type:Boolean})],C.prototype,"disabled",1);P([ge({flatten:!0,selector:':not([slot="longpress-describedby-descriptor"], slot)'})],C.prototype,"elements",2);P([f.zt({type:Number})],C.prototype,"offset",2);P([f.zt({type:Boolean,reflect:!0})],C.prototype,"open",1);P([f.zt()],C.prototype,"placement",2);P([f.zt({attribute:"receives-focus"})],C.prototype,"receivesFocus",2);P([Y.d("slot")],C.prototype,"slotEl",2);P([H.n()],C.prototype,"state",1);P([f.zt({type:Number,attribute:"tip-padding"})],C.prototype,"tipPadding",2);P([f.zt()],C.prototype,"trigger",2);P([f.zt({attribute:!1})],C.prototype,"triggerElement",2);P([f.zt({attribute:!1})],C.prototype,"triggerInteraction",2);P([f.zt()],C.prototype,"type",2);let Ct=C;const At=Object.freeze(Object.defineProperty({__proto__:null,LuzmoOverlay:Ct},Symbol.toStringTag,{value:"Module"})),Ao=Object.freeze(Object.defineProperty({__proto__:null,C:te,H:ee,I:nt,L:Q,P:Qt,S:gt,V:ut,a:k,b:zt,c:oe,d:ne,e:Ct,f:At,g:xt,l:yt,n:V,o:ct,p:Pe,s:ie},Symbol.toStringTag,{value:"Module"}));/*! * Lucero - The design system for Luzmo.
|
122
|
+
*
|
123
|
+
* Copyright © 2025 Luzmo
|
124
|
+
* All rights reserved.
|
125
|
+
* Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
|
126
|
+
* This license allows users with a current active Luzmo account to use Lucero.
|
127
|
+
* This license terminates automatically if a user no longer has an active Luzmo account.
|
128
|
+
* Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
|
129
|
+
*
|
130
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
131
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
132
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
133
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
134
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
135
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
136
|
+
* SOFTWARE.
|
137
|
+
* */const Do=()=>{if(typeof document<"u"&&!document.querySelector("style[data-luzmo-vars]")){const e=document.createElement("style");e.setAttribute("data-luzmo-vars",""),e.textContent='html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-disabled-color);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--luzmo-informative-color: #1a77e9;--luzmo-informative-color-rgb: 26, 119, 233;--luzmo-disabled-color: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}',document.head.appendChild(e)}};Do();const $o=":host([disabled]) ::slotted([slot=trigger]){pointer-events:none}slot[name=longpress-describedby-descriptor]{display:none}";var Fo=Object.defineProperty,T=(e,t,n,o)=>{for(var i=void 0,s=e.length-1,l;s>=0;s--)(l=e[s])&&(i=l(t,n,i)||i);return i&&Fo(t,n,i),i};class E extends f.It{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[f.at($o)]}getAssignedElementsFromSlot(t){return t.assignedElements({flatten:!0})}handleTriggerContent(t){this.targetContent=this.getAssignedElementsFromSlot(t.target)}handleSlotContent(t){switch(t.target.name){case"click-content":{this.clickContent=this.getAssignedElementsFromSlot(t.target);break}case"longpress-content":{this.longpressContent=this.getAssignedElementsFromSlot(t.target);break}case"hover-content":{this.hoverContent=this.getAssignedElementsFromSlot(t.target);break}}}handleBeforetoggle(t){const{target:n}=t;let o;if(n===this.clickOverlayElement)o="click";else if(n===this.longpressOverlayElement)o="longpress";else if(n===this.hoverOverlayElement)o="hover";else return;t.newState==="open"?this.open=o:this.open===o&&(this.open=void 0)}update(t){var n,o,i,s,l,r;t.has("clickContent")&&(this.clickPlacement=((n=this.clickContent[0])==null?void 0:n.getAttribute("placement"))||((o=this.clickContent[0])==null?void 0:o.getAttribute("direction"))||void 0),t.has("hoverContent")&&(this.hoverPlacement=((i=this.hoverContent[0])==null?void 0:i.getAttribute("placement"))||((s=this.hoverContent[0])==null?void 0:s.getAttribute("direction"))||void 0),t.has("longpressContent")&&(this.longpressPlacement=((l=this.longpressContent[0])==null?void 0:l.getAttribute("placement"))||((r=this.longpressContent[0])==null?void 0:r.getAttribute("direction"))||void 0),super.update(t)}renderSlot(t){return f.Rt`
|
138
|
+
<slot name=${t} @slotchange=${this.handleSlotContent}></slot>
|
139
|
+
`}renderClickOverlay(){var t;const n=this.renderSlot("click-content"),o=f.Rt`
|
140
|
+
<luzmo-overlay
|
141
|
+
id="click-overlay"
|
142
|
+
?disabled=${this.disabled||this.clickContent.length===0}
|
143
|
+
?open=${this.open==="click"&&this.clickContent.length>0}
|
144
|
+
.offset=${this.offset}
|
145
|
+
.placement=${this.clickPlacement||this.placement}
|
146
|
+
.triggerElement=${this.targetContent[0]}
|
147
|
+
.triggerInteraction=${"click"}
|
148
|
+
.type=${this.type==="modal"?"modal":"auto"}
|
149
|
+
@beforetoggle=${this.handleBeforetoggle}
|
150
|
+
.receivesFocus=${this.receivesFocus}
|
151
|
+
>
|
152
|
+
${n}
|
153
|
+
</luzmo-overlay>
|
154
|
+
`;return(t=this.triggeredBy)!=null&&t.includes("click")?o:this.clickContent.length===0?n:o}renderHoverOverlay(){var t;const n=this.renderSlot("hover-content"),o=f.Rt`
|
155
|
+
<luzmo-overlay
|
156
|
+
id="hover-overlay"
|
157
|
+
?open=${this.open==="hover"&&this.hoverContent.length>0}
|
158
|
+
?disabled=${this.disabled||this.hoverContent.length===0||!!this.open&&this.open!=="hover"}
|
159
|
+
.offset=${this.offset}
|
160
|
+
.placement=${this.hoverPlacement||this.placement}
|
161
|
+
.triggerElement=${this.targetContent[0]}
|
162
|
+
.triggerInteraction=${"hover"}
|
163
|
+
.type=${"hint"}
|
164
|
+
@beforetoggle=${this.handleBeforetoggle}
|
165
|
+
.receivesFocus=${this.receivesFocus}
|
166
|
+
>
|
167
|
+
${n}
|
168
|
+
</luzmo-overlay>
|
169
|
+
`;return(t=this.triggeredBy)!=null&&t.includes("hover")?o:this.hoverContent.length===0?n:o}renderLongpressOverlay(){var t;const n=this.renderSlot("longpress-content"),o=f.Rt`
|
170
|
+
<luzmo-overlay
|
171
|
+
id="longpress-overlay"
|
172
|
+
?disabled=${this.disabled||this.longpressContent.length===0}
|
173
|
+
?open=${this.open==="longpress"&&this.longpressContent.length>0}
|
174
|
+
.offset=${this.offset}
|
175
|
+
.placement=${this.longpressPlacement||this.placement}
|
176
|
+
.triggerElement=${this.targetContent[0]}
|
177
|
+
.triggerInteraction=${"longpress"}
|
178
|
+
.type=${"auto"}
|
179
|
+
@beforetoggle=${this.handleBeforetoggle}
|
180
|
+
.receivesFocus=${this.receivesFocus}
|
181
|
+
>
|
182
|
+
${n}
|
183
|
+
</luzmo-overlay>
|
184
|
+
<slot name="longpress-describedby-descriptor"></slot>
|
185
|
+
`;return(t=this.triggeredBy)!=null&&t.includes("longpress")?o:this.longpressContent.length===0?n:o}render(){return f.Rt`
|
186
|
+
<slot
|
187
|
+
id="trigger"
|
188
|
+
name="trigger"
|
189
|
+
@slotchange=${this.handleTriggerContent}
|
190
|
+
></slot>
|
191
|
+
${[this.renderClickOverlay(),this.renderHoverOverlay(),this.renderLongpressOverlay()]}
|
192
|
+
`}updated(t){if(super.updated(t),this.disabled&&t.has("disabled")){this.open=void 0;return}}async getUpdateComplete(){return await super.getUpdateComplete()}}T([f.zt()],E.prototype,"content");T([f.zt({attribute:"triggered-by"})],E.prototype,"triggeredBy");T([f.zt({reflect:!0})],E.prototype,"placement");T([f.zt()],E.prototype,"type");T([f.zt({type:Number})],E.prototype,"offset");T([f.zt({reflect:!0})],E.prototype,"open");T([f.zt({type:Boolean,reflect:!0})],E.prototype,"disabled");T([f.zt({attribute:"receives-focus"})],E.prototype,"receivesFocus");T([H.n()],E.prototype,"clickContent");T([H.n()],E.prototype,"longpressContent");T([H.n()],E.prototype,"hoverContent");T([H.n()],E.prototype,"targetContent");T([Y.d("#click-overlay",!0)],E.prototype,"clickOverlayElement");T([Y.d("#longpress-overlay",!0)],E.prototype,"longpressOverlayElement");T([Y.d("#hover-overlay",!0)],E.prototype,"hoverOverlayElement");function qo(e,t,n,o){return Ct.open(e,t,n,o)}class se extends ft.C{render(t){return f.d}update(t,[n]){this.template=n,this.target!==t.element&&(this.target=t.element,this.renderBefore=this.target.children[0]),this.listenerHost=this.target,this.init()}handleSlottableRequest(t){if(t.target!==t.currentTarget)return;const n=t.data===wt;f.wt(n?void 0:this.template(),this.target,{renderBefore:this.renderBefore})}init(){var t;(t=this.listeners)==null||t.abort(),this.listeners=new AbortController;const{signal:n}=this.listeners;this.listenerHost.addEventListener("slottable-request",o=>this.handleSlottableRequest(o),{signal:n})}disconnected(){var t;(t=this.listeners)==null||t.abort()}reconnected(){this.init()}}const No=H._(se);class Te extends se{constructor(){super(...arguments),this.defaultOptions={triggerInteraction:"click",overlayOptions:{type:"auto",offset:0}},this.options={...this.defaultOptions.overlayOptions}}render(t,n){return f.d}update(t,[n,o]){var i,s,l;this.options={...this.defaultOptions.overlayOptions,...o==null?void 0:o.overlayOptions},this.insertionOptions=o==null?void 0:o.insertionOptions,this.template=n,this.host=(i=t.options)==null?void 0:i.host;let r=!1;const a=(o==null?void 0:o.triggerInteraction)||this.defaultOptions.triggerInteraction,c=nt[(s=this.strategy)==null?void 0:s.type]!==a;this.target!==t.element&&(this.target=t.element,r=!0),(r||c)&&((l=this.strategy)==null||l.abort(),this.strategy=new ie[a](this.target,{isPersistent:!0,handleOverlayReady:h=>{this.listenerHost=this.overlay=h,this.init()}})),this.strategy.open=(o==null?void 0:o.open)??!1}handleSlottableRequest(t){var n,o;if(t.target!==t.currentTarget)return;const i=t.data===wt,s={};if(this.host&&(s.host=this.host),f.wt(i?void 0:this.template(),this.overlay,s),i)this.overlay.remove();else{Q.applyOptions(this.overlay,{...this.options,trigger:this.target});const l=typeof((n=this.insertionOptions)==null?void 0:n.el)=="function"?this.insertionOptions.el():((o=this.insertionOptions)==null?void 0:o.el)||this.target,{where:r="afterend"}=this.insertionOptions||{};l.insertAdjacentElement(r,this.overlay)}}}const Bo=H._(Te);customElements.get("luzmo-overlay")||customElements.define("luzmo-overlay",Ct);customElements.get("luzmo-overlay-trigger")||customElements.define("luzmo-overlay-trigger",E);const _o=Object.freeze(Object.defineProperty({__proto__:null,ClickController:te,HoverController:ee,InteractionController:zt,InteractionTypes:nt,LONGPRESS_INSTRUCTIONS:oe,LongpressController:ne,LuzmoAbstractOverlay:Q,LuzmoOverlay:Ct,LuzmoOverlayTrigger:E,OverlayTriggerDirective:Te,PlacementController:Qt,SAFARI_FOCUS_RING_CLASS:gt,SlottableRequestDirective:se,SlottableRequestEvent:It,VirtualTrigger:ut,guaranteedAllTransitionend:xt,lastInteractionType:yt,nextFrame:k,noop:V,openOverlay:qo,overlayTimer:ct,placementUpdatedSymbol:Pe,removeSlottableRequest:wt,slottableRequest:No,trigger:Bo},Symbol.toStringTag,{value:"Module"}));exports.a=wt;exports.d=ge;exports.index=_o;exports.o=It;exports.overlayCig9r6uU=Ao;exports.p=Nt;
|