le-kit 0.1.13 → 0.1.15
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/cjs/{index-o1DRKw1g.js → index-C3iQZ-Ja.js} +7 -7
- package/dist/cjs/index-C3iQZ-Ja.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -3
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/le-box.cjs.entry.js +2 -2
- package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-popup.le-slot.le-string-input.entry.cjs.js.map +1 -0
- package/dist/cjs/{le-button_6.cjs.entry.js → le-button_7.cjs.entry.js} +279 -33
- package/dist/cjs/le-card.cjs.entry.js +2 -2
- 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-dropdown-base.cjs.entry.js +348 -0
- package/dist/cjs/le-dropdown-base.entry.cjs.js.map +1 -0
- package/dist/cjs/le-kit.cjs.js +2 -2
- package/dist/cjs/le-multiselect.cjs.entry.js +306 -0
- package/dist/cjs/le-multiselect.entry.cjs.js.map +1 -0
- package/dist/cjs/le-number-input.cjs.entry.js +3 -3
- package/dist/cjs/le-round-progress.cjs.entry.js +2 -2
- 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/cjs/le-select.cjs.entry.js +188 -0
- package/dist/cjs/le-select.entry.cjs.js.map +1 -0
- package/dist/cjs/le-stack.cjs.entry.js +3 -3
- 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/cjs/le-text.cjs.entry.js +2 -2
- package/dist/cjs/le-turntable.cjs.entry.js +2 -2
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{utils-DqhadIxH.js → utils-DjPcLPN9.js} +3 -3
- package/dist/cjs/{utils-DqhadIxH.js.map → utils-DjPcLPN9.js.map} +1 -1
- package/dist/collection/collection-manifest.json +10 -0
- package/dist/collection/components/le-button/{le-button.default.css → le-button.css} +57 -30
- package/dist/collection/components/le-button/le-button.js +105 -15
- package/dist/collection/components/le-button/le-button.js.map +1 -1
- 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.js +7 -6
- package/dist/collection/components/le-component/le-component.js.map +1 -1
- package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +163 -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-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/collection/components/le-number-input/le-number-input.js +1 -1
- package/dist/collection/components/le-popover/le-popover.css +10 -0
- package/dist/collection/components/le-popover/le-popover.js +61 -10
- package/dist/collection/components/le-popover/le-popover.js.map +1 -1
- package/dist/collection/components/le-popup/le-popup.api.js +2 -1
- package/dist/collection/components/le-popup/le-popup.api.js.map +1 -1
- package/dist/collection/components/le-popup/le-popup.js +42 -12
- package/dist/collection/components/le-popup/le-popup.js.map +1 -1
- package/dist/collection/components/le-round-progress/le-round-progress.js +1 -1
- 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.js +4 -6
- package/dist/collection/components/le-slot/le-slot.js.map +1 -1
- package/dist/collection/components/le-stack/le-stack.js +1 -1
- package/dist/collection/components/le-string-input/le-string-input.js +59 -5
- package/dist/collection/components/le-string-input/le-string-input.js.map +1 -1
- 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/collection/components/le-turntable/le-turntable.js +1 -1
- package/dist/collection/dist/components/assets/.gitkeep +1 -0
- package/{custom-elements.json → dist/collection/dist/components/assets/custom-elements.json} +5274 -1409
- package/dist/{core/collection → collection/dist/components}/themes/base.css +44 -0
- package/dist/{core/collection → collection/dist/components}/themes/dark.css +4 -1
- package/dist/collection/{themes → dist/components/themes}/default.css +4 -1
- package/dist/collection/dist/{collection → components}/themes/gradient.css +4 -1
- package/dist/{core/collection → collection/dist/components}/themes/index.css +2 -0
- package/dist/collection/{themes → dist/components/themes}/minimal.css +4 -1
- package/dist/{core/collection → collection/dist/components}/themes/warm.css +4 -1
- package/dist/collection/global/app.js +4 -4
- package/dist/collection/global/app.js.map +1 -1
- package/dist/collection/types/options.js.map +1 -1
- package/dist/components/assets/.gitkeep +1 -0
- package/dist/{collection → components}/assets/custom-elements.json +5202 -1337
- package/dist/components/index.js +1 -103
- package/dist/components/index.js.map +1 -1
- package/dist/components/le-box.js +11 -6
- package/dist/components/le-box.js.map +1 -1
- package/dist/components/le-button.js +1 -1
- package/dist/components/le-button2.js +378 -45
- package/dist/components/le-button2.js.map +1 -1
- package/dist/components/le-card.js +11 -6
- package/dist/components/le-card.js.map +1 -1
- package/dist/components/le-checkbox.js +1 -1
- package/dist/components/le-combobox.d.ts +11 -0
- package/dist/components/le-combobox.js +321 -0
- package/dist/components/le-combobox.js.map +1 -0
- package/dist/components/le-component.js +1 -1
- 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-multiselect.d.ts +11 -0
- package/dist/components/le-multiselect.js +400 -0
- package/dist/components/le-multiselect.js.map +1 -0
- package/dist/components/le-number-input.js +12 -7
- package/dist/components/le-number-input.js.map +1 -1
- package/dist/components/le-popover2.js +24 -11
- package/dist/components/le-popover2.js.map +1 -1
- package/dist/{core/collection/components/le-popup → components}/le-popup.api.js +9 -4
- package/dist/components/le-popup.api.js.map +1 -0
- package/dist/components/le-popup.js +1 -271
- package/dist/components/le-popup.js.map +1 -1
- package/dist/components/le-round-progress.js +1 -1
- package/dist/components/le-segmented-control.d.ts +11 -0
- package/dist/components/le-segmented-control.js +320 -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 +271 -0
- package/dist/components/le-select.js.map +1 -0
- package/dist/components/le-slot.js +1 -1
- package/dist/components/le-stack.js +12 -7
- package/dist/components/le-stack.js.map +1 -1
- package/dist/components/le-string-input.js +1 -1
- package/dist/components/le-tab-bar.d.ts +11 -0
- package/dist/components/le-tab-bar.js +319 -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 +171 -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 +206 -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 +386 -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 +130 -0
- package/dist/components/le-tag2.js.map +1 -0
- package/dist/components/le-text.js +11 -6
- package/dist/components/le-text.js.map +1 -1
- package/dist/components/le-turntable.js +1 -1
- package/dist/{le-kit/dist/collection → components}/themes/base.css +44 -0
- package/dist/{collection → components}/themes/dark.css +4 -1
- package/dist/{core/collection → components}/themes/default.css +4 -1
- package/dist/{core/collection → components}/themes/gradient.css +4 -1
- package/dist/{le-kit/dist/collection → components}/themes/index.css +2 -0
- package/dist/{collection/dist/collection → components}/themes/minimal.css +4 -1
- package/dist/{le-kit/dist/collection → components}/themes/warm.css +4 -1
- package/dist/components/utils.js +4 -4
- package/dist/components/utils.js.map +1 -1
- package/dist/docs.json +6674 -1371
- package/dist/esm/{index-CwNQ1GTa.js → index-DzgCnDLJ.js} +8 -8
- package/dist/esm/index-DzgCnDLJ.js.map +1 -0
- package/dist/esm/index.js +4 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/le-box.entry.js +2 -2
- package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-popup.le-slot.le-string-input.entry.js.map +1 -0
- package/dist/esm/{le-button_6.entry.js → le-button_7.entry.js} +279 -34
- package/dist/esm/le-card.entry.js +2 -2
- package/dist/esm/le-combobox.entry.js +235 -0
- package/dist/esm/le-combobox.entry.js.map +1 -0
- package/dist/esm/le-dropdown-base.entry.js +346 -0
- package/dist/esm/le-dropdown-base.entry.js.map +1 -0
- package/dist/esm/le-kit.js +3 -3
- package/dist/esm/le-multiselect.entry.js +304 -0
- package/dist/esm/le-multiselect.entry.js.map +1 -0
- package/dist/esm/le-number-input.entry.js +3 -3
- package/dist/esm/le-round-progress.entry.js +2 -2
- package/dist/esm/le-segmented-control.entry.js +243 -0
- package/dist/esm/le-segmented-control.entry.js.map +1 -0
- package/dist/esm/le-select.entry.js +186 -0
- package/dist/esm/le-select.entry.js.map +1 -0
- package/dist/esm/le-stack.entry.js +3 -3
- 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/esm/le-text.entry.js +2 -2
- package/dist/esm/le-turntable.entry.js +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{utils-Cf7fMI0j.js → utils-Dp5xFMCl.js} +3 -3
- package/dist/esm/{utils-Cf7fMI0j.js.map → utils-Dp5xFMCl.js.map} +1 -1
- package/dist/le-kit/dist/components/assets/.gitkeep +1 -0
- package/dist/{core/collection → le-kit/dist/components}/assets/custom-elements.json +5202 -1337
- package/dist/{collection/dist/collection → le-kit/dist/components}/themes/base.css +44 -0
- package/dist/{collection/dist/collection → le-kit/dist/components}/themes/dark.css +4 -1
- package/dist/le-kit/dist/{collection → components}/themes/default.css +4 -1
- package/dist/le-kit/dist/{collection → components}/themes/gradient.css +4 -1
- package/dist/{collection/dist/collection → le-kit/dist/components}/themes/index.css +2 -0
- package/dist/{core/collection → le-kit/dist/components}/themes/minimal.css +4 -1
- package/dist/{collection/dist/collection → le-kit/dist/components}/themes/warm.css +4 -1
- package/dist/le-kit/index.esm.js +1 -1
- package/dist/le-kit/index.esm.js.map +1 -1
- package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-popup.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-dropdown-base.entry.esm.js.map +1 -0
- package/dist/le-kit/le-kit.css +1 -1
- package/dist/le-kit/le-kit.esm.js +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-select.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/{core/le-kit/p-df552906.entry.js → le-kit/p-0bd7803f.entry.js} +2 -2
- package/dist/le-kit/p-0bd7803f.entry.js.map +1 -0
- package/dist/le-kit/p-1f55a4a2.entry.js +2 -0
- package/dist/le-kit/p-1f55a4a2.entry.js.map +1 -0
- package/dist/le-kit/{p-79ec6f7c.entry.js → p-2c37f174.entry.js} +2 -2
- package/dist/le-kit/p-2c37f174.entry.js.map +1 -0
- package/dist/{core/le-kit/p-5ef81068.entry.js → le-kit/p-33612923.entry.js} +2 -2
- package/dist/le-kit/p-33612923.entry.js.map +1 -0
- package/dist/le-kit/{p-b8122ad6.entry.js → p-3a52c4de.entry.js} +2 -2
- package/dist/le-kit/p-3a52c4de.entry.js.map +1 -0
- package/dist/le-kit/p-4130c60b.entry.js +2 -0
- package/dist/le-kit/p-4130c60b.entry.js.map +1 -0
- package/dist/le-kit/{p-64374730.entry.js → p-432e8231.entry.js} +2 -2
- package/dist/le-kit/p-432e8231.entry.js.map +1 -0
- package/dist/le-kit/p-548d130b.entry.js +2 -0
- package/dist/le-kit/p-548d130b.entry.js.map +1 -0
- package/dist/le-kit/p-6ecdad85.entry.js +2 -0
- package/dist/le-kit/p-6ecdad85.entry.js.map +1 -0
- package/dist/le-kit/p-6ee06c44.entry.js +2 -0
- package/dist/le-kit/p-6ee06c44.entry.js.map +1 -0
- package/dist/le-kit/p-71c78784.entry.js +2 -0
- package/dist/le-kit/p-71c78784.entry.js.map +1 -0
- package/dist/le-kit/p-7b180d58.entry.js +2 -0
- package/dist/le-kit/p-7b180d58.entry.js.map +1 -0
- package/dist/le-kit/p-91993261.entry.js +2 -0
- package/dist/le-kit/p-91993261.entry.js.map +1 -0
- package/dist/le-kit/p-DaA5gINj.js +2 -0
- package/dist/le-kit/{p-y3FECAx9.js.map → p-DaA5gINj.js.map} +1 -1
- package/dist/le-kit/p-DzgCnDLJ.js +3 -0
- package/dist/le-kit/p-DzgCnDLJ.js.map +1 -0
- package/dist/le-kit/p-a5d31d40.entry.js +2 -0
- package/dist/le-kit/p-a5d31d40.entry.js.map +1 -0
- package/dist/le-kit/{p-ad398acd.entry.js → p-b66fd9e1.entry.js} +2 -2
- package/dist/le-kit/p-b66fd9e1.entry.js.map +1 -0
- package/dist/le-kit/{p-f9008505.entry.js → p-beb87e61.entry.js} +2 -2
- package/dist/le-kit/p-beb87e61.entry.js.map +1 -0
- package/dist/le-kit/p-cc0797b0.entry.js +2 -0
- package/dist/le-kit/p-cc0797b0.entry.js.map +1 -0
- package/dist/le-kit/p-d504a369.entry.js +2 -0
- package/dist/le-kit/p-d504a369.entry.js.map +1 -0
- package/dist/themes/base.css +44 -0
- package/dist/themes/dark.css +4 -1
- package/dist/themes/default.css +4 -1
- package/dist/themes/gradient.css +4 -1
- package/dist/themes/index.css +2 -0
- package/dist/themes/minimal.css +4 -1
- package/dist/themes/warm.css +4 -1
- package/dist/types/components/le-button/le-button.d.ts +19 -4
- package/dist/types/components/le-combobox/le-combobox.d.ts +128 -0
- package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +118 -0
- package/dist/types/components/le-multiselect/le-multiselect.d.ts +143 -0
- package/dist/types/components/le-popover/le-popover.d.ts +13 -2
- package/dist/types/components/le-popup/le-popup.d.ts +5 -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 +2310 -40
- package/dist/types/global/app.d.ts +4 -4
- package/dist/types/types/options.d.ts +9 -0
- package/package.json +5 -21
- package/readme.md +2 -2
- package/dist/cjs/index-o1DRKw1g.js.map +0 -1
- package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.cjs.js.map +0 -1
- package/dist/cjs/le-popup.cjs.entry.js +0 -212
- package/dist/cjs/le-popup.entry.cjs.js.map +0 -1
- package/dist/collection/dist/collection/themes/default.css +0 -108
- package/dist/collection/themes/base.css +0 -89
- package/dist/collection/themes/gradient.css +0 -100
- package/dist/collection/themes/index.css +0 -413
- package/dist/collection/themes/warm.css +0 -100
- package/dist/core/cjs/index-BsRb_UTe.js +0 -1835
- package/dist/core/cjs/index-BsRb_UTe.js.map +0 -1
- package/dist/core/cjs/index.cjs.js +0 -119
- package/dist/core/cjs/index.cjs.js.map +0 -1
- package/dist/core/cjs/le-box.cjs.entry.js +0 -184
- 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-kit.cjs.js.map +0 -1
- package/dist/core/cjs/le-number-input.cjs.entry.js +0 -202
- 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.cjs.entry.js +0 -106
- package/dist/core/cjs/le-round-progress.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-stack.cjs.entry.js +0 -135
- 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.cjs.entry.js +0 -335
- package/dist/core/cjs/le-text.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-turntable.cjs.entry.js +0 -139
- 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/loader.cjs.js.map +0 -1
- package/dist/core/cjs/utils-nsP8_w8_.js +0 -152
- package/dist/core/cjs/utils-nsP8_w8_.js.map +0 -1
- package/dist/core/collection/collection-manifest.json +0 -24
- package/dist/core/collection/components/le-box/le-box.default.css +0 -37
- package/dist/core/collection/components/le-box/le-box.js +0 -614
- package/dist/core/collection/components/le-box/le-box.js.map +0 -1
- package/dist/core/collection/components/le-button/le-button.default.css +0 -263
- package/dist/core/collection/components/le-button/le-button.js +0 -368
- package/dist/core/collection/components/le-button/le-button.js.map +0 -1
- package/dist/core/collection/components/le-card/le-card.default.css +0 -74
- package/dist/core/collection/components/le-card/le-card.js +0 -102
- package/dist/core/collection/components/le-card/le-card.js.map +0 -1
- package/dist/core/collection/components/le-checkbox/le-checkbox.css +0 -93
- package/dist/core/collection/components/le-checkbox/le-checkbox.js +0 -192
- package/dist/core/collection/components/le-checkbox/le-checkbox.js.map +0 -1
- package/dist/core/collection/components/le-number-input/le-number-input.css +0 -135
- package/dist/core/collection/components/le-number-input/le-number-input.js +0 -515
- package/dist/core/collection/components/le-number-input/le-number-input.js.map +0 -1
- package/dist/core/collection/components/le-popover/le-popover.css +0 -143
- package/dist/core/collection/components/le-popover/le-popover.js +0 -693
- 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.css +0 -222
- package/dist/core/collection/components/le-popup/le-popup.js +0 -596
- package/dist/core/collection/components/le-popup/le-popup.js.map +0 -1
- package/dist/core/collection/components/le-round-progress/le-round-progress.css +0 -34
- package/dist/core/collection/components/le-round-progress/le-round-progress.js +0 -184
- package/dist/core/collection/components/le-round-progress/le-round-progress.js.map +0 -1
- package/dist/core/collection/components/le-stack/le-stack.default.css +0 -37
- package/dist/core/collection/components/le-stack/le-stack.js +0 -389
- package/dist/core/collection/components/le-stack/le-stack.js.map +0 -1
- package/dist/core/collection/components/le-string-input/le-string-input.css +0 -83
- package/dist/core/collection/components/le-string-input/le-string-input.js +0 -359
- package/dist/core/collection/components/le-string-input/le-string-input.js.map +0 -1
- package/dist/core/collection/components/le-text/le-text.default.css +0 -169
- package/dist/core/collection/components/le-text/le-text.js +0 -475
- package/dist/core/collection/components/le-text/le-text.js.map +0 -1
- package/dist/core/collection/components/le-turntable/le-turntable.css +0 -10
- package/dist/core/collection/components/le-turntable/le-turntable.js +0 -210
- package/dist/core/collection/components/le-turntable/le-turntable.js.map +0 -1
- package/dist/core/collection/global/app.js +0 -167
- package/dist/core/collection/global/app.js.map +0 -1
- package/dist/core/collection/index.js +0 -15
- package/dist/core/collection/index.js.map +0 -1
- package/dist/core/collection/types/blocks.js +0 -115
- package/dist/core/collection/types/blocks.js.map +0 -1
- package/dist/core/collection/types/options.js +0 -2
- package/dist/core/collection/types/options.js.map +0 -1
- package/dist/core/collection/utils/utils.js +0 -141
- 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 +0 -113
- 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 +0 -225
- 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-button.js +0 -9
- package/dist/core/components/le-button.js.map +0 -1
- package/dist/core/components/le-button2.js +0 -121
- 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 +0 -52
- 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-checkbox.js +0 -87
- package/dist/core/components/le-checkbox.js.map +0 -1
- package/dist/core/components/le-number-input.d.ts +0 -11
- package/dist/core/components/le-number-input.js +0 -246
- 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-popover.js +0 -385
- package/dist/core/components/le-popover.js.map +0 -1
- package/dist/core/components/le-popup.d.ts +0 -11
- package/dist/core/components/le-popup.js +0 -253
- 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-round-progress.js +0 -135
- package/dist/core/components/le-round-progress.js.map +0 -1
- package/dist/core/components/le-stack.d.ts +0 -11
- package/dist/core/components/le-stack.js +0 -167
- 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-string-input.js +0 -127
- package/dist/core/components/le-string-input.js.map +0 -1
- package/dist/core/components/le-text.d.ts +0 -11
- package/dist/core/components/le-text.js +0 -367
- package/dist/core/components/le-text.js.map +0 -1
- package/dist/core/components/le-turntable.d.ts +0 -11
- package/dist/core/components/le-turntable.js +0 -164
- package/dist/core/components/le-turntable.js.map +0 -1
- package/dist/core/components/utils.js +0 -310
- package/dist/core/components/utils.js.map +0 -1
- package/dist/core/esm/index-CJ-z5Zj1.js +0 -1818
- package/dist/core/esm/index-CJ-z5Zj1.js.map +0 -1
- package/dist/core/esm/index.js +0 -106
- 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-kit.js.map +0 -1
- 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 +0 -104
- 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 +0 -137
- package/dist/core/esm/le-turntable.entry.js.map +0 -1
- package/dist/core/esm/loader.js +0 -11
- package/dist/core/esm/loader.js.map +0 -1
- package/dist/core/esm/utils-Bxmld82M.js +0 -146
- package/dist/core/esm/utils-Bxmld82M.js.map +0 -1
- package/dist/core/index.cjs.js +0 -1
- package/dist/core/index.js +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-0308bd1f.entry.js +0 -2
- package/dist/core/le-kit/p-0308bd1f.entry.js.map +0 -1
- package/dist/core/le-kit/p-257495cc.entry.js +0 -2
- package/dist/core/le-kit/p-257495cc.entry.js.map +0 -1
- package/dist/core/le-kit/p-2ac4789a.entry.js +0 -2
- package/dist/core/le-kit/p-2ac4789a.entry.js.map +0 -1
- package/dist/core/le-kit/p-45eace7c.entry.js +0 -2
- package/dist/core/le-kit/p-45eace7c.entry.js.map +0 -1
- package/dist/core/le-kit/p-556086ca.entry.js +0 -2
- package/dist/core/le-kit/p-556086ca.entry.js.map +0 -1
- package/dist/core/le-kit/p-5ef81068.entry.js.map +0 -1
- package/dist/core/le-kit/p-66d35f48.entry.js +0 -2
- package/dist/core/le-kit/p-66d35f48.entry.js.map +0 -1
- package/dist/core/le-kit/p-73682c5e.entry.js +0 -2
- package/dist/core/le-kit/p-73682c5e.entry.js.map +0 -1
- package/dist/core/le-kit/p-CJ-z5Zj1.js +0 -3
- package/dist/core/le-kit/p-CJ-z5Zj1.js.map +0 -1
- package/dist/core/le-kit/p-Drz36PDp.js +0 -2
- package/dist/core/le-kit/p-Drz36PDp.js.map +0 -1
- package/dist/core/le-kit/p-aa6e906f.entry.js +0 -2
- package/dist/core/le-kit/p-aa6e906f.entry.js.map +0 -1
- package/dist/core/le-kit/p-d75214f9.entry.js +0 -2
- package/dist/core/le-kit/p-d75214f9.entry.js.map +0 -1
- package/dist/core/le-kit/p-df552906.entry.js.map +0 -1
- package/dist/core/le-kit/p-e0861e82.entry.js +0 -2
- package/dist/core/le-kit/p-e0861e82.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/esm/index-CwNQ1GTa.js.map +0 -1
- package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +0 -1
- package/dist/esm/le-popup.entry.js +0 -210
- package/dist/esm/le-popup.entry.js.map +0 -1
- package/dist/le-kit/assets/custom-elements.json +0 -4305
- package/dist/le-kit/dist/collection/themes/dark.css +0 -100
- package/dist/le-kit/dist/collection/themes/minimal.css +0 -100
- package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +0 -1
- package/dist/le-kit/le-popup.entry.esm.js.map +0 -1
- package/dist/le-kit/p-08dbcc25.entry.js +0 -2
- package/dist/le-kit/p-08dbcc25.entry.js.map +0 -1
- package/dist/le-kit/p-5dc35729.entry.js +0 -2
- package/dist/le-kit/p-5dc35729.entry.js.map +0 -1
- package/dist/le-kit/p-64374730.entry.js.map +0 -1
- package/dist/le-kit/p-79ec6f7c.entry.js.map +0 -1
- package/dist/le-kit/p-8daf3c7f.entry.js +0 -2
- package/dist/le-kit/p-8daf3c7f.entry.js.map +0 -1
- package/dist/le-kit/p-9c69235d.entry.js +0 -2
- package/dist/le-kit/p-9c69235d.entry.js.map +0 -1
- package/dist/le-kit/p-CwNQ1GTa.js +0 -3
- package/dist/le-kit/p-CwNQ1GTa.js.map +0 -1
- package/dist/le-kit/p-ad398acd.entry.js.map +0 -1
- package/dist/le-kit/p-b8122ad6.entry.js.map +0 -1
- package/dist/le-kit/p-f9008505.entry.js.map +0 -1
- package/dist/le-kit/p-y3FECAx9.js +0 -2
|
@@ -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,100 @@ export namespace Components {
|
|
|
246
265
|
*/
|
|
247
266
|
"value": string;
|
|
248
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* A combobox component with searchable dropdown.
|
|
270
|
+
* Combines a text input with a dropdown list, allowing users to
|
|
271
|
+
* filter options by typing or select from the list.
|
|
272
|
+
* @cmsEditable true
|
|
273
|
+
* @cmsCategory Form
|
|
274
|
+
* @example Basic combobox
|
|
275
|
+
* ```html
|
|
276
|
+
* <le-combobox
|
|
277
|
+
* placeholder="Search..."
|
|
278
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
279
|
+
* ></le-combobox>
|
|
280
|
+
* ```
|
|
281
|
+
* @example Allow custom values
|
|
282
|
+
* ```html
|
|
283
|
+
* <le-combobox
|
|
284
|
+
* placeholder="Type or select..."
|
|
285
|
+
* allow-custom
|
|
286
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
287
|
+
* ></le-combobox>
|
|
288
|
+
* ```
|
|
289
|
+
*/
|
|
290
|
+
interface LeCombobox {
|
|
291
|
+
/**
|
|
292
|
+
* Whether to allow custom values not in the options list.
|
|
293
|
+
* @default false
|
|
294
|
+
*/
|
|
295
|
+
"allowCustom": boolean;
|
|
296
|
+
/**
|
|
297
|
+
* Whether the combobox is disabled.
|
|
298
|
+
* @default false
|
|
299
|
+
*/
|
|
300
|
+
"disabled": boolean;
|
|
301
|
+
/**
|
|
302
|
+
* Text to show when no options match the search.
|
|
303
|
+
* @default 'No results found'
|
|
304
|
+
*/
|
|
305
|
+
"emptyText": string;
|
|
306
|
+
/**
|
|
307
|
+
* Focuses the input element.
|
|
308
|
+
*/
|
|
309
|
+
"focusInput": () => Promise<void>;
|
|
310
|
+
/**
|
|
311
|
+
* Whether the multiselect should take full width of its container.
|
|
312
|
+
* @default false
|
|
313
|
+
*/
|
|
314
|
+
"fullWidth": boolean;
|
|
315
|
+
/**
|
|
316
|
+
* Closes the dropdown.
|
|
317
|
+
*/
|
|
318
|
+
"hideDropdown": () => Promise<void>;
|
|
319
|
+
/**
|
|
320
|
+
* Minimum characters before showing filtered results.
|
|
321
|
+
* @default 0
|
|
322
|
+
*/
|
|
323
|
+
"minSearchLength": number;
|
|
324
|
+
/**
|
|
325
|
+
* Name attribute for form submission.
|
|
326
|
+
*/
|
|
327
|
+
"name"?: string;
|
|
328
|
+
/**
|
|
329
|
+
* Whether the dropdown is currently open.
|
|
330
|
+
* @default false
|
|
331
|
+
*/
|
|
332
|
+
"open": boolean;
|
|
333
|
+
/**
|
|
334
|
+
* The options to display in the dropdown.
|
|
335
|
+
* @default []
|
|
336
|
+
*/
|
|
337
|
+
"options": LeOption[] | string;
|
|
338
|
+
/**
|
|
339
|
+
* Placeholder text for the input.
|
|
340
|
+
* @default 'Type to search...'
|
|
341
|
+
*/
|
|
342
|
+
"placeholder": string;
|
|
343
|
+
/**
|
|
344
|
+
* Whether selection is required.
|
|
345
|
+
* @default false
|
|
346
|
+
*/
|
|
347
|
+
"required": boolean;
|
|
348
|
+
/**
|
|
349
|
+
* Opens the dropdown.
|
|
350
|
+
*/
|
|
351
|
+
"showDropdown": () => Promise<void>;
|
|
352
|
+
/**
|
|
353
|
+
* Size variant of the combobox.
|
|
354
|
+
* @default 'medium'
|
|
355
|
+
*/
|
|
356
|
+
"size": 'small' | 'medium' | 'large';
|
|
357
|
+
/**
|
|
358
|
+
* The currently selected value.
|
|
359
|
+
*/
|
|
360
|
+
"value"?: LeOptionValue;
|
|
361
|
+
}
|
|
249
362
|
/**
|
|
250
363
|
* Component wrapper for admin mode editing.
|
|
251
364
|
* This component is used internally by other components to provide admin-mode
|
|
@@ -285,6 +398,198 @@ export namespace Components {
|
|
|
285
398
|
*/
|
|
286
399
|
"hostStyle"?: { [key: string]: string };
|
|
287
400
|
}
|
|
401
|
+
/**
|
|
402
|
+
* Internal dropdown base component that provides shared functionality
|
|
403
|
+
* for select, combobox, and multiselect components.
|
|
404
|
+
* Wraps le-popover for positioning and provides:
|
|
405
|
+
* - Option list rendering with groups
|
|
406
|
+
* - Keyboard navigation (↑↓, Enter, Escape, Home/End)
|
|
407
|
+
* - Option filtering support
|
|
408
|
+
* - Single and multi-select modes
|
|
409
|
+
* @cmsInternal true
|
|
410
|
+
* @cmsCategory System
|
|
411
|
+
*/
|
|
412
|
+
interface LeDropdownBase {
|
|
413
|
+
/**
|
|
414
|
+
* Whether to close the dropdown when clicking outside. (used to support combobox with input focus)
|
|
415
|
+
* @default true
|
|
416
|
+
*/
|
|
417
|
+
"closeOnClickOutside": boolean;
|
|
418
|
+
/**
|
|
419
|
+
* Whether the dropdown is disabled.
|
|
420
|
+
* @default false
|
|
421
|
+
*/
|
|
422
|
+
"disabled": boolean;
|
|
423
|
+
/**
|
|
424
|
+
* Placeholder text when no options match filter.
|
|
425
|
+
* @default 'No options'
|
|
426
|
+
*/
|
|
427
|
+
"emptyText": string;
|
|
428
|
+
/**
|
|
429
|
+
* Filter function for options. Return true to include the option.
|
|
430
|
+
*/
|
|
431
|
+
"filterFn"?: (option: LeOption, query: string) => boolean;
|
|
432
|
+
/**
|
|
433
|
+
* Current filter query string.
|
|
434
|
+
* @default ''
|
|
435
|
+
*/
|
|
436
|
+
"filterQuery": string;
|
|
437
|
+
/**
|
|
438
|
+
* Sets the dropdown to full width of the trigger.
|
|
439
|
+
* @default false
|
|
440
|
+
*/
|
|
441
|
+
"fullWidth": boolean;
|
|
442
|
+
/**
|
|
443
|
+
* Closes the dropdown.
|
|
444
|
+
*/
|
|
445
|
+
"hide": () => Promise<void>;
|
|
446
|
+
/**
|
|
447
|
+
* Maximum height of the dropdown list.
|
|
448
|
+
* @default '300px'
|
|
449
|
+
*/
|
|
450
|
+
"maxHeight": string;
|
|
451
|
+
/**
|
|
452
|
+
* Whether multiple selection is allowed.
|
|
453
|
+
* @default false
|
|
454
|
+
*/
|
|
455
|
+
"multiple": boolean;
|
|
456
|
+
/**
|
|
457
|
+
* Whether the dropdown is open.
|
|
458
|
+
* @default false
|
|
459
|
+
*/
|
|
460
|
+
"open": boolean;
|
|
461
|
+
/**
|
|
462
|
+
* The options to display in the dropdown.
|
|
463
|
+
* @default []
|
|
464
|
+
*/
|
|
465
|
+
"options": LeOption[];
|
|
466
|
+
/**
|
|
467
|
+
* Opens the dropdown.
|
|
468
|
+
*/
|
|
469
|
+
"show": () => Promise<void>;
|
|
470
|
+
/**
|
|
471
|
+
* Whether to show checkboxes for multiselect mode.
|
|
472
|
+
* @default true
|
|
473
|
+
*/
|
|
474
|
+
"showCheckboxes": boolean;
|
|
475
|
+
/**
|
|
476
|
+
* Toggles the dropdown.
|
|
477
|
+
*/
|
|
478
|
+
"toggle": () => Promise<void>;
|
|
479
|
+
/**
|
|
480
|
+
* Current value(s) - single value or array for multiselect.
|
|
481
|
+
*/
|
|
482
|
+
"value"?: LeOptionValue | LeOptionValue[];
|
|
483
|
+
/**
|
|
484
|
+
* Width of the dropdown. If not set, matches trigger width.
|
|
485
|
+
*/
|
|
486
|
+
"width"?: string;
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* A multiselect component for selecting multiple options.
|
|
490
|
+
* Displays selected items as tags with optional search filtering.
|
|
491
|
+
* @cmsEditable true
|
|
492
|
+
* @cmsCategory Form
|
|
493
|
+
* @example Basic multiselect
|
|
494
|
+
* ```html
|
|
495
|
+
* <le-multiselect
|
|
496
|
+
* placeholder="Select options..."
|
|
497
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
498
|
+
* ></le-multiselect>
|
|
499
|
+
* ```
|
|
500
|
+
* @example With max selections
|
|
501
|
+
* ```html
|
|
502
|
+
* <le-multiselect
|
|
503
|
+
* max-selections="3"
|
|
504
|
+
* options='[{"label": "Option 1"}, {"label": "Option 2"}, {"label": "Option 3"}, {"label": "Option 4"}]'
|
|
505
|
+
* ></le-multiselect>
|
|
506
|
+
* ```
|
|
507
|
+
* @example With search
|
|
508
|
+
* ```html
|
|
509
|
+
* <le-multiselect
|
|
510
|
+
* searchable
|
|
511
|
+
* placeholder="Search and select..."
|
|
512
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
513
|
+
* ></le-multiselect>
|
|
514
|
+
* ```
|
|
515
|
+
*/
|
|
516
|
+
interface LeMultiselect {
|
|
517
|
+
/**
|
|
518
|
+
* Clears all selections.
|
|
519
|
+
*/
|
|
520
|
+
"clearSelection": () => Promise<void>;
|
|
521
|
+
/**
|
|
522
|
+
* Whether the multiselect is disabled.
|
|
523
|
+
* @default false
|
|
524
|
+
*/
|
|
525
|
+
"disabled": boolean;
|
|
526
|
+
/**
|
|
527
|
+
* Text to show when no options match the search.
|
|
528
|
+
* @default 'No results found'
|
|
529
|
+
*/
|
|
530
|
+
"emptyText": string;
|
|
531
|
+
/**
|
|
532
|
+
* Whether the multiselect should take full width of its container.
|
|
533
|
+
* @default false
|
|
534
|
+
*/
|
|
535
|
+
"fullWidth": boolean;
|
|
536
|
+
/**
|
|
537
|
+
* Closes the dropdown.
|
|
538
|
+
*/
|
|
539
|
+
"hideDropdown": () => Promise<void>;
|
|
540
|
+
/**
|
|
541
|
+
* Maximum number of selections allowed.
|
|
542
|
+
*/
|
|
543
|
+
"maxSelections"?: number;
|
|
544
|
+
/**
|
|
545
|
+
* Name attribute for form submission.
|
|
546
|
+
*/
|
|
547
|
+
"name"?: string;
|
|
548
|
+
/**
|
|
549
|
+
* Whether the dropdown is currently open.
|
|
550
|
+
* @default false
|
|
551
|
+
*/
|
|
552
|
+
"open": boolean;
|
|
553
|
+
/**
|
|
554
|
+
* The options to display in the dropdown.
|
|
555
|
+
* @default []
|
|
556
|
+
*/
|
|
557
|
+
"options": LeOption[] | string;
|
|
558
|
+
/**
|
|
559
|
+
* Placeholder text when no options are selected.
|
|
560
|
+
* @default 'Select options...'
|
|
561
|
+
*/
|
|
562
|
+
"placeholder": string;
|
|
563
|
+
/**
|
|
564
|
+
* Whether selection is required.
|
|
565
|
+
* @default false
|
|
566
|
+
*/
|
|
567
|
+
"required": boolean;
|
|
568
|
+
/**
|
|
569
|
+
* Whether the input is searchable.
|
|
570
|
+
* @default false
|
|
571
|
+
*/
|
|
572
|
+
"searchable": boolean;
|
|
573
|
+
/**
|
|
574
|
+
* Opens the dropdown.
|
|
575
|
+
*/
|
|
576
|
+
"showDropdown": () => Promise<void>;
|
|
577
|
+
/**
|
|
578
|
+
* Whether to show a "Select All" option. Also accepts a string or array of strings to customize the label(s).
|
|
579
|
+
* @default false
|
|
580
|
+
*/
|
|
581
|
+
"showSelectAll": boolean | string | string[];
|
|
582
|
+
/**
|
|
583
|
+
* Size variant of the multiselect.
|
|
584
|
+
* @default 'medium'
|
|
585
|
+
*/
|
|
586
|
+
"size": 'small' | 'medium' | 'large';
|
|
587
|
+
/**
|
|
588
|
+
* The currently selected values.
|
|
589
|
+
* @default []
|
|
590
|
+
*/
|
|
591
|
+
"value": LeOptionValue[];
|
|
592
|
+
}
|
|
288
593
|
/**
|
|
289
594
|
* A number input component with validation, keyboard controls, and custom spinners.
|
|
290
595
|
* @cssprop --le-input-bg - Input background color
|
|
@@ -358,6 +663,8 @@ export namespace Components {
|
|
|
358
663
|
* A popover component for displaying floating content.
|
|
359
664
|
* Uses the native HTML Popover API for proper layering with dialogs
|
|
360
665
|
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
666
|
+
* @csspart trigger - The popover trigger element
|
|
667
|
+
* @csspart content - The popover content wrapper
|
|
361
668
|
* @cmsInternal true
|
|
362
669
|
* @cmsCategory System
|
|
363
670
|
*/
|
|
@@ -426,6 +733,15 @@ export namespace Components {
|
|
|
426
733
|
* Toggles the popover
|
|
427
734
|
*/
|
|
428
735
|
"toggle": () => Promise<void>;
|
|
736
|
+
/**
|
|
737
|
+
* Should the popover's trigger take full width of its container
|
|
738
|
+
* @default false
|
|
739
|
+
*/
|
|
740
|
+
"triggerFullWidth": boolean;
|
|
741
|
+
/**
|
|
742
|
+
* Method to update the popover position from a parent component
|
|
743
|
+
*/
|
|
744
|
+
"updatePosition": () => Promise<void>;
|
|
429
745
|
/**
|
|
430
746
|
* Fixed width for the popover (e.g., '300px', '20rem')
|
|
431
747
|
*/
|
|
@@ -434,7 +750,7 @@ export namespace Components {
|
|
|
434
750
|
/**
|
|
435
751
|
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
436
752
|
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
437
|
-
* and focus management. Can be used declaratively in HTML or programmatically
|
|
753
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
438
754
|
* via leAlert(), leConfirm(), lePrompt().
|
|
439
755
|
* @cmsInternal true
|
|
440
756
|
* @cmsCategory System
|
|
@@ -473,6 +789,11 @@ export namespace Components {
|
|
|
473
789
|
* @default true
|
|
474
790
|
*/
|
|
475
791
|
"modal": boolean;
|
|
792
|
+
/**
|
|
793
|
+
* The mode of the Le Kit (e.g., 'default' or 'admin')
|
|
794
|
+
* @default 'default'
|
|
795
|
+
*/
|
|
796
|
+
"mode": LeKitMode;
|
|
476
797
|
/**
|
|
477
798
|
* Whether the popup is currently visible
|
|
478
799
|
* @default false
|
|
@@ -513,6 +834,150 @@ export namespace Components {
|
|
|
513
834
|
*/
|
|
514
835
|
"value": number;
|
|
515
836
|
}
|
|
837
|
+
/**
|
|
838
|
+
* A segmented control component (iOS-style toggle buttons).
|
|
839
|
+
* Perfect for toggling between a small set of related options.
|
|
840
|
+
* @cssprop --le-segmented-bg - Background color of the control
|
|
841
|
+
* @cssprop --le-segmented-padding - Padding around segments
|
|
842
|
+
* @cssprop --le-segmented-gap - Gap between segments
|
|
843
|
+
* @cssprop --le-segmented-radius - Border radius of the control
|
|
844
|
+
* @csspart container - The main container
|
|
845
|
+
* @csspart segment - Individual segment buttons
|
|
846
|
+
* @csspart segment-active - The currently active segment
|
|
847
|
+
* @cmsEditable true
|
|
848
|
+
* @cmsCategory Form
|
|
849
|
+
*/
|
|
850
|
+
interface LeSegmentedControl {
|
|
851
|
+
/**
|
|
852
|
+
* Whether the control is disabled.
|
|
853
|
+
* @default false
|
|
854
|
+
*/
|
|
855
|
+
"disabled": boolean;
|
|
856
|
+
/**
|
|
857
|
+
* Whether the control should take full width.
|
|
858
|
+
* @default false
|
|
859
|
+
*/
|
|
860
|
+
"fullWidth": boolean;
|
|
861
|
+
/**
|
|
862
|
+
* Array of options for the segmented control.
|
|
863
|
+
* @default []
|
|
864
|
+
*/
|
|
865
|
+
"options": LeOption[];
|
|
866
|
+
/**
|
|
867
|
+
* Scroll behavior for overflowing tabs.
|
|
868
|
+
* @allowedValues auto | hidden | visible | scroll
|
|
869
|
+
* @default 'auto'
|
|
870
|
+
*/
|
|
871
|
+
"overflow": 'auto' | 'hidden' | 'visible' | 'scroll';
|
|
872
|
+
/**
|
|
873
|
+
* Size of the control.
|
|
874
|
+
* @allowedValues small | medium | large
|
|
875
|
+
* @default 'medium'
|
|
876
|
+
*/
|
|
877
|
+
"size": 'small' | 'medium' | 'large';
|
|
878
|
+
/**
|
|
879
|
+
* The value of the currently selected option.
|
|
880
|
+
*/
|
|
881
|
+
"value"?: LeOptionValue;
|
|
882
|
+
}
|
|
883
|
+
/**
|
|
884
|
+
* A select dropdown component for single selection.
|
|
885
|
+
* @cmsEditable true
|
|
886
|
+
* @cmsCategory Form
|
|
887
|
+
* @example Basic select
|
|
888
|
+
* ```html
|
|
889
|
+
* <le-select
|
|
890
|
+
* placeholder="Choose an option"
|
|
891
|
+
* options='[{"label": "Option 1", "value": "1"}, {"label": "Option 2", "value": "2"}]'
|
|
892
|
+
* ></le-select>
|
|
893
|
+
* ```
|
|
894
|
+
* @example With icons
|
|
895
|
+
* ```html
|
|
896
|
+
* <le-select
|
|
897
|
+
* options='[
|
|
898
|
+
* {"label": "Apple", "value": "apple", "iconStart": "🍎"},
|
|
899
|
+
* {"label": "Banana", "value": "banana", "iconStart": "🍌"}
|
|
900
|
+
* ]'
|
|
901
|
+
* ></le-select>
|
|
902
|
+
* ```
|
|
903
|
+
* @example Grouped options
|
|
904
|
+
* ```html
|
|
905
|
+
* <le-select
|
|
906
|
+
* options='[
|
|
907
|
+
* {"label": "Apple", "value": "apple", "group": "Fruits"},
|
|
908
|
+
* {"label": "Carrot", "value": "carrot", "group": "Vegetables"}
|
|
909
|
+
* ]'
|
|
910
|
+
* ></le-select>
|
|
911
|
+
* ```
|
|
912
|
+
*/
|
|
913
|
+
interface LeSelect {
|
|
914
|
+
/**
|
|
915
|
+
* Whether the select is disabled.
|
|
916
|
+
* @default false
|
|
917
|
+
*/
|
|
918
|
+
"disabled": boolean;
|
|
919
|
+
/**
|
|
920
|
+
* Text to show when no options match the search.
|
|
921
|
+
* @default 'No results found'
|
|
922
|
+
*/
|
|
923
|
+
"emptyText": string;
|
|
924
|
+
/**
|
|
925
|
+
* Whether the select should take full width of its container.
|
|
926
|
+
* @default false
|
|
927
|
+
*/
|
|
928
|
+
"fullWidth": boolean;
|
|
929
|
+
/**
|
|
930
|
+
* Closes the dropdown.
|
|
931
|
+
*/
|
|
932
|
+
"hideDropdown": () => Promise<void>;
|
|
933
|
+
/**
|
|
934
|
+
* Name attribute for form submission.
|
|
935
|
+
*/
|
|
936
|
+
"name"?: string;
|
|
937
|
+
/**
|
|
938
|
+
* Whether the dropdown is currently open.
|
|
939
|
+
* @default false
|
|
940
|
+
*/
|
|
941
|
+
"open": boolean;
|
|
942
|
+
/**
|
|
943
|
+
* The options to display in the dropdown.
|
|
944
|
+
* @default []
|
|
945
|
+
*/
|
|
946
|
+
"options": LeOption[] | string;
|
|
947
|
+
/**
|
|
948
|
+
* Placeholder text when no option is selected.
|
|
949
|
+
* @default 'Select an option'
|
|
950
|
+
*/
|
|
951
|
+
"placeholder": string;
|
|
952
|
+
/**
|
|
953
|
+
* Whether selection is required.
|
|
954
|
+
* @default false
|
|
955
|
+
*/
|
|
956
|
+
"required": boolean;
|
|
957
|
+
/**
|
|
958
|
+
* Whether the input is searchable.
|
|
959
|
+
* @default false
|
|
960
|
+
*/
|
|
961
|
+
"searchable": boolean;
|
|
962
|
+
/**
|
|
963
|
+
* Opens the dropdown.
|
|
964
|
+
*/
|
|
965
|
+
"showDropdown": () => Promise<void>;
|
|
966
|
+
/**
|
|
967
|
+
* Size variant of the select.
|
|
968
|
+
* @default 'medium'
|
|
969
|
+
*/
|
|
970
|
+
"size": 'small' | 'medium' | 'large';
|
|
971
|
+
/**
|
|
972
|
+
* The currently selected value.
|
|
973
|
+
*/
|
|
974
|
+
"value"?: LeOptionValue;
|
|
975
|
+
/**
|
|
976
|
+
* Visual variant of the select.
|
|
977
|
+
* @default 'default'
|
|
978
|
+
*/
|
|
979
|
+
"variant": 'default' | 'outlined' | 'solid';
|
|
980
|
+
}
|
|
516
981
|
/**
|
|
517
982
|
* Slot placeholder component for admin/CMS mode.
|
|
518
983
|
* This component renders a visual placeholder for slots when in admin mode,
|
|
@@ -658,6 +1123,11 @@ export namespace Components {
|
|
|
658
1123
|
* External ID for linking with external systems
|
|
659
1124
|
*/
|
|
660
1125
|
"externalId": string;
|
|
1126
|
+
/**
|
|
1127
|
+
* Hide description slot
|
|
1128
|
+
* @default false
|
|
1129
|
+
*/
|
|
1130
|
+
"hideDescription": boolean;
|
|
661
1131
|
/**
|
|
662
1132
|
* Icon for the end icon
|
|
663
1133
|
*/
|
|
@@ -666,6 +1136,10 @@ export namespace Components {
|
|
|
666
1136
|
* Icon for the start icon
|
|
667
1137
|
*/
|
|
668
1138
|
"iconStart": string;
|
|
1139
|
+
/**
|
|
1140
|
+
* Pass the ref of the input element to the parent component
|
|
1141
|
+
*/
|
|
1142
|
+
"inputRef"?: (el: HTMLInputElement) => void;
|
|
669
1143
|
/**
|
|
670
1144
|
* Label for the input
|
|
671
1145
|
*/
|
|
@@ -698,12 +1172,350 @@ export namespace Components {
|
|
|
698
1172
|
"value": string;
|
|
699
1173
|
}
|
|
700
1174
|
/**
|
|
701
|
-
* A
|
|
702
|
-
*
|
|
703
|
-
*
|
|
704
|
-
*
|
|
705
|
-
* @cssprop --le-
|
|
706
|
-
* @cssprop --le-
|
|
1175
|
+
* A flexible tab component with multiple variants and states.
|
|
1176
|
+
* @cssprop --le-tab-bg - Tab background color
|
|
1177
|
+
* @cssprop --le-tab-color - Tab text color
|
|
1178
|
+
* @cssprop --le-tab-border-radius - Tab border radius
|
|
1179
|
+
* @cssprop --le-tab-padding-x - Tab horizontal padding
|
|
1180
|
+
* @cssprop --le-tab-padding-y - Tab vertical padding
|
|
1181
|
+
* @csspart button - The native button element
|
|
1182
|
+
* @csspart content - The tab content wrapper
|
|
1183
|
+
* @csspart icon-start - The start icon slot
|
|
1184
|
+
* @csspart icon-end - The end icon slot
|
|
1185
|
+
* @cmsEditable true
|
|
1186
|
+
* @cmsCategory Actions
|
|
1187
|
+
*/
|
|
1188
|
+
interface LeTab {
|
|
1189
|
+
/**
|
|
1190
|
+
* Alignment of the tab label without the end icon
|
|
1191
|
+
* @allowedValues start | center | space-between | end
|
|
1192
|
+
* @default 'center'
|
|
1193
|
+
*/
|
|
1194
|
+
"align": 'start' | 'center' | 'space-between' | 'end';
|
|
1195
|
+
/**
|
|
1196
|
+
* Whether the tab is disabled
|
|
1197
|
+
* @default false
|
|
1198
|
+
*/
|
|
1199
|
+
"disabled": boolean;
|
|
1200
|
+
/**
|
|
1201
|
+
* Whether the tab can get focus needed for accessibility when used in custom tab implementations
|
|
1202
|
+
* @default true
|
|
1203
|
+
*/
|
|
1204
|
+
"focusable": boolean;
|
|
1205
|
+
/**
|
|
1206
|
+
* Whether the tab takes full width of its container
|
|
1207
|
+
* @default false
|
|
1208
|
+
*/
|
|
1209
|
+
"fullWidth": boolean;
|
|
1210
|
+
/**
|
|
1211
|
+
* Get tab configuration for parent component
|
|
1212
|
+
*/
|
|
1213
|
+
"getTabConfig": () => Promise<{ label: string; value: string; icon: string | Node; iconStart?: string | Node; iconEnd?: string | Node; disabled: boolean; }>;
|
|
1214
|
+
/**
|
|
1215
|
+
* Optional href to make the tab act as a link
|
|
1216
|
+
*/
|
|
1217
|
+
"href"?: string;
|
|
1218
|
+
/**
|
|
1219
|
+
* Icon only tab image or emoji if this prop is set, the tab will render only the icon slot
|
|
1220
|
+
*/
|
|
1221
|
+
"icon"?: string | Node;
|
|
1222
|
+
/**
|
|
1223
|
+
* End icon image or emoji
|
|
1224
|
+
*/
|
|
1225
|
+
"iconEnd"?: string | Node;
|
|
1226
|
+
/**
|
|
1227
|
+
* Start icon image or emoji
|
|
1228
|
+
*/
|
|
1229
|
+
"iconStart"?: string | Node;
|
|
1230
|
+
/**
|
|
1231
|
+
* Label if it is not provided via slot
|
|
1232
|
+
*/
|
|
1233
|
+
"label"?: string;
|
|
1234
|
+
/**
|
|
1235
|
+
* Mode of the popover should be 'default' for internal use
|
|
1236
|
+
*/
|
|
1237
|
+
"mode": 'default' | 'admin';
|
|
1238
|
+
/**
|
|
1239
|
+
* Position of the tabs when used within a le-tabs component
|
|
1240
|
+
* @allowedValues top | bottom | start | end
|
|
1241
|
+
* @default 'top'
|
|
1242
|
+
*/
|
|
1243
|
+
"position": 'top' | 'bottom' | 'start' | 'end';
|
|
1244
|
+
/**
|
|
1245
|
+
* Whether the tab is in a selected/active state
|
|
1246
|
+
* @default false
|
|
1247
|
+
*/
|
|
1248
|
+
"selected": boolean;
|
|
1249
|
+
/**
|
|
1250
|
+
* Whether to show the label when in icon-only mode
|
|
1251
|
+
* @default false
|
|
1252
|
+
*/
|
|
1253
|
+
"showLabel": boolean;
|
|
1254
|
+
/**
|
|
1255
|
+
* Tab size
|
|
1256
|
+
* @allowedValues small | medium | large
|
|
1257
|
+
* @default 'medium'
|
|
1258
|
+
*/
|
|
1259
|
+
"size": 'small' | 'medium' | 'large';
|
|
1260
|
+
/**
|
|
1261
|
+
* Link target when href is set
|
|
1262
|
+
*/
|
|
1263
|
+
"target"?: string;
|
|
1264
|
+
/**
|
|
1265
|
+
* Value of the tab, defaults to label if not provided
|
|
1266
|
+
*/
|
|
1267
|
+
"value"?: string;
|
|
1268
|
+
/**
|
|
1269
|
+
* Tab variant style
|
|
1270
|
+
* @allowedValues solid | underlined | clear | enclosed | icon-only
|
|
1271
|
+
* @default 'underlined'
|
|
1272
|
+
*/
|
|
1273
|
+
"variant": 'underlined' | 'solid' | 'pills' | 'enclosed' | 'icon-only';
|
|
1274
|
+
}
|
|
1275
|
+
/**
|
|
1276
|
+
* A presentational tab bar component without panels.
|
|
1277
|
+
* Use this for navigation/routing scenarios where you manage the content
|
|
1278
|
+
* externally based on the selection events. For tabs with built-in panels,
|
|
1279
|
+
* use `le-tabs` instead.
|
|
1280
|
+
* @cssprop --le-tab-bar-border-color - Border color
|
|
1281
|
+
* @cssprop --le-tab-bar-gap - Gap between tabs
|
|
1282
|
+
* @cssprop --le-tab-bar-indicator-color - Active indicator color
|
|
1283
|
+
* @cssprop --le-tab-bar-padding-x - Horizontal padding for tabs
|
|
1284
|
+
* @cssprop --le-tab-bar-padding-y - Vertical padding for tabs
|
|
1285
|
+
* @csspart tablist - The tab button container
|
|
1286
|
+
* @csspart tab - Individual tab buttons
|
|
1287
|
+
* @csspart tab-active - The currently active tab
|
|
1288
|
+
* @cmsEditable true
|
|
1289
|
+
* @cmsCategory Navigation
|
|
1290
|
+
*/
|
|
1291
|
+
interface LeTabBar {
|
|
1292
|
+
/**
|
|
1293
|
+
* Whether to show a border below the tab bar.
|
|
1294
|
+
* @default true
|
|
1295
|
+
*/
|
|
1296
|
+
"bordered": boolean;
|
|
1297
|
+
/**
|
|
1298
|
+
* Whether tabs should stretch to fill available width.
|
|
1299
|
+
* @default true
|
|
1300
|
+
*/
|
|
1301
|
+
"fullWidth": boolean;
|
|
1302
|
+
/**
|
|
1303
|
+
* Position of the tab bar.
|
|
1304
|
+
* @allowedValues top | bottom
|
|
1305
|
+
* @default 'top'
|
|
1306
|
+
*/
|
|
1307
|
+
"position": 'top' | 'bottom';
|
|
1308
|
+
/**
|
|
1309
|
+
* The value of the currently selected tab.
|
|
1310
|
+
*/
|
|
1311
|
+
"selected"?: LeOptionValue;
|
|
1312
|
+
/**
|
|
1313
|
+
* Whether to show labels in icon-only mode.
|
|
1314
|
+
* @default false
|
|
1315
|
+
*/
|
|
1316
|
+
"showLabels": boolean;
|
|
1317
|
+
/**
|
|
1318
|
+
* Size of the tabs.
|
|
1319
|
+
* @allowedValues small | medium | large
|
|
1320
|
+
* @default 'medium'
|
|
1321
|
+
*/
|
|
1322
|
+
"size": 'small' | 'medium' | 'large';
|
|
1323
|
+
/**
|
|
1324
|
+
* Array of tab options defining the tabs to display.
|
|
1325
|
+
* @default []
|
|
1326
|
+
*/
|
|
1327
|
+
"tabs": LeOption[];
|
|
1328
|
+
}
|
|
1329
|
+
/**
|
|
1330
|
+
* A tab panel component used as a child of le-tabs.
|
|
1331
|
+
* Each le-tab-panel defines both the tab button label and the panel content.
|
|
1332
|
+
* The parent le-tabs component automatically reads these panels and creates
|
|
1333
|
+
* the tab interface.
|
|
1334
|
+
* @cmsEditable true
|
|
1335
|
+
* @cmsCategory Navigation
|
|
1336
|
+
*/
|
|
1337
|
+
interface LeTabPanel {
|
|
1338
|
+
/**
|
|
1339
|
+
* Whether this tab is disabled.
|
|
1340
|
+
* @default false
|
|
1341
|
+
*/
|
|
1342
|
+
"disabled": boolean;
|
|
1343
|
+
/**
|
|
1344
|
+
* Get tab configuration for parent component
|
|
1345
|
+
*/
|
|
1346
|
+
"getTabConfig": () => Promise<{ label: string; value: string; iconStart?: string; iconEnd?: string; disabled: boolean; }>;
|
|
1347
|
+
/**
|
|
1348
|
+
* Get the effective value (value or label as fallback)
|
|
1349
|
+
*/
|
|
1350
|
+
"getValue": () => Promise<string>;
|
|
1351
|
+
/**
|
|
1352
|
+
* Icon displayed at the end of the tab button.
|
|
1353
|
+
*/
|
|
1354
|
+
"iconEnd"?: string;
|
|
1355
|
+
/**
|
|
1356
|
+
* Icon displayed at the start of the tab button. Can be an emoji, URL, or icon class.
|
|
1357
|
+
*/
|
|
1358
|
+
"iconStart"?: string;
|
|
1359
|
+
/**
|
|
1360
|
+
* The label displayed in the tab button.
|
|
1361
|
+
*/
|
|
1362
|
+
"label": string;
|
|
1363
|
+
/**
|
|
1364
|
+
* 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.
|
|
1365
|
+
* @default false
|
|
1366
|
+
*/
|
|
1367
|
+
"lazy": boolean;
|
|
1368
|
+
/**
|
|
1369
|
+
* Set the active state (called by parent le-tabs)
|
|
1370
|
+
*/
|
|
1371
|
+
"setActive": (isActive: boolean) => Promise<void>;
|
|
1372
|
+
/**
|
|
1373
|
+
* The value used to identify this tab. Defaults to the label if not provided.
|
|
1374
|
+
*/
|
|
1375
|
+
"value"?: string;
|
|
1376
|
+
}
|
|
1377
|
+
/**
|
|
1378
|
+
* A flexible tabs component for organizing content into tabbed panels.
|
|
1379
|
+
* Supports two modes:
|
|
1380
|
+
* 1. **Declarative**: Use `<le-tab-panel>` children to define tabs and content
|
|
1381
|
+
* 2. **Programmatic**: Use the `tabs` prop with named slots for content
|
|
1382
|
+
* Full keyboard navigation and ARIA support included.
|
|
1383
|
+
* @cssprop --le-tabs-border-color - Border color for tab list
|
|
1384
|
+
* @cssprop --le-tabs-gap - Gap between tabs
|
|
1385
|
+
* @cssprop --le-tabs-indicator-color - Active tab indicator color
|
|
1386
|
+
* @cssprop --le-tabs-padding-x - Horizontal padding for tab buttons
|
|
1387
|
+
* @cssprop --le-tabs-padding-y - Vertical padding for tab buttons
|
|
1388
|
+
* @csspart tablist - The tab button container (role="tablist")
|
|
1389
|
+
* @csspart tab - Individual tab buttons
|
|
1390
|
+
* @csspart tab-active - The currently active tab
|
|
1391
|
+
* @csspart panels - Container for panel content
|
|
1392
|
+
* @csspart panel - Individual panel containers
|
|
1393
|
+
* @cmsEditable true
|
|
1394
|
+
* @cmsCategory Navigation
|
|
1395
|
+
*/
|
|
1396
|
+
interface LeTabs {
|
|
1397
|
+
/**
|
|
1398
|
+
* Whether tabs should stretch to fill available width.
|
|
1399
|
+
* @default false
|
|
1400
|
+
*/
|
|
1401
|
+
"fullWidth": boolean;
|
|
1402
|
+
/**
|
|
1403
|
+
* Orientation of the tabs.
|
|
1404
|
+
* @allowedValues horizontal | vertical
|
|
1405
|
+
* @default 'horizontal'
|
|
1406
|
+
*/
|
|
1407
|
+
"orientation": 'horizontal' | 'vertical';
|
|
1408
|
+
/**
|
|
1409
|
+
* Scroll behavior for overflowing tabs.
|
|
1410
|
+
* @allowedValues auto | hidden | visible | scroll
|
|
1411
|
+
* @default 'auto'
|
|
1412
|
+
*/
|
|
1413
|
+
"overflow": 'auto' | 'hidden' | 'visible' | 'scroll';
|
|
1414
|
+
/**
|
|
1415
|
+
* Position of the tabs relative to the panels.
|
|
1416
|
+
* @allowedValues start | end
|
|
1417
|
+
* @default 'start'
|
|
1418
|
+
*/
|
|
1419
|
+
"position": 'start' | 'end';
|
|
1420
|
+
/**
|
|
1421
|
+
* The value of the currently selected tab. If not provided, defaults to the first tab.
|
|
1422
|
+
*/
|
|
1423
|
+
"selected"?: LeOptionValue;
|
|
1424
|
+
/**
|
|
1425
|
+
* Size of the tabs.
|
|
1426
|
+
* @allowedValues sm | md | lg
|
|
1427
|
+
* @default 'medium'
|
|
1428
|
+
*/
|
|
1429
|
+
"size": 'small' | 'medium' | 'large';
|
|
1430
|
+
/**
|
|
1431
|
+
* Array of tab options (programmatic mode). If le-tab-panel children exist, they take precedence.
|
|
1432
|
+
* @default []
|
|
1433
|
+
*/
|
|
1434
|
+
"tabs": LeOption[];
|
|
1435
|
+
/**
|
|
1436
|
+
* Tab variant style.
|
|
1437
|
+
* @allowedValues underlined | solid | pills | enclosed | icon-only
|
|
1438
|
+
* @default 'underlined'
|
|
1439
|
+
*/
|
|
1440
|
+
"variant": 'underlined' | 'solid' | 'pills' | 'enclosed' | 'icon-only';
|
|
1441
|
+
/**
|
|
1442
|
+
* Wrap the tabs if they exceed container width.
|
|
1443
|
+
* @default false
|
|
1444
|
+
*/
|
|
1445
|
+
"wrap": boolean;
|
|
1446
|
+
}
|
|
1447
|
+
/**
|
|
1448
|
+
* A tag/chip component for displaying labels with optional dismiss functionality.
|
|
1449
|
+
* @cmsEditable false
|
|
1450
|
+
* @cmsCategory Form
|
|
1451
|
+
* @example Basic tag
|
|
1452
|
+
* ```html
|
|
1453
|
+
* <le-tag label="JavaScript"></le-tag>
|
|
1454
|
+
* ```
|
|
1455
|
+
* @example Dismissible tag
|
|
1456
|
+
* ```html
|
|
1457
|
+
* <le-tag label="Remove me" dismissible></le-tag>
|
|
1458
|
+
* ```
|
|
1459
|
+
* @example With icon
|
|
1460
|
+
* ```html
|
|
1461
|
+
* <le-tag label="Settings" icon="⚙️"></le-tag>
|
|
1462
|
+
* ```
|
|
1463
|
+
* @example Different sizes
|
|
1464
|
+
* ```html
|
|
1465
|
+
* <le-tag label="Small" size="small"></le-tag>
|
|
1466
|
+
* <le-tag label="Medium" size="medium"></le-tag>
|
|
1467
|
+
* <le-tag label="Large" size="large"></le-tag>
|
|
1468
|
+
* ```
|
|
1469
|
+
* @example Different variants
|
|
1470
|
+
* ```html
|
|
1471
|
+
* <le-tag label="Default" variant="default"></le-tag>
|
|
1472
|
+
* <le-tag label="Primary" variant="primary"></le-tag>
|
|
1473
|
+
* <le-tag label="Success" variant="success"></le-tag>
|
|
1474
|
+
* <le-tag label="Warning" variant="warning"></le-tag>
|
|
1475
|
+
* <le-tag label="Danger" variant="danger"></le-tag>
|
|
1476
|
+
* ```
|
|
1477
|
+
*/
|
|
1478
|
+
interface LeTag {
|
|
1479
|
+
/**
|
|
1480
|
+
* Whether the tag is disabled.
|
|
1481
|
+
* @default false
|
|
1482
|
+
*/
|
|
1483
|
+
"disabled": boolean;
|
|
1484
|
+
/**
|
|
1485
|
+
* Whether the tag can be dismissed (shows close button).
|
|
1486
|
+
* @default false
|
|
1487
|
+
*/
|
|
1488
|
+
"dismissible": boolean;
|
|
1489
|
+
/**
|
|
1490
|
+
* Icon to display before the label. Can be an emoji, URL, or icon name.
|
|
1491
|
+
*/
|
|
1492
|
+
"icon"?: string;
|
|
1493
|
+
/**
|
|
1494
|
+
* The text label to display in the tag.
|
|
1495
|
+
*/
|
|
1496
|
+
"label": string;
|
|
1497
|
+
/**
|
|
1498
|
+
* Mode of the popover should be 'default' for internal use
|
|
1499
|
+
*/
|
|
1500
|
+
"mode": 'default' | 'admin';
|
|
1501
|
+
/**
|
|
1502
|
+
* The size of the tag.
|
|
1503
|
+
* @default 'medium'
|
|
1504
|
+
*/
|
|
1505
|
+
"size": 'small' | 'medium' | 'large';
|
|
1506
|
+
/**
|
|
1507
|
+
* The visual variant of the tag.
|
|
1508
|
+
* @default 'default'
|
|
1509
|
+
*/
|
|
1510
|
+
"variant": 'default' | 'primary' | 'success' | 'warning' | 'danger';
|
|
1511
|
+
}
|
|
1512
|
+
/**
|
|
1513
|
+
* A text component with rich text editing capabilities in admin mode.
|
|
1514
|
+
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
1515
|
+
* and provides a Notion-like rich text editor in admin mode with formatting
|
|
1516
|
+
* toolbar for bold, italic, links, and paragraph type selection.
|
|
1517
|
+
* @cssprop --le-text-color - Text color
|
|
1518
|
+
* @cssprop --le-text-font-size - Font size
|
|
707
1519
|
* @cssprop --le-text-line-height - Line height
|
|
708
1520
|
* @cssprop --le-text-font-weight - Font weight
|
|
709
1521
|
* @csspart text - The text container element
|
|
@@ -756,6 +1568,18 @@ export interface LeCheckboxCustomEvent<T> extends CustomEvent<T> {
|
|
|
756
1568
|
detail: T;
|
|
757
1569
|
target: HTMLLeCheckboxElement;
|
|
758
1570
|
}
|
|
1571
|
+
export interface LeComboboxCustomEvent<T> extends CustomEvent<T> {
|
|
1572
|
+
detail: T;
|
|
1573
|
+
target: HTMLLeComboboxElement;
|
|
1574
|
+
}
|
|
1575
|
+
export interface LeDropdownBaseCustomEvent<T> extends CustomEvent<T> {
|
|
1576
|
+
detail: T;
|
|
1577
|
+
target: HTMLLeDropdownBaseElement;
|
|
1578
|
+
}
|
|
1579
|
+
export interface LeMultiselectCustomEvent<T> extends CustomEvent<T> {
|
|
1580
|
+
detail: T;
|
|
1581
|
+
target: HTMLLeMultiselectElement;
|
|
1582
|
+
}
|
|
759
1583
|
export interface LeNumberInputCustomEvent<T> extends CustomEvent<T> {
|
|
760
1584
|
detail: T;
|
|
761
1585
|
target: HTMLLeNumberInputElement;
|
|
@@ -768,6 +1592,14 @@ export interface LePopupCustomEvent<T> extends CustomEvent<T> {
|
|
|
768
1592
|
detail: T;
|
|
769
1593
|
target: HTMLLePopupElement;
|
|
770
1594
|
}
|
|
1595
|
+
export interface LeSegmentedControlCustomEvent<T> extends CustomEvent<T> {
|
|
1596
|
+
detail: T;
|
|
1597
|
+
target: HTMLLeSegmentedControlElement;
|
|
1598
|
+
}
|
|
1599
|
+
export interface LeSelectCustomEvent<T> extends CustomEvent<T> {
|
|
1600
|
+
detail: T;
|
|
1601
|
+
target: HTMLLeSelectElement;
|
|
1602
|
+
}
|
|
771
1603
|
export interface LeSlotCustomEvent<T> extends CustomEvent<T> {
|
|
772
1604
|
detail: T;
|
|
773
1605
|
target: HTMLLeSlotElement;
|
|
@@ -776,6 +1608,22 @@ export interface LeStringInputCustomEvent<T> extends CustomEvent<T> {
|
|
|
776
1608
|
detail: T;
|
|
777
1609
|
target: HTMLLeStringInputElement;
|
|
778
1610
|
}
|
|
1611
|
+
export interface LeTabCustomEvent<T> extends CustomEvent<T> {
|
|
1612
|
+
detail: T;
|
|
1613
|
+
target: HTMLLeTabElement;
|
|
1614
|
+
}
|
|
1615
|
+
export interface LeTabBarCustomEvent<T> extends CustomEvent<T> {
|
|
1616
|
+
detail: T;
|
|
1617
|
+
target: HTMLLeTabBarElement;
|
|
1618
|
+
}
|
|
1619
|
+
export interface LeTabsCustomEvent<T> extends CustomEvent<T> {
|
|
1620
|
+
detail: T;
|
|
1621
|
+
target: HTMLLeTabsElement;
|
|
1622
|
+
}
|
|
1623
|
+
export interface LeTagCustomEvent<T> extends CustomEvent<T> {
|
|
1624
|
+
detail: T;
|
|
1625
|
+
target: HTMLLeTagElement;
|
|
1626
|
+
}
|
|
779
1627
|
declare global {
|
|
780
1628
|
/**
|
|
781
1629
|
* A flexible box component for use as a flex item within le-stack.
|
|
@@ -807,6 +1655,8 @@ declare global {
|
|
|
807
1655
|
* @cssprop --le-button-padding-y - Button vertical padding
|
|
808
1656
|
* @csspart button - The native button element
|
|
809
1657
|
* @csspart content - The button content wrapper
|
|
1658
|
+
* @csspart icon-start - The start icon slot
|
|
1659
|
+
* @csspart icon-end - The end icon slot
|
|
810
1660
|
* @cmsEditable true
|
|
811
1661
|
* @cmsCategory Actions
|
|
812
1662
|
*/
|
|
@@ -870,6 +1720,48 @@ declare global {
|
|
|
870
1720
|
prototype: HTMLLeCheckboxElement;
|
|
871
1721
|
new (): HTMLLeCheckboxElement;
|
|
872
1722
|
};
|
|
1723
|
+
interface HTMLLeComboboxElementEventMap {
|
|
1724
|
+
"leChange": LeOptionSelectDetail;
|
|
1725
|
+
"leInput": { value: string };
|
|
1726
|
+
"leOpen": void;
|
|
1727
|
+
"leClose": void;
|
|
1728
|
+
}
|
|
1729
|
+
/**
|
|
1730
|
+
* A combobox component with searchable dropdown.
|
|
1731
|
+
* Combines a text input with a dropdown list, allowing users to
|
|
1732
|
+
* filter options by typing or select from the list.
|
|
1733
|
+
* @cmsEditable true
|
|
1734
|
+
* @cmsCategory Form
|
|
1735
|
+
* @example Basic combobox
|
|
1736
|
+
* ```html
|
|
1737
|
+
* <le-combobox
|
|
1738
|
+
* placeholder="Search..."
|
|
1739
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
1740
|
+
* ></le-combobox>
|
|
1741
|
+
* ```
|
|
1742
|
+
* @example Allow custom values
|
|
1743
|
+
* ```html
|
|
1744
|
+
* <le-combobox
|
|
1745
|
+
* placeholder="Type or select..."
|
|
1746
|
+
* allow-custom
|
|
1747
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
1748
|
+
* ></le-combobox>
|
|
1749
|
+
* ```
|
|
1750
|
+
*/
|
|
1751
|
+
interface HTMLLeComboboxElement extends Components.LeCombobox, HTMLStencilElement {
|
|
1752
|
+
addEventListener<K extends keyof HTMLLeComboboxElementEventMap>(type: K, listener: (this: HTMLLeComboboxElement, ev: LeComboboxCustomEvent<HTMLLeComboboxElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1753
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1754
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1755
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1756
|
+
removeEventListener<K extends keyof HTMLLeComboboxElementEventMap>(type: K, listener: (this: HTMLLeComboboxElement, ev: LeComboboxCustomEvent<HTMLLeComboboxElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1757
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1758
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1759
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1760
|
+
}
|
|
1761
|
+
var HTMLLeComboboxElement: {
|
|
1762
|
+
prototype: HTMLLeComboboxElement;
|
|
1763
|
+
new (): HTMLLeComboboxElement;
|
|
1764
|
+
};
|
|
873
1765
|
/**
|
|
874
1766
|
* Component wrapper for admin mode editing.
|
|
875
1767
|
* This component is used internally by other components to provide admin-mode
|
|
@@ -897,6 +1789,83 @@ declare global {
|
|
|
897
1789
|
prototype: HTMLLeComponentElement;
|
|
898
1790
|
new (): HTMLLeComponentElement;
|
|
899
1791
|
};
|
|
1792
|
+
interface HTMLLeDropdownBaseElementEventMap {
|
|
1793
|
+
"leOptionSelect": LeOptionSelectDetail;
|
|
1794
|
+
"leDropdownOpen": void;
|
|
1795
|
+
"leDropdownClose": void;
|
|
1796
|
+
}
|
|
1797
|
+
/**
|
|
1798
|
+
* Internal dropdown base component that provides shared functionality
|
|
1799
|
+
* for select, combobox, and multiselect components.
|
|
1800
|
+
* Wraps le-popover for positioning and provides:
|
|
1801
|
+
* - Option list rendering with groups
|
|
1802
|
+
* - Keyboard navigation (↑↓, Enter, Escape, Home/End)
|
|
1803
|
+
* - Option filtering support
|
|
1804
|
+
* - Single and multi-select modes
|
|
1805
|
+
* @cmsInternal true
|
|
1806
|
+
* @cmsCategory System
|
|
1807
|
+
*/
|
|
1808
|
+
interface HTMLLeDropdownBaseElement extends Components.LeDropdownBase, HTMLStencilElement {
|
|
1809
|
+
addEventListener<K extends keyof HTMLLeDropdownBaseElementEventMap>(type: K, listener: (this: HTMLLeDropdownBaseElement, ev: LeDropdownBaseCustomEvent<HTMLLeDropdownBaseElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1810
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1811
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1812
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1813
|
+
removeEventListener<K extends keyof HTMLLeDropdownBaseElementEventMap>(type: K, listener: (this: HTMLLeDropdownBaseElement, ev: LeDropdownBaseCustomEvent<HTMLLeDropdownBaseElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1814
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1815
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1816
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1817
|
+
}
|
|
1818
|
+
var HTMLLeDropdownBaseElement: {
|
|
1819
|
+
prototype: HTMLLeDropdownBaseElement;
|
|
1820
|
+
new (): HTMLLeDropdownBaseElement;
|
|
1821
|
+
};
|
|
1822
|
+
interface HTMLLeMultiselectElementEventMap {
|
|
1823
|
+
"leChange": LeMultiOptionSelectDetail;
|
|
1824
|
+
"leOpen": void;
|
|
1825
|
+
"leClose": void;
|
|
1826
|
+
}
|
|
1827
|
+
/**
|
|
1828
|
+
* A multiselect component for selecting multiple options.
|
|
1829
|
+
* Displays selected items as tags with optional search filtering.
|
|
1830
|
+
* @cmsEditable true
|
|
1831
|
+
* @cmsCategory Form
|
|
1832
|
+
* @example Basic multiselect
|
|
1833
|
+
* ```html
|
|
1834
|
+
* <le-multiselect
|
|
1835
|
+
* placeholder="Select options..."
|
|
1836
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
1837
|
+
* ></le-multiselect>
|
|
1838
|
+
* ```
|
|
1839
|
+
* @example With max selections
|
|
1840
|
+
* ```html
|
|
1841
|
+
* <le-multiselect
|
|
1842
|
+
* max-selections="3"
|
|
1843
|
+
* options='[{"label": "Option 1"}, {"label": "Option 2"}, {"label": "Option 3"}, {"label": "Option 4"}]'
|
|
1844
|
+
* ></le-multiselect>
|
|
1845
|
+
* ```
|
|
1846
|
+
* @example With search
|
|
1847
|
+
* ```html
|
|
1848
|
+
* <le-multiselect
|
|
1849
|
+
* searchable
|
|
1850
|
+
* placeholder="Search and select..."
|
|
1851
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
1852
|
+
* ></le-multiselect>
|
|
1853
|
+
* ```
|
|
1854
|
+
*/
|
|
1855
|
+
interface HTMLLeMultiselectElement extends Components.LeMultiselect, HTMLStencilElement {
|
|
1856
|
+
addEventListener<K extends keyof HTMLLeMultiselectElementEventMap>(type: K, listener: (this: HTMLLeMultiselectElement, ev: LeMultiselectCustomEvent<HTMLLeMultiselectElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1857
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1858
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1859
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1860
|
+
removeEventListener<K extends keyof HTMLLeMultiselectElementEventMap>(type: K, listener: (this: HTMLLeMultiselectElement, ev: LeMultiselectCustomEvent<HTMLLeMultiselectElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1861
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1862
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1863
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1864
|
+
}
|
|
1865
|
+
var HTMLLeMultiselectElement: {
|
|
1866
|
+
prototype: HTMLLeMultiselectElement;
|
|
1867
|
+
new (): HTMLLeMultiselectElement;
|
|
1868
|
+
};
|
|
900
1869
|
interface HTMLLeNumberInputElementEventMap {
|
|
901
1870
|
"leChange": { value: number; name: string; externalId: string; isValid: boolean };
|
|
902
1871
|
"leInput": { value: number; name: string; externalId: string; isValid: boolean };
|
|
@@ -933,6 +1902,8 @@ declare global {
|
|
|
933
1902
|
* A popover component for displaying floating content.
|
|
934
1903
|
* Uses the native HTML Popover API for proper layering with dialogs
|
|
935
1904
|
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
1905
|
+
* @csspart trigger - The popover trigger element
|
|
1906
|
+
* @csspart content - The popover content wrapper
|
|
936
1907
|
* @cmsInternal true
|
|
937
1908
|
* @cmsCategory System
|
|
938
1909
|
*/
|
|
@@ -959,7 +1930,7 @@ declare global {
|
|
|
959
1930
|
/**
|
|
960
1931
|
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
961
1932
|
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
962
|
-
* and focus management. Can be used declaratively in HTML or programmatically
|
|
1933
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
963
1934
|
* via leAlert(), leConfirm(), lePrompt().
|
|
964
1935
|
* @cmsInternal true
|
|
965
1936
|
* @cmsCategory System
|
|
@@ -984,6 +1955,85 @@ declare global {
|
|
|
984
1955
|
prototype: HTMLLeRoundProgressElement;
|
|
985
1956
|
new (): HTMLLeRoundProgressElement;
|
|
986
1957
|
};
|
|
1958
|
+
interface HTMLLeSegmentedControlElementEventMap {
|
|
1959
|
+
"leChange": LeOptionSelectDetail;
|
|
1960
|
+
}
|
|
1961
|
+
/**
|
|
1962
|
+
* A segmented control component (iOS-style toggle buttons).
|
|
1963
|
+
* Perfect for toggling between a small set of related options.
|
|
1964
|
+
* @cssprop --le-segmented-bg - Background color of the control
|
|
1965
|
+
* @cssprop --le-segmented-padding - Padding around segments
|
|
1966
|
+
* @cssprop --le-segmented-gap - Gap between segments
|
|
1967
|
+
* @cssprop --le-segmented-radius - Border radius of the control
|
|
1968
|
+
* @csspart container - The main container
|
|
1969
|
+
* @csspart segment - Individual segment buttons
|
|
1970
|
+
* @csspart segment-active - The currently active segment
|
|
1971
|
+
* @cmsEditable true
|
|
1972
|
+
* @cmsCategory Form
|
|
1973
|
+
*/
|
|
1974
|
+
interface HTMLLeSegmentedControlElement extends Components.LeSegmentedControl, HTMLStencilElement {
|
|
1975
|
+
addEventListener<K extends keyof HTMLLeSegmentedControlElementEventMap>(type: K, listener: (this: HTMLLeSegmentedControlElement, ev: LeSegmentedControlCustomEvent<HTMLLeSegmentedControlElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1976
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1977
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1978
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1979
|
+
removeEventListener<K extends keyof HTMLLeSegmentedControlElementEventMap>(type: K, listener: (this: HTMLLeSegmentedControlElement, ev: LeSegmentedControlCustomEvent<HTMLLeSegmentedControlElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1980
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1981
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1982
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1983
|
+
}
|
|
1984
|
+
var HTMLLeSegmentedControlElement: {
|
|
1985
|
+
prototype: HTMLLeSegmentedControlElement;
|
|
1986
|
+
new (): HTMLLeSegmentedControlElement;
|
|
1987
|
+
};
|
|
1988
|
+
interface HTMLLeSelectElementEventMap {
|
|
1989
|
+
"leChange": LeOptionSelectDetail;
|
|
1990
|
+
"leOpen": void;
|
|
1991
|
+
"leClose": void;
|
|
1992
|
+
}
|
|
1993
|
+
/**
|
|
1994
|
+
* A select dropdown component for single selection.
|
|
1995
|
+
* @cmsEditable true
|
|
1996
|
+
* @cmsCategory Form
|
|
1997
|
+
* @example Basic select
|
|
1998
|
+
* ```html
|
|
1999
|
+
* <le-select
|
|
2000
|
+
* placeholder="Choose an option"
|
|
2001
|
+
* options='[{"label": "Option 1", "value": "1"}, {"label": "Option 2", "value": "2"}]'
|
|
2002
|
+
* ></le-select>
|
|
2003
|
+
* ```
|
|
2004
|
+
* @example With icons
|
|
2005
|
+
* ```html
|
|
2006
|
+
* <le-select
|
|
2007
|
+
* options='[
|
|
2008
|
+
* {"label": "Apple", "value": "apple", "iconStart": "🍎"},
|
|
2009
|
+
* {"label": "Banana", "value": "banana", "iconStart": "🍌"}
|
|
2010
|
+
* ]'
|
|
2011
|
+
* ></le-select>
|
|
2012
|
+
* ```
|
|
2013
|
+
* @example Grouped options
|
|
2014
|
+
* ```html
|
|
2015
|
+
* <le-select
|
|
2016
|
+
* options='[
|
|
2017
|
+
* {"label": "Apple", "value": "apple", "group": "Fruits"},
|
|
2018
|
+
* {"label": "Carrot", "value": "carrot", "group": "Vegetables"}
|
|
2019
|
+
* ]'
|
|
2020
|
+
* ></le-select>
|
|
2021
|
+
* ```
|
|
2022
|
+
*/
|
|
2023
|
+
interface HTMLLeSelectElement extends Components.LeSelect, HTMLStencilElement {
|
|
2024
|
+
addEventListener<K extends keyof HTMLLeSelectElementEventMap>(type: K, listener: (this: HTMLLeSelectElement, ev: LeSelectCustomEvent<HTMLLeSelectElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2025
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2026
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2027
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2028
|
+
removeEventListener<K extends keyof HTMLLeSelectElementEventMap>(type: K, listener: (this: HTMLLeSelectElement, ev: LeSelectCustomEvent<HTMLLeSelectElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2029
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2030
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2031
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2032
|
+
}
|
|
2033
|
+
var HTMLLeSelectElement: {
|
|
2034
|
+
prototype: HTMLLeSelectElement;
|
|
2035
|
+
new (): HTMLLeSelectElement;
|
|
2036
|
+
};
|
|
987
2037
|
interface HTMLLeSlotElementEventMap {
|
|
988
2038
|
"leSlotChange": { name: string; value: string; isValid: boolean };
|
|
989
2039
|
}
|
|
@@ -1026,8 +2076,16 @@ declare global {
|
|
|
1026
2076
|
new (): HTMLLeStackElement;
|
|
1027
2077
|
};
|
|
1028
2078
|
interface HTMLLeStringInputElementEventMap {
|
|
1029
|
-
"change": {
|
|
1030
|
-
|
|
2079
|
+
"change": {
|
|
2080
|
+
value: string;
|
|
2081
|
+
name: string;
|
|
2082
|
+
externalId: string;
|
|
2083
|
+
};
|
|
2084
|
+
"input": {
|
|
2085
|
+
value: string;
|
|
2086
|
+
name: string;
|
|
2087
|
+
externalId: string;
|
|
2088
|
+
};
|
|
1031
2089
|
}
|
|
1032
2090
|
/**
|
|
1033
2091
|
* A text input component with support for labels, descriptions, icons, and external IDs.
|
|
@@ -1052,6 +2110,168 @@ declare global {
|
|
|
1052
2110
|
prototype: HTMLLeStringInputElement;
|
|
1053
2111
|
new (): HTMLLeStringInputElement;
|
|
1054
2112
|
};
|
|
2113
|
+
interface HTMLLeTabElementEventMap {
|
|
2114
|
+
"click": PointerEvent;
|
|
2115
|
+
}
|
|
2116
|
+
/**
|
|
2117
|
+
* A flexible tab component with multiple variants and states.
|
|
2118
|
+
* @cssprop --le-tab-bg - Tab background color
|
|
2119
|
+
* @cssprop --le-tab-color - Tab text color
|
|
2120
|
+
* @cssprop --le-tab-border-radius - Tab border radius
|
|
2121
|
+
* @cssprop --le-tab-padding-x - Tab horizontal padding
|
|
2122
|
+
* @cssprop --le-tab-padding-y - Tab vertical padding
|
|
2123
|
+
* @csspart button - The native button element
|
|
2124
|
+
* @csspart content - The tab content wrapper
|
|
2125
|
+
* @csspart icon-start - The start icon slot
|
|
2126
|
+
* @csspart icon-end - The end icon slot
|
|
2127
|
+
* @cmsEditable true
|
|
2128
|
+
* @cmsCategory Actions
|
|
2129
|
+
*/
|
|
2130
|
+
interface HTMLLeTabElement extends Components.LeTab, HTMLStencilElement {
|
|
2131
|
+
addEventListener<K extends keyof HTMLLeTabElementEventMap>(type: K, listener: (this: HTMLLeTabElement, ev: LeTabCustomEvent<HTMLLeTabElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2132
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2133
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2134
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2135
|
+
removeEventListener<K extends keyof HTMLLeTabElementEventMap>(type: K, listener: (this: HTMLLeTabElement, ev: LeTabCustomEvent<HTMLLeTabElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2136
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2137
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2138
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2139
|
+
}
|
|
2140
|
+
var HTMLLeTabElement: {
|
|
2141
|
+
prototype: HTMLLeTabElement;
|
|
2142
|
+
new (): HTMLLeTabElement;
|
|
2143
|
+
};
|
|
2144
|
+
interface HTMLLeTabBarElementEventMap {
|
|
2145
|
+
"leTabChange": LeOptionSelectDetail;
|
|
2146
|
+
}
|
|
2147
|
+
/**
|
|
2148
|
+
* A presentational tab bar component without panels.
|
|
2149
|
+
* Use this for navigation/routing scenarios where you manage the content
|
|
2150
|
+
* externally based on the selection events. For tabs with built-in panels,
|
|
2151
|
+
* use `le-tabs` instead.
|
|
2152
|
+
* @cssprop --le-tab-bar-border-color - Border color
|
|
2153
|
+
* @cssprop --le-tab-bar-gap - Gap between tabs
|
|
2154
|
+
* @cssprop --le-tab-bar-indicator-color - Active indicator color
|
|
2155
|
+
* @cssprop --le-tab-bar-padding-x - Horizontal padding for tabs
|
|
2156
|
+
* @cssprop --le-tab-bar-padding-y - Vertical padding for tabs
|
|
2157
|
+
* @csspart tablist - The tab button container
|
|
2158
|
+
* @csspart tab - Individual tab buttons
|
|
2159
|
+
* @csspart tab-active - The currently active tab
|
|
2160
|
+
* @cmsEditable true
|
|
2161
|
+
* @cmsCategory Navigation
|
|
2162
|
+
*/
|
|
2163
|
+
interface HTMLLeTabBarElement extends Components.LeTabBar, HTMLStencilElement {
|
|
2164
|
+
addEventListener<K extends keyof HTMLLeTabBarElementEventMap>(type: K, listener: (this: HTMLLeTabBarElement, ev: LeTabBarCustomEvent<HTMLLeTabBarElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2165
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2166
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2167
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2168
|
+
removeEventListener<K extends keyof HTMLLeTabBarElementEventMap>(type: K, listener: (this: HTMLLeTabBarElement, ev: LeTabBarCustomEvent<HTMLLeTabBarElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2169
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2170
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2171
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2172
|
+
}
|
|
2173
|
+
var HTMLLeTabBarElement: {
|
|
2174
|
+
prototype: HTMLLeTabBarElement;
|
|
2175
|
+
new (): HTMLLeTabBarElement;
|
|
2176
|
+
};
|
|
2177
|
+
/**
|
|
2178
|
+
* A tab panel component used as a child of le-tabs.
|
|
2179
|
+
* Each le-tab-panel defines both the tab button label and the panel content.
|
|
2180
|
+
* The parent le-tabs component automatically reads these panels and creates
|
|
2181
|
+
* the tab interface.
|
|
2182
|
+
* @cmsEditable true
|
|
2183
|
+
* @cmsCategory Navigation
|
|
2184
|
+
*/
|
|
2185
|
+
interface HTMLLeTabPanelElement extends Components.LeTabPanel, HTMLStencilElement {
|
|
2186
|
+
}
|
|
2187
|
+
var HTMLLeTabPanelElement: {
|
|
2188
|
+
prototype: HTMLLeTabPanelElement;
|
|
2189
|
+
new (): HTMLLeTabPanelElement;
|
|
2190
|
+
};
|
|
2191
|
+
interface HTMLLeTabsElementEventMap {
|
|
2192
|
+
"leTabChange": LeOptionSelectDetail;
|
|
2193
|
+
}
|
|
2194
|
+
/**
|
|
2195
|
+
* A flexible tabs component for organizing content into tabbed panels.
|
|
2196
|
+
* Supports two modes:
|
|
2197
|
+
* 1. **Declarative**: Use `<le-tab-panel>` children to define tabs and content
|
|
2198
|
+
* 2. **Programmatic**: Use the `tabs` prop with named slots for content
|
|
2199
|
+
* Full keyboard navigation and ARIA support included.
|
|
2200
|
+
* @cssprop --le-tabs-border-color - Border color for tab list
|
|
2201
|
+
* @cssprop --le-tabs-gap - Gap between tabs
|
|
2202
|
+
* @cssprop --le-tabs-indicator-color - Active tab indicator color
|
|
2203
|
+
* @cssprop --le-tabs-padding-x - Horizontal padding for tab buttons
|
|
2204
|
+
* @cssprop --le-tabs-padding-y - Vertical padding for tab buttons
|
|
2205
|
+
* @csspart tablist - The tab button container (role="tablist")
|
|
2206
|
+
* @csspart tab - Individual tab buttons
|
|
2207
|
+
* @csspart tab-active - The currently active tab
|
|
2208
|
+
* @csspart panels - Container for panel content
|
|
2209
|
+
* @csspart panel - Individual panel containers
|
|
2210
|
+
* @cmsEditable true
|
|
2211
|
+
* @cmsCategory Navigation
|
|
2212
|
+
*/
|
|
2213
|
+
interface HTMLLeTabsElement extends Components.LeTabs, HTMLStencilElement {
|
|
2214
|
+
addEventListener<K extends keyof HTMLLeTabsElementEventMap>(type: K, listener: (this: HTMLLeTabsElement, ev: LeTabsCustomEvent<HTMLLeTabsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2215
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2216
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2217
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2218
|
+
removeEventListener<K extends keyof HTMLLeTabsElementEventMap>(type: K, listener: (this: HTMLLeTabsElement, ev: LeTabsCustomEvent<HTMLLeTabsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2219
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2220
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2221
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2222
|
+
}
|
|
2223
|
+
var HTMLLeTabsElement: {
|
|
2224
|
+
prototype: HTMLLeTabsElement;
|
|
2225
|
+
new (): HTMLLeTabsElement;
|
|
2226
|
+
};
|
|
2227
|
+
interface HTMLLeTagElementEventMap {
|
|
2228
|
+
"leDismiss": void;
|
|
2229
|
+
}
|
|
2230
|
+
/**
|
|
2231
|
+
* A tag/chip component for displaying labels with optional dismiss functionality.
|
|
2232
|
+
* @cmsEditable false
|
|
2233
|
+
* @cmsCategory Form
|
|
2234
|
+
* @example Basic tag
|
|
2235
|
+
* ```html
|
|
2236
|
+
* <le-tag label="JavaScript"></le-tag>
|
|
2237
|
+
* ```
|
|
2238
|
+
* @example Dismissible tag
|
|
2239
|
+
* ```html
|
|
2240
|
+
* <le-tag label="Remove me" dismissible></le-tag>
|
|
2241
|
+
* ```
|
|
2242
|
+
* @example With icon
|
|
2243
|
+
* ```html
|
|
2244
|
+
* <le-tag label="Settings" icon="⚙️"></le-tag>
|
|
2245
|
+
* ```
|
|
2246
|
+
* @example Different sizes
|
|
2247
|
+
* ```html
|
|
2248
|
+
* <le-tag label="Small" size="small"></le-tag>
|
|
2249
|
+
* <le-tag label="Medium" size="medium"></le-tag>
|
|
2250
|
+
* <le-tag label="Large" size="large"></le-tag>
|
|
2251
|
+
* ```
|
|
2252
|
+
* @example Different variants
|
|
2253
|
+
* ```html
|
|
2254
|
+
* <le-tag label="Default" variant="default"></le-tag>
|
|
2255
|
+
* <le-tag label="Primary" variant="primary"></le-tag>
|
|
2256
|
+
* <le-tag label="Success" variant="success"></le-tag>
|
|
2257
|
+
* <le-tag label="Warning" variant="warning"></le-tag>
|
|
2258
|
+
* <le-tag label="Danger" variant="danger"></le-tag>
|
|
2259
|
+
* ```
|
|
2260
|
+
*/
|
|
2261
|
+
interface HTMLLeTagElement extends Components.LeTag, HTMLStencilElement {
|
|
2262
|
+
addEventListener<K extends keyof HTMLLeTagElementEventMap>(type: K, listener: (this: HTMLLeTagElement, ev: LeTagCustomEvent<HTMLLeTagElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2263
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2264
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2265
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2266
|
+
removeEventListener<K extends keyof HTMLLeTagElementEventMap>(type: K, listener: (this: HTMLLeTagElement, ev: LeTagCustomEvent<HTMLLeTagElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2267
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2268
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2269
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2270
|
+
}
|
|
2271
|
+
var HTMLLeTagElement: {
|
|
2272
|
+
prototype: HTMLLeTagElement;
|
|
2273
|
+
new (): HTMLLeTagElement;
|
|
2274
|
+
};
|
|
1055
2275
|
/**
|
|
1056
2276
|
* A text component with rich text editing capabilities in admin mode.
|
|
1057
2277
|
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
@@ -1082,14 +2302,24 @@ declare global {
|
|
|
1082
2302
|
"le-button": HTMLLeButtonElement;
|
|
1083
2303
|
"le-card": HTMLLeCardElement;
|
|
1084
2304
|
"le-checkbox": HTMLLeCheckboxElement;
|
|
2305
|
+
"le-combobox": HTMLLeComboboxElement;
|
|
1085
2306
|
"le-component": HTMLLeComponentElement;
|
|
2307
|
+
"le-dropdown-base": HTMLLeDropdownBaseElement;
|
|
2308
|
+
"le-multiselect": HTMLLeMultiselectElement;
|
|
1086
2309
|
"le-number-input": HTMLLeNumberInputElement;
|
|
1087
2310
|
"le-popover": HTMLLePopoverElement;
|
|
1088
2311
|
"le-popup": HTMLLePopupElement;
|
|
1089
2312
|
"le-round-progress": HTMLLeRoundProgressElement;
|
|
2313
|
+
"le-segmented-control": HTMLLeSegmentedControlElement;
|
|
2314
|
+
"le-select": HTMLLeSelectElement;
|
|
1090
2315
|
"le-slot": HTMLLeSlotElement;
|
|
1091
2316
|
"le-stack": HTMLLeStackElement;
|
|
1092
2317
|
"le-string-input": HTMLLeStringInputElement;
|
|
2318
|
+
"le-tab": HTMLLeTabElement;
|
|
2319
|
+
"le-tab-bar": HTMLLeTabBarElement;
|
|
2320
|
+
"le-tab-panel": HTMLLeTabPanelElement;
|
|
2321
|
+
"le-tabs": HTMLLeTabsElement;
|
|
2322
|
+
"le-tag": HTMLLeTagElement;
|
|
1093
2323
|
"le-text": HTMLLeTextElement;
|
|
1094
2324
|
"le-turntable": HTMLLeTurntableElement;
|
|
1095
2325
|
}
|
|
@@ -1212,10 +2442,18 @@ declare namespace LocalJSX {
|
|
|
1212
2442
|
* @cssprop --le-button-padding-y - Button vertical padding
|
|
1213
2443
|
* @csspart button - The native button element
|
|
1214
2444
|
* @csspart content - The button content wrapper
|
|
2445
|
+
* @csspart icon-start - The start icon slot
|
|
2446
|
+
* @csspart icon-end - The end icon slot
|
|
1215
2447
|
* @cmsEditable true
|
|
1216
2448
|
* @cmsCategory Actions
|
|
1217
2449
|
*/
|
|
1218
2450
|
interface LeButton {
|
|
2451
|
+
/**
|
|
2452
|
+
* Alignment of the button label without the end icon
|
|
2453
|
+
* @allowedValues start | center | space-between | end
|
|
2454
|
+
* @default 'center'
|
|
2455
|
+
*/
|
|
2456
|
+
"align"?: 'start' | 'center' | 'space-between' | 'end';
|
|
1219
2457
|
/**
|
|
1220
2458
|
* Button color theme (uses theme semantic colors)
|
|
1221
2459
|
* @allowedValues primary | secondary | success | warning | danger | info
|
|
@@ -1237,10 +2475,17 @@ declare namespace LocalJSX {
|
|
|
1237
2475
|
*/
|
|
1238
2476
|
"href"?: string;
|
|
1239
2477
|
/**
|
|
1240
|
-
*
|
|
1241
|
-
|
|
2478
|
+
* End icon image or emoji
|
|
2479
|
+
*/
|
|
2480
|
+
"iconEnd"?: string | Node;
|
|
2481
|
+
/**
|
|
2482
|
+
* Icon only button image or emoji if this prop is set, the button will render only the icon slot
|
|
2483
|
+
*/
|
|
2484
|
+
"iconOnly"?: string | Node;
|
|
2485
|
+
/**
|
|
2486
|
+
* Start icon image or emoji
|
|
1242
2487
|
*/
|
|
1243
|
-
"
|
|
2488
|
+
"iconStart"?: string | Node;
|
|
1244
2489
|
/**
|
|
1245
2490
|
* Mode of the popover should be 'default' for internal use
|
|
1246
2491
|
*/
|
|
@@ -1341,6 +2586,104 @@ declare namespace LocalJSX {
|
|
|
1341
2586
|
*/
|
|
1342
2587
|
"value"?: string;
|
|
1343
2588
|
}
|
|
2589
|
+
/**
|
|
2590
|
+
* A combobox component with searchable dropdown.
|
|
2591
|
+
* Combines a text input with a dropdown list, allowing users to
|
|
2592
|
+
* filter options by typing or select from the list.
|
|
2593
|
+
* @cmsEditable true
|
|
2594
|
+
* @cmsCategory Form
|
|
2595
|
+
* @example Basic combobox
|
|
2596
|
+
* ```html
|
|
2597
|
+
* <le-combobox
|
|
2598
|
+
* placeholder="Search..."
|
|
2599
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
2600
|
+
* ></le-combobox>
|
|
2601
|
+
* ```
|
|
2602
|
+
* @example Allow custom values
|
|
2603
|
+
* ```html
|
|
2604
|
+
* <le-combobox
|
|
2605
|
+
* placeholder="Type or select..."
|
|
2606
|
+
* allow-custom
|
|
2607
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
2608
|
+
* ></le-combobox>
|
|
2609
|
+
* ```
|
|
2610
|
+
*/
|
|
2611
|
+
interface LeCombobox {
|
|
2612
|
+
/**
|
|
2613
|
+
* Whether to allow custom values not in the options list.
|
|
2614
|
+
* @default false
|
|
2615
|
+
*/
|
|
2616
|
+
"allowCustom"?: boolean;
|
|
2617
|
+
/**
|
|
2618
|
+
* Whether the combobox is disabled.
|
|
2619
|
+
* @default false
|
|
2620
|
+
*/
|
|
2621
|
+
"disabled"?: boolean;
|
|
2622
|
+
/**
|
|
2623
|
+
* Text to show when no options match the search.
|
|
2624
|
+
* @default 'No results found'
|
|
2625
|
+
*/
|
|
2626
|
+
"emptyText"?: string;
|
|
2627
|
+
/**
|
|
2628
|
+
* Whether the multiselect should take full width of its container.
|
|
2629
|
+
* @default false
|
|
2630
|
+
*/
|
|
2631
|
+
"fullWidth"?: boolean;
|
|
2632
|
+
/**
|
|
2633
|
+
* Minimum characters before showing filtered results.
|
|
2634
|
+
* @default 0
|
|
2635
|
+
*/
|
|
2636
|
+
"minSearchLength"?: number;
|
|
2637
|
+
/**
|
|
2638
|
+
* Name attribute for form submission.
|
|
2639
|
+
*/
|
|
2640
|
+
"name"?: string;
|
|
2641
|
+
/**
|
|
2642
|
+
* Emitted when the selected value changes.
|
|
2643
|
+
*/
|
|
2644
|
+
"onLeChange"?: (event: LeComboboxCustomEvent<LeOptionSelectDetail>) => void;
|
|
2645
|
+
/**
|
|
2646
|
+
* Emitted when the dropdown closes.
|
|
2647
|
+
*/
|
|
2648
|
+
"onLeClose"?: (event: LeComboboxCustomEvent<void>) => void;
|
|
2649
|
+
/**
|
|
2650
|
+
* Emitted when the input value changes (for custom values).
|
|
2651
|
+
*/
|
|
2652
|
+
"onLeInput"?: (event: LeComboboxCustomEvent<{ value: string }>) => void;
|
|
2653
|
+
/**
|
|
2654
|
+
* Emitted when the dropdown opens.
|
|
2655
|
+
*/
|
|
2656
|
+
"onLeOpen"?: (event: LeComboboxCustomEvent<void>) => void;
|
|
2657
|
+
/**
|
|
2658
|
+
* Whether the dropdown is currently open.
|
|
2659
|
+
* @default false
|
|
2660
|
+
*/
|
|
2661
|
+
"open"?: boolean;
|
|
2662
|
+
/**
|
|
2663
|
+
* The options to display in the dropdown.
|
|
2664
|
+
* @default []
|
|
2665
|
+
*/
|
|
2666
|
+
"options"?: LeOption[] | string;
|
|
2667
|
+
/**
|
|
2668
|
+
* Placeholder text for the input.
|
|
2669
|
+
* @default 'Type to search...'
|
|
2670
|
+
*/
|
|
2671
|
+
"placeholder"?: string;
|
|
2672
|
+
/**
|
|
2673
|
+
* Whether selection is required.
|
|
2674
|
+
* @default false
|
|
2675
|
+
*/
|
|
2676
|
+
"required"?: boolean;
|
|
2677
|
+
/**
|
|
2678
|
+
* Size variant of the combobox.
|
|
2679
|
+
* @default 'medium'
|
|
2680
|
+
*/
|
|
2681
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
2682
|
+
/**
|
|
2683
|
+
* The currently selected value.
|
|
2684
|
+
*/
|
|
2685
|
+
"value"?: LeOptionValue;
|
|
2686
|
+
}
|
|
1344
2687
|
/**
|
|
1345
2688
|
* Component wrapper for admin mode editing.
|
|
1346
2689
|
* This component is used internally by other components to provide admin-mode
|
|
@@ -1380,6 +2723,198 @@ declare namespace LocalJSX {
|
|
|
1380
2723
|
*/
|
|
1381
2724
|
"hostStyle"?: { [key: string]: string };
|
|
1382
2725
|
}
|
|
2726
|
+
/**
|
|
2727
|
+
* Internal dropdown base component that provides shared functionality
|
|
2728
|
+
* for select, combobox, and multiselect components.
|
|
2729
|
+
* Wraps le-popover for positioning and provides:
|
|
2730
|
+
* - Option list rendering with groups
|
|
2731
|
+
* - Keyboard navigation (↑↓, Enter, Escape, Home/End)
|
|
2732
|
+
* - Option filtering support
|
|
2733
|
+
* - Single and multi-select modes
|
|
2734
|
+
* @cmsInternal true
|
|
2735
|
+
* @cmsCategory System
|
|
2736
|
+
*/
|
|
2737
|
+
interface LeDropdownBase {
|
|
2738
|
+
/**
|
|
2739
|
+
* Whether to close the dropdown when clicking outside. (used to support combobox with input focus)
|
|
2740
|
+
* @default true
|
|
2741
|
+
*/
|
|
2742
|
+
"closeOnClickOutside"?: boolean;
|
|
2743
|
+
/**
|
|
2744
|
+
* Whether the dropdown is disabled.
|
|
2745
|
+
* @default false
|
|
2746
|
+
*/
|
|
2747
|
+
"disabled"?: boolean;
|
|
2748
|
+
/**
|
|
2749
|
+
* Placeholder text when no options match filter.
|
|
2750
|
+
* @default 'No options'
|
|
2751
|
+
*/
|
|
2752
|
+
"emptyText"?: string;
|
|
2753
|
+
/**
|
|
2754
|
+
* Filter function for options. Return true to include the option.
|
|
2755
|
+
*/
|
|
2756
|
+
"filterFn"?: (option: LeOption, query: string) => boolean;
|
|
2757
|
+
/**
|
|
2758
|
+
* Current filter query string.
|
|
2759
|
+
* @default ''
|
|
2760
|
+
*/
|
|
2761
|
+
"filterQuery"?: string;
|
|
2762
|
+
/**
|
|
2763
|
+
* Sets the dropdown to full width of the trigger.
|
|
2764
|
+
* @default false
|
|
2765
|
+
*/
|
|
2766
|
+
"fullWidth"?: boolean;
|
|
2767
|
+
/**
|
|
2768
|
+
* Maximum height of the dropdown list.
|
|
2769
|
+
* @default '300px'
|
|
2770
|
+
*/
|
|
2771
|
+
"maxHeight"?: string;
|
|
2772
|
+
/**
|
|
2773
|
+
* Whether multiple selection is allowed.
|
|
2774
|
+
* @default false
|
|
2775
|
+
*/
|
|
2776
|
+
"multiple"?: boolean;
|
|
2777
|
+
/**
|
|
2778
|
+
* Emitted when the dropdown closes.
|
|
2779
|
+
*/
|
|
2780
|
+
"onLeDropdownClose"?: (event: LeDropdownBaseCustomEvent<void>) => void;
|
|
2781
|
+
/**
|
|
2782
|
+
* Emitted when the dropdown opens.
|
|
2783
|
+
*/
|
|
2784
|
+
"onLeDropdownOpen"?: (event: LeDropdownBaseCustomEvent<void>) => void;
|
|
2785
|
+
/**
|
|
2786
|
+
* Emitted when an option is selected.
|
|
2787
|
+
*/
|
|
2788
|
+
"onLeOptionSelect"?: (event: LeDropdownBaseCustomEvent<LeOptionSelectDetail>) => void;
|
|
2789
|
+
/**
|
|
2790
|
+
* Whether the dropdown is open.
|
|
2791
|
+
* @default false
|
|
2792
|
+
*/
|
|
2793
|
+
"open"?: boolean;
|
|
2794
|
+
/**
|
|
2795
|
+
* The options to display in the dropdown.
|
|
2796
|
+
* @default []
|
|
2797
|
+
*/
|
|
2798
|
+
"options"?: LeOption[];
|
|
2799
|
+
/**
|
|
2800
|
+
* Whether to show checkboxes for multiselect mode.
|
|
2801
|
+
* @default true
|
|
2802
|
+
*/
|
|
2803
|
+
"showCheckboxes"?: boolean;
|
|
2804
|
+
/**
|
|
2805
|
+
* Current value(s) - single value or array for multiselect.
|
|
2806
|
+
*/
|
|
2807
|
+
"value"?: LeOptionValue | LeOptionValue[];
|
|
2808
|
+
/**
|
|
2809
|
+
* Width of the dropdown. If not set, matches trigger width.
|
|
2810
|
+
*/
|
|
2811
|
+
"width"?: string;
|
|
2812
|
+
}
|
|
2813
|
+
/**
|
|
2814
|
+
* A multiselect component for selecting multiple options.
|
|
2815
|
+
* Displays selected items as tags with optional search filtering.
|
|
2816
|
+
* @cmsEditable true
|
|
2817
|
+
* @cmsCategory Form
|
|
2818
|
+
* @example Basic multiselect
|
|
2819
|
+
* ```html
|
|
2820
|
+
* <le-multiselect
|
|
2821
|
+
* placeholder="Select options..."
|
|
2822
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
2823
|
+
* ></le-multiselect>
|
|
2824
|
+
* ```
|
|
2825
|
+
* @example With max selections
|
|
2826
|
+
* ```html
|
|
2827
|
+
* <le-multiselect
|
|
2828
|
+
* max-selections="3"
|
|
2829
|
+
* options='[{"label": "Option 1"}, {"label": "Option 2"}, {"label": "Option 3"}, {"label": "Option 4"}]'
|
|
2830
|
+
* ></le-multiselect>
|
|
2831
|
+
* ```
|
|
2832
|
+
* @example With search
|
|
2833
|
+
* ```html
|
|
2834
|
+
* <le-multiselect
|
|
2835
|
+
* searchable
|
|
2836
|
+
* placeholder="Search and select..."
|
|
2837
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
2838
|
+
* ></le-multiselect>
|
|
2839
|
+
* ```
|
|
2840
|
+
*/
|
|
2841
|
+
interface LeMultiselect {
|
|
2842
|
+
/**
|
|
2843
|
+
* Whether the multiselect is disabled.
|
|
2844
|
+
* @default false
|
|
2845
|
+
*/
|
|
2846
|
+
"disabled"?: boolean;
|
|
2847
|
+
/**
|
|
2848
|
+
* Text to show when no options match the search.
|
|
2849
|
+
* @default 'No results found'
|
|
2850
|
+
*/
|
|
2851
|
+
"emptyText"?: string;
|
|
2852
|
+
/**
|
|
2853
|
+
* Whether the multiselect should take full width of its container.
|
|
2854
|
+
* @default false
|
|
2855
|
+
*/
|
|
2856
|
+
"fullWidth"?: boolean;
|
|
2857
|
+
/**
|
|
2858
|
+
* Maximum number of selections allowed.
|
|
2859
|
+
*/
|
|
2860
|
+
"maxSelections"?: number;
|
|
2861
|
+
/**
|
|
2862
|
+
* Name attribute for form submission.
|
|
2863
|
+
*/
|
|
2864
|
+
"name"?: string;
|
|
2865
|
+
/**
|
|
2866
|
+
* Emitted when the selected values change.
|
|
2867
|
+
*/
|
|
2868
|
+
"onLeChange"?: (event: LeMultiselectCustomEvent<LeMultiOptionSelectDetail>) => void;
|
|
2869
|
+
/**
|
|
2870
|
+
* Emitted when the dropdown closes.
|
|
2871
|
+
*/
|
|
2872
|
+
"onLeClose"?: (event: LeMultiselectCustomEvent<void>) => void;
|
|
2873
|
+
/**
|
|
2874
|
+
* Emitted when the dropdown opens.
|
|
2875
|
+
*/
|
|
2876
|
+
"onLeOpen"?: (event: LeMultiselectCustomEvent<void>) => void;
|
|
2877
|
+
/**
|
|
2878
|
+
* Whether the dropdown is currently open.
|
|
2879
|
+
* @default false
|
|
2880
|
+
*/
|
|
2881
|
+
"open"?: boolean;
|
|
2882
|
+
/**
|
|
2883
|
+
* The options to display in the dropdown.
|
|
2884
|
+
* @default []
|
|
2885
|
+
*/
|
|
2886
|
+
"options"?: LeOption[] | string;
|
|
2887
|
+
/**
|
|
2888
|
+
* Placeholder text when no options are selected.
|
|
2889
|
+
* @default 'Select options...'
|
|
2890
|
+
*/
|
|
2891
|
+
"placeholder"?: string;
|
|
2892
|
+
/**
|
|
2893
|
+
* Whether selection is required.
|
|
2894
|
+
* @default false
|
|
2895
|
+
*/
|
|
2896
|
+
"required"?: boolean;
|
|
2897
|
+
/**
|
|
2898
|
+
* Whether the input is searchable.
|
|
2899
|
+
* @default false
|
|
2900
|
+
*/
|
|
2901
|
+
"searchable"?: boolean;
|
|
2902
|
+
/**
|
|
2903
|
+
* Whether to show a "Select All" option. Also accepts a string or array of strings to customize the label(s).
|
|
2904
|
+
* @default false
|
|
2905
|
+
*/
|
|
2906
|
+
"showSelectAll"?: boolean | string | string[];
|
|
2907
|
+
/**
|
|
2908
|
+
* Size variant of the multiselect.
|
|
2909
|
+
* @default 'medium'
|
|
2910
|
+
*/
|
|
2911
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
2912
|
+
/**
|
|
2913
|
+
* The currently selected values.
|
|
2914
|
+
* @default []
|
|
2915
|
+
*/
|
|
2916
|
+
"value"?: LeOptionValue[];
|
|
2917
|
+
}
|
|
1383
2918
|
/**
|
|
1384
2919
|
* A number input component with validation, keyboard controls, and custom spinners.
|
|
1385
2920
|
* @cssprop --le-input-bg - Input background color
|
|
@@ -1461,6 +2996,8 @@ declare namespace LocalJSX {
|
|
|
1461
2996
|
* A popover component for displaying floating content.
|
|
1462
2997
|
* Uses the native HTML Popover API for proper layering with dialogs
|
|
1463
2998
|
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
2999
|
+
* @csspart trigger - The popover trigger element
|
|
3000
|
+
* @csspart content - The popover content wrapper
|
|
1464
3001
|
* @cmsInternal true
|
|
1465
3002
|
* @cmsCategory System
|
|
1466
3003
|
*/
|
|
@@ -1525,6 +3062,11 @@ declare namespace LocalJSX {
|
|
|
1525
3062
|
* @default true
|
|
1526
3063
|
*/
|
|
1527
3064
|
"showClose"?: boolean;
|
|
3065
|
+
/**
|
|
3066
|
+
* Should the popover's trigger take full width of its container
|
|
3067
|
+
* @default false
|
|
3068
|
+
*/
|
|
3069
|
+
"triggerFullWidth"?: boolean;
|
|
1528
3070
|
/**
|
|
1529
3071
|
* Fixed width for the popover (e.g., '300px', '20rem')
|
|
1530
3072
|
*/
|
|
@@ -1533,7 +3075,7 @@ declare namespace LocalJSX {
|
|
|
1533
3075
|
/**
|
|
1534
3076
|
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
1535
3077
|
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
1536
|
-
* and focus management. Can be used declaratively in HTML or programmatically
|
|
3078
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
1537
3079
|
* via leAlert(), leConfirm(), lePrompt().
|
|
1538
3080
|
* @cmsInternal true
|
|
1539
3081
|
* @cmsCategory System
|
|
@@ -1568,6 +3110,11 @@ declare namespace LocalJSX {
|
|
|
1568
3110
|
* @default true
|
|
1569
3111
|
*/
|
|
1570
3112
|
"modal"?: boolean;
|
|
3113
|
+
/**
|
|
3114
|
+
* The mode of the Le Kit (e.g., 'default' or 'admin')
|
|
3115
|
+
* @default 'default'
|
|
3116
|
+
*/
|
|
3117
|
+
"mode"?: LeKitMode;
|
|
1571
3118
|
/**
|
|
1572
3119
|
* Emitted when the popup is cancelled (Cancel clicked or dismissed)
|
|
1573
3120
|
*/
|
|
@@ -1581,44 +3128,196 @@ declare namespace LocalJSX {
|
|
|
1581
3128
|
*/
|
|
1582
3129
|
"onLeConfirm"?: (event: LePopupCustomEvent<PopupResult>) => void;
|
|
1583
3130
|
/**
|
|
1584
|
-
* Emitted when the popup opens
|
|
3131
|
+
* Emitted when the popup opens
|
|
3132
|
+
*/
|
|
3133
|
+
"onLeOpen"?: (event: LePopupCustomEvent<void>) => void;
|
|
3134
|
+
/**
|
|
3135
|
+
* Whether the popup is currently visible
|
|
3136
|
+
* @default false
|
|
3137
|
+
*/
|
|
3138
|
+
"open"?: boolean;
|
|
3139
|
+
/**
|
|
3140
|
+
* Placeholder text for prompt input
|
|
3141
|
+
* @default ''
|
|
3142
|
+
*/
|
|
3143
|
+
"placeholder"?: string;
|
|
3144
|
+
/**
|
|
3145
|
+
* Optional title for the popup header
|
|
3146
|
+
*/
|
|
3147
|
+
"popupTitle"?: string;
|
|
3148
|
+
/**
|
|
3149
|
+
* Position of the popup on screen
|
|
3150
|
+
* @default 'center'
|
|
3151
|
+
*/
|
|
3152
|
+
"position"?: PopupPosition;
|
|
3153
|
+
/**
|
|
3154
|
+
* Type of popup: alert (OK only), confirm (OK/Cancel), prompt (input + OK/Cancel), custom
|
|
3155
|
+
* @default 'alert'
|
|
3156
|
+
*/
|
|
3157
|
+
"type"?: PopupType;
|
|
3158
|
+
}
|
|
3159
|
+
interface LeRoundProgress {
|
|
3160
|
+
/**
|
|
3161
|
+
* @default 0
|
|
3162
|
+
*/
|
|
3163
|
+
"padding"?: number;
|
|
3164
|
+
"paths"?: string;
|
|
3165
|
+
/**
|
|
3166
|
+
* @default 0
|
|
3167
|
+
*/
|
|
3168
|
+
"value"?: number;
|
|
3169
|
+
}
|
|
3170
|
+
/**
|
|
3171
|
+
* A segmented control component (iOS-style toggle buttons).
|
|
3172
|
+
* Perfect for toggling between a small set of related options.
|
|
3173
|
+
* @cssprop --le-segmented-bg - Background color of the control
|
|
3174
|
+
* @cssprop --le-segmented-padding - Padding around segments
|
|
3175
|
+
* @cssprop --le-segmented-gap - Gap between segments
|
|
3176
|
+
* @cssprop --le-segmented-radius - Border radius of the control
|
|
3177
|
+
* @csspart container - The main container
|
|
3178
|
+
* @csspart segment - Individual segment buttons
|
|
3179
|
+
* @csspart segment-active - The currently active segment
|
|
3180
|
+
* @cmsEditable true
|
|
3181
|
+
* @cmsCategory Form
|
|
3182
|
+
*/
|
|
3183
|
+
interface LeSegmentedControl {
|
|
3184
|
+
/**
|
|
3185
|
+
* Whether the control is disabled.
|
|
3186
|
+
* @default false
|
|
3187
|
+
*/
|
|
3188
|
+
"disabled"?: boolean;
|
|
3189
|
+
/**
|
|
3190
|
+
* Whether the control should take full width.
|
|
3191
|
+
* @default false
|
|
3192
|
+
*/
|
|
3193
|
+
"fullWidth"?: boolean;
|
|
3194
|
+
/**
|
|
3195
|
+
* Emitted when the selection changes.
|
|
3196
|
+
*/
|
|
3197
|
+
"onLeChange"?: (event: LeSegmentedControlCustomEvent<LeOptionSelectDetail>) => void;
|
|
3198
|
+
/**
|
|
3199
|
+
* Array of options for the segmented control.
|
|
3200
|
+
* @default []
|
|
3201
|
+
*/
|
|
3202
|
+
"options"?: LeOption[];
|
|
3203
|
+
/**
|
|
3204
|
+
* Scroll behavior for overflowing tabs.
|
|
3205
|
+
* @allowedValues auto | hidden | visible | scroll
|
|
3206
|
+
* @default 'auto'
|
|
3207
|
+
*/
|
|
3208
|
+
"overflow"?: 'auto' | 'hidden' | 'visible' | 'scroll';
|
|
3209
|
+
/**
|
|
3210
|
+
* Size of the control.
|
|
3211
|
+
* @allowedValues small | medium | large
|
|
3212
|
+
* @default 'medium'
|
|
3213
|
+
*/
|
|
3214
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
3215
|
+
/**
|
|
3216
|
+
* The value of the currently selected option.
|
|
3217
|
+
*/
|
|
3218
|
+
"value"?: LeOptionValue;
|
|
3219
|
+
}
|
|
3220
|
+
/**
|
|
3221
|
+
* A select dropdown component for single selection.
|
|
3222
|
+
* @cmsEditable true
|
|
3223
|
+
* @cmsCategory Form
|
|
3224
|
+
* @example Basic select
|
|
3225
|
+
* ```html
|
|
3226
|
+
* <le-select
|
|
3227
|
+
* placeholder="Choose an option"
|
|
3228
|
+
* options='[{"label": "Option 1", "value": "1"}, {"label": "Option 2", "value": "2"}]'
|
|
3229
|
+
* ></le-select>
|
|
3230
|
+
* ```
|
|
3231
|
+
* @example With icons
|
|
3232
|
+
* ```html
|
|
3233
|
+
* <le-select
|
|
3234
|
+
* options='[
|
|
3235
|
+
* {"label": "Apple", "value": "apple", "iconStart": "🍎"},
|
|
3236
|
+
* {"label": "Banana", "value": "banana", "iconStart": "🍌"}
|
|
3237
|
+
* ]'
|
|
3238
|
+
* ></le-select>
|
|
3239
|
+
* ```
|
|
3240
|
+
* @example Grouped options
|
|
3241
|
+
* ```html
|
|
3242
|
+
* <le-select
|
|
3243
|
+
* options='[
|
|
3244
|
+
* {"label": "Apple", "value": "apple", "group": "Fruits"},
|
|
3245
|
+
* {"label": "Carrot", "value": "carrot", "group": "Vegetables"}
|
|
3246
|
+
* ]'
|
|
3247
|
+
* ></le-select>
|
|
3248
|
+
* ```
|
|
3249
|
+
*/
|
|
3250
|
+
interface LeSelect {
|
|
3251
|
+
/**
|
|
3252
|
+
* Whether the select is disabled.
|
|
3253
|
+
* @default false
|
|
3254
|
+
*/
|
|
3255
|
+
"disabled"?: boolean;
|
|
3256
|
+
/**
|
|
3257
|
+
* Text to show when no options match the search.
|
|
3258
|
+
* @default 'No results found'
|
|
3259
|
+
*/
|
|
3260
|
+
"emptyText"?: string;
|
|
3261
|
+
/**
|
|
3262
|
+
* Whether the select should take full width of its container.
|
|
3263
|
+
* @default false
|
|
3264
|
+
*/
|
|
3265
|
+
"fullWidth"?: boolean;
|
|
3266
|
+
/**
|
|
3267
|
+
* Name attribute for form submission.
|
|
3268
|
+
*/
|
|
3269
|
+
"name"?: string;
|
|
3270
|
+
/**
|
|
3271
|
+
* Emitted when the selected value changes.
|
|
3272
|
+
*/
|
|
3273
|
+
"onLeChange"?: (event: LeSelectCustomEvent<LeOptionSelectDetail>) => void;
|
|
3274
|
+
/**
|
|
3275
|
+
* Emitted when the dropdown closes.
|
|
3276
|
+
*/
|
|
3277
|
+
"onLeClose"?: (event: LeSelectCustomEvent<void>) => void;
|
|
3278
|
+
/**
|
|
3279
|
+
* Emitted when the dropdown opens.
|
|
1585
3280
|
*/
|
|
1586
|
-
"onLeOpen"?: (event:
|
|
3281
|
+
"onLeOpen"?: (event: LeSelectCustomEvent<void>) => void;
|
|
1587
3282
|
/**
|
|
1588
|
-
* Whether the
|
|
3283
|
+
* Whether the dropdown is currently open.
|
|
1589
3284
|
* @default false
|
|
1590
3285
|
*/
|
|
1591
3286
|
"open"?: boolean;
|
|
1592
3287
|
/**
|
|
1593
|
-
*
|
|
1594
|
-
* @default
|
|
3288
|
+
* The options to display in the dropdown.
|
|
3289
|
+
* @default []
|
|
3290
|
+
*/
|
|
3291
|
+
"options"?: LeOption[] | string;
|
|
3292
|
+
/**
|
|
3293
|
+
* Placeholder text when no option is selected.
|
|
3294
|
+
* @default 'Select an option'
|
|
1595
3295
|
*/
|
|
1596
3296
|
"placeholder"?: string;
|
|
1597
3297
|
/**
|
|
1598
|
-
*
|
|
3298
|
+
* Whether selection is required.
|
|
3299
|
+
* @default false
|
|
1599
3300
|
*/
|
|
1600
|
-
"
|
|
3301
|
+
"required"?: boolean;
|
|
1601
3302
|
/**
|
|
1602
|
-
*
|
|
1603
|
-
* @default
|
|
3303
|
+
* Whether the input is searchable.
|
|
3304
|
+
* @default false
|
|
1604
3305
|
*/
|
|
1605
|
-
"
|
|
3306
|
+
"searchable"?: boolean;
|
|
1606
3307
|
/**
|
|
1607
|
-
*
|
|
1608
|
-
* @default '
|
|
3308
|
+
* Size variant of the select.
|
|
3309
|
+
* @default 'medium'
|
|
1609
3310
|
*/
|
|
1610
|
-
"
|
|
1611
|
-
}
|
|
1612
|
-
interface LeRoundProgress {
|
|
3311
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
1613
3312
|
/**
|
|
1614
|
-
*
|
|
3313
|
+
* The currently selected value.
|
|
1615
3314
|
*/
|
|
1616
|
-
"
|
|
1617
|
-
"paths"?: string;
|
|
3315
|
+
"value"?: LeOptionValue;
|
|
1618
3316
|
/**
|
|
1619
|
-
*
|
|
3317
|
+
* Visual variant of the select.
|
|
3318
|
+
* @default 'default'
|
|
1620
3319
|
*/
|
|
1621
|
-
"
|
|
3320
|
+
"variant"?: 'default' | 'outlined' | 'solid';
|
|
1622
3321
|
}
|
|
1623
3322
|
/**
|
|
1624
3323
|
* Slot placeholder component for admin/CMS mode.
|
|
@@ -1769,6 +3468,11 @@ declare namespace LocalJSX {
|
|
|
1769
3468
|
* External ID for linking with external systems
|
|
1770
3469
|
*/
|
|
1771
3470
|
"externalId"?: string;
|
|
3471
|
+
/**
|
|
3472
|
+
* Hide description slot
|
|
3473
|
+
* @default false
|
|
3474
|
+
*/
|
|
3475
|
+
"hideDescription"?: boolean;
|
|
1772
3476
|
/**
|
|
1773
3477
|
* Icon for the end icon
|
|
1774
3478
|
*/
|
|
@@ -1777,6 +3481,10 @@ declare namespace LocalJSX {
|
|
|
1777
3481
|
* Icon for the start icon
|
|
1778
3482
|
*/
|
|
1779
3483
|
"iconStart"?: string;
|
|
3484
|
+
/**
|
|
3485
|
+
* Pass the ref of the input element to the parent component
|
|
3486
|
+
*/
|
|
3487
|
+
"inputRef"?: (el: HTMLInputElement) => void;
|
|
1780
3488
|
/**
|
|
1781
3489
|
* Label for the input
|
|
1782
3490
|
*/
|
|
@@ -1792,11 +3500,19 @@ declare namespace LocalJSX {
|
|
|
1792
3500
|
/**
|
|
1793
3501
|
* Emitted when the value changes (on blur or Enter)
|
|
1794
3502
|
*/
|
|
1795
|
-
"onChange"?: (event: LeStringInputCustomEvent<{
|
|
3503
|
+
"onChange"?: (event: LeStringInputCustomEvent<{
|
|
3504
|
+
value: string;
|
|
3505
|
+
name: string;
|
|
3506
|
+
externalId: string;
|
|
3507
|
+
}>) => void;
|
|
1796
3508
|
/**
|
|
1797
3509
|
* Emitted when the input value changes (on keystroke)
|
|
1798
3510
|
*/
|
|
1799
|
-
"onInput"?: (event: LeStringInputCustomEvent<{
|
|
3511
|
+
"onInput"?: (event: LeStringInputCustomEvent<{
|
|
3512
|
+
value: string;
|
|
3513
|
+
name: string;
|
|
3514
|
+
externalId: string;
|
|
3515
|
+
}>) => void;
|
|
1800
3516
|
/**
|
|
1801
3517
|
* Placeholder text
|
|
1802
3518
|
*/
|
|
@@ -1816,6 +3532,344 @@ declare namespace LocalJSX {
|
|
|
1816
3532
|
*/
|
|
1817
3533
|
"value"?: string;
|
|
1818
3534
|
}
|
|
3535
|
+
/**
|
|
3536
|
+
* A flexible tab component with multiple variants and states.
|
|
3537
|
+
* @cssprop --le-tab-bg - Tab background color
|
|
3538
|
+
* @cssprop --le-tab-color - Tab text color
|
|
3539
|
+
* @cssprop --le-tab-border-radius - Tab border radius
|
|
3540
|
+
* @cssprop --le-tab-padding-x - Tab horizontal padding
|
|
3541
|
+
* @cssprop --le-tab-padding-y - Tab vertical padding
|
|
3542
|
+
* @csspart button - The native button element
|
|
3543
|
+
* @csspart content - The tab content wrapper
|
|
3544
|
+
* @csspart icon-start - The start icon slot
|
|
3545
|
+
* @csspart icon-end - The end icon slot
|
|
3546
|
+
* @cmsEditable true
|
|
3547
|
+
* @cmsCategory Actions
|
|
3548
|
+
*/
|
|
3549
|
+
interface LeTab {
|
|
3550
|
+
/**
|
|
3551
|
+
* Alignment of the tab label without the end icon
|
|
3552
|
+
* @allowedValues start | center | space-between | end
|
|
3553
|
+
* @default 'center'
|
|
3554
|
+
*/
|
|
3555
|
+
"align"?: 'start' | 'center' | 'space-between' | 'end';
|
|
3556
|
+
/**
|
|
3557
|
+
* Whether the tab is disabled
|
|
3558
|
+
* @default false
|
|
3559
|
+
*/
|
|
3560
|
+
"disabled"?: boolean;
|
|
3561
|
+
/**
|
|
3562
|
+
* Whether the tab can get focus needed for accessibility when used in custom tab implementations
|
|
3563
|
+
* @default true
|
|
3564
|
+
*/
|
|
3565
|
+
"focusable"?: boolean;
|
|
3566
|
+
/**
|
|
3567
|
+
* Whether the tab takes full width of its container
|
|
3568
|
+
* @default false
|
|
3569
|
+
*/
|
|
3570
|
+
"fullWidth"?: boolean;
|
|
3571
|
+
/**
|
|
3572
|
+
* Optional href to make the tab act as a link
|
|
3573
|
+
*/
|
|
3574
|
+
"href"?: string;
|
|
3575
|
+
/**
|
|
3576
|
+
* Icon only tab image or emoji if this prop is set, the tab will render only the icon slot
|
|
3577
|
+
*/
|
|
3578
|
+
"icon"?: string | Node;
|
|
3579
|
+
/**
|
|
3580
|
+
* End icon image or emoji
|
|
3581
|
+
*/
|
|
3582
|
+
"iconEnd"?: string | Node;
|
|
3583
|
+
/**
|
|
3584
|
+
* Start icon image or emoji
|
|
3585
|
+
*/
|
|
3586
|
+
"iconStart"?: string | Node;
|
|
3587
|
+
/**
|
|
3588
|
+
* Label if it is not provided via slot
|
|
3589
|
+
*/
|
|
3590
|
+
"label"?: string;
|
|
3591
|
+
/**
|
|
3592
|
+
* Mode of the popover should be 'default' for internal use
|
|
3593
|
+
*/
|
|
3594
|
+
"mode"?: 'default' | 'admin';
|
|
3595
|
+
/**
|
|
3596
|
+
* Emitted when the tab is clicked. This is a custom event that wraps the native click but ensures the target is the le-tab.
|
|
3597
|
+
*/
|
|
3598
|
+
"onClick"?: (event: LeTabCustomEvent<PointerEvent>) => void;
|
|
3599
|
+
/**
|
|
3600
|
+
* Position of the tabs when used within a le-tabs component
|
|
3601
|
+
* @allowedValues top | bottom | start | end
|
|
3602
|
+
* @default 'top'
|
|
3603
|
+
*/
|
|
3604
|
+
"position"?: 'top' | 'bottom' | 'start' | 'end';
|
|
3605
|
+
/**
|
|
3606
|
+
* Whether the tab is in a selected/active state
|
|
3607
|
+
* @default false
|
|
3608
|
+
*/
|
|
3609
|
+
"selected"?: boolean;
|
|
3610
|
+
/**
|
|
3611
|
+
* Whether to show the label when in icon-only mode
|
|
3612
|
+
* @default false
|
|
3613
|
+
*/
|
|
3614
|
+
"showLabel"?: boolean;
|
|
3615
|
+
/**
|
|
3616
|
+
* Tab size
|
|
3617
|
+
* @allowedValues small | medium | large
|
|
3618
|
+
* @default 'medium'
|
|
3619
|
+
*/
|
|
3620
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
3621
|
+
/**
|
|
3622
|
+
* Link target when href is set
|
|
3623
|
+
*/
|
|
3624
|
+
"target"?: string;
|
|
3625
|
+
/**
|
|
3626
|
+
* Value of the tab, defaults to label if not provided
|
|
3627
|
+
*/
|
|
3628
|
+
"value"?: string;
|
|
3629
|
+
/**
|
|
3630
|
+
* Tab variant style
|
|
3631
|
+
* @allowedValues solid | underlined | clear | enclosed | icon-only
|
|
3632
|
+
* @default 'underlined'
|
|
3633
|
+
*/
|
|
3634
|
+
"variant"?: 'underlined' | 'solid' | 'pills' | 'enclosed' | 'icon-only';
|
|
3635
|
+
}
|
|
3636
|
+
/**
|
|
3637
|
+
* A presentational tab bar component without panels.
|
|
3638
|
+
* Use this for navigation/routing scenarios where you manage the content
|
|
3639
|
+
* externally based on the selection events. For tabs with built-in panels,
|
|
3640
|
+
* use `le-tabs` instead.
|
|
3641
|
+
* @cssprop --le-tab-bar-border-color - Border color
|
|
3642
|
+
* @cssprop --le-tab-bar-gap - Gap between tabs
|
|
3643
|
+
* @cssprop --le-tab-bar-indicator-color - Active indicator color
|
|
3644
|
+
* @cssprop --le-tab-bar-padding-x - Horizontal padding for tabs
|
|
3645
|
+
* @cssprop --le-tab-bar-padding-y - Vertical padding for tabs
|
|
3646
|
+
* @csspart tablist - The tab button container
|
|
3647
|
+
* @csspart tab - Individual tab buttons
|
|
3648
|
+
* @csspart tab-active - The currently active tab
|
|
3649
|
+
* @cmsEditable true
|
|
3650
|
+
* @cmsCategory Navigation
|
|
3651
|
+
*/
|
|
3652
|
+
interface LeTabBar {
|
|
3653
|
+
/**
|
|
3654
|
+
* Whether to show a border below the tab bar.
|
|
3655
|
+
* @default true
|
|
3656
|
+
*/
|
|
3657
|
+
"bordered"?: boolean;
|
|
3658
|
+
/**
|
|
3659
|
+
* Whether tabs should stretch to fill available width.
|
|
3660
|
+
* @default true
|
|
3661
|
+
*/
|
|
3662
|
+
"fullWidth"?: boolean;
|
|
3663
|
+
/**
|
|
3664
|
+
* Emitted when the selected tab changes.
|
|
3665
|
+
*/
|
|
3666
|
+
"onLeTabChange"?: (event: LeTabBarCustomEvent<LeOptionSelectDetail>) => void;
|
|
3667
|
+
/**
|
|
3668
|
+
* Position of the tab bar.
|
|
3669
|
+
* @allowedValues top | bottom
|
|
3670
|
+
* @default 'top'
|
|
3671
|
+
*/
|
|
3672
|
+
"position"?: 'top' | 'bottom';
|
|
3673
|
+
/**
|
|
3674
|
+
* The value of the currently selected tab.
|
|
3675
|
+
*/
|
|
3676
|
+
"selected"?: LeOptionValue;
|
|
3677
|
+
/**
|
|
3678
|
+
* Whether to show labels in icon-only mode.
|
|
3679
|
+
* @default false
|
|
3680
|
+
*/
|
|
3681
|
+
"showLabels"?: boolean;
|
|
3682
|
+
/**
|
|
3683
|
+
* Size of the tabs.
|
|
3684
|
+
* @allowedValues small | medium | large
|
|
3685
|
+
* @default 'medium'
|
|
3686
|
+
*/
|
|
3687
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
3688
|
+
/**
|
|
3689
|
+
* Array of tab options defining the tabs to display.
|
|
3690
|
+
* @default []
|
|
3691
|
+
*/
|
|
3692
|
+
"tabs"?: LeOption[];
|
|
3693
|
+
}
|
|
3694
|
+
/**
|
|
3695
|
+
* A tab panel component used as a child of le-tabs.
|
|
3696
|
+
* Each le-tab-panel defines both the tab button label and the panel content.
|
|
3697
|
+
* The parent le-tabs component automatically reads these panels and creates
|
|
3698
|
+
* the tab interface.
|
|
3699
|
+
* @cmsEditable true
|
|
3700
|
+
* @cmsCategory Navigation
|
|
3701
|
+
*/
|
|
3702
|
+
interface LeTabPanel {
|
|
3703
|
+
/**
|
|
3704
|
+
* Whether this tab is disabled.
|
|
3705
|
+
* @default false
|
|
3706
|
+
*/
|
|
3707
|
+
"disabled"?: boolean;
|
|
3708
|
+
/**
|
|
3709
|
+
* Icon displayed at the end of the tab button.
|
|
3710
|
+
*/
|
|
3711
|
+
"iconEnd"?: string;
|
|
3712
|
+
/**
|
|
3713
|
+
* Icon displayed at the start of the tab button. Can be an emoji, URL, or icon class.
|
|
3714
|
+
*/
|
|
3715
|
+
"iconStart"?: string;
|
|
3716
|
+
/**
|
|
3717
|
+
* The label displayed in the tab button.
|
|
3718
|
+
*/
|
|
3719
|
+
"label": string;
|
|
3720
|
+
/**
|
|
3721
|
+
* 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.
|
|
3722
|
+
* @default false
|
|
3723
|
+
*/
|
|
3724
|
+
"lazy"?: boolean;
|
|
3725
|
+
/**
|
|
3726
|
+
* The value used to identify this tab. Defaults to the label if not provided.
|
|
3727
|
+
*/
|
|
3728
|
+
"value"?: string;
|
|
3729
|
+
}
|
|
3730
|
+
/**
|
|
3731
|
+
* A flexible tabs component for organizing content into tabbed panels.
|
|
3732
|
+
* Supports two modes:
|
|
3733
|
+
* 1. **Declarative**: Use `<le-tab-panel>` children to define tabs and content
|
|
3734
|
+
* 2. **Programmatic**: Use the `tabs` prop with named slots for content
|
|
3735
|
+
* Full keyboard navigation and ARIA support included.
|
|
3736
|
+
* @cssprop --le-tabs-border-color - Border color for tab list
|
|
3737
|
+
* @cssprop --le-tabs-gap - Gap between tabs
|
|
3738
|
+
* @cssprop --le-tabs-indicator-color - Active tab indicator color
|
|
3739
|
+
* @cssprop --le-tabs-padding-x - Horizontal padding for tab buttons
|
|
3740
|
+
* @cssprop --le-tabs-padding-y - Vertical padding for tab buttons
|
|
3741
|
+
* @csspart tablist - The tab button container (role="tablist")
|
|
3742
|
+
* @csspart tab - Individual tab buttons
|
|
3743
|
+
* @csspart tab-active - The currently active tab
|
|
3744
|
+
* @csspart panels - Container for panel content
|
|
3745
|
+
* @csspart panel - Individual panel containers
|
|
3746
|
+
* @cmsEditable true
|
|
3747
|
+
* @cmsCategory Navigation
|
|
3748
|
+
*/
|
|
3749
|
+
interface LeTabs {
|
|
3750
|
+
/**
|
|
3751
|
+
* Whether tabs should stretch to fill available width.
|
|
3752
|
+
* @default false
|
|
3753
|
+
*/
|
|
3754
|
+
"fullWidth"?: boolean;
|
|
3755
|
+
/**
|
|
3756
|
+
* Emitted when the selected tab changes.
|
|
3757
|
+
*/
|
|
3758
|
+
"onLeTabChange"?: (event: LeTabsCustomEvent<LeOptionSelectDetail>) => void;
|
|
3759
|
+
/**
|
|
3760
|
+
* Orientation of the tabs.
|
|
3761
|
+
* @allowedValues horizontal | vertical
|
|
3762
|
+
* @default 'horizontal'
|
|
3763
|
+
*/
|
|
3764
|
+
"orientation"?: 'horizontal' | 'vertical';
|
|
3765
|
+
/**
|
|
3766
|
+
* Scroll behavior for overflowing tabs.
|
|
3767
|
+
* @allowedValues auto | hidden | visible | scroll
|
|
3768
|
+
* @default 'auto'
|
|
3769
|
+
*/
|
|
3770
|
+
"overflow"?: 'auto' | 'hidden' | 'visible' | 'scroll';
|
|
3771
|
+
/**
|
|
3772
|
+
* Position of the tabs relative to the panels.
|
|
3773
|
+
* @allowedValues start | end
|
|
3774
|
+
* @default 'start'
|
|
3775
|
+
*/
|
|
3776
|
+
"position"?: 'start' | 'end';
|
|
3777
|
+
/**
|
|
3778
|
+
* The value of the currently selected tab. If not provided, defaults to the first tab.
|
|
3779
|
+
*/
|
|
3780
|
+
"selected"?: LeOptionValue;
|
|
3781
|
+
/**
|
|
3782
|
+
* Size of the tabs.
|
|
3783
|
+
* @allowedValues sm | md | lg
|
|
3784
|
+
* @default 'medium'
|
|
3785
|
+
*/
|
|
3786
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
3787
|
+
/**
|
|
3788
|
+
* Array of tab options (programmatic mode). If le-tab-panel children exist, they take precedence.
|
|
3789
|
+
* @default []
|
|
3790
|
+
*/
|
|
3791
|
+
"tabs"?: LeOption[];
|
|
3792
|
+
/**
|
|
3793
|
+
* Tab variant style.
|
|
3794
|
+
* @allowedValues underlined | solid | pills | enclosed | icon-only
|
|
3795
|
+
* @default 'underlined'
|
|
3796
|
+
*/
|
|
3797
|
+
"variant"?: 'underlined' | 'solid' | 'pills' | 'enclosed' | 'icon-only';
|
|
3798
|
+
/**
|
|
3799
|
+
* Wrap the tabs if they exceed container width.
|
|
3800
|
+
* @default false
|
|
3801
|
+
*/
|
|
3802
|
+
"wrap"?: boolean;
|
|
3803
|
+
}
|
|
3804
|
+
/**
|
|
3805
|
+
* A tag/chip component for displaying labels with optional dismiss functionality.
|
|
3806
|
+
* @cmsEditable false
|
|
3807
|
+
* @cmsCategory Form
|
|
3808
|
+
* @example Basic tag
|
|
3809
|
+
* ```html
|
|
3810
|
+
* <le-tag label="JavaScript"></le-tag>
|
|
3811
|
+
* ```
|
|
3812
|
+
* @example Dismissible tag
|
|
3813
|
+
* ```html
|
|
3814
|
+
* <le-tag label="Remove me" dismissible></le-tag>
|
|
3815
|
+
* ```
|
|
3816
|
+
* @example With icon
|
|
3817
|
+
* ```html
|
|
3818
|
+
* <le-tag label="Settings" icon="⚙️"></le-tag>
|
|
3819
|
+
* ```
|
|
3820
|
+
* @example Different sizes
|
|
3821
|
+
* ```html
|
|
3822
|
+
* <le-tag label="Small" size="small"></le-tag>
|
|
3823
|
+
* <le-tag label="Medium" size="medium"></le-tag>
|
|
3824
|
+
* <le-tag label="Large" size="large"></le-tag>
|
|
3825
|
+
* ```
|
|
3826
|
+
* @example Different variants
|
|
3827
|
+
* ```html
|
|
3828
|
+
* <le-tag label="Default" variant="default"></le-tag>
|
|
3829
|
+
* <le-tag label="Primary" variant="primary"></le-tag>
|
|
3830
|
+
* <le-tag label="Success" variant="success"></le-tag>
|
|
3831
|
+
* <le-tag label="Warning" variant="warning"></le-tag>
|
|
3832
|
+
* <le-tag label="Danger" variant="danger"></le-tag>
|
|
3833
|
+
* ```
|
|
3834
|
+
*/
|
|
3835
|
+
interface LeTag {
|
|
3836
|
+
/**
|
|
3837
|
+
* Whether the tag is disabled.
|
|
3838
|
+
* @default false
|
|
3839
|
+
*/
|
|
3840
|
+
"disabled"?: boolean;
|
|
3841
|
+
/**
|
|
3842
|
+
* Whether the tag can be dismissed (shows close button).
|
|
3843
|
+
* @default false
|
|
3844
|
+
*/
|
|
3845
|
+
"dismissible"?: boolean;
|
|
3846
|
+
/**
|
|
3847
|
+
* Icon to display before the label. Can be an emoji, URL, or icon name.
|
|
3848
|
+
*/
|
|
3849
|
+
"icon"?: string;
|
|
3850
|
+
/**
|
|
3851
|
+
* The text label to display in the tag.
|
|
3852
|
+
*/
|
|
3853
|
+
"label"?: string;
|
|
3854
|
+
/**
|
|
3855
|
+
* Mode of the popover should be 'default' for internal use
|
|
3856
|
+
*/
|
|
3857
|
+
"mode"?: 'default' | 'admin';
|
|
3858
|
+
/**
|
|
3859
|
+
* Emitted when the dismiss button is clicked.
|
|
3860
|
+
*/
|
|
3861
|
+
"onLeDismiss"?: (event: LeTagCustomEvent<void>) => void;
|
|
3862
|
+
/**
|
|
3863
|
+
* The size of the tag.
|
|
3864
|
+
* @default 'medium'
|
|
3865
|
+
*/
|
|
3866
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
3867
|
+
/**
|
|
3868
|
+
* The visual variant of the tag.
|
|
3869
|
+
* @default 'default'
|
|
3870
|
+
*/
|
|
3871
|
+
"variant"?: 'default' | 'primary' | 'success' | 'warning' | 'danger';
|
|
3872
|
+
}
|
|
1819
3873
|
/**
|
|
1820
3874
|
* A text component with rich text editing capabilities in admin mode.
|
|
1821
3875
|
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
@@ -1871,14 +3925,24 @@ declare namespace LocalJSX {
|
|
|
1871
3925
|
"le-button": LeButton;
|
|
1872
3926
|
"le-card": LeCard;
|
|
1873
3927
|
"le-checkbox": LeCheckbox;
|
|
3928
|
+
"le-combobox": LeCombobox;
|
|
1874
3929
|
"le-component": LeComponent;
|
|
3930
|
+
"le-dropdown-base": LeDropdownBase;
|
|
3931
|
+
"le-multiselect": LeMultiselect;
|
|
1875
3932
|
"le-number-input": LeNumberInput;
|
|
1876
3933
|
"le-popover": LePopover;
|
|
1877
3934
|
"le-popup": LePopup;
|
|
1878
3935
|
"le-round-progress": LeRoundProgress;
|
|
3936
|
+
"le-segmented-control": LeSegmentedControl;
|
|
3937
|
+
"le-select": LeSelect;
|
|
1879
3938
|
"le-slot": LeSlot;
|
|
1880
3939
|
"le-stack": LeStack;
|
|
1881
3940
|
"le-string-input": LeStringInput;
|
|
3941
|
+
"le-tab": LeTab;
|
|
3942
|
+
"le-tab-bar": LeTabBar;
|
|
3943
|
+
"le-tab-panel": LeTabPanel;
|
|
3944
|
+
"le-tabs": LeTabs;
|
|
3945
|
+
"le-tag": LeTag;
|
|
1882
3946
|
"le-text": LeText;
|
|
1883
3947
|
"le-turntable": LeTurntable;
|
|
1884
3948
|
}
|
|
@@ -1909,6 +3973,8 @@ declare module "@stencil/core" {
|
|
|
1909
3973
|
* @cssprop --le-button-padding-y - Button vertical padding
|
|
1910
3974
|
* @csspart button - The native button element
|
|
1911
3975
|
* @csspart content - The button content wrapper
|
|
3976
|
+
* @csspart icon-start - The start icon slot
|
|
3977
|
+
* @csspart icon-end - The end icon slot
|
|
1912
3978
|
* @cmsEditable true
|
|
1913
3979
|
* @cmsCategory Actions
|
|
1914
3980
|
*/
|
|
@@ -1938,6 +4004,29 @@ declare module "@stencil/core" {
|
|
|
1938
4004
|
* @cssprop --le-checkbox-desc-color - Color of the description text
|
|
1939
4005
|
*/
|
|
1940
4006
|
"le-checkbox": LocalJSX.LeCheckbox & JSXBase.HTMLAttributes<HTMLLeCheckboxElement>;
|
|
4007
|
+
/**
|
|
4008
|
+
* A combobox component with searchable dropdown.
|
|
4009
|
+
* Combines a text input with a dropdown list, allowing users to
|
|
4010
|
+
* filter options by typing or select from the list.
|
|
4011
|
+
* @cmsEditable true
|
|
4012
|
+
* @cmsCategory Form
|
|
4013
|
+
* @example Basic combobox
|
|
4014
|
+
* ```html
|
|
4015
|
+
* <le-combobox
|
|
4016
|
+
* placeholder="Search..."
|
|
4017
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
4018
|
+
* ></le-combobox>
|
|
4019
|
+
* ```
|
|
4020
|
+
* @example Allow custom values
|
|
4021
|
+
* ```html
|
|
4022
|
+
* <le-combobox
|
|
4023
|
+
* placeholder="Type or select..."
|
|
4024
|
+
* allow-custom
|
|
4025
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
4026
|
+
* ></le-combobox>
|
|
4027
|
+
* ```
|
|
4028
|
+
*/
|
|
4029
|
+
"le-combobox": LocalJSX.LeCombobox & JSXBase.HTMLAttributes<HTMLLeComboboxElement>;
|
|
1941
4030
|
/**
|
|
1942
4031
|
* Component wrapper for admin mode editing.
|
|
1943
4032
|
* This component is used internally by other components to provide admin-mode
|
|
@@ -1960,6 +4049,47 @@ declare module "@stencil/core" {
|
|
|
1960
4049
|
* @cmsCategory System
|
|
1961
4050
|
*/
|
|
1962
4051
|
"le-component": LocalJSX.LeComponent & JSXBase.HTMLAttributes<HTMLLeComponentElement>;
|
|
4052
|
+
/**
|
|
4053
|
+
* Internal dropdown base component that provides shared functionality
|
|
4054
|
+
* for select, combobox, and multiselect components.
|
|
4055
|
+
* Wraps le-popover for positioning and provides:
|
|
4056
|
+
* - Option list rendering with groups
|
|
4057
|
+
* - Keyboard navigation (↑↓, Enter, Escape, Home/End)
|
|
4058
|
+
* - Option filtering support
|
|
4059
|
+
* - Single and multi-select modes
|
|
4060
|
+
* @cmsInternal true
|
|
4061
|
+
* @cmsCategory System
|
|
4062
|
+
*/
|
|
4063
|
+
"le-dropdown-base": LocalJSX.LeDropdownBase & JSXBase.HTMLAttributes<HTMLLeDropdownBaseElement>;
|
|
4064
|
+
/**
|
|
4065
|
+
* A multiselect component for selecting multiple options.
|
|
4066
|
+
* Displays selected items as tags with optional search filtering.
|
|
4067
|
+
* @cmsEditable true
|
|
4068
|
+
* @cmsCategory Form
|
|
4069
|
+
* @example Basic multiselect
|
|
4070
|
+
* ```html
|
|
4071
|
+
* <le-multiselect
|
|
4072
|
+
* placeholder="Select options..."
|
|
4073
|
+
* options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
|
|
4074
|
+
* ></le-multiselect>
|
|
4075
|
+
* ```
|
|
4076
|
+
* @example With max selections
|
|
4077
|
+
* ```html
|
|
4078
|
+
* <le-multiselect
|
|
4079
|
+
* max-selections="3"
|
|
4080
|
+
* options='[{"label": "Option 1"}, {"label": "Option 2"}, {"label": "Option 3"}, {"label": "Option 4"}]'
|
|
4081
|
+
* ></le-multiselect>
|
|
4082
|
+
* ```
|
|
4083
|
+
* @example With search
|
|
4084
|
+
* ```html
|
|
4085
|
+
* <le-multiselect
|
|
4086
|
+
* searchable
|
|
4087
|
+
* placeholder="Search and select..."
|
|
4088
|
+
* options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
|
|
4089
|
+
* ></le-multiselect>
|
|
4090
|
+
* ```
|
|
4091
|
+
*/
|
|
4092
|
+
"le-multiselect": LocalJSX.LeMultiselect & JSXBase.HTMLAttributes<HTMLLeMultiselectElement>;
|
|
1963
4093
|
/**
|
|
1964
4094
|
* A number input component with validation, keyboard controls, and custom spinners.
|
|
1965
4095
|
* @cssprop --le-input-bg - Input background color
|
|
@@ -1975,6 +4105,8 @@ declare module "@stencil/core" {
|
|
|
1975
4105
|
* A popover component for displaying floating content.
|
|
1976
4106
|
* Uses the native HTML Popover API for proper layering with dialogs
|
|
1977
4107
|
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
4108
|
+
* @csspart trigger - The popover trigger element
|
|
4109
|
+
* @csspart content - The popover content wrapper
|
|
1978
4110
|
* @cmsInternal true
|
|
1979
4111
|
* @cmsCategory System
|
|
1980
4112
|
*/
|
|
@@ -1982,13 +4114,58 @@ declare module "@stencil/core" {
|
|
|
1982
4114
|
/**
|
|
1983
4115
|
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
1984
4116
|
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
1985
|
-
* and focus management. Can be used declaratively in HTML or programmatically
|
|
4117
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
1986
4118
|
* via leAlert(), leConfirm(), lePrompt().
|
|
1987
4119
|
* @cmsInternal true
|
|
1988
4120
|
* @cmsCategory System
|
|
1989
4121
|
*/
|
|
1990
4122
|
"le-popup": LocalJSX.LePopup & JSXBase.HTMLAttributes<HTMLLePopupElement>;
|
|
1991
4123
|
"le-round-progress": LocalJSX.LeRoundProgress & JSXBase.HTMLAttributes<HTMLLeRoundProgressElement>;
|
|
4124
|
+
/**
|
|
4125
|
+
* A segmented control component (iOS-style toggle buttons).
|
|
4126
|
+
* Perfect for toggling between a small set of related options.
|
|
4127
|
+
* @cssprop --le-segmented-bg - Background color of the control
|
|
4128
|
+
* @cssprop --le-segmented-padding - Padding around segments
|
|
4129
|
+
* @cssprop --le-segmented-gap - Gap between segments
|
|
4130
|
+
* @cssprop --le-segmented-radius - Border radius of the control
|
|
4131
|
+
* @csspart container - The main container
|
|
4132
|
+
* @csspart segment - Individual segment buttons
|
|
4133
|
+
* @csspart segment-active - The currently active segment
|
|
4134
|
+
* @cmsEditable true
|
|
4135
|
+
* @cmsCategory Form
|
|
4136
|
+
*/
|
|
4137
|
+
"le-segmented-control": LocalJSX.LeSegmentedControl & JSXBase.HTMLAttributes<HTMLLeSegmentedControlElement>;
|
|
4138
|
+
/**
|
|
4139
|
+
* A select dropdown component for single selection.
|
|
4140
|
+
* @cmsEditable true
|
|
4141
|
+
* @cmsCategory Form
|
|
4142
|
+
* @example Basic select
|
|
4143
|
+
* ```html
|
|
4144
|
+
* <le-select
|
|
4145
|
+
* placeholder="Choose an option"
|
|
4146
|
+
* options='[{"label": "Option 1", "value": "1"}, {"label": "Option 2", "value": "2"}]'
|
|
4147
|
+
* ></le-select>
|
|
4148
|
+
* ```
|
|
4149
|
+
* @example With icons
|
|
4150
|
+
* ```html
|
|
4151
|
+
* <le-select
|
|
4152
|
+
* options='[
|
|
4153
|
+
* {"label": "Apple", "value": "apple", "iconStart": "🍎"},
|
|
4154
|
+
* {"label": "Banana", "value": "banana", "iconStart": "🍌"}
|
|
4155
|
+
* ]'
|
|
4156
|
+
* ></le-select>
|
|
4157
|
+
* ```
|
|
4158
|
+
* @example Grouped options
|
|
4159
|
+
* ```html
|
|
4160
|
+
* <le-select
|
|
4161
|
+
* options='[
|
|
4162
|
+
* {"label": "Apple", "value": "apple", "group": "Fruits"},
|
|
4163
|
+
* {"label": "Carrot", "value": "carrot", "group": "Vegetables"}
|
|
4164
|
+
* ]'
|
|
4165
|
+
* ></le-select>
|
|
4166
|
+
* ```
|
|
4167
|
+
*/
|
|
4168
|
+
"le-select": LocalJSX.LeSelect & JSXBase.HTMLAttributes<HTMLLeSelectElement>;
|
|
1992
4169
|
/**
|
|
1993
4170
|
* Slot placeholder component for admin/CMS mode.
|
|
1994
4171
|
* This component renders a visual placeholder for slots when in admin mode,
|
|
@@ -2019,6 +4196,99 @@ declare module "@stencil/core" {
|
|
|
2019
4196
|
* @cssprop --le-input-padding - Input padding
|
|
2020
4197
|
*/
|
|
2021
4198
|
"le-string-input": LocalJSX.LeStringInput & JSXBase.HTMLAttributes<HTMLLeStringInputElement>;
|
|
4199
|
+
/**
|
|
4200
|
+
* A flexible tab component with multiple variants and states.
|
|
4201
|
+
* @cssprop --le-tab-bg - Tab background color
|
|
4202
|
+
* @cssprop --le-tab-color - Tab text color
|
|
4203
|
+
* @cssprop --le-tab-border-radius - Tab border radius
|
|
4204
|
+
* @cssprop --le-tab-padding-x - Tab horizontal padding
|
|
4205
|
+
* @cssprop --le-tab-padding-y - Tab vertical padding
|
|
4206
|
+
* @csspart button - The native button element
|
|
4207
|
+
* @csspart content - The tab content wrapper
|
|
4208
|
+
* @csspart icon-start - The start icon slot
|
|
4209
|
+
* @csspart icon-end - The end icon slot
|
|
4210
|
+
* @cmsEditable true
|
|
4211
|
+
* @cmsCategory Actions
|
|
4212
|
+
*/
|
|
4213
|
+
"le-tab": LocalJSX.LeTab & JSXBase.HTMLAttributes<HTMLLeTabElement>;
|
|
4214
|
+
/**
|
|
4215
|
+
* A presentational tab bar component without panels.
|
|
4216
|
+
* Use this for navigation/routing scenarios where you manage the content
|
|
4217
|
+
* externally based on the selection events. For tabs with built-in panels,
|
|
4218
|
+
* use `le-tabs` instead.
|
|
4219
|
+
* @cssprop --le-tab-bar-border-color - Border color
|
|
4220
|
+
* @cssprop --le-tab-bar-gap - Gap between tabs
|
|
4221
|
+
* @cssprop --le-tab-bar-indicator-color - Active indicator color
|
|
4222
|
+
* @cssprop --le-tab-bar-padding-x - Horizontal padding for tabs
|
|
4223
|
+
* @cssprop --le-tab-bar-padding-y - Vertical padding for tabs
|
|
4224
|
+
* @csspart tablist - The tab button container
|
|
4225
|
+
* @csspart tab - Individual tab buttons
|
|
4226
|
+
* @csspart tab-active - The currently active tab
|
|
4227
|
+
* @cmsEditable true
|
|
4228
|
+
* @cmsCategory Navigation
|
|
4229
|
+
*/
|
|
4230
|
+
"le-tab-bar": LocalJSX.LeTabBar & JSXBase.HTMLAttributes<HTMLLeTabBarElement>;
|
|
4231
|
+
/**
|
|
4232
|
+
* A tab panel component used as a child of le-tabs.
|
|
4233
|
+
* Each le-tab-panel defines both the tab button label and the panel content.
|
|
4234
|
+
* The parent le-tabs component automatically reads these panels and creates
|
|
4235
|
+
* the tab interface.
|
|
4236
|
+
* @cmsEditable true
|
|
4237
|
+
* @cmsCategory Navigation
|
|
4238
|
+
*/
|
|
4239
|
+
"le-tab-panel": LocalJSX.LeTabPanel & JSXBase.HTMLAttributes<HTMLLeTabPanelElement>;
|
|
4240
|
+
/**
|
|
4241
|
+
* A flexible tabs component for organizing content into tabbed panels.
|
|
4242
|
+
* Supports two modes:
|
|
4243
|
+
* 1. **Declarative**: Use `<le-tab-panel>` children to define tabs and content
|
|
4244
|
+
* 2. **Programmatic**: Use the `tabs` prop with named slots for content
|
|
4245
|
+
* Full keyboard navigation and ARIA support included.
|
|
4246
|
+
* @cssprop --le-tabs-border-color - Border color for tab list
|
|
4247
|
+
* @cssprop --le-tabs-gap - Gap between tabs
|
|
4248
|
+
* @cssprop --le-tabs-indicator-color - Active tab indicator color
|
|
4249
|
+
* @cssprop --le-tabs-padding-x - Horizontal padding for tab buttons
|
|
4250
|
+
* @cssprop --le-tabs-padding-y - Vertical padding for tab buttons
|
|
4251
|
+
* @csspart tablist - The tab button container (role="tablist")
|
|
4252
|
+
* @csspart tab - Individual tab buttons
|
|
4253
|
+
* @csspart tab-active - The currently active tab
|
|
4254
|
+
* @csspart panels - Container for panel content
|
|
4255
|
+
* @csspart panel - Individual panel containers
|
|
4256
|
+
* @cmsEditable true
|
|
4257
|
+
* @cmsCategory Navigation
|
|
4258
|
+
*/
|
|
4259
|
+
"le-tabs": LocalJSX.LeTabs & JSXBase.HTMLAttributes<HTMLLeTabsElement>;
|
|
4260
|
+
/**
|
|
4261
|
+
* A tag/chip component for displaying labels with optional dismiss functionality.
|
|
4262
|
+
* @cmsEditable false
|
|
4263
|
+
* @cmsCategory Form
|
|
4264
|
+
* @example Basic tag
|
|
4265
|
+
* ```html
|
|
4266
|
+
* <le-tag label="JavaScript"></le-tag>
|
|
4267
|
+
* ```
|
|
4268
|
+
* @example Dismissible tag
|
|
4269
|
+
* ```html
|
|
4270
|
+
* <le-tag label="Remove me" dismissible></le-tag>
|
|
4271
|
+
* ```
|
|
4272
|
+
* @example With icon
|
|
4273
|
+
* ```html
|
|
4274
|
+
* <le-tag label="Settings" icon="⚙️"></le-tag>
|
|
4275
|
+
* ```
|
|
4276
|
+
* @example Different sizes
|
|
4277
|
+
* ```html
|
|
4278
|
+
* <le-tag label="Small" size="small"></le-tag>
|
|
4279
|
+
* <le-tag label="Medium" size="medium"></le-tag>
|
|
4280
|
+
* <le-tag label="Large" size="large"></le-tag>
|
|
4281
|
+
* ```
|
|
4282
|
+
* @example Different variants
|
|
4283
|
+
* ```html
|
|
4284
|
+
* <le-tag label="Default" variant="default"></le-tag>
|
|
4285
|
+
* <le-tag label="Primary" variant="primary"></le-tag>
|
|
4286
|
+
* <le-tag label="Success" variant="success"></le-tag>
|
|
4287
|
+
* <le-tag label="Warning" variant="warning"></le-tag>
|
|
4288
|
+
* <le-tag label="Danger" variant="danger"></le-tag>
|
|
4289
|
+
* ```
|
|
4290
|
+
*/
|
|
4291
|
+
"le-tag": LocalJSX.LeTag & JSXBase.HTMLAttributes<HTMLLeTagElement>;
|
|
2022
4292
|
/**
|
|
2023
4293
|
* A text component with rich text editing capabilities in admin mode.
|
|
2024
4294
|
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|