le-kit 0.1.14 → 0.1.16
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/dist/{core/cjs/index-B0mg71He.js → cjs/index-CHzu3ydp.js} +10 -3
- package/dist/cjs/index-CHzu3ydp.js.map +1 -0
- package/dist/{core/cjs → cjs}/index.cjs.js +4 -3
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-box.cjs.entry.js +3 -3
- package/dist/cjs/le-box.entry.cjs.js.map +1 -0
- package/dist/cjs/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.cjs.js.map +1 -0
- package/dist/cjs/le-button_13.cjs.entry.js +2579 -0
- package/dist/cjs/le-card.cjs.entry.js +29 -0
- package/dist/cjs/le-card.entry.cjs.js.map +1 -0
- package/dist/cjs/le-combobox.cjs.entry.js +237 -0
- package/dist/cjs/le-combobox.entry.cjs.js.map +1 -0
- package/dist/cjs/le-header-placeholder.cjs.entry.js +18 -0
- package/dist/cjs/le-header-placeholder.entry.cjs.js.map +1 -0
- package/dist/cjs/le-kit.cjs.js +25 -0
- package/dist/cjs/le-multiselect.cjs.entry.js +306 -0
- package/dist/cjs/le-multiselect.entry.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-number-input.cjs.entry.js +3 -3
- package/dist/cjs/le-number-input.entry.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-round-progress.cjs.entry.js +2 -2
- package/dist/cjs/le-round-progress.entry.cjs.js.map +1 -0
- package/dist/cjs/le-segmented-control.cjs.entry.js +245 -0
- package/dist/cjs/le-segmented-control.entry.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-stack.cjs.entry.js +4 -4
- package/dist/cjs/le-stack.entry.cjs.js.map +1 -0
- package/dist/cjs/le-tab-bar.cjs.entry.js +242 -0
- package/dist/cjs/le-tab-bar.entry.cjs.js.map +1 -0
- package/dist/cjs/le-tab-panel.cjs.entry.js +100 -0
- package/dist/cjs/le-tab-panel.entry.cjs.js.map +1 -0
- package/dist/cjs/le-tab.cjs.entry.js +133 -0
- package/dist/cjs/le-tab.entry.cjs.js.map +1 -0
- package/dist/cjs/le-tabs.cjs.entry.js +307 -0
- package/dist/cjs/le-tabs.entry.cjs.js.map +1 -0
- package/dist/cjs/le-tag.cjs.entry.js +68 -0
- package/dist/cjs/le-tag.entry.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-text.cjs.entry.js +3 -3
- package/dist/cjs/le-text.entry.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-turntable.cjs.entry.js +2 -2
- package/dist/cjs/le-turntable.entry.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +13 -0
- package/dist/{core/cjs/utils-jdqP71LP.js → cjs/utils-CYOKcOW8.js} +3 -3
- package/dist/cjs/utils-CYOKcOW8.js.map +1 -0
- package/dist/collection/collection-manifest.json +41 -0
- package/dist/{core/collection → collection}/components/le-box/le-box.js +1 -1
- package/dist/collection/components/le-box/le-box.js.map +1 -0
- package/dist/{core/collection/components/le-button/le-button.default.css → collection/components/le-button/le-button.css} +65 -38
- package/dist/{core/collection → collection}/components/le-button/le-button.js +106 -16
- package/dist/collection/components/le-button/le-button.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-card/le-card.default.css +6 -6
- package/dist/{core/collection → collection}/components/le-card/le-card.js +2 -2
- package/dist/collection/components/le-card/le-card.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.js +2 -2
- package/dist/collection/components/le-checkbox/le-checkbox.js.map +1 -0
- package/dist/collection/components/le-collapse/le-collapse.css +31 -0
- package/dist/collection/components/le-collapse/le-collapse.js +188 -0
- package/dist/collection/components/le-collapse/le-collapse.js.map +1 -0
- package/dist/collection/components/le-combobox/le-combobox.css +144 -0
- package/dist/collection/components/le-combobox/le-combobox.js +659 -0
- package/dist/collection/components/le-combobox/le-combobox.js.map +1 -0
- package/dist/collection/components/le-component/le-component.css +189 -0
- package/dist/{le-kit/le-component.entry.js → collection/components/le-component/le-component.js} +137 -17
- package/dist/collection/components/le-component/le-component.js.map +1 -0
- package/dist/collection/components/le-current-heading/le-current-heading.css +12 -0
- package/dist/collection/components/le-current-heading/le-current-heading.js +130 -0
- package/dist/collection/components/le-current-heading/le-current-heading.js.map +1 -0
- package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +167 -0
- package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +761 -0
- package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +1 -0
- package/dist/collection/components/le-header/le-header.css +120 -0
- package/dist/collection/components/le-header/le-header.js +508 -0
- package/dist/collection/components/le-header/le-header.js.map +1 -0
- package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +21 -0
- package/dist/collection/components/le-header-placeholder/le-header-placeholder.js.map +1 -0
- package/dist/collection/components/le-multiselect/le-multiselect.css +163 -0
- package/dist/collection/components/le-multiselect/le-multiselect.js +734 -0
- package/dist/collection/components/le-multiselect/le-multiselect.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-number-input/le-number-input.js +2 -2
- package/dist/collection/components/le-number-input/le-number-input.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-popover/le-popover.css +20 -0
- package/dist/{core/collection → collection}/components/le-popover/le-popover.js +180 -20
- package/dist/collection/components/le-popover/le-popover.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-popup/le-popup.api.js +2 -1
- package/dist/collection/components/le-popup/le-popup.api.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-popup/le-popup.js +49 -19
- package/dist/collection/components/le-popup/le-popup.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.js +1 -1
- package/dist/collection/components/le-round-progress/le-round-progress.js.map +1 -0
- package/dist/collection/components/le-scroll-progress/le-scroll-progress.css +29 -0
- package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +186 -0
- package/dist/collection/components/le-scroll-progress/le-scroll-progress.js.map +1 -0
- package/dist/collection/components/le-segmented-control/le-segmented-control.css +78 -0
- package/dist/collection/components/le-segmented-control/le-segmented-control.js +445 -0
- package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +1 -0
- package/dist/collection/components/le-select/le-select.css +121 -0
- package/dist/collection/components/le-select/le-select.js +578 -0
- package/dist/collection/components/le-select/le-select.js.map +1 -0
- package/dist/collection/components/le-slot/le-slot.default.css +222 -0
- package/dist/{le-kit/le-slot.entry.js → collection/components/le-slot/le-slot.js} +268 -17
- package/dist/collection/components/le-slot/le-slot.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-stack/le-stack.js +2 -2
- package/dist/collection/components/le-stack/le-stack.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-string-input/le-string-input.css +1 -1
- package/dist/{core/collection → collection}/components/le-string-input/le-string-input.js +60 -6
- package/dist/collection/components/le-string-input/le-string-input.js.map +1 -0
- package/dist/collection/components/le-tab/le-tab.css +289 -0
- package/dist/collection/components/le-tab/le-tab.js +565 -0
- package/dist/collection/components/le-tab/le-tab.js.map +1 -0
- package/dist/collection/components/le-tab-bar/le-tab-bar.css +89 -0
- package/dist/collection/components/le-tab-bar/le-tab-bar.js +467 -0
- package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +1 -0
- package/dist/collection/components/le-tab-panel/le-tab-panel.css +30 -0
- package/dist/collection/components/le-tab-panel/le-tab-panel.js +302 -0
- package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +1 -0
- package/dist/collection/components/le-tabs/le-tabs.css +146 -0
- package/dist/collection/components/le-tabs/le-tabs.js +588 -0
- package/dist/collection/components/le-tabs/le-tabs.js.map +1 -0
- package/dist/collection/components/le-tag/le-tag.css +139 -0
- package/dist/collection/components/le-tag/le-tag.js +266 -0
- package/dist/collection/components/le-tag/le-tag.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-text/le-text.js +1 -1
- package/dist/collection/components/le-text/le-text.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-turntable/le-turntable.js +1 -1
- package/dist/collection/components/le-turntable/le-turntable.js.map +1 -0
- package/dist/collection/dist/components/assets/.gitkeep +1 -0
- package/dist/collection/dist/components/assets/custom-elements.json +9234 -0
- package/dist/collection/dist/components/themes/base.css +89 -0
- package/dist/collection/dist/components/themes/dark.css +103 -0
- package/dist/collection/dist/components/themes/default.css +111 -0
- package/dist/collection/dist/components/themes/gradient.css +103 -0
- package/dist/collection/dist/components/themes/index.css +76 -0
- package/dist/collection/dist/components/themes/minimal.css +103 -0
- package/dist/collection/dist/components/themes/warm.css +103 -0
- package/dist/collection/global/app.js.map +1 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/types/blocks.js.map +1 -0
- package/dist/collection/types/options.js.map +1 -0
- package/dist/collection/utils/utils.js.map +1 -0
- package/dist/components/assets/.gitkeep +1 -0
- package/dist/components/assets/custom-elements.json +9234 -0
- package/dist/components/index.js +11 -0
- package/dist/components/index.js.map +1 -0
- package/dist/{core/components → components}/le-box.js +22 -6
- package/dist/components/le-box.js.map +1 -0
- package/dist/{core/components → components}/le-button.js +1 -1
- package/dist/{core/components → components}/le-button2.js +671 -35
- package/dist/components/le-button2.js.map +1 -0
- package/dist/{core/components → components}/le-card.js +22 -6
- package/dist/components/le-card.js.map +1 -0
- package/dist/{core/components → components}/le-checkbox.js +1 -1
- package/dist/components/le-collapse.d.ts +11 -0
- package/dist/components/le-collapse.js +144 -0
- package/dist/components/le-collapse.js.map +1 -0
- package/dist/components/le-combobox.d.ts +11 -0
- package/dist/components/le-combobox.js +326 -0
- package/dist/components/le-combobox.js.map +1 -0
- package/dist/{core/components → components}/le-component.js +1 -1
- package/dist/components/le-current-heading.d.ts +11 -0
- package/dist/components/le-current-heading.js +93 -0
- package/dist/components/le-current-heading.js.map +1 -0
- package/dist/components/le-dropdown-base.d.ts +11 -0
- package/dist/components/le-dropdown-base.js +9 -0
- package/dist/components/le-dropdown-base.js.map +1 -0
- package/dist/components/le-dropdown-base2.js +393 -0
- package/dist/components/le-dropdown-base2.js.map +1 -0
- package/dist/components/le-header-placeholder.d.ts +11 -0
- package/dist/components/le-header-placeholder.js +37 -0
- package/dist/components/le-header-placeholder.js.map +1 -0
- package/dist/components/le-header.d.ts +11 -0
- package/dist/components/le-header.js +347 -0
- package/dist/components/le-header.js.map +1 -0
- package/dist/components/le-multiselect.d.ts +11 -0
- package/dist/components/le-multiselect.js +405 -0
- package/dist/components/le-multiselect.js.map +1 -0
- package/dist/{core/components → components}/le-number-input.js +23 -7
- package/dist/components/le-number-input.js.map +1 -0
- package/dist/{core/components → components}/le-popover2.js +143 -21
- package/dist/components/le-popover2.js.map +1 -0
- package/dist/{core/components/index.js → components/le-popup.api.js} +5 -12
- package/dist/components/le-popup.api.js.map +1 -0
- package/dist/components/le-popup.js +9 -0
- package/dist/components/le-popup.js.map +1 -0
- package/dist/{core/components → components}/le-round-progress.js +1 -1
- package/dist/components/le-scroll-progress.d.ts +11 -0
- package/dist/components/le-scroll-progress.js +142 -0
- package/dist/components/le-scroll-progress.js.map +1 -0
- package/dist/components/le-segmented-control.d.ts +11 -0
- package/dist/components/le-segmented-control.js +331 -0
- package/dist/components/le-segmented-control.js.map +1 -0
- package/dist/components/le-select.d.ts +11 -0
- package/dist/components/le-select.js +9 -0
- package/dist/components/le-select.js.map +1 -0
- package/dist/{core/components → components}/le-slot.js +1 -1
- package/dist/{core/components → components}/le-stack.js +23 -7
- package/dist/components/le-stack.js.map +1 -0
- package/dist/{core/components → components}/le-string-input.js +1 -1
- package/dist/components/le-tab-bar.d.ts +11 -0
- package/dist/components/le-tab-bar.js +330 -0
- package/dist/components/le-tab-bar.js.map +1 -0
- package/dist/components/le-tab-panel.d.ts +11 -0
- package/dist/components/le-tab-panel.js +182 -0
- package/dist/components/le-tab-panel.js.map +1 -0
- package/dist/components/le-tab.d.ts +11 -0
- package/dist/components/le-tab.js +9 -0
- package/dist/components/le-tab.js.map +1 -0
- package/dist/components/le-tab2.js +217 -0
- package/dist/components/le-tab2.js.map +1 -0
- package/dist/components/le-tabs.d.ts +11 -0
- package/dist/components/le-tabs.js +397 -0
- package/dist/components/le-tabs.js.map +1 -0
- package/dist/components/le-tag.d.ts +11 -0
- package/dist/components/le-tag.js +9 -0
- package/dist/components/le-tag.js.map +1 -0
- package/dist/components/le-tag2.js +141 -0
- package/dist/components/le-tag2.js.map +1 -0
- package/dist/{core/components → components}/le-text.js +22 -6
- package/dist/components/le-text.js.map +1 -0
- package/dist/{core/components → components}/le-turntable.js +1 -1
- package/dist/components/themes/base.css +4 -4
- package/dist/components/themes/dark.css +4 -1
- package/dist/components/themes/default.css +4 -1
- package/dist/components/themes/gradient.css +4 -1
- package/dist/components/themes/index.css +4 -341
- package/dist/components/themes/minimal.css +4 -1
- package/dist/components/themes/warm.css +4 -1
- package/dist/docs.d.ts +443 -0
- package/dist/docs.json +11547 -0
- package/dist/{core/esm/index-SKsXnjWI.js → esm/index-hmBwv43R.js} +10 -4
- package/dist/esm/index-hmBwv43R.js.map +1 -0
- package/dist/{core/esm → esm}/index.js +4 -3
- package/dist/esm/index.js.map +1 -0
- package/dist/{le-kit → esm}/le-box.entry.js +3 -3
- package/dist/esm/le-box.entry.js.map +1 -0
- package/dist/esm/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.js.map +1 -0
- package/dist/esm/le-button_13.entry.js +2565 -0
- package/dist/{le-kit → esm}/le-card.entry.js +3 -3
- package/dist/esm/le-card.entry.js.map +1 -0
- package/dist/esm/le-combobox.entry.js +235 -0
- package/dist/esm/le-combobox.entry.js.map +1 -0
- package/dist/esm/le-header-placeholder.entry.js +16 -0
- package/dist/esm/le-header-placeholder.entry.js.map +1 -0
- package/dist/esm/le-kit.js +21 -0
- package/dist/esm/le-multiselect.entry.js +304 -0
- package/dist/esm/le-multiselect.entry.js.map +1 -0
- package/dist/{le-kit → esm}/le-number-input.entry.js +6 -6
- package/dist/esm/le-number-input.entry.js.map +1 -0
- package/dist/{core/esm → esm}/le-round-progress.entry.js +2 -2
- package/dist/esm/le-round-progress.entry.js.map +1 -0
- package/dist/esm/le-segmented-control.entry.js +243 -0
- package/dist/esm/le-segmented-control.entry.js.map +1 -0
- package/dist/{le-kit → esm}/le-stack.entry.js +4 -4
- package/dist/esm/le-stack.entry.js.map +1 -0
- package/dist/esm/le-tab-bar.entry.js +240 -0
- package/dist/esm/le-tab-bar.entry.js.map +1 -0
- package/dist/esm/le-tab-panel.entry.js +98 -0
- package/dist/esm/le-tab-panel.entry.js.map +1 -0
- package/dist/esm/le-tab.entry.js +131 -0
- package/dist/esm/le-tab.entry.js.map +1 -0
- package/dist/esm/le-tabs.entry.js +305 -0
- package/dist/esm/le-tabs.entry.js.map +1 -0
- package/dist/esm/le-tag.entry.js +66 -0
- package/dist/esm/le-tag.entry.js.map +1 -0
- package/dist/{le-kit → esm}/le-text.entry.js +3 -3
- package/dist/esm/le-text.entry.js.map +1 -0
- package/dist/{core/esm → esm}/le-turntable.entry.js +2 -2
- package/dist/esm/le-turntable.entry.js.map +1 -0
- package/dist/esm/loader.js +11 -0
- package/dist/{le-kit/utils-cwSNy7ZS.js → esm/utils-DRTFlnxz.js} +3 -3
- package/dist/{le-kit/utils-cwSNy7ZS.js.map → esm/utils-DRTFlnxz.js.map} +1 -1
- package/dist/le-kit/dist/components/assets/.gitkeep +1 -0
- package/dist/le-kit/dist/components/assets/custom-elements.json +9234 -0
- package/dist/le-kit/dist/components/themes/base.css +4 -4
- package/dist/le-kit/dist/components/themes/dark.css +4 -1
- package/dist/le-kit/dist/components/themes/default.css +4 -1
- package/dist/le-kit/dist/components/themes/gradient.css +4 -1
- package/dist/le-kit/dist/components/themes/index.css +4 -341
- package/dist/le-kit/dist/components/themes/minimal.css +4 -1
- package/dist/le-kit/dist/components/themes/warm.css +4 -1
- package/dist/le-kit/index.esm.js +2 -116
- package/dist/le-kit/index.esm.js.map +1 -1
- package/dist/le-kit/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.esm.js.map +1 -0
- package/dist/le-kit/le-combobox.entry.esm.js.map +1 -0
- package/dist/le-kit/le-header-placeholder.entry.esm.js.map +1 -0
- package/dist/le-kit/le-kit.css +1 -1010
- package/dist/le-kit/le-kit.esm.js +2 -48
- package/dist/le-kit/le-kit.esm.js.map +1 -1
- package/dist/le-kit/le-multiselect.entry.esm.js.map +1 -0
- package/dist/le-kit/le-segmented-control.entry.esm.js.map +1 -0
- package/dist/le-kit/le-tab-bar.entry.esm.js.map +1 -0
- package/dist/le-kit/le-tab-panel.entry.esm.js.map +1 -0
- package/dist/le-kit/le-tab.entry.esm.js.map +1 -0
- package/dist/le-kit/le-tabs.entry.esm.js.map +1 -0
- package/dist/le-kit/le-tag.entry.esm.js.map +1 -0
- package/dist/le-kit/p-13a4dc1d.entry.js +2 -0
- package/dist/le-kit/p-13a4dc1d.entry.js.map +1 -0
- package/dist/{core/le-kit/p-55f70091.entry.js → le-kit/p-1a9e65d0.entry.js} +2 -2
- package/dist/le-kit/p-1a9e65d0.entry.js.map +1 -0
- package/dist/le-kit/p-2708dc65.entry.js +2 -0
- package/dist/le-kit/p-2708dc65.entry.js.map +1 -0
- package/dist/le-kit/p-2b96a5bd.entry.js +2 -0
- package/dist/le-kit/p-2b96a5bd.entry.js.map +1 -0
- package/dist/le-kit/p-32cbb683.entry.js +2 -0
- package/dist/le-kit/p-32cbb683.entry.js.map +1 -0
- package/dist/le-kit/p-476e1886.entry.js +2 -0
- package/dist/le-kit/p-476e1886.entry.js.map +1 -0
- package/dist/le-kit/p-67d702f9.entry.js +2 -0
- package/dist/le-kit/p-67d702f9.entry.js.map +1 -0
- package/dist/{core/le-kit/p-6e414a5c.entry.js → le-kit/p-6884e3e8.entry.js} +2 -2
- package/dist/le-kit/p-6884e3e8.entry.js.map +1 -0
- package/dist/le-kit/p-704ad5e0.entry.js +2 -0
- package/dist/le-kit/p-704ad5e0.entry.js.map +1 -0
- package/dist/le-kit/p-88f9aa40.entry.js +2 -0
- package/dist/le-kit/p-88f9aa40.entry.js.map +1 -0
- package/dist/le-kit/p-8dd8a487.entry.js +2 -0
- package/dist/le-kit/p-8dd8a487.entry.js.map +1 -0
- package/dist/le-kit/p-97b7658a.entry.js +2 -0
- package/dist/le-kit/p-97b7658a.entry.js.map +1 -0
- package/dist/le-kit/p-c0925e92.entry.js +2 -0
- package/dist/le-kit/p-c0925e92.entry.js.map +1 -0
- package/dist/le-kit/p-c2494a0d.entry.js +2 -0
- package/dist/le-kit/p-c2494a0d.entry.js.map +1 -0
- package/dist/le-kit/p-ded51018.entry.js +2 -0
- package/dist/le-kit/p-ded51018.entry.js.map +1 -0
- package/dist/{core/le-kit/p-a9d05ef6.entry.js → le-kit/p-e3db7974.entry.js} +2 -2
- package/dist/le-kit/p-e3db7974.entry.js.map +1 -0
- package/dist/{core/le-kit/p-4f133e72.entry.js → le-kit/p-f9b03aec.entry.js} +2 -2
- package/dist/le-kit/p-f9b03aec.entry.js.map +1 -0
- package/dist/le-kit/p-hmBwv43R.js +3 -0
- package/dist/le-kit/p-hmBwv43R.js.map +1 -0
- package/dist/le-kit/p-txKmCJHv.js +2 -0
- package/dist/le-kit/p-txKmCJHv.js.map +1 -0
- package/dist/themes/base.css +89 -0
- package/dist/themes/dark.css +103 -0
- package/dist/themes/default.css +111 -0
- package/dist/themes/gradient.css +103 -0
- package/dist/themes/index.css +76 -0
- package/dist/themes/minimal.css +103 -0
- package/dist/themes/warm.css +103 -0
- package/dist/types/components/le-button/le-button.d.ts +19 -4
- package/dist/types/components/le-collapse/le-collapse.d.ts +41 -0
- package/dist/types/components/le-combobox/le-combobox.d.ts +128 -0
- package/dist/types/components/le-current-heading/le-current-heading.d.ts +25 -0
- package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +118 -0
- package/dist/types/components/le-header/le-header.d.ts +115 -0
- package/dist/types/components/le-header-placeholder/le-header-placeholder.d.ts +13 -0
- package/dist/types/components/le-multiselect/le-multiselect.d.ts +143 -0
- package/dist/types/components/le-popover/le-popover.d.ts +22 -2
- package/dist/types/components/le-popup/le-popup.d.ts +5 -0
- package/dist/types/components/le-scroll-progress/le-scroll-progress.d.ts +40 -0
- package/dist/types/components/le-segmented-control/le-segmented-control.d.ts +82 -0
- package/dist/types/components/le-select/le-select.d.ts +125 -0
- package/dist/types/components/le-string-input/le-string-input.d.ts +8 -0
- package/dist/types/components/le-tab/le-tab.d.ts +116 -0
- package/dist/types/components/le-tab-bar/le-tab-bar.d.ts +88 -0
- package/dist/types/components/le-tab-panel/le-tab-panel.d.ts +75 -0
- package/dist/types/components/le-tabs/le-tabs.d.ts +108 -0
- package/dist/types/components/le-tag/le-tag.d.ts +78 -0
- package/dist/types/components.d.ts +3061 -273
- package/dist/types/types/options.d.ts +9 -0
- package/package.json +3 -18
- package/dist/core/cjs/index-B0mg71He.js.map +0 -1
- package/dist/core/cjs/index.cjs.js.map +0 -1
- package/dist/core/cjs/le-box.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-button.cjs.entry.js +0 -92
- package/dist/core/cjs/le-button.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-card.cjs.entry.js +0 -29
- package/dist/core/cjs/le-card.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-checkbox.cjs.entry.js +0 -61
- package/dist/core/cjs/le-checkbox.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-kit.cjs.js +0 -25
- package/dist/core/cjs/le-number-input.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-popover.cjs.entry.js +0 -348
- package/dist/core/cjs/le-popover.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-popup.cjs.entry.js +0 -212
- package/dist/core/cjs/le-popup.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-round-progress.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-stack.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-string-input.cjs.entry.js +0 -95
- package/dist/core/cjs/le-string-input.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-text.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-turntable.entry.cjs.js.map +0 -1
- package/dist/core/cjs/loader.cjs.js +0 -13
- package/dist/core/cjs/utils-jdqP71LP.js.map +0 -1
- package/dist/core/collection/collection-manifest.json +0 -24
- package/dist/core/collection/components/le-box/le-box.js.map +0 -1
- package/dist/core/collection/components/le-button/le-button.js.map +0 -1
- package/dist/core/collection/components/le-card/le-card.js.map +0 -1
- package/dist/core/collection/components/le-checkbox/le-checkbox.js.map +0 -1
- package/dist/core/collection/components/le-number-input/le-number-input.js.map +0 -1
- package/dist/core/collection/components/le-popover/le-popover.js.map +0 -1
- package/dist/core/collection/components/le-popup/le-popup.api.js.map +0 -1
- package/dist/core/collection/components/le-popup/le-popup.js.map +0 -1
- package/dist/core/collection/components/le-round-progress/le-round-progress.js.map +0 -1
- package/dist/core/collection/components/le-stack/le-stack.js.map +0 -1
- package/dist/core/collection/components/le-string-input/le-string-input.js.map +0 -1
- package/dist/core/collection/components/le-text/le-text.js.map +0 -1
- package/dist/core/collection/components/le-turntable/le-turntable.js.map +0 -1
- package/dist/core/collection/global/app.js.map +0 -1
- package/dist/core/collection/index.js.map +0 -1
- package/dist/core/collection/types/blocks.js.map +0 -1
- package/dist/core/collection/types/options.js.map +0 -1
- package/dist/core/collection/utils/utils.js.map +0 -1
- package/dist/core/components/index.d.ts +0 -33
- package/dist/core/components/index.js.map +0 -1
- package/dist/core/components/le-box.d.ts +0 -11
- package/dist/core/components/le-box.js.map +0 -1
- package/dist/core/components/le-button.d.ts +0 -11
- package/dist/core/components/le-button2.js.map +0 -1
- package/dist/core/components/le-card.d.ts +0 -11
- package/dist/core/components/le-card.js.map +0 -1
- package/dist/core/components/le-checkbox.d.ts +0 -11
- package/dist/core/components/le-component.d.ts +0 -11
- package/dist/core/components/le-number-input.d.ts +0 -11
- package/dist/core/components/le-number-input.js.map +0 -1
- package/dist/core/components/le-popover.d.ts +0 -11
- package/dist/core/components/le-popover2.js.map +0 -1
- package/dist/core/components/le-popup.d.ts +0 -11
- package/dist/core/components/le-popup.js +0 -279
- package/dist/core/components/le-popup.js.map +0 -1
- package/dist/core/components/le-round-progress.d.ts +0 -11
- package/dist/core/components/le-slot.d.ts +0 -11
- package/dist/core/components/le-stack.d.ts +0 -11
- package/dist/core/components/le-stack.js.map +0 -1
- package/dist/core/components/le-string-input.d.ts +0 -11
- package/dist/core/components/le-text.d.ts +0 -11
- package/dist/core/components/le-text.js.map +0 -1
- package/dist/core/components/le-turntable.d.ts +0 -11
- package/dist/core/esm/index-SKsXnjWI.js.map +0 -1
- package/dist/core/esm/index.js.map +0 -1
- package/dist/core/esm/le-box.entry.js +0 -182
- package/dist/core/esm/le-box.entry.js.map +0 -1
- package/dist/core/esm/le-button.entry.js +0 -90
- package/dist/core/esm/le-button.entry.js.map +0 -1
- package/dist/core/esm/le-card.entry.js +0 -27
- package/dist/core/esm/le-card.entry.js.map +0 -1
- package/dist/core/esm/le-checkbox.entry.js +0 -59
- package/dist/core/esm/le-checkbox.entry.js.map +0 -1
- package/dist/core/esm/le-kit.js +0 -21
- package/dist/core/esm/le-number-input.entry.js +0 -200
- package/dist/core/esm/le-number-input.entry.js.map +0 -1
- package/dist/core/esm/le-popover.entry.js +0 -346
- package/dist/core/esm/le-popover.entry.js.map +0 -1
- package/dist/core/esm/le-popup.entry.js +0 -210
- package/dist/core/esm/le-popup.entry.js.map +0 -1
- package/dist/core/esm/le-round-progress.entry.js.map +0 -1
- package/dist/core/esm/le-stack.entry.js +0 -133
- package/dist/core/esm/le-stack.entry.js.map +0 -1
- package/dist/core/esm/le-string-input.entry.js +0 -93
- package/dist/core/esm/le-string-input.entry.js.map +0 -1
- package/dist/core/esm/le-text.entry.js +0 -333
- package/dist/core/esm/le-text.entry.js.map +0 -1
- package/dist/core/esm/le-turntable.entry.js.map +0 -1
- package/dist/core/esm/loader.js +0 -11
- package/dist/core/esm/utils-DZdP1JiG.js +0 -146
- package/dist/core/esm/utils-DZdP1JiG.js.map +0 -1
- package/dist/core/le-kit/index.esm.js +0 -2
- package/dist/core/le-kit/index.esm.js.map +0 -1
- package/dist/core/le-kit/le-box.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-button.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-card.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-checkbox.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-kit.css +0 -1
- package/dist/core/le-kit/le-kit.esm.js +0 -2
- package/dist/core/le-kit/le-kit.esm.js.map +0 -1
- package/dist/core/le-kit/le-number-input.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-popover.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-popup.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-round-progress.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-stack.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-string-input.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-text.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-turntable.entry.esm.js.map +0 -1
- package/dist/core/le-kit/loader.esm.js.map +0 -1
- package/dist/core/le-kit/p--VxUdzYV.js +0 -2
- package/dist/core/le-kit/p--VxUdzYV.js.map +0 -1
- package/dist/core/le-kit/p-189cb775.entry.js +0 -2
- package/dist/core/le-kit/p-189cb775.entry.js.map +0 -1
- package/dist/core/le-kit/p-35c1d413.entry.js +0 -2
- package/dist/core/le-kit/p-35c1d413.entry.js.map +0 -1
- package/dist/core/le-kit/p-4f133e72.entry.js.map +0 -1
- package/dist/core/le-kit/p-55f70091.entry.js.map +0 -1
- package/dist/core/le-kit/p-5fd7b23a.entry.js +0 -2
- package/dist/core/le-kit/p-5fd7b23a.entry.js.map +0 -1
- package/dist/core/le-kit/p-6e414a5c.entry.js.map +0 -1
- package/dist/core/le-kit/p-7b121ca7.entry.js +0 -2
- package/dist/core/le-kit/p-7b121ca7.entry.js.map +0 -1
- package/dist/core/le-kit/p-8c81fa95.entry.js +0 -2
- package/dist/core/le-kit/p-8c81fa95.entry.js.map +0 -1
- package/dist/core/le-kit/p-9aa81442.entry.js +0 -2
- package/dist/core/le-kit/p-9aa81442.entry.js.map +0 -1
- package/dist/core/le-kit/p-SKsXnjWI.js +0 -3
- package/dist/core/le-kit/p-SKsXnjWI.js.map +0 -1
- package/dist/core/le-kit/p-a9d05ef6.entry.js.map +0 -1
- package/dist/core/le-kit/p-b2bd2a80.entry.js +0 -2
- package/dist/core/le-kit/p-b2bd2a80.entry.js.map +0 -1
- package/dist/core/le-kit/p-ccac9611.entry.js +0 -2
- package/dist/core/le-kit/p-ccac9611.entry.js.map +0 -1
- package/dist/core/loader/cdn.js +0 -1
- package/dist/core/loader/index.cjs.js +0 -1
- package/dist/core/loader/index.d.ts +0 -24
- package/dist/core/loader/index.es2017.js +0 -1
- package/dist/core/loader/index.js +0 -2
- package/dist/core/types/components/le-box/le-box.d.ts +0 -111
- package/dist/core/types/components/le-button/le-button.d.ts +0 -78
- package/dist/core/types/components/le-card/le-card.d.ts +0 -37
- package/dist/core/types/components/le-checkbox/le-checkbox.d.ts +0 -46
- package/dist/core/types/components/le-number-input/le-number-input.d.ts +0 -106
- package/dist/core/types/components/le-popover/le-popover.d.ts +0 -109
- package/dist/core/types/components/le-popup/le-popup.api.d.ts +0 -73
- package/dist/core/types/components/le-popup/le-popup.d.ts +0 -122
- package/dist/core/types/components/le-round-progress/le-round-progress.d.ts +0 -37
- package/dist/core/types/components/le-stack/le-stack.d.ts +0 -73
- package/dist/core/types/components/le-string-input/le-string-input.d.ts +0 -83
- package/dist/core/types/components/le-text/le-text.d.ts +0 -141
- package/dist/core/types/components/le-turntable/le-turntable.d.ts +0 -55
- package/dist/core/types/components.d.ts +0 -1752
- package/dist/core/types/global/app.d.ts +0 -73
- package/dist/core/types/index.d.ts +0 -15
- package/dist/core/types/stencil-public-runtime.d.ts +0 -1756
- package/dist/core/types/types/blocks.d.ts +0 -136
- package/dist/core/types/types/options.d.ts +0 -124
- package/dist/core/types/utils/utils.d.ts +0 -54
- package/dist/le-kit/assets/custom-elements.json +0 -4305
- package/dist/le-kit/index-CAY3Hk_i.js +0 -4559
- package/dist/le-kit/index-CAY3Hk_i.js.map +0 -1
- package/dist/le-kit/le-button.entry.esm.js.map +0 -1
- package/dist/le-kit/le-button.entry.js +0 -90
- package/dist/le-kit/le-checkbox.entry.esm.js.map +0 -1
- package/dist/le-kit/le-checkbox.entry.js +0 -59
- package/dist/le-kit/le-component.entry.esm.js.map +0 -1
- package/dist/le-kit/le-popover.entry.esm.js.map +0 -1
- package/dist/le-kit/le-popover.entry.js +0 -346
- package/dist/le-kit/le-popup.entry.esm.js.map +0 -1
- package/dist/le-kit/le-popup.entry.js +0 -210
- package/dist/le-kit/le-round-progress.entry.js +0 -104
- package/dist/le-kit/le-slot.entry.esm.js.map +0 -1
- package/dist/le-kit/le-string-input.entry.esm.js.map +0 -1
- package/dist/le-kit/le-string-input.entry.js +0 -93
- package/dist/le-kit/le-turntable.entry.js +0 -137
- /package/dist/{core/cjs → cjs}/le-kit.cjs.js.map +0 -0
- /package/dist/{core/cjs → cjs}/loader.cjs.js.map +0 -0
- /package/dist/{core/collection → collection}/components/le-box/le-box.default.css +0 -0
- /package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.css +0 -0
- /package/dist/{core/collection → collection}/components/le-number-input/le-number-input.css +0 -0
- /package/dist/{core/collection → collection}/components/le-popup/le-popup.css +0 -0
- /package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.css +0 -0
- /package/dist/{core/collection → collection}/components/le-stack/le-stack.default.css +0 -0
- /package/dist/{core/collection → collection}/components/le-text/le-text.default.css +0 -0
- /package/dist/{core/collection → collection}/components/le-turntable/le-turntable.css +0 -0
- /package/dist/{core/collection → collection}/global/app.js +0 -0
- /package/dist/{core/collection → collection}/index.js +0 -0
- /package/dist/{core/collection → collection}/types/blocks.js +0 -0
- /package/dist/{core/collection → collection}/types/options.js +0 -0
- /package/dist/{core/collection → collection}/utils/utils.js +0 -0
- /package/dist/{core/components → components}/le-button.js.map +0 -0
- /package/dist/{core/components → components}/le-checkbox.js.map +0 -0
- /package/dist/{core/components → components}/le-component.js.map +0 -0
- /package/dist/{core/components → components}/le-popover.js +0 -0
- /package/dist/{core/components → components}/le-popover.js.map +0 -0
- /package/dist/{core/components → components}/le-round-progress.js.map +0 -0
- /package/dist/{core/components → components}/le-slot.js.map +0 -0
- /package/dist/{core/components → components}/le-string-input.js.map +0 -0
- /package/dist/{core/components → components}/le-turntable.js.map +0 -0
- /package/dist/{core/components → components}/utils.js +0 -0
- /package/dist/{core/components → components}/utils.js.map +0 -0
- /package/dist/{core/esm → esm}/le-kit.js.map +0 -0
- /package/dist/{core/esm → esm}/loader.js.map +0 -0
- /package/dist/{core/index.cjs.js → index.cjs.js} +0 -0
- /package/dist/{core/index.js → index.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"le-dropdown-base.js","sourceRoot":"","sources":["../../../src/components/le-dropdown-base/le-dropdown-base.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n Method,\n Element,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport { LeOption, LeOptionValue, LeOptionSelectDetail } from '../../types/options';\nimport { generateId } from '../../utils/utils';\n\n/**\n * Internal dropdown base component that provides shared functionality\n * for select, combobox, and multiselect components.\n *\n * Wraps le-popover for positioning and provides:\n * - Option list rendering with groups\n * - Keyboard navigation (↑↓, Enter, Escape, Home/End)\n * - Option filtering support\n * - Single and multi-select modes\n *\n * @cmsInternal true\n * @cmsCategory System\n *\n * @slot trigger - The element that triggers the dropdown\n */\n@Component({\n tag: 'le-dropdown-base',\n styleUrl: 'le-dropdown-base.css',\n shadow: true,\n})\nexport class LeDropdownBase {\n @Element() el: HTMLElement;\n\n /**\n * The options to display in the dropdown.\n */\n @Prop() options: LeOption[] = [];\n\n /**\n * Current value(s) - single value or array for multiselect.\n */\n @Prop() value?: LeOptionValue | LeOptionValue[];\n\n /**\n * Whether multiple selection is allowed.\n */\n @Prop() multiple: boolean = false;\n\n /**\n * Whether the dropdown is open.\n */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /**\n * Whether the dropdown is disabled.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Filter function for options.\n * Return true to include the option.\n */\n @Prop() filterFn?: (option: LeOption, query: string) => boolean;\n\n /**\n * Current filter query string.\n */\n @Prop() filterQuery: string = '';\n\n /**\n * Placeholder text when no options match filter.\n */\n @Prop() emptyText: string = 'No options';\n\n /**\n * Whether to show checkboxes for multiselect mode.\n */\n @Prop() showCheckboxes: boolean = true;\n\n /**\n * Maximum height of the dropdown list.\n */\n @Prop() maxHeight: string = '300px';\n\n /**\n * Width of the dropdown. If not set, matches trigger width.\n */\n @Prop() width?: string;\n\n /**\n * Sets the dropdown to full width of the trigger.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * Whether to close the dropdown when clicking outside.\n * (used to support combobox with input focus)\n */\n @Prop() closeOnClickOutside: boolean = true;\n\n /**\n * Emitted when an option is selected.\n */\n @Event() leOptionSelect: EventEmitter<LeOptionSelectDetail>;\n\n /**\n * Emitted when the dropdown opens.\n */\n @Event() leDropdownOpen: EventEmitter<void>;\n\n /**\n * Emitted when the dropdown closes.\n */\n @Event() leDropdownClose: EventEmitter<void>;\n\n @State() private focusedIndex: number = -1;\n @State() private filteredOptions: LeOption[] = [];\n\n private popoverEl?: HTMLLePopoverElement;\n private listEl?: HTMLElement;\n private triggerWidth: number = 0;\n\n @Watch('options')\n @Watch('filterQuery')\n handleOptionsChange() {\n this.updateFilteredOptions();\n }\n\n componentWillLoad() {\n this.updateFilteredOptions();\n }\n\n private updateFilteredOptions() {\n // Remember previously focused option\n const focusedOption = this.filteredOptions[this.focusedIndex];\n\n if (!this.filterQuery || !this.filterFn) {\n this.filteredOptions = this.options;\n } else {\n this.filteredOptions = this.options.filter(opt => this.filterFn!(opt, this.filterQuery));\n }\n\n // try to maintain focus on same option if still present\n if (focusedOption) {\n const newIndex = this.filteredOptions.indexOf(focusedOption);\n this.focusedIndex = newIndex >= 0 ? newIndex : this.getInitialFocusIndex();\n } else {\n this.focusedIndex = -1;\n }\n }\n\n private getSelectableOptions(): LeOption[] {\n return this.filteredOptions.filter(opt => !opt.disabled);\n }\n\n private isSelected(option: LeOption): boolean {\n const optValue = option.value ?? option.label;\n if (this.multiple && Array.isArray(this.value)) {\n setTimeout(() => {\n this.popoverEl?.updatePosition();\n }, 50);\n return this.value.includes(optValue);\n }\n return this.value === optValue;\n }\n\n private handleOptionClick(option: LeOption, e: MouseEvent) {\n e.preventDefault();\n e.stopPropagation();\n\n if (option.disabled) return;\n\n this.leOptionSelect.emit({\n value: option.value ?? option.label,\n option,\n });\n\n // Close dropdown for single select\n if (!this.multiple) {\n this.hide();\n }\n }\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (!this.open) return;\n\n const optionCount = this.filteredOptions.length;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n // check for the next non-disabled option and focus\n let nextIndex = this.focusedIndex < optionCount - 1 ? this.focusedIndex + 1 : 0;\n while (this.filteredOptions[nextIndex].disabled) {\n nextIndex = ++nextIndex < optionCount ? nextIndex : 0;\n }\n this.focusedIndex = nextIndex;\n this.scrollToFocused();\n break;\n\n case 'ArrowUp':\n e.preventDefault();\n // check for the previous non-disabled option and focus\n let prevIndex = this.focusedIndex > 0 ? this.focusedIndex - 1 : optionCount - 1;\n while (this.filteredOptions[prevIndex].disabled) {\n prevIndex = --prevIndex >= 0 ? prevIndex : optionCount - 1;\n }\n this.focusedIndex = prevIndex;\n this.scrollToFocused();\n break;\n\n case 'Home':\n e.preventDefault();\n // check for the first non-disabled option and focus\n let firstIndex = 0;\n while (this.filteredOptions[firstIndex].disabled) {\n firstIndex++;\n if (firstIndex >= optionCount) {\n firstIndex = -1;\n break;\n }\n }\n this.focusedIndex = firstIndex;\n this.scrollToFocused();\n break;\n\n case 'End':\n e.preventDefault();\n // check for the last non-disabled option and focus\n let lastIndex = optionCount - 1;\n while (this.filteredOptions[lastIndex].disabled) {\n lastIndex--;\n if (lastIndex < 0) {\n lastIndex = -1;\n break;\n }\n }\n this.focusedIndex = lastIndex;\n this.scrollToFocused();\n break;\n\n case 'Enter':\n case ' ':\n e.preventDefault();\n if (this.focusedIndex >= 0 && this.focusedIndex < optionCount) {\n const option = this.filteredOptions[this.focusedIndex];\n if (!option || option.disabled) return;\n this.leOptionSelect.emit({\n value: option.value ?? option.label,\n option,\n });\n if (!this.multiple) {\n this.hide();\n }\n }\n break;\n\n case 'Escape':\n e.preventDefault();\n this.hide();\n break;\n\n case 'Tab':\n this.hide();\n break;\n }\n };\n\n private scrollToFocused() {\n if (!this.listEl || this.focusedIndex < 0) return;\n\n const focusedEl = this.listEl.querySelector(\n `[data-index=\"${this.focusedIndex}\"]`,\n ) as HTMLElement;\n if (focusedEl) {\n focusedEl.scrollIntoView({ block: 'nearest' });\n }\n }\n\n private handlePopoverOpen = () => {\n this.open = true;\n this.focusedIndex = this.getInitialFocusIndex();\n this.leDropdownOpen.emit();\n\n // Add keyboard listener\n document.addEventListener('keydown', this.handleKeyDown);\n };\n\n private handlePopoverClose = () => {\n this.open = false;\n this.focusedIndex = -1;\n this.leDropdownClose.emit();\n\n // Remove keyboard listener\n document.removeEventListener('keydown', this.handleKeyDown);\n };\n\n private getInitialFocusIndex(): number {\n // Focus on first selected option, or first option\n const selectableOptions = this.getSelectableOptions();\n const selectedIndex = selectableOptions.findIndex(opt => this.isSelected(opt));\n return selectedIndex >= 0 ? selectedIndex : 0;\n }\n\n /**\n * Opens the dropdown.\n */\n @Method()\n async show() {\n if (this.disabled) return;\n\n // Capture trigger width for matching dropdown width\n const trigger = this.el.querySelector('[slot=\"trigger\"]') as HTMLElement;\n if (trigger) {\n this.triggerWidth = trigger.offsetWidth;\n }\n\n await this.popoverEl?.show();\n }\n\n /**\n * Closes the dropdown.\n */\n @Method()\n async hide() {\n await this.popoverEl?.hide();\n }\n\n /**\n * Toggles the dropdown.\n */\n @Method()\n async toggle() {\n if (this.open) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n\n private renderIcon(icon: string | undefined, className: string) {\n if (!icon) return null;\n\n if (icon.startsWith('http') || icon.startsWith('/')) {\n return <img class={className} src={icon} alt=\"\" />;\n }\n\n return <span class={className}>{icon}</span>;\n }\n\n private renderOption(option: LeOption, index: number) {\n const isSelected = this.isSelected(option);\n const isFocused = index === this.focusedIndex;\n const optionId = option.id || generateId();\n\n return (\n <div\n class={{\n 'dropdown-option': true,\n 'is-selected': isSelected,\n 'is-focused': isFocused,\n 'is-disabled': !!option.disabled,\n }}\n role=\"option\"\n id={optionId}\n aria-selected={isSelected ? 'true' : 'false'}\n aria-disabled={option.disabled ? 'true' : undefined}\n data-index={index}\n onClick={e => this.handleOptionClick(option, e)}\n onMouseEnter={() => {\n if (!option.disabled) {\n this.focusedIndex = index;\n }\n }}\n >\n {this.renderIcon(option.iconStart, 'option-icon-start')}\n <div class=\"option-content\">\n <span class=\"option-label\">{option.label}</span>\n {option.description && <span class=\"option-description\">{option.description}</span>}\n </div>\n {this.renderIcon(option.iconEnd, 'option-icon-end')}\n {(!this.multiple || this.showCheckboxes) && isSelected && (\n <span class=\"option-check\">\n <svg viewBox=\"0 0 16 16\" fill=\"currentColor\">\n <path d=\"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z\" />\n </svg>\n </span>\n )}\n </div>\n );\n }\n\n private renderOptions() {\n if (this.filteredOptions.length === 0) {\n return <div class=\"dropdown-empty\">{this.emptyText}</div>;\n }\n\n // Group options if they have group property\n const grouped = new Map<string, LeOption[]>();\n const ungrouped: LeOption[] = [];\n\n this.filteredOptions.forEach(opt => {\n if (opt.group) {\n const group = grouped.get(opt.group) || [];\n group.push(opt);\n grouped.set(opt.group, group);\n } else {\n ungrouped.push(opt);\n }\n });\n\n // Build flat list with group headers for index tracking\n let globalIndex = 0;\n const elements: any[] = [];\n\n // Render ungrouped options first\n ungrouped.forEach(opt => {\n if (opt.separator === 'before') {\n elements.push(<div class=\"dropdown-separator\" role=\"separator\" />);\n }\n elements.push(this.renderOption(opt, globalIndex++));\n if (opt.separator === 'after') {\n elements.push(<div class=\"dropdown-separator\" role=\"separator\" />);\n }\n });\n\n // Render grouped options\n grouped.forEach((options, groupLabel) => {\n elements.push(\n <div class=\"dropdown-group-header\" role=\"presentation\">\n {groupLabel}\n </div>,\n );\n options.forEach(opt => {\n elements.push(this.renderOption(opt, globalIndex++));\n });\n });\n\n return elements;\n }\n\n render() {\n const dropdownWidth = this.width || (this.triggerWidth ? `${this.triggerWidth}px` : undefined);\n\n return (\n <Host>\n <le-popover\n ref={el => (this.popoverEl = el)}\n position=\"bottom\"\n align=\"start\"\n showClose={false}\n closeOnClickOutside={this.closeOnClickOutside}\n closeOnEscape={true}\n offset={4}\n width={dropdownWidth}\n minWidth=\"150px\"\n trigger-full-width={this.fullWidth}\n onLePopoverOpen={this.handlePopoverOpen}\n onLePopoverClose={this.handlePopoverClose}\n >\n <slot name=\"trigger\" slot=\"trigger\" />\n <slot name=\"header\" />\n <div\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-multiselectable={this.multiple ? 'true' : undefined}\n ref={el => (this.listEl = el)}\n style={{ maxHeight: this.maxHeight }}\n >\n {this.renderOptions()}\n </div>\n </le-popover>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: block;
|
|
3
|
+
width: 100%;
|
|
4
|
+
|
|
5
|
+
/* Container styles */
|
|
6
|
+
/* Offset from the top of the page (e.g. if page has top padding or another fixed bar). */
|
|
7
|
+
--le-header-top-offset: 0;
|
|
8
|
+
|
|
9
|
+
--le-header-bg: var(--le-color-surface);
|
|
10
|
+
--le-header-max-width: var(--le-header-max-width, auto);
|
|
11
|
+
--le-header-margin: 0 auto;
|
|
12
|
+
--le-header-border: 1px solid var(--le-color-border);
|
|
13
|
+
--le-header-border-radius: 0px;
|
|
14
|
+
--le-header-shadow: var(--le-header-shadow, none);
|
|
15
|
+
|
|
16
|
+
/* Content styles */
|
|
17
|
+
--le-header-color: var(--le-color-text);
|
|
18
|
+
--le-header-content-max-width: 800px;
|
|
19
|
+
--le-header-padding-x: var(--le-space-md);
|
|
20
|
+
--le-header-padding-y: var(--le-space-sm);
|
|
21
|
+
--le-header-gap: var(--le-space-sm);
|
|
22
|
+
|
|
23
|
+
--le-header-transition: var(--le-transition-normal);
|
|
24
|
+
--le-header-z: 1000;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.header {
|
|
28
|
+
width: 100%;
|
|
29
|
+
max-width: var(--le-header-max-width);
|
|
30
|
+
margin: var(--le-header-margin);
|
|
31
|
+
background: var(--le-header-bg);
|
|
32
|
+
color: var(--le-header-color);
|
|
33
|
+
border-bottom: var(--le-header-border);
|
|
34
|
+
border-radius: var(--le-header-border-radius);
|
|
35
|
+
box-shadow: var(--le-header-shadow);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
:host(.is-fixed) {
|
|
39
|
+
position: fixed;
|
|
40
|
+
top: var(--le-header-top-offset);
|
|
41
|
+
left: 0;
|
|
42
|
+
right: 0;
|
|
43
|
+
z-index: var(--le-header-z);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:host(.is-sticky) {
|
|
47
|
+
position: sticky;
|
|
48
|
+
top: var(--le-header-top-offset);
|
|
49
|
+
z-index: var(--le-header-z);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
:host(.is-static) {
|
|
53
|
+
position: relative;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.inner {
|
|
57
|
+
max-width: var(--le-header-content-max-width);
|
|
58
|
+
margin: 0 auto;
|
|
59
|
+
padding: var(--le-header-padding-y) var(--le-header-padding-x);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.row {
|
|
63
|
+
display: grid;
|
|
64
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
|
|
65
|
+
align-items: center;
|
|
66
|
+
gap: var(--le-header-gap);
|
|
67
|
+
transition:
|
|
68
|
+
height var(--le-header-transition),
|
|
69
|
+
padding var(--le-header-transition),
|
|
70
|
+
transform var(--le-header-transition);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
:host(.is-shrunk) .row {
|
|
74
|
+
height: var(--le-header-height-condensed);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* reveal behavior (sticky only) */
|
|
78
|
+
:host(.is-sticky.is-hidden) {
|
|
79
|
+
transform: translateY(-150%);
|
|
80
|
+
transition: transform var(--le-header-transition);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
:host(.is-sticky.is-revealed) {
|
|
84
|
+
transform: translateY(0);
|
|
85
|
+
transition: transform var(--le-header-transition);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.start,
|
|
89
|
+
.title,
|
|
90
|
+
.end {
|
|
91
|
+
min-width: 0;
|
|
92
|
+
display: flex;
|
|
93
|
+
align-items: center;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.start {
|
|
97
|
+
justify-content: flex-start;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.end {
|
|
101
|
+
justify-content: flex-end;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.title {
|
|
105
|
+
justify-content: center;
|
|
106
|
+
text-align: center;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.title-slot ::slotted(*) {
|
|
110
|
+
white-space: nowrap;
|
|
111
|
+
overflow: hidden;
|
|
112
|
+
text-overflow: ellipsis;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.compact-title {
|
|
116
|
+
font: inherit;
|
|
117
|
+
white-space: nowrap;
|
|
118
|
+
overflow: hidden;
|
|
119
|
+
text-overflow: ellipsis;
|
|
120
|
+
}
|
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
import { h, Host, } from "@stencil/core";
|
|
2
|
+
import { classnames } from "../../utils/utils";
|
|
3
|
+
/**
|
|
4
|
+
* A functional page header with scroll-aware behaviors.
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Static (default), sticky, or fixed positioning
|
|
8
|
+
* - Optional shrink-on-scroll behavior via `shrink-offset`
|
|
9
|
+
* - Optional reveal-on-scroll-up via `reveal-on-scroll` (sticky only)
|
|
10
|
+
*
|
|
11
|
+
* Slots:
|
|
12
|
+
* - `start`: left side (logo/back button)
|
|
13
|
+
* - `title`: centered/primary title content
|
|
14
|
+
* - `end`: right side actions
|
|
15
|
+
* - default: extra content row (e.g., tabs/search) rendered below main row
|
|
16
|
+
*
|
|
17
|
+
* @slot start - Start area content
|
|
18
|
+
* @slot title - Title content
|
|
19
|
+
* @slot end - End area content
|
|
20
|
+
* @slot - Optional secondary row content
|
|
21
|
+
*
|
|
22
|
+
* @cssprop --le-header-bg - Background (color/gradient)
|
|
23
|
+
* @cssprop --le-header-color - Text color
|
|
24
|
+
* @cssprop --le-header-border - Border (e.g. 1px solid ...)
|
|
25
|
+
* @cssprop --le-header-shadow - Shadow/elevation
|
|
26
|
+
* @cssprop --le-header-max-width - Inner content max width
|
|
27
|
+
* @cssprop --le-header-padding-x - Horizontal padding
|
|
28
|
+
* @cssprop --le-header-padding-y - Vertical padding
|
|
29
|
+
* @cssprop --le-header-gap - Gap between zones
|
|
30
|
+
* @cssprop --le-header-height - Base height (main row)
|
|
31
|
+
* @cssprop --le-header-height-condensed - Condensed height when shrunk
|
|
32
|
+
* @cssprop --le-header-transition - Transition timing
|
|
33
|
+
* @cssprop --le-header-z - Z-index (fixed mode)
|
|
34
|
+
*
|
|
35
|
+
* @csspart header - The header container
|
|
36
|
+
* @csspart inner - Inner max-width container
|
|
37
|
+
* @csspart row - Main row
|
|
38
|
+
* @csspart start - Start zone
|
|
39
|
+
* @csspart title - Title zone
|
|
40
|
+
* @csspart end - End zone
|
|
41
|
+
* @csspart secondary - Secondary row
|
|
42
|
+
*
|
|
43
|
+
* @cmsEditable true
|
|
44
|
+
* @cmsCategory Layout
|
|
45
|
+
*/
|
|
46
|
+
export class LeHeader {
|
|
47
|
+
el;
|
|
48
|
+
/** Force static positioning (default). Ignored if `sticky` or `fixed` are true. */
|
|
49
|
+
isStatic = false;
|
|
50
|
+
/** Sticky positioning (in-flow). Ignored if `fixed` is true. */
|
|
51
|
+
sticky = false;
|
|
52
|
+
/** Fixed positioning (out-of-flow). Takes precedence over `sticky`/`static`. */
|
|
53
|
+
fixed = false;
|
|
54
|
+
/**
|
|
55
|
+
* Sticky-only reveal behavior (hide on scroll down, show on scroll up).
|
|
56
|
+
* - missing/false: disabled
|
|
57
|
+
* - true/empty attribute: enabled with default threshold (16)
|
|
58
|
+
* - number (as string): enabled and used as threshold
|
|
59
|
+
*/
|
|
60
|
+
revealOnScroll;
|
|
61
|
+
/**
|
|
62
|
+
* Shrink trigger.
|
|
63
|
+
* - missing/0: disabled
|
|
64
|
+
* - number (px): shrink when scrollY >= that value (but never before header height)
|
|
65
|
+
* - css var name (e.g. --foo): shrink when scrollY >= resolved var value
|
|
66
|
+
* - selector (e.g. .page-title): shrink when that element scrolls out of view above the viewport
|
|
67
|
+
*/
|
|
68
|
+
shrinkOffset;
|
|
69
|
+
/**
|
|
70
|
+
* If true, expand the header when hovered
|
|
71
|
+
*/
|
|
72
|
+
expandOnHover = false;
|
|
73
|
+
/** Emits whenever scroll-driven state changes. */
|
|
74
|
+
leHeaderState;
|
|
75
|
+
/** Emits when the header shrinks/expands (only on change). */
|
|
76
|
+
leHeaderShrinkChange;
|
|
77
|
+
/** Emits when the header hides/shows (only on change). */
|
|
78
|
+
leHeaderVisibilityChange;
|
|
79
|
+
revealed = true;
|
|
80
|
+
shrunk = false;
|
|
81
|
+
placeholderHeight = null;
|
|
82
|
+
hoverActive = false;
|
|
83
|
+
disconnectModeObserver;
|
|
84
|
+
rafId = null;
|
|
85
|
+
measureRafId = null;
|
|
86
|
+
lastY = 0;
|
|
87
|
+
lastEmittedDirection = 'down';
|
|
88
|
+
headerEl;
|
|
89
|
+
shrinkSelectorEl;
|
|
90
|
+
setShrunk(next, y) {
|
|
91
|
+
if (next === this.shrunk)
|
|
92
|
+
return;
|
|
93
|
+
this.shrunk = next;
|
|
94
|
+
this.leHeaderShrinkChange.emit({ shrunk: this.shrunk, y });
|
|
95
|
+
}
|
|
96
|
+
componentDidLoad() {
|
|
97
|
+
if (typeof window === 'undefined')
|
|
98
|
+
return;
|
|
99
|
+
this.lastY = window.scrollY || 0;
|
|
100
|
+
this.scheduleMeasure(true);
|
|
101
|
+
this.scheduleUpdate(true);
|
|
102
|
+
}
|
|
103
|
+
disconnectedCallback() {
|
|
104
|
+
this.disconnectModeObserver?.();
|
|
105
|
+
if (this.rafId != null) {
|
|
106
|
+
cancelAnimationFrame(this.rafId);
|
|
107
|
+
this.rafId = null;
|
|
108
|
+
}
|
|
109
|
+
if (this.measureRafId != null) {
|
|
110
|
+
cancelAnimationFrame(this.measureRafId);
|
|
111
|
+
this.measureRafId = null;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
onBehaviorPropsChange() {
|
|
115
|
+
this.scheduleUpdate(true);
|
|
116
|
+
this.scheduleMeasure(true);
|
|
117
|
+
}
|
|
118
|
+
onWindowScroll() {
|
|
119
|
+
this.scheduleUpdate();
|
|
120
|
+
}
|
|
121
|
+
onWindowResize() {
|
|
122
|
+
this.scheduleMeasure(true);
|
|
123
|
+
this.scheduleUpdate(true);
|
|
124
|
+
}
|
|
125
|
+
getPosition() {
|
|
126
|
+
if (this.fixed)
|
|
127
|
+
return 'fixed';
|
|
128
|
+
if (this.sticky)
|
|
129
|
+
return 'sticky';
|
|
130
|
+
return 'static';
|
|
131
|
+
}
|
|
132
|
+
parseRevealThreshold() {
|
|
133
|
+
// Only applies in sticky mode.
|
|
134
|
+
if (!this.sticky || this.fixed)
|
|
135
|
+
return null;
|
|
136
|
+
if (this.revealOnScroll == null)
|
|
137
|
+
return null;
|
|
138
|
+
const raw = String(this.revealOnScroll).trim();
|
|
139
|
+
if (raw === '' || raw === 'true')
|
|
140
|
+
return 16;
|
|
141
|
+
if (raw === 'false')
|
|
142
|
+
return null;
|
|
143
|
+
const n = Number(raw);
|
|
144
|
+
return Number.isFinite(n) ? Math.max(0, n) : 16;
|
|
145
|
+
}
|
|
146
|
+
resolveShrinkStartPx() {
|
|
147
|
+
const raw = (this.shrinkOffset ?? '').trim();
|
|
148
|
+
if (!raw || raw === '0')
|
|
149
|
+
return null;
|
|
150
|
+
// Numeric
|
|
151
|
+
const numeric = Number(raw);
|
|
152
|
+
if (Number.isFinite(numeric))
|
|
153
|
+
return Math.max(0, numeric);
|
|
154
|
+
// CSS variable name
|
|
155
|
+
if (raw.startsWith('--')) {
|
|
156
|
+
const value = getComputedStyle(document.documentElement).getPropertyValue(raw).trim();
|
|
157
|
+
const v = Number(value.replace('px', '').trim());
|
|
158
|
+
return Number.isFinite(v) ? Math.max(0, v) : null;
|
|
159
|
+
}
|
|
160
|
+
// Selector
|
|
161
|
+
try {
|
|
162
|
+
const el = document.querySelector(raw);
|
|
163
|
+
this.shrinkSelectorEl = el;
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
this.shrinkSelectorEl = null;
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
scheduleUpdate(force = false) {
|
|
172
|
+
if (this.rafId != null) {
|
|
173
|
+
if (!force)
|
|
174
|
+
return;
|
|
175
|
+
cancelAnimationFrame(this.rafId);
|
|
176
|
+
this.rafId = null;
|
|
177
|
+
}
|
|
178
|
+
this.rafId = requestAnimationFrame(() => {
|
|
179
|
+
this.rafId = null;
|
|
180
|
+
this.updateFromScroll();
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
scheduleMeasure(force = false) {
|
|
184
|
+
if (this.measureRafId != null && !force)
|
|
185
|
+
return;
|
|
186
|
+
this.measureRafId = requestAnimationFrame(() => {
|
|
187
|
+
this.measureRafId = null;
|
|
188
|
+
this.measurePlaceholderHeight();
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
measurePlaceholderHeight() {
|
|
192
|
+
// Measure the rendered header height once (and on resize/mode change).
|
|
193
|
+
// This intentionally ignores scroll/shrink behavior; it should reserve the full header height.
|
|
194
|
+
if (!this.headerEl)
|
|
195
|
+
return;
|
|
196
|
+
const next = Math.ceil(this.headerEl.getBoundingClientRect().height);
|
|
197
|
+
if (!Number.isFinite(next) || next <= 0)
|
|
198
|
+
return;
|
|
199
|
+
if (next !== this.placeholderHeight) {
|
|
200
|
+
this.placeholderHeight = next;
|
|
201
|
+
// Publish to global root so placeholders anywhere can read it.
|
|
202
|
+
if (typeof document !== 'undefined') {
|
|
203
|
+
document.documentElement.style.setProperty('--le-header-height', `${next}px`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
updateFromScroll() {
|
|
208
|
+
const y = typeof window !== 'undefined' ? window.scrollY || 0 : 0;
|
|
209
|
+
const delta = y - this.lastY;
|
|
210
|
+
const direction = delta < 0 ? 'up' : 'down';
|
|
211
|
+
// Shrink behavior
|
|
212
|
+
let computedShrunk = false;
|
|
213
|
+
const headerHeight = Math.max(0, this.placeholderHeight ?? 0);
|
|
214
|
+
const shrinkStartPx = typeof window !== 'undefined' ? this.resolveShrinkStartPx() : null;
|
|
215
|
+
if (this.shrinkSelectorEl) {
|
|
216
|
+
const rect = this.shrinkSelectorEl.getBoundingClientRect();
|
|
217
|
+
computedShrunk = rect.bottom <= 0;
|
|
218
|
+
}
|
|
219
|
+
else if (shrinkStartPx != null) {
|
|
220
|
+
const effectiveStart = Math.max(shrinkStartPx, headerHeight);
|
|
221
|
+
computedShrunk = y >= effectiveStart;
|
|
222
|
+
}
|
|
223
|
+
// Hover override: when enabled and hovered, force expanded.
|
|
224
|
+
const nextShrunk = this.expandOnHover && this.hoverActive ? false : computedShrunk;
|
|
225
|
+
this.setShrunk(nextShrunk, y);
|
|
226
|
+
// Reveal-on-scroll (sticky-only)
|
|
227
|
+
const revealThreshold = this.parseRevealThreshold();
|
|
228
|
+
if (revealThreshold != null) {
|
|
229
|
+
// Always show the header near the top of the page.
|
|
230
|
+
const topLock = Math.max(0, this.placeholderHeight ?? 0);
|
|
231
|
+
if (y <= topLock) {
|
|
232
|
+
if (!this.revealed) {
|
|
233
|
+
this.revealed = true;
|
|
234
|
+
this.leHeaderVisibilityChange.emit({ visible: true, y });
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
else if (Math.abs(delta) >= revealThreshold) {
|
|
238
|
+
const nextRevealed = direction === 'up' || y <= 0;
|
|
239
|
+
if (nextRevealed !== this.revealed) {
|
|
240
|
+
this.revealed = nextRevealed;
|
|
241
|
+
this.leHeaderVisibilityChange.emit({ visible: this.revealed, y });
|
|
242
|
+
}
|
|
243
|
+
this.lastEmittedDirection = direction;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
if (!this.revealed) {
|
|
248
|
+
this.revealed = true;
|
|
249
|
+
this.leHeaderVisibilityChange.emit({ visible: true, y });
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
this.lastY = y;
|
|
253
|
+
this.leHeaderState.emit({
|
|
254
|
+
y,
|
|
255
|
+
direction: this.lastEmittedDirection,
|
|
256
|
+
revealed: this.revealed,
|
|
257
|
+
shrunk: this.shrunk,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
render() {
|
|
261
|
+
const position = this.getPosition();
|
|
262
|
+
const hostClass = classnames('le-header', {
|
|
263
|
+
'header-is-shrunk': this.shrunk,
|
|
264
|
+
'is-fixed': position === 'fixed',
|
|
265
|
+
'is-sticky': position === 'sticky',
|
|
266
|
+
'is-static': position === 'static',
|
|
267
|
+
'is-revealed': this.revealed,
|
|
268
|
+
'is-hidden': !this.revealed,
|
|
269
|
+
'is-shrunk': this.shrunk,
|
|
270
|
+
});
|
|
271
|
+
return (h(Host, { key: '3fc823975a0ebcae3cb799bf94e35a289813cd35', class: hostClass, onMouseEnter: () => {
|
|
272
|
+
if (!this.expandOnHover)
|
|
273
|
+
return;
|
|
274
|
+
this.hoverActive = true;
|
|
275
|
+
this.scheduleUpdate(true);
|
|
276
|
+
}, onMouseLeave: () => {
|
|
277
|
+
if (!this.expandOnHover)
|
|
278
|
+
return;
|
|
279
|
+
this.hoverActive = false;
|
|
280
|
+
this.scheduleUpdate(true);
|
|
281
|
+
} }, h("le-component", { key: 'bb8e3c5717112e427fd86a6af4231b33147769e7', component: "le-header" }, h("header", { key: 'da96d6a1eb91a85ea8050870895fcd13bdb28391', class: "header", part: "header", role: "banner", ref: el => (this.headerEl = el) }, h("div", { key: '04386a3d535189012655ee352822812349d386d7', class: "inner", part: "inner" }, h("div", { key: '4b1fc43ca08e981f3dc810a23c14e6ed3200a1de', class: "row", part: "row" }, h("div", { key: '8fad255865a0d2e2662f3ad1030d48f8586ae8c7', class: "start", part: "start" }, h("le-slot", { key: '702eeebfe3133dae44e5268848ce5cac81f3b306', name: "start", label: "Start", description: "Logo / back button / nav", "allowed-components": "le-button,le-text,le-tag,le-box,le-stack" }, h("slot", { key: 'bdd3478abbdcd46143ce8a79d096baab84d12588', name: "start" }))), h("div", { key: 'e5b7d3d42e28d80b2df89a3ab365a29b39544f14', class: "title", part: "title" }, h("le-slot", { key: 'b5a68c8baaf05769ea838ca0482fa1db52b03b3a', name: "title", label: "Title", description: "Header title", type: "text", tag: "span" }, h("span", { key: '91763f968886e052a637959253863e583da51b76', class: "title-slot", part: "title" }, h("slot", { key: '060be7c91cca50c26db56cd15ad5d38962c8003f', name: "title" })))), h("div", { key: '938222741cbe15e531ff355185c4f599a3d26147', class: "end", part: "end" }, h("le-slot", { key: '8e1c91426dc87f1bdcb98d33b7da4cc6988781cf', name: "end", label: "End", description: "Actions", "allowed-components": "le-button,le-text,le-tag,le-box,le-stack" }, h("slot", { key: '67e4bda7e7c754dda5a7d9505a9b451f2487f47b', name: "end" })))), h("div", { key: '84dfedd30ec9bd49b668b2e1676ce3712b9d2faf', class: "secondary", part: "secondary" }, h("le-slot", { key: '95c56a8e3dbaaf284b03d72f1d9ec01d24c148d2', name: "", label: "Secondary", description: "Secondary row content", "allowed-components": "le-tabs,le-tab-bar,le-select,le-combobox,le-text,le-stack,le-box" }, h("slot", { key: '240df8fc23a9bc4e7aa294c52b229c7abf7c427d' }))))))));
|
|
282
|
+
}
|
|
283
|
+
static get is() { return "le-header"; }
|
|
284
|
+
static get encapsulation() { return "shadow"; }
|
|
285
|
+
static get originalStyleUrls() {
|
|
286
|
+
return {
|
|
287
|
+
"$": ["le-header.css"]
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
static get styleUrls() {
|
|
291
|
+
return {
|
|
292
|
+
"$": ["le-header.css"]
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
static get properties() {
|
|
296
|
+
return {
|
|
297
|
+
"isStatic": {
|
|
298
|
+
"type": "boolean",
|
|
299
|
+
"mutable": false,
|
|
300
|
+
"complexType": {
|
|
301
|
+
"original": "boolean",
|
|
302
|
+
"resolved": "boolean",
|
|
303
|
+
"references": {}
|
|
304
|
+
},
|
|
305
|
+
"required": false,
|
|
306
|
+
"optional": false,
|
|
307
|
+
"docs": {
|
|
308
|
+
"tags": [],
|
|
309
|
+
"text": "Force static positioning (default). Ignored if `sticky` or `fixed` are true."
|
|
310
|
+
},
|
|
311
|
+
"getter": false,
|
|
312
|
+
"setter": false,
|
|
313
|
+
"reflect": true,
|
|
314
|
+
"attribute": "static",
|
|
315
|
+
"defaultValue": "false"
|
|
316
|
+
},
|
|
317
|
+
"sticky": {
|
|
318
|
+
"type": "boolean",
|
|
319
|
+
"mutable": false,
|
|
320
|
+
"complexType": {
|
|
321
|
+
"original": "boolean",
|
|
322
|
+
"resolved": "boolean",
|
|
323
|
+
"references": {}
|
|
324
|
+
},
|
|
325
|
+
"required": false,
|
|
326
|
+
"optional": false,
|
|
327
|
+
"docs": {
|
|
328
|
+
"tags": [],
|
|
329
|
+
"text": "Sticky positioning (in-flow). Ignored if `fixed` is true."
|
|
330
|
+
},
|
|
331
|
+
"getter": false,
|
|
332
|
+
"setter": false,
|
|
333
|
+
"reflect": true,
|
|
334
|
+
"attribute": "sticky",
|
|
335
|
+
"defaultValue": "false"
|
|
336
|
+
},
|
|
337
|
+
"fixed": {
|
|
338
|
+
"type": "boolean",
|
|
339
|
+
"mutable": false,
|
|
340
|
+
"complexType": {
|
|
341
|
+
"original": "boolean",
|
|
342
|
+
"resolved": "boolean",
|
|
343
|
+
"references": {}
|
|
344
|
+
},
|
|
345
|
+
"required": false,
|
|
346
|
+
"optional": false,
|
|
347
|
+
"docs": {
|
|
348
|
+
"tags": [],
|
|
349
|
+
"text": "Fixed positioning (out-of-flow). Takes precedence over `sticky`/`static`."
|
|
350
|
+
},
|
|
351
|
+
"getter": false,
|
|
352
|
+
"setter": false,
|
|
353
|
+
"reflect": true,
|
|
354
|
+
"attribute": "fixed",
|
|
355
|
+
"defaultValue": "false"
|
|
356
|
+
},
|
|
357
|
+
"revealOnScroll": {
|
|
358
|
+
"type": "string",
|
|
359
|
+
"mutable": false,
|
|
360
|
+
"complexType": {
|
|
361
|
+
"original": "string",
|
|
362
|
+
"resolved": "string",
|
|
363
|
+
"references": {}
|
|
364
|
+
},
|
|
365
|
+
"required": false,
|
|
366
|
+
"optional": true,
|
|
367
|
+
"docs": {
|
|
368
|
+
"tags": [],
|
|
369
|
+
"text": "Sticky-only reveal behavior (hide on scroll down, show on scroll up).\n- missing/false: disabled\n- true/empty attribute: enabled with default threshold (16)\n- number (as string): enabled and used as threshold"
|
|
370
|
+
},
|
|
371
|
+
"getter": false,
|
|
372
|
+
"setter": false,
|
|
373
|
+
"reflect": true,
|
|
374
|
+
"attribute": "reveal-on-scroll"
|
|
375
|
+
},
|
|
376
|
+
"shrinkOffset": {
|
|
377
|
+
"type": "string",
|
|
378
|
+
"mutable": false,
|
|
379
|
+
"complexType": {
|
|
380
|
+
"original": "string",
|
|
381
|
+
"resolved": "string",
|
|
382
|
+
"references": {}
|
|
383
|
+
},
|
|
384
|
+
"required": false,
|
|
385
|
+
"optional": true,
|
|
386
|
+
"docs": {
|
|
387
|
+
"tags": [],
|
|
388
|
+
"text": "Shrink trigger.\n- missing/0: disabled\n- number (px): shrink when scrollY >= that value (but never before header height)\n- css var name (e.g. --foo): shrink when scrollY >= resolved var value\n- selector (e.g. .page-title): shrink when that element scrolls out of view above the viewport"
|
|
389
|
+
},
|
|
390
|
+
"getter": false,
|
|
391
|
+
"setter": false,
|
|
392
|
+
"reflect": true,
|
|
393
|
+
"attribute": "shrink-offset"
|
|
394
|
+
},
|
|
395
|
+
"expandOnHover": {
|
|
396
|
+
"type": "boolean",
|
|
397
|
+
"mutable": false,
|
|
398
|
+
"complexType": {
|
|
399
|
+
"original": "boolean",
|
|
400
|
+
"resolved": "boolean",
|
|
401
|
+
"references": {}
|
|
402
|
+
},
|
|
403
|
+
"required": false,
|
|
404
|
+
"optional": false,
|
|
405
|
+
"docs": {
|
|
406
|
+
"tags": [],
|
|
407
|
+
"text": "If true, expand the header when hovered"
|
|
408
|
+
},
|
|
409
|
+
"getter": false,
|
|
410
|
+
"setter": false,
|
|
411
|
+
"reflect": true,
|
|
412
|
+
"attribute": "expand-on-hover",
|
|
413
|
+
"defaultValue": "false"
|
|
414
|
+
}
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
static get states() {
|
|
418
|
+
return {
|
|
419
|
+
"revealed": {},
|
|
420
|
+
"shrunk": {},
|
|
421
|
+
"placeholderHeight": {},
|
|
422
|
+
"hoverActive": {}
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
static get events() {
|
|
426
|
+
return [{
|
|
427
|
+
"method": "leHeaderState",
|
|
428
|
+
"name": "leHeaderState",
|
|
429
|
+
"bubbles": true,
|
|
430
|
+
"cancelable": true,
|
|
431
|
+
"composed": true,
|
|
432
|
+
"docs": {
|
|
433
|
+
"tags": [],
|
|
434
|
+
"text": "Emits whenever scroll-driven state changes."
|
|
435
|
+
},
|
|
436
|
+
"complexType": {
|
|
437
|
+
"original": "{\n y: number;\n direction: 'up' | 'down';\n revealed: boolean;\n shrunk: boolean;\n }",
|
|
438
|
+
"resolved": "{ y: number; direction: \"up\" | \"down\"; revealed: boolean; shrunk: boolean; }",
|
|
439
|
+
"references": {}
|
|
440
|
+
}
|
|
441
|
+
}, {
|
|
442
|
+
"method": "leHeaderShrinkChange",
|
|
443
|
+
"name": "leHeaderShrinkChange",
|
|
444
|
+
"bubbles": true,
|
|
445
|
+
"cancelable": true,
|
|
446
|
+
"composed": true,
|
|
447
|
+
"docs": {
|
|
448
|
+
"tags": [],
|
|
449
|
+
"text": "Emits when the header shrinks/expands (only on change)."
|
|
450
|
+
},
|
|
451
|
+
"complexType": {
|
|
452
|
+
"original": "{ shrunk: boolean; y: number }",
|
|
453
|
+
"resolved": "{ shrunk: boolean; y: number; }",
|
|
454
|
+
"references": {}
|
|
455
|
+
}
|
|
456
|
+
}, {
|
|
457
|
+
"method": "leHeaderVisibilityChange",
|
|
458
|
+
"name": "leHeaderVisibilityChange",
|
|
459
|
+
"bubbles": true,
|
|
460
|
+
"cancelable": true,
|
|
461
|
+
"composed": true,
|
|
462
|
+
"docs": {
|
|
463
|
+
"tags": [],
|
|
464
|
+
"text": "Emits when the header hides/shows (only on change)."
|
|
465
|
+
},
|
|
466
|
+
"complexType": {
|
|
467
|
+
"original": "{ visible: boolean; y: number }",
|
|
468
|
+
"resolved": "{ visible: boolean; y: number; }",
|
|
469
|
+
"references": {}
|
|
470
|
+
}
|
|
471
|
+
}];
|
|
472
|
+
}
|
|
473
|
+
static get elementRef() { return "el"; }
|
|
474
|
+
static get watchers() {
|
|
475
|
+
return [{
|
|
476
|
+
"propName": "revealOnScroll",
|
|
477
|
+
"methodName": "onBehaviorPropsChange"
|
|
478
|
+
}, {
|
|
479
|
+
"propName": "shrinkOffset",
|
|
480
|
+
"methodName": "onBehaviorPropsChange"
|
|
481
|
+
}, {
|
|
482
|
+
"propName": "fixed",
|
|
483
|
+
"methodName": "onBehaviorPropsChange"
|
|
484
|
+
}, {
|
|
485
|
+
"propName": "sticky",
|
|
486
|
+
"methodName": "onBehaviorPropsChange"
|
|
487
|
+
}, {
|
|
488
|
+
"propName": "isStatic",
|
|
489
|
+
"methodName": "onBehaviorPropsChange"
|
|
490
|
+
}];
|
|
491
|
+
}
|
|
492
|
+
static get listeners() {
|
|
493
|
+
return [{
|
|
494
|
+
"name": "scroll",
|
|
495
|
+
"method": "onWindowScroll",
|
|
496
|
+
"target": "window",
|
|
497
|
+
"capture": false,
|
|
498
|
+
"passive": true
|
|
499
|
+
}, {
|
|
500
|
+
"name": "resize",
|
|
501
|
+
"method": "onWindowResize",
|
|
502
|
+
"target": "window",
|
|
503
|
+
"capture": false,
|
|
504
|
+
"passive": true
|
|
505
|
+
}];
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
//# sourceMappingURL=le-header.js.map
|