@luzmo/lucero 1.0.1-alpha.9 → 1.0.2
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/README.md +74 -9
- package/components/accordion/index.cjs +1 -26
- package/components/accordion/index.js +8 -164
- package/components/accordion-BHBIfsLU.cjs +43 -0
- package/components/accordion-DC7cjb1c.js +152 -0
- package/components/action-bar/index.cjs +1 -22
- package/components/action-bar/index.js +8 -90
- package/components/action-bar-BMHZ4e_p.cjs +39 -0
- package/components/action-bar-CmLjsljR.js +92 -0
- package/components/action-button/index.cjs +1 -7
- package/components/action-button/index.js +8 -144
- package/components/action-button-B4_UEJle.js +121 -0
- package/components/action-button-G0PWSrZo.cjs +24 -0
- package/components/action-group/index.cjs +1 -1
- package/components/action-group/index.js +11 -12
- package/components/action-group-CH8FTW0i.cjs +20 -0
- package/components/action-group-DYKpp-mz.js +211 -0
- package/components/action-menu/index.cjs +1 -39
- package/components/action-menu/index.js +8 -109
- package/components/action-menu-CJyB0mmO.cjs +56 -0
- package/components/action-menu-FiS1vhW7.js +105 -0
- package/components/avatar/avatar.d.ts +5 -0
- package/components/avatar/index.cjs +1 -7
- package/components/avatar/index.js +8 -64
- package/components/avatar-CyY_ZSD0.js +65 -0
- package/components/avatar-PulwjkMI.cjs +24 -0
- package/components/badge/badge.d.ts +35 -0
- package/components/{random-id-CqvckpWe.cjs → badge/index.cjs} +1 -1
- package/components/badge/index.d.ts +8 -0
- package/components/badge/index.js +25 -0
- package/components/badge-D1Ry32wi.cjs +23 -0
- package/components/badge-D6p2hPj8.js +94 -0
- package/components/button/button-base.d.ts +16 -0
- package/components/button/button.d.ts +38 -2
- package/components/button/index.cjs +1 -3
- package/components/button/index.js +9 -110
- package/components/button-CRNRP8P0.js +115 -0
- package/components/button-D3ZTogni.cjs +20 -0
- package/components/button-base-BYV3Lp3P.cjs +25 -0
- package/components/button-base-SHgEJgk2.js +123 -0
- package/components/button-group/index.cjs +1 -1
- package/components/button-group/index.js +8 -42
- package/components/button-group-CJVpgiLq.js +46 -0
- package/components/button-group-rEK_YaF3.cjs +18 -0
- package/components/calendar/calendar.d.ts +67 -0
- package/components/calendar/index.cjs +1 -1
- package/components/calendar/index.d.ts +1 -0
- package/components/calendar/index.js +8 -11
- package/components/calendar-CKr5T_zV.js +619 -0
- package/components/calendar-WRhzTEyZ.cjs +142 -0
- package/components/chat-message/chat-message.d.ts +139 -0
- package/components/{random-id-ByCz1xaq.js → chat-message/index.cjs} +1 -9
- package/components/chat-message/index.d.ts +8 -0
- package/components/chat-message/index.js +25 -0
- package/components/chat-message-CNE-mGuP.cjs +149 -0
- package/components/chat-message-DJgocVNj.js +2295 -0
- package/components/chat-message-group/chat-message-group.d.ts +50 -0
- package/components/{when-CDZyJPvd.cjs → chat-message-group/index.cjs} +1 -5
- package/components/chat-message-group/index.d.ts +7 -0
- package/components/chat-message-group/index.js +25 -0
- package/components/chat-message-group-B4U2MzHx.js +100 -0
- package/components/chat-message-group-COmhCN-R.cjs +24 -0
- package/components/checkbox/checkbox.d.ts +7 -0
- package/components/checkbox/index.cjs +1 -8
- package/components/checkbox/index.js +8 -79
- package/components/checkbox-CPS-tR_i.js +89 -0
- package/components/checkbox-DFwDrIdY.cjs +25 -0
- package/components/checkbox-mixin-C5sLMo5L.js +67 -0
- package/components/{checkbox-mixin-BDN0dBtS.cjs → checkbox-mixin-D4HeLrMj.cjs} +3 -3
- package/components/chunk-D-qHiVGv.cjs +18 -0
- package/components/close-button-BeXYep8K.js +42 -0
- package/components/close-button-BzapEpcF.cjs +18 -0
- package/components/color-area/index.cjs +1 -63
- package/components/color-area/index.js +8 -364
- package/components/color-area-DA3ps2-c.cjs +80 -0
- package/components/color-area-DViRjuKo.js +300 -0
- package/components/color-controller-DueaXfnX.cjs +18 -0
- package/components/color-controller-G2_v2xSl.js +247 -0
- package/components/color-field/color-field.d.ts +1 -0
- package/components/color-field/index.cjs +1 -6
- package/components/color-field/index.js +8 -68
- package/components/color-field-CxdIoSq6.js +75 -0
- package/components/color-field-D7_7z2A2.cjs +23 -0
- package/components/color-handle/index.cjs +1 -7
- package/components/color-handle/index.js +8 -56
- package/components/color-handle-BOusOFFx.js +62 -0
- package/components/color-handle-Cka48yPY.cjs +24 -0
- package/components/color-loupe/index.cjs +1 -1
- package/components/color-loupe/index.js +11 -12
- package/components/color-loupe-DMk8uWZW.cjs +56 -0
- package/components/color-loupe-bEzi2P0y.js +76 -0
- package/components/color-menu/index.cjs +1 -69
- package/components/color-menu/index.js +8 -189
- package/components/color-menu-DwbTxeqv.cjs +89 -0
- package/components/color-menu-Lxc9PTzl.js +183 -0
- package/components/color-palette/index.cjs +1 -1
- package/components/color-palette/index.js +8 -71
- package/components/color-palette-349EkPMg.cjs +18 -0
- package/components/color-palette-BAdaNySC.js +80 -0
- package/components/color-palette-group/index.cjs +1 -11
- package/components/color-palette-group/index.js +8 -188
- package/components/color-palette-group-BvP09zmT.cjs +28 -0
- package/components/color-palette-group-D8Mavsd2.js +163 -0
- package/components/color-picker/color-picker.d.ts +3 -3
- package/components/color-picker/index.cjs +1 -31
- package/components/color-picker/index.js +8 -128
- package/components/color-picker-CSWiU-X5.cjs +48 -0
- package/components/color-picker-DqjfTvYf.js +126 -0
- package/components/color-slider/index.cjs +1 -1
- package/components/color-slider/index.js +8 -11
- package/components/color-slider-DxjJ72ue.cjs +57 -0
- package/components/color-slider-ihAIFt5p.js +421 -0
- package/components/{condition-attribute-with-id-Dv4lSRbe.js → condition-attribute-with-id-DauPaLSS.cjs} +1 -14
- package/components/{query-assigned-nodes-C76XVPWY.js → condition-attribute-with-id-Duo51HZ7.js} +10 -18
- package/components/date-range-picker/date-range-picker.d.ts +184 -0
- package/components/{if-defined-C9YGdo33.cjs → date-range-picker/index.cjs} +1 -5
- package/components/date-range-picker/index.d.ts +8 -0
- package/components/date-range-picker/index.js +25 -0
- package/components/date-range-picker/types.d.ts +16 -0
- package/components/date-range-picker-BdRQep--.js +626 -0
- package/components/date-range-picker-CgitOe0i.cjs +187 -0
- package/components/date-time-picker/date-time-picker.d.ts +3 -3
- package/components/date-time-picker/index.cjs +1 -88
- package/components/date-time-picker/index.d.ts +1 -0
- package/components/date-time-picker/index.js +8 -1109
- package/components/date-time-picker/{types.d.ts → shared/types.d.ts} +1 -1
- package/components/date-time-picker-Bz8XwSOR.cjs +105 -0
- package/components/date-time-picker-Ct_ln8Ot.js +470 -0
- package/components/decorate-B2wePfNm.cjs +18 -0
- package/components/decorate-aGxJUVxg.js +91 -0
- package/components/{condition-attribute-with-id-DrQYZzFS.cjs → dependency-manger-CHy9t__e.cjs} +1 -1
- package/components/dependency-manger-DMrulWcJ.js +40 -0
- package/components/divider/index.cjs +1 -1
- package/components/divider/index.js +8 -44
- package/components/divider-Dn8XqbB6.cjs +18 -0
- package/components/divider-cU0lVwOp.js +59 -0
- package/components/divider.module-C65RfSUa.js +21 -0
- package/components/divider.module-CL60P_z8.cjs +18 -0
- package/components/element-resolution-Bs1x89vU.js +80 -0
- package/components/element-resolution-C0aiOB0Y.cjs +18 -0
- package/components/field-group/index.cjs +1 -1
- package/components/field-group/index.js +11 -12
- package/components/field-group-C7ROsWq3.js +57 -0
- package/components/field-group-OcI5Lgu7.cjs +23 -0
- package/components/field-label/index.cjs +1 -1
- package/components/field-label/index.js +11 -12
- package/components/field-label-BCl6R1uO.cjs +25 -0
- package/components/field-label-CtGCEmdp.js +87 -0
- package/components/focus-group-BshI1RpM.js +164 -0
- package/components/focus-group-SF8Kj7iB.cjs +18 -0
- package/components/focus-visible-B0NNezGc.cjs +18 -0
- package/components/focus-visible-CrooVCUu.js +58 -0
- package/components/focusable-BmS8IzhH.js +117 -0
- package/components/focusable-CupEoHmn.cjs +18 -0
- package/components/{base-BjTwmyRF.cjs → focusable-selectors-5n5liBn0.cjs} +1 -5
- package/components/{focusable-selectors-BgFlyFcY.cjs → focusable-selectors-Bg60_Kra.js} +13 -1
- package/components/{state-Deh-vKYE.js → get-label-from-slot-5vVnfSgN.js} +7 -11
- package/components/get-label-from-slot-LO_DZP60.cjs +18 -0
- package/components/icon/index.cjs +1 -1
- package/components/icon/index.js +8 -71
- package/components/icon-B7hKwn_q.cjs +18 -0
- package/components/icon-CwBAE1eU.js +59 -0
- package/components/index.cjs +1 -1
- package/components/index.js +78 -176
- package/components/infield-button/index.cjs +1 -5
- package/components/infield-button/index.js +8 -47
- package/components/infield-button-B2z0dLzq.js +54 -0
- package/components/infield-button-BVKotWqr.cjs +22 -0
- package/components/label/index.cjs +1 -1
- package/components/label/index.js +8 -34
- package/components/label-ClJE2esm.js +41 -0
- package/components/label-CqolZbJo.cjs +18 -0
- package/components/language-resolution-BYemISJC.cjs +18 -0
- package/components/language-resolution-BpfGTC29.js +43 -0
- package/components/like-anchor-BZJXts_H.cjs +32 -0
- package/components/like-anchor-DeOXX-MX.js +46 -0
- package/components/manage-help-text-CF0xBh0F.js +81 -0
- package/components/manage-help-text-D9VbYRf_.cjs +30 -0
- package/components/menu/index.cjs +1 -66
- package/components/menu/index.js +8 -879
- package/components/menu/menu-item.d.ts +8 -1
- package/components/menu/menu.d.ts +1 -0
- package/components/menu--ukVtSq7.js +749 -0
- package/components/menu-DAA51y45.cjs +108 -0
- package/components/multi-language-field/index.cjs +1 -22
- package/components/multi-language-field/index.js +8 -131
- package/components/multi-language-field/multi-language-field.d.ts +1 -0
- package/components/multi-language-field-BzY75rOY.js +122 -0
- package/components/multi-language-field-DmoMyCBH.cjs +40 -0
- package/components/number-field/index.cjs +1 -40
- package/components/number-field/index.js +8 -453
- package/components/number-field/number-field.d.ts +145 -0
- package/components/number-field-B4RSFeTR.cjs +57 -0
- package/components/number-field-C66dTUMM.js +402 -0
- package/components/observe-slot-presence-BCqd3VSd.js +55 -0
- package/components/observe-slot-presence-Dx8hzNzK.cjs +18 -0
- package/components/observe-slot-text-BhTcGuHY.cjs +18 -0
- package/components/observe-slot-text-Ddf1OC6F.js +71 -0
- package/components/options/index.cjs +1 -84
- package/components/options/index.js +8 -1160
- package/components/options/option.d.ts +16 -0
- package/components/options/options.d.ts +44 -4
- package/components/options-BPNAm4MW.cjs +101 -0
- package/components/options-Dz-ejkxF.js +484 -0
- package/components/overlay/index.cjs +1 -56
- package/components/overlay/index.js +10 -329
- package/components/overlay/overlay.d.ts +12 -1
- package/components/overlay/virtual-trigger.d.ts +3 -2
- package/components/overlay-8tN0KPbR.js +1115 -0
- package/components/overlay-CMd2Dnpv.cjs +73 -0
- package/components/overlay-CwR_36OV.js +227 -0
- package/components/overlay-DdrfkOry.cjs +47 -0
- package/components/pending-state-DFcNf5rd.js +50 -0
- package/components/{pending-state-CaH1si5b.cjs → pending-state-DIeF18qg.cjs} +4 -3
- package/components/picker/index.cjs +1 -1
- package/components/picker/index.js +11 -15
- package/components/picker/picker.d.ts +1 -0
- package/components/picker-C4RVOxLq.cjs +123 -0
- package/components/picker-agQW7YNo.js +394 -0
- package/components/picker-button/index.cjs +1 -20
- package/components/picker-button/index.js +8 -70
- package/components/picker-button-BLbeT3Yu.js +72 -0
- package/components/picker-button-D34YXyXp.cjs +37 -0
- package/components/platform-B7Sk7Qon.cjs +18 -0
- package/components/{platform-BM-uMWpX.js → platform-D4V_cOJF.js} +29 -38
- package/components/popover/index.cjs +1 -1
- package/components/popover/index.js +11 -12
- package/components/popover-DyC9xGhX.js +58 -0
- package/components/popover-dgL04x6P.cjs +30 -0
- package/components/progress-bar/index.cjs +18 -0
- package/components/progress-bar/index.d.ts +7 -0
- package/components/progress-bar/index.js +25 -0
- package/components/progress-bar/progress-bar.d.ts +34 -0
- package/components/progress-bar-BR28tISC.cjs +31 -0
- package/components/progress-bar-DHgFRml1.js +119 -0
- package/components/progress-circle/index.cjs +1 -1
- package/components/progress-circle/index.js +11 -12
- package/components/progress-circle-Cg_ua9Ff.js +78 -0
- package/components/progress-circle-DuzwUiGN.cjs +33 -0
- package/components/progress-steps/index.cjs +18 -0
- package/components/progress-steps/index.d.ts +8 -0
- package/components/progress-steps/index.js +25 -0
- package/components/progress-steps/progress-steps.d.ts +148 -0
- package/components/progress-steps/types.d.ts +32 -0
- package/components/progress-steps-Da8aZWx3.js +262 -0
- package/components/progress-steps-WriXaZpE.cjs +96 -0
- package/components/prompt-box/controllers/attachments-controller.d.ts +35 -0
- package/components/prompt-box/controllers/recording-controller.d.ts +23 -0
- package/components/prompt-box/controllers/rich-input-controller.d.ts +89 -0
- package/components/prompt-box/controllers/trigger-menu-controller.d.ts +107 -0
- package/components/prompt-box/index.cjs +18 -0
- package/components/prompt-box/index.d.ts +9 -0
- package/components/prompt-box/index.js +25 -0
- package/components/prompt-box/keyboard-focus-tracker.d.ts +3 -0
- package/components/prompt-box/prompt-box-templates.d.ts +10 -0
- package/components/prompt-box/prompt-box.d.ts +194 -0
- package/components/prompt-box/range-from-point.d.ts +21 -0
- package/components/prompt-box/selection-utils.d.ts +39 -0
- package/components/prompt-box/slot-state-sync.d.ts +10 -0
- package/components/prompt-box/types.d.ts +112 -0
- package/components/prompt-box-BEloQP-R.js +1506 -0
- package/components/prompt-box-DV8Smf3Q.cjs +282 -0
- package/components/radio/index.cjs +1 -5
- package/components/radio/index.js +8 -174
- package/components/radio-BzEPGUmQ.js +141 -0
- package/components/radio-d-2GUbYE.cjs +22 -0
- package/components/{if-defined-DOaE2coe.js → random-id-B51lUxUB.cjs} +1 -10
- package/components/{when-CDK1Tt5Y.js → random-id-Dd4boCPV.js} +5 -10
- package/components/{focusable-selectors-B4YgbghQ.js → rolldown-runtime-CAFD8bLK.js} +10 -13
- package/components/roving-tabindex-B7x5ePUB.cjs +18 -0
- package/components/roving-tabindex-BP6mQbXf.js +62 -0
- package/components/{directive-oAbCiebi.js → scaled-indicator-BcO2BOsf.js} +24 -26
- package/components/scaled-indicator-p8-3k2cJ.cjs +26 -0
- package/components/search/index.cjs +1 -28
- package/components/search/index.js +8 -114
- package/components/search-CmLfd2dF.js +94 -0
- package/components/search-DRTD4xsE.cjs +45 -0
- package/components/segments-factory-CHo9oQw7.cjs +18 -0
- package/components/segments-factory-D0IveW-q.js +417 -0
- package/components/select/index.cjs +1 -140
- package/components/select/index.js +8 -602
- package/components/select/select.d.ts +26 -17
- package/components/select--vrG59GQ.cjs +158 -0
- package/components/select-DPeI0jP9.js +518 -0
- package/components/{language-resolution-8yZa5r_P.js → sized-mixin-DaBoZkVS.js} +38 -35
- package/components/sized-mixin-StFA4y0J.cjs +18 -0
- package/components/skeleton-loader/index.cjs +18 -0
- package/components/skeleton-loader/index.d.ts +7 -0
- package/components/skeleton-loader/index.js +25 -0
- package/components/skeleton-loader/skeleton-loader.d.ts +22 -0
- package/components/skeleton-loader-B8NgELvX.cjs +18 -0
- package/components/skeleton-loader-C1XG3m_u.js +46 -0
- package/components/slider/index.cjs +1 -1
- package/components/slider/index.js +8 -1141
- package/components/slider/slider.d.ts +2 -0
- package/components/slider-3QBnq0S8.js +96 -0
- package/components/slider-uXRKcOz5.cjs +18 -0
- package/components/slottable-request-event-DZ2Z_BLk.js +29 -0
- package/components/{base-D76d76ww.js → slottable-request-event-gAcEQan2.cjs} +1 -9
- package/components/status-light/index.cjs +18 -0
- package/components/status-light/index.d.ts +8 -0
- package/components/status-light/index.js +25 -0
- package/components/status-light/status-light.d.ts +26 -0
- package/components/status-light-Bf8jGu4G.js +85 -0
- package/components/status-light-CBaAFRUc.cjs +21 -0
- package/components/strategies-DhxJGIZT.js +137 -0
- package/components/strategies-kuvLVIKO.cjs +18 -0
- package/components/streaming-listener-2NcP7ys7.js +77 -0
- package/components/streaming-listener-BnDW38lt.cjs +18 -0
- package/components/suggestion/index.cjs +18 -0
- package/components/suggestion/index.d.ts +8 -0
- package/components/suggestion/index.js +25 -0
- package/components/suggestion/suggestion.d.ts +45 -0
- package/components/suggestion-CEJiW_7y.cjs +23 -0
- package/components/suggestion-DK5gxxDI.js +76 -0
- package/components/swatch/index.cjs +1 -32
- package/components/swatch/index.js +8 -325
- package/components/swatch-BLuV-hlF.js +271 -0
- package/components/swatch-G70JUe6I.cjs +49 -0
- package/components/switch/index.cjs +1 -5
- package/components/switch/index.js +8 -56
- package/components/switch-BdE-hI69.js +60 -0
- package/components/switch-KzkrF-ob.cjs +22 -0
- package/components/tabs/index.cjs +1 -76
- package/components/tabs/index.js +8 -619
- package/components/tabs/tabs.d.ts +3 -9
- package/components/tabs-BfTgzdid.cjs +76 -0
- package/components/tabs-BthdwrmW.js +434 -0
- package/components/tags/index.cjs +1 -15
- package/components/tags/index.d.ts +1 -0
- package/components/tags/index.js +8 -156
- package/components/tags/tag.d.ts +28 -0
- package/components/tags/tags.d.ts +3 -1
- package/components/tags-B89eYzsB.js +203 -0
- package/components/tags-OBPAvjdV.cjs +47 -0
- package/components/text-field/index.cjs +1 -4
- package/components/text-field/index.js +9 -45
- package/components/text-field/text-field.d.ts +27 -0
- package/components/text-field-A4Obzs4l.cjs +21 -0
- package/components/text-field-BoGAvXvh.js +44 -0
- package/components/text-field-Cs8HYRYL.js +256 -0
- package/components/text-field-FJr8ZUhI.cjs +81 -0
- package/components/text-field.module-Btsve-VN.js +21 -0
- package/components/text-field.module-D5oDP7MB.cjs +18 -0
- package/components/toast/index.cjs +1 -34
- package/components/toast/index.js +8 -136
- package/components/toast-CJSQUzoW.cjs +51 -0
- package/components/toast-DKwphMrp.js +133 -0
- package/components/tooltip/index.cjs +1 -28
- package/components/tooltip/index.js +8 -205
- package/components/tooltip/tooltip.d.ts +12 -1
- package/components/tooltip-C3O4AQ1l.js +192 -0
- package/components/tooltip-DY1trLtg.cjs +45 -0
- package/components/top-nav/index.cjs +18 -0
- package/components/top-nav/index.d.ts +10 -0
- package/components/top-nav/index.js +25 -0
- package/components/top-nav/top-nav-item.d.ts +26 -0
- package/components/top-nav/top-nav.d.ts +45 -0
- package/components/top-nav-DVQ5ASMa.js +203 -0
- package/components/top-nav-DlTojz8S.cjs +45 -0
- package/components/utils.cjs +1 -1
- package/components/utils.js +8 -25
- package/components/voice-recorder-477xPHRU.js +134 -0
- package/components/voice-recorder-BUtmSvPO.cjs +18 -0
- package/custom-elements.json +1 -1
- package/index.d.ts +11 -1
- package/package.json +134 -5
- package/utils/button-interaction-controllers/interaction-controller.d.ts +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/scaled-indicator.d.ts +8 -0
- package/utils/voice-recorder.d.ts +121 -0
- package/components/NumberFormatter-DewVDY5w.cjs +0 -18
- package/components/NumberFormatter-DgOUVrge.js +0 -136
- package/components/NumberParser-Dik4a0h-.cjs +0 -18
- package/components/NumberParser-ci9J5EKv.js +0 -173
- package/components/action-group-DBImibFn.js +0 -258
- package/components/action-group-DJGMcRHb.cjs +0 -20
- package/components/async-directive-BX1T1e1_.cjs +0 -22
- package/components/async-directive-BfcqVjDp.js +0 -82
- package/components/base-CBCg3yyw.cjs +0 -40
- package/components/base-WsynuqaS.js +0 -677
- package/components/button-base-DbkDzb71.js +0 -144
- package/components/button-base-XgPLmwP-.cjs +0 -25
- package/components/checkbox-mixin-Do7EgtpQ.js +0 -70
- package/components/class-map-Di1D_rCm.cjs +0 -22
- package/components/class-map-NbVXqBU0.js +0 -51
- package/components/clear-button-DQcRdcUa.js +0 -53
- package/components/clear-button-OFUFFe7G.cjs +0 -18
- package/components/close-button-Cbnb7XXj.cjs +0 -18
- package/components/close-button-CqHYZhum.js +0 -51
- package/components/color-controller-DTp1juRz.js +0 -3198
- package/components/color-controller-_ZwyhvaU.cjs +0 -18
- package/components/color-loupe-CaA_Lfkk.cjs +0 -56
- package/components/color-loupe-CmMsXbjT.js +0 -81
- package/components/dependency-manger-C5HCkMMB.cjs +0 -18
- package/components/dependency-manger-CEXvGQUV.js +0 -54
- package/components/directive-C7oCP5Bh.cjs +0 -22
- package/components/directive-helpers-Cm6gitnu.js +0 -62
- package/components/directive-helpers-DyIRTWwA.cjs +0 -22
- package/components/divider.module-DDvBo9zo.cjs +0 -18
- package/components/divider.module-DoQWQEIJ.js +0 -21
- package/components/element-resolution-BvRLGqIU.cjs +0 -18
- package/components/element-resolution-FCUT-wql.js +0 -91
- package/components/field-group-DXfBWrkO.js +0 -66
- package/components/field-group-DkGst3r5.cjs +0 -23
- package/components/field-label-CZ2zzChK.js +0 -106
- package/components/field-label-mO1AkUgR.cjs +0 -25
- package/components/flow-D-0MTYCm.js +0 -527
- package/components/flow-DM3dNAKs.cjs +0 -30
- package/components/focus-group-DHeTq18L.js +0 -218
- package/components/focus-group-DnxZUBhQ.cjs +0 -18
- package/components/focus-visible-B0P9aY_G.cjs +0 -18
- package/components/focus-visible-DBlJGoEW.js +0 -74
- package/components/focusable-BxtpnzWp.js +0 -153
- package/components/focusable-EbipgXRh.cjs +0 -18
- package/components/index-BwxgAdzi.cjs +0 -57
- package/components/index-Cl54m8Yh.js +0 -1490
- package/components/index-HjQa8tew.js +0 -1174
- package/components/index-Wq3qZJGh.cjs +0 -113
- package/components/language-resolution-DJzmyzZq.cjs +0 -18
- package/components/like-anchor-Bvn_vLQ8.js +0 -69
- package/components/like-anchor-sod1C1fR.cjs +0 -32
- package/components/luzmo-icons-4nDFv1Lq.js +0 -229
- package/components/luzmo-icons-D4IvHgVd.cjs +0 -29
- package/components/manage-help-text-DhgARkZX.cjs +0 -30
- package/components/manage-help-text-syYnjKGL.js +0 -92
- package/components/mutation-controller-DH7YOCyj.js +0 -52
- package/components/mutation-controller-DkOMCW-c.cjs +0 -22
- package/components/observe-slot-presence-CmVi0zTc.js +0 -68
- package/components/observe-slot-presence-bc9chhsi.cjs +0 -18
- package/components/observe-slot-text-BPfIQQtz.js +0 -87
- package/components/observe-slot-text-Ceb7SvYT.cjs +0 -18
- package/components/overlay-Cig9r6uU.js +0 -2747
- package/components/overlay-KSKMzzkh.cjs +0 -47
- package/components/pending-state-DTX7ggyF.js +0 -61
- package/components/picker-BfBP7XJN.js +0 -461
- package/components/picker-xIphqE6d.cjs +0 -123
- package/components/platform-BiXhwqk3.cjs +0 -18
- package/components/popover-DjX0aAnY.js +0 -67
- package/components/popover-KFfO0IYL.cjs +0 -30
- package/components/progress-circle-BvRJNuNo.cjs +0 -33
- package/components/progress-circle-DXH9z8-6.js +0 -97
- package/components/query-BL-TJj7K.cjs +0 -22
- package/components/query-D_KR_GUc.js +0 -51
- package/components/query-assigned-elements-DjfhL1cl.js +0 -36
- package/components/query-assigned-elements-DsKsfk7G.cjs +0 -22
- package/components/query-assigned-nodes-BcKWmGzy.cjs +0 -22
- package/components/roving-tabindex-By_fCy_e.cjs +0 -18
- package/components/roving-tabindex-DOg4z6ZU.js +0 -66
- package/components/sized-mixin-CPxE5C96.cjs +0 -18
- package/components/sized-mixin-D4ACoVUr.js +0 -63
- package/components/slottable-request-event-BfUUt1Mh.cjs +0 -18
- package/components/slottable-request-event-DggLA4Rx.js +0 -31
- package/components/state-D8JEtYqe.cjs +0 -22
- package/components/strategies-9indNIEb.js +0 -195
- package/components/strategies-BACP6MhR.cjs +0 -18
- package/components/streaming-listener-B00MvALi.cjs +0 -18
- package/components/streaming-listener-CP-JE6Fa.js +0 -91
- package/components/style-map-CeilmSgs.cjs +0 -22
- package/components/style-map-IgqIKvlE.js +0 -53
- package/components/text-field-BTkr42k4.cjs +0 -85
- package/components/text-field-ol9Ed5lQ.js +0 -314
- package/components/text-field.module-ColtFhf_.js +0 -21
- package/components/text-field.module-p_VF2tC_.cjs +0 -18
- package/components/unit-input/index.cjs +0 -43
- package/components/unit-input/index.d.ts +0 -7
- package/components/unit-input/index.js +0 -183
- package/components/unit-input/unit-input.d.ts +0 -33
- /package/components/date-time-picker/{helpers.d.ts → shared/helpers.d.ts} +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/date/day-segment.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/date/month-segment.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/date/year-segment.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/date-time-segments.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/editable-segment.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/literal-segment.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/modifiers/clear-modifier.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/modifiers/decrement-modifier.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/modifiers/increment-modifier.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/modifiers/input-modifier.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/modifiers/segments-modifier.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/segments-factory.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/segments-formatter.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/time/day-period-segment.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/time/hour-segment.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/time/millisecond-segment.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/time/minute-segment.d.ts +0 -0
- /package/components/date-time-picker/{segments → shared/segments}/time/second-segment.d.ts +0 -0
|
@@ -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
|
+
require(`./chunk-D-qHiVGv.cjs`);const e=require(`./decorate-B2wePfNm.cjs`),t=require(`./slottable-request-event-gAcEQan2.cjs`),n=require(`./overlay-DdrfkOry.cjs`);let r=require(`lit`),i=require(`lit/decorators.js`),a=require(`lit/async-directive.js`);var o=`:host([disabled]) ::slotted([slot=trigger]){pointer-events:none}slot[name=longpress-describedby-descriptor]{display:none}`,s=class extends e.n{constructor(...e){super(...e),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[(0,r.unsafeCSS)(o)]}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){let{target:t}=e,n;if(t===this.clickOverlayElement)n=`click`;else if(t===this.longpressOverlayElement)n=`longpress`;else if(t===this.hoverOverlayElement)n=`hover`;else return;e.newState===`open`?this.open=n:this.open===n&&(this.open=void 0)}update(e){e.has(`clickContent`)&&(this.clickPlacement=this.clickContent[0]?.getAttribute(`placement`)||this.clickContent[0]?.getAttribute(`direction`)||void 0),e.has(`hoverContent`)&&(this.hoverPlacement=this.hoverContent[0]?.getAttribute(`placement`)||this.hoverContent[0]?.getAttribute(`direction`)||void 0),e.has(`longpressContent`)&&(this.longpressPlacement=this.longpressContent[0]?.getAttribute(`placement`)||this.longpressContent[0]?.getAttribute(`direction`)||void 0),super.update(e)}renderSlot(e){return r.html`
|
|
19
|
+
<slot name=${e} @slotchange=${this.handleSlotContent}></slot>
|
|
20
|
+
`}renderClickOverlay(){let e=this.renderSlot(`click-content`),t=r.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
|
+
`;return this.triggeredBy?.includes(`click`)?t:this.clickContent.length===0?e:t}renderHoverOverlay(){let e=this.renderSlot(`hover-content`),t=r.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
|
+
`;return this.triggeredBy?.includes(`hover`)?t:this.hoverContent.length===0?e:t}renderLongpressOverlay(){let e=this.renderSlot(`longpress-content`),t=r.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
|
+
`;return this.triggeredBy?.includes(`longpress`)?t:this.longpressContent.length===0?e:t}render(){return r.html`
|
|
67
|
+
<slot
|
|
68
|
+
id="trigger"
|
|
69
|
+
name="trigger"
|
|
70
|
+
@slotchange=${this.handleTriggerContent}
|
|
71
|
+
></slot>
|
|
72
|
+
${[this.renderClickOverlay(),this.renderHoverOverlay(),this.renderLongpressOverlay()]}
|
|
73
|
+
`}updated(e){if(super.updated(e),this.disabled&&e.has(`disabled`)){this.open=void 0;return}}async getUpdateComplete(){return await super.getUpdateComplete()}};e.t([(0,i.property)()],s.prototype,`content`,void 0),e.t([(0,i.property)({attribute:`triggered-by`})],s.prototype,`triggeredBy`,void 0),e.t([(0,i.property)({reflect:!0})],s.prototype,`placement`,void 0),e.t([(0,i.property)()],s.prototype,`type`,void 0),e.t([(0,i.property)({type:Number})],s.prototype,`offset`,void 0),e.t([(0,i.property)({reflect:!0})],s.prototype,`open`,void 0),e.t([(0,i.property)({type:Boolean,reflect:!0})],s.prototype,`disabled`,void 0),e.t([(0,i.property)({attribute:`receives-focus`})],s.prototype,`receivesFocus`,void 0),e.t([(0,i.state)()],s.prototype,`clickContent`,void 0),e.t([(0,i.state)()],s.prototype,`longpressContent`,void 0),e.t([(0,i.state)()],s.prototype,`hoverContent`,void 0),e.t([(0,i.state)()],s.prototype,`targetContent`,void 0),e.t([(0,i.query)(`#click-overlay`,!0)],s.prototype,`clickOverlayElement`,void 0),e.t([(0,i.query)(`#longpress-overlay`,!0)],s.prototype,`longpressOverlayElement`,void 0),e.t([(0,i.query)(`#hover-overlay`,!0)],s.prototype,`hoverOverlayElement`,void 0);function c(e,t,r,i){return n.t.open(e,t,r,i)}var l=class extends a.AsyncDirective{render(e){return r.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){e.target===e.currentTarget&&(0,r.render)(e.data===t.n?void 0:this.template(),this.target,{renderBefore:this.renderBefore})}init(){this.listeners?.abort(),this.listeners=new AbortController;let{signal:e}=this.listeners;this.listenerHost.addEventListener(`slottable-request`,e=>this.handleSlottableRequest(e),{signal:e})}disconnected(){this.listeners?.abort()}reconnected(){this.init()}},u=(0,a.directive)(l),d=class extends l{constructor(...e){super(...e),this.defaultOptions={triggerInteraction:`click`,overlayOptions:{type:`auto`,offset:0}},this.options={...this.defaultOptions.overlayOptions}}render(e,t){return r.nothing}update(e,[t,r]){this.options={...this.defaultOptions.overlayOptions,...r?.overlayOptions},this.insertionOptions=r?.insertionOptions,this.template=t,this.host=e.options?.host;let i=!1,a=r?.triggerInteraction||this.defaultOptions.triggerInteraction,o=n.l[this.strategy?.type]!==a;this.target!==e.element&&(this.target=e.element,i=!0),(i||o)&&(this.strategy?.abort(),this.strategy=new n.r[a](this.target,{isPersistent:!0,handleOverlayReady:e=>{this.listenerHost=this.overlay=e,this.init()}})),this.strategy.open=r?.open??!1}handleSlottableRequest(e){if(e.target!==e.currentTarget)return;let i=e.data===t.n,a={};if(this.host&&(a.host=this.host),(0,r.render)(i?void 0:this.template(),this.overlay,a),i)this.overlay.remove();else{n.h.applyOptions(this.overlay,{...this.options,trigger:this.target});let e=typeof this.insertionOptions?.el==`function`?this.insertionOptions.el():this.insertionOptions?.el||this.target,{where:t=`afterend`}=this.insertionOptions||{};e.insertAdjacentElement(t,this.overlay)}}},f=(0,a.directive)(d);customElements.get(`luzmo-overlay`)||customElements.define(`luzmo-overlay`,n.t),customElements.get(`luzmo-overlay-trigger`)||customElements.define(`luzmo-overlay-trigger`,s),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});
|
|
@@ -0,0 +1,227 @@
|
|
|
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 { n as e, t } from "./decorate-aGxJUVxg.js";
|
|
19
|
+
import { n } from "./slottable-request-event-DZ2Z_BLk.js";
|
|
20
|
+
import { h as r, l as i, r as a, t as o } from "./overlay-8tN0KPbR.js";
|
|
21
|
+
import { html as s, nothing as c, render as l, unsafeCSS as u } from "lit";
|
|
22
|
+
import { property as d, query as f, state as p } from "lit/decorators.js";
|
|
23
|
+
import { AsyncDirective as m, directive as h } from "lit/async-directive.js";
|
|
24
|
+
//#region src/components/overlay/overlay-trigger.module.scss?inline
|
|
25
|
+
var g = ":host([disabled]) ::slotted([slot=trigger]){pointer-events:none}slot[name=longpress-describedby-descriptor]{display:none}", _ = class extends e {
|
|
26
|
+
constructor(...e) {
|
|
27
|
+
super(...e), this.content = "click hover longpress", this.offset = 6, this.disabled = !1, this.receivesFocus = "auto", this.clickContent = [], this.longpressContent = [], this.hoverContent = [], this.targetContent = [];
|
|
28
|
+
}
|
|
29
|
+
static get styles() {
|
|
30
|
+
return [u(g)];
|
|
31
|
+
}
|
|
32
|
+
getAssignedElementsFromSlot(e) {
|
|
33
|
+
return e.assignedElements({ flatten: !0 });
|
|
34
|
+
}
|
|
35
|
+
handleTriggerContent(e) {
|
|
36
|
+
this.targetContent = this.getAssignedElementsFromSlot(e.target);
|
|
37
|
+
}
|
|
38
|
+
handleSlotContent(e) {
|
|
39
|
+
switch (e.target.name) {
|
|
40
|
+
case "click-content":
|
|
41
|
+
this.clickContent = this.getAssignedElementsFromSlot(e.target);
|
|
42
|
+
break;
|
|
43
|
+
case "longpress-content":
|
|
44
|
+
this.longpressContent = this.getAssignedElementsFromSlot(e.target);
|
|
45
|
+
break;
|
|
46
|
+
case "hover-content":
|
|
47
|
+
this.hoverContent = this.getAssignedElementsFromSlot(e.target);
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
handleBeforetoggle(e) {
|
|
52
|
+
let { target: t } = e, n;
|
|
53
|
+
if (t === this.clickOverlayElement) n = "click";
|
|
54
|
+
else if (t === this.longpressOverlayElement) n = "longpress";
|
|
55
|
+
else if (t === this.hoverOverlayElement) n = "hover";
|
|
56
|
+
else return;
|
|
57
|
+
e.newState === "open" ? this.open = n : this.open === n && (this.open = void 0);
|
|
58
|
+
}
|
|
59
|
+
update(e) {
|
|
60
|
+
e.has("clickContent") && (this.clickPlacement = this.clickContent[0]?.getAttribute("placement") || this.clickContent[0]?.getAttribute("direction") || void 0), e.has("hoverContent") && (this.hoverPlacement = this.hoverContent[0]?.getAttribute("placement") || this.hoverContent[0]?.getAttribute("direction") || void 0), e.has("longpressContent") && (this.longpressPlacement = this.longpressContent[0]?.getAttribute("placement") || this.longpressContent[0]?.getAttribute("direction") || void 0), super.update(e);
|
|
61
|
+
}
|
|
62
|
+
renderSlot(e) {
|
|
63
|
+
return s`
|
|
64
|
+
<slot name=${e} @slotchange=${this.handleSlotContent}></slot>
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
renderClickOverlay() {
|
|
68
|
+
let e = this.renderSlot("click-content"), t = s`
|
|
69
|
+
<luzmo-overlay
|
|
70
|
+
id="click-overlay"
|
|
71
|
+
?disabled=${this.disabled || this.clickContent.length === 0}
|
|
72
|
+
?open=${this.open === "click" && this.clickContent.length > 0}
|
|
73
|
+
.offset=${this.offset}
|
|
74
|
+
.placement=${this.clickPlacement || this.placement}
|
|
75
|
+
.triggerElement=${this.targetContent[0]}
|
|
76
|
+
.triggerInteraction=${"click"}
|
|
77
|
+
.type=${this.type === "modal" ? "modal" : "auto"}
|
|
78
|
+
@beforetoggle=${this.handleBeforetoggle}
|
|
79
|
+
.receivesFocus=${this.receivesFocus}
|
|
80
|
+
>
|
|
81
|
+
${e}
|
|
82
|
+
</luzmo-overlay>
|
|
83
|
+
`;
|
|
84
|
+
return this.triggeredBy?.includes("click") ? t : this.clickContent.length === 0 ? e : t;
|
|
85
|
+
}
|
|
86
|
+
renderHoverOverlay() {
|
|
87
|
+
let e = this.renderSlot("hover-content"), t = s`
|
|
88
|
+
<luzmo-overlay
|
|
89
|
+
id="hover-overlay"
|
|
90
|
+
?open=${this.open === "hover" && this.hoverContent.length > 0}
|
|
91
|
+
?disabled=${this.disabled || this.hoverContent.length === 0 || !!this.open && this.open !== "hover"}
|
|
92
|
+
.offset=${this.offset}
|
|
93
|
+
.placement=${this.hoverPlacement || this.placement}
|
|
94
|
+
.triggerElement=${this.targetContent[0]}
|
|
95
|
+
.triggerInteraction=${"hover"}
|
|
96
|
+
.type=${"hint"}
|
|
97
|
+
@beforetoggle=${this.handleBeforetoggle}
|
|
98
|
+
.receivesFocus=${this.receivesFocus}
|
|
99
|
+
>
|
|
100
|
+
${e}
|
|
101
|
+
</luzmo-overlay>
|
|
102
|
+
`;
|
|
103
|
+
return this.triggeredBy?.includes("hover") ? t : this.hoverContent.length === 0 ? e : t;
|
|
104
|
+
}
|
|
105
|
+
renderLongpressOverlay() {
|
|
106
|
+
let e = this.renderSlot("longpress-content"), t = s`
|
|
107
|
+
<luzmo-overlay
|
|
108
|
+
id="longpress-overlay"
|
|
109
|
+
?disabled=${this.disabled || this.longpressContent.length === 0}
|
|
110
|
+
?open=${this.open === "longpress" && this.longpressContent.length > 0}
|
|
111
|
+
.offset=${this.offset}
|
|
112
|
+
.placement=${this.longpressPlacement || this.placement}
|
|
113
|
+
.triggerElement=${this.targetContent[0]}
|
|
114
|
+
.triggerInteraction=${"longpress"}
|
|
115
|
+
.type=${"auto"}
|
|
116
|
+
@beforetoggle=${this.handleBeforetoggle}
|
|
117
|
+
.receivesFocus=${this.receivesFocus}
|
|
118
|
+
>
|
|
119
|
+
${e}
|
|
120
|
+
</luzmo-overlay>
|
|
121
|
+
<slot name="longpress-describedby-descriptor"></slot>
|
|
122
|
+
`;
|
|
123
|
+
return this.triggeredBy?.includes("longpress") ? t : this.longpressContent.length === 0 ? e : t;
|
|
124
|
+
}
|
|
125
|
+
render() {
|
|
126
|
+
return s`
|
|
127
|
+
<slot
|
|
128
|
+
id="trigger"
|
|
129
|
+
name="trigger"
|
|
130
|
+
@slotchange=${this.handleTriggerContent}
|
|
131
|
+
></slot>
|
|
132
|
+
${[
|
|
133
|
+
this.renderClickOverlay(),
|
|
134
|
+
this.renderHoverOverlay(),
|
|
135
|
+
this.renderLongpressOverlay()
|
|
136
|
+
]}
|
|
137
|
+
`;
|
|
138
|
+
}
|
|
139
|
+
updated(e) {
|
|
140
|
+
if (super.updated(e), this.disabled && e.has("disabled")) {
|
|
141
|
+
this.open = void 0;
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async getUpdateComplete() {
|
|
146
|
+
return await super.getUpdateComplete();
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
t([d()], _.prototype, "content", void 0), t([d({ attribute: "triggered-by" })], _.prototype, "triggeredBy", void 0), t([d({ reflect: !0 })], _.prototype, "placement", void 0), t([d()], _.prototype, "type", void 0), t([d({ type: Number })], _.prototype, "offset", void 0), t([d({ reflect: !0 })], _.prototype, "open", void 0), t([d({
|
|
150
|
+
type: Boolean,
|
|
151
|
+
reflect: !0
|
|
152
|
+
})], _.prototype, "disabled", void 0), t([d({ attribute: "receives-focus" })], _.prototype, "receivesFocus", void 0), t([p()], _.prototype, "clickContent", void 0), t([p()], _.prototype, "longpressContent", void 0), t([p()], _.prototype, "hoverContent", void 0), t([p()], _.prototype, "targetContent", void 0), t([f("#click-overlay", !0)], _.prototype, "clickOverlayElement", void 0), t([f("#longpress-overlay", !0)], _.prototype, "longpressOverlayElement", void 0), t([f("#hover-overlay", !0)], _.prototype, "hoverOverlayElement", void 0);
|
|
153
|
+
//#endregion
|
|
154
|
+
//#region src/components/overlay/loader.ts
|
|
155
|
+
function v(e, t, n, r) {
|
|
156
|
+
return o.open(e, t, n, r);
|
|
157
|
+
}
|
|
158
|
+
//#endregion
|
|
159
|
+
//#region src/components/overlay/slottable-request-directive.ts
|
|
160
|
+
var y = class extends m {
|
|
161
|
+
/* c8 ignore next 9 */
|
|
162
|
+
render(e) {
|
|
163
|
+
return c;
|
|
164
|
+
}
|
|
165
|
+
update(e, [t]) {
|
|
166
|
+
this.template = t, this.target !== e.element && (this.target = e.element, this.renderBefore = this.target.children[0]), this.listenerHost = this.target, this.init();
|
|
167
|
+
}
|
|
168
|
+
handleSlottableRequest(e) {
|
|
169
|
+
e.target === e.currentTarget && l(e.data === n ? void 0 : this.template(), this.target, { renderBefore: this.renderBefore });
|
|
170
|
+
}
|
|
171
|
+
init() {
|
|
172
|
+
this.listeners?.abort(), this.listeners = new AbortController();
|
|
173
|
+
let { signal: e } = this.listeners;
|
|
174
|
+
this.listenerHost.addEventListener("slottable-request", (e) => this.handleSlottableRequest(e), { signal: e });
|
|
175
|
+
}
|
|
176
|
+
disconnected() {
|
|
177
|
+
this.listeners?.abort();
|
|
178
|
+
}
|
|
179
|
+
/* c8 ignore next 3 */
|
|
180
|
+
reconnected() {
|
|
181
|
+
this.init();
|
|
182
|
+
}
|
|
183
|
+
}, b = h(y), x = class extends y {
|
|
184
|
+
constructor(...e) {
|
|
185
|
+
super(...e), this.defaultOptions = {
|
|
186
|
+
triggerInteraction: "click",
|
|
187
|
+
overlayOptions: {
|
|
188
|
+
type: "auto",
|
|
189
|
+
offset: 0
|
|
190
|
+
}
|
|
191
|
+
}, this.options = { ...this.defaultOptions.overlayOptions };
|
|
192
|
+
}
|
|
193
|
+
/* c8 ignore next 9 */
|
|
194
|
+
render(e, t) {
|
|
195
|
+
return c;
|
|
196
|
+
}
|
|
197
|
+
update(e, [t, n]) {
|
|
198
|
+
this.options = {
|
|
199
|
+
...this.defaultOptions.overlayOptions,
|
|
200
|
+
...n?.overlayOptions
|
|
201
|
+
}, this.insertionOptions = n?.insertionOptions, this.template = t, this.host = e.options?.host;
|
|
202
|
+
let r = !1, o = n?.triggerInteraction || this.defaultOptions.triggerInteraction, s = i[this.strategy?.type] !== o;
|
|
203
|
+
this.target !== e.element && (this.target = e.element, r = !0), (r || s) && (this.strategy?.abort(), this.strategy = new a[o](this.target, {
|
|
204
|
+
isPersistent: !0,
|
|
205
|
+
handleOverlayReady: (e) => {
|
|
206
|
+
this.listenerHost = this.overlay = e, this.init();
|
|
207
|
+
}
|
|
208
|
+
})), this.strategy.open = n?.open ?? !1;
|
|
209
|
+
}
|
|
210
|
+
handleSlottableRequest(e) {
|
|
211
|
+
/* c8 ignore next 1 */
|
|
212
|
+
if (e.target !== e.currentTarget) return;
|
|
213
|
+
let t = e.data === n, i = {};
|
|
214
|
+
if (this.host && (i.host = this.host), l(t ? void 0 : this.template(), this.overlay, i), t) this.overlay.remove();
|
|
215
|
+
else {
|
|
216
|
+
r.applyOptions(this.overlay, {
|
|
217
|
+
...this.options,
|
|
218
|
+
trigger: this.target
|
|
219
|
+
});
|
|
220
|
+
let e = typeof this.insertionOptions?.el == "function" ? this.insertionOptions.el() : this.insertionOptions?.el || this.target, { where: t = "afterend" } = this.insertionOptions || {};
|
|
221
|
+
e.insertAdjacentElement(t, this.overlay);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}, S = h(x);
|
|
225
|
+
customElements.get("luzmo-overlay") || customElements.define("luzmo-overlay", o), customElements.get("luzmo-overlay-trigger") || customElements.define("luzmo-overlay-trigger", _);
|
|
226
|
+
//#endregion
|
|
227
|
+
export { v as a, b as i, S as n, _ as o, y as r, x as t };
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./decorate-B2wePfNm.cjs`),n=require(`./condition-attribute-with-id-DauPaLSS.cjs`),r=require(`./random-id-B51lUxUB.cjs`),i=require(`./element-resolution-C0aiOB0Y.cjs`),a=require(`./slottable-request-event-gAcEQan2.cjs`),o=require(`./focusable-selectors-5n5liBn0.cjs`),s=require(`./platform-B7Sk7Qon.cjs`);let c=require(`lit`),l=require(`lit/decorators.js`),u=require(`lit/directives/if-defined.js`),d=require(`lit/directives/style-map.js`),f=require(`@floating-ui/dom`);function p(e,t,n=[]){for(let[r,i]of t.entries()){let t=e[r],a=t.parentElement||t.getRootNode();n[r]&&n[r](i),a&&a!==t&&t.replaceWith(i),delete e[r]}return t}var m=(e,t,{position:n,prepareCallback:r}={position:`beforeend`})=>{let{length:i}=e;if(i===0)return()=>e;let a=1,o=0;(n===`afterbegin`||n===`afterend`)&&(a=-1,o=i-1);let s=Array(i),c=Array(i),l=typeof document<`u`?document.createComment(`placeholder for reparented element`):null;do{let i=e[o];r&&(c[o]=r(i)),s[o]=l.cloneNode();let u=i.parentElement||i.getRootNode();u&&u!==i&&u.replaceChild(s[o],i),t.insertAdjacentElement(n,i),o+=a}while(--i>0);return function(){return p(s,e,c)}},h=1e3,g=1e3,_=new class{constructor(e={}){this.warmUpDelay=h,this.coolDownDelay=g,this.isWarm=!1,this.timeout=0,Object.assign(this,e)}openTimer(e){if(this.cancelCooldownTimer(),!this.component||e!==this.component)return this.component&&(this.close(this.component),this.cancelCooldownTimer()),this.component=e,this.isWarm?Promise.resolve(!1):(this.promise=new Promise(e=>{this.resolve=e,this.timeout=typeof window>`u`?0:window.setTimeout(()=>{this.resolve&&(this.resolve(!1),this.isWarm=!0)},this.warmUpDelay)}),this.promise);if(this.promise)return this.promise;throw Error(`Inconsistent state`)}close(e){this.component&&this.component===e&&(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&&typeof window<`u`&&window.clearTimeout(this.cooldownTimeout),this.cooldownTimeout=typeof window>`u`?void 0:window.setTimeout(()=>{this.isWarm=!1,delete this.cooldownTimeout},this.coolDownDelay))}cancelCooldownTimer(){this.cooldownTimeout&&typeof window<`u`&&window.clearTimeout(this.cooldownTimeout),delete this.cooldownTimeout}},v=()=>{},y=(e,t,n)=>{let r=new AbortController,i=new Map,a=()=>{r.abort(),n()},o,s,c=requestAnimationFrame(()=>{o=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{a()})})}),l=t=>{t.target===e&&(i.set(t.propertyName,i.get(t.propertyName)-1),i.get(t.propertyName)||i.delete(t.propertyName),i.size===0&&a())};e.addEventListener(`transitionrun`,t=>{t.target===e&&(i.has(t.propertyName)||i.set(t.propertyName,0),i.set(t.propertyName,i.get(t.propertyName)+1),cancelAnimationFrame(c),cancelAnimationFrame(o),cancelAnimationFrame(s))},{signal:r.signal}),e.addEventListener(`transitionend`,l,{signal:r.signal}),e.addEventListener(`transitioncancel`,l,{signal:r.signal}),t()};function b(){return new Promise(e=>requestAnimationFrame(()=>e()))}var x=class e extends t.n{constructor(...e){super(...e),this.dispose=v,this.offset=0,this.willPreventClose=!1}applyFocus(e,t){}get delayed(){return!1}set delayed(e){}get disabled(){return!1}set disabled(e){}get elementResolver(){return this._elementResolver}set elementResolver(e){this._elementResolver=e}ensureOnDOM(e){}makeTransition(e){return null}manageDelay(e){}manageDialogOpen(){}managePopoverOpen(){}managePosition(){}get open(){return!1}set open(e){}get placementController(){return this._placementController}set placementController(e){this._placementController=e}requestSlottable(){}returnFocus(){}get state(){return`closed`}set state(e){}manuallyKeepOpen(){}static update(){let e=new CustomEvent(`luzmo-update-overlays`,{bubbles:!0,composed:!0,cancelable:!0});document.dispatchEvent(e)}static async open(t,n,r,i){await Promise.resolve().then(()=>Z);let a=arguments.length===2,o=r||t,s=new this,c=!1,l=m([o],s,{position:`beforeend`,prepareCallback:e=>{let t=e.slot;return e.removeAttribute(`slot`),()=>{e.slot=t}}});if(s.dispose=()=>{s.addEventListener(`luzmo-closed`,()=>{c||=(l(),!0),requestAnimationFrame(()=>{s.remove()})}),s.open=!1,s.dispose=v},!a&&o&&i){let r=t,a=n,c=i;return e.applyOptions(s,{...c,delayed:c.delayed||o.hasAttribute(`delayed`),trigger:c.virtualTrigger||r,type:a===`modal`?`modal`:a===`hover`?`hint`:`auto`}),r.after(s),await s.updateComplete,s.open=!0,s.dispose}let u=n;return s.append(o),e.applyOptions(s,{...u,delayed:u.delayed||o.hasAttribute(`delayed`)}),s.updateComplete.then(()=>{s.open=!0}),s}static applyOptions(e,t){e.delayed=!!t.delayed,e.receivesFocus=t.receivesFocus??`auto`,e.triggerElement=t.trigger||null,e.type=t.type||`modal`,e.offset=t.offset??0,e.placement=t.placement,e.willPreventClose=!!t.notImmediatelyClosable}},S=e=>e.querySelector(o.n),C=e=>e.assignedElements().find(e=>e.matches(o.n)),w=class extends Event{constructor(){super(`beforetoggle`,{bubbles:!1,composed:!1}),this.currentState=`open`,this.newState=`closed`}},T=class extends Event{constructor(){super(`beforetoggle`,{bubbles:!1,composed:!1}),this.currentState=`closed`,this.newState=`open`}},E=class extends Event{constructor(e,t,{publish:n,interaction:r,reason:i}){super(e,{bubbles:n,composed:n}),this.overlay=t,this.detail={interaction:r,reason:i}}},D=class{constructor(e,t,n){this.x=0,this.y=0,this.x=e,this.y=t,this.rectTop=n}updateBoundingClientRect(e,t,n){this.x=e,this.y=t,this.rectTop=n,x.update()}getBoundingClientRect(){let e=this.rectTop??this.y;return{width:0,height:this.y-e,top:e,right:this.x,y:e,x:this.x,bottom:this.y,left:this.x,toJSON(){}}}};function ee(e){class t extends e{async manageDialogOpen(){let e=this.open;if(await b(),await this.managePosition(),this.open!==e)return;let t=await this.dialogMakeTransition(e);this.open===e&&await this.dialogApplyFocus(e,t)}dialogMakeTransition(e){let t=null,n=(n,r)=>()=>{if(n.open=e,!e){let e=()=>{n.removeEventListener(`close`,e)};n.addEventListener(`close`,e)}if(r>0)return;let i=e?T:w;this.dispatchEvent(new i),e&&(n.matches(o.n)&&(t=n),t||=S(n),t||n.querySelectorAll(`slot`).forEach(e=>{t||=C(e)}),!(!this.isConnected||this.dialogEl.open)&&this.dialogEl.showModal())},r=(t,n)=>()=>{if(this.open!==e)return;let r=e?`luzmo-opened`:`luzmo-closed`;if(n>0){t.dispatchEvent(new E(r,this,{interaction:this.type,publish:!1}));return}if(!this.isConnected||e!==this.open)return;let i=async()=>{let n=this.triggerElement instanceof D;this.dispatchEvent(new E(r,this,{interaction:this.type,publish:n})),t.dispatchEvent(new E(r,this,{interaction:this.type,publish:!1})),this.triggerElement&&!n&&this.triggerElement.dispatchEvent(new E(r,this,{interaction:this.type,publish:!0})),this.state=e?`opened`:`closed`,this.returnFocus(),await b(),await b(),e===this.open&&e===!1&&this.requestSlottable()};!e&&this.dialogEl.open?(this.dialogEl.addEventListener(`close`,()=>{i()},{once:!0}),this.dialogEl.close()):i()};return this.elements.forEach((e,t)=>{y(e,n(e,t),r(e,t))}),t}dialogApplyFocus(e,t){this.applyFocus(e,t)}}return t}function O(e){class t extends e{async managePopoverOpen(){await this.managePosition()}async manageDelay(e){if(e===!1||e!==this.open){_.close(this);return}this.delayed&&await _.openTimer(this)&&(this.open=!e)}ensureOnDOM(e){document.body.offsetHeight}makeTransition(e){if(this.open!==e)return null;let t=null,n=(n,r)=>()=>{if(e===this.open){if(n.open=e,r===0){let t=e?T:w;this.dispatchEvent(new t)}e===!0&&(n.matches(o.n)&&(t=n),t||=S(n),!t&&n.querySelectorAll(`slot`).forEach(e=>{t||=C(e)}))}},r=(t,n)=>async()=>{if(this.open!==e)return;let r=e?`luzmo-opened`:`luzmo-closed`;if(t.dispatchEvent(new E(r,this,{interaction:this.type})),n>0)return;let i=this.triggerElement instanceof D;this.dispatchEvent(new E(r,this,{interaction:this.type,publish:i})),this.triggerElement&&!i&&this.triggerElement.dispatchEvent(new E(r,this,{interaction:this.type,publish:!0})),this.state=e?`opened`:`closed`,this.returnFocus(),await b(),await b(),e===this.open&&e===!1&&this.requestSlottable()};return this.elements.forEach((e,t)=>{y(e,n(e,t),r(e,t))}),t}}return t}var k=typeof CSS<`u`&&CSS.supports(`(overlay: auto)`);function A(e){let t=!1;try{t=e.matches(`:popover-open`)}catch{}let n=!1;try{n=e.matches(`:open`)}catch{}return t||n}function j(e){class t extends e{async manageDelay(e){if(e===!1||e!==this.open){_.close(this);return}this.delayed&&await _.openTimer(this)&&(this.open=!e)}shouldHidePopover(e){if(e&&this.open!==e)return;let t=async({newState:e}={})=>{e!==`open`&&await this.placementController.resetOverlayPosition()};if(!A(this.dialogEl)){t();return}this.dialogEl.addEventListener(`toggle`,t,{once:!0})}shouldShowPopover(e){let t=!1;try{t=this.dialogEl.matches(`:popover-open`)}catch{}let n=!1;try{n=this.dialogEl.matches(`:open`)}catch{}e&&this.open===e&&!t&&!n&&this.isConnected&&(this.dialogEl.showPopover(),this.managePosition())}async ensureOnDOM(e){k||await this.shouldHidePopover(e),this.shouldShowPopover(e),await b()}makeTransition(e){if(this.open!==e)return null;let t=null,n=(n,r)=>()=>{if(n.open=e,r===0){let t=e?T:w;this.dispatchEvent(new t)}e&&(n.matches(o.n)&&(t=n),t||=S(n),!t&&n.querySelectorAll(`slot`).forEach(e=>{t||=C(e)}))},r=(t,n)=>()=>{if(this.open!==e)return;let r=e?`luzmo-opened`:`luzmo-closed`;if(n>0){t.dispatchEvent(new E(r,this,{interaction:this.type,publish:!1}));return}let i=async()=>{if(this.open!==e)return;await b();let n=this.triggerElement instanceof D;this.dispatchEvent(new E(r,this,{interaction:this.type,publish:n})),t.dispatchEvent(new E(r,this,{interaction:this.type,publish:!1})),this.triggerElement&&!n&&this.triggerElement.dispatchEvent(new E(r,this,{interaction:this.type,publish:!0})),this.state=e?`opened`:`closed`,this.returnFocus(),await b(),await b(),e===this.open&&e===!1&&this.requestSlottable()};if(this.open!==e)return;let a=A(this.dialogEl);e!==!0&&a&&this.isConnected?(this.dialogEl.addEventListener(`beforetoggle`,()=>{i()},{once:!0}),this.dialogEl.hidePopover()):i()};return this.elements.forEach((e,t)=>{y(e,n(e,t),r(e,t))}),t}}return t}var M=typeof document<`u`&&`showPopover`in document.createElement(`div`),N=new class{get document(){return this.root.ownerDocument||document}constructor(){this.root=typeof document>`u`?null:document.body,this.stack=[],this.handleScroll=e=>{typeof document<`u`&&e.target!==document&&e.target!==document.documentElement&&e.target!==document.body||this.stack.forEach(t=>{t.open&&(t.type===`auto`&&t.triggerElement instanceof HTMLElement&&t.triggerElement.closest(`luzmo-picker, luzmo-select, luzmo-action-menu`)&&e.stopPropagation(),typeof document<`u`&&document.dispatchEvent(new CustomEvent(`luzmo-update-overlays`,{bubbles:!0,composed:!0,cancelable:!0})))})},this.handlePointerdown=e=>{this.pointerdownPath=e.composedPath(),this.lastOverlay=this.stack.at(-1)},this.handlePointerup=()=>{let e=this.pointerdownPath;if(this.pointerdownPath=void 0,this.stack.length===0||!e?.length)return;let t=this.lastOverlay;this.lastOverlay=void 0;let n=this.stack.length-1,r=this.stack.filter((r,i)=>!e.find(e=>e===r||e===r?.triggerElement&&r?.type===`hint`||i===n&&r!==t&&r.triggerInteraction===`longpress`)&&!r.shouldPreventClose()&&r.type!==`manual`&&!(r.type===`modal`&&t!==r));r.reverse(),r.forEach(e=>{this.closeOverlay(e);let t=e.parentOverlayToForceClose;for(;t;)this.closeOverlay(t),t=t.parentOverlayToForceClose})},this.handleBeforetoggle=e=>{let{target:t,newState:n}=e;n!==`open`&&this.closeOverlay(t)},this.handleKeydown=e=>{if(e.code!==`Escape`||this.stack.length===0)return;let t=this.stack.at(-1);if(t?.type===`page`){e.preventDefault();return}if(t?.type===`manual`){this.closeOverlay(t);return}M||t&&this.closeOverlay(t)},typeof document<`u`&&this.bindEvents()}bindEvents(){typeof document<`u`&&(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(e){let t=this.stack.indexOf(e);t!==-1&&this.stack.splice(t,1),e.open=!1}overlaysByTriggerElement(e){return this.stack.filter(t=>t.triggerElement===e)}add(e){if(this.stack.includes(e)){let t=this.stack.indexOf(e);t!==-1&&(this.stack.splice(t,1),this.stack.push(e));return}if(e.type===`auto`||e.type===`modal`||e.type===`page`){let t=`luzmo-overlay-query-path`,n=new Event(t,{composed:!0,bubbles:!0});e.addEventListener(t,e=>{let t=e.composedPath();this.stack.forEach(e=>{!t.find(t=>t===e)&&e.type!==`manual`&&e.type!==`modal`&&this.closeOverlay(e)})},{once:!0}),e.dispatchEvent(n)}else if(e.type===`hint`){if(this.stack.some(t=>t.type!==`manual`&&t.triggerElement&&t.triggerElement===e.triggerElement)){e.open=!1;return}this.stack.forEach(e=>{e.type===`hint`&&this.closeOverlay(e)})}requestAnimationFrame(()=>{this.stack.push(e),e.addEventListener(`beforetoggle`,this.handleBeforetoggle,{once:!0})})}remove(e){this.closeOverlay(e)}},P=`:host{pointer-events:none;--luzmo-overlay-animation-distance:.5rem;display:contents}:host(:has(>luzmo-tooltip)){--luzmo-overlay-animation-distance:var(--luzmo-tooltip-animation-distance,4px)}.dialog{box-sizing:border-box;--luzmo-overlay-open:true;background:0 0;border:0;max-width:calc(100vw - 16px);height:auto;max-height:calc(100dvh - 16px);margin:0;padding:0;display:flex;position:fixed;inset:0 auto auto 0;overflow:visible;opacity:1!important}.dialog:not([is-visible]){display:none}.dialog:focus{outline:none}dialog:modal{--luzmo-popover-filter:drop-shadow(0px 2px 6px #00000026)}:host(:not([open])) .dialog{--luzmo-overlay-open:false}.dialog::backdrop{display:none}.dialog:before{content:"";position:absolute;inset:-999em;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 #00000026)}}@supports selector(:popover-open){.dialog{opacity:0}.dialog:popover-open{opacity:1;--luzmo-popover-filter:drop-shadow(0px 2px 6px #00000026)}}@supports (overlay:auto){.dialog{transition:all var(--luzmo-overlay-animation-duration,.13s), translate 0s, display var(--luzmo-overlay-animation-duration,.13s);transition-behavior:allow-discrete;display:none}:is(.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))}}`;function F(e){if(e===void 0)return 0;let t=window.devicePixelRatio||1;return Math.round(e*t)/t}var I=8,L=100,R=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],te=Symbol(`placement updated`),z=class{constructor(e){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=e,this.host.addController(this)}placeOverlay(e=this.target,t=this.options){if(this.target=e,this.options=t,!e||!t)return;let n=(0,f.autoUpdate)(t.trigger,e,this.closeForAncestorUpdate,{ancestorResize:!1,elementResize:!1,layoutShift:!1}),r=(0,f.autoUpdate)(t.trigger,e,this.updatePlacement,{ancestorScroll:!1});this.cleanup=()=>{this.host.elements?.forEach(e=>{e.addEventListener(`luzmo-closed`,()=>{let t=this.originalPlacements.get(e);t&&e.setAttribute(`placement`,t),this.originalPlacements.delete(e)},{once:!0})}),n(),r()}}async computePlacement(){let{options:e,target:t}=this;await(document.fonts?document.fonts.ready:Promise.resolve());let n=e.trigger instanceof HTMLElement?(0,f.flip)():(0,f.flip)({padding:I,fallbackPlacements:R(e.placement)}),[r=0,i=0]=Array.isArray(e?.offset)?e.offset:[e.offset,0],a=this.host.elements.find(e=>e.tipElement)?.tipElement,o=[(0,f.offset)({mainAxis:r,crossAxis:i}),(0,f.shift)({padding:I}),n,(0,f.size)({padding:I,apply:({availableWidth:e,availableHeight:n,rects:{floating:r}})=>{let i=Math.max(L,Math.floor(n)),a=r.height;this.initialHeight=this.isConstrained&&this.initialHeight||a,this.isConstrained=a<this.initialHeight||i<=a;let o=this.isConstrained?`${i}px`:``;Object.assign(t.style,{maxWidth:`${Math.floor(e)}px`,maxHeight:o})}}),...a?[(0,f.arrow)({element:a,padding:e.tipPadding||I})]:[]],{x:s,y:c,placement:l,middlewareData:u}=await(0,f.computePosition)(e.trigger,t,{placement:e.placement,middleware:o,strategy:`fixed`});if(Object.assign(t.style,{top:`0px`,left:`0px`,translate:`${F(s)}px ${F(c)}px`}),t.setAttribute(`actual-placement`,l),this.host.elements?.forEach(e=>{this.originalPlacements.has(e)||this.originalPlacements.set(e,e.getAttribute(`placement`)),e.setAttribute(`placement`,l)}),a&&u.arrow){let{x:e,y:t}=u.arrow;Object.assign(a.style,{top:l.startsWith(`right`)||l.startsWith(`left`)?`0px`:``,left:l.startsWith(`bottom`)||l.startsWith(`top`)?`0px`:``,translate:`${F(e)}px ${F(t)}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(){this.host.open||(this.cleanup?.(),this.cleanup=void 0)}hostDisconnected(){this.cleanup?.(),this.cleanup=void 0,document.removeEventListener(`luzmo-update-overlays`,this.resetOverlayPosition)}},B=function(e){return e.click=`click`,e.hover=`hover`,e.longpress=`longpress`,e}({}),V=Symbol(`lastInteractionType`),H=`remove-focus-ring-safari-hack`,U=class{get activelyOpening(){return!1}get open(){return this.overlay?.open??this.isLazilyOpen}set open(e){if(e!==this.open){if(this.isLazilyOpen=e,this.overlay){this.overlay.open=e,this.target[V]=this.type;return}e&&Promise.resolve().then(()=>require(`./overlay/index.cjs`)).then(()=>{this.overlay=document.createElement(`luzmo-overlay`),this.overlay.open=!0,this.target[V]=this.type})}}get overlay(){return this._overlay}set overlay(e){e&&this.overlay!==e&&(this.overlay&&this.overlay.removeController(this),this._overlay=e,this.overlay.addController(this),this.initOverlay(),this.prepareDescription(this.target),this.handleOverlayReady?.(this.overlay))}constructor(e,{overlay:t,isPersistent:n,handleOverlayReady:r}){this.target=e,this.isLazilyOpen=!1,this.isPersistent=!1,this.isPersistent=!!n,this.handleOverlayReady=r,this.isPersistent&&this.init(),this.overlay=t}prepareDescription(e){}releaseDescription(){}shouldCompleteOpen(){}init(){}initOverlay(){}abort(){this.releaseDescription(),this.abortController?.abort()}hostConnected(){this.init()}hostDisconnected(){this.isPersistent||this.abort()}},W=class extends U{constructor(...e){super(...e),this.type=B.click,this.preventNextToggle=!1}handleClick(){this.preventNextToggle||(this.open=!this.open),this.preventNextToggle=!1}handlePointerdown(){this.preventNextToggle=this.open}init(){this.abortController?.abort(),this.abortController=new AbortController;let{signal:e}=this.abortController;this.target.addEventListener(`click`,()=>this.handleClick(),{signal:e}),this.target.addEventListener(`pointerdown`,()=>this.handlePointerdown(),{signal:e})}},G=300,K=class extends U{constructor(...e){super(...e),this.type=B.hover,this.elementIds=[],this.focusedin=!1,this.pointerentered=!1}handleKeyup(e){(e.code===`Tab`||e.code===`Escape`)&&(this.open=!0,this.removeSafariFocusRingClass())}handleTargetFocusin(){if(this.target.matches(`:focus-visible`)){if(s.u()&&this.target[V]===B.click){this.target.classList.add(H);return}this.open=!0,this.focusedin=!0,this.removeSafariFocusRingClass()}}handleTargetFocusout(){this.removeSafariFocusRingClass(),this.focusedin=!1,!this.pointerentered&&(this.open=!1)}handleTargetPointerenter(){this.hoverTimeout&&=(clearTimeout(this.hoverTimeout),void 0),!this.overlay?.disabled&&(this.open=!0,this.pointerentered=!0)}handleTargetPointerleave(){this.doPointerleave()}handleHostPointerenter(){this.hoverTimeout&&=(clearTimeout(this.hoverTimeout),void 0)}handleHostPointerleave(){this.doPointerleave()}prepareDescription(){if(this.overlay.elements.length===0)return;let e=this.target.getRootNode(),t=this.overlay.elements[0].getRootNode();e===this.overlay.getRootNode()?this.prepareOverlayRelativeDescription():e===t&&this.prepareContentRelativeDescription()}prepareOverlayRelativeDescription(){let e=n.t(this.target,`aria-describedby`,[this.overlay.id]);this.releaseDescription=()=>{e(),this.releaseDescription=v}}prepareContentRelativeDescription(){let e=[],t=this.overlay.elements.map(t=>(e.push(t.id),t.id||=`${this.overlay.tagName.toLowerCase()}-helper-${r.t()}`,t.id));this.elementIds=e;let i=n.t(this.target,`aria-describedby`,t);this.releaseDescription=()=>{i(),this.overlay.elements.map((e,t)=>{e.id=this.elementIds[t]}),this.releaseDescription=v}}doPointerleave(){this.pointerentered=!1;let e=this.target;this.focusedin&&e.matches(`:focus-visible`)||(this.hoverTimeout=setTimeout(()=>{this.open=!1},G))}init(){this.abortController?.abort(),this.abortController=new AbortController;let{signal:e}=this.abortController;this.target.addEventListener(`keyup`,e=>this.handleKeyup(e),{signal:e}),this.target.addEventListener(`focusin`,()=>this.handleTargetFocusin(),{signal:e}),this.target.addEventListener(`focusout`,()=>this.handleTargetFocusout(),{signal:e}),this.target.addEventListener(`pointerenter`,()=>this.handleTargetPointerenter(),{signal:e}),this.target.addEventListener(`pointerleave`,()=>this.handleTargetPointerleave(),{signal:e}),this.overlay&&this.initOverlay()}initOverlay(){if(!this.abortController)return;let{signal:e}=this.abortController;this.overlay.addEventListener(`pointerenter`,()=>this.handleHostPointerenter(),{signal:e}),this.overlay.addEventListener(`pointerleave`,()=>this.handleHostPointerleave(),{signal:e})}removeSafariFocusRingClass(){s.u()&&this.target.classList.contains(`remove-focus-ring-safari-hack`)&&this.target.classList.remove(H)}},q=300,J={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`},Y=class extends U{constructor(...e){super(...e),this.type=B.longpress,this.longpressState=null,this.releaseDescription=v,this.handlePointerup=()=>{clearTimeout(this.timeout),this.target&&(this.longpressState=this.overlay?.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(e){this.target&&e.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`}}))},q)))}handleKeydown(e){let{code:t,altKey:n}=e;n&&t===`ArrowDown`&&(e.stopPropagation(),e.stopImmediatePropagation())}handleKeyup(e){let{code:t,altKey:n}=e;if(t===`Space`||n&&t===`ArrowDown`){if(!this.target)return;e.stopPropagation(),this.target.dispatchEvent(new CustomEvent(`longpress`,{bubbles:!0,composed:!0,detail:{source:`keyboard`}})),setTimeout(()=>{this.longpressState=null})}}prepareDescription(e){if(this.releaseDescription!==v||this.overlay.elements.length===0)return;let t=document.createElement(`div`);t.id=`longpress-describedby-descriptor-${r.t()}`,t.textContent=J[s.a()||s.t()?`touch`:`keyboard`],t.slot=`longpress-describedby-descriptor`;let i=e.getRootNode();i===this.overlay.getRootNode()?this.overlay.append(t):(t.hidden=!(`host`in i),e.after(t));let a=n.t(e,`aria-describedby`,[t.id]);this.releaseDescription=()=>{a(),t.remove(),this.releaseDescription=v}}shouldCompleteOpen(){this.longpressState=this.longpressState===`pressed`?null:this.longpressState}init(){this.abortController?.abort(),this.abortController=new AbortController;let{signal:e}=this.abortController;this.target.addEventListener(`longpress`,()=>this.handleLongpress(),{signal:e}),this.target.addEventListener(`pointerdown`,e=>this.handlePointerdown(e),{signal:e}),this.prepareDescription(this.target),!this.target.holdAffordance&&(this.target.addEventListener(`keydown`,e=>this.handleKeydown(e),{signal:e}),this.target.addEventListener(`keyup`,e=>this.handleKeyup(e),{signal:e}))}},X={click:W,longpress:Y,hover:K},Z=e.t({LuzmoOverlay:()=>$}),ne=typeof document<`u`&&`showPopover`in document.createElement(`div`),Q=ee(x);Q=ne?j(Q):O(Q);var $=class e extends Q{constructor(...e){super(...e),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;let t=new Event(`overlay-relation-query`,{bubbles:!0,composed:!0});e.relatedTarget.addEventListener(t.type,e=>{e.composedPath().includes(this)||(this.open=!1)}),e.relatedTarget.dispatchEvent(t)}}static{this.styles=[(0,c.unsafeCSS)(P)]}get delayed(){return this.elements.at(-1)?.hasAttribute(`delayed`)||this._delayed}set delayed(e){this._delayed=e}get disabled(){return this._disabled}set disabled(e){this._disabled=e,e?(this.strategy?.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 D)}get placementController(){return this._placementController||=new z(this),this._placementController}get open(){return this._open}set open(t){t&&this.disabled||t!==this.open&&(this.strategy?.activelyOpening&&!t||(this._open=t,this.open&&(e.openCount+=1),this.requestUpdate(`open`,!this.open),this.open&&this.requestSlottable()))}static{this.openCount=1}get state(){return this._state}set state(e){if(e===this.state)return;let t=this.state;this._state=e,(this.state===`opened`||this.state===`closed`)&&this.strategy?.shouldCompleteOpen(),this.requestUpdate(`state`,t)}get elementResolver(){return this._elementResolver||=new i.t(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;let e=this.offset||0,t=this.triggerElement,n=this.placement||`right`,r=this.tipPadding;this.placementController.placeOverlay(this.dialogEl,{offset:e,placement:n,tipPadding:r,trigger:t,type:this.type})}async managePopoverOpen(){super.managePopoverOpen();let e=this.open;if(this.open!==e||(await this.manageDelay(e),this.open!==e)||(this.triggerInteraction===`longpress`&&await b(),await this.ensureOnDOM(e),this.open!==e))return;let 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 b(),await b(),e===this.open&&!this.open){this.hasNonVirtualTrigger&&this.contains(this.getRootNode().activeElement)&&this.triggerElement.focus();return}t?.focus()}}returnFocus(){this.open||this.type===`hint`||this.receivesFocus!==`false`&&this.triggerElement?.focus&&(this.contains(this.getRootNode().activeElement)||(()=>{let e=[],t=typeof document>`u`?null:document.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;for(;t;){let n=t.assignedSlot||t.parentElement||t.getRootNode()?.host;n&&e.push(n),t=n}return e})().includes(this)||typeof document<`u`&&document.activeElement===document.body)&&this.triggerElement.focus()}async manageOpen(e){if(!(!this.isConnected&&this.open)&&(this.hasUpdated||await this.updateComplete,this.open?(N.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(),N.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`)){let e=this.getRootNode();this.open?e.addEventListener(`focusout`,this.closeOnFocusOut,{capture:!0}):e.removeEventListener(`focusout`,this.closeOnFocusOut,{capture:!0})}}bindEvents(){this.strategy?.abort(),this.strategy=void 0,this.hasNonVirtualTrigger&&this.triggerInteraction&&(this.strategy=new X[this.triggerInteraction](this.triggerElement,{overlay:this}))}handleBeforetoggle(e){e.newState!==`open`&&this.handleBrowserClose(e)}handleBrowserClose(e){if(e.stopPropagation(),!this.strategy?.activelyOpening){this.open=!1;return}this.manuallyKeepOpen()}handleDialogCancel(e){if(this.type===`page`){e.preventDefault();return}this.handleBrowserClose(e)}manuallyKeepOpen(){this.open=!0,this.placementController.allowPlacementUpdate=!0,this.manageOpen(!1)}handleSlotchange(){this.elements.length===0?this.strategy?.releaseDescription():this.hasNonVirtualTrigger&&this.strategy?.prepareDescription(this.triggerElement)}shouldPreventClose(){let e=this.willPreventClose;return this.willPreventClose=!1,e}requestSlottable(){this.lastRequestSlottableState!==this.open&&(this.open||document.body.offsetHeight,this.dispatchEvent(new a.t(`overlay-content`,this.open?{}:a.n)),this.lastRequestSlottableState=this.open)}willUpdate(e){if(this.hasAttribute(`id`)||this.setAttribute(`id`,`${this.tagName.toLowerCase()}-${r.t()}`),e.has(`open`)&&(this.hasUpdated||this.open)&&this.manageOpen(e.get(`open`)),e.has(`trigger`)){let[e,t]=this.trigger?.split(`@`)||[];this.elementResolver.selector=e?`#${e}`:``,this.triggerInteraction=t}let t=!1;e.has(i.n)&&(t=this.triggerElement,this.triggerElement=this.elementResolver.element),e.has(`triggerElement`)&&(t=e.get(`triggerElement`)),t!==!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 c.html` <slot @slotchange=${this.handleSlotchange}></slot> `}get dialogStyleMap(){return{"--luzmo-overlay-open-count":e.openCount.toString()}}renderDialog(){return c.html`
|
|
19
|
+
<dialog
|
|
20
|
+
class="dialog"
|
|
21
|
+
part="dialog"
|
|
22
|
+
placement=${(0,u.ifDefined)(this.requiresPositioning?this.placement||`right`:void 0)}
|
|
23
|
+
style=${(0,d.styleMap)(this.dialogStyleMap)}
|
|
24
|
+
@close=${this.handleBrowserClose}
|
|
25
|
+
@cancel=${this.handleDialogCancel}
|
|
26
|
+
@beforetoggle=${this.handleBeforetoggle}
|
|
27
|
+
?is-visible=${this.state!==`closed`}
|
|
28
|
+
>
|
|
29
|
+
${this.renderContent()}
|
|
30
|
+
</dialog>
|
|
31
|
+
`}renderPopover(){return c.html`
|
|
32
|
+
<div
|
|
33
|
+
class="dialog"
|
|
34
|
+
part="dialog"
|
|
35
|
+
placement=${(0,u.ifDefined)(this.requiresPositioning?this.placement||`right`:void 0)}
|
|
36
|
+
popover=${(0,u.ifDefined)(this.popoverValue)}
|
|
37
|
+
style=${(0,d.styleMap)(this.dialogStyleMap)}
|
|
38
|
+
@beforetoggle=${this.handleBeforetoggle}
|
|
39
|
+
@close=${this.handleBrowserClose}
|
|
40
|
+
?is-visible=${this.state!==`closed`}
|
|
41
|
+
>
|
|
42
|
+
${this.renderContent()}
|
|
43
|
+
</div>
|
|
44
|
+
`}render(){return c.html`
|
|
45
|
+
${this.type===`modal`||this.type===`page`?this.renderDialog():this.renderPopover()}
|
|
46
|
+
<slot name="longpress-describedby-descriptor"></slot>
|
|
47
|
+
`}connectedCallback(){super.connectedCallback(),this.addEventListener(`close`,()=>{this.open=!1}),this.addEventListener(`luzmo-close`,()=>{this.open=!1}),this.hasUpdated&&this.bindEvents()}disconnectedCallback(){this.strategy?.releaseDescription(),this.open=!1,super.disconnectedCallback()}};t.t([(0,l.property)({type:Boolean})],$.prototype,`delayed`,null),t.t([(0,l.query)(`.dialog`)],$.prototype,`dialogEl`,void 0),t.t([(0,l.property)({type:Boolean})],$.prototype,`disabled`,null),t.t([(0,l.queryAssignedElements)({flatten:!0,selector:`:not([slot="longpress-describedby-descriptor"], slot)`})],$.prototype,`elements`,void 0),t.t([(0,l.property)({type:Number})],$.prototype,`offset`,void 0),t.t([(0,l.property)({type:Boolean,reflect:!0})],$.prototype,`open`,null),t.t([(0,l.property)()],$.prototype,`placement`,void 0),t.t([(0,l.property)({attribute:`receives-focus`})],$.prototype,`receivesFocus`,void 0),t.t([(0,l.query)(`slot`)],$.prototype,`slotEl`,void 0),t.t([(0,l.state)()],$.prototype,`state`,null),t.t([(0,l.property)({type:Number,attribute:`tip-padding`})],$.prototype,`tipPadding`,void 0),t.t([(0,l.property)()],$.prototype,`trigger`,void 0),t.t([(0,l.property)({attribute:!1})],$.prototype,`triggerElement`,void 0),t.t([(0,l.property)({attribute:!1})],$.prototype,`triggerInteraction`,void 0),t.t([(0,l.property)()],$.prototype,`type`,void 0),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return _}});
|
|
@@ -0,0 +1,50 @@
|
|
|
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 "./progress-circle-Cg_ua9Ff.js";
|
|
19
|
+
import { html as e } from "lit";
|
|
20
|
+
//#region src/utils/reactive-controllers/pending-state.ts
|
|
21
|
+
var t = class {
|
|
22
|
+
constructor(e) {
|
|
23
|
+
this.cachedAriaLabel = null, this.host = e, this.host.addController(this);
|
|
24
|
+
}
|
|
25
|
+
renderPendingState() {
|
|
26
|
+
let t = this.host.pendingLabel || "Pending";
|
|
27
|
+
return this.host.pending ? e`
|
|
28
|
+
<luzmo-progress-circle
|
|
29
|
+
id="loader"
|
|
30
|
+
size="s"
|
|
31
|
+
indeterminate
|
|
32
|
+
label=${t}
|
|
33
|
+
aria-valuetext=${t}
|
|
34
|
+
class="progress-circle"
|
|
35
|
+
></luzmo-progress-circle>
|
|
36
|
+
` : e``;
|
|
37
|
+
}
|
|
38
|
+
updateAriaLabel() {
|
|
39
|
+
let { pending: e, disabled: t, pendingLabel: n } = this.host, r = this.host.getAttribute("aria-label");
|
|
40
|
+
e && !t && r !== n ? (this.cachedAriaLabel = r, this.host.setAttribute("aria-label", n || "Pending")) : (!e || t) && (this.cachedAriaLabel ? this.host.setAttribute("aria-label", this.cachedAriaLabel) : e || this.host.removeAttribute("aria-label"));
|
|
41
|
+
}
|
|
42
|
+
hostConnected() {
|
|
43
|
+
this.cachedAriaLabel ||= this.host.getAttribute("aria-label"), this.updateAriaLabel();
|
|
44
|
+
}
|
|
45
|
+
hostUpdated() {
|
|
46
|
+
this.updateAriaLabel();
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
//#endregion
|
|
50
|
+
export { t };
|
|
@@ -15,12 +15,13 @@
|
|
|
15
15
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
16
16
|
* SOFTWARE.
|
|
17
17
|
* */
|
|
18
|
-
|
|
18
|
+
require(`./chunk-D-qHiVGv.cjs`),require(`./progress-circle-DuzwUiGN.cjs`);let e=require(`lit`);var t=class{constructor(e){this.cachedAriaLabel=null,this.host=e,this.host.addController(this)}renderPendingState(){let t=this.host.pendingLabel||`Pending`;return this.host.pending?e.html`
|
|
19
19
|
<luzmo-progress-circle
|
|
20
20
|
id="loader"
|
|
21
21
|
size="s"
|
|
22
22
|
indeterminate
|
|
23
|
-
|
|
23
|
+
label=${t}
|
|
24
|
+
aria-valuetext=${t}
|
|
24
25
|
class="progress-circle"
|
|
25
26
|
></luzmo-progress-circle>
|
|
26
|
-
`:
|
|
27
|
+
`:e.html``}updateAriaLabel(){let{pending:e,disabled:t,pendingLabel:n}=this.host,r=this.host.getAttribute(`aria-label`);e&&!t&&r!==n?(this.cachedAriaLabel=r,this.host.setAttribute(`aria-label`,n||`Pending`)):(!e||t)&&(this.cachedAriaLabel?this.host.setAttribute(`aria-label`,this.cachedAriaLabel):e||this.host.removeAttribute(`aria-label`))}hostConnected(){this.cachedAriaLabel||=this.host.getAttribute(`aria-label`),this.updateAriaLabel()}hostUpdated(){this.updateAriaLabel()}};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
|
|
@@ -15,4 +15,4 @@
|
|
|
15
15
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
16
16
|
* SOFTWARE.
|
|
17
17
|
* */
|
|
18
|
-
|
|
18
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../picker-C4RVOxLq.cjs`);customElements.get(`luzmo-picker`)||customElements.define(`luzmo-picker`,e.n),exports.DESCRIPTION_ID=e.t,exports.LuzmoPicker=e.n,exports.LuzmoPickerBase=e.r;
|
|
@@ -15,18 +15,14 @@
|
|
|
15
15
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
16
16
|
* SOFTWARE.
|
|
17
17
|
* */
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
export {
|
|
29
|
-
c as DESCRIPTION_ID,
|
|
30
|
-
r as LuzmoPicker,
|
|
31
|
-
z as LuzmoPickerBase
|
|
32
|
-
};
|
|
18
|
+
(() => {
|
|
19
|
+
if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
|
|
20
|
+
let e = document.createElement("style");
|
|
21
|
+
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: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-full-down: color-mix(in oklch, var(--luzmo-border-color-full), black 45%);--luzmo-border-color-full-focus: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--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-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-disabled: var(--luzmo-disabled-color);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-font-color-down: color-mix(in oklch, var(--luzmo-font-color), black 20%);--luzmo-font-color-focus: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-primary: #4434ff;--luzmo-primary-hover: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-down: color-mix(in oklch, var(--luzmo-primary), black 20%);--luzmo-primary-focus: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5%);--luzmo-background-color-down: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 7%), black 1%);--luzmo-background-color-focus: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5%);--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: color-mix(in oklch, var(--luzmo-background-color-highlight), black 25%);--luzmo-background-color-highlight-down: color-mix(in oklch, var(--luzmo-background-color-highlight), black 45%);--luzmo-background-color-highlight-focus: color-mix(in oklch, var(--luzmo-background-color-highlight), black 25%);--luzmo-secondary: #d000d0;--luzmo-secondary-hover: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-down: color-mix(in oklch, var(--luzmo-secondary), black 20%);--luzmo-secondary-focus: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 208, 0, 208;--luzmo-scrollbar-size: 6px;--luzmo-scrollbar-thumb-background: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-scrollbar-thumb-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-hover-background: rgba( var(--luzmo-border-color-rgb), 0.4 );--luzmo-scrollbar-track-background: transparent;--luzmo-scrollbar-track-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-width: thin;--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-down: color-mix(in oklch, var(--luzmo-negative-color), black 20%);--luzmo-negative-color-focus: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-negative-inverse-color: #ffffff;--luzmo-positive-color: rgb(18, 133, 90);--luzmo-positive-color-hover: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-down: color-mix(in oklch, var(--luzmo-positive-color), black 20%);--luzmo-positive-color-focus: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-rgb: 18, 133, 90;--luzmo-positive-inverse-color: #ffffff;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-down: color-mix(in oklch, var(--luzmo-selected-color), black 45%);--luzmo-selected-color-focus: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-selected-color-hard-down: color-mix(in oklch, var(--luzmo-selected-color-hard), black 45%);--luzmo-selected-color-hard-focus: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-informative-color: #1670dd;--luzmo-informative-color-rgb: 22, 112, 221;--luzmo-notice-color: rgb(229, 127, 0);--luzmo-seafoam-color: rgb(0, 140, 140);--luzmo-indigo-color: rgb(68, 52, 255);--luzmo-purple-color: rgb(112, 48, 210);--luzmo-fuchsia-color: rgb(205, 30, 170);--luzmo-magenta-color: rgb(203, 36, 98);--luzmo-yellow-color: rgb(228, 208, 0);--luzmo-gray-color: rgb(110, 110, 110);--luzmo-red-color: rgb(202, 34, 28);--luzmo-orange-color: rgb(218, 123, 17);--luzmo-chartreuse-color: rgb(85, 135, 0);--luzmo-celery-color: rgb(48, 134, 22);--luzmo-green-color: rgb(18, 133, 90);--luzmo-cyan-color: rgb(0, 134, 180);--luzmo-blue-color: rgb(22, 112, 221);--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: 10px;--luzmo-icon-size-xs: 12px;--luzmo-icon-size-s: 14px;--luzmo-icon-size-m: 16px;--luzmo-icon-size-l: 18px;--luzmo-icon-size-xl: 20px;--luzmo-icon-size-xxl: 32px}", document.head.appendChild(e);
|
|
22
|
+
}
|
|
23
|
+
})();
|
|
24
|
+
import { n as e, r as t, t as n } from "../picker-agQW7YNo.js";
|
|
25
|
+
//#region src/components/picker/index.ts
|
|
26
|
+
customElements.get("luzmo-picker") || customElements.define("luzmo-picker", e);
|
|
27
|
+
//#endregion
|
|
28
|
+
export { n as DESCRIPTION_ID, e as LuzmoPicker, t as LuzmoPickerBase };
|
|
@@ -107,6 +107,7 @@ export declare class LuzmoPickerBase extends LuzmoPickerBase_base {
|
|
|
107
107
|
connectedCallback(): void;
|
|
108
108
|
disconnectedCallback(): void;
|
|
109
109
|
applyFocusElementLabel: (value: string, labelElement: any) => void;
|
|
110
|
+
protected handleEscape: (event: KeyboardEvent) => void;
|
|
110
111
|
protected handleKeydown: (event: KeyboardEvent) => void;
|
|
111
112
|
protected setValueFromItem(item: LuzmoMenuItem, menuChangeEvent?: Event): Promise<void>;
|
|
112
113
|
protected setMenuItemSelected(item: LuzmoMenuItem, value: boolean): void;
|