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
|
@@ -5,7 +5,11 @@
|
|
|
5
5
|
* It contains typing information for all components that exist in this project.
|
|
6
6
|
*/
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
|
+
import { LeMultiOptionSelectDetail, LeOption, LeOptionSelectDetail, LeOptionValue } from "./types/options";
|
|
9
|
+
import { LeKitMode } from "./global/app";
|
|
8
10
|
import { PopupPosition, PopupResult, PopupType } from "./components/le-popup/le-popup";
|
|
11
|
+
export { LeMultiOptionSelectDetail, LeOption, LeOptionSelectDetail, LeOptionValue } from "./types/options";
|
|
12
|
+
export { LeKitMode } from "./global/app";
|
|
9
13
|
export { PopupPosition, PopupResult, PopupType } from "./components/le-popup/le-popup";
|
|
10
14
|
export namespace Components {
|
|
11
15
|
/**
|
|
@@ -125,10 +129,18 @@ export namespace Components {
|
|
|
125
129
|
* @cssprop --le-button-padding-y - Button vertical padding
|
|
126
130
|
* @csspart button - The native button element
|
|
127
131
|
* @csspart content - The button content wrapper
|
|
132
|
+
* @csspart icon-start - The start icon slot
|
|
133
|
+
* @csspart icon-end - The end icon slot
|
|
128
134
|
* @cmsEditable true
|
|
129
135
|
* @cmsCategory Actions
|
|
130
136
|
*/
|
|
131
137
|
interface LeButton {
|
|
138
|
+
/**
|
|
139
|
+
* Alignment of the button label without the end icon
|
|
140
|
+
* @allowedValues start | center | space-between | end
|
|
141
|
+
* @default 'center'
|
|
142
|
+
*/
|
|
143
|
+
"align": 'start' | 'center' | 'space-between' | 'end';
|
|
132
144
|
/**
|
|
133
145
|
* Button color theme (uses theme semantic colors)
|
|
134
146
|
* @allowedValues primary | secondary | success | warning | danger | info
|
|
@@ -150,10 +162,17 @@ export namespace Components {
|
|
|
150
162
|
*/
|
|
151
163
|
"href"?: string;
|
|
152
164
|
/**
|
|
153
|
-
*
|
|
154
|
-
|
|
165
|
+
* End icon image or emoji
|
|
166
|
+
*/
|
|
167
|
+
"iconEnd"?: string | Node;
|
|
168
|
+
/**
|
|
169
|
+
* Icon only button image or emoji if this prop is set, the button will render only the icon slot
|
|
170
|
+
*/
|
|
171
|
+
"iconOnly"?: string | Node;
|
|
172
|
+
/**
|
|
173
|
+
* Start icon image or emoji
|
|
155
174
|
*/
|
|
156
|
-
"
|
|
175
|
+
"iconStart"?: string | Node;
|
|
157
176
|
/**
|
|
158
177
|
* Mode of the popover should be 'default' for internal use
|
|
159
178
|
*/
|
|
@@ -246,6 +265,132 @@ export namespace Components {
|
|
|
246
265
|
*/
|
|
247
266
|
"value": string;
|
|
248
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* Animated show/hide wrapper.
|
|
270
|
+
* Supports height collapse (auto->0) and/or fading.
|
|
271
|
+
* Can optionally listen to the nearest `le-header` shrink events.
|
|
272
|
+
* @cssprop --le-collapse-duration - Transition duration
|
|
273
|
+
* @csspart region - Collapsible region
|
|
274
|
+
* @csspart content - Inner content
|
|
275
|
+
* @cmsEditable true
|
|
276
|
+
* @cmsCategory Layout
|
|
277
|
+
*/
|
|
278
|
+
interface LeCollapse {
|
|
279
|
+
/**
|
|
280
|
+
* If true, collapse/expand based on the nearest header shrink event.
|
|
281
|
+
* @default false
|
|
282
|
+
*/
|
|
283
|
+
"collapseOnHeaderShrink": boolean;
|
|
284
|
+
/**
|
|
285
|
+
* Stop fading the content when collapsing/expanding.
|
|
286
|
+
* @default false
|
|
287
|
+
*/
|
|
288
|
+
"noFading": boolean;
|
|
289
|
+
/**
|
|
290
|
+
* Whether the content should be shown.
|
|
291
|
+
* @default true
|
|
292
|
+
*/
|
|
293
|
+
"open": boolean;
|
|
294
|
+
/**
|
|
295
|
+
* Whether the content should scroll down from the top when open.
|
|
296
|
+
* @default false
|
|
297
|
+
*/
|
|
298
|
+
"scrollDown": boolean;
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* A combobox component with searchable dropdown.
|
|
302
|
+
* Combines a text input with a dropdown list, allowing users to
|
|
303
|
+
* filter options by typing or select from the list.
|
|
304
|
+
* @cmsEditable true
|
|
305
|
+
* @cmsCategory Form
|
|
306
|
+
* @example Basic combobox
|
|
307
|
+
* ```html
|
|
308
|
+
* <le-combobox
|
|
309
|
+
* placeholder="Search..."
|
|
310
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
311
|
+
* ></le-combobox>
|
|
312
|
+
* ```
|
|
313
|
+
* @example Allow custom values
|
|
314
|
+
* ```html
|
|
315
|
+
* <le-combobox
|
|
316
|
+
* placeholder="Type or select..."
|
|
317
|
+
* allow-custom
|
|
318
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
319
|
+
* ></le-combobox>
|
|
320
|
+
* ```
|
|
321
|
+
*/
|
|
322
|
+
interface LeCombobox {
|
|
323
|
+
/**
|
|
324
|
+
* Whether to allow custom values not in the options list.
|
|
325
|
+
* @default false
|
|
326
|
+
*/
|
|
327
|
+
"allowCustom": boolean;
|
|
328
|
+
/**
|
|
329
|
+
* Whether the combobox is disabled.
|
|
330
|
+
* @default false
|
|
331
|
+
*/
|
|
332
|
+
"disabled": boolean;
|
|
333
|
+
/**
|
|
334
|
+
* Text to show when no options match the search.
|
|
335
|
+
* @default 'No results found'
|
|
336
|
+
*/
|
|
337
|
+
"emptyText": string;
|
|
338
|
+
/**
|
|
339
|
+
* Focuses the input element.
|
|
340
|
+
*/
|
|
341
|
+
"focusInput": () => Promise<void>;
|
|
342
|
+
/**
|
|
343
|
+
* Whether the multiselect should take full width of its container.
|
|
344
|
+
* @default false
|
|
345
|
+
*/
|
|
346
|
+
"fullWidth": boolean;
|
|
347
|
+
/**
|
|
348
|
+
* Closes the dropdown.
|
|
349
|
+
*/
|
|
350
|
+
"hideDropdown": () => Promise<void>;
|
|
351
|
+
/**
|
|
352
|
+
* Minimum characters before showing filtered results.
|
|
353
|
+
* @default 0
|
|
354
|
+
*/
|
|
355
|
+
"minSearchLength": number;
|
|
356
|
+
/**
|
|
357
|
+
* Name attribute for form submission.
|
|
358
|
+
*/
|
|
359
|
+
"name"?: string;
|
|
360
|
+
/**
|
|
361
|
+
* Whether the dropdown is currently open.
|
|
362
|
+
* @default false
|
|
363
|
+
*/
|
|
364
|
+
"open": boolean;
|
|
365
|
+
/**
|
|
366
|
+
* The options to display in the dropdown.
|
|
367
|
+
* @default []
|
|
368
|
+
*/
|
|
369
|
+
"options": LeOption[] | string;
|
|
370
|
+
/**
|
|
371
|
+
* Placeholder text for the input.
|
|
372
|
+
* @default 'Type to search...'
|
|
373
|
+
*/
|
|
374
|
+
"placeholder": string;
|
|
375
|
+
/**
|
|
376
|
+
* Whether selection is required.
|
|
377
|
+
* @default false
|
|
378
|
+
*/
|
|
379
|
+
"required": boolean;
|
|
380
|
+
/**
|
|
381
|
+
* Opens the dropdown.
|
|
382
|
+
*/
|
|
383
|
+
"showDropdown": () => Promise<void>;
|
|
384
|
+
/**
|
|
385
|
+
* Size variant of the combobox.
|
|
386
|
+
* @default 'medium'
|
|
387
|
+
*/
|
|
388
|
+
"size": 'small' | 'medium' | 'large';
|
|
389
|
+
/**
|
|
390
|
+
* The currently selected value.
|
|
391
|
+
*/
|
|
392
|
+
"value"?: LeOptionValue;
|
|
393
|
+
}
|
|
249
394
|
/**
|
|
250
395
|
* Component wrapper for admin mode editing.
|
|
251
396
|
* This component is used internally by other components to provide admin-mode
|
|
@@ -285,6 +430,285 @@ export namespace Components {
|
|
|
285
430
|
*/
|
|
286
431
|
"hostStyle"?: { [key: string]: string };
|
|
287
432
|
}
|
|
433
|
+
/**
|
|
434
|
+
* Shows a "smart" header title based on what has scrolled out of view.
|
|
435
|
+
* When `selector` matches multiple elements, the title becomes the last element
|
|
436
|
+
* (top-to-bottom) that has fully scrolled out above the viewport.
|
|
437
|
+
* @csspart title - The rendered title
|
|
438
|
+
* @cmsEditable true
|
|
439
|
+
* @cmsCategory Layout
|
|
440
|
+
*/
|
|
441
|
+
interface LeCurrentHeading {
|
|
442
|
+
/**
|
|
443
|
+
* CSS selector for page title/headings to watch (e.g. `.page-title`, `main h2`).
|
|
444
|
+
* @default ''
|
|
445
|
+
*/
|
|
446
|
+
"selector": string;
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Internal dropdown base component that provides shared functionality
|
|
450
|
+
* for select, combobox, and multiselect components.
|
|
451
|
+
* Wraps le-popover for positioning and provides:
|
|
452
|
+
* - Option list rendering with groups
|
|
453
|
+
* - Keyboard navigation (↑↓, Enter, Escape, Home/End)
|
|
454
|
+
* - Option filtering support
|
|
455
|
+
* - Single and multi-select modes
|
|
456
|
+
* @cmsInternal true
|
|
457
|
+
* @cmsCategory System
|
|
458
|
+
*/
|
|
459
|
+
interface LeDropdownBase {
|
|
460
|
+
/**
|
|
461
|
+
* Whether to close the dropdown when clicking outside. (used to support combobox with input focus)
|
|
462
|
+
* @default true
|
|
463
|
+
*/
|
|
464
|
+
"closeOnClickOutside": boolean;
|
|
465
|
+
/**
|
|
466
|
+
* Whether the dropdown is disabled.
|
|
467
|
+
* @default false
|
|
468
|
+
*/
|
|
469
|
+
"disabled": boolean;
|
|
470
|
+
/**
|
|
471
|
+
* Placeholder text when no options match filter.
|
|
472
|
+
* @default 'No options'
|
|
473
|
+
*/
|
|
474
|
+
"emptyText": string;
|
|
475
|
+
/**
|
|
476
|
+
* Filter function for options. Return true to include the option.
|
|
477
|
+
*/
|
|
478
|
+
"filterFn"?: (option: LeOption, query: string) => boolean;
|
|
479
|
+
/**
|
|
480
|
+
* Current filter query string.
|
|
481
|
+
* @default ''
|
|
482
|
+
*/
|
|
483
|
+
"filterQuery": string;
|
|
484
|
+
/**
|
|
485
|
+
* Sets the dropdown to full width of the trigger.
|
|
486
|
+
* @default false
|
|
487
|
+
*/
|
|
488
|
+
"fullWidth": boolean;
|
|
489
|
+
/**
|
|
490
|
+
* Closes the dropdown.
|
|
491
|
+
*/
|
|
492
|
+
"hide": () => Promise<void>;
|
|
493
|
+
/**
|
|
494
|
+
* Maximum height of the dropdown list.
|
|
495
|
+
* @default '300px'
|
|
496
|
+
*/
|
|
497
|
+
"maxHeight": string;
|
|
498
|
+
/**
|
|
499
|
+
* Whether multiple selection is allowed.
|
|
500
|
+
* @default false
|
|
501
|
+
*/
|
|
502
|
+
"multiple": boolean;
|
|
503
|
+
/**
|
|
504
|
+
* Whether the dropdown is open.
|
|
505
|
+
* @default false
|
|
506
|
+
*/
|
|
507
|
+
"open": boolean;
|
|
508
|
+
/**
|
|
509
|
+
* The options to display in the dropdown.
|
|
510
|
+
* @default []
|
|
511
|
+
*/
|
|
512
|
+
"options": LeOption[];
|
|
513
|
+
/**
|
|
514
|
+
* Opens the dropdown.
|
|
515
|
+
*/
|
|
516
|
+
"show": () => Promise<void>;
|
|
517
|
+
/**
|
|
518
|
+
* Whether to show checkboxes for multiselect mode.
|
|
519
|
+
* @default true
|
|
520
|
+
*/
|
|
521
|
+
"showCheckboxes": boolean;
|
|
522
|
+
/**
|
|
523
|
+
* Toggles the dropdown.
|
|
524
|
+
*/
|
|
525
|
+
"toggle": () => Promise<void>;
|
|
526
|
+
/**
|
|
527
|
+
* Current value(s) - single value or array for multiselect.
|
|
528
|
+
*/
|
|
529
|
+
"value"?: LeOptionValue | LeOptionValue[];
|
|
530
|
+
/**
|
|
531
|
+
* Width of the dropdown. If not set, matches trigger width.
|
|
532
|
+
*/
|
|
533
|
+
"width"?: string;
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* A functional page header with scroll-aware behaviors.
|
|
537
|
+
* Features:
|
|
538
|
+
* - Static (default), sticky, or fixed positioning
|
|
539
|
+
* - Optional shrink-on-scroll behavior via `shrink-offset`
|
|
540
|
+
* - Optional reveal-on-scroll-up via `reveal-on-scroll` (sticky only)
|
|
541
|
+
* Slots:
|
|
542
|
+
* - `start`: left side (logo/back button)
|
|
543
|
+
* - `title`: centered/primary title content
|
|
544
|
+
* - `end`: right side actions
|
|
545
|
+
* - default: extra content row (e.g., tabs/search) rendered below main row
|
|
546
|
+
* @cssprop --le-header-bg - Background (color/gradient)
|
|
547
|
+
* @cssprop --le-header-color - Text color
|
|
548
|
+
* @cssprop --le-header-border - Border (e.g. 1px solid ...)
|
|
549
|
+
* @cssprop --le-header-shadow - Shadow/elevation
|
|
550
|
+
* @cssprop --le-header-max-width - Inner content max width
|
|
551
|
+
* @cssprop --le-header-padding-x - Horizontal padding
|
|
552
|
+
* @cssprop --le-header-padding-y - Vertical padding
|
|
553
|
+
* @cssprop --le-header-gap - Gap between zones
|
|
554
|
+
* @cssprop --le-header-height - Base height (main row)
|
|
555
|
+
* @cssprop --le-header-height-condensed - Condensed height when shrunk
|
|
556
|
+
* @cssprop --le-header-transition - Transition timing
|
|
557
|
+
* @cssprop --le-header-z - Z-index (fixed mode)
|
|
558
|
+
* @csspart header - The header container
|
|
559
|
+
* @csspart inner - Inner max-width container
|
|
560
|
+
* @csspart row - Main row
|
|
561
|
+
* @csspart start - Start zone
|
|
562
|
+
* @csspart title - Title zone
|
|
563
|
+
* @csspart end - End zone
|
|
564
|
+
* @csspart secondary - Secondary row
|
|
565
|
+
* @cmsEditable true
|
|
566
|
+
* @cmsCategory Layout
|
|
567
|
+
*/
|
|
568
|
+
interface LeHeader {
|
|
569
|
+
/**
|
|
570
|
+
* If true, expand the header when hovered
|
|
571
|
+
* @default false
|
|
572
|
+
*/
|
|
573
|
+
"expandOnHover": boolean;
|
|
574
|
+
/**
|
|
575
|
+
* Fixed positioning (out-of-flow). Takes precedence over `sticky`/`static`.
|
|
576
|
+
* @default false
|
|
577
|
+
*/
|
|
578
|
+
"fixed": boolean;
|
|
579
|
+
/**
|
|
580
|
+
* Force static positioning (default). Ignored if `sticky` or `fixed` are true.
|
|
581
|
+
* @default false
|
|
582
|
+
*/
|
|
583
|
+
"isStatic": boolean;
|
|
584
|
+
/**
|
|
585
|
+
* Sticky-only reveal behavior (hide on scroll down, show on scroll up). - missing/false: disabled - true/empty attribute: enabled with default threshold (16) - number (as string): enabled and used as threshold
|
|
586
|
+
*/
|
|
587
|
+
"revealOnScroll"?: string;
|
|
588
|
+
/**
|
|
589
|
+
* Shrink trigger. - missing/0: disabled - number (px): shrink when scrollY >= that value (but never before header height) - css var name (e.g. --foo): shrink when scrollY >= resolved var value - selector (e.g. .page-title): shrink when that element scrolls out of view above the viewport
|
|
590
|
+
*/
|
|
591
|
+
"shrinkOffset"?: string;
|
|
592
|
+
/**
|
|
593
|
+
* Sticky positioning (in-flow). Ignored if `fixed` is true.
|
|
594
|
+
* @default false
|
|
595
|
+
*/
|
|
596
|
+
"sticky": boolean;
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Placeholder for `le-header`.
|
|
600
|
+
* Reserves space using the global CSS variable `--le-header-height`.
|
|
601
|
+
* The header component updates that variable when it renders.
|
|
602
|
+
* @cssprop --le-header-height - Published header height (px)
|
|
603
|
+
* @cmsInternal true
|
|
604
|
+
*/
|
|
605
|
+
interface LeHeaderPlaceholder {
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* A multiselect component for selecting multiple options.
|
|
609
|
+
* Displays selected items as tags with optional search filtering.
|
|
610
|
+
* @cmsEditable true
|
|
611
|
+
* @cmsCategory Form
|
|
612
|
+
* @example Basic multiselect
|
|
613
|
+
* ```html
|
|
614
|
+
* <le-multiselect
|
|
615
|
+
* placeholder="Select options..."
|
|
616
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
617
|
+
* ></le-multiselect>
|
|
618
|
+
* ```
|
|
619
|
+
* @example With max selections
|
|
620
|
+
* ```html
|
|
621
|
+
* <le-multiselect
|
|
622
|
+
* max-selections="3"
|
|
623
|
+
* options='[{"label": "Option 1"}, {"label": "Option 2"}, {"label": "Option 3"}, {"label": "Option 4"}]'
|
|
624
|
+
* ></le-multiselect>
|
|
625
|
+
* ```
|
|
626
|
+
* @example With search
|
|
627
|
+
* ```html
|
|
628
|
+
* <le-multiselect
|
|
629
|
+
* searchable
|
|
630
|
+
* placeholder="Search and select..."
|
|
631
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
632
|
+
* ></le-multiselect>
|
|
633
|
+
* ```
|
|
634
|
+
*/
|
|
635
|
+
interface LeMultiselect {
|
|
636
|
+
/**
|
|
637
|
+
* Clears all selections.
|
|
638
|
+
*/
|
|
639
|
+
"clearSelection": () => Promise<void>;
|
|
640
|
+
/**
|
|
641
|
+
* Whether the multiselect is disabled.
|
|
642
|
+
* @default false
|
|
643
|
+
*/
|
|
644
|
+
"disabled": boolean;
|
|
645
|
+
/**
|
|
646
|
+
* Text to show when no options match the search.
|
|
647
|
+
* @default 'No results found'
|
|
648
|
+
*/
|
|
649
|
+
"emptyText": string;
|
|
650
|
+
/**
|
|
651
|
+
* Whether the multiselect should take full width of its container.
|
|
652
|
+
* @default false
|
|
653
|
+
*/
|
|
654
|
+
"fullWidth": boolean;
|
|
655
|
+
/**
|
|
656
|
+
* Closes the dropdown.
|
|
657
|
+
*/
|
|
658
|
+
"hideDropdown": () => Promise<void>;
|
|
659
|
+
/**
|
|
660
|
+
* Maximum number of selections allowed.
|
|
661
|
+
*/
|
|
662
|
+
"maxSelections"?: number;
|
|
663
|
+
/**
|
|
664
|
+
* Name attribute for form submission.
|
|
665
|
+
*/
|
|
666
|
+
"name"?: string;
|
|
667
|
+
/**
|
|
668
|
+
* Whether the dropdown is currently open.
|
|
669
|
+
* @default false
|
|
670
|
+
*/
|
|
671
|
+
"open": boolean;
|
|
672
|
+
/**
|
|
673
|
+
* The options to display in the dropdown.
|
|
674
|
+
* @default []
|
|
675
|
+
*/
|
|
676
|
+
"options": LeOption[] | string;
|
|
677
|
+
/**
|
|
678
|
+
* Placeholder text when no options are selected.
|
|
679
|
+
* @default 'Select options...'
|
|
680
|
+
*/
|
|
681
|
+
"placeholder": string;
|
|
682
|
+
/**
|
|
683
|
+
* Whether selection is required.
|
|
684
|
+
* @default false
|
|
685
|
+
*/
|
|
686
|
+
"required": boolean;
|
|
687
|
+
/**
|
|
688
|
+
* Whether the input is searchable.
|
|
689
|
+
* @default false
|
|
690
|
+
*/
|
|
691
|
+
"searchable": boolean;
|
|
692
|
+
/**
|
|
693
|
+
* Opens the dropdown.
|
|
694
|
+
*/
|
|
695
|
+
"showDropdown": () => Promise<void>;
|
|
696
|
+
/**
|
|
697
|
+
* Whether to show a "Select All" option. Also accepts a string or array of strings to customize the label(s).
|
|
698
|
+
* @default false
|
|
699
|
+
*/
|
|
700
|
+
"showSelectAll": boolean | string | string[];
|
|
701
|
+
/**
|
|
702
|
+
* Size variant of the multiselect.
|
|
703
|
+
* @default 'medium'
|
|
704
|
+
*/
|
|
705
|
+
"size": 'small' | 'medium' | 'large';
|
|
706
|
+
/**
|
|
707
|
+
* The currently selected values.
|
|
708
|
+
* @default []
|
|
709
|
+
*/
|
|
710
|
+
"value": LeOptionValue[];
|
|
711
|
+
}
|
|
288
712
|
/**
|
|
289
713
|
* A number input component with validation, keyboard controls, and custom spinners.
|
|
290
714
|
* @cssprop --le-input-bg - Input background color
|
|
@@ -358,6 +782,8 @@ export namespace Components {
|
|
|
358
782
|
* A popover component for displaying floating content.
|
|
359
783
|
* Uses the native HTML Popover API for proper layering with dialogs
|
|
360
784
|
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
785
|
+
* @csspart trigger - The popover trigger element
|
|
786
|
+
* @csspart content - The popover content wrapper
|
|
361
787
|
* @cmsInternal true
|
|
362
788
|
* @cmsCategory System
|
|
363
789
|
*/
|
|
@@ -426,6 +852,15 @@ export namespace Components {
|
|
|
426
852
|
* Toggles the popover
|
|
427
853
|
*/
|
|
428
854
|
"toggle": () => Promise<void>;
|
|
855
|
+
/**
|
|
856
|
+
* Should the popover's trigger take full width of its container
|
|
857
|
+
* @default false
|
|
858
|
+
*/
|
|
859
|
+
"triggerFullWidth": boolean;
|
|
860
|
+
/**
|
|
861
|
+
* Method to update the popover position from a parent component
|
|
862
|
+
*/
|
|
863
|
+
"updatePosition": () => Promise<void>;
|
|
429
864
|
/**
|
|
430
865
|
* Fixed width for the popover (e.g., '300px', '20rem')
|
|
431
866
|
*/
|
|
@@ -434,7 +869,7 @@ export namespace Components {
|
|
|
434
869
|
/**
|
|
435
870
|
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
436
871
|
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
437
|
-
* and focus management. Can be used declaratively in HTML or programmatically
|
|
872
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
438
873
|
* via leAlert(), leConfirm(), lePrompt().
|
|
439
874
|
* @cmsInternal true
|
|
440
875
|
* @cmsCategory System
|
|
@@ -473,6 +908,11 @@ export namespace Components {
|
|
|
473
908
|
* @default true
|
|
474
909
|
*/
|
|
475
910
|
"modal": boolean;
|
|
911
|
+
/**
|
|
912
|
+
* The mode of the Le Kit (e.g., 'default' or 'admin')
|
|
913
|
+
* @default 'default'
|
|
914
|
+
*/
|
|
915
|
+
"mode": LeKitMode;
|
|
476
916
|
/**
|
|
477
917
|
* Whether the popup is currently visible
|
|
478
918
|
* @default false
|
|
@@ -514,40 +954,207 @@ export namespace Components {
|
|
|
514
954
|
"value": number;
|
|
515
955
|
}
|
|
516
956
|
/**
|
|
517
|
-
*
|
|
518
|
-
*
|
|
519
|
-
*
|
|
520
|
-
*
|
|
521
|
-
* @
|
|
522
|
-
* @
|
|
957
|
+
* Displays scroll progress as a simple bar.
|
|
958
|
+
* If `track-scroll-progress` is present without a value, tracks the full document.
|
|
959
|
+
* If it is a selector string, tracks progress within the matched element.
|
|
960
|
+
* @cssprop --le-scroll-progress-height - Bar height
|
|
961
|
+
* @cssprop --le-scroll-progress-bg - Track background
|
|
962
|
+
* @cssprop --le-scroll-progress-fill - Fill color
|
|
963
|
+
* @cssprop --le-scroll-progress-sticky-top - If sticky, stop position to parent top
|
|
964
|
+
* @cssprop --le-scroll-progress-fixed-top - If fixed, distance from window top
|
|
965
|
+
* @cssprop --le-scroll-progress-fixed-left - If fixed, distance from window left
|
|
966
|
+
* @cssprop --le-scroll-progress-fixed-right - If fixed, distance from window right
|
|
967
|
+
* @cssprop --le-scroll-progress-z - Z-index of the progress bar (1001 by default, above header)
|
|
968
|
+
* @csspart track - Outer track
|
|
969
|
+
* @csspart fill - Inner fill
|
|
970
|
+
* @cmsEditable true
|
|
971
|
+
* @cmsCategory Layout
|
|
523
972
|
*/
|
|
524
|
-
interface
|
|
973
|
+
interface LeScrollProgress {
|
|
525
974
|
/**
|
|
526
|
-
*
|
|
527
|
-
* @example "le-card,le-button,le-text"
|
|
975
|
+
* Boolean or selector string.
|
|
528
976
|
*/
|
|
529
|
-
"
|
|
977
|
+
"trackScrollProgress"?: string;
|
|
978
|
+
}
|
|
979
|
+
/**
|
|
980
|
+
* A segmented control component (iOS-style toggle buttons).
|
|
981
|
+
* Perfect for toggling between a small set of related options.
|
|
982
|
+
* @cssprop --le-segmented-bg - Background color of the control
|
|
983
|
+
* @cssprop --le-segmented-padding - Padding around segments
|
|
984
|
+
* @cssprop --le-segmented-gap - Gap between segments
|
|
985
|
+
* @cssprop --le-segmented-radius - Border radius of the control
|
|
986
|
+
* @csspart container - The main container
|
|
987
|
+
* @csspart segment - Individual segment buttons
|
|
988
|
+
* @csspart segment-active - The currently active segment
|
|
989
|
+
* @cmsEditable true
|
|
990
|
+
* @cmsCategory Form
|
|
991
|
+
*/
|
|
992
|
+
interface LeSegmentedControl {
|
|
530
993
|
/**
|
|
531
|
-
*
|
|
994
|
+
* Whether the control is disabled.
|
|
995
|
+
* @default false
|
|
532
996
|
*/
|
|
533
|
-
"
|
|
997
|
+
"disabled": boolean;
|
|
534
998
|
/**
|
|
535
|
-
*
|
|
999
|
+
* Whether the control should take full width.
|
|
1000
|
+
* @default false
|
|
536
1001
|
*/
|
|
537
|
-
"
|
|
1002
|
+
"fullWidth": boolean;
|
|
538
1003
|
/**
|
|
539
|
-
*
|
|
540
|
-
* @default
|
|
1004
|
+
* Array of options for the segmented control.
|
|
1005
|
+
* @default []
|
|
541
1006
|
*/
|
|
542
|
-
"
|
|
1007
|
+
"options": LeOption[];
|
|
543
1008
|
/**
|
|
544
|
-
*
|
|
545
|
-
* @
|
|
1009
|
+
* Scroll behavior for overflowing tabs.
|
|
1010
|
+
* @allowedValues auto | hidden | visible | scroll
|
|
1011
|
+
* @default 'auto'
|
|
546
1012
|
*/
|
|
547
|
-
"
|
|
1013
|
+
"overflow": 'auto' | 'hidden' | 'visible' | 'scroll';
|
|
548
1014
|
/**
|
|
549
|
-
*
|
|
550
|
-
|
|
1015
|
+
* Size of the control.
|
|
1016
|
+
* @allowedValues small | medium | large
|
|
1017
|
+
* @default 'medium'
|
|
1018
|
+
*/
|
|
1019
|
+
"size": 'small' | 'medium' | 'large';
|
|
1020
|
+
/**
|
|
1021
|
+
* The value of the currently selected option.
|
|
1022
|
+
*/
|
|
1023
|
+
"value"?: LeOptionValue;
|
|
1024
|
+
}
|
|
1025
|
+
/**
|
|
1026
|
+
* A select dropdown component for single selection.
|
|
1027
|
+
* @cmsEditable true
|
|
1028
|
+
* @cmsCategory Form
|
|
1029
|
+
* @example Basic select
|
|
1030
|
+
* ```html
|
|
1031
|
+
* <le-select
|
|
1032
|
+
* placeholder="Choose an option"
|
|
1033
|
+
* options='[{"label": "Option 1", "value": "1"}, {"label": "Option 2", "value": "2"}]'
|
|
1034
|
+
* ></le-select>
|
|
1035
|
+
* ```
|
|
1036
|
+
* @example With icons
|
|
1037
|
+
* ```html
|
|
1038
|
+
* <le-select
|
|
1039
|
+
* options='[
|
|
1040
|
+
* {"label": "Apple", "value": "apple", "iconStart": "🍎"},
|
|
1041
|
+
* {"label": "Banana", "value": "banana", "iconStart": "🍌"}
|
|
1042
|
+
* ]'
|
|
1043
|
+
* ></le-select>
|
|
1044
|
+
* ```
|
|
1045
|
+
* @example Grouped options
|
|
1046
|
+
* ```html
|
|
1047
|
+
* <le-select
|
|
1048
|
+
* options='[
|
|
1049
|
+
* {"label": "Apple", "value": "apple", "group": "Fruits"},
|
|
1050
|
+
* {"label": "Carrot", "value": "carrot", "group": "Vegetables"}
|
|
1051
|
+
* ]'
|
|
1052
|
+
* ></le-select>
|
|
1053
|
+
* ```
|
|
1054
|
+
*/
|
|
1055
|
+
interface LeSelect {
|
|
1056
|
+
/**
|
|
1057
|
+
* Whether the select is disabled.
|
|
1058
|
+
* @default false
|
|
1059
|
+
*/
|
|
1060
|
+
"disabled": boolean;
|
|
1061
|
+
/**
|
|
1062
|
+
* Text to show when no options match the search.
|
|
1063
|
+
* @default 'No results found'
|
|
1064
|
+
*/
|
|
1065
|
+
"emptyText": string;
|
|
1066
|
+
/**
|
|
1067
|
+
* Whether the select should take full width of its container.
|
|
1068
|
+
* @default false
|
|
1069
|
+
*/
|
|
1070
|
+
"fullWidth": boolean;
|
|
1071
|
+
/**
|
|
1072
|
+
* Closes the dropdown.
|
|
1073
|
+
*/
|
|
1074
|
+
"hideDropdown": () => Promise<void>;
|
|
1075
|
+
/**
|
|
1076
|
+
* Name attribute for form submission.
|
|
1077
|
+
*/
|
|
1078
|
+
"name"?: string;
|
|
1079
|
+
/**
|
|
1080
|
+
* Whether the dropdown is currently open.
|
|
1081
|
+
* @default false
|
|
1082
|
+
*/
|
|
1083
|
+
"open": boolean;
|
|
1084
|
+
/**
|
|
1085
|
+
* The options to display in the dropdown.
|
|
1086
|
+
* @default []
|
|
1087
|
+
*/
|
|
1088
|
+
"options": LeOption[] | string;
|
|
1089
|
+
/**
|
|
1090
|
+
* Placeholder text when no option is selected.
|
|
1091
|
+
* @default 'Select an option'
|
|
1092
|
+
*/
|
|
1093
|
+
"placeholder": string;
|
|
1094
|
+
/**
|
|
1095
|
+
* Whether selection is required.
|
|
1096
|
+
* @default false
|
|
1097
|
+
*/
|
|
1098
|
+
"required": boolean;
|
|
1099
|
+
/**
|
|
1100
|
+
* Whether the input is searchable.
|
|
1101
|
+
* @default false
|
|
1102
|
+
*/
|
|
1103
|
+
"searchable": boolean;
|
|
1104
|
+
/**
|
|
1105
|
+
* Opens the dropdown.
|
|
1106
|
+
*/
|
|
1107
|
+
"showDropdown": () => Promise<void>;
|
|
1108
|
+
/**
|
|
1109
|
+
* Size variant of the select.
|
|
1110
|
+
* @default 'medium'
|
|
1111
|
+
*/
|
|
1112
|
+
"size": 'small' | 'medium' | 'large';
|
|
1113
|
+
/**
|
|
1114
|
+
* The currently selected value.
|
|
1115
|
+
*/
|
|
1116
|
+
"value"?: LeOptionValue;
|
|
1117
|
+
/**
|
|
1118
|
+
* Visual variant of the select.
|
|
1119
|
+
* @default 'default'
|
|
1120
|
+
*/
|
|
1121
|
+
"variant": 'default' | 'outlined' | 'solid';
|
|
1122
|
+
}
|
|
1123
|
+
/**
|
|
1124
|
+
* Slot placeholder component for admin/CMS mode.
|
|
1125
|
+
* This component renders a visual placeholder for slots when in admin mode,
|
|
1126
|
+
* allowing CMS systems to show available drop zones for content or inline editing.
|
|
1127
|
+
* In non-admin mode, this component renders nothing and acts as a passthrough.
|
|
1128
|
+
* @cmsInternal true
|
|
1129
|
+
* @cmsCategory System
|
|
1130
|
+
*/
|
|
1131
|
+
interface LeSlot {
|
|
1132
|
+
/**
|
|
1133
|
+
* Comma-separated list of allowed component tags for this slot. Used by CMS to filter available components.
|
|
1134
|
+
* @example "le-card,le-button,le-text"
|
|
1135
|
+
*/
|
|
1136
|
+
"allowedComponents"?: string;
|
|
1137
|
+
/**
|
|
1138
|
+
* Description of what content this slot accepts. Shown in admin mode to guide content editors.
|
|
1139
|
+
*/
|
|
1140
|
+
"description"?: string;
|
|
1141
|
+
/**
|
|
1142
|
+
* Label to display in admin mode. If not provided, the slot name will be used.
|
|
1143
|
+
*/
|
|
1144
|
+
"label"?: string;
|
|
1145
|
+
/**
|
|
1146
|
+
* Whether multiple components can be dropped in this slot.
|
|
1147
|
+
* @default true
|
|
1148
|
+
*/
|
|
1149
|
+
"multiple": boolean;
|
|
1150
|
+
/**
|
|
1151
|
+
* The name of the slot this placeholder represents. Should match the slot name in the parent component.
|
|
1152
|
+
* @default ''
|
|
1153
|
+
*/
|
|
1154
|
+
"name": string;
|
|
1155
|
+
/**
|
|
1156
|
+
* Placeholder text for text/textarea inputs in admin mode.
|
|
1157
|
+
*/
|
|
551
1158
|
"placeholder"?: string;
|
|
552
1159
|
/**
|
|
553
1160
|
* Whether this slot is required to have content.
|
|
@@ -658,6 +1265,11 @@ export namespace Components {
|
|
|
658
1265
|
* External ID for linking with external systems
|
|
659
1266
|
*/
|
|
660
1267
|
"externalId": string;
|
|
1268
|
+
/**
|
|
1269
|
+
* Hide description slot
|
|
1270
|
+
* @default false
|
|
1271
|
+
*/
|
|
1272
|
+
"hideDescription": boolean;
|
|
661
1273
|
/**
|
|
662
1274
|
* Icon for the end icon
|
|
663
1275
|
*/
|
|
@@ -666,6 +1278,10 @@ export namespace Components {
|
|
|
666
1278
|
* Icon for the start icon
|
|
667
1279
|
*/
|
|
668
1280
|
"iconStart": string;
|
|
1281
|
+
/**
|
|
1282
|
+
* Pass the ref of the input element to the parent component
|
|
1283
|
+
*/
|
|
1284
|
+
"inputRef"?: (el: HTMLInputElement) => void;
|
|
669
1285
|
/**
|
|
670
1286
|
* Label for the input
|
|
671
1287
|
*/
|
|
@@ -698,128 +1314,508 @@ export namespace Components {
|
|
|
698
1314
|
"value": string;
|
|
699
1315
|
}
|
|
700
1316
|
/**
|
|
701
|
-
* A
|
|
702
|
-
*
|
|
703
|
-
*
|
|
704
|
-
*
|
|
705
|
-
* @cssprop --le-
|
|
706
|
-
* @cssprop --le-
|
|
707
|
-
* @
|
|
708
|
-
* @
|
|
709
|
-
* @csspart
|
|
1317
|
+
* A flexible tab component with multiple variants and states.
|
|
1318
|
+
* @cssprop --le-tab-bg - Tab background color
|
|
1319
|
+
* @cssprop --le-tab-color - Tab text color
|
|
1320
|
+
* @cssprop --le-tab-border-radius - Tab border radius
|
|
1321
|
+
* @cssprop --le-tab-padding-x - Tab horizontal padding
|
|
1322
|
+
* @cssprop --le-tab-padding-y - Tab vertical padding
|
|
1323
|
+
* @csspart button - The native button element
|
|
1324
|
+
* @csspart content - The tab content wrapper
|
|
1325
|
+
* @csspart icon-start - The start icon slot
|
|
1326
|
+
* @csspart icon-end - The end icon slot
|
|
710
1327
|
* @cmsEditable true
|
|
711
|
-
* @cmsCategory
|
|
1328
|
+
* @cmsCategory Actions
|
|
712
1329
|
*/
|
|
713
|
-
interface
|
|
1330
|
+
interface LeTab {
|
|
714
1331
|
/**
|
|
715
|
-
*
|
|
716
|
-
* @allowedValues
|
|
717
|
-
* @default '
|
|
1332
|
+
* Alignment of the tab label without the end icon
|
|
1333
|
+
* @allowedValues start | center | space-between | end
|
|
1334
|
+
* @default 'center'
|
|
718
1335
|
*/
|
|
719
|
-
"align": '
|
|
1336
|
+
"align": 'start' | 'center' | 'space-between' | 'end';
|
|
720
1337
|
/**
|
|
721
|
-
*
|
|
1338
|
+
* Whether the tab is disabled
|
|
1339
|
+
* @default false
|
|
722
1340
|
*/
|
|
723
|
-
"
|
|
1341
|
+
"disabled": boolean;
|
|
724
1342
|
/**
|
|
725
|
-
*
|
|
1343
|
+
* Whether the tab can get focus needed for accessibility when used in custom tab implementations
|
|
1344
|
+
* @default true
|
|
726
1345
|
*/
|
|
727
|
-
"
|
|
1346
|
+
"focusable": boolean;
|
|
728
1347
|
/**
|
|
729
|
-
* Whether the
|
|
1348
|
+
* Whether the tab takes full width of its container
|
|
730
1349
|
* @default false
|
|
731
1350
|
*/
|
|
732
|
-
"
|
|
1351
|
+
"fullWidth": boolean;
|
|
733
1352
|
/**
|
|
734
|
-
*
|
|
735
|
-
* @allowedValues p | h1 | h2 | h3 | h4 | h5 | h6 | code | quote | label | small
|
|
736
|
-
* @default 'p'
|
|
1353
|
+
* Get tab configuration for parent component
|
|
737
1354
|
*/
|
|
738
|
-
"
|
|
739
|
-
}
|
|
740
|
-
interface LeTurntable {
|
|
1355
|
+
"getTabConfig": () => Promise<{ label: string; value: string; icon: string | Node; iconStart?: string | Node; iconEnd?: string | Node; disabled: boolean; }>;
|
|
741
1356
|
/**
|
|
742
|
-
*
|
|
1357
|
+
* Optional href to make the tab act as a link
|
|
743
1358
|
*/
|
|
744
|
-
"
|
|
1359
|
+
"href"?: string;
|
|
745
1360
|
/**
|
|
746
|
-
*
|
|
1361
|
+
* Icon only tab image or emoji if this prop is set, the tab will render only the icon slot
|
|
747
1362
|
*/
|
|
748
|
-
"
|
|
1363
|
+
"icon"?: string | Node;
|
|
1364
|
+
/**
|
|
1365
|
+
* End icon image or emoji
|
|
1366
|
+
*/
|
|
1367
|
+
"iconEnd"?: string | Node;
|
|
1368
|
+
/**
|
|
1369
|
+
* Start icon image or emoji
|
|
1370
|
+
*/
|
|
1371
|
+
"iconStart"?: string | Node;
|
|
1372
|
+
/**
|
|
1373
|
+
* Label if it is not provided via slot
|
|
1374
|
+
*/
|
|
1375
|
+
"label"?: string;
|
|
1376
|
+
/**
|
|
1377
|
+
* Mode of the popover should be 'default' for internal use
|
|
1378
|
+
*/
|
|
1379
|
+
"mode": 'default' | 'admin';
|
|
1380
|
+
/**
|
|
1381
|
+
* Position of the tabs when used within a le-tabs component
|
|
1382
|
+
* @allowedValues top | bottom | start | end
|
|
1383
|
+
* @default 'top'
|
|
1384
|
+
*/
|
|
1385
|
+
"position": 'top' | 'bottom' | 'start' | 'end';
|
|
1386
|
+
/**
|
|
1387
|
+
* Whether the tab is in a selected/active state
|
|
1388
|
+
* @default false
|
|
1389
|
+
*/
|
|
1390
|
+
"selected": boolean;
|
|
1391
|
+
/**
|
|
1392
|
+
* Whether to show the label when in icon-only mode
|
|
1393
|
+
* @default false
|
|
1394
|
+
*/
|
|
1395
|
+
"showLabel": boolean;
|
|
1396
|
+
/**
|
|
1397
|
+
* Tab size
|
|
1398
|
+
* @allowedValues small | medium | large
|
|
1399
|
+
* @default 'medium'
|
|
1400
|
+
*/
|
|
1401
|
+
"size": 'small' | 'medium' | 'large';
|
|
1402
|
+
/**
|
|
1403
|
+
* Link target when href is set
|
|
1404
|
+
*/
|
|
1405
|
+
"target"?: string;
|
|
1406
|
+
/**
|
|
1407
|
+
* Value of the tab, defaults to label if not provided
|
|
1408
|
+
*/
|
|
1409
|
+
"value"?: string;
|
|
1410
|
+
/**
|
|
1411
|
+
* Tab variant style
|
|
1412
|
+
* @allowedValues solid | underlined | clear | enclosed | icon-only
|
|
1413
|
+
* @default 'underlined'
|
|
1414
|
+
*/
|
|
1415
|
+
"variant": 'underlined' | 'solid' | 'pills' | 'enclosed' | 'icon-only';
|
|
749
1416
|
}
|
|
750
|
-
}
|
|
751
|
-
export interface LeButtonCustomEvent<T> extends CustomEvent<T> {
|
|
752
|
-
detail: T;
|
|
753
|
-
target: HTMLLeButtonElement;
|
|
754
|
-
}
|
|
755
|
-
export interface LeCheckboxCustomEvent<T> extends CustomEvent<T> {
|
|
756
|
-
detail: T;
|
|
757
|
-
target: HTMLLeCheckboxElement;
|
|
758
|
-
}
|
|
759
|
-
export interface LeNumberInputCustomEvent<T> extends CustomEvent<T> {
|
|
760
|
-
detail: T;
|
|
761
|
-
target: HTMLLeNumberInputElement;
|
|
762
|
-
}
|
|
763
|
-
export interface LePopoverCustomEvent<T> extends CustomEvent<T> {
|
|
764
|
-
detail: T;
|
|
765
|
-
target: HTMLLePopoverElement;
|
|
766
|
-
}
|
|
767
|
-
export interface LePopupCustomEvent<T> extends CustomEvent<T> {
|
|
768
|
-
detail: T;
|
|
769
|
-
target: HTMLLePopupElement;
|
|
770
|
-
}
|
|
771
|
-
export interface LeSlotCustomEvent<T> extends CustomEvent<T> {
|
|
772
|
-
detail: T;
|
|
773
|
-
target: HTMLLeSlotElement;
|
|
774
|
-
}
|
|
775
|
-
export interface LeStringInputCustomEvent<T> extends CustomEvent<T> {
|
|
776
|
-
detail: T;
|
|
777
|
-
target: HTMLLeStringInputElement;
|
|
778
|
-
}
|
|
779
|
-
declare global {
|
|
780
1417
|
/**
|
|
781
|
-
* A
|
|
782
|
-
*
|
|
783
|
-
*
|
|
784
|
-
*
|
|
785
|
-
* @cssprop --le-
|
|
786
|
-
* @cssprop --le-
|
|
787
|
-
* @
|
|
788
|
-
* @
|
|
1418
|
+
* A presentational tab bar component without panels.
|
|
1419
|
+
* Use this for navigation/routing scenarios where you manage the content
|
|
1420
|
+
* externally based on the selection events. For tabs with built-in panels,
|
|
1421
|
+
* use `le-tabs` instead.
|
|
1422
|
+
* @cssprop --le-tab-bar-border-color - Border color
|
|
1423
|
+
* @cssprop --le-tab-bar-gap - Gap between tabs
|
|
1424
|
+
* @cssprop --le-tab-bar-indicator-color - Active indicator color
|
|
1425
|
+
* @cssprop --le-tab-bar-padding-x - Horizontal padding for tabs
|
|
1426
|
+
* @cssprop --le-tab-bar-padding-y - Vertical padding for tabs
|
|
1427
|
+
* @csspart tablist - The tab button container
|
|
1428
|
+
* @csspart tab - Individual tab buttons
|
|
1429
|
+
* @csspart tab-active - The currently active tab
|
|
789
1430
|
* @cmsEditable true
|
|
790
|
-
* @cmsCategory
|
|
1431
|
+
* @cmsCategory Navigation
|
|
791
1432
|
*/
|
|
792
|
-
interface
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
1433
|
+
interface LeTabBar {
|
|
1434
|
+
/**
|
|
1435
|
+
* Whether to show a border below the tab bar.
|
|
1436
|
+
* @default true
|
|
1437
|
+
*/
|
|
1438
|
+
"bordered": boolean;
|
|
1439
|
+
/**
|
|
1440
|
+
* Whether tabs should stretch to fill available width.
|
|
1441
|
+
* @default true
|
|
1442
|
+
*/
|
|
1443
|
+
"fullWidth": boolean;
|
|
1444
|
+
/**
|
|
1445
|
+
* Position of the tab bar.
|
|
1446
|
+
* @allowedValues top | bottom
|
|
1447
|
+
* @default 'top'
|
|
1448
|
+
*/
|
|
1449
|
+
"position": 'top' | 'bottom';
|
|
1450
|
+
/**
|
|
1451
|
+
* The value of the currently selected tab.
|
|
1452
|
+
*/
|
|
1453
|
+
"selected"?: LeOptionValue;
|
|
1454
|
+
/**
|
|
1455
|
+
* Whether to show labels in icon-only mode.
|
|
1456
|
+
* @default false
|
|
1457
|
+
*/
|
|
1458
|
+
"showLabels": boolean;
|
|
1459
|
+
/**
|
|
1460
|
+
* Size of the tabs.
|
|
1461
|
+
* @allowedValues small | medium | large
|
|
1462
|
+
* @default 'medium'
|
|
1463
|
+
*/
|
|
1464
|
+
"size": 'small' | 'medium' | 'large';
|
|
1465
|
+
/**
|
|
1466
|
+
* Array of tab options defining the tabs to display.
|
|
1467
|
+
* @default []
|
|
1468
|
+
*/
|
|
1469
|
+
"tabs": LeOption[];
|
|
800
1470
|
}
|
|
801
1471
|
/**
|
|
802
|
-
* A
|
|
803
|
-
*
|
|
804
|
-
*
|
|
805
|
-
*
|
|
806
|
-
* @cssprop --le-button-padding-x - Button horizontal padding
|
|
807
|
-
* @cssprop --le-button-padding-y - Button vertical padding
|
|
808
|
-
* @csspart button - The native button element
|
|
809
|
-
* @csspart content - The button content wrapper
|
|
1472
|
+
* A tab panel component used as a child of le-tabs.
|
|
1473
|
+
* Each le-tab-panel defines both the tab button label and the panel content.
|
|
1474
|
+
* The parent le-tabs component automatically reads these panels and creates
|
|
1475
|
+
* the tab interface.
|
|
810
1476
|
* @cmsEditable true
|
|
811
|
-
* @cmsCategory
|
|
1477
|
+
* @cmsCategory Navigation
|
|
812
1478
|
*/
|
|
813
|
-
interface
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
1479
|
+
interface LeTabPanel {
|
|
1480
|
+
/**
|
|
1481
|
+
* Whether this tab is disabled.
|
|
1482
|
+
* @default false
|
|
1483
|
+
*/
|
|
1484
|
+
"disabled": boolean;
|
|
1485
|
+
/**
|
|
1486
|
+
* Get tab configuration for parent component
|
|
1487
|
+
*/
|
|
1488
|
+
"getTabConfig": () => Promise<{ label: string; value: string; iconStart?: string; iconEnd?: string; disabled: boolean; }>;
|
|
1489
|
+
/**
|
|
1490
|
+
* Get the effective value (value or label as fallback)
|
|
1491
|
+
*/
|
|
1492
|
+
"getValue": () => Promise<string>;
|
|
1493
|
+
/**
|
|
1494
|
+
* Icon displayed at the end of the tab button.
|
|
1495
|
+
*/
|
|
1496
|
+
"iconEnd"?: string;
|
|
1497
|
+
/**
|
|
1498
|
+
* Icon displayed at the start of the tab button. Can be an emoji, URL, or icon class.
|
|
1499
|
+
*/
|
|
1500
|
+
"iconStart"?: string;
|
|
1501
|
+
/**
|
|
1502
|
+
* The label displayed in the tab button.
|
|
1503
|
+
*/
|
|
1504
|
+
"label": string;
|
|
1505
|
+
/**
|
|
1506
|
+
* Whether to render the panel content only when active (lazy loading). When true, content is not rendered until the tab is first selected. When false (default), content is always in DOM but hidden when inactive.
|
|
1507
|
+
* @default false
|
|
1508
|
+
*/
|
|
1509
|
+
"lazy": boolean;
|
|
1510
|
+
/**
|
|
1511
|
+
* Set the active state (called by parent le-tabs)
|
|
1512
|
+
*/
|
|
1513
|
+
"setActive": (isActive: boolean) => Promise<void>;
|
|
1514
|
+
/**
|
|
1515
|
+
* The value used to identify this tab. Defaults to the label if not provided.
|
|
1516
|
+
*/
|
|
1517
|
+
"value"?: string;
|
|
1518
|
+
}
|
|
1519
|
+
/**
|
|
1520
|
+
* A flexible tabs component for organizing content into tabbed panels.
|
|
1521
|
+
* Supports two modes:
|
|
1522
|
+
* 1. **Declarative**: Use `<le-tab-panel>` children to define tabs and content
|
|
1523
|
+
* 2. **Programmatic**: Use the `tabs` prop with named slots for content
|
|
1524
|
+
* Full keyboard navigation and ARIA support included.
|
|
1525
|
+
* @cssprop --le-tabs-border-color - Border color for tab list
|
|
1526
|
+
* @cssprop --le-tabs-gap - Gap between tabs
|
|
1527
|
+
* @cssprop --le-tabs-indicator-color - Active tab indicator color
|
|
1528
|
+
* @cssprop --le-tabs-padding-x - Horizontal padding for tab buttons
|
|
1529
|
+
* @cssprop --le-tabs-padding-y - Vertical padding for tab buttons
|
|
1530
|
+
* @csspart tablist - The tab button container (role="tablist")
|
|
1531
|
+
* @csspart tab - Individual tab buttons
|
|
1532
|
+
* @csspart tab-active - The currently active tab
|
|
1533
|
+
* @csspart panels - Container for panel content
|
|
1534
|
+
* @csspart panel - Individual panel containers
|
|
1535
|
+
* @cmsEditable true
|
|
1536
|
+
* @cmsCategory Navigation
|
|
1537
|
+
*/
|
|
1538
|
+
interface LeTabs {
|
|
1539
|
+
/**
|
|
1540
|
+
* Whether tabs should stretch to fill available width.
|
|
1541
|
+
* @default false
|
|
1542
|
+
*/
|
|
1543
|
+
"fullWidth": boolean;
|
|
1544
|
+
/**
|
|
1545
|
+
* Orientation of the tabs.
|
|
1546
|
+
* @allowedValues horizontal | vertical
|
|
1547
|
+
* @default 'horizontal'
|
|
1548
|
+
*/
|
|
1549
|
+
"orientation": 'horizontal' | 'vertical';
|
|
1550
|
+
/**
|
|
1551
|
+
* Scroll behavior for overflowing tabs.
|
|
1552
|
+
* @allowedValues auto | hidden | visible | scroll
|
|
1553
|
+
* @default 'auto'
|
|
1554
|
+
*/
|
|
1555
|
+
"overflow": 'auto' | 'hidden' | 'visible' | 'scroll';
|
|
1556
|
+
/**
|
|
1557
|
+
* Position of the tabs relative to the panels.
|
|
1558
|
+
* @allowedValues start | end
|
|
1559
|
+
* @default 'start'
|
|
1560
|
+
*/
|
|
1561
|
+
"position": 'start' | 'end';
|
|
1562
|
+
/**
|
|
1563
|
+
* The value of the currently selected tab. If not provided, defaults to the first tab.
|
|
1564
|
+
*/
|
|
1565
|
+
"selected"?: LeOptionValue;
|
|
1566
|
+
/**
|
|
1567
|
+
* Size of the tabs.
|
|
1568
|
+
* @allowedValues sm | md | lg
|
|
1569
|
+
* @default 'medium'
|
|
1570
|
+
*/
|
|
1571
|
+
"size": 'small' | 'medium' | 'large';
|
|
1572
|
+
/**
|
|
1573
|
+
* Array of tab options (programmatic mode). If le-tab-panel children exist, they take precedence.
|
|
1574
|
+
* @default []
|
|
1575
|
+
*/
|
|
1576
|
+
"tabs": LeOption[];
|
|
1577
|
+
/**
|
|
1578
|
+
* Tab variant style.
|
|
1579
|
+
* @allowedValues underlined | solid | pills | enclosed | icon-only
|
|
1580
|
+
* @default 'underlined'
|
|
1581
|
+
*/
|
|
1582
|
+
"variant": 'underlined' | 'solid' | 'pills' | 'enclosed' | 'icon-only';
|
|
1583
|
+
/**
|
|
1584
|
+
* Wrap the tabs if they exceed container width.
|
|
1585
|
+
* @default false
|
|
1586
|
+
*/
|
|
1587
|
+
"wrap": boolean;
|
|
1588
|
+
}
|
|
1589
|
+
/**
|
|
1590
|
+
* A tag/chip component for displaying labels with optional dismiss functionality.
|
|
1591
|
+
* @cmsEditable false
|
|
1592
|
+
* @cmsCategory Form
|
|
1593
|
+
* @example Basic tag
|
|
1594
|
+
* ```html
|
|
1595
|
+
* <le-tag label="JavaScript"></le-tag>
|
|
1596
|
+
* ```
|
|
1597
|
+
* @example Dismissible tag
|
|
1598
|
+
* ```html
|
|
1599
|
+
* <le-tag label="Remove me" dismissible></le-tag>
|
|
1600
|
+
* ```
|
|
1601
|
+
* @example With icon
|
|
1602
|
+
* ```html
|
|
1603
|
+
* <le-tag label="Settings" icon="⚙️"></le-tag>
|
|
1604
|
+
* ```
|
|
1605
|
+
* @example Different sizes
|
|
1606
|
+
* ```html
|
|
1607
|
+
* <le-tag label="Small" size="small"></le-tag>
|
|
1608
|
+
* <le-tag label="Medium" size="medium"></le-tag>
|
|
1609
|
+
* <le-tag label="Large" size="large"></le-tag>
|
|
1610
|
+
* ```
|
|
1611
|
+
* @example Different variants
|
|
1612
|
+
* ```html
|
|
1613
|
+
* <le-tag label="Default" variant="default"></le-tag>
|
|
1614
|
+
* <le-tag label="Primary" variant="primary"></le-tag>
|
|
1615
|
+
* <le-tag label="Success" variant="success"></le-tag>
|
|
1616
|
+
* <le-tag label="Warning" variant="warning"></le-tag>
|
|
1617
|
+
* <le-tag label="Danger" variant="danger"></le-tag>
|
|
1618
|
+
* ```
|
|
1619
|
+
*/
|
|
1620
|
+
interface LeTag {
|
|
1621
|
+
/**
|
|
1622
|
+
* Whether the tag is disabled.
|
|
1623
|
+
* @default false
|
|
1624
|
+
*/
|
|
1625
|
+
"disabled": boolean;
|
|
1626
|
+
/**
|
|
1627
|
+
* Whether the tag can be dismissed (shows close button).
|
|
1628
|
+
* @default false
|
|
1629
|
+
*/
|
|
1630
|
+
"dismissible": boolean;
|
|
1631
|
+
/**
|
|
1632
|
+
* Icon to display before the label. Can be an emoji, URL, or icon name.
|
|
1633
|
+
*/
|
|
1634
|
+
"icon"?: string;
|
|
1635
|
+
/**
|
|
1636
|
+
* The text label to display in the tag.
|
|
1637
|
+
*/
|
|
1638
|
+
"label": string;
|
|
1639
|
+
/**
|
|
1640
|
+
* Mode of the popover should be 'default' for internal use
|
|
1641
|
+
*/
|
|
1642
|
+
"mode": 'default' | 'admin';
|
|
1643
|
+
/**
|
|
1644
|
+
* The size of the tag.
|
|
1645
|
+
* @default 'medium'
|
|
1646
|
+
*/
|
|
1647
|
+
"size": 'small' | 'medium' | 'large';
|
|
1648
|
+
/**
|
|
1649
|
+
* The visual variant of the tag.
|
|
1650
|
+
* @default 'default'
|
|
1651
|
+
*/
|
|
1652
|
+
"variant": 'default' | 'primary' | 'success' | 'warning' | 'danger';
|
|
1653
|
+
}
|
|
1654
|
+
/**
|
|
1655
|
+
* A text component with rich text editing capabilities in admin mode.
|
|
1656
|
+
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
1657
|
+
* and provides a Notion-like rich text editor in admin mode with formatting
|
|
1658
|
+
* toolbar for bold, italic, links, and paragraph type selection.
|
|
1659
|
+
* @cssprop --le-text-color - Text color
|
|
1660
|
+
* @cssprop --le-text-font-size - Font size
|
|
1661
|
+
* @cssprop --le-text-line-height - Line height
|
|
1662
|
+
* @cssprop --le-text-font-weight - Font weight
|
|
1663
|
+
* @csspart text - The text container element
|
|
1664
|
+
* @cmsEditable true
|
|
1665
|
+
* @cmsCategory Content
|
|
1666
|
+
*/
|
|
1667
|
+
interface LeText {
|
|
1668
|
+
/**
|
|
1669
|
+
* Text alignment
|
|
1670
|
+
* @allowedValues left | center | right | justify
|
|
1671
|
+
* @default 'left'
|
|
1672
|
+
*/
|
|
1673
|
+
"align": 'left' | 'center' | 'right' | 'justify';
|
|
1674
|
+
/**
|
|
1675
|
+
* Text color (CSS value or theme token)
|
|
1676
|
+
*/
|
|
1677
|
+
"color"?: string;
|
|
1678
|
+
/**
|
|
1679
|
+
* Maximum number of lines before truncating (requires truncate=true)
|
|
1680
|
+
*/
|
|
1681
|
+
"maxLines"?: number;
|
|
1682
|
+
/**
|
|
1683
|
+
* Whether the text should truncate with ellipsis
|
|
1684
|
+
* @default false
|
|
1685
|
+
*/
|
|
1686
|
+
"truncate": boolean;
|
|
1687
|
+
/**
|
|
1688
|
+
* The semantic variant/type of text element
|
|
1689
|
+
* @allowedValues p | h1 | h2 | h3 | h4 | h5 | h6 | code | quote | label | small
|
|
1690
|
+
* @default 'p'
|
|
1691
|
+
*/
|
|
1692
|
+
"variant": 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'code' | 'quote' | 'label' | 'small';
|
|
1693
|
+
}
|
|
1694
|
+
interface LeTurntable {
|
|
1695
|
+
/**
|
|
1696
|
+
* @default 'center'
|
|
1697
|
+
*/
|
|
1698
|
+
"center": string;
|
|
1699
|
+
/**
|
|
1700
|
+
* @default 0
|
|
1701
|
+
*/
|
|
1702
|
+
"value": number;
|
|
1703
|
+
}
|
|
1704
|
+
}
|
|
1705
|
+
export interface LeButtonCustomEvent<T> extends CustomEvent<T> {
|
|
1706
|
+
detail: T;
|
|
1707
|
+
target: HTMLLeButtonElement;
|
|
1708
|
+
}
|
|
1709
|
+
export interface LeCheckboxCustomEvent<T> extends CustomEvent<T> {
|
|
1710
|
+
detail: T;
|
|
1711
|
+
target: HTMLLeCheckboxElement;
|
|
1712
|
+
}
|
|
1713
|
+
export interface LeComboboxCustomEvent<T> extends CustomEvent<T> {
|
|
1714
|
+
detail: T;
|
|
1715
|
+
target: HTMLLeComboboxElement;
|
|
1716
|
+
}
|
|
1717
|
+
export interface LeDropdownBaseCustomEvent<T> extends CustomEvent<T> {
|
|
1718
|
+
detail: T;
|
|
1719
|
+
target: HTMLLeDropdownBaseElement;
|
|
1720
|
+
}
|
|
1721
|
+
export interface LeHeaderCustomEvent<T> extends CustomEvent<T> {
|
|
1722
|
+
detail: T;
|
|
1723
|
+
target: HTMLLeHeaderElement;
|
|
1724
|
+
}
|
|
1725
|
+
export interface LeMultiselectCustomEvent<T> extends CustomEvent<T> {
|
|
1726
|
+
detail: T;
|
|
1727
|
+
target: HTMLLeMultiselectElement;
|
|
1728
|
+
}
|
|
1729
|
+
export interface LeNumberInputCustomEvent<T> extends CustomEvent<T> {
|
|
1730
|
+
detail: T;
|
|
1731
|
+
target: HTMLLeNumberInputElement;
|
|
1732
|
+
}
|
|
1733
|
+
export interface LePopoverCustomEvent<T> extends CustomEvent<T> {
|
|
1734
|
+
detail: T;
|
|
1735
|
+
target: HTMLLePopoverElement;
|
|
1736
|
+
}
|
|
1737
|
+
export interface LePopupCustomEvent<T> extends CustomEvent<T> {
|
|
1738
|
+
detail: T;
|
|
1739
|
+
target: HTMLLePopupElement;
|
|
1740
|
+
}
|
|
1741
|
+
export interface LeSegmentedControlCustomEvent<T> extends CustomEvent<T> {
|
|
1742
|
+
detail: T;
|
|
1743
|
+
target: HTMLLeSegmentedControlElement;
|
|
1744
|
+
}
|
|
1745
|
+
export interface LeSelectCustomEvent<T> extends CustomEvent<T> {
|
|
1746
|
+
detail: T;
|
|
1747
|
+
target: HTMLLeSelectElement;
|
|
1748
|
+
}
|
|
1749
|
+
export interface LeSlotCustomEvent<T> extends CustomEvent<T> {
|
|
1750
|
+
detail: T;
|
|
1751
|
+
target: HTMLLeSlotElement;
|
|
1752
|
+
}
|
|
1753
|
+
export interface LeStringInputCustomEvent<T> extends CustomEvent<T> {
|
|
1754
|
+
detail: T;
|
|
1755
|
+
target: HTMLLeStringInputElement;
|
|
1756
|
+
}
|
|
1757
|
+
export interface LeTabCustomEvent<T> extends CustomEvent<T> {
|
|
1758
|
+
detail: T;
|
|
1759
|
+
target: HTMLLeTabElement;
|
|
1760
|
+
}
|
|
1761
|
+
export interface LeTabBarCustomEvent<T> extends CustomEvent<T> {
|
|
1762
|
+
detail: T;
|
|
1763
|
+
target: HTMLLeTabBarElement;
|
|
1764
|
+
}
|
|
1765
|
+
export interface LeTabsCustomEvent<T> extends CustomEvent<T> {
|
|
1766
|
+
detail: T;
|
|
1767
|
+
target: HTMLLeTabsElement;
|
|
1768
|
+
}
|
|
1769
|
+
export interface LeTagCustomEvent<T> extends CustomEvent<T> {
|
|
1770
|
+
detail: T;
|
|
1771
|
+
target: HTMLLeTagElement;
|
|
1772
|
+
}
|
|
1773
|
+
declare global {
|
|
1774
|
+
/**
|
|
1775
|
+
* A flexible box component for use as a flex item within le-stack.
|
|
1776
|
+
* `le-box` wraps content and provides flex item properties like grow, shrink,
|
|
1777
|
+
* basis, and self-alignment. It can also control its internal content alignment.
|
|
1778
|
+
* @cssprop --le-box-bg - Background color
|
|
1779
|
+
* @cssprop --le-box-padding - Padding inside the box
|
|
1780
|
+
* @cssprop --le-box-border-radius - Border radius
|
|
1781
|
+
* @csspart box - The main box container
|
|
1782
|
+
* @csspart content - The inner content wrapper
|
|
1783
|
+
* @cmsEditable true
|
|
1784
|
+
* @cmsCategory Layout
|
|
1785
|
+
*/
|
|
1786
|
+
interface HTMLLeBoxElement extends Components.LeBox, HTMLStencilElement {
|
|
1787
|
+
}
|
|
1788
|
+
var HTMLLeBoxElement: {
|
|
1789
|
+
prototype: HTMLLeBoxElement;
|
|
1790
|
+
new (): HTMLLeBoxElement;
|
|
1791
|
+
};
|
|
1792
|
+
interface HTMLLeButtonElementEventMap {
|
|
1793
|
+
"click": PointerEvent;
|
|
1794
|
+
}
|
|
1795
|
+
/**
|
|
1796
|
+
* A flexible button component with multiple variants and states.
|
|
1797
|
+
* @cssprop --le-button-bg - Button background color
|
|
1798
|
+
* @cssprop --le-button-color - Button text color
|
|
1799
|
+
* @cssprop --le-button-border-radius - Button border radius
|
|
1800
|
+
* @cssprop --le-button-padding-x - Button horizontal padding
|
|
1801
|
+
* @cssprop --le-button-padding-y - Button vertical padding
|
|
1802
|
+
* @csspart button - The native button element
|
|
1803
|
+
* @csspart content - The button content wrapper
|
|
1804
|
+
* @csspart icon-start - The start icon slot
|
|
1805
|
+
* @csspart icon-end - The end icon slot
|
|
1806
|
+
* @cmsEditable true
|
|
1807
|
+
* @cmsCategory Actions
|
|
1808
|
+
*/
|
|
1809
|
+
interface HTMLLeButtonElement extends Components.LeButton, HTMLStencilElement {
|
|
1810
|
+
addEventListener<K extends keyof HTMLLeButtonElementEventMap>(type: K, listener: (this: HTMLLeButtonElement, ev: LeButtonCustomEvent<HTMLLeButtonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1811
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1812
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1813
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1814
|
+
removeEventListener<K extends keyof HTMLLeButtonElementEventMap>(type: K, listener: (this: HTMLLeButtonElement, ev: LeButtonCustomEvent<HTMLLeButtonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1815
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1816
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1817
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1818
|
+
}
|
|
823
1819
|
var HTMLLeButtonElement: {
|
|
824
1820
|
prototype: HTMLLeButtonElement;
|
|
825
1821
|
new (): HTMLLeButtonElement;
|
|
@@ -870,6 +1866,64 @@ declare global {
|
|
|
870
1866
|
prototype: HTMLLeCheckboxElement;
|
|
871
1867
|
new (): HTMLLeCheckboxElement;
|
|
872
1868
|
};
|
|
1869
|
+
/**
|
|
1870
|
+
* Animated show/hide wrapper.
|
|
1871
|
+
* Supports height collapse (auto->0) and/or fading.
|
|
1872
|
+
* Can optionally listen to the nearest `le-header` shrink events.
|
|
1873
|
+
* @cssprop --le-collapse-duration - Transition duration
|
|
1874
|
+
* @csspart region - Collapsible region
|
|
1875
|
+
* @csspart content - Inner content
|
|
1876
|
+
* @cmsEditable true
|
|
1877
|
+
* @cmsCategory Layout
|
|
1878
|
+
*/
|
|
1879
|
+
interface HTMLLeCollapseElement extends Components.LeCollapse, HTMLStencilElement {
|
|
1880
|
+
}
|
|
1881
|
+
var HTMLLeCollapseElement: {
|
|
1882
|
+
prototype: HTMLLeCollapseElement;
|
|
1883
|
+
new (): HTMLLeCollapseElement;
|
|
1884
|
+
};
|
|
1885
|
+
interface HTMLLeComboboxElementEventMap {
|
|
1886
|
+
"leChange": LeOptionSelectDetail;
|
|
1887
|
+
"leInput": { value: string };
|
|
1888
|
+
"leOpen": void;
|
|
1889
|
+
"leClose": void;
|
|
1890
|
+
}
|
|
1891
|
+
/**
|
|
1892
|
+
* A combobox component with searchable dropdown.
|
|
1893
|
+
* Combines a text input with a dropdown list, allowing users to
|
|
1894
|
+
* filter options by typing or select from the list.
|
|
1895
|
+
* @cmsEditable true
|
|
1896
|
+
* @cmsCategory Form
|
|
1897
|
+
* @example Basic combobox
|
|
1898
|
+
* ```html
|
|
1899
|
+
* <le-combobox
|
|
1900
|
+
* placeholder="Search..."
|
|
1901
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
1902
|
+
* ></le-combobox>
|
|
1903
|
+
* ```
|
|
1904
|
+
* @example Allow custom values
|
|
1905
|
+
* ```html
|
|
1906
|
+
* <le-combobox
|
|
1907
|
+
* placeholder="Type or select..."
|
|
1908
|
+
* allow-custom
|
|
1909
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
1910
|
+
* ></le-combobox>
|
|
1911
|
+
* ```
|
|
1912
|
+
*/
|
|
1913
|
+
interface HTMLLeComboboxElement extends Components.LeCombobox, HTMLStencilElement {
|
|
1914
|
+
addEventListener<K extends keyof HTMLLeComboboxElementEventMap>(type: K, listener: (this: HTMLLeComboboxElement, ev: LeComboboxCustomEvent<HTMLLeComboboxElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1915
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1916
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1917
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1918
|
+
removeEventListener<K extends keyof HTMLLeComboboxElementEventMap>(type: K, listener: (this: HTMLLeComboboxElement, ev: LeComboboxCustomEvent<HTMLLeComboboxElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1919
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1920
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1921
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1922
|
+
}
|
|
1923
|
+
var HTMLLeComboboxElement: {
|
|
1924
|
+
prototype: HTMLLeComboboxElement;
|
|
1925
|
+
new (): HTMLLeComboboxElement;
|
|
1926
|
+
};
|
|
873
1927
|
/**
|
|
874
1928
|
* Component wrapper for admin mode editing.
|
|
875
1929
|
* This component is used internally by other components to provide admin-mode
|
|
@@ -897,9 +1951,170 @@ declare global {
|
|
|
897
1951
|
prototype: HTMLLeComponentElement;
|
|
898
1952
|
new (): HTMLLeComponentElement;
|
|
899
1953
|
};
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
1954
|
+
/**
|
|
1955
|
+
* Shows a "smart" header title based on what has scrolled out of view.
|
|
1956
|
+
* When `selector` matches multiple elements, the title becomes the last element
|
|
1957
|
+
* (top-to-bottom) that has fully scrolled out above the viewport.
|
|
1958
|
+
* @csspart title - The rendered title
|
|
1959
|
+
* @cmsEditable true
|
|
1960
|
+
* @cmsCategory Layout
|
|
1961
|
+
*/
|
|
1962
|
+
interface HTMLLeCurrentHeadingElement extends Components.LeCurrentHeading, HTMLStencilElement {
|
|
1963
|
+
}
|
|
1964
|
+
var HTMLLeCurrentHeadingElement: {
|
|
1965
|
+
prototype: HTMLLeCurrentHeadingElement;
|
|
1966
|
+
new (): HTMLLeCurrentHeadingElement;
|
|
1967
|
+
};
|
|
1968
|
+
interface HTMLLeDropdownBaseElementEventMap {
|
|
1969
|
+
"leOptionSelect": LeOptionSelectDetail;
|
|
1970
|
+
"leDropdownOpen": void;
|
|
1971
|
+
"leDropdownClose": void;
|
|
1972
|
+
}
|
|
1973
|
+
/**
|
|
1974
|
+
* Internal dropdown base component that provides shared functionality
|
|
1975
|
+
* for select, combobox, and multiselect components.
|
|
1976
|
+
* Wraps le-popover for positioning and provides:
|
|
1977
|
+
* - Option list rendering with groups
|
|
1978
|
+
* - Keyboard navigation (↑↓, Enter, Escape, Home/End)
|
|
1979
|
+
* - Option filtering support
|
|
1980
|
+
* - Single and multi-select modes
|
|
1981
|
+
* @cmsInternal true
|
|
1982
|
+
* @cmsCategory System
|
|
1983
|
+
*/
|
|
1984
|
+
interface HTMLLeDropdownBaseElement extends Components.LeDropdownBase, HTMLStencilElement {
|
|
1985
|
+
addEventListener<K extends keyof HTMLLeDropdownBaseElementEventMap>(type: K, listener: (this: HTMLLeDropdownBaseElement, ev: LeDropdownBaseCustomEvent<HTMLLeDropdownBaseElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1986
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1987
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1988
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1989
|
+
removeEventListener<K extends keyof HTMLLeDropdownBaseElementEventMap>(type: K, listener: (this: HTMLLeDropdownBaseElement, ev: LeDropdownBaseCustomEvent<HTMLLeDropdownBaseElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1990
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1991
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1992
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1993
|
+
}
|
|
1994
|
+
var HTMLLeDropdownBaseElement: {
|
|
1995
|
+
prototype: HTMLLeDropdownBaseElement;
|
|
1996
|
+
new (): HTMLLeDropdownBaseElement;
|
|
1997
|
+
};
|
|
1998
|
+
interface HTMLLeHeaderElementEventMap {
|
|
1999
|
+
"leHeaderState": {
|
|
2000
|
+
y: number;
|
|
2001
|
+
direction: 'up' | 'down';
|
|
2002
|
+
revealed: boolean;
|
|
2003
|
+
shrunk: boolean;
|
|
2004
|
+
};
|
|
2005
|
+
"leHeaderShrinkChange": { shrunk: boolean; y: number };
|
|
2006
|
+
"leHeaderVisibilityChange": { visible: boolean; y: number };
|
|
2007
|
+
}
|
|
2008
|
+
/**
|
|
2009
|
+
* A functional page header with scroll-aware behaviors.
|
|
2010
|
+
* Features:
|
|
2011
|
+
* - Static (default), sticky, or fixed positioning
|
|
2012
|
+
* - Optional shrink-on-scroll behavior via `shrink-offset`
|
|
2013
|
+
* - Optional reveal-on-scroll-up via `reveal-on-scroll` (sticky only)
|
|
2014
|
+
* Slots:
|
|
2015
|
+
* - `start`: left side (logo/back button)
|
|
2016
|
+
* - `title`: centered/primary title content
|
|
2017
|
+
* - `end`: right side actions
|
|
2018
|
+
* - default: extra content row (e.g., tabs/search) rendered below main row
|
|
2019
|
+
* @cssprop --le-header-bg - Background (color/gradient)
|
|
2020
|
+
* @cssprop --le-header-color - Text color
|
|
2021
|
+
* @cssprop --le-header-border - Border (e.g. 1px solid ...)
|
|
2022
|
+
* @cssprop --le-header-shadow - Shadow/elevation
|
|
2023
|
+
* @cssprop --le-header-max-width - Inner content max width
|
|
2024
|
+
* @cssprop --le-header-padding-x - Horizontal padding
|
|
2025
|
+
* @cssprop --le-header-padding-y - Vertical padding
|
|
2026
|
+
* @cssprop --le-header-gap - Gap between zones
|
|
2027
|
+
* @cssprop --le-header-height - Base height (main row)
|
|
2028
|
+
* @cssprop --le-header-height-condensed - Condensed height when shrunk
|
|
2029
|
+
* @cssprop --le-header-transition - Transition timing
|
|
2030
|
+
* @cssprop --le-header-z - Z-index (fixed mode)
|
|
2031
|
+
* @csspart header - The header container
|
|
2032
|
+
* @csspart inner - Inner max-width container
|
|
2033
|
+
* @csspart row - Main row
|
|
2034
|
+
* @csspart start - Start zone
|
|
2035
|
+
* @csspart title - Title zone
|
|
2036
|
+
* @csspart end - End zone
|
|
2037
|
+
* @csspart secondary - Secondary row
|
|
2038
|
+
* @cmsEditable true
|
|
2039
|
+
* @cmsCategory Layout
|
|
2040
|
+
*/
|
|
2041
|
+
interface HTMLLeHeaderElement extends Components.LeHeader, HTMLStencilElement {
|
|
2042
|
+
addEventListener<K extends keyof HTMLLeHeaderElementEventMap>(type: K, listener: (this: HTMLLeHeaderElement, ev: LeHeaderCustomEvent<HTMLLeHeaderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2043
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2044
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2045
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2046
|
+
removeEventListener<K extends keyof HTMLLeHeaderElementEventMap>(type: K, listener: (this: HTMLLeHeaderElement, ev: LeHeaderCustomEvent<HTMLLeHeaderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2047
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2048
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2049
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2050
|
+
}
|
|
2051
|
+
var HTMLLeHeaderElement: {
|
|
2052
|
+
prototype: HTMLLeHeaderElement;
|
|
2053
|
+
new (): HTMLLeHeaderElement;
|
|
2054
|
+
};
|
|
2055
|
+
/**
|
|
2056
|
+
* Placeholder for `le-header`.
|
|
2057
|
+
* Reserves space using the global CSS variable `--le-header-height`.
|
|
2058
|
+
* The header component updates that variable when it renders.
|
|
2059
|
+
* @cssprop --le-header-height - Published header height (px)
|
|
2060
|
+
* @cmsInternal true
|
|
2061
|
+
*/
|
|
2062
|
+
interface HTMLLeHeaderPlaceholderElement extends Components.LeHeaderPlaceholder, HTMLStencilElement {
|
|
2063
|
+
}
|
|
2064
|
+
var HTMLLeHeaderPlaceholderElement: {
|
|
2065
|
+
prototype: HTMLLeHeaderPlaceholderElement;
|
|
2066
|
+
new (): HTMLLeHeaderPlaceholderElement;
|
|
2067
|
+
};
|
|
2068
|
+
interface HTMLLeMultiselectElementEventMap {
|
|
2069
|
+
"leChange": LeMultiOptionSelectDetail;
|
|
2070
|
+
"leOpen": void;
|
|
2071
|
+
"leClose": void;
|
|
2072
|
+
}
|
|
2073
|
+
/**
|
|
2074
|
+
* A multiselect component for selecting multiple options.
|
|
2075
|
+
* Displays selected items as tags with optional search filtering.
|
|
2076
|
+
* @cmsEditable true
|
|
2077
|
+
* @cmsCategory Form
|
|
2078
|
+
* @example Basic multiselect
|
|
2079
|
+
* ```html
|
|
2080
|
+
* <le-multiselect
|
|
2081
|
+
* placeholder="Select options..."
|
|
2082
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
2083
|
+
* ></le-multiselect>
|
|
2084
|
+
* ```
|
|
2085
|
+
* @example With max selections
|
|
2086
|
+
* ```html
|
|
2087
|
+
* <le-multiselect
|
|
2088
|
+
* max-selections="3"
|
|
2089
|
+
* options='[{"label": "Option 1"}, {"label": "Option 2"}, {"label": "Option 3"}, {"label": "Option 4"}]'
|
|
2090
|
+
* ></le-multiselect>
|
|
2091
|
+
* ```
|
|
2092
|
+
* @example With search
|
|
2093
|
+
* ```html
|
|
2094
|
+
* <le-multiselect
|
|
2095
|
+
* searchable
|
|
2096
|
+
* placeholder="Search and select..."
|
|
2097
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
2098
|
+
* ></le-multiselect>
|
|
2099
|
+
* ```
|
|
2100
|
+
*/
|
|
2101
|
+
interface HTMLLeMultiselectElement extends Components.LeMultiselect, HTMLStencilElement {
|
|
2102
|
+
addEventListener<K extends keyof HTMLLeMultiselectElementEventMap>(type: K, listener: (this: HTMLLeMultiselectElement, ev: LeMultiselectCustomEvent<HTMLLeMultiselectElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2103
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2104
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2105
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2106
|
+
removeEventListener<K extends keyof HTMLLeMultiselectElementEventMap>(type: K, listener: (this: HTMLLeMultiselectElement, ev: LeMultiselectCustomEvent<HTMLLeMultiselectElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2107
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2108
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2109
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2110
|
+
}
|
|
2111
|
+
var HTMLLeMultiselectElement: {
|
|
2112
|
+
prototype: HTMLLeMultiselectElement;
|
|
2113
|
+
new (): HTMLLeMultiselectElement;
|
|
2114
|
+
};
|
|
2115
|
+
interface HTMLLeNumberInputElementEventMap {
|
|
2116
|
+
"leChange": { value: number; name: string; externalId: string; isValid: boolean };
|
|
2117
|
+
"leInput": { value: number; name: string; externalId: string; isValid: boolean };
|
|
903
2118
|
}
|
|
904
2119
|
/**
|
|
905
2120
|
* A number input component with validation, keyboard controls, and custom spinners.
|
|
@@ -933,6 +2148,8 @@ declare global {
|
|
|
933
2148
|
* A popover component for displaying floating content.
|
|
934
2149
|
* Uses the native HTML Popover API for proper layering with dialogs
|
|
935
2150
|
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
2151
|
+
* @csspart trigger - The popover trigger element
|
|
2152
|
+
* @csspart content - The popover content wrapper
|
|
936
2153
|
* @cmsInternal true
|
|
937
2154
|
* @cmsCategory System
|
|
938
2155
|
*/
|
|
@@ -959,7 +2176,7 @@ declare global {
|
|
|
959
2176
|
/**
|
|
960
2177
|
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
961
2178
|
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
962
|
-
* and focus management. Can be used declaratively in HTML or programmatically
|
|
2179
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
963
2180
|
* via leAlert(), leConfirm(), lePrompt().
|
|
964
2181
|
* @cmsInternal true
|
|
965
2182
|
* @cmsCategory System
|
|
@@ -984,6 +2201,108 @@ declare global {
|
|
|
984
2201
|
prototype: HTMLLeRoundProgressElement;
|
|
985
2202
|
new (): HTMLLeRoundProgressElement;
|
|
986
2203
|
};
|
|
2204
|
+
/**
|
|
2205
|
+
* Displays scroll progress as a simple bar.
|
|
2206
|
+
* If `track-scroll-progress` is present without a value, tracks the full document.
|
|
2207
|
+
* If it is a selector string, tracks progress within the matched element.
|
|
2208
|
+
* @cssprop --le-scroll-progress-height - Bar height
|
|
2209
|
+
* @cssprop --le-scroll-progress-bg - Track background
|
|
2210
|
+
* @cssprop --le-scroll-progress-fill - Fill color
|
|
2211
|
+
* @cssprop --le-scroll-progress-sticky-top - If sticky, stop position to parent top
|
|
2212
|
+
* @cssprop --le-scroll-progress-fixed-top - If fixed, distance from window top
|
|
2213
|
+
* @cssprop --le-scroll-progress-fixed-left - If fixed, distance from window left
|
|
2214
|
+
* @cssprop --le-scroll-progress-fixed-right - If fixed, distance from window right
|
|
2215
|
+
* @cssprop --le-scroll-progress-z - Z-index of the progress bar (1001 by default, above header)
|
|
2216
|
+
* @csspart track - Outer track
|
|
2217
|
+
* @csspart fill - Inner fill
|
|
2218
|
+
* @cmsEditable true
|
|
2219
|
+
* @cmsCategory Layout
|
|
2220
|
+
*/
|
|
2221
|
+
interface HTMLLeScrollProgressElement extends Components.LeScrollProgress, HTMLStencilElement {
|
|
2222
|
+
}
|
|
2223
|
+
var HTMLLeScrollProgressElement: {
|
|
2224
|
+
prototype: HTMLLeScrollProgressElement;
|
|
2225
|
+
new (): HTMLLeScrollProgressElement;
|
|
2226
|
+
};
|
|
2227
|
+
interface HTMLLeSegmentedControlElementEventMap {
|
|
2228
|
+
"leChange": LeOptionSelectDetail;
|
|
2229
|
+
}
|
|
2230
|
+
/**
|
|
2231
|
+
* A segmented control component (iOS-style toggle buttons).
|
|
2232
|
+
* Perfect for toggling between a small set of related options.
|
|
2233
|
+
* @cssprop --le-segmented-bg - Background color of the control
|
|
2234
|
+
* @cssprop --le-segmented-padding - Padding around segments
|
|
2235
|
+
* @cssprop --le-segmented-gap - Gap between segments
|
|
2236
|
+
* @cssprop --le-segmented-radius - Border radius of the control
|
|
2237
|
+
* @csspart container - The main container
|
|
2238
|
+
* @csspart segment - Individual segment buttons
|
|
2239
|
+
* @csspart segment-active - The currently active segment
|
|
2240
|
+
* @cmsEditable true
|
|
2241
|
+
* @cmsCategory Form
|
|
2242
|
+
*/
|
|
2243
|
+
interface HTMLLeSegmentedControlElement extends Components.LeSegmentedControl, HTMLStencilElement {
|
|
2244
|
+
addEventListener<K extends keyof HTMLLeSegmentedControlElementEventMap>(type: K, listener: (this: HTMLLeSegmentedControlElement, ev: LeSegmentedControlCustomEvent<HTMLLeSegmentedControlElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2245
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2246
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2247
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2248
|
+
removeEventListener<K extends keyof HTMLLeSegmentedControlElementEventMap>(type: K, listener: (this: HTMLLeSegmentedControlElement, ev: LeSegmentedControlCustomEvent<HTMLLeSegmentedControlElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2249
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2250
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2251
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2252
|
+
}
|
|
2253
|
+
var HTMLLeSegmentedControlElement: {
|
|
2254
|
+
prototype: HTMLLeSegmentedControlElement;
|
|
2255
|
+
new (): HTMLLeSegmentedControlElement;
|
|
2256
|
+
};
|
|
2257
|
+
interface HTMLLeSelectElementEventMap {
|
|
2258
|
+
"leChange": LeOptionSelectDetail;
|
|
2259
|
+
"leOpen": void;
|
|
2260
|
+
"leClose": void;
|
|
2261
|
+
}
|
|
2262
|
+
/**
|
|
2263
|
+
* A select dropdown component for single selection.
|
|
2264
|
+
* @cmsEditable true
|
|
2265
|
+
* @cmsCategory Form
|
|
2266
|
+
* @example Basic select
|
|
2267
|
+
* ```html
|
|
2268
|
+
* <le-select
|
|
2269
|
+
* placeholder="Choose an option"
|
|
2270
|
+
* options='[{"label": "Option 1", "value": "1"}, {"label": "Option 2", "value": "2"}]'
|
|
2271
|
+
* ></le-select>
|
|
2272
|
+
* ```
|
|
2273
|
+
* @example With icons
|
|
2274
|
+
* ```html
|
|
2275
|
+
* <le-select
|
|
2276
|
+
* options='[
|
|
2277
|
+
* {"label": "Apple", "value": "apple", "iconStart": "🍎"},
|
|
2278
|
+
* {"label": "Banana", "value": "banana", "iconStart": "🍌"}
|
|
2279
|
+
* ]'
|
|
2280
|
+
* ></le-select>
|
|
2281
|
+
* ```
|
|
2282
|
+
* @example Grouped options
|
|
2283
|
+
* ```html
|
|
2284
|
+
* <le-select
|
|
2285
|
+
* options='[
|
|
2286
|
+
* {"label": "Apple", "value": "apple", "group": "Fruits"},
|
|
2287
|
+
* {"label": "Carrot", "value": "carrot", "group": "Vegetables"}
|
|
2288
|
+
* ]'
|
|
2289
|
+
* ></le-select>
|
|
2290
|
+
* ```
|
|
2291
|
+
*/
|
|
2292
|
+
interface HTMLLeSelectElement extends Components.LeSelect, HTMLStencilElement {
|
|
2293
|
+
addEventListener<K extends keyof HTMLLeSelectElementEventMap>(type: K, listener: (this: HTMLLeSelectElement, ev: LeSelectCustomEvent<HTMLLeSelectElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2294
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2295
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2296
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2297
|
+
removeEventListener<K extends keyof HTMLLeSelectElementEventMap>(type: K, listener: (this: HTMLLeSelectElement, ev: LeSelectCustomEvent<HTMLLeSelectElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2298
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2299
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2300
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2301
|
+
}
|
|
2302
|
+
var HTMLLeSelectElement: {
|
|
2303
|
+
prototype: HTMLLeSelectElement;
|
|
2304
|
+
new (): HTMLLeSelectElement;
|
|
2305
|
+
};
|
|
987
2306
|
interface HTMLLeSlotElementEventMap {
|
|
988
2307
|
"leSlotChange": { name: string; value: string; isValid: boolean };
|
|
989
2308
|
}
|
|
@@ -1026,8 +2345,16 @@ declare global {
|
|
|
1026
2345
|
new (): HTMLLeStackElement;
|
|
1027
2346
|
};
|
|
1028
2347
|
interface HTMLLeStringInputElementEventMap {
|
|
1029
|
-
"change": {
|
|
1030
|
-
|
|
2348
|
+
"change": {
|
|
2349
|
+
value: string;
|
|
2350
|
+
name: string;
|
|
2351
|
+
externalId: string;
|
|
2352
|
+
};
|
|
2353
|
+
"input": {
|
|
2354
|
+
value: string;
|
|
2355
|
+
name: string;
|
|
2356
|
+
externalId: string;
|
|
2357
|
+
};
|
|
1031
2358
|
}
|
|
1032
2359
|
/**
|
|
1033
2360
|
* A text input component with support for labels, descriptions, icons, and external IDs.
|
|
@@ -1052,6 +2379,168 @@ declare global {
|
|
|
1052
2379
|
prototype: HTMLLeStringInputElement;
|
|
1053
2380
|
new (): HTMLLeStringInputElement;
|
|
1054
2381
|
};
|
|
2382
|
+
interface HTMLLeTabElementEventMap {
|
|
2383
|
+
"click": PointerEvent;
|
|
2384
|
+
}
|
|
2385
|
+
/**
|
|
2386
|
+
* A flexible tab component with multiple variants and states.
|
|
2387
|
+
* @cssprop --le-tab-bg - Tab background color
|
|
2388
|
+
* @cssprop --le-tab-color - Tab text color
|
|
2389
|
+
* @cssprop --le-tab-border-radius - Tab border radius
|
|
2390
|
+
* @cssprop --le-tab-padding-x - Tab horizontal padding
|
|
2391
|
+
* @cssprop --le-tab-padding-y - Tab vertical padding
|
|
2392
|
+
* @csspart button - The native button element
|
|
2393
|
+
* @csspart content - The tab content wrapper
|
|
2394
|
+
* @csspart icon-start - The start icon slot
|
|
2395
|
+
* @csspart icon-end - The end icon slot
|
|
2396
|
+
* @cmsEditable true
|
|
2397
|
+
* @cmsCategory Actions
|
|
2398
|
+
*/
|
|
2399
|
+
interface HTMLLeTabElement extends Components.LeTab, HTMLStencilElement {
|
|
2400
|
+
addEventListener<K extends keyof HTMLLeTabElementEventMap>(type: K, listener: (this: HTMLLeTabElement, ev: LeTabCustomEvent<HTMLLeTabElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2401
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2402
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2403
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2404
|
+
removeEventListener<K extends keyof HTMLLeTabElementEventMap>(type: K, listener: (this: HTMLLeTabElement, ev: LeTabCustomEvent<HTMLLeTabElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2405
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2406
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2407
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2408
|
+
}
|
|
2409
|
+
var HTMLLeTabElement: {
|
|
2410
|
+
prototype: HTMLLeTabElement;
|
|
2411
|
+
new (): HTMLLeTabElement;
|
|
2412
|
+
};
|
|
2413
|
+
interface HTMLLeTabBarElementEventMap {
|
|
2414
|
+
"leTabChange": LeOptionSelectDetail;
|
|
2415
|
+
}
|
|
2416
|
+
/**
|
|
2417
|
+
* A presentational tab bar component without panels.
|
|
2418
|
+
* Use this for navigation/routing scenarios where you manage the content
|
|
2419
|
+
* externally based on the selection events. For tabs with built-in panels,
|
|
2420
|
+
* use `le-tabs` instead.
|
|
2421
|
+
* @cssprop --le-tab-bar-border-color - Border color
|
|
2422
|
+
* @cssprop --le-tab-bar-gap - Gap between tabs
|
|
2423
|
+
* @cssprop --le-tab-bar-indicator-color - Active indicator color
|
|
2424
|
+
* @cssprop --le-tab-bar-padding-x - Horizontal padding for tabs
|
|
2425
|
+
* @cssprop --le-tab-bar-padding-y - Vertical padding for tabs
|
|
2426
|
+
* @csspart tablist - The tab button container
|
|
2427
|
+
* @csspart tab - Individual tab buttons
|
|
2428
|
+
* @csspart tab-active - The currently active tab
|
|
2429
|
+
* @cmsEditable true
|
|
2430
|
+
* @cmsCategory Navigation
|
|
2431
|
+
*/
|
|
2432
|
+
interface HTMLLeTabBarElement extends Components.LeTabBar, HTMLStencilElement {
|
|
2433
|
+
addEventListener<K extends keyof HTMLLeTabBarElementEventMap>(type: K, listener: (this: HTMLLeTabBarElement, ev: LeTabBarCustomEvent<HTMLLeTabBarElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2434
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2435
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2436
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2437
|
+
removeEventListener<K extends keyof HTMLLeTabBarElementEventMap>(type: K, listener: (this: HTMLLeTabBarElement, ev: LeTabBarCustomEvent<HTMLLeTabBarElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2438
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2439
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2440
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2441
|
+
}
|
|
2442
|
+
var HTMLLeTabBarElement: {
|
|
2443
|
+
prototype: HTMLLeTabBarElement;
|
|
2444
|
+
new (): HTMLLeTabBarElement;
|
|
2445
|
+
};
|
|
2446
|
+
/**
|
|
2447
|
+
* A tab panel component used as a child of le-tabs.
|
|
2448
|
+
* Each le-tab-panel defines both the tab button label and the panel content.
|
|
2449
|
+
* The parent le-tabs component automatically reads these panels and creates
|
|
2450
|
+
* the tab interface.
|
|
2451
|
+
* @cmsEditable true
|
|
2452
|
+
* @cmsCategory Navigation
|
|
2453
|
+
*/
|
|
2454
|
+
interface HTMLLeTabPanelElement extends Components.LeTabPanel, HTMLStencilElement {
|
|
2455
|
+
}
|
|
2456
|
+
var HTMLLeTabPanelElement: {
|
|
2457
|
+
prototype: HTMLLeTabPanelElement;
|
|
2458
|
+
new (): HTMLLeTabPanelElement;
|
|
2459
|
+
};
|
|
2460
|
+
interface HTMLLeTabsElementEventMap {
|
|
2461
|
+
"leTabChange": LeOptionSelectDetail;
|
|
2462
|
+
}
|
|
2463
|
+
/**
|
|
2464
|
+
* A flexible tabs component for organizing content into tabbed panels.
|
|
2465
|
+
* Supports two modes:
|
|
2466
|
+
* 1. **Declarative**: Use `<le-tab-panel>` children to define tabs and content
|
|
2467
|
+
* 2. **Programmatic**: Use the `tabs` prop with named slots for content
|
|
2468
|
+
* Full keyboard navigation and ARIA support included.
|
|
2469
|
+
* @cssprop --le-tabs-border-color - Border color for tab list
|
|
2470
|
+
* @cssprop --le-tabs-gap - Gap between tabs
|
|
2471
|
+
* @cssprop --le-tabs-indicator-color - Active tab indicator color
|
|
2472
|
+
* @cssprop --le-tabs-padding-x - Horizontal padding for tab buttons
|
|
2473
|
+
* @cssprop --le-tabs-padding-y - Vertical padding for tab buttons
|
|
2474
|
+
* @csspart tablist - The tab button container (role="tablist")
|
|
2475
|
+
* @csspart tab - Individual tab buttons
|
|
2476
|
+
* @csspart tab-active - The currently active tab
|
|
2477
|
+
* @csspart panels - Container for panel content
|
|
2478
|
+
* @csspart panel - Individual panel containers
|
|
2479
|
+
* @cmsEditable true
|
|
2480
|
+
* @cmsCategory Navigation
|
|
2481
|
+
*/
|
|
2482
|
+
interface HTMLLeTabsElement extends Components.LeTabs, HTMLStencilElement {
|
|
2483
|
+
addEventListener<K extends keyof HTMLLeTabsElementEventMap>(type: K, listener: (this: HTMLLeTabsElement, ev: LeTabsCustomEvent<HTMLLeTabsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2484
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2485
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2486
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2487
|
+
removeEventListener<K extends keyof HTMLLeTabsElementEventMap>(type: K, listener: (this: HTMLLeTabsElement, ev: LeTabsCustomEvent<HTMLLeTabsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2488
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2489
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2490
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2491
|
+
}
|
|
2492
|
+
var HTMLLeTabsElement: {
|
|
2493
|
+
prototype: HTMLLeTabsElement;
|
|
2494
|
+
new (): HTMLLeTabsElement;
|
|
2495
|
+
};
|
|
2496
|
+
interface HTMLLeTagElementEventMap {
|
|
2497
|
+
"leDismiss": void;
|
|
2498
|
+
}
|
|
2499
|
+
/**
|
|
2500
|
+
* A tag/chip component for displaying labels with optional dismiss functionality.
|
|
2501
|
+
* @cmsEditable false
|
|
2502
|
+
* @cmsCategory Form
|
|
2503
|
+
* @example Basic tag
|
|
2504
|
+
* ```html
|
|
2505
|
+
* <le-tag label="JavaScript"></le-tag>
|
|
2506
|
+
* ```
|
|
2507
|
+
* @example Dismissible tag
|
|
2508
|
+
* ```html
|
|
2509
|
+
* <le-tag label="Remove me" dismissible></le-tag>
|
|
2510
|
+
* ```
|
|
2511
|
+
* @example With icon
|
|
2512
|
+
* ```html
|
|
2513
|
+
* <le-tag label="Settings" icon="⚙️"></le-tag>
|
|
2514
|
+
* ```
|
|
2515
|
+
* @example Different sizes
|
|
2516
|
+
* ```html
|
|
2517
|
+
* <le-tag label="Small" size="small"></le-tag>
|
|
2518
|
+
* <le-tag label="Medium" size="medium"></le-tag>
|
|
2519
|
+
* <le-tag label="Large" size="large"></le-tag>
|
|
2520
|
+
* ```
|
|
2521
|
+
* @example Different variants
|
|
2522
|
+
* ```html
|
|
2523
|
+
* <le-tag label="Default" variant="default"></le-tag>
|
|
2524
|
+
* <le-tag label="Primary" variant="primary"></le-tag>
|
|
2525
|
+
* <le-tag label="Success" variant="success"></le-tag>
|
|
2526
|
+
* <le-tag label="Warning" variant="warning"></le-tag>
|
|
2527
|
+
* <le-tag label="Danger" variant="danger"></le-tag>
|
|
2528
|
+
* ```
|
|
2529
|
+
*/
|
|
2530
|
+
interface HTMLLeTagElement extends Components.LeTag, HTMLStencilElement {
|
|
2531
|
+
addEventListener<K extends keyof HTMLLeTagElementEventMap>(type: K, listener: (this: HTMLLeTagElement, ev: LeTagCustomEvent<HTMLLeTagElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2532
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2533
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2534
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2535
|
+
removeEventListener<K extends keyof HTMLLeTagElementEventMap>(type: K, listener: (this: HTMLLeTagElement, ev: LeTagCustomEvent<HTMLLeTagElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2536
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2537
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2538
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2539
|
+
}
|
|
2540
|
+
var HTMLLeTagElement: {
|
|
2541
|
+
prototype: HTMLLeTagElement;
|
|
2542
|
+
new (): HTMLLeTagElement;
|
|
2543
|
+
};
|
|
1055
2544
|
/**
|
|
1056
2545
|
* A text component with rich text editing capabilities in admin mode.
|
|
1057
2546
|
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
@@ -1082,14 +2571,29 @@ declare global {
|
|
|
1082
2571
|
"le-button": HTMLLeButtonElement;
|
|
1083
2572
|
"le-card": HTMLLeCardElement;
|
|
1084
2573
|
"le-checkbox": HTMLLeCheckboxElement;
|
|
2574
|
+
"le-collapse": HTMLLeCollapseElement;
|
|
2575
|
+
"le-combobox": HTMLLeComboboxElement;
|
|
1085
2576
|
"le-component": HTMLLeComponentElement;
|
|
2577
|
+
"le-current-heading": HTMLLeCurrentHeadingElement;
|
|
2578
|
+
"le-dropdown-base": HTMLLeDropdownBaseElement;
|
|
2579
|
+
"le-header": HTMLLeHeaderElement;
|
|
2580
|
+
"le-header-placeholder": HTMLLeHeaderPlaceholderElement;
|
|
2581
|
+
"le-multiselect": HTMLLeMultiselectElement;
|
|
1086
2582
|
"le-number-input": HTMLLeNumberInputElement;
|
|
1087
2583
|
"le-popover": HTMLLePopoverElement;
|
|
1088
2584
|
"le-popup": HTMLLePopupElement;
|
|
1089
2585
|
"le-round-progress": HTMLLeRoundProgressElement;
|
|
2586
|
+
"le-scroll-progress": HTMLLeScrollProgressElement;
|
|
2587
|
+
"le-segmented-control": HTMLLeSegmentedControlElement;
|
|
2588
|
+
"le-select": HTMLLeSelectElement;
|
|
1090
2589
|
"le-slot": HTMLLeSlotElement;
|
|
1091
2590
|
"le-stack": HTMLLeStackElement;
|
|
1092
2591
|
"le-string-input": HTMLLeStringInputElement;
|
|
2592
|
+
"le-tab": HTMLLeTabElement;
|
|
2593
|
+
"le-tab-bar": HTMLLeTabBarElement;
|
|
2594
|
+
"le-tab-panel": HTMLLeTabPanelElement;
|
|
2595
|
+
"le-tabs": HTMLLeTabsElement;
|
|
2596
|
+
"le-tag": HTMLLeTagElement;
|
|
1093
2597
|
"le-text": HTMLLeTextElement;
|
|
1094
2598
|
"le-turntable": HTMLLeTurntableElement;
|
|
1095
2599
|
}
|
|
@@ -1177,208 +2681,649 @@ declare namespace LocalJSX {
|
|
|
1177
2681
|
*/
|
|
1178
2682
|
"maxWidth"?: string;
|
|
1179
2683
|
/**
|
|
1180
|
-
* Minimum height constraint
|
|
2684
|
+
* Minimum height constraint
|
|
2685
|
+
*/
|
|
2686
|
+
"minHeight"?: string;
|
|
2687
|
+
/**
|
|
2688
|
+
* Minimum width constraint
|
|
2689
|
+
*/
|
|
2690
|
+
"minWidth"?: string;
|
|
2691
|
+
/**
|
|
2692
|
+
* Order in the flex container (lower values come first)
|
|
2693
|
+
*/
|
|
2694
|
+
"order"?: number;
|
|
2695
|
+
/**
|
|
2696
|
+
* Padding inside the box (CSS value like '8px', '1rem')
|
|
2697
|
+
*/
|
|
2698
|
+
"padding"?: string;
|
|
2699
|
+
/**
|
|
2700
|
+
* Flex shrink factor - how much the item should shrink relative to siblings
|
|
2701
|
+
* @min 0
|
|
2702
|
+
* @default 1
|
|
2703
|
+
*/
|
|
2704
|
+
"shrink"?: number;
|
|
2705
|
+
/**
|
|
2706
|
+
* Width of the box (CSS value like '100px', '50%', 'auto')
|
|
2707
|
+
*/
|
|
2708
|
+
"width"?: string;
|
|
2709
|
+
}
|
|
2710
|
+
/**
|
|
2711
|
+
* A flexible button component with multiple variants and states.
|
|
2712
|
+
* @cssprop --le-button-bg - Button background color
|
|
2713
|
+
* @cssprop --le-button-color - Button text color
|
|
2714
|
+
* @cssprop --le-button-border-radius - Button border radius
|
|
2715
|
+
* @cssprop --le-button-padding-x - Button horizontal padding
|
|
2716
|
+
* @cssprop --le-button-padding-y - Button vertical padding
|
|
2717
|
+
* @csspart button - The native button element
|
|
2718
|
+
* @csspart content - The button content wrapper
|
|
2719
|
+
* @csspart icon-start - The start icon slot
|
|
2720
|
+
* @csspart icon-end - The end icon slot
|
|
2721
|
+
* @cmsEditable true
|
|
2722
|
+
* @cmsCategory Actions
|
|
2723
|
+
*/
|
|
2724
|
+
interface LeButton {
|
|
2725
|
+
/**
|
|
2726
|
+
* Alignment of the button label without the end icon
|
|
2727
|
+
* @allowedValues start | center | space-between | end
|
|
2728
|
+
* @default 'center'
|
|
2729
|
+
*/
|
|
2730
|
+
"align"?: 'start' | 'center' | 'space-between' | 'end';
|
|
2731
|
+
/**
|
|
2732
|
+
* Button color theme (uses theme semantic colors)
|
|
2733
|
+
* @allowedValues primary | secondary | success | warning | danger | info
|
|
2734
|
+
* @default 'primary'
|
|
2735
|
+
*/
|
|
2736
|
+
"color"?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
|
|
2737
|
+
/**
|
|
2738
|
+
* Whether the button is disabled
|
|
2739
|
+
* @default false
|
|
2740
|
+
*/
|
|
2741
|
+
"disabled"?: boolean;
|
|
2742
|
+
/**
|
|
2743
|
+
* Whether the button takes full width of its container
|
|
2744
|
+
* @default false
|
|
2745
|
+
*/
|
|
2746
|
+
"fullWidth"?: boolean;
|
|
2747
|
+
/**
|
|
2748
|
+
* Optional href to make the button act as a link
|
|
2749
|
+
*/
|
|
2750
|
+
"href"?: string;
|
|
2751
|
+
/**
|
|
2752
|
+
* End icon image or emoji
|
|
2753
|
+
*/
|
|
2754
|
+
"iconEnd"?: string | Node;
|
|
2755
|
+
/**
|
|
2756
|
+
* Icon only button image or emoji if this prop is set, the button will render only the icon slot
|
|
2757
|
+
*/
|
|
2758
|
+
"iconOnly"?: string | Node;
|
|
2759
|
+
/**
|
|
2760
|
+
* Start icon image or emoji
|
|
2761
|
+
*/
|
|
2762
|
+
"iconStart"?: string | Node;
|
|
2763
|
+
/**
|
|
2764
|
+
* Mode of the popover should be 'default' for internal use
|
|
2765
|
+
*/
|
|
2766
|
+
"mode"?: 'default' | 'admin';
|
|
2767
|
+
/**
|
|
2768
|
+
* Emitted when the button is clicked. This is a custom event that wraps the native click but ensures the target is the le-button.
|
|
2769
|
+
*/
|
|
2770
|
+
"onClick"?: (event: LeButtonCustomEvent<PointerEvent>) => void;
|
|
2771
|
+
/**
|
|
2772
|
+
* Whether the button is in a selected/active state
|
|
2773
|
+
* @default false
|
|
2774
|
+
*/
|
|
2775
|
+
"selected"?: boolean;
|
|
2776
|
+
/**
|
|
2777
|
+
* Button size
|
|
2778
|
+
* @allowedValues small | medium | large
|
|
2779
|
+
* @default 'medium'
|
|
2780
|
+
*/
|
|
2781
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
2782
|
+
/**
|
|
2783
|
+
* Link target when href is set
|
|
2784
|
+
*/
|
|
2785
|
+
"target"?: string;
|
|
2786
|
+
/**
|
|
2787
|
+
* The button type attribute
|
|
2788
|
+
* @allowedValues button | submit | reset
|
|
2789
|
+
* @default 'button'
|
|
2790
|
+
*/
|
|
2791
|
+
"type"?: 'button' | 'submit' | 'reset';
|
|
2792
|
+
/**
|
|
2793
|
+
* Button variant style
|
|
2794
|
+
* @allowedValues solid | outlined | clear
|
|
2795
|
+
* @default 'solid'
|
|
2796
|
+
*/
|
|
2797
|
+
"variant"?: 'solid' | 'outlined' | 'clear' | 'system';
|
|
2798
|
+
}
|
|
2799
|
+
/**
|
|
2800
|
+
* A flexible card component with header, content, and footer slots.
|
|
2801
|
+
* The card uses le-slot wrappers for each slot area. In admin mode,
|
|
2802
|
+
* le-slot shows placeholders for CMS editing. In default mode,
|
|
2803
|
+
* le-slot acts as a transparent passthrough.
|
|
2804
|
+
* @cssprop --le-card-bg - Card background color
|
|
2805
|
+
* @cssprop --le-card-border-radius - Card border radius
|
|
2806
|
+
* @cssprop --le-card-shadow - Card box shadow
|
|
2807
|
+
* @cssprop --le-card-padding - Card content padding
|
|
2808
|
+
* @csspart card - The main card container
|
|
2809
|
+
* @csspart header - The card header section
|
|
2810
|
+
* @csspart content - The card content section
|
|
2811
|
+
* @csspart footer - The card footer section
|
|
2812
|
+
* @cmsEditable true
|
|
2813
|
+
* @cmsCategory Layout
|
|
2814
|
+
*/
|
|
2815
|
+
interface LeCard {
|
|
2816
|
+
/**
|
|
2817
|
+
* Whether the card is interactive (clickable)
|
|
2818
|
+
* @default false
|
|
2819
|
+
*/
|
|
2820
|
+
"interactive"?: boolean;
|
|
2821
|
+
/**
|
|
2822
|
+
* Card variant style
|
|
2823
|
+
* @allowedValues default | outlined | elevated
|
|
2824
|
+
* @default 'default'
|
|
2825
|
+
*/
|
|
2826
|
+
"variant"?: 'default' | 'outlined' | 'elevated';
|
|
2827
|
+
}
|
|
2828
|
+
/**
|
|
2829
|
+
* A checkbox component with support for labels, descriptions, and external IDs.
|
|
2830
|
+
* @cssprop --le-checkbox-size - Size of the checkbox input
|
|
2831
|
+
* @cssprop --le-checkbox-color - Color of the checkbox when checked
|
|
2832
|
+
* @cssprop --le-checkbox-label-color - Color of the label text
|
|
2833
|
+
* @cssprop --le-checkbox-desc-color - Color of the description text
|
|
2834
|
+
*/
|
|
2835
|
+
interface LeCheckbox {
|
|
2836
|
+
/**
|
|
2837
|
+
* Whether the checkbox is checked
|
|
2838
|
+
* @default false
|
|
2839
|
+
*/
|
|
2840
|
+
"checked"?: boolean;
|
|
2841
|
+
/**
|
|
2842
|
+
* Whether the checkbox is disabled
|
|
2843
|
+
* @default false
|
|
2844
|
+
*/
|
|
2845
|
+
"disabled"?: boolean;
|
|
2846
|
+
/**
|
|
2847
|
+
* External ID for linking with external systems (e.g. database ID, PDF form field ID)
|
|
2848
|
+
*/
|
|
2849
|
+
"externalId"?: string;
|
|
2850
|
+
/**
|
|
2851
|
+
* The name of the checkbox input
|
|
2852
|
+
*/
|
|
2853
|
+
"name"?: string;
|
|
2854
|
+
/**
|
|
2855
|
+
* Emitted when the checked state changes
|
|
2856
|
+
*/
|
|
2857
|
+
"onChange"?: (event: LeCheckboxCustomEvent<{ checked: boolean; value: string; name: string; externalId: string }>) => void;
|
|
2858
|
+
/**
|
|
2859
|
+
* The value of the checkbox input
|
|
2860
|
+
*/
|
|
2861
|
+
"value"?: string;
|
|
2862
|
+
}
|
|
2863
|
+
/**
|
|
2864
|
+
* Animated show/hide wrapper.
|
|
2865
|
+
* Supports height collapse (auto->0) and/or fading.
|
|
2866
|
+
* Can optionally listen to the nearest `le-header` shrink events.
|
|
2867
|
+
* @cssprop --le-collapse-duration - Transition duration
|
|
2868
|
+
* @csspart region - Collapsible region
|
|
2869
|
+
* @csspart content - Inner content
|
|
2870
|
+
* @cmsEditable true
|
|
2871
|
+
* @cmsCategory Layout
|
|
2872
|
+
*/
|
|
2873
|
+
interface LeCollapse {
|
|
2874
|
+
/**
|
|
2875
|
+
* If true, collapse/expand based on the nearest header shrink event.
|
|
2876
|
+
* @default false
|
|
2877
|
+
*/
|
|
2878
|
+
"collapseOnHeaderShrink"?: boolean;
|
|
2879
|
+
/**
|
|
2880
|
+
* Stop fading the content when collapsing/expanding.
|
|
2881
|
+
* @default false
|
|
2882
|
+
*/
|
|
2883
|
+
"noFading"?: boolean;
|
|
2884
|
+
/**
|
|
2885
|
+
* Whether the content should be shown.
|
|
2886
|
+
* @default true
|
|
2887
|
+
*/
|
|
2888
|
+
"open"?: boolean;
|
|
2889
|
+
/**
|
|
2890
|
+
* Whether the content should scroll down from the top when open.
|
|
2891
|
+
* @default false
|
|
2892
|
+
*/
|
|
2893
|
+
"scrollDown"?: boolean;
|
|
2894
|
+
}
|
|
2895
|
+
/**
|
|
2896
|
+
* A combobox component with searchable dropdown.
|
|
2897
|
+
* Combines a text input with a dropdown list, allowing users to
|
|
2898
|
+
* filter options by typing or select from the list.
|
|
2899
|
+
* @cmsEditable true
|
|
2900
|
+
* @cmsCategory Form
|
|
2901
|
+
* @example Basic combobox
|
|
2902
|
+
* ```html
|
|
2903
|
+
* <le-combobox
|
|
2904
|
+
* placeholder="Search..."
|
|
2905
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
2906
|
+
* ></le-combobox>
|
|
2907
|
+
* ```
|
|
2908
|
+
* @example Allow custom values
|
|
2909
|
+
* ```html
|
|
2910
|
+
* <le-combobox
|
|
2911
|
+
* placeholder="Type or select..."
|
|
2912
|
+
* allow-custom
|
|
2913
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
2914
|
+
* ></le-combobox>
|
|
2915
|
+
* ```
|
|
2916
|
+
*/
|
|
2917
|
+
interface LeCombobox {
|
|
2918
|
+
/**
|
|
2919
|
+
* Whether to allow custom values not in the options list.
|
|
2920
|
+
* @default false
|
|
2921
|
+
*/
|
|
2922
|
+
"allowCustom"?: boolean;
|
|
2923
|
+
/**
|
|
2924
|
+
* Whether the combobox is disabled.
|
|
2925
|
+
* @default false
|
|
2926
|
+
*/
|
|
2927
|
+
"disabled"?: boolean;
|
|
2928
|
+
/**
|
|
2929
|
+
* Text to show when no options match the search.
|
|
2930
|
+
* @default 'No results found'
|
|
2931
|
+
*/
|
|
2932
|
+
"emptyText"?: string;
|
|
2933
|
+
/**
|
|
2934
|
+
* Whether the multiselect should take full width of its container.
|
|
2935
|
+
* @default false
|
|
2936
|
+
*/
|
|
2937
|
+
"fullWidth"?: boolean;
|
|
2938
|
+
/**
|
|
2939
|
+
* Minimum characters before showing filtered results.
|
|
2940
|
+
* @default 0
|
|
2941
|
+
*/
|
|
2942
|
+
"minSearchLength"?: number;
|
|
2943
|
+
/**
|
|
2944
|
+
* Name attribute for form submission.
|
|
2945
|
+
*/
|
|
2946
|
+
"name"?: string;
|
|
2947
|
+
/**
|
|
2948
|
+
* Emitted when the selected value changes.
|
|
2949
|
+
*/
|
|
2950
|
+
"onLeChange"?: (event: LeComboboxCustomEvent<LeOptionSelectDetail>) => void;
|
|
2951
|
+
/**
|
|
2952
|
+
* Emitted when the dropdown closes.
|
|
2953
|
+
*/
|
|
2954
|
+
"onLeClose"?: (event: LeComboboxCustomEvent<void>) => void;
|
|
2955
|
+
/**
|
|
2956
|
+
* Emitted when the input value changes (for custom values).
|
|
2957
|
+
*/
|
|
2958
|
+
"onLeInput"?: (event: LeComboboxCustomEvent<{ value: string }>) => void;
|
|
2959
|
+
/**
|
|
2960
|
+
* Emitted when the dropdown opens.
|
|
2961
|
+
*/
|
|
2962
|
+
"onLeOpen"?: (event: LeComboboxCustomEvent<void>) => void;
|
|
2963
|
+
/**
|
|
2964
|
+
* Whether the dropdown is currently open.
|
|
2965
|
+
* @default false
|
|
2966
|
+
*/
|
|
2967
|
+
"open"?: boolean;
|
|
2968
|
+
/**
|
|
2969
|
+
* The options to display in the dropdown.
|
|
2970
|
+
* @default []
|
|
2971
|
+
*/
|
|
2972
|
+
"options"?: LeOption[] | string;
|
|
2973
|
+
/**
|
|
2974
|
+
* Placeholder text for the input.
|
|
2975
|
+
* @default 'Type to search...'
|
|
2976
|
+
*/
|
|
2977
|
+
"placeholder"?: string;
|
|
2978
|
+
/**
|
|
2979
|
+
* Whether selection is required.
|
|
2980
|
+
* @default false
|
|
2981
|
+
*/
|
|
2982
|
+
"required"?: boolean;
|
|
2983
|
+
/**
|
|
2984
|
+
* Size variant of the combobox.
|
|
2985
|
+
* @default 'medium'
|
|
2986
|
+
*/
|
|
2987
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
2988
|
+
/**
|
|
2989
|
+
* The currently selected value.
|
|
2990
|
+
*/
|
|
2991
|
+
"value"?: LeOptionValue;
|
|
2992
|
+
}
|
|
2993
|
+
/**
|
|
2994
|
+
* Component wrapper for admin mode editing.
|
|
2995
|
+
* This component is used internally by other components to provide admin-mode
|
|
2996
|
+
* editing capabilities. It wraps the component's rendered output and shows
|
|
2997
|
+
* a settings popover for editing properties.
|
|
2998
|
+
* In default mode, it acts as a simple passthrough (display: contents).
|
|
2999
|
+
* In admin mode, it shows a border, component name header, and settings popover.
|
|
3000
|
+
* The host element is found automatically by traversing up through the shadow DOM.
|
|
3001
|
+
* Usage inside a component's render method:
|
|
3002
|
+
* ```tsx
|
|
3003
|
+
* render() {
|
|
3004
|
+
* return (
|
|
3005
|
+
* <le-component component="le-card">
|
|
3006
|
+
* <Host>...</Host>
|
|
3007
|
+
* </le-component>
|
|
3008
|
+
* );
|
|
3009
|
+
* }
|
|
3010
|
+
* ```
|
|
3011
|
+
* @cmsInternal true
|
|
3012
|
+
* @cmsCategory System
|
|
3013
|
+
*/
|
|
3014
|
+
interface LeComponent {
|
|
3015
|
+
/**
|
|
3016
|
+
* The tag name of the component (e.g., 'le-card'). Used to look up property metadata and display the component name.
|
|
3017
|
+
*/
|
|
3018
|
+
"component": string;
|
|
3019
|
+
/**
|
|
3020
|
+
* Optional display name for the component. If not provided, the tag name will be formatted as the display name.
|
|
3021
|
+
*/
|
|
3022
|
+
"displayName"?: string;
|
|
3023
|
+
/**
|
|
3024
|
+
* Classes to apply to the host element. Allows parent components to pass their styling classes.
|
|
3025
|
+
*/
|
|
3026
|
+
"hostClass"?: string;
|
|
3027
|
+
/**
|
|
3028
|
+
* Inline styles to apply to the host element. Allows parent components to pass dynamic styles (e.g., flex properties).
|
|
3029
|
+
*/
|
|
3030
|
+
"hostStyle"?: { [key: string]: string };
|
|
3031
|
+
}
|
|
3032
|
+
/**
|
|
3033
|
+
* Shows a "smart" header title based on what has scrolled out of view.
|
|
3034
|
+
* When `selector` matches multiple elements, the title becomes the last element
|
|
3035
|
+
* (top-to-bottom) that has fully scrolled out above the viewport.
|
|
3036
|
+
* @csspart title - The rendered title
|
|
3037
|
+
* @cmsEditable true
|
|
3038
|
+
* @cmsCategory Layout
|
|
3039
|
+
*/
|
|
3040
|
+
interface LeCurrentHeading {
|
|
3041
|
+
/**
|
|
3042
|
+
* CSS selector for page title/headings to watch (e.g. `.page-title`, `main h2`).
|
|
3043
|
+
* @default ''
|
|
3044
|
+
*/
|
|
3045
|
+
"selector"?: string;
|
|
3046
|
+
}
|
|
3047
|
+
/**
|
|
3048
|
+
* Internal dropdown base component that provides shared functionality
|
|
3049
|
+
* for select, combobox, and multiselect components.
|
|
3050
|
+
* Wraps le-popover for positioning and provides:
|
|
3051
|
+
* - Option list rendering with groups
|
|
3052
|
+
* - Keyboard navigation (↑↓, Enter, Escape, Home/End)
|
|
3053
|
+
* - Option filtering support
|
|
3054
|
+
* - Single and multi-select modes
|
|
3055
|
+
* @cmsInternal true
|
|
3056
|
+
* @cmsCategory System
|
|
3057
|
+
*/
|
|
3058
|
+
interface LeDropdownBase {
|
|
3059
|
+
/**
|
|
3060
|
+
* Whether to close the dropdown when clicking outside. (used to support combobox with input focus)
|
|
3061
|
+
* @default true
|
|
3062
|
+
*/
|
|
3063
|
+
"closeOnClickOutside"?: boolean;
|
|
3064
|
+
/**
|
|
3065
|
+
* Whether the dropdown is disabled.
|
|
3066
|
+
* @default false
|
|
3067
|
+
*/
|
|
3068
|
+
"disabled"?: boolean;
|
|
3069
|
+
/**
|
|
3070
|
+
* Placeholder text when no options match filter.
|
|
3071
|
+
* @default 'No options'
|
|
3072
|
+
*/
|
|
3073
|
+
"emptyText"?: string;
|
|
3074
|
+
/**
|
|
3075
|
+
* Filter function for options. Return true to include the option.
|
|
3076
|
+
*/
|
|
3077
|
+
"filterFn"?: (option: LeOption, query: string) => boolean;
|
|
3078
|
+
/**
|
|
3079
|
+
* Current filter query string.
|
|
3080
|
+
* @default ''
|
|
3081
|
+
*/
|
|
3082
|
+
"filterQuery"?: string;
|
|
3083
|
+
/**
|
|
3084
|
+
* Sets the dropdown to full width of the trigger.
|
|
3085
|
+
* @default false
|
|
3086
|
+
*/
|
|
3087
|
+
"fullWidth"?: boolean;
|
|
3088
|
+
/**
|
|
3089
|
+
* Maximum height of the dropdown list.
|
|
3090
|
+
* @default '300px'
|
|
3091
|
+
*/
|
|
3092
|
+
"maxHeight"?: string;
|
|
3093
|
+
/**
|
|
3094
|
+
* Whether multiple selection is allowed.
|
|
3095
|
+
* @default false
|
|
3096
|
+
*/
|
|
3097
|
+
"multiple"?: boolean;
|
|
3098
|
+
/**
|
|
3099
|
+
* Emitted when the dropdown closes.
|
|
3100
|
+
*/
|
|
3101
|
+
"onLeDropdownClose"?: (event: LeDropdownBaseCustomEvent<void>) => void;
|
|
3102
|
+
/**
|
|
3103
|
+
* Emitted when the dropdown opens.
|
|
3104
|
+
*/
|
|
3105
|
+
"onLeDropdownOpen"?: (event: LeDropdownBaseCustomEvent<void>) => void;
|
|
3106
|
+
/**
|
|
3107
|
+
* Emitted when an option is selected.
|
|
1181
3108
|
*/
|
|
1182
|
-
"
|
|
3109
|
+
"onLeOptionSelect"?: (event: LeDropdownBaseCustomEvent<LeOptionSelectDetail>) => void;
|
|
1183
3110
|
/**
|
|
1184
|
-
*
|
|
3111
|
+
* Whether the dropdown is open.
|
|
3112
|
+
* @default false
|
|
1185
3113
|
*/
|
|
1186
|
-
"
|
|
3114
|
+
"open"?: boolean;
|
|
1187
3115
|
/**
|
|
1188
|
-
*
|
|
3116
|
+
* The options to display in the dropdown.
|
|
3117
|
+
* @default []
|
|
1189
3118
|
*/
|
|
1190
|
-
"
|
|
3119
|
+
"options"?: LeOption[];
|
|
1191
3120
|
/**
|
|
1192
|
-
*
|
|
3121
|
+
* Whether to show checkboxes for multiselect mode.
|
|
3122
|
+
* @default true
|
|
1193
3123
|
*/
|
|
1194
|
-
"
|
|
3124
|
+
"showCheckboxes"?: boolean;
|
|
1195
3125
|
/**
|
|
1196
|
-
*
|
|
1197
|
-
* @min 0
|
|
1198
|
-
* @default 1
|
|
3126
|
+
* Current value(s) - single value or array for multiselect.
|
|
1199
3127
|
*/
|
|
1200
|
-
"
|
|
3128
|
+
"value"?: LeOptionValue | LeOptionValue[];
|
|
1201
3129
|
/**
|
|
1202
|
-
* Width of the
|
|
3130
|
+
* Width of the dropdown. If not set, matches trigger width.
|
|
1203
3131
|
*/
|
|
1204
3132
|
"width"?: string;
|
|
1205
3133
|
}
|
|
1206
3134
|
/**
|
|
1207
|
-
* A
|
|
1208
|
-
*
|
|
1209
|
-
*
|
|
1210
|
-
*
|
|
1211
|
-
*
|
|
1212
|
-
*
|
|
1213
|
-
*
|
|
1214
|
-
*
|
|
3135
|
+
* A functional page header with scroll-aware behaviors.
|
|
3136
|
+
* Features:
|
|
3137
|
+
* - Static (default), sticky, or fixed positioning
|
|
3138
|
+
* - Optional shrink-on-scroll behavior via `shrink-offset`
|
|
3139
|
+
* - Optional reveal-on-scroll-up via `reveal-on-scroll` (sticky only)
|
|
3140
|
+
* Slots:
|
|
3141
|
+
* - `start`: left side (logo/back button)
|
|
3142
|
+
* - `title`: centered/primary title content
|
|
3143
|
+
* - `end`: right side actions
|
|
3144
|
+
* - default: extra content row (e.g., tabs/search) rendered below main row
|
|
3145
|
+
* @cssprop --le-header-bg - Background (color/gradient)
|
|
3146
|
+
* @cssprop --le-header-color - Text color
|
|
3147
|
+
* @cssprop --le-header-border - Border (e.g. 1px solid ...)
|
|
3148
|
+
* @cssprop --le-header-shadow - Shadow/elevation
|
|
3149
|
+
* @cssprop --le-header-max-width - Inner content max width
|
|
3150
|
+
* @cssprop --le-header-padding-x - Horizontal padding
|
|
3151
|
+
* @cssprop --le-header-padding-y - Vertical padding
|
|
3152
|
+
* @cssprop --le-header-gap - Gap between zones
|
|
3153
|
+
* @cssprop --le-header-height - Base height (main row)
|
|
3154
|
+
* @cssprop --le-header-height-condensed - Condensed height when shrunk
|
|
3155
|
+
* @cssprop --le-header-transition - Transition timing
|
|
3156
|
+
* @cssprop --le-header-z - Z-index (fixed mode)
|
|
3157
|
+
* @csspart header - The header container
|
|
3158
|
+
* @csspart inner - Inner max-width container
|
|
3159
|
+
* @csspart row - Main row
|
|
3160
|
+
* @csspart start - Start zone
|
|
3161
|
+
* @csspart title - Title zone
|
|
3162
|
+
* @csspart end - End zone
|
|
3163
|
+
* @csspart secondary - Secondary row
|
|
1215
3164
|
* @cmsEditable true
|
|
1216
|
-
* @cmsCategory
|
|
3165
|
+
* @cmsCategory Layout
|
|
1217
3166
|
*/
|
|
1218
|
-
interface
|
|
1219
|
-
/**
|
|
1220
|
-
* Button color theme (uses theme semantic colors)
|
|
1221
|
-
* @allowedValues primary | secondary | success | warning | danger | info
|
|
1222
|
-
* @default 'primary'
|
|
1223
|
-
*/
|
|
1224
|
-
"color"?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
|
|
3167
|
+
interface LeHeader {
|
|
1225
3168
|
/**
|
|
1226
|
-
*
|
|
3169
|
+
* If true, expand the header when hovered
|
|
1227
3170
|
* @default false
|
|
1228
3171
|
*/
|
|
1229
|
-
"
|
|
3172
|
+
"expandOnHover"?: boolean;
|
|
1230
3173
|
/**
|
|
1231
|
-
*
|
|
3174
|
+
* Fixed positioning (out-of-flow). Takes precedence over `sticky`/`static`.
|
|
1232
3175
|
* @default false
|
|
1233
3176
|
*/
|
|
1234
|
-
"
|
|
1235
|
-
/**
|
|
1236
|
-
* Optional href to make the button act as a link
|
|
1237
|
-
*/
|
|
1238
|
-
"href"?: string;
|
|
3177
|
+
"fixed"?: boolean;
|
|
1239
3178
|
/**
|
|
1240
|
-
*
|
|
3179
|
+
* Force static positioning (default). Ignored if `sticky` or `fixed` are true.
|
|
1241
3180
|
* @default false
|
|
1242
3181
|
*/
|
|
1243
|
-
"
|
|
1244
|
-
/**
|
|
1245
|
-
* Mode of the popover should be 'default' for internal use
|
|
1246
|
-
*/
|
|
1247
|
-
"mode"?: 'default' | 'admin';
|
|
3182
|
+
"isStatic"?: boolean;
|
|
1248
3183
|
/**
|
|
1249
|
-
*
|
|
3184
|
+
* Emits when the header shrinks/expands (only on change).
|
|
1250
3185
|
*/
|
|
1251
|
-
"
|
|
3186
|
+
"onLeHeaderShrinkChange"?: (event: LeHeaderCustomEvent<{ shrunk: boolean; y: number }>) => void;
|
|
1252
3187
|
/**
|
|
1253
|
-
*
|
|
1254
|
-
* @default false
|
|
3188
|
+
* Emits whenever scroll-driven state changes.
|
|
1255
3189
|
*/
|
|
1256
|
-
"
|
|
3190
|
+
"onLeHeaderState"?: (event: LeHeaderCustomEvent<{
|
|
3191
|
+
y: number;
|
|
3192
|
+
direction: 'up' | 'down';
|
|
3193
|
+
revealed: boolean;
|
|
3194
|
+
shrunk: boolean;
|
|
3195
|
+
}>) => void;
|
|
1257
3196
|
/**
|
|
1258
|
-
*
|
|
1259
|
-
* @allowedValues small | medium | large
|
|
1260
|
-
* @default 'medium'
|
|
3197
|
+
* Emits when the header hides/shows (only on change).
|
|
1261
3198
|
*/
|
|
1262
|
-
"
|
|
3199
|
+
"onLeHeaderVisibilityChange"?: (event: LeHeaderCustomEvent<{ visible: boolean; y: number }>) => void;
|
|
1263
3200
|
/**
|
|
1264
|
-
*
|
|
3201
|
+
* Sticky-only reveal behavior (hide on scroll down, show on scroll up). - missing/false: disabled - true/empty attribute: enabled with default threshold (16) - number (as string): enabled and used as threshold
|
|
1265
3202
|
*/
|
|
1266
|
-
"
|
|
3203
|
+
"revealOnScroll"?: string;
|
|
1267
3204
|
/**
|
|
1268
|
-
*
|
|
1269
|
-
* @allowedValues button | submit | reset
|
|
1270
|
-
* @default 'button'
|
|
3205
|
+
* Shrink trigger. - missing/0: disabled - number (px): shrink when scrollY >= that value (but never before header height) - css var name (e.g. --foo): shrink when scrollY >= resolved var value - selector (e.g. .page-title): shrink when that element scrolls out of view above the viewport
|
|
1271
3206
|
*/
|
|
1272
|
-
"
|
|
3207
|
+
"shrinkOffset"?: string;
|
|
1273
3208
|
/**
|
|
1274
|
-
*
|
|
1275
|
-
* @
|
|
1276
|
-
* @default 'solid'
|
|
3209
|
+
* Sticky positioning (in-flow). Ignored if `fixed` is true.
|
|
3210
|
+
* @default false
|
|
1277
3211
|
*/
|
|
1278
|
-
"
|
|
3212
|
+
"sticky"?: boolean;
|
|
1279
3213
|
}
|
|
1280
3214
|
/**
|
|
1281
|
-
*
|
|
1282
|
-
*
|
|
1283
|
-
*
|
|
1284
|
-
* le-
|
|
1285
|
-
* @
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
*
|
|
1291
|
-
*
|
|
1292
|
-
* @csspart footer - The card footer section
|
|
3215
|
+
* Placeholder for `le-header`.
|
|
3216
|
+
* Reserves space using the global CSS variable `--le-header-height`.
|
|
3217
|
+
* The header component updates that variable when it renders.
|
|
3218
|
+
* @cssprop --le-header-height - Published header height (px)
|
|
3219
|
+
* @cmsInternal true
|
|
3220
|
+
*/
|
|
3221
|
+
interface LeHeaderPlaceholder {
|
|
3222
|
+
}
|
|
3223
|
+
/**
|
|
3224
|
+
* A multiselect component for selecting multiple options.
|
|
3225
|
+
* Displays selected items as tags with optional search filtering.
|
|
1293
3226
|
* @cmsEditable true
|
|
1294
|
-
* @cmsCategory
|
|
3227
|
+
* @cmsCategory Form
|
|
3228
|
+
* @example Basic multiselect
|
|
3229
|
+
* ```html
|
|
3230
|
+
* <le-multiselect
|
|
3231
|
+
* placeholder="Select options..."
|
|
3232
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
3233
|
+
* ></le-multiselect>
|
|
3234
|
+
* ```
|
|
3235
|
+
* @example With max selections
|
|
3236
|
+
* ```html
|
|
3237
|
+
* <le-multiselect
|
|
3238
|
+
* max-selections="3"
|
|
3239
|
+
* options='[{"label": "Option 1"}, {"label": "Option 2"}, {"label": "Option 3"}, {"label": "Option 4"}]'
|
|
3240
|
+
* ></le-multiselect>
|
|
3241
|
+
* ```
|
|
3242
|
+
* @example With search
|
|
3243
|
+
* ```html
|
|
3244
|
+
* <le-multiselect
|
|
3245
|
+
* searchable
|
|
3246
|
+
* placeholder="Search and select..."
|
|
3247
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
3248
|
+
* ></le-multiselect>
|
|
3249
|
+
* ```
|
|
1295
3250
|
*/
|
|
1296
|
-
interface
|
|
3251
|
+
interface LeMultiselect {
|
|
1297
3252
|
/**
|
|
1298
|
-
* Whether the
|
|
3253
|
+
* Whether the multiselect is disabled.
|
|
1299
3254
|
* @default false
|
|
1300
3255
|
*/
|
|
1301
|
-
"
|
|
3256
|
+
"disabled"?: boolean;
|
|
1302
3257
|
/**
|
|
1303
|
-
*
|
|
1304
|
-
* @
|
|
1305
|
-
* @default 'default'
|
|
3258
|
+
* Text to show when no options match the search.
|
|
3259
|
+
* @default 'No results found'
|
|
1306
3260
|
*/
|
|
1307
|
-
"
|
|
1308
|
-
}
|
|
1309
|
-
/**
|
|
1310
|
-
* A checkbox component with support for labels, descriptions, and external IDs.
|
|
1311
|
-
* @cssprop --le-checkbox-size - Size of the checkbox input
|
|
1312
|
-
* @cssprop --le-checkbox-color - Color of the checkbox when checked
|
|
1313
|
-
* @cssprop --le-checkbox-label-color - Color of the label text
|
|
1314
|
-
* @cssprop --le-checkbox-desc-color - Color of the description text
|
|
1315
|
-
*/
|
|
1316
|
-
interface LeCheckbox {
|
|
3261
|
+
"emptyText"?: string;
|
|
1317
3262
|
/**
|
|
1318
|
-
* Whether the
|
|
3263
|
+
* Whether the multiselect should take full width of its container.
|
|
1319
3264
|
* @default false
|
|
1320
3265
|
*/
|
|
1321
|
-
"
|
|
3266
|
+
"fullWidth"?: boolean;
|
|
1322
3267
|
/**
|
|
1323
|
-
*
|
|
1324
|
-
* @default false
|
|
3268
|
+
* Maximum number of selections allowed.
|
|
1325
3269
|
*/
|
|
1326
|
-
"
|
|
3270
|
+
"maxSelections"?: number;
|
|
1327
3271
|
/**
|
|
1328
|
-
*
|
|
3272
|
+
* Name attribute for form submission.
|
|
1329
3273
|
*/
|
|
1330
|
-
"
|
|
3274
|
+
"name"?: string;
|
|
1331
3275
|
/**
|
|
1332
|
-
*
|
|
3276
|
+
* Emitted when the selected values change.
|
|
1333
3277
|
*/
|
|
1334
|
-
"
|
|
3278
|
+
"onLeChange"?: (event: LeMultiselectCustomEvent<LeMultiOptionSelectDetail>) => void;
|
|
1335
3279
|
/**
|
|
1336
|
-
* Emitted when the
|
|
3280
|
+
* Emitted when the dropdown closes.
|
|
1337
3281
|
*/
|
|
1338
|
-
"
|
|
3282
|
+
"onLeClose"?: (event: LeMultiselectCustomEvent<void>) => void;
|
|
1339
3283
|
/**
|
|
1340
|
-
*
|
|
3284
|
+
* Emitted when the dropdown opens.
|
|
1341
3285
|
*/
|
|
1342
|
-
"
|
|
1343
|
-
}
|
|
1344
|
-
/**
|
|
1345
|
-
* Component wrapper for admin mode editing.
|
|
1346
|
-
* This component is used internally by other components to provide admin-mode
|
|
1347
|
-
* editing capabilities. It wraps the component's rendered output and shows
|
|
1348
|
-
* a settings popover for editing properties.
|
|
1349
|
-
* In default mode, it acts as a simple passthrough (display: contents).
|
|
1350
|
-
* In admin mode, it shows a border, component name header, and settings popover.
|
|
1351
|
-
* The host element is found automatically by traversing up through the shadow DOM.
|
|
1352
|
-
* Usage inside a component's render method:
|
|
1353
|
-
* ```tsx
|
|
1354
|
-
* render() {
|
|
1355
|
-
* return (
|
|
1356
|
-
* <le-component component="le-card">
|
|
1357
|
-
* <Host>...</Host>
|
|
1358
|
-
* </le-component>
|
|
1359
|
-
* );
|
|
1360
|
-
* }
|
|
1361
|
-
* ```
|
|
1362
|
-
* @cmsInternal true
|
|
1363
|
-
* @cmsCategory System
|
|
1364
|
-
*/
|
|
1365
|
-
interface LeComponent {
|
|
3286
|
+
"onLeOpen"?: (event: LeMultiselectCustomEvent<void>) => void;
|
|
1366
3287
|
/**
|
|
1367
|
-
*
|
|
3288
|
+
* Whether the dropdown is currently open.
|
|
3289
|
+
* @default false
|
|
1368
3290
|
*/
|
|
1369
|
-
"
|
|
3291
|
+
"open"?: boolean;
|
|
1370
3292
|
/**
|
|
1371
|
-
*
|
|
3293
|
+
* The options to display in the dropdown.
|
|
3294
|
+
* @default []
|
|
1372
3295
|
*/
|
|
1373
|
-
"
|
|
3296
|
+
"options"?: LeOption[] | string;
|
|
1374
3297
|
/**
|
|
1375
|
-
*
|
|
3298
|
+
* Placeholder text when no options are selected.
|
|
3299
|
+
* @default 'Select options...'
|
|
1376
3300
|
*/
|
|
1377
|
-
"
|
|
3301
|
+
"placeholder"?: string;
|
|
1378
3302
|
/**
|
|
1379
|
-
*
|
|
3303
|
+
* Whether selection is required.
|
|
3304
|
+
* @default false
|
|
1380
3305
|
*/
|
|
1381
|
-
"
|
|
3306
|
+
"required"?: boolean;
|
|
3307
|
+
/**
|
|
3308
|
+
* Whether the input is searchable.
|
|
3309
|
+
* @default false
|
|
3310
|
+
*/
|
|
3311
|
+
"searchable"?: boolean;
|
|
3312
|
+
/**
|
|
3313
|
+
* Whether to show a "Select All" option. Also accepts a string or array of strings to customize the label(s).
|
|
3314
|
+
* @default false
|
|
3315
|
+
*/
|
|
3316
|
+
"showSelectAll"?: boolean | string | string[];
|
|
3317
|
+
/**
|
|
3318
|
+
* Size variant of the multiselect.
|
|
3319
|
+
* @default 'medium'
|
|
3320
|
+
*/
|
|
3321
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
3322
|
+
/**
|
|
3323
|
+
* The currently selected values.
|
|
3324
|
+
* @default []
|
|
3325
|
+
*/
|
|
3326
|
+
"value"?: LeOptionValue[];
|
|
1382
3327
|
}
|
|
1383
3328
|
/**
|
|
1384
3329
|
* A number input component with validation, keyboard controls, and custom spinners.
|
|
@@ -1461,6 +3406,8 @@ declare namespace LocalJSX {
|
|
|
1461
3406
|
* A popover component for displaying floating content.
|
|
1462
3407
|
* Uses the native HTML Popover API for proper layering with dialogs
|
|
1463
3408
|
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
3409
|
+
* @csspart trigger - The popover trigger element
|
|
3410
|
+
* @csspart content - The popover content wrapper
|
|
1464
3411
|
* @cmsInternal true
|
|
1465
3412
|
* @cmsCategory System
|
|
1466
3413
|
*/
|
|
@@ -1525,6 +3472,11 @@ declare namespace LocalJSX {
|
|
|
1525
3472
|
* @default true
|
|
1526
3473
|
*/
|
|
1527
3474
|
"showClose"?: boolean;
|
|
3475
|
+
/**
|
|
3476
|
+
* Should the popover's trigger take full width of its container
|
|
3477
|
+
* @default false
|
|
3478
|
+
*/
|
|
3479
|
+
"triggerFullWidth"?: boolean;
|
|
1528
3480
|
/**
|
|
1529
3481
|
* Fixed width for the popover (e.g., '300px', '20rem')
|
|
1530
3482
|
*/
|
|
@@ -1533,7 +3485,7 @@ declare namespace LocalJSX {
|
|
|
1533
3485
|
/**
|
|
1534
3486
|
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
1535
3487
|
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
1536
|
-
* and focus management. Can be used declaratively in HTML or programmatically
|
|
3488
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
1537
3489
|
* via leAlert(), leConfirm(), lePrompt().
|
|
1538
3490
|
* @cmsInternal true
|
|
1539
3491
|
* @cmsCategory System
|
|
@@ -1568,6 +3520,11 @@ declare namespace LocalJSX {
|
|
|
1568
3520
|
* @default true
|
|
1569
3521
|
*/
|
|
1570
3522
|
"modal"?: boolean;
|
|
3523
|
+
/**
|
|
3524
|
+
* The mode of the Le Kit (e.g., 'default' or 'admin')
|
|
3525
|
+
* @default 'default'
|
|
3526
|
+
*/
|
|
3527
|
+
"mode"?: LeKitMode;
|
|
1571
3528
|
/**
|
|
1572
3529
|
* Emitted when the popup is cancelled (Cancel clicked or dismissed)
|
|
1573
3530
|
*/
|
|
@@ -1611,14 +3568,189 @@ declare namespace LocalJSX {
|
|
|
1611
3568
|
}
|
|
1612
3569
|
interface LeRoundProgress {
|
|
1613
3570
|
/**
|
|
1614
|
-
* @default 0
|
|
3571
|
+
* @default 0
|
|
3572
|
+
*/
|
|
3573
|
+
"padding"?: number;
|
|
3574
|
+
"paths"?: string;
|
|
3575
|
+
/**
|
|
3576
|
+
* @default 0
|
|
3577
|
+
*/
|
|
3578
|
+
"value"?: number;
|
|
3579
|
+
}
|
|
3580
|
+
/**
|
|
3581
|
+
* Displays scroll progress as a simple bar.
|
|
3582
|
+
* If `track-scroll-progress` is present without a value, tracks the full document.
|
|
3583
|
+
* If it is a selector string, tracks progress within the matched element.
|
|
3584
|
+
* @cssprop --le-scroll-progress-height - Bar height
|
|
3585
|
+
* @cssprop --le-scroll-progress-bg - Track background
|
|
3586
|
+
* @cssprop --le-scroll-progress-fill - Fill color
|
|
3587
|
+
* @cssprop --le-scroll-progress-sticky-top - If sticky, stop position to parent top
|
|
3588
|
+
* @cssprop --le-scroll-progress-fixed-top - If fixed, distance from window top
|
|
3589
|
+
* @cssprop --le-scroll-progress-fixed-left - If fixed, distance from window left
|
|
3590
|
+
* @cssprop --le-scroll-progress-fixed-right - If fixed, distance from window right
|
|
3591
|
+
* @cssprop --le-scroll-progress-z - Z-index of the progress bar (1001 by default, above header)
|
|
3592
|
+
* @csspart track - Outer track
|
|
3593
|
+
* @csspart fill - Inner fill
|
|
3594
|
+
* @cmsEditable true
|
|
3595
|
+
* @cmsCategory Layout
|
|
3596
|
+
*/
|
|
3597
|
+
interface LeScrollProgress {
|
|
3598
|
+
/**
|
|
3599
|
+
* Boolean or selector string.
|
|
3600
|
+
*/
|
|
3601
|
+
"trackScrollProgress"?: string;
|
|
3602
|
+
}
|
|
3603
|
+
/**
|
|
3604
|
+
* A segmented control component (iOS-style toggle buttons).
|
|
3605
|
+
* Perfect for toggling between a small set of related options.
|
|
3606
|
+
* @cssprop --le-segmented-bg - Background color of the control
|
|
3607
|
+
* @cssprop --le-segmented-padding - Padding around segments
|
|
3608
|
+
* @cssprop --le-segmented-gap - Gap between segments
|
|
3609
|
+
* @cssprop --le-segmented-radius - Border radius of the control
|
|
3610
|
+
* @csspart container - The main container
|
|
3611
|
+
* @csspart segment - Individual segment buttons
|
|
3612
|
+
* @csspart segment-active - The currently active segment
|
|
3613
|
+
* @cmsEditable true
|
|
3614
|
+
* @cmsCategory Form
|
|
3615
|
+
*/
|
|
3616
|
+
interface LeSegmentedControl {
|
|
3617
|
+
/**
|
|
3618
|
+
* Whether the control is disabled.
|
|
3619
|
+
* @default false
|
|
3620
|
+
*/
|
|
3621
|
+
"disabled"?: boolean;
|
|
3622
|
+
/**
|
|
3623
|
+
* Whether the control should take full width.
|
|
3624
|
+
* @default false
|
|
3625
|
+
*/
|
|
3626
|
+
"fullWidth"?: boolean;
|
|
3627
|
+
/**
|
|
3628
|
+
* Emitted when the selection changes.
|
|
3629
|
+
*/
|
|
3630
|
+
"onLeChange"?: (event: LeSegmentedControlCustomEvent<LeOptionSelectDetail>) => void;
|
|
3631
|
+
/**
|
|
3632
|
+
* Array of options for the segmented control.
|
|
3633
|
+
* @default []
|
|
3634
|
+
*/
|
|
3635
|
+
"options"?: LeOption[];
|
|
3636
|
+
/**
|
|
3637
|
+
* Scroll behavior for overflowing tabs.
|
|
3638
|
+
* @allowedValues auto | hidden | visible | scroll
|
|
3639
|
+
* @default 'auto'
|
|
3640
|
+
*/
|
|
3641
|
+
"overflow"?: 'auto' | 'hidden' | 'visible' | 'scroll';
|
|
3642
|
+
/**
|
|
3643
|
+
* Size of the control.
|
|
3644
|
+
* @allowedValues small | medium | large
|
|
3645
|
+
* @default 'medium'
|
|
3646
|
+
*/
|
|
3647
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
3648
|
+
/**
|
|
3649
|
+
* The value of the currently selected option.
|
|
3650
|
+
*/
|
|
3651
|
+
"value"?: LeOptionValue;
|
|
3652
|
+
}
|
|
3653
|
+
/**
|
|
3654
|
+
* A select dropdown component for single selection.
|
|
3655
|
+
* @cmsEditable true
|
|
3656
|
+
* @cmsCategory Form
|
|
3657
|
+
* @example Basic select
|
|
3658
|
+
* ```html
|
|
3659
|
+
* <le-select
|
|
3660
|
+
* placeholder="Choose an option"
|
|
3661
|
+
* options='[{"label": "Option 1", "value": "1"}, {"label": "Option 2", "value": "2"}]'
|
|
3662
|
+
* ></le-select>
|
|
3663
|
+
* ```
|
|
3664
|
+
* @example With icons
|
|
3665
|
+
* ```html
|
|
3666
|
+
* <le-select
|
|
3667
|
+
* options='[
|
|
3668
|
+
* {"label": "Apple", "value": "apple", "iconStart": "🍎"},
|
|
3669
|
+
* {"label": "Banana", "value": "banana", "iconStart": "🍌"}
|
|
3670
|
+
* ]'
|
|
3671
|
+
* ></le-select>
|
|
3672
|
+
* ```
|
|
3673
|
+
* @example Grouped options
|
|
3674
|
+
* ```html
|
|
3675
|
+
* <le-select
|
|
3676
|
+
* options='[
|
|
3677
|
+
* {"label": "Apple", "value": "apple", "group": "Fruits"},
|
|
3678
|
+
* {"label": "Carrot", "value": "carrot", "group": "Vegetables"}
|
|
3679
|
+
* ]'
|
|
3680
|
+
* ></le-select>
|
|
3681
|
+
* ```
|
|
3682
|
+
*/
|
|
3683
|
+
interface LeSelect {
|
|
3684
|
+
/**
|
|
3685
|
+
* Whether the select is disabled.
|
|
3686
|
+
* @default false
|
|
3687
|
+
*/
|
|
3688
|
+
"disabled"?: boolean;
|
|
3689
|
+
/**
|
|
3690
|
+
* Text to show when no options match the search.
|
|
3691
|
+
* @default 'No results found'
|
|
3692
|
+
*/
|
|
3693
|
+
"emptyText"?: string;
|
|
3694
|
+
/**
|
|
3695
|
+
* Whether the select should take full width of its container.
|
|
3696
|
+
* @default false
|
|
3697
|
+
*/
|
|
3698
|
+
"fullWidth"?: boolean;
|
|
3699
|
+
/**
|
|
3700
|
+
* Name attribute for form submission.
|
|
3701
|
+
*/
|
|
3702
|
+
"name"?: string;
|
|
3703
|
+
/**
|
|
3704
|
+
* Emitted when the selected value changes.
|
|
3705
|
+
*/
|
|
3706
|
+
"onLeChange"?: (event: LeSelectCustomEvent<LeOptionSelectDetail>) => void;
|
|
3707
|
+
/**
|
|
3708
|
+
* Emitted when the dropdown closes.
|
|
3709
|
+
*/
|
|
3710
|
+
"onLeClose"?: (event: LeSelectCustomEvent<void>) => void;
|
|
3711
|
+
/**
|
|
3712
|
+
* Emitted when the dropdown opens.
|
|
3713
|
+
*/
|
|
3714
|
+
"onLeOpen"?: (event: LeSelectCustomEvent<void>) => void;
|
|
3715
|
+
/**
|
|
3716
|
+
* Whether the dropdown is currently open.
|
|
3717
|
+
* @default false
|
|
3718
|
+
*/
|
|
3719
|
+
"open"?: boolean;
|
|
3720
|
+
/**
|
|
3721
|
+
* The options to display in the dropdown.
|
|
3722
|
+
* @default []
|
|
3723
|
+
*/
|
|
3724
|
+
"options"?: LeOption[] | string;
|
|
3725
|
+
/**
|
|
3726
|
+
* Placeholder text when no option is selected.
|
|
3727
|
+
* @default 'Select an option'
|
|
3728
|
+
*/
|
|
3729
|
+
"placeholder"?: string;
|
|
3730
|
+
/**
|
|
3731
|
+
* Whether selection is required.
|
|
3732
|
+
* @default false
|
|
3733
|
+
*/
|
|
3734
|
+
"required"?: boolean;
|
|
3735
|
+
/**
|
|
3736
|
+
* Whether the input is searchable.
|
|
3737
|
+
* @default false
|
|
3738
|
+
*/
|
|
3739
|
+
"searchable"?: boolean;
|
|
3740
|
+
/**
|
|
3741
|
+
* Size variant of the select.
|
|
3742
|
+
* @default 'medium'
|
|
3743
|
+
*/
|
|
3744
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
3745
|
+
/**
|
|
3746
|
+
* The currently selected value.
|
|
1615
3747
|
*/
|
|
1616
|
-
"
|
|
1617
|
-
"paths"?: string;
|
|
3748
|
+
"value"?: LeOptionValue;
|
|
1618
3749
|
/**
|
|
1619
|
-
*
|
|
3750
|
+
* Visual variant of the select.
|
|
3751
|
+
* @default 'default'
|
|
1620
3752
|
*/
|
|
1621
|
-
"
|
|
3753
|
+
"variant"?: 'default' | 'outlined' | 'solid';
|
|
1622
3754
|
}
|
|
1623
3755
|
/**
|
|
1624
3756
|
* Slot placeholder component for admin/CMS mode.
|
|
@@ -1769,6 +3901,11 @@ declare namespace LocalJSX {
|
|
|
1769
3901
|
* External ID for linking with external systems
|
|
1770
3902
|
*/
|
|
1771
3903
|
"externalId"?: string;
|
|
3904
|
+
/**
|
|
3905
|
+
* Hide description slot
|
|
3906
|
+
* @default false
|
|
3907
|
+
*/
|
|
3908
|
+
"hideDescription"?: boolean;
|
|
1772
3909
|
/**
|
|
1773
3910
|
* Icon for the end icon
|
|
1774
3911
|
*/
|
|
@@ -1777,6 +3914,10 @@ declare namespace LocalJSX {
|
|
|
1777
3914
|
* Icon for the start icon
|
|
1778
3915
|
*/
|
|
1779
3916
|
"iconStart"?: string;
|
|
3917
|
+
/**
|
|
3918
|
+
* Pass the ref of the input element to the parent component
|
|
3919
|
+
*/
|
|
3920
|
+
"inputRef"?: (el: HTMLInputElement) => void;
|
|
1780
3921
|
/**
|
|
1781
3922
|
* Label for the input
|
|
1782
3923
|
*/
|
|
@@ -1792,11 +3933,19 @@ declare namespace LocalJSX {
|
|
|
1792
3933
|
/**
|
|
1793
3934
|
* Emitted when the value changes (on blur or Enter)
|
|
1794
3935
|
*/
|
|
1795
|
-
"onChange"?: (event: LeStringInputCustomEvent<{
|
|
3936
|
+
"onChange"?: (event: LeStringInputCustomEvent<{
|
|
3937
|
+
value: string;
|
|
3938
|
+
name: string;
|
|
3939
|
+
externalId: string;
|
|
3940
|
+
}>) => void;
|
|
1796
3941
|
/**
|
|
1797
3942
|
* Emitted when the input value changes (on keystroke)
|
|
1798
3943
|
*/
|
|
1799
|
-
"onInput"?: (event: LeStringInputCustomEvent<{
|
|
3944
|
+
"onInput"?: (event: LeStringInputCustomEvent<{
|
|
3945
|
+
value: string;
|
|
3946
|
+
name: string;
|
|
3947
|
+
externalId: string;
|
|
3948
|
+
}>) => void;
|
|
1800
3949
|
/**
|
|
1801
3950
|
* Placeholder text
|
|
1802
3951
|
*/
|
|
@@ -1816,6 +3965,344 @@ declare namespace LocalJSX {
|
|
|
1816
3965
|
*/
|
|
1817
3966
|
"value"?: string;
|
|
1818
3967
|
}
|
|
3968
|
+
/**
|
|
3969
|
+
* A flexible tab component with multiple variants and states.
|
|
3970
|
+
* @cssprop --le-tab-bg - Tab background color
|
|
3971
|
+
* @cssprop --le-tab-color - Tab text color
|
|
3972
|
+
* @cssprop --le-tab-border-radius - Tab border radius
|
|
3973
|
+
* @cssprop --le-tab-padding-x - Tab horizontal padding
|
|
3974
|
+
* @cssprop --le-tab-padding-y - Tab vertical padding
|
|
3975
|
+
* @csspart button - The native button element
|
|
3976
|
+
* @csspart content - The tab content wrapper
|
|
3977
|
+
* @csspart icon-start - The start icon slot
|
|
3978
|
+
* @csspart icon-end - The end icon slot
|
|
3979
|
+
* @cmsEditable true
|
|
3980
|
+
* @cmsCategory Actions
|
|
3981
|
+
*/
|
|
3982
|
+
interface LeTab {
|
|
3983
|
+
/**
|
|
3984
|
+
* Alignment of the tab label without the end icon
|
|
3985
|
+
* @allowedValues start | center | space-between | end
|
|
3986
|
+
* @default 'center'
|
|
3987
|
+
*/
|
|
3988
|
+
"align"?: 'start' | 'center' | 'space-between' | 'end';
|
|
3989
|
+
/**
|
|
3990
|
+
* Whether the tab is disabled
|
|
3991
|
+
* @default false
|
|
3992
|
+
*/
|
|
3993
|
+
"disabled"?: boolean;
|
|
3994
|
+
/**
|
|
3995
|
+
* Whether the tab can get focus needed for accessibility when used in custom tab implementations
|
|
3996
|
+
* @default true
|
|
3997
|
+
*/
|
|
3998
|
+
"focusable"?: boolean;
|
|
3999
|
+
/**
|
|
4000
|
+
* Whether the tab takes full width of its container
|
|
4001
|
+
* @default false
|
|
4002
|
+
*/
|
|
4003
|
+
"fullWidth"?: boolean;
|
|
4004
|
+
/**
|
|
4005
|
+
* Optional href to make the tab act as a link
|
|
4006
|
+
*/
|
|
4007
|
+
"href"?: string;
|
|
4008
|
+
/**
|
|
4009
|
+
* Icon only tab image or emoji if this prop is set, the tab will render only the icon slot
|
|
4010
|
+
*/
|
|
4011
|
+
"icon"?: string | Node;
|
|
4012
|
+
/**
|
|
4013
|
+
* End icon image or emoji
|
|
4014
|
+
*/
|
|
4015
|
+
"iconEnd"?: string | Node;
|
|
4016
|
+
/**
|
|
4017
|
+
* Start icon image or emoji
|
|
4018
|
+
*/
|
|
4019
|
+
"iconStart"?: string | Node;
|
|
4020
|
+
/**
|
|
4021
|
+
* Label if it is not provided via slot
|
|
4022
|
+
*/
|
|
4023
|
+
"label"?: string;
|
|
4024
|
+
/**
|
|
4025
|
+
* Mode of the popover should be 'default' for internal use
|
|
4026
|
+
*/
|
|
4027
|
+
"mode"?: 'default' | 'admin';
|
|
4028
|
+
/**
|
|
4029
|
+
* Emitted when the tab is clicked. This is a custom event that wraps the native click but ensures the target is the le-tab.
|
|
4030
|
+
*/
|
|
4031
|
+
"onClick"?: (event: LeTabCustomEvent<PointerEvent>) => void;
|
|
4032
|
+
/**
|
|
4033
|
+
* Position of the tabs when used within a le-tabs component
|
|
4034
|
+
* @allowedValues top | bottom | start | end
|
|
4035
|
+
* @default 'top'
|
|
4036
|
+
*/
|
|
4037
|
+
"position"?: 'top' | 'bottom' | 'start' | 'end';
|
|
4038
|
+
/**
|
|
4039
|
+
* Whether the tab is in a selected/active state
|
|
4040
|
+
* @default false
|
|
4041
|
+
*/
|
|
4042
|
+
"selected"?: boolean;
|
|
4043
|
+
/**
|
|
4044
|
+
* Whether to show the label when in icon-only mode
|
|
4045
|
+
* @default false
|
|
4046
|
+
*/
|
|
4047
|
+
"showLabel"?: boolean;
|
|
4048
|
+
/**
|
|
4049
|
+
* Tab size
|
|
4050
|
+
* @allowedValues small | medium | large
|
|
4051
|
+
* @default 'medium'
|
|
4052
|
+
*/
|
|
4053
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
4054
|
+
/**
|
|
4055
|
+
* Link target when href is set
|
|
4056
|
+
*/
|
|
4057
|
+
"target"?: string;
|
|
4058
|
+
/**
|
|
4059
|
+
* Value of the tab, defaults to label if not provided
|
|
4060
|
+
*/
|
|
4061
|
+
"value"?: string;
|
|
4062
|
+
/**
|
|
4063
|
+
* Tab variant style
|
|
4064
|
+
* @allowedValues solid | underlined | clear | enclosed | icon-only
|
|
4065
|
+
* @default 'underlined'
|
|
4066
|
+
*/
|
|
4067
|
+
"variant"?: 'underlined' | 'solid' | 'pills' | 'enclosed' | 'icon-only';
|
|
4068
|
+
}
|
|
4069
|
+
/**
|
|
4070
|
+
* A presentational tab bar component without panels.
|
|
4071
|
+
* Use this for navigation/routing scenarios where you manage the content
|
|
4072
|
+
* externally based on the selection events. For tabs with built-in panels,
|
|
4073
|
+
* use `le-tabs` instead.
|
|
4074
|
+
* @cssprop --le-tab-bar-border-color - Border color
|
|
4075
|
+
* @cssprop --le-tab-bar-gap - Gap between tabs
|
|
4076
|
+
* @cssprop --le-tab-bar-indicator-color - Active indicator color
|
|
4077
|
+
* @cssprop --le-tab-bar-padding-x - Horizontal padding for tabs
|
|
4078
|
+
* @cssprop --le-tab-bar-padding-y - Vertical padding for tabs
|
|
4079
|
+
* @csspart tablist - The tab button container
|
|
4080
|
+
* @csspart tab - Individual tab buttons
|
|
4081
|
+
* @csspart tab-active - The currently active tab
|
|
4082
|
+
* @cmsEditable true
|
|
4083
|
+
* @cmsCategory Navigation
|
|
4084
|
+
*/
|
|
4085
|
+
interface LeTabBar {
|
|
4086
|
+
/**
|
|
4087
|
+
* Whether to show a border below the tab bar.
|
|
4088
|
+
* @default true
|
|
4089
|
+
*/
|
|
4090
|
+
"bordered"?: boolean;
|
|
4091
|
+
/**
|
|
4092
|
+
* Whether tabs should stretch to fill available width.
|
|
4093
|
+
* @default true
|
|
4094
|
+
*/
|
|
4095
|
+
"fullWidth"?: boolean;
|
|
4096
|
+
/**
|
|
4097
|
+
* Emitted when the selected tab changes.
|
|
4098
|
+
*/
|
|
4099
|
+
"onLeTabChange"?: (event: LeTabBarCustomEvent<LeOptionSelectDetail>) => void;
|
|
4100
|
+
/**
|
|
4101
|
+
* Position of the tab bar.
|
|
4102
|
+
* @allowedValues top | bottom
|
|
4103
|
+
* @default 'top'
|
|
4104
|
+
*/
|
|
4105
|
+
"position"?: 'top' | 'bottom';
|
|
4106
|
+
/**
|
|
4107
|
+
* The value of the currently selected tab.
|
|
4108
|
+
*/
|
|
4109
|
+
"selected"?: LeOptionValue;
|
|
4110
|
+
/**
|
|
4111
|
+
* Whether to show labels in icon-only mode.
|
|
4112
|
+
* @default false
|
|
4113
|
+
*/
|
|
4114
|
+
"showLabels"?: boolean;
|
|
4115
|
+
/**
|
|
4116
|
+
* Size of the tabs.
|
|
4117
|
+
* @allowedValues small | medium | large
|
|
4118
|
+
* @default 'medium'
|
|
4119
|
+
*/
|
|
4120
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
4121
|
+
/**
|
|
4122
|
+
* Array of tab options defining the tabs to display.
|
|
4123
|
+
* @default []
|
|
4124
|
+
*/
|
|
4125
|
+
"tabs"?: LeOption[];
|
|
4126
|
+
}
|
|
4127
|
+
/**
|
|
4128
|
+
* A tab panel component used as a child of le-tabs.
|
|
4129
|
+
* Each le-tab-panel defines both the tab button label and the panel content.
|
|
4130
|
+
* The parent le-tabs component automatically reads these panels and creates
|
|
4131
|
+
* the tab interface.
|
|
4132
|
+
* @cmsEditable true
|
|
4133
|
+
* @cmsCategory Navigation
|
|
4134
|
+
*/
|
|
4135
|
+
interface LeTabPanel {
|
|
4136
|
+
/**
|
|
4137
|
+
* Whether this tab is disabled.
|
|
4138
|
+
* @default false
|
|
4139
|
+
*/
|
|
4140
|
+
"disabled"?: boolean;
|
|
4141
|
+
/**
|
|
4142
|
+
* Icon displayed at the end of the tab button.
|
|
4143
|
+
*/
|
|
4144
|
+
"iconEnd"?: string;
|
|
4145
|
+
/**
|
|
4146
|
+
* Icon displayed at the start of the tab button. Can be an emoji, URL, or icon class.
|
|
4147
|
+
*/
|
|
4148
|
+
"iconStart"?: string;
|
|
4149
|
+
/**
|
|
4150
|
+
* The label displayed in the tab button.
|
|
4151
|
+
*/
|
|
4152
|
+
"label": string;
|
|
4153
|
+
/**
|
|
4154
|
+
* Whether to render the panel content only when active (lazy loading). When true, content is not rendered until the tab is first selected. When false (default), content is always in DOM but hidden when inactive.
|
|
4155
|
+
* @default false
|
|
4156
|
+
*/
|
|
4157
|
+
"lazy"?: boolean;
|
|
4158
|
+
/**
|
|
4159
|
+
* The value used to identify this tab. Defaults to the label if not provided.
|
|
4160
|
+
*/
|
|
4161
|
+
"value"?: string;
|
|
4162
|
+
}
|
|
4163
|
+
/**
|
|
4164
|
+
* A flexible tabs component for organizing content into tabbed panels.
|
|
4165
|
+
* Supports two modes:
|
|
4166
|
+
* 1. **Declarative**: Use `<le-tab-panel>` children to define tabs and content
|
|
4167
|
+
* 2. **Programmatic**: Use the `tabs` prop with named slots for content
|
|
4168
|
+
* Full keyboard navigation and ARIA support included.
|
|
4169
|
+
* @cssprop --le-tabs-border-color - Border color for tab list
|
|
4170
|
+
* @cssprop --le-tabs-gap - Gap between tabs
|
|
4171
|
+
* @cssprop --le-tabs-indicator-color - Active tab indicator color
|
|
4172
|
+
* @cssprop --le-tabs-padding-x - Horizontal padding for tab buttons
|
|
4173
|
+
* @cssprop --le-tabs-padding-y - Vertical padding for tab buttons
|
|
4174
|
+
* @csspart tablist - The tab button container (role="tablist")
|
|
4175
|
+
* @csspart tab - Individual tab buttons
|
|
4176
|
+
* @csspart tab-active - The currently active tab
|
|
4177
|
+
* @csspart panels - Container for panel content
|
|
4178
|
+
* @csspart panel - Individual panel containers
|
|
4179
|
+
* @cmsEditable true
|
|
4180
|
+
* @cmsCategory Navigation
|
|
4181
|
+
*/
|
|
4182
|
+
interface LeTabs {
|
|
4183
|
+
/**
|
|
4184
|
+
* Whether tabs should stretch to fill available width.
|
|
4185
|
+
* @default false
|
|
4186
|
+
*/
|
|
4187
|
+
"fullWidth"?: boolean;
|
|
4188
|
+
/**
|
|
4189
|
+
* Emitted when the selected tab changes.
|
|
4190
|
+
*/
|
|
4191
|
+
"onLeTabChange"?: (event: LeTabsCustomEvent<LeOptionSelectDetail>) => void;
|
|
4192
|
+
/**
|
|
4193
|
+
* Orientation of the tabs.
|
|
4194
|
+
* @allowedValues horizontal | vertical
|
|
4195
|
+
* @default 'horizontal'
|
|
4196
|
+
*/
|
|
4197
|
+
"orientation"?: 'horizontal' | 'vertical';
|
|
4198
|
+
/**
|
|
4199
|
+
* Scroll behavior for overflowing tabs.
|
|
4200
|
+
* @allowedValues auto | hidden | visible | scroll
|
|
4201
|
+
* @default 'auto'
|
|
4202
|
+
*/
|
|
4203
|
+
"overflow"?: 'auto' | 'hidden' | 'visible' | 'scroll';
|
|
4204
|
+
/**
|
|
4205
|
+
* Position of the tabs relative to the panels.
|
|
4206
|
+
* @allowedValues start | end
|
|
4207
|
+
* @default 'start'
|
|
4208
|
+
*/
|
|
4209
|
+
"position"?: 'start' | 'end';
|
|
4210
|
+
/**
|
|
4211
|
+
* The value of the currently selected tab. If not provided, defaults to the first tab.
|
|
4212
|
+
*/
|
|
4213
|
+
"selected"?: LeOptionValue;
|
|
4214
|
+
/**
|
|
4215
|
+
* Size of the tabs.
|
|
4216
|
+
* @allowedValues sm | md | lg
|
|
4217
|
+
* @default 'medium'
|
|
4218
|
+
*/
|
|
4219
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
4220
|
+
/**
|
|
4221
|
+
* Array of tab options (programmatic mode). If le-tab-panel children exist, they take precedence.
|
|
4222
|
+
* @default []
|
|
4223
|
+
*/
|
|
4224
|
+
"tabs"?: LeOption[];
|
|
4225
|
+
/**
|
|
4226
|
+
* Tab variant style.
|
|
4227
|
+
* @allowedValues underlined | solid | pills | enclosed | icon-only
|
|
4228
|
+
* @default 'underlined'
|
|
4229
|
+
*/
|
|
4230
|
+
"variant"?: 'underlined' | 'solid' | 'pills' | 'enclosed' | 'icon-only';
|
|
4231
|
+
/**
|
|
4232
|
+
* Wrap the tabs if they exceed container width.
|
|
4233
|
+
* @default false
|
|
4234
|
+
*/
|
|
4235
|
+
"wrap"?: boolean;
|
|
4236
|
+
}
|
|
4237
|
+
/**
|
|
4238
|
+
* A tag/chip component for displaying labels with optional dismiss functionality.
|
|
4239
|
+
* @cmsEditable false
|
|
4240
|
+
* @cmsCategory Form
|
|
4241
|
+
* @example Basic tag
|
|
4242
|
+
* ```html
|
|
4243
|
+
* <le-tag label="JavaScript"></le-tag>
|
|
4244
|
+
* ```
|
|
4245
|
+
* @example Dismissible tag
|
|
4246
|
+
* ```html
|
|
4247
|
+
* <le-tag label="Remove me" dismissible></le-tag>
|
|
4248
|
+
* ```
|
|
4249
|
+
* @example With icon
|
|
4250
|
+
* ```html
|
|
4251
|
+
* <le-tag label="Settings" icon="⚙️"></le-tag>
|
|
4252
|
+
* ```
|
|
4253
|
+
* @example Different sizes
|
|
4254
|
+
* ```html
|
|
4255
|
+
* <le-tag label="Small" size="small"></le-tag>
|
|
4256
|
+
* <le-tag label="Medium" size="medium"></le-tag>
|
|
4257
|
+
* <le-tag label="Large" size="large"></le-tag>
|
|
4258
|
+
* ```
|
|
4259
|
+
* @example Different variants
|
|
4260
|
+
* ```html
|
|
4261
|
+
* <le-tag label="Default" variant="default"></le-tag>
|
|
4262
|
+
* <le-tag label="Primary" variant="primary"></le-tag>
|
|
4263
|
+
* <le-tag label="Success" variant="success"></le-tag>
|
|
4264
|
+
* <le-tag label="Warning" variant="warning"></le-tag>
|
|
4265
|
+
* <le-tag label="Danger" variant="danger"></le-tag>
|
|
4266
|
+
* ```
|
|
4267
|
+
*/
|
|
4268
|
+
interface LeTag {
|
|
4269
|
+
/**
|
|
4270
|
+
* Whether the tag is disabled.
|
|
4271
|
+
* @default false
|
|
4272
|
+
*/
|
|
4273
|
+
"disabled"?: boolean;
|
|
4274
|
+
/**
|
|
4275
|
+
* Whether the tag can be dismissed (shows close button).
|
|
4276
|
+
* @default false
|
|
4277
|
+
*/
|
|
4278
|
+
"dismissible"?: boolean;
|
|
4279
|
+
/**
|
|
4280
|
+
* Icon to display before the label. Can be an emoji, URL, or icon name.
|
|
4281
|
+
*/
|
|
4282
|
+
"icon"?: string;
|
|
4283
|
+
/**
|
|
4284
|
+
* The text label to display in the tag.
|
|
4285
|
+
*/
|
|
4286
|
+
"label"?: string;
|
|
4287
|
+
/**
|
|
4288
|
+
* Mode of the popover should be 'default' for internal use
|
|
4289
|
+
*/
|
|
4290
|
+
"mode"?: 'default' | 'admin';
|
|
4291
|
+
/**
|
|
4292
|
+
* Emitted when the dismiss button is clicked.
|
|
4293
|
+
*/
|
|
4294
|
+
"onLeDismiss"?: (event: LeTagCustomEvent<void>) => void;
|
|
4295
|
+
/**
|
|
4296
|
+
* The size of the tag.
|
|
4297
|
+
* @default 'medium'
|
|
4298
|
+
*/
|
|
4299
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
4300
|
+
/**
|
|
4301
|
+
* The visual variant of the tag.
|
|
4302
|
+
* @default 'default'
|
|
4303
|
+
*/
|
|
4304
|
+
"variant"?: 'default' | 'primary' | 'success' | 'warning' | 'danger';
|
|
4305
|
+
}
|
|
1819
4306
|
/**
|
|
1820
4307
|
* A text component with rich text editing capabilities in admin mode.
|
|
1821
4308
|
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
@@ -1871,14 +4358,29 @@ declare namespace LocalJSX {
|
|
|
1871
4358
|
"le-button": LeButton;
|
|
1872
4359
|
"le-card": LeCard;
|
|
1873
4360
|
"le-checkbox": LeCheckbox;
|
|
4361
|
+
"le-collapse": LeCollapse;
|
|
4362
|
+
"le-combobox": LeCombobox;
|
|
1874
4363
|
"le-component": LeComponent;
|
|
4364
|
+
"le-current-heading": LeCurrentHeading;
|
|
4365
|
+
"le-dropdown-base": LeDropdownBase;
|
|
4366
|
+
"le-header": LeHeader;
|
|
4367
|
+
"le-header-placeholder": LeHeaderPlaceholder;
|
|
4368
|
+
"le-multiselect": LeMultiselect;
|
|
1875
4369
|
"le-number-input": LeNumberInput;
|
|
1876
4370
|
"le-popover": LePopover;
|
|
1877
4371
|
"le-popup": LePopup;
|
|
1878
4372
|
"le-round-progress": LeRoundProgress;
|
|
4373
|
+
"le-scroll-progress": LeScrollProgress;
|
|
4374
|
+
"le-segmented-control": LeSegmentedControl;
|
|
4375
|
+
"le-select": LeSelect;
|
|
1879
4376
|
"le-slot": LeSlot;
|
|
1880
4377
|
"le-stack": LeStack;
|
|
1881
4378
|
"le-string-input": LeStringInput;
|
|
4379
|
+
"le-tab": LeTab;
|
|
4380
|
+
"le-tab-bar": LeTabBar;
|
|
4381
|
+
"le-tab-panel": LeTabPanel;
|
|
4382
|
+
"le-tabs": LeTabs;
|
|
4383
|
+
"le-tag": LeTag;
|
|
1882
4384
|
"le-text": LeText;
|
|
1883
4385
|
"le-turntable": LeTurntable;
|
|
1884
4386
|
}
|
|
@@ -1909,6 +4411,8 @@ declare module "@stencil/core" {
|
|
|
1909
4411
|
* @cssprop --le-button-padding-y - Button vertical padding
|
|
1910
4412
|
* @csspart button - The native button element
|
|
1911
4413
|
* @csspart content - The button content wrapper
|
|
4414
|
+
* @csspart icon-start - The start icon slot
|
|
4415
|
+
* @csspart icon-end - The end icon slot
|
|
1912
4416
|
* @cmsEditable true
|
|
1913
4417
|
* @cmsCategory Actions
|
|
1914
4418
|
*/
|
|
@@ -1938,6 +4442,40 @@ declare module "@stencil/core" {
|
|
|
1938
4442
|
* @cssprop --le-checkbox-desc-color - Color of the description text
|
|
1939
4443
|
*/
|
|
1940
4444
|
"le-checkbox": LocalJSX.LeCheckbox & JSXBase.HTMLAttributes<HTMLLeCheckboxElement>;
|
|
4445
|
+
/**
|
|
4446
|
+
* Animated show/hide wrapper.
|
|
4447
|
+
* Supports height collapse (auto->0) and/or fading.
|
|
4448
|
+
* Can optionally listen to the nearest `le-header` shrink events.
|
|
4449
|
+
* @cssprop --le-collapse-duration - Transition duration
|
|
4450
|
+
* @csspart region - Collapsible region
|
|
4451
|
+
* @csspart content - Inner content
|
|
4452
|
+
* @cmsEditable true
|
|
4453
|
+
* @cmsCategory Layout
|
|
4454
|
+
*/
|
|
4455
|
+
"le-collapse": LocalJSX.LeCollapse & JSXBase.HTMLAttributes<HTMLLeCollapseElement>;
|
|
4456
|
+
/**
|
|
4457
|
+
* A combobox component with searchable dropdown.
|
|
4458
|
+
* Combines a text input with a dropdown list, allowing users to
|
|
4459
|
+
* filter options by typing or select from the list.
|
|
4460
|
+
* @cmsEditable true
|
|
4461
|
+
* @cmsCategory Form
|
|
4462
|
+
* @example Basic combobox
|
|
4463
|
+
* ```html
|
|
4464
|
+
* <le-combobox
|
|
4465
|
+
* placeholder="Search..."
|
|
4466
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
4467
|
+
* ></le-combobox>
|
|
4468
|
+
* ```
|
|
4469
|
+
* @example Allow custom values
|
|
4470
|
+
* ```html
|
|
4471
|
+
* <le-combobox
|
|
4472
|
+
* placeholder="Type or select..."
|
|
4473
|
+
* allow-custom
|
|
4474
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
4475
|
+
* ></le-combobox>
|
|
4476
|
+
* ```
|
|
4477
|
+
*/
|
|
4478
|
+
"le-combobox": LocalJSX.LeCombobox & JSXBase.HTMLAttributes<HTMLLeComboboxElement>;
|
|
1941
4479
|
/**
|
|
1942
4480
|
* Component wrapper for admin mode editing.
|
|
1943
4481
|
* This component is used internally by other components to provide admin-mode
|
|
@@ -1960,6 +4498,98 @@ declare module "@stencil/core" {
|
|
|
1960
4498
|
* @cmsCategory System
|
|
1961
4499
|
*/
|
|
1962
4500
|
"le-component": LocalJSX.LeComponent & JSXBase.HTMLAttributes<HTMLLeComponentElement>;
|
|
4501
|
+
/**
|
|
4502
|
+
* Shows a "smart" header title based on what has scrolled out of view.
|
|
4503
|
+
* When `selector` matches multiple elements, the title becomes the last element
|
|
4504
|
+
* (top-to-bottom) that has fully scrolled out above the viewport.
|
|
4505
|
+
* @csspart title - The rendered title
|
|
4506
|
+
* @cmsEditable true
|
|
4507
|
+
* @cmsCategory Layout
|
|
4508
|
+
*/
|
|
4509
|
+
"le-current-heading": LocalJSX.LeCurrentHeading & JSXBase.HTMLAttributes<HTMLLeCurrentHeadingElement>;
|
|
4510
|
+
/**
|
|
4511
|
+
* Internal dropdown base component that provides shared functionality
|
|
4512
|
+
* for select, combobox, and multiselect components.
|
|
4513
|
+
* Wraps le-popover for positioning and provides:
|
|
4514
|
+
* - Option list rendering with groups
|
|
4515
|
+
* - Keyboard navigation (↑↓, Enter, Escape, Home/End)
|
|
4516
|
+
* - Option filtering support
|
|
4517
|
+
* - Single and multi-select modes
|
|
4518
|
+
* @cmsInternal true
|
|
4519
|
+
* @cmsCategory System
|
|
4520
|
+
*/
|
|
4521
|
+
"le-dropdown-base": LocalJSX.LeDropdownBase & JSXBase.HTMLAttributes<HTMLLeDropdownBaseElement>;
|
|
4522
|
+
/**
|
|
4523
|
+
* A functional page header with scroll-aware behaviors.
|
|
4524
|
+
* Features:
|
|
4525
|
+
* - Static (default), sticky, or fixed positioning
|
|
4526
|
+
* - Optional shrink-on-scroll behavior via `shrink-offset`
|
|
4527
|
+
* - Optional reveal-on-scroll-up via `reveal-on-scroll` (sticky only)
|
|
4528
|
+
* Slots:
|
|
4529
|
+
* - `start`: left side (logo/back button)
|
|
4530
|
+
* - `title`: centered/primary title content
|
|
4531
|
+
* - `end`: right side actions
|
|
4532
|
+
* - default: extra content row (e.g., tabs/search) rendered below main row
|
|
4533
|
+
* @cssprop --le-header-bg - Background (color/gradient)
|
|
4534
|
+
* @cssprop --le-header-color - Text color
|
|
4535
|
+
* @cssprop --le-header-border - Border (e.g. 1px solid ...)
|
|
4536
|
+
* @cssprop --le-header-shadow - Shadow/elevation
|
|
4537
|
+
* @cssprop --le-header-max-width - Inner content max width
|
|
4538
|
+
* @cssprop --le-header-padding-x - Horizontal padding
|
|
4539
|
+
* @cssprop --le-header-padding-y - Vertical padding
|
|
4540
|
+
* @cssprop --le-header-gap - Gap between zones
|
|
4541
|
+
* @cssprop --le-header-height - Base height (main row)
|
|
4542
|
+
* @cssprop --le-header-height-condensed - Condensed height when shrunk
|
|
4543
|
+
* @cssprop --le-header-transition - Transition timing
|
|
4544
|
+
* @cssprop --le-header-z - Z-index (fixed mode)
|
|
4545
|
+
* @csspart header - The header container
|
|
4546
|
+
* @csspart inner - Inner max-width container
|
|
4547
|
+
* @csspart row - Main row
|
|
4548
|
+
* @csspart start - Start zone
|
|
4549
|
+
* @csspart title - Title zone
|
|
4550
|
+
* @csspart end - End zone
|
|
4551
|
+
* @csspart secondary - Secondary row
|
|
4552
|
+
* @cmsEditable true
|
|
4553
|
+
* @cmsCategory Layout
|
|
4554
|
+
*/
|
|
4555
|
+
"le-header": LocalJSX.LeHeader & JSXBase.HTMLAttributes<HTMLLeHeaderElement>;
|
|
4556
|
+
/**
|
|
4557
|
+
* Placeholder for `le-header`.
|
|
4558
|
+
* Reserves space using the global CSS variable `--le-header-height`.
|
|
4559
|
+
* The header component updates that variable when it renders.
|
|
4560
|
+
* @cssprop --le-header-height - Published header height (px)
|
|
4561
|
+
* @cmsInternal true
|
|
4562
|
+
*/
|
|
4563
|
+
"le-header-placeholder": LocalJSX.LeHeaderPlaceholder & JSXBase.HTMLAttributes<HTMLLeHeaderPlaceholderElement>;
|
|
4564
|
+
/**
|
|
4565
|
+
* A multiselect component for selecting multiple options.
|
|
4566
|
+
* Displays selected items as tags with optional search filtering.
|
|
4567
|
+
* @cmsEditable true
|
|
4568
|
+
* @cmsCategory Form
|
|
4569
|
+
* @example Basic multiselect
|
|
4570
|
+
* ```html
|
|
4571
|
+
* <le-multiselect
|
|
4572
|
+
* placeholder="Select options..."
|
|
4573
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
4574
|
+
* ></le-multiselect>
|
|
4575
|
+
* ```
|
|
4576
|
+
* @example With max selections
|
|
4577
|
+
* ```html
|
|
4578
|
+
* <le-multiselect
|
|
4579
|
+
* max-selections="3"
|
|
4580
|
+
* options='[{"label": "Option 1"}, {"label": "Option 2"}, {"label": "Option 3"}, {"label": "Option 4"}]'
|
|
4581
|
+
* ></le-multiselect>
|
|
4582
|
+
* ```
|
|
4583
|
+
* @example With search
|
|
4584
|
+
* ```html
|
|
4585
|
+
* <le-multiselect
|
|
4586
|
+
* searchable
|
|
4587
|
+
* placeholder="Search and select..."
|
|
4588
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
4589
|
+
* ></le-multiselect>
|
|
4590
|
+
* ```
|
|
4591
|
+
*/
|
|
4592
|
+
"le-multiselect": LocalJSX.LeMultiselect & JSXBase.HTMLAttributes<HTMLLeMultiselectElement>;
|
|
1963
4593
|
/**
|
|
1964
4594
|
* A number input component with validation, keyboard controls, and custom spinners.
|
|
1965
4595
|
* @cssprop --le-input-bg - Input background color
|
|
@@ -1975,6 +4605,8 @@ declare module "@stencil/core" {
|
|
|
1975
4605
|
* A popover component for displaying floating content.
|
|
1976
4606
|
* Uses the native HTML Popover API for proper layering with dialogs
|
|
1977
4607
|
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
4608
|
+
* @csspart trigger - The popover trigger element
|
|
4609
|
+
* @csspart content - The popover content wrapper
|
|
1978
4610
|
* @cmsInternal true
|
|
1979
4611
|
* @cmsCategory System
|
|
1980
4612
|
*/
|
|
@@ -1982,13 +4614,76 @@ declare module "@stencil/core" {
|
|
|
1982
4614
|
/**
|
|
1983
4615
|
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
1984
4616
|
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
1985
|
-
* and focus management. Can be used declaratively in HTML or programmatically
|
|
4617
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
1986
4618
|
* via leAlert(), leConfirm(), lePrompt().
|
|
1987
4619
|
* @cmsInternal true
|
|
1988
4620
|
* @cmsCategory System
|
|
1989
4621
|
*/
|
|
1990
4622
|
"le-popup": LocalJSX.LePopup & JSXBase.HTMLAttributes<HTMLLePopupElement>;
|
|
1991
4623
|
"le-round-progress": LocalJSX.LeRoundProgress & JSXBase.HTMLAttributes<HTMLLeRoundProgressElement>;
|
|
4624
|
+
/**
|
|
4625
|
+
* Displays scroll progress as a simple bar.
|
|
4626
|
+
* If `track-scroll-progress` is present without a value, tracks the full document.
|
|
4627
|
+
* If it is a selector string, tracks progress within the matched element.
|
|
4628
|
+
* @cssprop --le-scroll-progress-height - Bar height
|
|
4629
|
+
* @cssprop --le-scroll-progress-bg - Track background
|
|
4630
|
+
* @cssprop --le-scroll-progress-fill - Fill color
|
|
4631
|
+
* @cssprop --le-scroll-progress-sticky-top - If sticky, stop position to parent top
|
|
4632
|
+
* @cssprop --le-scroll-progress-fixed-top - If fixed, distance from window top
|
|
4633
|
+
* @cssprop --le-scroll-progress-fixed-left - If fixed, distance from window left
|
|
4634
|
+
* @cssprop --le-scroll-progress-fixed-right - If fixed, distance from window right
|
|
4635
|
+
* @cssprop --le-scroll-progress-z - Z-index of the progress bar (1001 by default, above header)
|
|
4636
|
+
* @csspart track - Outer track
|
|
4637
|
+
* @csspart fill - Inner fill
|
|
4638
|
+
* @cmsEditable true
|
|
4639
|
+
* @cmsCategory Layout
|
|
4640
|
+
*/
|
|
4641
|
+
"le-scroll-progress": LocalJSX.LeScrollProgress & JSXBase.HTMLAttributes<HTMLLeScrollProgressElement>;
|
|
4642
|
+
/**
|
|
4643
|
+
* A segmented control component (iOS-style toggle buttons).
|
|
4644
|
+
* Perfect for toggling between a small set of related options.
|
|
4645
|
+
* @cssprop --le-segmented-bg - Background color of the control
|
|
4646
|
+
* @cssprop --le-segmented-padding - Padding around segments
|
|
4647
|
+
* @cssprop --le-segmented-gap - Gap between segments
|
|
4648
|
+
* @cssprop --le-segmented-radius - Border radius of the control
|
|
4649
|
+
* @csspart container - The main container
|
|
4650
|
+
* @csspart segment - Individual segment buttons
|
|
4651
|
+
* @csspart segment-active - The currently active segment
|
|
4652
|
+
* @cmsEditable true
|
|
4653
|
+
* @cmsCategory Form
|
|
4654
|
+
*/
|
|
4655
|
+
"le-segmented-control": LocalJSX.LeSegmentedControl & JSXBase.HTMLAttributes<HTMLLeSegmentedControlElement>;
|
|
4656
|
+
/**
|
|
4657
|
+
* A select dropdown component for single selection.
|
|
4658
|
+
* @cmsEditable true
|
|
4659
|
+
* @cmsCategory Form
|
|
4660
|
+
* @example Basic select
|
|
4661
|
+
* ```html
|
|
4662
|
+
* <le-select
|
|
4663
|
+
* placeholder="Choose an option"
|
|
4664
|
+
* options='[{"label": "Option 1", "value": "1"}, {"label": "Option 2", "value": "2"}]'
|
|
4665
|
+
* ></le-select>
|
|
4666
|
+
* ```
|
|
4667
|
+
* @example With icons
|
|
4668
|
+
* ```html
|
|
4669
|
+
* <le-select
|
|
4670
|
+
* options='[
|
|
4671
|
+
* {"label": "Apple", "value": "apple", "iconStart": "🍎"},
|
|
4672
|
+
* {"label": "Banana", "value": "banana", "iconStart": "🍌"}
|
|
4673
|
+
* ]'
|
|
4674
|
+
* ></le-select>
|
|
4675
|
+
* ```
|
|
4676
|
+
* @example Grouped options
|
|
4677
|
+
* ```html
|
|
4678
|
+
* <le-select
|
|
4679
|
+
* options='[
|
|
4680
|
+
* {"label": "Apple", "value": "apple", "group": "Fruits"},
|
|
4681
|
+
* {"label": "Carrot", "value": "carrot", "group": "Vegetables"}
|
|
4682
|
+
* ]'
|
|
4683
|
+
* ></le-select>
|
|
4684
|
+
* ```
|
|
4685
|
+
*/
|
|
4686
|
+
"le-select": LocalJSX.LeSelect & JSXBase.HTMLAttributes<HTMLLeSelectElement>;
|
|
1992
4687
|
/**
|
|
1993
4688
|
* Slot placeholder component for admin/CMS mode.
|
|
1994
4689
|
* This component renders a visual placeholder for slots when in admin mode,
|
|
@@ -2019,6 +4714,99 @@ declare module "@stencil/core" {
|
|
|
2019
4714
|
* @cssprop --le-input-padding - Input padding
|
|
2020
4715
|
*/
|
|
2021
4716
|
"le-string-input": LocalJSX.LeStringInput & JSXBase.HTMLAttributes<HTMLLeStringInputElement>;
|
|
4717
|
+
/**
|
|
4718
|
+
* A flexible tab component with multiple variants and states.
|
|
4719
|
+
* @cssprop --le-tab-bg - Tab background color
|
|
4720
|
+
* @cssprop --le-tab-color - Tab text color
|
|
4721
|
+
* @cssprop --le-tab-border-radius - Tab border radius
|
|
4722
|
+
* @cssprop --le-tab-padding-x - Tab horizontal padding
|
|
4723
|
+
* @cssprop --le-tab-padding-y - Tab vertical padding
|
|
4724
|
+
* @csspart button - The native button element
|
|
4725
|
+
* @csspart content - The tab content wrapper
|
|
4726
|
+
* @csspart icon-start - The start icon slot
|
|
4727
|
+
* @csspart icon-end - The end icon slot
|
|
4728
|
+
* @cmsEditable true
|
|
4729
|
+
* @cmsCategory Actions
|
|
4730
|
+
*/
|
|
4731
|
+
"le-tab": LocalJSX.LeTab & JSXBase.HTMLAttributes<HTMLLeTabElement>;
|
|
4732
|
+
/**
|
|
4733
|
+
* A presentational tab bar component without panels.
|
|
4734
|
+
* Use this for navigation/routing scenarios where you manage the content
|
|
4735
|
+
* externally based on the selection events. For tabs with built-in panels,
|
|
4736
|
+
* use `le-tabs` instead.
|
|
4737
|
+
* @cssprop --le-tab-bar-border-color - Border color
|
|
4738
|
+
* @cssprop --le-tab-bar-gap - Gap between tabs
|
|
4739
|
+
* @cssprop --le-tab-bar-indicator-color - Active indicator color
|
|
4740
|
+
* @cssprop --le-tab-bar-padding-x - Horizontal padding for tabs
|
|
4741
|
+
* @cssprop --le-tab-bar-padding-y - Vertical padding for tabs
|
|
4742
|
+
* @csspart tablist - The tab button container
|
|
4743
|
+
* @csspart tab - Individual tab buttons
|
|
4744
|
+
* @csspart tab-active - The currently active tab
|
|
4745
|
+
* @cmsEditable true
|
|
4746
|
+
* @cmsCategory Navigation
|
|
4747
|
+
*/
|
|
4748
|
+
"le-tab-bar": LocalJSX.LeTabBar & JSXBase.HTMLAttributes<HTMLLeTabBarElement>;
|
|
4749
|
+
/**
|
|
4750
|
+
* A tab panel component used as a child of le-tabs.
|
|
4751
|
+
* Each le-tab-panel defines both the tab button label and the panel content.
|
|
4752
|
+
* The parent le-tabs component automatically reads these panels and creates
|
|
4753
|
+
* the tab interface.
|
|
4754
|
+
* @cmsEditable true
|
|
4755
|
+
* @cmsCategory Navigation
|
|
4756
|
+
*/
|
|
4757
|
+
"le-tab-panel": LocalJSX.LeTabPanel & JSXBase.HTMLAttributes<HTMLLeTabPanelElement>;
|
|
4758
|
+
/**
|
|
4759
|
+
* A flexible tabs component for organizing content into tabbed panels.
|
|
4760
|
+
* Supports two modes:
|
|
4761
|
+
* 1. **Declarative**: Use `<le-tab-panel>` children to define tabs and content
|
|
4762
|
+
* 2. **Programmatic**: Use the `tabs` prop with named slots for content
|
|
4763
|
+
* Full keyboard navigation and ARIA support included.
|
|
4764
|
+
* @cssprop --le-tabs-border-color - Border color for tab list
|
|
4765
|
+
* @cssprop --le-tabs-gap - Gap between tabs
|
|
4766
|
+
* @cssprop --le-tabs-indicator-color - Active tab indicator color
|
|
4767
|
+
* @cssprop --le-tabs-padding-x - Horizontal padding for tab buttons
|
|
4768
|
+
* @cssprop --le-tabs-padding-y - Vertical padding for tab buttons
|
|
4769
|
+
* @csspart tablist - The tab button container (role="tablist")
|
|
4770
|
+
* @csspart tab - Individual tab buttons
|
|
4771
|
+
* @csspart tab-active - The currently active tab
|
|
4772
|
+
* @csspart panels - Container for panel content
|
|
4773
|
+
* @csspart panel - Individual panel containers
|
|
4774
|
+
* @cmsEditable true
|
|
4775
|
+
* @cmsCategory Navigation
|
|
4776
|
+
*/
|
|
4777
|
+
"le-tabs": LocalJSX.LeTabs & JSXBase.HTMLAttributes<HTMLLeTabsElement>;
|
|
4778
|
+
/**
|
|
4779
|
+
* A tag/chip component for displaying labels with optional dismiss functionality.
|
|
4780
|
+
* @cmsEditable false
|
|
4781
|
+
* @cmsCategory Form
|
|
4782
|
+
* @example Basic tag
|
|
4783
|
+
* ```html
|
|
4784
|
+
* <le-tag label="JavaScript"></le-tag>
|
|
4785
|
+
* ```
|
|
4786
|
+
* @example Dismissible tag
|
|
4787
|
+
* ```html
|
|
4788
|
+
* <le-tag label="Remove me" dismissible></le-tag>
|
|
4789
|
+
* ```
|
|
4790
|
+
* @example With icon
|
|
4791
|
+
* ```html
|
|
4792
|
+
* <le-tag label="Settings" icon="⚙️"></le-tag>
|
|
4793
|
+
* ```
|
|
4794
|
+
* @example Different sizes
|
|
4795
|
+
* ```html
|
|
4796
|
+
* <le-tag label="Small" size="small"></le-tag>
|
|
4797
|
+
* <le-tag label="Medium" size="medium"></le-tag>
|
|
4798
|
+
* <le-tag label="Large" size="large"></le-tag>
|
|
4799
|
+
* ```
|
|
4800
|
+
* @example Different variants
|
|
4801
|
+
* ```html
|
|
4802
|
+
* <le-tag label="Default" variant="default"></le-tag>
|
|
4803
|
+
* <le-tag label="Primary" variant="primary"></le-tag>
|
|
4804
|
+
* <le-tag label="Success" variant="success"></le-tag>
|
|
4805
|
+
* <le-tag label="Warning" variant="warning"></le-tag>
|
|
4806
|
+
* <le-tag label="Danger" variant="danger"></le-tag>
|
|
4807
|
+
* ```
|
|
4808
|
+
*/
|
|
4809
|
+
"le-tag": LocalJSX.LeTag & JSXBase.HTMLAttributes<HTMLLeTagElement>;
|
|
2022
4810
|
/**
|
|
2023
4811
|
* A text component with rich text editing capabilities in admin mode.
|
|
2024
4812
|
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|