@luzmo/lucero 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/accordion-item.d.ts +24 -0
- package/components/accordion/accordion.d.ts +42 -0
- package/components/accordion/index.cjs +43 -0
- package/components/accordion/index.d.ts +10 -0
- package/{lib → components}/accordion/index.js +10 -11
- package/components/action-bar/action-bar.d.ts +42 -0
- package/components/action-bar/index.cjs +39 -0
- package/components/action-bar/index.d.ts +7 -0
- package/{lib → components}/action-bar/index.js +9 -10
- package/components/action-button/action-button.d.ts +81 -0
- package/components/action-button/index.cjs +24 -0
- package/components/action-button/index.d.ts +7 -0
- package/{lib → components}/action-button/index.js +6 -7
- package/components/action-group/action-group.d.ts +50 -0
- package/{lib → components}/action-group/index.cjs +1 -1
- package/components/action-group/index.d.ts +7 -0
- package/{lib → components}/action-group/index.js +1 -1
- package/{lib/action-group-BoIH8s8R.js → components/action-group-B7oQXv30.js} +11 -12
- package/components/action-group-C8YUQzt8.cjs +20 -0
- package/components/action-menu/action-menu.d.ts +40 -0
- package/{lib → components}/action-menu/index.cjs +5 -5
- package/components/action-menu/index.d.ts +7 -0
- package/{lib → components}/action-menu/index.js +10 -11
- package/{lib/async-directive-FGzMycjH.js → components/async-directive-BhRGSTWB.js} +1 -1
- package/{lib/async-directive-CV2MII86.cjs → components/async-directive-_65ULPLK.cjs} +1 -1
- package/components/avatar/avatar.d.ts +31 -0
- package/components/avatar/index.cjs +24 -0
- package/components/avatar/index.d.ts +7 -0
- package/{lib → components}/avatar/index.js +13 -14
- package/components/base-CxUap9HL.js +665 -0
- package/components/base-rtxi7uaR.cjs +40 -0
- package/components/button/button-base.d.ts +44 -0
- package/components/button/button.d.ts +59 -0
- package/components/button/clear-button.d.ts +22 -0
- package/components/button/close-button.d.ts +24 -0
- package/components/button/index.cjs +20 -0
- package/components/button/index.d.ts +13 -0
- package/{lib → components}/button/index.js +11 -12
- package/{lib/button-base-DgtT6sU5.js → components/button-base-CgrTYVgq.js} +11 -12
- package/components/button-base-DjqSZyn2.cjs +25 -0
- package/components/button-group/button-group.d.ts +19 -0
- package/components/button-group/index.cjs +18 -0
- package/components/button-group/index.d.ts +7 -0
- package/{lib → components}/button-group/index.js +7 -8
- package/components/checkbox/checkbox-base.d.ts +9 -0
- package/components/checkbox/checkbox-mixin.d.ts +14 -0
- package/components/checkbox/checkbox.d.ts +54 -0
- package/components/checkbox/index.cjs +25 -0
- package/components/checkbox/index.d.ts +7 -0
- package/{lib → components}/checkbox/index.js +5 -6
- package/{lib/checkbox-mixin-DegQlk5C.js → components/checkbox-mixin-BRluTF9s.js} +15 -16
- package/{lib/checkbox-mixin-H0Hm-VLk.cjs → components/checkbox-mixin-iB-0ivgo.cjs} +3 -3
- package/{lib/clear-button-Ap5H3UyH.js → components/clear-button-CyLF5dx_.js} +6 -7
- package/components/clear-button-DFXE6MLx.cjs +18 -0
- package/components/close-button-CcD-aVqh.cjs +18 -0
- package/{lib/close-button-CGISEF33.js → components/close-button-CzpdWCWI.js} +8 -9
- package/components/color-area/color-area.d.ts +67 -0
- package/components/color-area/index.cjs +80 -0
- package/components/color-area/index.d.ts +7 -0
- package/{lib → components}/color-area/index.js +9 -10
- package/components/color-field/color-field.d.ts +20 -0
- package/components/color-field/index.cjs +23 -0
- package/components/color-field/index.d.ts +7 -0
- package/{lib → components}/color-field/index.js +2 -3
- package/components/color-handle/color-handle.d.ts +13 -0
- package/components/color-handle/index.cjs +24 -0
- package/components/color-handle/index.d.ts +7 -0
- package/{lib → components}/color-handle/index.js +2 -3
- package/components/color-loupe/color-loupe.d.ts +7 -0
- package/{lib → components}/color-loupe/index.cjs +1 -1
- package/components/color-loupe/index.d.ts +7 -0
- package/{lib → components}/color-loupe/index.js +1 -1
- package/components/color-loupe-BN3k1ACF.cjs +56 -0
- package/{lib/color-loupe-DBEApMDT.js → components/color-loupe-CD-dhmB1.js} +3 -4
- package/components/color-menu/color-menu.d.ts +54 -0
- package/components/color-menu/index.cjs +86 -0
- package/components/color-menu/index.d.ts +7 -0
- package/{lib → components}/color-menu/index.js +9 -10
- package/components/color-picker/color-picker.d.ts +39 -0
- package/components/color-picker/index.cjs +48 -0
- package/components/color-picker/index.d.ts +7 -0
- package/{lib → components}/color-picker/index.js +33 -34
- package/components/color-slider/color-slider.d.ts +57 -0
- package/components/color-slider/index.cjs +57 -0
- package/components/color-slider/index.d.ts +7 -0
- package/{lib → components}/color-slider/index.js +5 -6
- package/{lib/directive-helpers-C2vOfhFx.cjs → components/directive-helpers-C3pAxRR3.cjs} +1 -1
- package/{lib/directive-helpers-BLDZnGQv.js → components/directive-helpers-D0vm0gvF.js} +1 -1
- package/components/divider/divider.d.ts +24 -0
- package/components/divider/index.cjs +18 -0
- package/components/divider/index.d.ts +7 -0
- package/{lib → components}/divider/index.js +5 -6
- package/components/field-group/field-group.d.ts +24 -0
- package/{lib → components}/field-group/index.cjs +1 -1
- package/components/field-group/index.d.ts +7 -0
- package/{lib → components}/field-group/index.js +1 -1
- package/{lib/field-group-CBWafIUV.js → components/field-group-DAImvhSF.js} +2 -3
- package/components/field-group-d5Hkb8UW.cjs +23 -0
- package/components/field-label/field-label.d.ts +50 -0
- package/{lib → components}/field-label/index.cjs +1 -1
- package/components/field-label/index.d.ts +7 -0
- package/{lib → components}/field-label/index.js +1 -1
- package/components/field-label-D1zKXSG6.cjs +25 -0
- package/{lib/field-label-BK_tk8vP.js → components/field-label-DY9iRmRI.js} +14 -15
- package/{lib/focusable-DbUg-3Vp.js → components/focusable-Bze9xE25.js} +1 -1
- package/{lib/focusable-Dv_6CFaY.cjs → components/focusable-DyyBr-J-.cjs} +1 -1
- package/components/icon/icon-base.d.ts +11 -0
- package/components/icon/icon.d.ts +12 -0
- package/components/icon/index.cjs +18 -0
- package/components/icon/index.d.ts +7 -0
- package/{lib → components}/icon/index.js +4 -5
- package/{lib/if-defined-Cv6xanXh.cjs → components/if-defined-C-8FyBSN.cjs} +2 -2
- package/{lib/if-defined-CYpcjGCb.js → components/if-defined-XzWkhMhg.js} +1 -1
- package/{lib/index-yNcLzjhM.cjs → components/index-CNtoBntg.cjs} +15 -15
- package/{lib/index-ovT-qVzf.js → components/index-Ci6Jnhu4.js} +8 -9
- package/components/index.cjs +27 -0
- package/{lib/legend-position → components}/index.js +150 -28
- package/components/infield-button/index.cjs +22 -0
- package/components/infield-button/index.d.ts +7 -0
- package/{lib → components}/infield-button/index.js +3 -4
- package/components/infield-button/infield-button.d.ts +25 -0
- package/components/label/index.cjs +18 -0
- package/components/label/index.d.ts +7 -0
- package/{lib → components}/label/index.js +1 -2
- package/components/label/label.d.ts +7 -0
- package/components/legend-position/index.d.ts +7 -0
- package/components/legend-position/legend-position.d.ts +10 -0
- package/{lib/like-anchor-K8W0QYwC.cjs → components/like-anchor-DKuw8fJA.cjs} +4 -4
- package/{lib/like-anchor-cDeGGeHh.js → components/like-anchor-DnsAwo_O.js} +8 -9
- package/{lib/manage-help-text-2mSEy-AD.js → components/manage-help-text-B-FXFXgT.js} +8 -8
- package/{lib/manage-help-text-iOk-zmy8.cjs → components/manage-help-text-I5aYDAKT.cjs} +3 -3
- package/{lib → components}/menu/index.cjs +1 -1
- package/components/menu/index.d.ts +16 -0
- package/{lib → components}/menu/index.js +1 -1
- package/components/menu/menu-divider.d.ts +14 -0
- package/components/menu/menu-group.d.ts +17 -0
- package/components/menu/menu-item.d.ts +125 -0
- package/components/menu/menu.d.ts +119 -0
- package/components/multi-language-field/index.cjs +39 -0
- package/components/multi-language-field/index.d.ts +7 -0
- package/{lib → components}/multi-language-field/index.js +6 -7
- package/components/multi-language-field/multi-language-field.d.ts +41 -0
- package/components/number-field/index.cjs +57 -0
- package/components/number-field/index.d.ts +7 -0
- package/{lib → components}/number-field/index.js +23 -24
- package/components/number-field/number-field.d.ts +113 -0
- package/{lib/observe-slot-text-BmsCNJig.cjs → components/observe-slot-text-DeSKIzvP.cjs} +1 -1
- package/{lib/observe-slot-text-BoFRF-VI.js → components/observe-slot-text-DrM71me1.js} +1 -1
- package/components/overlay/abstract-overlay.d.ts +72 -0
- package/components/overlay/click-controller.d.ts +14 -0
- package/components/overlay/events.d.ts +23 -0
- package/components/overlay/full-size-plugin.d.ts +12 -0
- package/components/overlay/hover-controller.d.ts +20 -0
- package/components/overlay/index.cjs +73 -0
- package/components/overlay/index.d.ts +22 -0
- package/{lib → components}/overlay/index.js +53 -36
- package/components/overlay/interaction-controller.d.ts +38 -0
- package/components/overlay/loader.d.ts +4 -0
- package/components/overlay/longpress-controller.d.ts +21 -0
- package/components/overlay/overlay-dialog.d.ts +4 -0
- package/components/overlay/overlay-events.d.ts +11 -0
- package/components/overlay/overlay-no-popover.d.ts +4 -0
- package/components/overlay/overlay-popover.d.ts +4 -0
- package/components/overlay/overlay-stack.d.ts +44 -0
- package/components/overlay/overlay-timer.d.ts +21 -0
- package/components/overlay/overlay-trigger-directive.d.ts +26 -0
- package/components/overlay/overlay-trigger.d.ts +53 -0
- package/components/overlay/overlay-types.d.ts +50 -0
- package/components/overlay/overlay.d.ts +464 -0
- package/components/overlay/placement-controller.d.ts +157 -0
- package/components/overlay/slottable-request-directive.d.ts +17 -0
- package/components/overlay/slottable-request-event.d.ts +12 -0
- package/components/overlay/strategies.d.ts +8 -0
- package/components/overlay/virtual-trigger.d.ts +7 -0
- package/{lib/overlay-C7QKFqRc.js → components/overlay-C2Cck0Az.js} +53 -43
- package/components/overlay-dn6Xe_vz.cjs +47 -0
- package/{lib/pending-state-D5KTK4_1.js → components/pending-state--XOfTjzE.js} +2 -2
- package/{lib/pending-state-Dbc2HIM2.cjs → components/pending-state-BeJ7iP-O.cjs} +2 -2
- package/components/picker/desktop-controller.d.ts +7 -0
- package/{lib → components}/picker/index.cjs +1 -1
- package/components/picker/index.d.ts +7 -0
- package/{lib → components}/picker/index.js +2 -2
- package/components/picker/interaction-controller.d.ts +43 -0
- package/components/picker/mobile-controller.d.ts +9 -0
- package/components/picker/picker.d.ts +154 -0
- package/components/picker/strategies.d.ts +6 -0
- package/components/picker-8cOc-jjh.cjs +127 -0
- package/components/picker-BZAWrSDk.js +655 -0
- package/{lib → components}/popover/index.cjs +1 -1
- package/components/popover/index.d.ts +7 -0
- package/{lib → components}/popover/index.js +1 -1
- package/components/popover/popover.d.ts +29 -0
- package/components/popover-CCzs4VH8.cjs +30 -0
- package/{lib/popover-ZRVxogyp.js → components/popover-D0EliN0L.js} +7 -8
- package/{lib → components}/progress-circle/index.cjs +1 -1
- package/components/progress-circle/index.d.ts +7 -0
- package/{lib → components}/progress-circle/index.js +1 -1
- package/components/progress-circle/progress-circle.d.ts +35 -0
- package/components/progress-circle-DYSSkjlY.cjs +33 -0
- package/{lib/progress-circle-DpXiqW6a.js → components/progress-circle-_-9sAlMM.js} +5 -6
- package/components/radio/index.cjs +22 -0
- package/components/radio/index.d.ts +10 -0
- package/{lib → components}/radio/index.js +10 -11
- package/components/radio/radio-group.d.ts +27 -0
- package/components/radio/radio.d.ts +39 -0
- package/components/search/index.cjs +45 -0
- package/components/search/index.d.ts +7 -0
- package/{lib → components}/search/index.js +3 -4
- package/components/search/search.d.ts +27 -0
- package/{lib/sized-mixin-BSYHt8nT.cjs → components/sized-mixin-BAI6NiE2.cjs} +1 -1
- package/{lib/sized-mixin-Dl0KoEcV.js → components/sized-mixin-DcJTTohI.js} +1 -1
- package/components/slider/index.cjs +18 -0
- package/components/slider/index.d.ts +7 -0
- package/{lib → components}/slider/index.js +5 -6
- package/components/slider/slider.d.ts +24 -0
- package/{lib/state-BAO-13Bs.js → components/state-D8vot9IB.js} +1 -1
- package/{lib/state-DReJ3hB6.cjs → components/state-WWHLNMRG.cjs} +1 -1
- package/{lib/streaming-listener-DLo0wkMc.js → components/streaming-listener-BbmNyKWO.js} +2 -2
- package/components/streaming-listener-C2A7ZJZP.cjs +18 -0
- package/{lib/style-map-BqvQDFJt.js → components/style-map-CoBJRbvu.js} +1 -1
- package/{lib/style-map-BjBGQ_u3.cjs → components/style-map-DH0jkl7s.cjs} +2 -2
- package/components/swatch/index.cjs +49 -0
- package/components/swatch/index.d.ts +10 -0
- package/{lib → components}/swatch/index.js +9 -10
- package/components/swatch/swatch-group.d.ts +41 -0
- package/components/swatch/swatch.d.ts +40 -0
- package/components/switch/index.cjs +22 -0
- package/components/switch/index.d.ts +7 -0
- package/{lib → components}/switch/index.js +6 -7
- package/components/switch/switch.d.ts +27 -0
- package/components/tags/index.cjs +32 -0
- package/components/tags/index.d.ts +10 -0
- package/{lib → components}/tags/index.js +17 -18
- package/components/tags/tag.d.ts +29 -0
- package/components/tags/tags.d.ts +28 -0
- package/components/text-field/help-text-manager.d.ts +19 -0
- package/components/text-field/help-text.d.ts +20 -0
- package/components/text-field/index.cjs +21 -0
- package/components/text-field/index.d.ts +14 -0
- package/{lib → components}/text-field/index.js +9 -9
- package/components/text-field/manage-help-text.d.ts +13 -0
- package/components/text-field/text-field.d.ts +142 -0
- package/{lib/text-field-DPk332j9.js → components/text-field-05QNK_Lj.js} +28 -30
- package/{lib/text-field-C6Aa7XOb.cjs → components/text-field-BU7yxiOR.cjs} +15 -15
- package/components/toast/index.cjs +51 -0
- package/components/toast/index.d.ts +7 -0
- package/{lib → components}/toast/index.js +2 -3
- package/components/toast/toast.d.ts +77 -0
- package/components/tooltip/index.cjs +45 -0
- package/components/tooltip/index.d.ts +8 -0
- package/{lib → components}/tooltip/index.js +10 -11
- package/components/tooltip/tooltip-directive.d.ts +5 -0
- package/components/tooltip/tooltip.d.ts +55 -0
- package/components/unit-input/index.cjs +43 -0
- package/components/unit-input/index.d.ts +7 -0
- package/{lib → components}/unit-input/index.js +5 -6
- package/components/unit-input/unit-input.d.ts +33 -0
- package/index.d.ts +39 -0
- package/package.json +139 -101
- package/utils/base.d.ts +16 -0
- package/utils/condition-attribute-with-id.d.ts +2 -0
- package/utils/first-focusable-in.d.ts +3 -0
- package/utils/focus-visible.d.ts +29 -0
- package/utils/focusable-selectors.d.ts +2 -0
- package/utils/focusable.d.ts +58 -0
- package/utils/get-css-variable.d.ts +1 -0
- package/utils/get-label-from-slot.d.ts +1 -0
- package/utils/like-anchor.d.ts +23 -0
- package/utils/observe-slot-presence.d.ts +12 -0
- package/utils/observe-slot-text.d.ts +11 -0
- package/utils/platform.d.ts +10 -0
- package/utils/random-id.d.ts +1 -0
- package/utils/reactive-controllers/color.d.ts +54 -0
- package/utils/reactive-controllers/dependency-manger.d.ts +26 -0
- package/utils/reactive-controllers/element-resolution.d.ts +23 -0
- package/utils/reactive-controllers/focus-group.d.ts +62 -0
- package/utils/reactive-controllers/language-resolution.d.ts +11 -0
- package/utils/reactive-controllers/match-media.d.ts +13 -0
- package/utils/reactive-controllers/pending-state.d.ts +41 -0
- package/utils/reactive-controllers/roving-tabindex.d.ts +19 -0
- package/utils/reparent-child.d.ts +4 -0
- package/utils/sized-mixin.d.ts +17 -0
- package/utils/streaming-listener.d.ts +48 -0
- package/lib/accordion/index.cjs +0 -43
- package/lib/action-bar/index.cjs +0 -39
- package/lib/action-button/index.cjs +0 -24
- package/lib/action-group-D4MxBrq8.cjs +0 -20
- package/lib/avatar/index.cjs +0 -24
- package/lib/base-BCmA9Wxv.cjs +0 -30
- package/lib/base-nYalvNMy.js +0 -390
- package/lib/button/index.cjs +0 -20
- package/lib/button-base-B0iB_JTv.cjs +0 -25
- package/lib/button-group/index.cjs +0 -18
- package/lib/checkbox/index.cjs +0 -25
- package/lib/clear-button-D0djuaLb.cjs +0 -18
- package/lib/close-button-BrfeZvjk.cjs +0 -18
- package/lib/color-area/index.cjs +0 -80
- package/lib/color-field/index.cjs +0 -23
- package/lib/color-handle/index.cjs +0 -24
- package/lib/color-loupe-BICpNqFs.cjs +0 -56
- package/lib/color-menu/index.cjs +0 -86
- package/lib/color-picker/index.cjs +0 -48
- package/lib/color-slider/index.cjs +0 -57
- package/lib/divider/index.cjs +0 -18
- package/lib/field-group-TUFvhJkk.cjs +0 -23
- package/lib/field-label-BrJaeORz.cjs +0 -25
- package/lib/icon/index.cjs +0 -18
- package/lib/index.cjs +0 -18
- package/lib/index.js +0 -133
- package/lib/infield-button/index.cjs +0 -22
- package/lib/label/index.cjs +0 -18
- package/lib/legend-position/index.cjs +0 -27
- package/lib/lit-html-B3ugcwD9.js +0 -248
- package/lib/lit-html-p4Oxv2-5.cjs +0 -24
- package/lib/multi-language-field/index.cjs +0 -39
- package/lib/number-field/index.cjs +0 -57
- package/lib/overlay/index.cjs +0 -73
- package/lib/overlay-DScraBAi.cjs +0 -47
- package/lib/picker--2OCYWnV.js +0 -657
- package/lib/picker-B9W7Haf4.cjs +0 -127
- package/lib/popover-CVbjhSnx.cjs +0 -30
- package/lib/progress-circle-CiJoS8J7.cjs +0 -33
- package/lib/radio/index.cjs +0 -22
- package/lib/search/index.cjs +0 -45
- package/lib/slider/index.cjs +0 -18
- package/lib/streaming-listener-Bw4jE33f.cjs +0 -18
- package/lib/swatch/index.cjs +0 -49
- package/lib/switch/index.cjs +0 -22
- package/lib/tags/index.cjs +0 -32
- package/lib/text-field/index.cjs +0 -21
- package/lib/toast/index.cjs +0 -51
- package/lib/tooltip/index.cjs +0 -45
- package/lib/unit-input/index.cjs +0 -43
- /package/{lib → components}/base-BjTwmyRF.cjs +0 -0
- /package/{lib → components}/base-D76d76ww.js +0 -0
- /package/{lib → components}/color-Bg3tYsAQ.js +0 -0
- /package/{lib → components}/color-DphK4hwx.cjs +0 -0
- /package/{lib → components}/condition-attribute-with-id-DrQYZzFS.cjs +0 -0
- /package/{lib → components}/condition-attribute-with-id-Dv4lSRbe.js +0 -0
- /package/{lib → components}/dependency-manger-C5HCkMMB.cjs +0 -0
- /package/{lib → components}/dependency-manger-CEXvGQUV.js +0 -0
- /package/{lib → components}/directive-C7oCP5Bh.cjs +0 -0
- /package/{lib → components}/directive-oAbCiebi.js +0 -0
- /package/{lib → components}/divider.module-CXMNveQc.cjs +0 -0
- /package/{lib → components}/divider.module-DwOuLGU3.js +0 -0
- /package/{lib → components}/element-resolution-BvRLGqIU.cjs +0 -0
- /package/{lib → components}/element-resolution-FCUT-wql.js +0 -0
- /package/{lib → components}/focus-group-DHeTq18L.js +0 -0
- /package/{lib → components}/focus-group-DnxZUBhQ.cjs +0 -0
- /package/{lib → components}/focus-visible-B0P9aY_G.cjs +0 -0
- /package/{lib → components}/focus-visible-DBlJGoEW.js +0 -0
- /package/{lib → components}/focusable-selectors-B4YgbghQ.js +0 -0
- /package/{lib → components}/focusable-selectors-BgFlyFcY.cjs +0 -0
- /package/{lib → components}/index-C1chwzNp.js +0 -0
- /package/{lib → components}/index-DCKCHDTt.cjs +0 -0
- /package/{lib → components}/mutation-controller-DH7YOCyj.js +0 -0
- /package/{lib → components}/mutation-controller-DkOMCW-c.cjs +0 -0
- /package/{lib → components}/platform-CQzYNWKq.cjs +0 -0
- /package/{lib → components}/platform-DQYMG7JI.js +0 -0
- /package/{lib → components}/query-BL-TJj7K.cjs +0 -0
- /package/{lib → components}/query-D_KR_GUc.js +0 -0
- /package/{lib → components}/query-assigned-elements-DjfhL1cl.js +0 -0
- /package/{lib → components}/query-assigned-elements-DsKsfk7G.cjs +0 -0
- /package/{lib → components}/query-assigned-nodes-BcKWmGzy.cjs +0 -0
- /package/{lib → components}/query-assigned-nodes-C76XVPWY.js +0 -0
- /package/{lib → components}/random-id-ByCz1xaq.js +0 -0
- /package/{lib → components}/random-id-CqvckpWe.cjs +0 -0
- /package/{lib → components}/roving-tabindex-By_fCy_e.cjs +0 -0
- /package/{lib → components}/roving-tabindex-DOg4z6ZU.js +0 -0
- /package/{lib → components}/slottable-request-event-BfUUt1Mh.cjs +0 -0
- /package/{lib → components}/slottable-request-event-DggLA4Rx.js +0 -0
- /package/{lib → components}/when-CDK1Tt5Y.js +0 -0
- /package/{lib → components}/when-CDZyJPvd.cjs +0 -0
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import { PropertyValues, TemplateResult } from 'lit';
|
|
2
|
+
import { ElementResolutionController } from '../../utils/reactive-controllers/element-resolution';
|
|
3
|
+
import { AbstractOverlay } from './abstract-overlay';
|
|
4
|
+
import { ClickController } from './click-controller';
|
|
5
|
+
import { HoverController } from './hover-controller';
|
|
6
|
+
import { LongpressController } from './longpress-controller';
|
|
7
|
+
import { OpenableElement, OverlayState, OverlayTypes, Placement, TriggerInteraction } from './overlay-types';
|
|
8
|
+
import { PlacementController } from './placement-controller';
|
|
9
|
+
import { VirtualTrigger } from './virtual-trigger';
|
|
10
|
+
declare let ComputedOverlayBase: typeof AbstractOverlay & import("./overlay-types").Constructor<import("../../utils/base").LuzmoElement>;
|
|
11
|
+
/**
|
|
12
|
+
* @element luzmo-overlay
|
|
13
|
+
*
|
|
14
|
+
* @fires luzmo-opened - announces that an overlay has completed any entry animations
|
|
15
|
+
* @fires luzmo-closed - announce that an overlay has compelted any exit animations
|
|
16
|
+
* @fires slottable-request - requests to add or remove slottable content
|
|
17
|
+
*/
|
|
18
|
+
export declare class Overlay extends ComputedOverlayBase {
|
|
19
|
+
static styles: import("lit").CSSResult[];
|
|
20
|
+
/**
|
|
21
|
+
* An Overlay that is `delayed` will wait until a warm-up period of 1000ms
|
|
22
|
+
* has completed before opening. Once the warm-up period has completed, all
|
|
23
|
+
* subsequent Overlays will open immediately. When no Overlays are opened,
|
|
24
|
+
* a cool-down period of 1000ms will begin. Once the cool-down has completed,
|
|
25
|
+
* the next Overlay to be opened will be subject to the warm-up period if
|
|
26
|
+
* provided that option.
|
|
27
|
+
*
|
|
28
|
+
* This behavior helps to manage the performance and user experience by
|
|
29
|
+
* preventing multiple overlays from opening simultaneously and ensuring
|
|
30
|
+
* a smooth transition between opening and closing overlays.
|
|
31
|
+
*
|
|
32
|
+
* @type {boolean}
|
|
33
|
+
* @default false
|
|
34
|
+
*/
|
|
35
|
+
get delayed(): boolean;
|
|
36
|
+
set delayed(delayed: boolean);
|
|
37
|
+
private _delayed;
|
|
38
|
+
/**
|
|
39
|
+
* A reference to the dialog element within the overlay.
|
|
40
|
+
* This element is expected to have `showPopover` and `hidePopover` methods.
|
|
41
|
+
*/
|
|
42
|
+
dialogEl: HTMLDialogElement & {
|
|
43
|
+
showPopover(): void;
|
|
44
|
+
hidePopover(): void;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Indicates whether the overlay is currently functional or not.
|
|
48
|
+
*
|
|
49
|
+
* When set to `true`, the overlay is disabled, and any active strategy is aborted.
|
|
50
|
+
* The overlay will also close if it is currently open. When set to `false`, the
|
|
51
|
+
* overlay will re-bind events and re-open if it was previously open.
|
|
52
|
+
*
|
|
53
|
+
* @type {boolean}
|
|
54
|
+
* @default false
|
|
55
|
+
*/
|
|
56
|
+
get disabled(): boolean;
|
|
57
|
+
set disabled(disabled: boolean);
|
|
58
|
+
private _disabled;
|
|
59
|
+
/**
|
|
60
|
+
* A query to gather all elements slotted into the default slot, excluding elements
|
|
61
|
+
* with the slot name "longpress-describedby-descriptor".
|
|
62
|
+
*/
|
|
63
|
+
elements: OpenableElement[];
|
|
64
|
+
/**
|
|
65
|
+
* A reference to the parent overlay that should be force-closed, if any.
|
|
66
|
+
*/
|
|
67
|
+
parentOverlayToForceClose?: Overlay;
|
|
68
|
+
/**
|
|
69
|
+
* Determines if the overlay has a non-virtual trigger element.
|
|
70
|
+
*
|
|
71
|
+
* @returns `true` if the trigger element is not a virtual trigger, otherwise `false`.
|
|
72
|
+
*/
|
|
73
|
+
private get hasNonVirtualTrigger();
|
|
74
|
+
/**
|
|
75
|
+
* The `offset` property accepts either a single number to define the offset of the
|
|
76
|
+
* Overlay along the main axis from the trigger, or a 2-tuple to define the offset
|
|
77
|
+
* along both the main axis and the cross axis. This option has no effect when there
|
|
78
|
+
* is no trigger element.
|
|
79
|
+
*
|
|
80
|
+
* @type {number | [number, number]}
|
|
81
|
+
* @default 0
|
|
82
|
+
*/
|
|
83
|
+
offset: number | [number, number];
|
|
84
|
+
/**
|
|
85
|
+
* Provides an instance of the `PlacementController` for managing the positioning
|
|
86
|
+
* of the overlay relative to its trigger element.
|
|
87
|
+
*
|
|
88
|
+
* If the `PlacementController` instance does not already exist, it is created and
|
|
89
|
+
* assigned to the `_placementController` property.
|
|
90
|
+
*
|
|
91
|
+
* @protected
|
|
92
|
+
* @returns The `PlacementController` instance.
|
|
93
|
+
*/
|
|
94
|
+
protected get placementController(): PlacementController;
|
|
95
|
+
/**
|
|
96
|
+
* Indicates whether the Overlay is projected onto the "top layer" or not.
|
|
97
|
+
*
|
|
98
|
+
* When set to `true`, the overlay is open and visible. When set to `false`, the overlay is closed and hidden.
|
|
99
|
+
*
|
|
100
|
+
* @type {boolean}
|
|
101
|
+
* @default false
|
|
102
|
+
*/
|
|
103
|
+
get open(): boolean;
|
|
104
|
+
set open(open: boolean);
|
|
105
|
+
private _open;
|
|
106
|
+
/**
|
|
107
|
+
* Tracks the number of overlays that have been opened.
|
|
108
|
+
*
|
|
109
|
+
* This static property is used to manage the stacking context of multiple overlays.
|
|
110
|
+
*
|
|
111
|
+
* @type {number}
|
|
112
|
+
* @default 1
|
|
113
|
+
*/
|
|
114
|
+
static openCount: number;
|
|
115
|
+
/**
|
|
116
|
+
* Instruct the Overlay where to place itself in relationship to the trigger element.
|
|
117
|
+
*
|
|
118
|
+
* @type {"top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end"}
|
|
119
|
+
*/
|
|
120
|
+
placement?: Placement;
|
|
121
|
+
/**
|
|
122
|
+
* The state in which the last `request-slottable` event was dispatched.
|
|
123
|
+
*
|
|
124
|
+
* This property ensures that overlays do not dispatch the same state twice in a row.
|
|
125
|
+
*
|
|
126
|
+
* @type {boolean}
|
|
127
|
+
* @default false
|
|
128
|
+
*/
|
|
129
|
+
private lastRequestSlottableState;
|
|
130
|
+
/**
|
|
131
|
+
* Whether to pass focus to the overlay once opened, or
|
|
132
|
+
* to the appropriate value based on the "type" of the overlay
|
|
133
|
+
* when set to `"auto"`.
|
|
134
|
+
*
|
|
135
|
+
* @type {'true' | 'false' | 'auto'}
|
|
136
|
+
* @default 'auto'
|
|
137
|
+
*/
|
|
138
|
+
receivesFocus: 'true' | 'false' | 'auto';
|
|
139
|
+
/**
|
|
140
|
+
* A reference to the slot element within the overlay.
|
|
141
|
+
*
|
|
142
|
+
* This element is used to manage the content slotted into the overlay.
|
|
143
|
+
*
|
|
144
|
+
* @type {HTMLSlotElement}
|
|
145
|
+
*/
|
|
146
|
+
slotEl: HTMLSlotElement;
|
|
147
|
+
/**
|
|
148
|
+
* The current state of the overlay.
|
|
149
|
+
*
|
|
150
|
+
* This property reflects the current state of the overlay, such as 'opened' or 'closed'.
|
|
151
|
+
* When the state changes, it triggers the appropriate actions and updates the component.
|
|
152
|
+
*
|
|
153
|
+
* @type {OverlayState}
|
|
154
|
+
* @default 'closed'
|
|
155
|
+
*/
|
|
156
|
+
get state(): OverlayState;
|
|
157
|
+
set state(state: OverlayState);
|
|
158
|
+
_state: OverlayState;
|
|
159
|
+
/**
|
|
160
|
+
* The interaction strategy for opening the overlay.
|
|
161
|
+
* This can be a ClickController, HoverController, or LongpressController.
|
|
162
|
+
*/
|
|
163
|
+
strategy?: ClickController | HoverController | LongpressController;
|
|
164
|
+
/**
|
|
165
|
+
* The padding around the tip of the overlay.
|
|
166
|
+
* This property defines the padding around the tip of the overlay, which can be used to adjust its positioning.
|
|
167
|
+
*
|
|
168
|
+
* @type {number}
|
|
169
|
+
*/
|
|
170
|
+
tipPadding?: number;
|
|
171
|
+
/**
|
|
172
|
+
* An optional ID reference for the trigger element combined with the optional
|
|
173
|
+
* interaction (click | hover | longpress) by which the overlay should open.
|
|
174
|
+
* The format is `trigger@interaction`, e.g., `trigger@click` opens the overlay
|
|
175
|
+
* when an element with the ID "trigger" is clicked.
|
|
176
|
+
*
|
|
177
|
+
* @type {string}
|
|
178
|
+
*/
|
|
179
|
+
trigger?: string;
|
|
180
|
+
/**
|
|
181
|
+
* An element reference for the trigger element that the overlay should relate to.
|
|
182
|
+
* This property is not reflected as an attribute.
|
|
183
|
+
*
|
|
184
|
+
* @type {HTMLElement | VirtualTrigger | null}
|
|
185
|
+
*/
|
|
186
|
+
triggerElement: HTMLElement | VirtualTrigger | null;
|
|
187
|
+
/**
|
|
188
|
+
* The specific interaction to listen for on the `triggerElement` to open the overlay.
|
|
189
|
+
* This property is not reflected as an attribute.
|
|
190
|
+
*
|
|
191
|
+
* @type {TriggerInteraction}
|
|
192
|
+
*/
|
|
193
|
+
triggerInteraction?: TriggerInteraction;
|
|
194
|
+
/**
|
|
195
|
+
* Configures the open/close heuristics of the Overlay.
|
|
196
|
+
*
|
|
197
|
+
* @type {"auto" | "hint" | "manual" | "modal" | "page"}
|
|
198
|
+
* @default "auto"
|
|
199
|
+
*/
|
|
200
|
+
type: OverlayTypes;
|
|
201
|
+
/**
|
|
202
|
+
* Tracks whether the overlay was previously open.
|
|
203
|
+
* This is used to restore the open state when re-enabling the overlay.
|
|
204
|
+
*
|
|
205
|
+
* @type {boolean}
|
|
206
|
+
* @default false
|
|
207
|
+
*/
|
|
208
|
+
protected wasOpen: boolean;
|
|
209
|
+
/**
|
|
210
|
+
* Provides an instance of the `ElementResolutionController` for managing the element
|
|
211
|
+
* that the overlay should be associated with. If the instance does not already exist,
|
|
212
|
+
* it is created and assigned to the `_elementResolver` property.
|
|
213
|
+
*
|
|
214
|
+
* @protected
|
|
215
|
+
* @returns The `ElementResolutionController` instance.
|
|
216
|
+
*/
|
|
217
|
+
protected get elementResolver(): ElementResolutionController;
|
|
218
|
+
/**
|
|
219
|
+
* Determines if the overlay uses a dialog.
|
|
220
|
+
* Returns `true` if the overlay type is "modal" or "page".
|
|
221
|
+
*
|
|
222
|
+
* @private
|
|
223
|
+
* @returns `true` if the overlay uses a dialog, otherwise `false`.
|
|
224
|
+
*/
|
|
225
|
+
private get usesDialog();
|
|
226
|
+
/**
|
|
227
|
+
* Determines the value for the popover attribute based on the overlay type.
|
|
228
|
+
*
|
|
229
|
+
* @private
|
|
230
|
+
* @returns The popover value or undefined if not applicable.
|
|
231
|
+
*/
|
|
232
|
+
private get popoverValue();
|
|
233
|
+
/**
|
|
234
|
+
* Determines if the overlay requires positioning based on its type and state.
|
|
235
|
+
*
|
|
236
|
+
* @protected
|
|
237
|
+
* @returns True if the overlay requires positioning, otherwise false.
|
|
238
|
+
*/
|
|
239
|
+
protected get requiresPositioning(): boolean;
|
|
240
|
+
/**
|
|
241
|
+
* Manages the positioning of the overlay relative to its trigger element.
|
|
242
|
+
*
|
|
243
|
+
* This method calculates the necessary parameters for positioning the overlay,
|
|
244
|
+
* such as offset, placement, and tip padding, and then delegates the actual
|
|
245
|
+
* positioning to the `PlacementController`.
|
|
246
|
+
*
|
|
247
|
+
* @protected
|
|
248
|
+
* @override
|
|
249
|
+
*/
|
|
250
|
+
protected managePosition(): void;
|
|
251
|
+
/**
|
|
252
|
+
* Manages the process of opening the popover.
|
|
253
|
+
*
|
|
254
|
+
* This method handles the necessary steps to open the popover, including managing delays,
|
|
255
|
+
* ensuring the popover is in the DOM, making transitions, and applying focus.
|
|
256
|
+
*
|
|
257
|
+
* @protected
|
|
258
|
+
* @override
|
|
259
|
+
* @returns A promise that resolves when the popover has been fully opened.
|
|
260
|
+
*/
|
|
261
|
+
protected managePopoverOpen(): Promise<void>;
|
|
262
|
+
/**
|
|
263
|
+
* Applies focus to the appropriate element after the popover has been opened.
|
|
264
|
+
*
|
|
265
|
+
* This method handles the focus management for the overlay, ensuring that the correct
|
|
266
|
+
* element receives focus based on the overlay's type and state.
|
|
267
|
+
*
|
|
268
|
+
* @protected
|
|
269
|
+
* @override
|
|
270
|
+
* @param targetOpenState - The target open state of the overlay.
|
|
271
|
+
* @param focusEl - The element to focus after opening the popover.
|
|
272
|
+
* @returns A promise that resolves when the focus has been applied.
|
|
273
|
+
*/
|
|
274
|
+
protected applyFocus(targetOpenState: boolean, focusEl: HTMLElement | null): Promise<void>;
|
|
275
|
+
/**
|
|
276
|
+
* Returns focus to the trigger element if the overlay is closed.
|
|
277
|
+
*
|
|
278
|
+
* This method ensures that focus is returned to the trigger element when the overlay is closed,
|
|
279
|
+
* unless the overlay is of type "hint" or the focus is already outside the overlay.
|
|
280
|
+
*
|
|
281
|
+
* @protected
|
|
282
|
+
* @override
|
|
283
|
+
*/
|
|
284
|
+
protected returnFocus(): void;
|
|
285
|
+
/**
|
|
286
|
+
* Handles the focus out event to close the overlay if the focus moves outside of it.
|
|
287
|
+
*
|
|
288
|
+
* This method ensures that the overlay is closed when the focus moves to an element
|
|
289
|
+
* outside of the overlay, unless the focus is moved to a related element.
|
|
290
|
+
*
|
|
291
|
+
* @private
|
|
292
|
+
* @param event - The focus out event.
|
|
293
|
+
*/
|
|
294
|
+
private closeOnFocusOut;
|
|
295
|
+
/**
|
|
296
|
+
* Manages the process of opening or closing the overlay.
|
|
297
|
+
*
|
|
298
|
+
* This method handles the necessary steps to open or close the overlay, including updating the state,
|
|
299
|
+
* managing the overlay stack, and handling focus events.
|
|
300
|
+
*
|
|
301
|
+
* @protected
|
|
302
|
+
* @param oldOpen - The previous open state of the overlay.
|
|
303
|
+
* @returns A promise that resolves when the overlay has been fully managed.
|
|
304
|
+
*/
|
|
305
|
+
protected manageOpen(oldOpen: boolean): Promise<void>;
|
|
306
|
+
/**
|
|
307
|
+
* Binds event handling strategies to the overlay based on the specified trigger interaction.
|
|
308
|
+
*
|
|
309
|
+
* This method sets up the appropriate event handling strategy for the overlay, ensuring that
|
|
310
|
+
* it responds correctly to user interactions such as clicks, hovers, or long presses.
|
|
311
|
+
*
|
|
312
|
+
* @protected
|
|
313
|
+
*/
|
|
314
|
+
protected bindEvents(): void;
|
|
315
|
+
/**
|
|
316
|
+
* Handles the `beforetoggle` event to manage the overlay's state.
|
|
317
|
+
*
|
|
318
|
+
* This method checks the new state of the event and calls `handleBrowserClose`
|
|
319
|
+
* if the new state is not 'open'.
|
|
320
|
+
*
|
|
321
|
+
* @protected
|
|
322
|
+
* @param event - The `beforetoggle` event with the new state.
|
|
323
|
+
*/
|
|
324
|
+
protected handleBeforetoggle(event: Event & {
|
|
325
|
+
newState: string;
|
|
326
|
+
}): void;
|
|
327
|
+
/**
|
|
328
|
+
* Handles the browser's close event to manage the overlay's state.
|
|
329
|
+
*
|
|
330
|
+
* This method stops the propagation of the event and closes the overlay if it is not
|
|
331
|
+
* actively opening. If the overlay is actively opening, it calls `manuallyKeepOpen`.
|
|
332
|
+
*
|
|
333
|
+
* @protected
|
|
334
|
+
* @param event - The browser's close event.
|
|
335
|
+
*/
|
|
336
|
+
protected handleBrowserClose(event: Event): void;
|
|
337
|
+
/**
|
|
338
|
+
* Manually keeps the overlay open.
|
|
339
|
+
*
|
|
340
|
+
* This method sets the overlay to open, allows placement updates, and manages the open state.
|
|
341
|
+
*
|
|
342
|
+
* @public
|
|
343
|
+
* @override
|
|
344
|
+
*/
|
|
345
|
+
manuallyKeepOpen(): void;
|
|
346
|
+
/**
|
|
347
|
+
* Handles the `slotchange` event to manage the overlay's state.
|
|
348
|
+
*
|
|
349
|
+
* This method checks if there are any elements in the slot. If there are no elements,
|
|
350
|
+
* it releases the description from the strategy. If there are elements and the trigger
|
|
351
|
+
* is non-virtual, it prepares the description for the trigger element.
|
|
352
|
+
*
|
|
353
|
+
* @protected
|
|
354
|
+
*/
|
|
355
|
+
protected handleSlotchange(): void;
|
|
356
|
+
/**
|
|
357
|
+
* Determines whether the overlay should prevent closing.
|
|
358
|
+
*
|
|
359
|
+
* This method checks the `willPreventClose` flag and resets it to `false`.
|
|
360
|
+
* It returns the value of the `willPreventClose` flag.
|
|
361
|
+
*
|
|
362
|
+
* @public
|
|
363
|
+
* @returns `true` if the overlay should prevent closing, otherwise `false`.
|
|
364
|
+
*/
|
|
365
|
+
shouldPreventClose(): boolean;
|
|
366
|
+
/**
|
|
367
|
+
* Requests slottable content for the overlay.
|
|
368
|
+
*
|
|
369
|
+
* This method dispatches a `SlottableRequestEvent` to request or remove slottable content
|
|
370
|
+
* based on the current open state of the overlay. It ensures that the same state is not
|
|
371
|
+
* dispatched twice in a row.
|
|
372
|
+
*
|
|
373
|
+
* @protected
|
|
374
|
+
* @override
|
|
375
|
+
*/
|
|
376
|
+
protected requestSlottable(): void;
|
|
377
|
+
/**
|
|
378
|
+
* Lifecycle method called before the component updates.
|
|
379
|
+
*
|
|
380
|
+
* This method handles various tasks before the component updates, such as setting an ID,
|
|
381
|
+
* managing the open state, resolving the trigger element, and binding events.
|
|
382
|
+
*
|
|
383
|
+
* @override
|
|
384
|
+
* @param changes - The properties that have changed.
|
|
385
|
+
*/
|
|
386
|
+
willUpdate(changes: PropertyValues): void;
|
|
387
|
+
/**
|
|
388
|
+
* Lifecycle method called after the component updates.
|
|
389
|
+
*
|
|
390
|
+
* This method handles various tasks after the component updates, such as updating the placement
|
|
391
|
+
* attribute, resetting the overlay position, and clearing the overlay position based on the state.
|
|
392
|
+
*
|
|
393
|
+
* @override
|
|
394
|
+
* @param changes - The properties that have changed.
|
|
395
|
+
*/
|
|
396
|
+
protected updated(changes: PropertyValues): void;
|
|
397
|
+
/**
|
|
398
|
+
* Renders the content of the overlay.
|
|
399
|
+
*
|
|
400
|
+
* This method returns a template result containing a slot element. The slot element
|
|
401
|
+
* listens for the `slotchange` event to manage the overlay's state.
|
|
402
|
+
*
|
|
403
|
+
* @protected
|
|
404
|
+
* @returns The template result containing the slot element.
|
|
405
|
+
*/
|
|
406
|
+
protected renderContent(): TemplateResult;
|
|
407
|
+
/**
|
|
408
|
+
* Generates a style map for the dialog element.
|
|
409
|
+
*
|
|
410
|
+
* This method returns an object containing CSS custom properties for the dialog element.
|
|
411
|
+
* The `--luzmo-overlay-open-count` custom property is set to the current open count of overlays.
|
|
412
|
+
*
|
|
413
|
+
* @private
|
|
414
|
+
* @returns The style map for the dialog element.
|
|
415
|
+
*/
|
|
416
|
+
private get dialogStyleMap();
|
|
417
|
+
/**
|
|
418
|
+
* Renders the dialog element for the overlay.
|
|
419
|
+
*
|
|
420
|
+
* This method returns a template result containing a dialog element. The dialog element
|
|
421
|
+
* includes various attributes and event listeners to manage the overlay's state and behavior.
|
|
422
|
+
*
|
|
423
|
+
* @protected
|
|
424
|
+
* @returns The template result containing the dialog element.
|
|
425
|
+
*/
|
|
426
|
+
protected renderDialog(): TemplateResult;
|
|
427
|
+
/**
|
|
428
|
+
* Renders the popover element for the overlay.
|
|
429
|
+
*
|
|
430
|
+
* This method returns a template result containing a div element styled as a popover.
|
|
431
|
+
* The popover element includes various attributes and event listeners to manage the overlay's state and behavior.
|
|
432
|
+
*
|
|
433
|
+
* @protected
|
|
434
|
+
* @returns The template result containing the popover element.
|
|
435
|
+
*/
|
|
436
|
+
protected renderPopover(): TemplateResult;
|
|
437
|
+
/**
|
|
438
|
+
* Renders the overlay component.
|
|
439
|
+
*
|
|
440
|
+
* This method returns a template result containing either a dialog or popover element
|
|
441
|
+
* based on the overlay type. It also includes a slot for longpress descriptors.
|
|
442
|
+
*
|
|
443
|
+
* @override
|
|
444
|
+
* @returns The template result containing the overlay content.
|
|
445
|
+
*/
|
|
446
|
+
render(): TemplateResult;
|
|
447
|
+
/**
|
|
448
|
+
* Lifecycle method called when the component is added to the DOM.
|
|
449
|
+
*
|
|
450
|
+
* This method sets up event listeners and binds events if the component has already updated.
|
|
451
|
+
*
|
|
452
|
+
* @override
|
|
453
|
+
*/
|
|
454
|
+
connectedCallback(): void;
|
|
455
|
+
/**
|
|
456
|
+
* Lifecycle method called when the component is removed from the DOM.
|
|
457
|
+
*
|
|
458
|
+
* This method releases the description from the strategy and updates the 'open' property.
|
|
459
|
+
*
|
|
460
|
+
* @override
|
|
461
|
+
*/
|
|
462
|
+
disconnectedCallback(): void;
|
|
463
|
+
}
|
|
464
|
+
export {};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Placement } from '@floating-ui/dom';
|
|
2
|
+
import type { ReactiveController, ReactiveElement } from 'lit';
|
|
3
|
+
import type { OpenableElement } from './overlay-types';
|
|
4
|
+
import type { VirtualTrigger } from './virtual-trigger';
|
|
5
|
+
type OverlayOptionsV1 = {
|
|
6
|
+
abortPromise?: Promise<boolean>;
|
|
7
|
+
delayed?: boolean;
|
|
8
|
+
offset?: number | [number, number];
|
|
9
|
+
placement: Placement;
|
|
10
|
+
notImmediatelyClosable?: boolean;
|
|
11
|
+
receivesFocus?: 'auto';
|
|
12
|
+
root?: HTMLElement;
|
|
13
|
+
tipPadding?: number;
|
|
14
|
+
trigger: HTMLElement | VirtualTrigger;
|
|
15
|
+
type?: 'modal' | 'page' | 'hint' | 'auto' | 'manual';
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Symbol used to indicate that the placement has been updated.
|
|
19
|
+
*/
|
|
20
|
+
export declare const placementUpdatedSymbol: unique symbol;
|
|
21
|
+
/**
|
|
22
|
+
* Controller for managing the placement of an overlay.
|
|
23
|
+
*
|
|
24
|
+
* This class implements the ReactiveController interface and provides methods
|
|
25
|
+
* for managing the positioning and constraints of an overlay element.
|
|
26
|
+
*/
|
|
27
|
+
export declare class PlacementController implements ReactiveController {
|
|
28
|
+
/**
|
|
29
|
+
* Function to clean up resources when the controller is no longer needed.
|
|
30
|
+
*
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
33
|
+
private cleanup?;
|
|
34
|
+
/**
|
|
35
|
+
* Initial height of the overlay.
|
|
36
|
+
*
|
|
37
|
+
* @type {number}
|
|
38
|
+
*/
|
|
39
|
+
initialHeight?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Indicates whether the overlay is constrained by available space.
|
|
42
|
+
*
|
|
43
|
+
* @type {boolean}
|
|
44
|
+
*/
|
|
45
|
+
isConstrained?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* The host element that uses this controller.
|
|
48
|
+
*
|
|
49
|
+
* @private
|
|
50
|
+
* @type {ReactiveElement & { elements: OpenableElement[] }}
|
|
51
|
+
*/
|
|
52
|
+
private host;
|
|
53
|
+
/**
|
|
54
|
+
* Options for configuring the overlay placement.
|
|
55
|
+
*
|
|
56
|
+
* @private
|
|
57
|
+
* @type {OverlayOptionsV1}
|
|
58
|
+
*/
|
|
59
|
+
private options;
|
|
60
|
+
/**
|
|
61
|
+
* A WeakMap to store the original placements of overlay elements.
|
|
62
|
+
*
|
|
63
|
+
* @private
|
|
64
|
+
* @type {WeakMap<HTMLElement, Placement>}
|
|
65
|
+
*/
|
|
66
|
+
private originalPlacements;
|
|
67
|
+
/**
|
|
68
|
+
* The target element for the overlay.
|
|
69
|
+
*
|
|
70
|
+
* @private
|
|
71
|
+
* @type {HTMLElement}
|
|
72
|
+
*/
|
|
73
|
+
private target;
|
|
74
|
+
/**
|
|
75
|
+
* Creates an instance of the PlacementController.
|
|
76
|
+
*
|
|
77
|
+
* @param host - The host element that uses this controller.
|
|
78
|
+
*/
|
|
79
|
+
constructor(host: ReactiveElement & {
|
|
80
|
+
elements: OpenableElement[];
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Places the overlay relative to the target element.
|
|
84
|
+
*
|
|
85
|
+
* This method sets up the necessary configurations and event listeners to manage the
|
|
86
|
+
* positioning and constraints of the overlay element.
|
|
87
|
+
*
|
|
88
|
+
* @param [target=this.target] - The target element for the overlay.
|
|
89
|
+
* @param [options=this.options] - The options for configuring the overlay placement.
|
|
90
|
+
* @returns A promise that resolves when the overlay has been placed.
|
|
91
|
+
*/
|
|
92
|
+
placeOverlay(target?: HTMLElement, options?: OverlayOptionsV1): void;
|
|
93
|
+
/**
|
|
94
|
+
* Flag to allow or disallow placement updates.
|
|
95
|
+
*
|
|
96
|
+
* @type {boolean}
|
|
97
|
+
*/
|
|
98
|
+
allowPlacementUpdate: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Closes the overlay if an ancestor element is updated.
|
|
101
|
+
*
|
|
102
|
+
* This method checks if placement updates are allowed and if the overlay type is not 'modal'.
|
|
103
|
+
* If these conditions are met and a cleanup function is defined, it dispatches a 'close' event
|
|
104
|
+
* on the target element to close the overlay.
|
|
105
|
+
*/
|
|
106
|
+
closeForAncestorUpdate: () => void;
|
|
107
|
+
/**
|
|
108
|
+
* Updates the placement of the overlay.
|
|
109
|
+
*
|
|
110
|
+
* This method calls the computePlacement method to recalculate the overlay's position.
|
|
111
|
+
*
|
|
112
|
+
* @private
|
|
113
|
+
*/
|
|
114
|
+
private updatePlacement;
|
|
115
|
+
/**
|
|
116
|
+
* Computes the placement of the overlay relative to the target element.
|
|
117
|
+
*
|
|
118
|
+
* This method calculates the necessary positioning and constraints for the overlay element
|
|
119
|
+
* using various middleware functions. It updates the overlay's style and attributes based
|
|
120
|
+
* on the computed position.
|
|
121
|
+
*
|
|
122
|
+
* @returns A promise that resolves when the placement has been computed.
|
|
123
|
+
*/
|
|
124
|
+
computePlacement(): Promise<void>;
|
|
125
|
+
/**
|
|
126
|
+
* Clears the overlay's position styles.
|
|
127
|
+
*
|
|
128
|
+
* This method removes the max-height and max-width styles from the target element,
|
|
129
|
+
* and resets the initial height and constrained state of the overlay.
|
|
130
|
+
*/
|
|
131
|
+
clearOverlayPosition(): void;
|
|
132
|
+
/**
|
|
133
|
+
* Resets the overlay's position.
|
|
134
|
+
*
|
|
135
|
+
* This method clears the overlay's position, forces a reflow, and recomputes the placement.
|
|
136
|
+
*/
|
|
137
|
+
resetOverlayPosition: () => void;
|
|
138
|
+
/**
|
|
139
|
+
* Lifecycle method called when the host element is connected to the DOM.
|
|
140
|
+
*
|
|
141
|
+
* This method sets up an event listener to reset the overlay's position when the 'luzmo-update-overlays' event is dispatched.
|
|
142
|
+
*/
|
|
143
|
+
hostConnected(): void;
|
|
144
|
+
/**
|
|
145
|
+
* Lifecycle method called when the host element is updated.
|
|
146
|
+
*
|
|
147
|
+
* This method cleans up resources if the overlay is not open.
|
|
148
|
+
*/
|
|
149
|
+
hostUpdated(): void;
|
|
150
|
+
/**
|
|
151
|
+
* Lifecycle method called when the host element is disconnected from the DOM.
|
|
152
|
+
*
|
|
153
|
+
* This method removes the event listener and cleans up resources.
|
|
154
|
+
*/
|
|
155
|
+
hostDisconnected(): void;
|
|
156
|
+
}
|
|
157
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ElementPart, TemplateResult } from 'lit';
|
|
2
|
+
import { AsyncDirective } from 'lit/async-directive.js';
|
|
3
|
+
import { SlottableRequestEvent } from './slottable-request-event';
|
|
4
|
+
export declare class SlottableRequestDirective extends AsyncDirective {
|
|
5
|
+
protected template: () => TemplateResult;
|
|
6
|
+
protected target: HTMLElement;
|
|
7
|
+
private renderBefore;
|
|
8
|
+
protected listenerHost: HTMLElement;
|
|
9
|
+
protected listeners: AbortController;
|
|
10
|
+
render(_template: () => TemplateResult): unknown;
|
|
11
|
+
update(part: ElementPart, [template]: Parameters<this['render']>): void;
|
|
12
|
+
handleSlottableRequest(event: SlottableRequestEvent): void;
|
|
13
|
+
init(): void;
|
|
14
|
+
disconnected(): void;
|
|
15
|
+
reconnected(): void;
|
|
16
|
+
}
|
|
17
|
+
export declare const slottableRequest: (_template: () => TemplateResult) => import("lit-html/directive.js").DirectiveResult<typeof SlottableRequestDirective>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class SlottableRequestEvent extends Event {
|
|
2
|
+
readonly data: unknown;
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly slotName: string;
|
|
5
|
+
constructor(name: string, data: unknown, key?: string);
|
|
6
|
+
}
|
|
7
|
+
export declare const removeSlottableRequest: unique symbol;
|
|
8
|
+
declare global {
|
|
9
|
+
interface GlobalEventHandlersEventMap {
|
|
10
|
+
'slottable-request': SlottableRequestEvent;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ClickController } from './click-controller';
|
|
2
|
+
import { HoverController } from './hover-controller';
|
|
3
|
+
import { LongpressController } from './longpress-controller';
|
|
4
|
+
export declare const strategies: {
|
|
5
|
+
click: typeof ClickController;
|
|
6
|
+
longpress: typeof LongpressController;
|
|
7
|
+
hover: typeof HoverController;
|
|
8
|
+
};
|