le-kit 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{core/cjs/index-B0mg71He.js → cjs/index-CHzu3ydp.js} +10 -3
- package/dist/cjs/index-CHzu3ydp.js.map +1 -0
- package/dist/{core/cjs → cjs}/index.cjs.js +4 -3
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-box.cjs.entry.js +3 -3
- package/dist/cjs/le-box.entry.cjs.js.map +1 -0
- package/dist/cjs/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.cjs.js.map +1 -0
- package/dist/cjs/le-button_13.cjs.entry.js +2579 -0
- package/dist/cjs/le-card.cjs.entry.js +29 -0
- package/dist/cjs/le-card.entry.cjs.js.map +1 -0
- package/dist/cjs/le-combobox.cjs.entry.js +237 -0
- package/dist/cjs/le-combobox.entry.cjs.js.map +1 -0
- package/dist/cjs/le-header-placeholder.cjs.entry.js +18 -0
- package/dist/cjs/le-header-placeholder.entry.cjs.js.map +1 -0
- package/dist/cjs/le-kit.cjs.js +25 -0
- package/dist/cjs/le-multiselect.cjs.entry.js +306 -0
- package/dist/cjs/le-multiselect.entry.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-number-input.cjs.entry.js +3 -3
- package/dist/cjs/le-number-input.entry.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-round-progress.cjs.entry.js +2 -2
- package/dist/cjs/le-round-progress.entry.cjs.js.map +1 -0
- package/dist/cjs/le-segmented-control.cjs.entry.js +245 -0
- package/dist/cjs/le-segmented-control.entry.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-stack.cjs.entry.js +4 -4
- package/dist/cjs/le-stack.entry.cjs.js.map +1 -0
- package/dist/cjs/le-tab-bar.cjs.entry.js +242 -0
- package/dist/cjs/le-tab-bar.entry.cjs.js.map +1 -0
- package/dist/cjs/le-tab-panel.cjs.entry.js +100 -0
- package/dist/cjs/le-tab-panel.entry.cjs.js.map +1 -0
- package/dist/cjs/le-tab.cjs.entry.js +133 -0
- package/dist/cjs/le-tab.entry.cjs.js.map +1 -0
- package/dist/cjs/le-tabs.cjs.entry.js +307 -0
- package/dist/cjs/le-tabs.entry.cjs.js.map +1 -0
- package/dist/cjs/le-tag.cjs.entry.js +68 -0
- package/dist/cjs/le-tag.entry.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-text.cjs.entry.js +3 -3
- package/dist/cjs/le-text.entry.cjs.js.map +1 -0
- package/dist/{core/cjs → cjs}/le-turntable.cjs.entry.js +2 -2
- package/dist/cjs/le-turntable.entry.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +13 -0
- package/dist/{core/cjs/utils-jdqP71LP.js → cjs/utils-CYOKcOW8.js} +3 -3
- package/dist/cjs/utils-CYOKcOW8.js.map +1 -0
- package/dist/collection/collection-manifest.json +41 -0
- package/dist/{core/collection → collection}/components/le-box/le-box.js +1 -1
- package/dist/collection/components/le-box/le-box.js.map +1 -0
- package/dist/{core/collection/components/le-button/le-button.default.css → collection/components/le-button/le-button.css} +65 -38
- package/dist/{core/collection → collection}/components/le-button/le-button.js +106 -16
- package/dist/collection/components/le-button/le-button.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-card/le-card.default.css +6 -6
- package/dist/{core/collection → collection}/components/le-card/le-card.js +2 -2
- package/dist/collection/components/le-card/le-card.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.js +2 -2
- package/dist/collection/components/le-checkbox/le-checkbox.js.map +1 -0
- package/dist/collection/components/le-collapse/le-collapse.css +31 -0
- package/dist/collection/components/le-collapse/le-collapse.js +188 -0
- package/dist/collection/components/le-collapse/le-collapse.js.map +1 -0
- package/dist/collection/components/le-combobox/le-combobox.css +144 -0
- package/dist/collection/components/le-combobox/le-combobox.js +659 -0
- package/dist/collection/components/le-combobox/le-combobox.js.map +1 -0
- package/dist/collection/components/le-component/le-component.css +189 -0
- package/dist/{le-kit/le-component.entry.js → collection/components/le-component/le-component.js} +137 -17
- package/dist/collection/components/le-component/le-component.js.map +1 -0
- package/dist/collection/components/le-current-heading/le-current-heading.css +12 -0
- package/dist/collection/components/le-current-heading/le-current-heading.js +130 -0
- package/dist/collection/components/le-current-heading/le-current-heading.js.map +1 -0
- package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +167 -0
- package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +761 -0
- package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +1 -0
- package/dist/collection/components/le-header/le-header.css +120 -0
- package/dist/collection/components/le-header/le-header.js +508 -0
- package/dist/collection/components/le-header/le-header.js.map +1 -0
- package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +21 -0
- package/dist/collection/components/le-header-placeholder/le-header-placeholder.js.map +1 -0
- package/dist/collection/components/le-multiselect/le-multiselect.css +163 -0
- package/dist/collection/components/le-multiselect/le-multiselect.js +734 -0
- package/dist/collection/components/le-multiselect/le-multiselect.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-number-input/le-number-input.js +2 -2
- package/dist/collection/components/le-number-input/le-number-input.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-popover/le-popover.css +20 -0
- package/dist/{core/collection → collection}/components/le-popover/le-popover.js +180 -20
- package/dist/collection/components/le-popover/le-popover.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-popup/le-popup.api.js +2 -1
- package/dist/collection/components/le-popup/le-popup.api.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-popup/le-popup.js +49 -19
- package/dist/collection/components/le-popup/le-popup.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.js +1 -1
- package/dist/collection/components/le-round-progress/le-round-progress.js.map +1 -0
- package/dist/collection/components/le-scroll-progress/le-scroll-progress.css +29 -0
- package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +186 -0
- package/dist/collection/components/le-scroll-progress/le-scroll-progress.js.map +1 -0
- package/dist/collection/components/le-segmented-control/le-segmented-control.css +78 -0
- package/dist/collection/components/le-segmented-control/le-segmented-control.js +445 -0
- package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +1 -0
- package/dist/collection/components/le-select/le-select.css +121 -0
- package/dist/collection/components/le-select/le-select.js +578 -0
- package/dist/collection/components/le-select/le-select.js.map +1 -0
- package/dist/collection/components/le-slot/le-slot.default.css +222 -0
- package/dist/{le-kit/le-slot.entry.js → collection/components/le-slot/le-slot.js} +268 -17
- package/dist/collection/components/le-slot/le-slot.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-stack/le-stack.js +2 -2
- package/dist/collection/components/le-stack/le-stack.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-string-input/le-string-input.css +1 -1
- package/dist/{core/collection → collection}/components/le-string-input/le-string-input.js +60 -6
- package/dist/collection/components/le-string-input/le-string-input.js.map +1 -0
- package/dist/collection/components/le-tab/le-tab.css +289 -0
- package/dist/collection/components/le-tab/le-tab.js +565 -0
- package/dist/collection/components/le-tab/le-tab.js.map +1 -0
- package/dist/collection/components/le-tab-bar/le-tab-bar.css +89 -0
- package/dist/collection/components/le-tab-bar/le-tab-bar.js +467 -0
- package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +1 -0
- package/dist/collection/components/le-tab-panel/le-tab-panel.css +30 -0
- package/dist/collection/components/le-tab-panel/le-tab-panel.js +302 -0
- package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +1 -0
- package/dist/collection/components/le-tabs/le-tabs.css +146 -0
- package/dist/collection/components/le-tabs/le-tabs.js +588 -0
- package/dist/collection/components/le-tabs/le-tabs.js.map +1 -0
- package/dist/collection/components/le-tag/le-tag.css +139 -0
- package/dist/collection/components/le-tag/le-tag.js +266 -0
- package/dist/collection/components/le-tag/le-tag.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-text/le-text.js +1 -1
- package/dist/collection/components/le-text/le-text.js.map +1 -0
- package/dist/{core/collection → collection}/components/le-turntable/le-turntable.js +1 -1
- package/dist/collection/components/le-turntable/le-turntable.js.map +1 -0
- package/dist/collection/dist/components/assets/.gitkeep +1 -0
- package/dist/collection/dist/components/assets/custom-elements.json +9234 -0
- package/dist/collection/dist/components/themes/base.css +89 -0
- package/dist/collection/dist/components/themes/dark.css +103 -0
- package/dist/collection/dist/components/themes/default.css +111 -0
- package/dist/collection/dist/components/themes/gradient.css +103 -0
- package/dist/collection/dist/components/themes/index.css +76 -0
- package/dist/collection/dist/components/themes/minimal.css +103 -0
- package/dist/collection/dist/components/themes/warm.css +103 -0
- package/dist/collection/global/app.js.map +1 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/types/blocks.js.map +1 -0
- package/dist/collection/types/options.js.map +1 -0
- package/dist/collection/utils/utils.js.map +1 -0
- package/dist/components/assets/.gitkeep +1 -0
- package/dist/components/assets/custom-elements.json +9234 -0
- package/dist/components/index.js +11 -0
- package/dist/components/index.js.map +1 -0
- package/dist/{core/components → components}/le-box.js +22 -6
- package/dist/components/le-box.js.map +1 -0
- package/dist/{core/components → components}/le-button.js +1 -1
- package/dist/{core/components → components}/le-button2.js +671 -35
- package/dist/components/le-button2.js.map +1 -0
- package/dist/{core/components → components}/le-card.js +22 -6
- package/dist/components/le-card.js.map +1 -0
- package/dist/{core/components → components}/le-checkbox.js +1 -1
- package/dist/components/le-collapse.d.ts +11 -0
- package/dist/components/le-collapse.js +144 -0
- package/dist/components/le-collapse.js.map +1 -0
- package/dist/components/le-combobox.d.ts +11 -0
- package/dist/components/le-combobox.js +326 -0
- package/dist/components/le-combobox.js.map +1 -0
- package/dist/{core/components → components}/le-component.js +1 -1
- package/dist/components/le-current-heading.d.ts +11 -0
- package/dist/components/le-current-heading.js +93 -0
- package/dist/components/le-current-heading.js.map +1 -0
- package/dist/components/le-dropdown-base.d.ts +11 -0
- package/dist/components/le-dropdown-base.js +9 -0
- package/dist/components/le-dropdown-base.js.map +1 -0
- package/dist/components/le-dropdown-base2.js +393 -0
- package/dist/components/le-dropdown-base2.js.map +1 -0
- package/dist/components/le-header-placeholder.d.ts +11 -0
- package/dist/components/le-header-placeholder.js +37 -0
- package/dist/components/le-header-placeholder.js.map +1 -0
- package/dist/components/le-header.d.ts +11 -0
- package/dist/components/le-header.js +347 -0
- package/dist/components/le-header.js.map +1 -0
- package/dist/components/le-multiselect.d.ts +11 -0
- package/dist/components/le-multiselect.js +405 -0
- package/dist/components/le-multiselect.js.map +1 -0
- package/dist/{core/components → components}/le-number-input.js +23 -7
- package/dist/components/le-number-input.js.map +1 -0
- package/dist/{core/components → components}/le-popover2.js +143 -21
- package/dist/components/le-popover2.js.map +1 -0
- package/dist/{core/components/index.js → components/le-popup.api.js} +5 -12
- package/dist/components/le-popup.api.js.map +1 -0
- package/dist/components/le-popup.js +9 -0
- package/dist/components/le-popup.js.map +1 -0
- package/dist/{core/components → components}/le-round-progress.js +1 -1
- package/dist/components/le-scroll-progress.d.ts +11 -0
- package/dist/components/le-scroll-progress.js +142 -0
- package/dist/components/le-scroll-progress.js.map +1 -0
- package/dist/components/le-segmented-control.d.ts +11 -0
- package/dist/components/le-segmented-control.js +331 -0
- package/dist/components/le-segmented-control.js.map +1 -0
- package/dist/components/le-select.d.ts +11 -0
- package/dist/components/le-select.js +9 -0
- package/dist/components/le-select.js.map +1 -0
- package/dist/{core/components → components}/le-slot.js +1 -1
- package/dist/{core/components → components}/le-stack.js +23 -7
- package/dist/components/le-stack.js.map +1 -0
- package/dist/{core/components → components}/le-string-input.js +1 -1
- package/dist/components/le-tab-bar.d.ts +11 -0
- package/dist/components/le-tab-bar.js +330 -0
- package/dist/components/le-tab-bar.js.map +1 -0
- package/dist/components/le-tab-panel.d.ts +11 -0
- package/dist/components/le-tab-panel.js +182 -0
- package/dist/components/le-tab-panel.js.map +1 -0
- package/dist/components/le-tab.d.ts +11 -0
- package/dist/components/le-tab.js +9 -0
- package/dist/components/le-tab.js.map +1 -0
- package/dist/components/le-tab2.js +217 -0
- package/dist/components/le-tab2.js.map +1 -0
- package/dist/components/le-tabs.d.ts +11 -0
- package/dist/components/le-tabs.js +397 -0
- package/dist/components/le-tabs.js.map +1 -0
- package/dist/components/le-tag.d.ts +11 -0
- package/dist/components/le-tag.js +9 -0
- package/dist/components/le-tag.js.map +1 -0
- package/dist/components/le-tag2.js +141 -0
- package/dist/components/le-tag2.js.map +1 -0
- package/dist/{core/components → components}/le-text.js +22 -6
- package/dist/components/le-text.js.map +1 -0
- package/dist/{core/components → components}/le-turntable.js +1 -1
- package/dist/components/themes/base.css +4 -4
- package/dist/components/themes/dark.css +4 -1
- package/dist/components/themes/default.css +4 -1
- package/dist/components/themes/gradient.css +4 -1
- package/dist/components/themes/index.css +4 -341
- package/dist/components/themes/minimal.css +4 -1
- package/dist/components/themes/warm.css +4 -1
- package/dist/docs.d.ts +443 -0
- package/dist/docs.json +11547 -0
- package/dist/{core/esm/index-SKsXnjWI.js → esm/index-hmBwv43R.js} +10 -4
- package/dist/esm/index-hmBwv43R.js.map +1 -0
- package/dist/{core/esm → esm}/index.js +4 -3
- package/dist/esm/index.js.map +1 -0
- package/dist/{le-kit → esm}/le-box.entry.js +3 -3
- package/dist/esm/le-box.entry.js.map +1 -0
- package/dist/esm/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.js.map +1 -0
- package/dist/esm/le-button_13.entry.js +2565 -0
- package/dist/{le-kit → esm}/le-card.entry.js +3 -3
- package/dist/esm/le-card.entry.js.map +1 -0
- package/dist/esm/le-combobox.entry.js +235 -0
- package/dist/esm/le-combobox.entry.js.map +1 -0
- package/dist/esm/le-header-placeholder.entry.js +16 -0
- package/dist/esm/le-header-placeholder.entry.js.map +1 -0
- package/dist/esm/le-kit.js +21 -0
- package/dist/esm/le-multiselect.entry.js +304 -0
- package/dist/esm/le-multiselect.entry.js.map +1 -0
- package/dist/{le-kit → esm}/le-number-input.entry.js +6 -6
- package/dist/esm/le-number-input.entry.js.map +1 -0
- package/dist/{core/esm → esm}/le-round-progress.entry.js +2 -2
- package/dist/esm/le-round-progress.entry.js.map +1 -0
- package/dist/esm/le-segmented-control.entry.js +243 -0
- package/dist/esm/le-segmented-control.entry.js.map +1 -0
- package/dist/{le-kit → esm}/le-stack.entry.js +4 -4
- package/dist/esm/le-stack.entry.js.map +1 -0
- package/dist/esm/le-tab-bar.entry.js +240 -0
- package/dist/esm/le-tab-bar.entry.js.map +1 -0
- package/dist/esm/le-tab-panel.entry.js +98 -0
- package/dist/esm/le-tab-panel.entry.js.map +1 -0
- package/dist/esm/le-tab.entry.js +131 -0
- package/dist/esm/le-tab.entry.js.map +1 -0
- package/dist/esm/le-tabs.entry.js +305 -0
- package/dist/esm/le-tabs.entry.js.map +1 -0
- package/dist/esm/le-tag.entry.js +66 -0
- package/dist/esm/le-tag.entry.js.map +1 -0
- package/dist/{le-kit → esm}/le-text.entry.js +3 -3
- package/dist/esm/le-text.entry.js.map +1 -0
- package/dist/{core/esm → esm}/le-turntable.entry.js +2 -2
- package/dist/esm/le-turntable.entry.js.map +1 -0
- package/dist/esm/loader.js +11 -0
- package/dist/{le-kit/utils-cwSNy7ZS.js → esm/utils-DRTFlnxz.js} +3 -3
- package/dist/{le-kit/utils-cwSNy7ZS.js.map → esm/utils-DRTFlnxz.js.map} +1 -1
- package/dist/le-kit/dist/components/assets/.gitkeep +1 -0
- package/dist/le-kit/dist/components/assets/custom-elements.json +9234 -0
- package/dist/le-kit/dist/components/themes/base.css +4 -4
- package/dist/le-kit/dist/components/themes/dark.css +4 -1
- package/dist/le-kit/dist/components/themes/default.css +4 -1
- package/dist/le-kit/dist/components/themes/gradient.css +4 -1
- package/dist/le-kit/dist/components/themes/index.css +4 -341
- package/dist/le-kit/dist/components/themes/minimal.css +4 -1
- package/dist/le-kit/dist/components/themes/warm.css +4 -1
- package/dist/le-kit/index.esm.js +2 -116
- package/dist/le-kit/index.esm.js.map +1 -1
- package/dist/le-kit/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.esm.js.map +1 -0
- package/dist/le-kit/le-combobox.entry.esm.js.map +1 -0
- package/dist/le-kit/le-header-placeholder.entry.esm.js.map +1 -0
- package/dist/le-kit/le-kit.css +1 -1010
- package/dist/le-kit/le-kit.esm.js +2 -48
- package/dist/le-kit/le-kit.esm.js.map +1 -1
- package/dist/le-kit/le-multiselect.entry.esm.js.map +1 -0
- package/dist/le-kit/le-segmented-control.entry.esm.js.map +1 -0
- package/dist/le-kit/le-tab-bar.entry.esm.js.map +1 -0
- package/dist/le-kit/le-tab-panel.entry.esm.js.map +1 -0
- package/dist/le-kit/le-tab.entry.esm.js.map +1 -0
- package/dist/le-kit/le-tabs.entry.esm.js.map +1 -0
- package/dist/le-kit/le-tag.entry.esm.js.map +1 -0
- package/dist/le-kit/p-13a4dc1d.entry.js +2 -0
- package/dist/le-kit/p-13a4dc1d.entry.js.map +1 -0
- package/dist/{core/le-kit/p-55f70091.entry.js → le-kit/p-1a9e65d0.entry.js} +2 -2
- package/dist/le-kit/p-1a9e65d0.entry.js.map +1 -0
- package/dist/le-kit/p-2708dc65.entry.js +2 -0
- package/dist/le-kit/p-2708dc65.entry.js.map +1 -0
- package/dist/le-kit/p-2b96a5bd.entry.js +2 -0
- package/dist/le-kit/p-2b96a5bd.entry.js.map +1 -0
- package/dist/le-kit/p-32cbb683.entry.js +2 -0
- package/dist/le-kit/p-32cbb683.entry.js.map +1 -0
- package/dist/le-kit/p-476e1886.entry.js +2 -0
- package/dist/le-kit/p-476e1886.entry.js.map +1 -0
- package/dist/le-kit/p-67d702f9.entry.js +2 -0
- package/dist/le-kit/p-67d702f9.entry.js.map +1 -0
- package/dist/{core/le-kit/p-6e414a5c.entry.js → le-kit/p-6884e3e8.entry.js} +2 -2
- package/dist/le-kit/p-6884e3e8.entry.js.map +1 -0
- package/dist/le-kit/p-704ad5e0.entry.js +2 -0
- package/dist/le-kit/p-704ad5e0.entry.js.map +1 -0
- package/dist/le-kit/p-88f9aa40.entry.js +2 -0
- package/dist/le-kit/p-88f9aa40.entry.js.map +1 -0
- package/dist/le-kit/p-8dd8a487.entry.js +2 -0
- package/dist/le-kit/p-8dd8a487.entry.js.map +1 -0
- package/dist/le-kit/p-97b7658a.entry.js +2 -0
- package/dist/le-kit/p-97b7658a.entry.js.map +1 -0
- package/dist/le-kit/p-c0925e92.entry.js +2 -0
- package/dist/le-kit/p-c0925e92.entry.js.map +1 -0
- package/dist/le-kit/p-c2494a0d.entry.js +2 -0
- package/dist/le-kit/p-c2494a0d.entry.js.map +1 -0
- package/dist/le-kit/p-ded51018.entry.js +2 -0
- package/dist/le-kit/p-ded51018.entry.js.map +1 -0
- package/dist/{core/le-kit/p-a9d05ef6.entry.js → le-kit/p-e3db7974.entry.js} +2 -2
- package/dist/le-kit/p-e3db7974.entry.js.map +1 -0
- package/dist/{core/le-kit/p-4f133e72.entry.js → le-kit/p-f9b03aec.entry.js} +2 -2
- package/dist/le-kit/p-f9b03aec.entry.js.map +1 -0
- package/dist/le-kit/p-hmBwv43R.js +3 -0
- package/dist/le-kit/p-hmBwv43R.js.map +1 -0
- package/dist/le-kit/p-txKmCJHv.js +2 -0
- package/dist/le-kit/p-txKmCJHv.js.map +1 -0
- package/dist/themes/base.css +89 -0
- package/dist/themes/dark.css +103 -0
- package/dist/themes/default.css +111 -0
- package/dist/themes/gradient.css +103 -0
- package/dist/themes/index.css +76 -0
- package/dist/themes/minimal.css +103 -0
- package/dist/themes/warm.css +103 -0
- package/dist/types/components/le-button/le-button.d.ts +19 -4
- package/dist/types/components/le-collapse/le-collapse.d.ts +41 -0
- package/dist/types/components/le-combobox/le-combobox.d.ts +128 -0
- package/dist/types/components/le-current-heading/le-current-heading.d.ts +25 -0
- package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +118 -0
- package/dist/types/components/le-header/le-header.d.ts +115 -0
- package/dist/types/components/le-header-placeholder/le-header-placeholder.d.ts +13 -0
- package/dist/types/components/le-multiselect/le-multiselect.d.ts +143 -0
- package/dist/types/components/le-popover/le-popover.d.ts +22 -2
- package/dist/types/components/le-popup/le-popup.d.ts +5 -0
- package/dist/types/components/le-scroll-progress/le-scroll-progress.d.ts +40 -0
- package/dist/types/components/le-segmented-control/le-segmented-control.d.ts +82 -0
- package/dist/types/components/le-select/le-select.d.ts +125 -0
- package/dist/types/components/le-string-input/le-string-input.d.ts +8 -0
- package/dist/types/components/le-tab/le-tab.d.ts +116 -0
- package/dist/types/components/le-tab-bar/le-tab-bar.d.ts +88 -0
- package/dist/types/components/le-tab-panel/le-tab-panel.d.ts +75 -0
- package/dist/types/components/le-tabs/le-tabs.d.ts +108 -0
- package/dist/types/components/le-tag/le-tag.d.ts +78 -0
- package/dist/types/components.d.ts +3061 -273
- package/dist/types/types/options.d.ts +9 -0
- package/package.json +3 -18
- package/dist/core/cjs/index-B0mg71He.js.map +0 -1
- package/dist/core/cjs/index.cjs.js.map +0 -1
- package/dist/core/cjs/le-box.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-button.cjs.entry.js +0 -92
- package/dist/core/cjs/le-button.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-card.cjs.entry.js +0 -29
- package/dist/core/cjs/le-card.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-checkbox.cjs.entry.js +0 -61
- package/dist/core/cjs/le-checkbox.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-kit.cjs.js +0 -25
- package/dist/core/cjs/le-number-input.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-popover.cjs.entry.js +0 -348
- package/dist/core/cjs/le-popover.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-popup.cjs.entry.js +0 -212
- package/dist/core/cjs/le-popup.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-round-progress.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-stack.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-string-input.cjs.entry.js +0 -95
- package/dist/core/cjs/le-string-input.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-text.entry.cjs.js.map +0 -1
- package/dist/core/cjs/le-turntable.entry.cjs.js.map +0 -1
- package/dist/core/cjs/loader.cjs.js +0 -13
- package/dist/core/cjs/utils-jdqP71LP.js.map +0 -1
- package/dist/core/collection/collection-manifest.json +0 -24
- package/dist/core/collection/components/le-box/le-box.js.map +0 -1
- package/dist/core/collection/components/le-button/le-button.js.map +0 -1
- package/dist/core/collection/components/le-card/le-card.js.map +0 -1
- package/dist/core/collection/components/le-checkbox/le-checkbox.js.map +0 -1
- package/dist/core/collection/components/le-number-input/le-number-input.js.map +0 -1
- package/dist/core/collection/components/le-popover/le-popover.js.map +0 -1
- package/dist/core/collection/components/le-popup/le-popup.api.js.map +0 -1
- package/dist/core/collection/components/le-popup/le-popup.js.map +0 -1
- package/dist/core/collection/components/le-round-progress/le-round-progress.js.map +0 -1
- package/dist/core/collection/components/le-stack/le-stack.js.map +0 -1
- package/dist/core/collection/components/le-string-input/le-string-input.js.map +0 -1
- package/dist/core/collection/components/le-text/le-text.js.map +0 -1
- package/dist/core/collection/components/le-turntable/le-turntable.js.map +0 -1
- package/dist/core/collection/global/app.js.map +0 -1
- package/dist/core/collection/index.js.map +0 -1
- package/dist/core/collection/types/blocks.js.map +0 -1
- package/dist/core/collection/types/options.js.map +0 -1
- package/dist/core/collection/utils/utils.js.map +0 -1
- package/dist/core/components/index.d.ts +0 -33
- package/dist/core/components/index.js.map +0 -1
- package/dist/core/components/le-box.d.ts +0 -11
- package/dist/core/components/le-box.js.map +0 -1
- package/dist/core/components/le-button.d.ts +0 -11
- package/dist/core/components/le-button2.js.map +0 -1
- package/dist/core/components/le-card.d.ts +0 -11
- package/dist/core/components/le-card.js.map +0 -1
- package/dist/core/components/le-checkbox.d.ts +0 -11
- package/dist/core/components/le-component.d.ts +0 -11
- package/dist/core/components/le-number-input.d.ts +0 -11
- package/dist/core/components/le-number-input.js.map +0 -1
- package/dist/core/components/le-popover.d.ts +0 -11
- package/dist/core/components/le-popover2.js.map +0 -1
- package/dist/core/components/le-popup.d.ts +0 -11
- package/dist/core/components/le-popup.js +0 -279
- package/dist/core/components/le-popup.js.map +0 -1
- package/dist/core/components/le-round-progress.d.ts +0 -11
- package/dist/core/components/le-slot.d.ts +0 -11
- package/dist/core/components/le-stack.d.ts +0 -11
- package/dist/core/components/le-stack.js.map +0 -1
- package/dist/core/components/le-string-input.d.ts +0 -11
- package/dist/core/components/le-text.d.ts +0 -11
- package/dist/core/components/le-text.js.map +0 -1
- package/dist/core/components/le-turntable.d.ts +0 -11
- package/dist/core/esm/index-SKsXnjWI.js.map +0 -1
- package/dist/core/esm/index.js.map +0 -1
- package/dist/core/esm/le-box.entry.js +0 -182
- package/dist/core/esm/le-box.entry.js.map +0 -1
- package/dist/core/esm/le-button.entry.js +0 -90
- package/dist/core/esm/le-button.entry.js.map +0 -1
- package/dist/core/esm/le-card.entry.js +0 -27
- package/dist/core/esm/le-card.entry.js.map +0 -1
- package/dist/core/esm/le-checkbox.entry.js +0 -59
- package/dist/core/esm/le-checkbox.entry.js.map +0 -1
- package/dist/core/esm/le-kit.js +0 -21
- package/dist/core/esm/le-number-input.entry.js +0 -200
- package/dist/core/esm/le-number-input.entry.js.map +0 -1
- package/dist/core/esm/le-popover.entry.js +0 -346
- package/dist/core/esm/le-popover.entry.js.map +0 -1
- package/dist/core/esm/le-popup.entry.js +0 -210
- package/dist/core/esm/le-popup.entry.js.map +0 -1
- package/dist/core/esm/le-round-progress.entry.js.map +0 -1
- package/dist/core/esm/le-stack.entry.js +0 -133
- package/dist/core/esm/le-stack.entry.js.map +0 -1
- package/dist/core/esm/le-string-input.entry.js +0 -93
- package/dist/core/esm/le-string-input.entry.js.map +0 -1
- package/dist/core/esm/le-text.entry.js +0 -333
- package/dist/core/esm/le-text.entry.js.map +0 -1
- package/dist/core/esm/le-turntable.entry.js.map +0 -1
- package/dist/core/esm/loader.js +0 -11
- package/dist/core/esm/utils-DZdP1JiG.js +0 -146
- package/dist/core/esm/utils-DZdP1JiG.js.map +0 -1
- package/dist/core/le-kit/index.esm.js +0 -2
- package/dist/core/le-kit/index.esm.js.map +0 -1
- package/dist/core/le-kit/le-box.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-button.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-card.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-checkbox.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-kit.css +0 -1
- package/dist/core/le-kit/le-kit.esm.js +0 -2
- package/dist/core/le-kit/le-kit.esm.js.map +0 -1
- package/dist/core/le-kit/le-number-input.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-popover.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-popup.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-round-progress.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-stack.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-string-input.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-text.entry.esm.js.map +0 -1
- package/dist/core/le-kit/le-turntable.entry.esm.js.map +0 -1
- package/dist/core/le-kit/loader.esm.js.map +0 -1
- package/dist/core/le-kit/p--VxUdzYV.js +0 -2
- package/dist/core/le-kit/p--VxUdzYV.js.map +0 -1
- package/dist/core/le-kit/p-189cb775.entry.js +0 -2
- package/dist/core/le-kit/p-189cb775.entry.js.map +0 -1
- package/dist/core/le-kit/p-35c1d413.entry.js +0 -2
- package/dist/core/le-kit/p-35c1d413.entry.js.map +0 -1
- package/dist/core/le-kit/p-4f133e72.entry.js.map +0 -1
- package/dist/core/le-kit/p-55f70091.entry.js.map +0 -1
- package/dist/core/le-kit/p-5fd7b23a.entry.js +0 -2
- package/dist/core/le-kit/p-5fd7b23a.entry.js.map +0 -1
- package/dist/core/le-kit/p-6e414a5c.entry.js.map +0 -1
- package/dist/core/le-kit/p-7b121ca7.entry.js +0 -2
- package/dist/core/le-kit/p-7b121ca7.entry.js.map +0 -1
- package/dist/core/le-kit/p-8c81fa95.entry.js +0 -2
- package/dist/core/le-kit/p-8c81fa95.entry.js.map +0 -1
- package/dist/core/le-kit/p-9aa81442.entry.js +0 -2
- package/dist/core/le-kit/p-9aa81442.entry.js.map +0 -1
- package/dist/core/le-kit/p-SKsXnjWI.js +0 -3
- package/dist/core/le-kit/p-SKsXnjWI.js.map +0 -1
- package/dist/core/le-kit/p-a9d05ef6.entry.js.map +0 -1
- package/dist/core/le-kit/p-b2bd2a80.entry.js +0 -2
- package/dist/core/le-kit/p-b2bd2a80.entry.js.map +0 -1
- package/dist/core/le-kit/p-ccac9611.entry.js +0 -2
- package/dist/core/le-kit/p-ccac9611.entry.js.map +0 -1
- package/dist/core/loader/cdn.js +0 -1
- package/dist/core/loader/index.cjs.js +0 -1
- package/dist/core/loader/index.d.ts +0 -24
- package/dist/core/loader/index.es2017.js +0 -1
- package/dist/core/loader/index.js +0 -2
- package/dist/core/types/components/le-box/le-box.d.ts +0 -111
- package/dist/core/types/components/le-button/le-button.d.ts +0 -78
- package/dist/core/types/components/le-card/le-card.d.ts +0 -37
- package/dist/core/types/components/le-checkbox/le-checkbox.d.ts +0 -46
- package/dist/core/types/components/le-number-input/le-number-input.d.ts +0 -106
- package/dist/core/types/components/le-popover/le-popover.d.ts +0 -109
- package/dist/core/types/components/le-popup/le-popup.api.d.ts +0 -73
- package/dist/core/types/components/le-popup/le-popup.d.ts +0 -122
- package/dist/core/types/components/le-round-progress/le-round-progress.d.ts +0 -37
- package/dist/core/types/components/le-stack/le-stack.d.ts +0 -73
- package/dist/core/types/components/le-string-input/le-string-input.d.ts +0 -83
- package/dist/core/types/components/le-text/le-text.d.ts +0 -141
- package/dist/core/types/components/le-turntable/le-turntable.d.ts +0 -55
- package/dist/core/types/components.d.ts +0 -1752
- package/dist/core/types/global/app.d.ts +0 -73
- package/dist/core/types/index.d.ts +0 -15
- package/dist/core/types/stencil-public-runtime.d.ts +0 -1756
- package/dist/core/types/types/blocks.d.ts +0 -136
- package/dist/core/types/types/options.d.ts +0 -124
- package/dist/core/types/utils/utils.d.ts +0 -54
- package/dist/le-kit/assets/custom-elements.json +0 -4305
- package/dist/le-kit/index-CAY3Hk_i.js +0 -4559
- package/dist/le-kit/index-CAY3Hk_i.js.map +0 -1
- package/dist/le-kit/le-button.entry.esm.js.map +0 -1
- package/dist/le-kit/le-button.entry.js +0 -90
- package/dist/le-kit/le-checkbox.entry.esm.js.map +0 -1
- package/dist/le-kit/le-checkbox.entry.js +0 -59
- package/dist/le-kit/le-component.entry.esm.js.map +0 -1
- package/dist/le-kit/le-popover.entry.esm.js.map +0 -1
- package/dist/le-kit/le-popover.entry.js +0 -346
- package/dist/le-kit/le-popup.entry.esm.js.map +0 -1
- package/dist/le-kit/le-popup.entry.js +0 -210
- package/dist/le-kit/le-round-progress.entry.js +0 -104
- package/dist/le-kit/le-slot.entry.esm.js.map +0 -1
- package/dist/le-kit/le-string-input.entry.esm.js.map +0 -1
- package/dist/le-kit/le-string-input.entry.js +0 -93
- package/dist/le-kit/le-turntable.entry.js +0 -137
- /package/dist/{core/cjs → cjs}/le-kit.cjs.js.map +0 -0
- /package/dist/{core/cjs → cjs}/loader.cjs.js.map +0 -0
- /package/dist/{core/collection → collection}/components/le-box/le-box.default.css +0 -0
- /package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.css +0 -0
- /package/dist/{core/collection → collection}/components/le-number-input/le-number-input.css +0 -0
- /package/dist/{core/collection → collection}/components/le-popup/le-popup.css +0 -0
- /package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.css +0 -0
- /package/dist/{core/collection → collection}/components/le-stack/le-stack.default.css +0 -0
- /package/dist/{core/collection → collection}/components/le-text/le-text.default.css +0 -0
- /package/dist/{core/collection → collection}/components/le-turntable/le-turntable.css +0 -0
- /package/dist/{core/collection → collection}/global/app.js +0 -0
- /package/dist/{core/collection → collection}/index.js +0 -0
- /package/dist/{core/collection → collection}/types/blocks.js +0 -0
- /package/dist/{core/collection → collection}/types/options.js +0 -0
- /package/dist/{core/collection → collection}/utils/utils.js +0 -0
- /package/dist/{core/components → components}/le-button.js.map +0 -0
- /package/dist/{core/components → components}/le-checkbox.js.map +0 -0
- /package/dist/{core/components → components}/le-component.js.map +0 -0
- /package/dist/{core/components → components}/le-popover.js +0 -0
- /package/dist/{core/components → components}/le-popover.js.map +0 -0
- /package/dist/{core/components → components}/le-round-progress.js.map +0 -0
- /package/dist/{core/components → components}/le-slot.js.map +0 -0
- /package/dist/{core/components → components}/le-string-input.js.map +0 -0
- /package/dist/{core/components → components}/le-turntable.js.map +0 -0
- /package/dist/{core/components → components}/utils.js +0 -0
- /package/dist/{core/components → components}/utils.js.map +0 -0
- /package/dist/{core/esm → esm}/le-kit.js.map +0 -0
- /package/dist/{core/esm → esm}/loader.js.map +0 -0
- /package/dist/{core/index.cjs.js → index.cjs.js} +0 -0
- /package/dist/{core/index.js → index.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["src-core/components/le-popup/le-popup.api.ts"],"sourcesContent":["/**\n * Programmatic API for le-popup component\n * \n * These functions allow you to show popups without manually creating elements.\n * \n * @example\n * // Alert\n * await leAlert('Something happened!');\n * \n * // Confirm\n * const confirmed = await leConfirm('Are you sure?');\n * if (confirmed) { ... }\n * \n * // Prompt\n * const name = await lePrompt('What is your name?');\n * if (name !== null) { ... }\n */\n\nimport type { PopupType, PopupPosition, PopupResult } from './le-popup';\n\n/**\n * Options for programmatic popup functions\n */\nexport interface PopupOptions {\n title?: string;\n type?: PopupType;\n modal?: boolean;\n position?: PopupPosition;\n confirmText?: string;\n cancelText?: string;\n placeholder?: string;\n defaultValue?: string;\n theme?: string;\n}\n\n/**\n * Interface for the le-popup custom element\n */\ninterface HTMLLePopupElement extends HTMLElement {\n open: boolean;\n type: PopupType;\n popupTitle?: string;\n message?: string;\n modal: boolean;\n position: PopupPosition;\n confirmText: string;\n cancelText: string;\n placeholder: string;\n defaultValue: string;\n show(): Promise<PopupResult>;\n hide(confirmed?: boolean): Promise<void>;\n}\n\n/**\n * Show an alert popup with a message\n * @param message - The message to display\n * @param options - Optional configuration\n * @returns Promise that resolves when closed\n * \n * @example\n * await leAlert('File saved successfully!');\n * await leAlert('Error occurred', { title: 'Error', theme: 'dark' });\n */\nexport async function leAlert(message: string, options: PopupOptions = {}): Promise<void> {\n const popup = createPopupElement(message, { ...options, type: 'alert' });\n document.body.appendChild(popup);\n \n await popup.show();\n popup.remove();\n}\n\n/**\n * Show a confirm popup with OK/Cancel buttons\n * @param message - The message to display\n * @param options - Optional configuration\n * @returns Promise that resolves to true (confirmed) or false (cancelled)\n * \n * @example\n * const confirmed = await leConfirm('Delete this item?');\n * if (confirmed) {\n * deleteItem();\n * }\n */\nexport async function leConfirm(message: string, options: PopupOptions = {}): Promise<boolean> {\n const popup = createPopupElement(message, { ...options, type: 'confirm' });\n document.body.appendChild(popup);\n \n const result = await popup.show();\n popup.remove();\n \n return result.confirmed;\n}\n\n/**\n * Show a prompt popup with an input field\n * @param message - The message to display\n * @param options - Optional configuration (including defaultValue, placeholder)\n * @returns Promise that resolves to the input value or null if cancelled\n * \n * @example\n * const name = await lePrompt('Enter your name:', { \n * title: 'Welcome',\n * placeholder: 'John Doe',\n * defaultValue: 'Guest'\n * });\n * if (name !== null) {\n * greetUser(name);\n * }\n */\nexport async function lePrompt(message: string, options: PopupOptions = {}): Promise<string | null> {\n const popup = createPopupElement(message, { ...options, type: 'prompt' });\n document.body.appendChild(popup);\n \n const result = await popup.show();\n popup.remove();\n \n return result.confirmed ? (result.value ?? '') : null;\n}\n\n/**\n * Create a popup element with the given configuration\n */\nfunction createPopupElement(message: string, options: PopupOptions): HTMLLePopupElement {\n const popup = document.createElement('le-popup') as HTMLLePopupElement;\n \n popup.message = message;\n popup.type = options.type || 'alert';\n \n if (options.title) popup.popupTitle = options.title;\n if (options.modal !== undefined) popup.modal = options.modal;\n if (options.position) popup.position = options.position;\n if (options.confirmText) popup.confirmText = options.confirmText;\n if (options.cancelText) popup.cancelText = options.cancelText;\n if (options.placeholder) popup.placeholder = options.placeholder;\n if (options.defaultValue) popup.defaultValue = options.defaultValue;\n if (options.theme) popup.setAttribute('theme', options.theme);\n \n return popup;\n}\n"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;;;;;;AAgBG;AAqCH;;;;;;;;;AASG;AACI,eAAe,OAAO,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACvE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACxE,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,KAAK,CAAC,IAAI,EAAE;IAClB,KAAK,CAAC,MAAM,EAAE;AAChB;AAEA;;;;;;;;;;;AAWG;AACI,eAAe,SAAS,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACzE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1E,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;IACjC,KAAK,CAAC,MAAM,EAAE;IAEd,OAAO,MAAM,CAAC,SAAS;AACzB;AAEA;;;;;;;;;;;;;;;AAeG;AACI,eAAe,QAAQ,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACxE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACzE,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;IACjC,KAAK,CAAC,MAAM,EAAE;AAEd,IAAA,OAAO,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI;AACvD;AAEA;;AAEG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,OAAqB,EAAA;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAuB;AAEtE,IAAA,KAAK,CAAC,OAAO,GAAG,OAAO;IACvB,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO;IAEpC,IAAI,OAAO,CAAC,KAAK;AAAE,QAAA,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK;AACnD,IAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;AAAE,QAAA,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;IAC5D,IAAI,OAAO,CAAC,QAAQ;AAAE,QAAA,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;IACvD,IAAI,OAAO,CAAC,WAAW;AAAE,QAAA,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;IAChE,IAAI,OAAO,CAAC,UAAU;AAAE,QAAA,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;IAC7D,IAAI,OAAO,CAAC,WAAW;AAAE,QAAA,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;IAChE,IAAI,OAAO,CAAC,YAAY;AAAE,QAAA,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;IACnE,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;AAE7D,IAAA,OAAO,KAAK;AACd;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"le-box.entry.cjs.js","sources":["src-core/components/le-box/le-box.default.css?tag=le-box&encapsulation=shadow","src-core/components/le-box/le-box.tsx"],"sourcesContent":["/**\n * le-box default styles\n *\n * Flex item properties are applied inline via hostStyle.\n * This CSS handles visual styling and theming.\n */\n\n:host {\n display: block;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n/* Box container - full size by default */\n.box {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n}\n\n/* Content wrapper */\n.content {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n background: var(--le-box-bg, transparent);\n border-radius: var(--le-box-border-radius, 0);\n padding: var(--le-box-padding, 0);\n}\n\n/* When displayFlex is enabled, ensure content stretches */\n:host(.display-flex) .content {\n min-height: 100%;\n}\n","import { Component, Prop, h, Element, Host } from '@stencil/core';\nimport { classnames } from '../../utils/utils';\n\n/**\n * A flexible box component for use as a flex item within le-stack.\n *\n * `le-box` wraps content and provides flex item properties like grow, shrink,\n * basis, and self-alignment. It can also control its internal content alignment.\n *\n * @slot - Default slot for box content\n *\n * @cssprop --le-box-bg - Background color\n * @cssprop --le-box-padding - Padding inside the box\n * @cssprop --le-box-border-radius - Border radius\n *\n * @csspart box - The main box container\n * @csspart content - The inner content wrapper\n *\n * @cmsEditable true\n * @cmsCategory Layout\n */\n@Component({\n tag: 'le-box',\n styleUrl: 'le-box.default.css',\n shadow: true,\n})\nexport class LeBox {\n @Element() el: HTMLElement;\n\n /**\n * Flex grow factor - how much the item should grow relative to siblings\n * @min 0\n */\n @Prop() grow: number = 0;\n\n /**\n * Flex shrink factor - how much the item should shrink relative to siblings\n * @min 0\n */\n @Prop() shrink: number = 1;\n\n /**\n * Flex basis - initial size before growing/shrinking (e.g., '200px', '25%', 'auto')\n */\n @Prop() basis: string = 'auto';\n\n /**\n * Width of the box (CSS value like '100px', '50%', 'auto')\n */\n @Prop() width?: string;\n\n /**\n * Height of the box (CSS value)\n */\n @Prop() height?: string;\n\n /**\n * Minimum width constraint\n */\n @Prop() minWidth?: string;\n\n /**\n * Maximum width constraint\n */\n @Prop() maxWidth?: string;\n\n /**\n * Minimum height constraint\n */\n @Prop() minHeight?: string;\n\n /**\n * Maximum height constraint\n */\n @Prop() maxHeight?: string;\n\n /**\n * Background color or CSS value (e.g., '#f0f0f0', 'var(--le-color-primary-light)')\n */\n @Prop() background?: string;\n\n /**\n * Border radius (e.g., '8px', 'var(--le-radius-md)')\n */\n @Prop() borderRadius?: string;\n\n /**\n * Border style (e.g., '1px solid #ccc', '2px dashed var(--le-color-border)')\n */\n @Prop() border?: string;\n\n /**\n * Self-alignment override for this item on the cross axis\n * @allowedValues auto | start | center | end | stretch | baseline\n */\n @Prop() alignSelf: 'auto' | 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'auto';\n\n /**\n * Internal horizontal alignment of content\n * @allowedValues start | center | end | stretch\n */\n @Prop() alignContent: 'start' | 'center' | 'end' | 'stretch' = 'stretch';\n\n /**\n * Internal vertical alignment of content\n * @allowedValues start | center | end | stretch\n */\n @Prop() justifyContent: 'start' | 'center' | 'end' | 'stretch' = 'start';\n\n /**\n * Padding inside the box (CSS value like '8px', '1rem')\n */\n @Prop() padding?: string;\n\n /**\n * Order in the flex container (lower values come first)\n */\n @Prop() order?: number;\n\n /**\n * Whether to display box content as flex (for internal alignment)\n */\n @Prop() displayFlex: boolean = false;\n\n /**\n * Direction of internal flex layout when displayFlex is true\n * @allowedValues horizontal | vertical\n */\n @Prop() innerDirection: 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Gap between internal flex items when displayFlex is true\n */\n @Prop() innerGap?: string;\n\n private getAlignSelf(): string {\n const alignMap: Record<string, string> = {\n auto: 'auto',\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n };\n return alignMap[this.alignSelf] || 'auto';\n }\n\n private getContentAlign(): string {\n const alignMap: Record<string, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n };\n return alignMap[this.alignContent] || 'stretch';\n }\n\n private getContentJustify(): string {\n const justifyMap: Record<string, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n };\n return justifyMap[this.justifyContent] || 'flex-start';\n }\n\n render() {\n // Host styles for flex item behavior\n const hostStyle: { [key: string]: string } = {\n flexGrow: String(this.grow),\n flexShrink: String(this.shrink),\n flexBasis: this.basis,\n alignSelf: this.getAlignSelf(),\n };\n\n if (this.width) hostStyle.width = this.width;\n if (this.height) hostStyle.height = this.height;\n if (this.minWidth) hostStyle.minWidth = this.minWidth;\n if (this.maxWidth) hostStyle.maxWidth = this.maxWidth;\n if (this.minHeight) hostStyle.minHeight = this.minHeight;\n if (this.maxHeight) hostStyle.maxHeight = this.maxHeight;\n if (this.order !== undefined) hostStyle.order = String(this.order);\n\n // Inner content styles\n const contentStyle: { [key: string]: string } = {};\n\n if (this.padding) {\n contentStyle.padding = this.padding;\n }\n if (this.background) {\n contentStyle.background = this.background;\n }\n if (this.borderRadius) {\n contentStyle.borderRadius = this.borderRadius;\n }\n if (this.border) {\n contentStyle.border = this.border;\n }\n\n if (this.displayFlex) {\n contentStyle.display = 'flex';\n contentStyle.flexDirection = this.innerDirection === 'vertical' ? 'column' : 'row';\n contentStyle.alignItems = this.getContentAlign();\n contentStyle.justifyContent = this.getContentJustify();\n if (this.innerGap) {\n contentStyle.gap = this.innerGap;\n }\n }\n\n const hostClass = classnames({\n 'has-grow': this.grow > 0,\n 'display-flex': this.displayFlex,\n [`inner-${this.innerDirection}`]: this.displayFlex,\n });\n\n return (\n <Host style={hostStyle} class={hostClass}>\n \n <div class=\"box\" part=\"box\">\n <div class=\"content\" part=\"content\" style={contentStyle}>\n \n <slot></slot>\n \n </div>\n </div>\n \n </Host>\n );\n }\n}\n"],"names":["classnames","h","Host"],"mappings":"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"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('./index-B0mg71He.js');
|
|
4
|
-
var utils = require('./utils-jdqP71LP.js');
|
|
5
|
-
|
|
6
|
-
const leButtonDefaultCss = ":host{display:inline-block;--le-button-border-radius:var(--le-radius-md);--le-button-padding-x:0.4rem;--le-button-padding-y:0.4rem;--le-button-small-padding:0.25rem;--le-button-font-size:var(--le-font-size-md);--le-button-font-weight:var(--le-font-weight-medium);--le-button-transition:var(--le-transition-fast);--le-button-icon-aspect-ratio:1;--_btn-bg:var(--le-color-primary);--_btn-bg-hover:var(--le-color-primary-dark);--_btn-bg-system:var(--le-color-black);--_btn-color:var(--le-color-primary-contrast);--_btn-border-color:var(--le-color-primary)}:host([full-width]){display:block;width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--le-spacing-3);width:100%;padding:var(--le-button-padding-y) var(--le-button-padding-x);border:1px solid var(--_btn-border-color);border-radius:var(--le-button-border-radius);background:var(--_btn-bg);color:var(--_btn-color);font-family:var(--le-font-family-base);font-size:var(--le-button-font-size);font-weight:var(--le-button-font-weight);line-height:var(--le-line-height-tight);text-decoration:none;cursor:pointer;transition:background-color var(--le-button-transition) var(--le-transition-easing),\n border-color var(--le-button-transition) var(--le-transition-easing),\n box-shadow var(--le-button-transition) var(--le-transition-easing),\n transform var(--le-button-transition) var(--le-transition-easing)}.button:hover:not(:disabled){background:var(--_btn-bg-hover);border-color:var(--_btn-bg-hover)}.button:active:not(:disabled){transform:translateY(1px)}.button:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}.button:disabled{opacity:0.5;cursor:not-allowed}:host(.color-primary){--_btn-bg:var(--le-color-primary);--_btn-bg-hover:var(--le-color-primary-dark);--_btn-color:var(--le-color-primary-contrast);--_btn-border-color:var(--le-color-primary)}:host(.color-secondary){--_btn-bg:var(--le-color-secondary);--_btn-bg-hover:var(--le-color-secondary-dark);--_btn-color:var(--le-color-secondary-contrast);--_btn-border-color:var(--le-color-secondary)}:host(.color-success){--_btn-bg:var(--le-color-success);--_btn-bg-hover:var(--le-color-success-dark);--_btn-color:var(--le-color-success-contrast);--_btn-border-color:var(--le-color-success)}:host(.color-warning){--_btn-bg:var(--le-color-warning);--_btn-bg-hover:var(--le-color-warning-dark);--_btn-color:var(--le-color-warning-contrast);--_btn-border-color:var(--le-color-warning)}:host(.color-danger){--_btn-bg:var(--le-color-danger);--_btn-bg-hover:var(--le-color-danger-dark);--_btn-color:var(--le-color-danger-contrast);--_btn-border-color:var(--le-color-danger)}:host(.color-info){--_btn-bg:var(--le-color-info);--_btn-bg-hover:var(--le-color-info-dark);--_btn-color:var(--le-color-info-contrast);--_btn-border-color:var(--le-color-info)}:host(.variant-solid) .button{box-shadow:var(--le-shadow-sm)}:host(.variant-solid) .button:hover:not(:disabled){box-shadow:var(--le-shadow-md)}:host(.variant-outlined) .button{background:transparent;color:var(--_btn-bg);border-color:var(--_btn-border-color)}:host(.variant-outlined) .button:hover:not(:disabled){background:var(--_btn-bg);color:var(--_btn-color)}:host(.variant-clear) .button{background:transparent;color:var(--_btn-bg);border-color:transparent}:host(.variant-clear) .button:hover:not(:disabled){background:var(--le-color-gray-100);border-color:transparent}:host(.variant-system) .button{background:transparent;color:var(--_btn-bg-system);border-color:transparent}:host(.size-small) .button{--le-button-padding-x:0.4rem;--le-button-padding-y:0.3rem;--le-button-padding-top:0.35rem;--le-button-font-size:var(--le-button-small-font-size, var(--le-font-size-xs))}:host(.size-large) .button{--le-button-padding-x:0.9rem;--le-button-padding-y:0.6rem;--le-button-font-size:var(--le-font-size-xl)}:host(.full-width){display:block;width:100%}:host(.selected) .button{box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.2)}:host(.variant-outlined.selected) .button,:host(.variant-clear.selected) .button{background:var(--_btn-bg);color:var(--_btn-color)}:host(.icon-only) .button{padding:0.5rem;padding-bottom:0.6rem;aspect-ratio:var(--le-button-icon-aspect-ratio, 1)}:host(.icon-only.size-small) .button{padding:var(--le-button-small-padding, 0.25rem)}:host(.icon-only.size-large) .button{padding:0.75rem}:host(.icon-only) .content{display:none}.content{display:inline}.content:empty{display:none}.icon-start,.icon-only,.icon-end{display:flex;align-items:center;justify-content:center}.icon-start:empty,.icon-only:empty,.icon-end:empty{display:none}::slotted([slot=\"icon-start\"]),::slotted([slot=\"icon-only\"]),::slotted([slot=\"icon-end\"]){display:flex;align-items:center;justify-content:center;width:1.125em;height:1.125em}";
|
|
7
|
-
|
|
8
|
-
const LeButton = class {
|
|
9
|
-
constructor(hostRef) {
|
|
10
|
-
index.registerInstance(this, hostRef);
|
|
11
|
-
this.leClick = index.createEvent(this, "click");
|
|
12
|
-
}
|
|
13
|
-
get el() { return index.getElement(this); }
|
|
14
|
-
/**
|
|
15
|
-
* Mode of the popover should be 'default' for internal use
|
|
16
|
-
*/
|
|
17
|
-
mode;
|
|
18
|
-
/**
|
|
19
|
-
* Button variant style
|
|
20
|
-
* @allowedValues solid | outlined | clear
|
|
21
|
-
*/
|
|
22
|
-
variant = 'solid';
|
|
23
|
-
/**
|
|
24
|
-
* Button color theme (uses theme semantic colors)
|
|
25
|
-
* @allowedValues primary | secondary | success | warning | danger | info
|
|
26
|
-
*/
|
|
27
|
-
color = 'primary';
|
|
28
|
-
/**
|
|
29
|
-
* Button size
|
|
30
|
-
* @allowedValues small | medium | large
|
|
31
|
-
*/
|
|
32
|
-
size = 'medium';
|
|
33
|
-
/**
|
|
34
|
-
* Whether the button is in a selected/active state
|
|
35
|
-
*/
|
|
36
|
-
selected = false;
|
|
37
|
-
/**
|
|
38
|
-
* Whether the button takes full width of its container
|
|
39
|
-
*/
|
|
40
|
-
fullWidth = false;
|
|
41
|
-
/**
|
|
42
|
-
* Whether the button displays only an icon (square aspect ratio)
|
|
43
|
-
*/
|
|
44
|
-
iconOnly = false;
|
|
45
|
-
/**
|
|
46
|
-
* Whether the button is disabled
|
|
47
|
-
*/
|
|
48
|
-
disabled = false;
|
|
49
|
-
/**
|
|
50
|
-
* The button type attribute
|
|
51
|
-
* @allowedValues button | submit | reset
|
|
52
|
-
*/
|
|
53
|
-
type = 'button';
|
|
54
|
-
/**
|
|
55
|
-
* Optional href to make the button act as a link
|
|
56
|
-
*/
|
|
57
|
-
href;
|
|
58
|
-
/**
|
|
59
|
-
* Link target when href is set
|
|
60
|
-
*/
|
|
61
|
-
target;
|
|
62
|
-
/**
|
|
63
|
-
* Emitted when the button is clicked.
|
|
64
|
-
* This is a custom event that wraps the native click but ensures the target is the le-button.
|
|
65
|
-
*/
|
|
66
|
-
leClick;
|
|
67
|
-
handleClick = (event) => {
|
|
68
|
-
// We stop the internal button click from bubbling up
|
|
69
|
-
event.stopPropagation();
|
|
70
|
-
if (this.disabled) {
|
|
71
|
-
event.preventDefault();
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
// And emit our own click event from the host element
|
|
75
|
-
this.leClick.emit(event);
|
|
76
|
-
};
|
|
77
|
-
render() {
|
|
78
|
-
const classes = utils.classnames(`variant-${this.variant}`, `color-${this.color}`, `size-${this.size}`, {
|
|
79
|
-
'selected': this.selected,
|
|
80
|
-
'full-width': this.fullWidth,
|
|
81
|
-
'icon-only': this.iconOnly,
|
|
82
|
-
'disabled': this.disabled,
|
|
83
|
-
});
|
|
84
|
-
const TagType = this.href ? 'a' : 'button';
|
|
85
|
-
const attrs = this.href ? { href: this.href, target: this.target, role: 'button' } : { type: this.type, disabled: this.disabled };
|
|
86
|
-
return (index.h(index.Host, { key: 'b33f47d87026e4b76837f8ae9f7d51d22d1f86d9', class: classes }, index.h(TagType, { key: 'ad711cfb6c04e258761db1f724fdef2a67d91933', class: "button", part: "button", ...attrs, onClick: this.handleClick }, this.iconOnly ? (index.h("span", { class: "icon-start" }, index.h("slot", { name: "icon-only" }))) : (index.h(index.Fragment, null, index.h("span", { class: "icon-start" }, index.h("slot", { name: "icon-start" })), index.h("slot", null), index.h("span", { class: "icon-end" }, index.h("slot", { name: "icon-end" })))))));
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
LeButton.style = leButtonDefaultCss;
|
|
90
|
-
|
|
91
|
-
exports.le_button = LeButton;
|
|
92
|
-
//# sourceMappingURL=le-button.entry.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"le-button.entry.cjs.js","sources":["src-core/components/le-button/le-button.default.css?tag=le-button&encapsulation=shadow","src-core/components/le-button/le-button.tsx"],"sourcesContent":["/**\n * Default mode styles for le-button\n * Uses global design tokens with component-specific overrides\n */\n:host {\n display: inline-block;\n \n /* Component-specific tokens */\n --le-button-border-radius: var(--le-radius-md);\n --le-button-padding-x: 0.4rem;\n --le-button-padding-y: 0.4rem;\n --le-button-small-padding: 0.25rem;\n --le-button-font-size: var(--le-font-size-md);\n --le-button-font-weight: var(--le-font-weight-medium);\n --le-button-transition: var(--le-transition-fast);\n --le-button-icon-aspect-ratio: 1;\n \n /* Internal state variables - set by color classes */\n --_btn-bg: var(--le-color-primary);\n --_btn-bg-hover: var(--le-color-primary-dark);\n --_btn-bg-system: var(--le-color-black);\n --_btn-color: var(--le-color-primary-contrast);\n --_btn-border-color: var(--le-color-primary);\n}\n\n:host([full-width]) {\n display: block;\n width: 100%;\n}\n\n.button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--le-spacing-3);\n width: 100%;\n padding: var(--le-button-padding-y) var(--le-button-padding-x);\n border: 1px solid var(--_btn-border-color);\n border-radius: var(--le-button-border-radius);\n background: var(--_btn-bg);\n color: var(--_btn-color);\n font-family: var(--le-font-family-base);\n font-size: var(--le-button-font-size);\n font-weight: var(--le-button-font-weight);\n line-height: var(--le-line-height-tight);\n text-decoration: none;\n cursor: pointer;\n transition: \n background-color var(--le-button-transition) var(--le-transition-easing),\n border-color var(--le-button-transition) var(--le-transition-easing),\n box-shadow var(--le-button-transition) var(--le-transition-easing),\n transform var(--le-button-transition) var(--le-transition-easing);\n}\n\n.button:hover:not(:disabled) {\n background: var(--_btn-bg-hover);\n border-color: var(--_btn-bg-hover);\n}\n\n.button:active:not(:disabled) {\n transform: translateY(1px);\n}\n\n.button:focus-visible {\n outline: 2px solid var(--le-color-focus);\n outline-offset: 2px;\n}\n\n.button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* ===========================================\n * COLOR VARIANTS - Use theme semantic colors\n * =========================================== */\n\n/* Primary (default) */\n:host(.color-primary) {\n --_btn-bg: var(--le-color-primary);\n --_btn-bg-hover: var(--le-color-primary-dark);\n --_btn-color: var(--le-color-primary-contrast);\n --_btn-border-color: var(--le-color-primary);\n}\n\n/* Secondary */\n:host(.color-secondary) {\n --_btn-bg: var(--le-color-secondary);\n --_btn-bg-hover: var(--le-color-secondary-dark);\n --_btn-color: var(--le-color-secondary-contrast);\n --_btn-border-color: var(--le-color-secondary);\n}\n\n/* Success */\n:host(.color-success) {\n --_btn-bg: var(--le-color-success);\n --_btn-bg-hover: var(--le-color-success-dark);\n --_btn-color: var(--le-color-success-contrast);\n --_btn-border-color: var(--le-color-success);\n}\n\n/* Warning */\n:host(.color-warning) {\n --_btn-bg: var(--le-color-warning);\n --_btn-bg-hover: var(--le-color-warning-dark);\n --_btn-color: var(--le-color-warning-contrast);\n --_btn-border-color: var(--le-color-warning);\n}\n\n/* Danger */\n:host(.color-danger) {\n --_btn-bg: var(--le-color-danger);\n --_btn-bg-hover: var(--le-color-danger-dark);\n --_btn-color: var(--le-color-danger-contrast);\n --_btn-border-color: var(--le-color-danger);\n}\n\n/* Info */\n:host(.color-info) {\n --_btn-bg: var(--le-color-info);\n --_btn-bg-hover: var(--le-color-info-dark);\n --_btn-color: var(--le-color-info-contrast);\n --_btn-border-color: var(--le-color-info);\n}\n\n/* ===========================================\n * STYLE VARIANTS\n * =========================================== */\n\n/* Solid (default) - already styled by color classes */\n:host(.variant-solid) .button {\n box-shadow: var(--le-shadow-sm);\n}\n\n:host(.variant-solid) .button:hover:not(:disabled) {\n box-shadow: var(--le-shadow-md);\n}\n\n/* Outlined */\n:host(.variant-outlined) .button {\n background: transparent;\n color: var(--_btn-bg);\n border-color: var(--_btn-border-color);\n}\n\n:host(.variant-outlined) .button:hover:not(:disabled) {\n background: var(--_btn-bg);\n color: var(--_btn-color);\n}\n\n/* Clear (ghost) */\n:host(.variant-clear) .button {\n background: transparent;\n color: var(--_btn-bg);\n border-color: transparent;\n}\n\n:host(.variant-clear) .button:hover:not(:disabled) {\n background: var(--le-color-gray-100);\n border-color: transparent;\n}\n\n/* System (controls without access) */\n:host(.variant-system) .button {\n background: transparent;\n color: var(--_btn-bg-system);\n border-color: transparent;\n}\n\n/* ===========================================\n * SIZES\n * =========================================== */\n:host(.size-small) .button {\n --le-button-padding-x: 0.4rem;\n --le-button-padding-y: 0.3rem;\n --le-button-padding-top: 0.35rem;\n --le-button-font-size: var(--le-button-small-font-size, var(--le-font-size-xs));\n}\n\n:host(.size-large) .button {\n --le-button-padding-x: 0.9rem;\n --le-button-padding-y: 0.6rem;\n --le-button-font-size: var(--le-font-size-xl);\n}\n\n/* ===========================================\n * STATES & MODIFIERS\n * =========================================== */\n\n/* Full width */\n:host(.full-width) {\n display: block;\n width: 100%;\n}\n\n/* Selected state */\n:host(.selected) .button {\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);\n}\n\n:host(.variant-outlined.selected) .button,\n:host(.variant-clear.selected) .button {\n background: var(--_btn-bg);\n color: var(--_btn-color);\n}\n\n/* Icon only */\n:host(.icon-only) .button {\n padding: 0.5rem;\n padding-bottom: 0.6rem;\n aspect-ratio: var(--le-button-icon-aspect-ratio, 1);\n}\n\n:host(.icon-only.size-small) .button {\n padding: var(--le-button-small-padding, 0.25rem);\n}\n\n:host(.icon-only.size-large) .button {\n padding: 0.75rem;\n}\n\n/* Hide content in icon-only mode */\n:host(.icon-only) .content {\n display: none;\n}\n\n/* ===========================================\n * CONTENT (le-slot wrapper)\n * =========================================== */\n.content {\n display: inline;\n}\n\n.content:empty {\n display: none;\n}\n\n/* ===========================================\n * ICON WRAPPERS & SLOTS\n * =========================================== */\n.icon-start,\n.icon-only,\n.icon-end {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.icon-start:empty,\n.icon-only:empty,\n.icon-end:empty {\n display: none;\n}\n\n::slotted([slot=\"icon-start\"]),\n::slotted([slot=\"icon-only\"]),\n::slotted([slot=\"icon-end\"]) {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.125em;\n height: 1.125em;\n}\n","import { Component, Prop, h, Element, Fragment, Event, EventEmitter , Host } from '@stencil/core';\nimport { classnames } from '../../utils/utils';\n\n/**\n * A flexible button component with multiple variants and states.\n *\n * @slot - Button text content\n * @slot icon-start - Icon before the text\n * @slot icon-end - Icon after the text\n *\n * @cssprop --le-button-bg - Button background color\n * @cssprop --le-button-color - Button text color\n * @cssprop --le-button-border-radius - Button border radius\n * @cssprop --le-button-padding-x - Button horizontal padding\n * @cssprop --le-button-padding-y - Button vertical padding\n *\n * @csspart button - The native button element\n * @csspart content - The button content wrapper\n *\n * @cmsEditable true\n * @cmsCategory Actions\n */\n@Component({\n tag: 'le-button',\n styleUrl: 'le-button.default.css',\n shadow: true,\n})\nexport class LeButton {\n @Element() el: HTMLElement;\n\n /**\n * Mode of the popover should be 'default' for internal use\n */\n @Prop({ mutable: true, reflect: true }) mode: 'default' | 'admin';\n\n /**\n * Button variant style\n * @allowedValues solid | outlined | clear\n */\n @Prop() variant: 'solid' | 'outlined' | 'clear' | 'system' = 'solid';\n\n /**\n * Button color theme (uses theme semantic colors)\n * @allowedValues primary | secondary | success | warning | danger | info\n */\n @Prop() color: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' = 'primary';\n\n /**\n * Button size\n * @allowedValues small | medium | large\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Whether the button is in a selected/active state\n */\n @Prop() selected: boolean = false;\n\n /**\n * Whether the button takes full width of its container\n */\n @Prop({ reflect: true }) fullWidth: boolean = false;\n\n /**\n * Whether the button displays only an icon (square aspect ratio)\n */\n @Prop() iconOnly: boolean = false;\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The button type attribute\n * @allowedValues button | submit | reset\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Optional href to make the button act as a link\n */\n @Prop() href?: string;\n\n /**\n * Link target when href is set\n */\n @Prop() target?: string;\n\n /**\n * Emitted when the button is clicked.\n * This is a custom event that wraps the native click but ensures the target is the le-button.\n */\n @Event({ eventName: 'click' }) leClick: EventEmitter<PointerEvent>;\n\n private handleClick = (event: PointerEvent) => {\n // We stop the internal button click from bubbling up\n event.stopPropagation();\n\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n \n // And emit our own click event from the host element\n this.leClick.emit(event);\n };\n\n render() {\n const classes = classnames(`variant-${this.variant}`, `color-${this.color}`, `size-${this.size}`, {\n 'selected': this.selected,\n 'full-width': this.fullWidth,\n 'icon-only': this.iconOnly,\n 'disabled': this.disabled,\n });\n\n const TagType = this.href ? 'a' : 'button';\n const attrs = this.href ? { href: this.href, target: this.target, role: 'button' } : { type: this.type, disabled: this.disabled };\n\n return (\n <Host class={classes}>\n <TagType class=\"button\" part=\"button\" {...attrs} onClick={this.handleClick}>\n {this.iconOnly ? (\n <span class=\"icon-start\">\n <slot name=\"icon-only\"></slot>\n </span>\n ) : (\n <Fragment>\n <span class=\"icon-start\">\n <slot name=\"icon-start\"></slot>\n </span>\n \n <slot></slot>\n \n <span class=\"icon-end\">\n <slot name=\"icon-end\"></slot>\n </span>\n </Fragment>\n )}\n </TagType>\n </Host>\n );\n }\n}\n"],"names":["classnames","h","Host","Fragment"],"mappings":";;;;;AAAA,MAAM,kBAAkB,GAAG,woJAAwoJ;;MC2BtpJ,QAAQ,GAAA,MAAA;;;;;;AAGnB;;AAEG;AACqC,IAAA,IAAI;AAE5C;;;AAGG;IACK,OAAO,GAA8C,OAAO;AAEpE;;;AAGG;IACK,KAAK,GAAwE,SAAS;AAE9F;;;AAGG;IACK,IAAI,GAAiC,QAAQ;AAErD;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACsB,SAAS,GAAY,KAAK;AAEnD;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;;AAGG;IACK,IAAI,GAAkC,QAAQ;AAEtD;;AAEG;AACK,IAAA,IAAI;AAEZ;;AAEG;AACK,IAAA,MAAM;AAEd;;;AAGG;AAC4B,IAAA,OAAO;AAE9B,IAAA,WAAW,GAAG,CAAC,KAAmB,KAAI;;QAE5C,KAAK,CAAC,eAAe,EAAE;AAEvB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,cAAc,EAAE;YACtB;;;AAIF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B,KAAC;IAED,MAAM,GAAA;QACJ,MAAM,OAAO,GAAGA,gBAAU,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,EAAE,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,EAAE,QAAQ,IAAI,CAAC,IAAI,CAAA,CAAE,EAAE;YAChG,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,UAAU,EAAE,IAAI,CAAC,QAAQ;AAC1B,SAAA,CAAC;AAEF,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ;AAC1C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;AAEjI,QAAA,QACEC,OAAC,CAAAC,UAAI,EAAE,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EACnBD,OAAA,CAAC,OAAO,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAA,GAAK,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAA,EACvE,IAAI,CAAC,QAAQ,IACZA,OAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,YAAY,EAAA,EACtBA,OAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,WAAW,EAAQ,CAAA,CACzB,KAEPA,OAAA,CAACE,cAAQ,EAAA,IAAA,EACPF,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACtBA,OAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,YAAY,EAAA,CAAQ,CAC1B,EAELA,OAAa,CAAA,MAAA,EAAA,IAAA,CAAA,EAEfA,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,UAAU,EAAA,EACpBA,OAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,UAAU,EAAQ,CAAA,CACxB,CACE,CACZ,CACO,CACL;;;;;;;"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('./index-B0mg71He.js');
|
|
4
|
-
var utils = require('./utils-jdqP71LP.js');
|
|
5
|
-
|
|
6
|
-
const leCardDefaultCss = ":host{display:block;--le-card-bg:var(--le-color-surface);--le-card-border-radius:var(--le-radius-lg);--le-card-shadow:var(--le-shadow-md);--le-card-shadow-elevated:var(--le-shadow-lg);--le-card-shadow-hover:var(--le-shadow-xl);--le-card-padding:var(--le-space-md);--le-card-border-color:var(--le-color-border);--le-card-transition:var(--le-transition-normal)}.card{background:var(--le-card-bg);border-radius:var(--le-card-border-radius);overflow:hidden;color:var(--le-color-text);box-shadow:var(--le-card-shadow)}:host(.variant-outlined) .card{border:1px solid var(--le-card-border-color);box-shadow:none}:host(.variant-elevated) .card{box-shadow:var(--le-card-shadow-elevated)}:host(.interactive) .card{cursor:pointer;transition:transform var(--le-card-transition), box-shadow var(--le-card-transition)}:host(.interactive) .card:hover{transform:translateY(-2px);box-shadow:var(--le-card-shadow-hover)}:host(.interactive) .card:focus-visible{outline:2px solid var(--le-color-border-focus);outline-offset:2px}.card-header{padding:var(--le-card-padding);padding-bottom:0}.card-header:empty{display:none}.card-content{padding:var(--le-card-padding)}.card-footer{padding:var(--le-card-padding);padding-top:0}.card-footer:empty{display:none}";
|
|
7
|
-
|
|
8
|
-
const LeCard = class {
|
|
9
|
-
constructor(hostRef) {
|
|
10
|
-
index.registerInstance(this, hostRef);
|
|
11
|
-
}
|
|
12
|
-
get el() { return index.getElement(this); }
|
|
13
|
-
/**
|
|
14
|
-
* Card variant style
|
|
15
|
-
* @allowedValues default | outlined | elevated
|
|
16
|
-
*/
|
|
17
|
-
variant = 'default';
|
|
18
|
-
/**
|
|
19
|
-
* Whether the card is interactive (clickable)
|
|
20
|
-
*/
|
|
21
|
-
interactive = false;
|
|
22
|
-
render() {
|
|
23
|
-
return (index.h(index.Host, { key: '3eea8bf2727559c412e61cb67590086445364a8d', class: utils.classnames(`variant-${this.variant}`, { 'interactive': this.interactive }) }, index.h("div", { key: '13e109838a50e72dccef935f0184806368f35f20', class: "card", part: "card" }, index.h("div", { key: '856ed3092d89ecf0ffb402b5b0adac183fe831da', class: "card-header", part: "header" }, index.h("slot", { key: '85dc99684912db37f96864fb45b3498e21cb7a29', name: "header" })), index.h("div", { key: '96b6be225aa5e13aee9fd03ada88c57c8912d563', class: "card-content", part: "content" }, index.h("slot", { key: 'fea429c02941980955583a7b559cd4edcee8c5fd' })), index.h("div", { key: 'ce2c6d5cf0652029f82147fa648b8c8526a15849', class: "card-footer", part: "footer" }, index.h("slot", { key: 'b81414ec7ae1068c449e7a3f738314e8c8725a14', name: "footer" })))));
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
LeCard.style = leCardDefaultCss;
|
|
27
|
-
|
|
28
|
-
exports.le_card = LeCard;
|
|
29
|
-
//# sourceMappingURL=le-card.entry.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"le-card.entry.cjs.js","sources":["src-core/components/le-card/le-card.default.css?tag=le-card&encapsulation=shadow","src-core/components/le-card/le-card.tsx"],"sourcesContent":["/**\n * Default mode styles for le-card\n * Uses global design tokens with component-specific overrides\n */\n:host {\n display: block;\n \n /* Component-specific tokens that map to global tokens */\n --le-card-bg: var(--le-color-surface);\n --le-card-border-radius: var(--le-radius-lg);\n --le-card-shadow: var(--le-shadow-md);\n --le-card-shadow-elevated: var(--le-shadow-lg);\n --le-card-shadow-hover: var(--le-shadow-xl);\n --le-card-padding: var(--le-space-md);\n --le-card-border-color: var(--le-color-border);\n --le-card-transition: var(--le-transition-normal);\n}\n\n.card {\n background: var(--le-card-bg);\n border-radius: var(--le-card-border-radius);\n overflow: hidden;\n color: var(--le-color-text);\n box-shadow: var(--le-card-shadow);\n}\n\n/* Variants - le-component gets the hostClass, so we use :host */\n:host(.variant-outlined) .card {\n border: 1px solid var(--le-card-border-color);\n box-shadow: none;\n}\n\n:host(.variant-elevated) .card {\n box-shadow: var(--le-card-shadow-elevated);\n}\n\n/* Interactive state */\n:host(.interactive) .card {\n cursor: pointer;\n transition: transform var(--le-card-transition), box-shadow var(--le-card-transition);\n}\n\n:host(.interactive) .card:hover {\n transform: translateY(-2px);\n box-shadow: var(--le-card-shadow-hover);\n}\n\n:host(.interactive) .card:focus-visible {\n outline: 2px solid var(--le-color-border-focus);\n outline-offset: 2px;\n}\n\n/* Sections */\n.card-header {\n padding: var(--le-card-padding);\n padding-bottom: 0;\n}\n\n.card-header:empty {\n display: none;\n}\n\n.card-content {\n padding: var(--le-card-padding);\n}\n\n.card-footer {\n padding: var(--le-card-padding);\n padding-top: 0;\n}\n\n.card-footer:empty {\n display: none;\n}\n","import { Component, Prop, h, Element , Host } from '@stencil/core';\nimport { classnames } from '../../utils/utils';\n\n/**\n * A flexible card component with header, content, and footer slots.\n *\n * The card uses le-slot wrappers for each slot area. In admin mode,\n * le-slot shows placeholders for CMS editing. In default mode,\n * le-slot acts as a transparent passthrough.\n *\n * @slot header - Card header content (title, actions)\n * @slot - Default slot for main card content\n * @slot footer - Card footer content (buttons, links)\n *\n * @cssprop --le-card-bg - Card background color\n * @cssprop --le-card-border-radius - Card border radius\n * @cssprop --le-card-shadow - Card box shadow\n * @cssprop --le-card-padding - Card content padding\n *\n * @csspart card - The main card container\n * @csspart header - The card header section\n * @csspart content - The card content section\n * @csspart footer - The card footer section\n *\n * @cmsEditable true\n * @cmsCategory Layout\n */\n@Component({\n tag: 'le-card',\n styleUrl: 'le-card.default.css',\n shadow: true,\n})\nexport class LeCard {\n @Element() el: HTMLElement;\n\n /**\n * Card variant style\n * @allowedValues default | outlined | elevated\n */\n @Prop() variant: 'default' | 'outlined' | 'elevated' = 'default';\n\n /**\n * Whether the card is interactive (clickable)\n */\n @Prop() interactive: boolean = false;\n\n render() {\n return (\n <Host class={classnames(`variant-${this.variant}`, { 'interactive': this.interactive })}>\n <div class=\"card\" part=\"card\">\n <div class=\"card-header\" part=\"header\">\n \n <slot name=\"header\"></slot>\n \n </div>\n\n <div class=\"card-content\" part=\"content\">\n \n <slot></slot>\n \n </div>\n\n <div class=\"card-footer\" part=\"footer\">\n \n <slot name=\"footer\"></slot>\n \n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host","classnames"],"mappings":";;;;;AAAA,MAAM,gBAAgB,GAAG,stCAAstC;;MCgCluC,MAAM,GAAA,MAAA;;;;;AAGjB;;;AAGG;IACK,OAAO,GAAwC,SAAS;AAEhE;;AAEG;IACK,WAAW,GAAY,KAAK;IAEpC,MAAM,GAAA;AACJ,QAAA,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAE,KAAK,EAAEC,gBAAU,CAAC,WAAW,IAAI,CAAC,OAAO,CAAA,CAAE,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,EAAA,EACtFF,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAA,EAC3BA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,QAAQ,EAAA,EAElCA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,CAAQ,CAEzB,EAENA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,SAAS,EAAA,EAEpCA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CAEX,EAENA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,QAAQ,EAAA,EAElCA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAA,CAAQ,CAEzB,CACF,CACD;;;;;;;"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('./index-B0mg71He.js');
|
|
4
|
-
var utils = require('./utils-jdqP71LP.js');
|
|
5
|
-
|
|
6
|
-
const leCheckboxCss = ":host{display:block;--le-checkbox-size:18px;--le-checkbox-color:var(--le-color-primary, #007bff);--le-checkbox-label-color:var(--le-color-text-primary, #333);--le-checkbox-desc-color:var(--le-color-text-secondary, #666);--le-checkbox-border-radius:var(--le-radius-sm, 2px);--le-checkbox-marker-color:var(--le-color-surface, #fff)}.le-checkbox-wrapper{display:flex;flex-direction:column;gap:4px}.le-checkbox-label{display:inline-flex;align-items:flex-start;gap:8px;cursor:pointer;user-select:none}:host([disabled]) .le-checkbox-label{cursor:not-allowed;opacity:0.6}.le-checkbox-input{display:flex;align-items:center;justify-content:center;min-height:1.4em}input[type=\"checkbox\"]{appearance:none;-webkit-appearance:none;width:var(--le-checkbox-size);height:var(--le-checkbox-size);border:var(--le-border-width, 2px) solid var(--le-checkbox-color);border-radius:var(--le-checkbox-border-radius);margin:0;margin-top:2px;position:relative;cursor:inherit;background-color:transparent;transition:background-color 0.2s, border-color 0.2s}input[type=\"checkbox\"]:checked{background-color:var(--le-checkbox-color)}input[type=\"checkbox\"]:checked::after{content:'';position:absolute;left:0;top:0;bottom:calc(var(--le-checkbox-size) / 5);right:0;margin:auto;width:calc(var(--le-checkbox-size) / 4);height:calc(var(--le-checkbox-size) / 2);border:solid var(--le-checkbox-marker-color, #fff);border-width:0 calc(var(--le-checkbox-size) / 10) calc(var(--le-checkbox-size) / 10) 0;transform:rotate(45deg)}input[type=\"checkbox\"]:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}.le-checkbox-text{flex:1;flex-wrap:wrap;color:var(--le-checkbox-label-color);line-height:1.5;text-align:start}.le-checkbox-description{margin-left:calc(var(--le-checkbox-size) + 8px);font-size:0.875em;color:var(--le-checkbox-desc-color);line-height:1.4}:host [slot=\"description\"]{margin:0}";
|
|
7
|
-
|
|
8
|
-
const LeCheckbox = class {
|
|
9
|
-
constructor(hostRef) {
|
|
10
|
-
index.registerInstance(this, hostRef);
|
|
11
|
-
this.leChange = index.createEvent(this, "change");
|
|
12
|
-
}
|
|
13
|
-
get el() { return index.getElement(this); }
|
|
14
|
-
/**
|
|
15
|
-
* Whether the checkbox is checked
|
|
16
|
-
*/
|
|
17
|
-
checked = false;
|
|
18
|
-
/**
|
|
19
|
-
* Whether the checkbox is disabled
|
|
20
|
-
*/
|
|
21
|
-
disabled = false;
|
|
22
|
-
/**
|
|
23
|
-
* The name of the checkbox input
|
|
24
|
-
*/
|
|
25
|
-
name;
|
|
26
|
-
/**
|
|
27
|
-
* The value of the checkbox input
|
|
28
|
-
*/
|
|
29
|
-
value;
|
|
30
|
-
/**
|
|
31
|
-
* External ID for linking with external systems (e.g. database ID, PDF form field ID)
|
|
32
|
-
*/
|
|
33
|
-
externalId;
|
|
34
|
-
/**
|
|
35
|
-
* Emitted when the checked state changes
|
|
36
|
-
*/
|
|
37
|
-
leChange;
|
|
38
|
-
handleChange = (event) => {
|
|
39
|
-
// We stop the internal button click from bubbling up
|
|
40
|
-
event.stopPropagation();
|
|
41
|
-
if (this.disabled) {
|
|
42
|
-
event.preventDefault();
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
const input = event.target;
|
|
46
|
-
this.checked = input.checked;
|
|
47
|
-
this.leChange.emit({
|
|
48
|
-
checked: this.checked,
|
|
49
|
-
value: this.value,
|
|
50
|
-
name: this.name,
|
|
51
|
-
externalId: this.externalId
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
render() {
|
|
55
|
-
return (index.h(index.Host, { key: '51009836a51d0474ccb9a9f8192d2b6f02c81b68', class: utils.classnames({ 'disabled': this.disabled }) }, index.h("div", { key: '2559adc5e05ca65b48d6686a016d011e85268d18', class: "le-checkbox-wrapper" }, index.h("label", { key: '1605a81e24c251593f779495830be1091944afcd', class: "le-checkbox-label" }, index.h("span", { key: 'ba8a7a115e2eba8dec24e818cfe1cdc2bea1d748', class: "le-checkbox-input" }, index.h("input", { key: '06f195130cee73bbd2bc9fcd508ad5d7792d00f9', type: "checkbox", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, onChange: this.handleChange })), index.h("span", { key: '1ff6235108db9536573eac7284e0841ad6581bda', class: "le-checkbox-text" }, index.h("slot", { key: 'fe0a5d531d235b66e085dc61435dc48b30c4d997' }))), index.h("div", { key: 'e6f593f35dc260a948cabeed6d1f2f8d3f55616d', class: "le-checkbox-description" }, index.h("slot", { key: 'ea38acd9443d10c0da2159048964cb4c814acbaa', name: "description" })))));
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
LeCheckbox.style = leCheckboxCss;
|
|
59
|
-
|
|
60
|
-
exports.le_checkbox = LeCheckbox;
|
|
61
|
-
//# sourceMappingURL=le-checkbox.entry.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"le-checkbox.entry.cjs.js","sources":["src-core/components/le-checkbox/le-checkbox.css?tag=le-checkbox&encapsulation=shadow","src-core/components/le-checkbox/le-checkbox.tsx"],"sourcesContent":[":host {\n display: block;\n --le-checkbox-size: 18px;\n --le-checkbox-color: var(--le-color-primary, #007bff);\n --le-checkbox-label-color: var(--le-color-text-primary, #333);\n --le-checkbox-desc-color: var(--le-color-text-secondary, #666);\n --le-checkbox-border-radius: var(--le-radius-sm, 2px);\n --le-checkbox-marker-color: var(--le-color-surface, #fff);\n}\n\n.le-checkbox-wrapper {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.le-checkbox-label {\n display: inline-flex;\n align-items: flex-start;\n gap: 8px;\n cursor: pointer;\n user-select: none;\n}\n\n:host([disabled]) .le-checkbox-label {\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.le-checkbox-input {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 1.4em;\n}\n\ninput[type=\"checkbox\"] {\n appearance: none;\n -webkit-appearance: none;\n width: var(--le-checkbox-size);\n height: var(--le-checkbox-size);\n border: var(--le-border-width, 2px) solid var(--le-checkbox-color);\n border-radius: var(--le-checkbox-border-radius);\n margin: 0;\n margin-top: 2px; /* Align with text */\n position: relative;\n cursor: inherit;\n background-color: transparent;\n transition: background-color 0.2s, border-color 0.2s;\n}\n\ninput[type=\"checkbox\"]:checked {\n background-color: var(--le-checkbox-color);\n}\n\ninput[type=\"checkbox\"]:checked::after {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: calc(var(--le-checkbox-size) / 5);\n right: 0;\n margin: auto;\n width: calc(var(--le-checkbox-size) / 4);\n height: calc(var(--le-checkbox-size) / 2);\n border: solid var(--le-checkbox-marker-color, #fff);\n border-width: 0 calc(var(--le-checkbox-size) / 10) calc(var(--le-checkbox-size) / 10) 0;\n transform: rotate(45deg);\n}\n\ninput[type=\"checkbox\"]:focus-visible {\n outline: 2px solid var(--le-color-focus);\n outline-offset: 2px;\n}\n\n.le-checkbox-text {\n flex: 1;\n flex-wrap: wrap;\n color: var(--le-checkbox-label-color);\n line-height: 1.5;\n text-align: start;\n}\n\n.le-checkbox-description {\n margin-left: calc(var(--le-checkbox-size) + 8px);\n font-size: 0.875em;\n color: var(--le-checkbox-desc-color);\n line-height: 1.4;\n}\n\n:host [slot=\"description\"] {\n margin: 0;\n}\n","import { Component, Prop, Event, EventEmitter, h, Element , Host } from '@stencil/core';\nimport { classnames } from '../../utils/utils';\n\n/**\n * A checkbox component with support for labels, descriptions, and external IDs.\n *\n * @slot - The label text for the checkbox\n * @slot description - Additional description text displayed below the label\n *\n * @cssprop --le-checkbox-size - Size of the checkbox input\n * @cssprop --le-checkbox-color - Color of the checkbox when checked\n * @cssprop --le-checkbox-label-color - Color of the label text\n * @cssprop --le-checkbox-desc-color - Color of the description text\n */\n@Component({\n tag: 'le-checkbox',\n styleUrl: 'le-checkbox.css',\n shadow: true,\n})\nexport class LeCheckbox {\n @Element() el: HTMLElement;\n\n /**\n * Whether the checkbox is checked\n */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /**\n * Whether the checkbox is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The name of the checkbox input\n */\n @Prop() name: string;\n\n /**\n * The value of the checkbox input\n */\n @Prop() value: string;\n\n /**\n * External ID for linking with external systems (e.g. database ID, PDF form field ID)\n */\n @Prop() externalId: string;\n\n /**\n * Emitted when the checked state changes\n */\n @Event({ eventName: 'change' }) leChange: EventEmitter<{ checked: boolean; value: string; name: string; externalId: string }>;\n\n private handleChange = (event: Event) => {\n // We stop the internal button click from bubbling up\n event.stopPropagation();\n\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n\n const input = event.target as HTMLInputElement;\n this.checked = input.checked;\n this.leChange.emit({\n checked: this.checked,\n value: this.value,\n name: this.name,\n externalId: this.externalId\n });\n };\n\n render() {\n return (\n <Host class={classnames({ 'disabled': this.disabled })}>\n <div class=\"le-checkbox-wrapper\">\n <label class=\"le-checkbox-label\">\n <span class=\"le-checkbox-input\">\n <input\n type=\"checkbox\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n onChange={this.handleChange}\n />\n </span>\n <span class=\"le-checkbox-text\">\n \n <slot></slot>\n \n </span>\n </label>\n \n <div class=\"le-checkbox-description\">\n \n <slot name=\"description\"></slot>\n \n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host","classnames"],"mappings":";;;;;AAAA,MAAM,aAAa,GAAG,41DAA41D;;MCmBr2D,UAAU,GAAA,MAAA;;;;;;AAGrB;;AAEG;IACqC,OAAO,GAAY,KAAK;AAEhE;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,IAAI;AAEZ;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;AACK,IAAA,UAAU;AAElB;;AAEG;AAC6B,IAAA,QAAQ;AAEhC,IAAA,YAAY,GAAG,CAAC,KAAY,KAAI;;QAEtC,KAAK,CAAC,eAAe,EAAE;AAEvB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,cAAc,EAAE;YACtB;;AAGF,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAC9C,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC;AAClB,SAAA,CAAC;AACJ,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,QACEA,OAAA,CAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAE,KAAK,EAAEC,gBAAU,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAA,EACrDF,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9BA,OAAO,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC9BA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC7BA,OAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,YAAY,GAC3B,CACG,EACPA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAE1BA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CAEV,CACD,EAERA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,yBAAyB,EAAA,EAEhCA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,aAAa,EAAA,CAAQ,CAE9B,CACF,CACD;;;;;;;"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('./index-B0mg71He.js');
|
|
4
|
-
|
|
5
|
-
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
6
|
-
/*
|
|
7
|
-
Stencil Client Patch Browser v4.38.3 | MIT Licensed | https://stenciljs.com
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
var patchBrowser = () => {
|
|
11
|
-
const importMeta = (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('le-kit.cjs.js', document.baseURI).href));
|
|
12
|
-
const opts = {};
|
|
13
|
-
if (importMeta !== "") {
|
|
14
|
-
opts.resourcesUrl = new URL(".", importMeta).href;
|
|
15
|
-
}
|
|
16
|
-
return index.promiseResolve(opts);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
patchBrowser().then(async (options) => {
|
|
20
|
-
await index.globalScripts();
|
|
21
|
-
return index.bootstrapLazy([["le-number-input.cjs",[[769,"le-number-input",{"value":[1538],"name":[1],"label":[1],"placeholder":[1],"min":[2],"max":[2],"step":[2],"required":[4],"disabled":[4],"readonly":[4],"iconStart":[1,"icon-start"],"showSpinners":[4,"show-spinners"],"externalId":[1,"external-id"],"isValid":[32],"validationMessage":[32]},null,{"value":["valueChanged"]}]]],["le-popup.cjs",[[769,"le-popup",{"open":[1540],"type":[1],"popupTitle":[1,"popup-title"],"message":[1],"modal":[4],"position":[1],"confirmText":[1,"confirm-text"],"cancelText":[1,"cancel-text"],"placeholder":[1],"defaultValue":[1,"default-value"],"closeOnBackdrop":[4,"close-on-backdrop"],"inputValue":[32],"show":[64],"hide":[64]}]]],["le-box.cjs",[[769,"le-box",{"grow":[2],"shrink":[2],"basis":[1],"width":[1],"height":[1],"minWidth":[1,"min-width"],"maxWidth":[1,"max-width"],"minHeight":[1,"min-height"],"maxHeight":[1,"max-height"],"background":[1],"borderRadius":[1,"border-radius"],"border":[1],"alignSelf":[1,"align-self"],"alignContent":[1,"align-content"],"justifyContent":[1,"justify-content"],"padding":[1],"order":[2],"displayFlex":[4,"display-flex"],"innerDirection":[1,"inner-direction"],"innerGap":[1,"inner-gap"]}]]],["le-card.cjs",[[769,"le-card",{"variant":[1],"interactive":[4]}]]],["le-checkbox.cjs",[[769,"le-checkbox",{"checked":[1540],"disabled":[4],"name":[1],"value":[1],"externalId":[1,"external-id"]}]]],["le-popover.cjs",[[769,"le-popover",{"mode":[1537],"open":[1540],"position":[1],"align":[1],"popoverTitle":[1,"popover-title"],"showClose":[4,"show-close"],"closeOnClickOutside":[4,"close-on-click-outside"],"closeOnEscape":[4,"close-on-escape"],"offset":[2],"width":[1],"minWidth":[1,"min-width"],"maxWidth":[1,"max-width"],"isPositioned":[32],"show":[64],"hide":[64],"toggle":[64]}]]],["le-round-progress.cjs",[[769,"le-round-progress",{"value":[2],"padding":[2],"paths":[1],"params":[32]},null,{"value":["updateValue"],"padding":["updatePadding"],"paths":["updateProgressBackgrounds"]}]]],["le-stack.cjs",[[769,"le-stack",{"direction":[1],"gap":[1],"align":[1],"justify":[1],"wrap":[4],"alignContent":[1,"align-content"],"reverse":[4],"maxItems":[2,"max-items"],"fullWidth":[4,"full-width"],"fullHeight":[4,"full-height"],"padding":[1]}]]],["le-string-input.cjs",[[769,"le-string-input",{"mode":[1537],"value":[1537],"name":[1],"type":[1],"label":[1],"iconStart":[1,"icon-start"],"iconEnd":[1,"icon-end"],"placeholder":[1],"disabled":[4],"readonly":[4],"externalId":[1,"external-id"]}]]],["le-text.cjs",[[769,"le-text",{"variant":[1537],"align":[513],"color":[1],"truncate":[4],"maxLines":[2,"max-lines"],"adminMode":[32],"content":[32],"isFocused":[32],"selectionState":[32]},null,{"variant":["onVariantChange"]}]]],["le-turntable.cjs",[[769,"le-turntable",{"center":[1],"value":[2]},[[9,"mousemove","handleMouseMove"],[9,"mouseup","handleMouseUp"],[9,"resize","handleWindowResize"]],{"value":["updateValue"]}]]],["le-button.cjs",[[769,"le-button",{"mode":[1537],"variant":[1],"color":[1],"size":[1],"selected":[4],"fullWidth":[516,"full-width"],"iconOnly":[4,"icon-only"],"disabled":[4],"type":[1],"href":[1],"target":[1]}]]]], options);
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
exports.setNonce = index.setNonce;
|
|
25
|
-
//# sourceMappingURL=le-kit.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"le-number-input.entry.cjs.js","sources":["src-core/components/le-number-input/le-number-input.css?tag=le-number-input&encapsulation=shadow","src-core/components/le-number-input/le-number-input.tsx"],"sourcesContent":[":host {\n display: block;\n --le-input-bg: var(--le-color-surface, #ffffff);\n --le-input-color: var(--le-color-text-primary, #333333);\n --le-input-border: var(--le-border-width, 2px) solid var(--le-color-border-input, #007bff);\n --le-input-radius: var(--le-radius-sm, 4px);\n --le-input-padding: 2px 6px;\n --le-input-height: 1.5rem;\n --le-input-label-color: var(--le-color-text-primary, #333333);\n --le-input-desc-color: var(--le-color-text-secondary, #666666);\n --le-input-placeholder-color: #999999;\n --le-input-border-error: 2px solid var(--le-color-danger, #dc3545);\n --le-input-error-color: var(--le-color-danger, #dc3545);\n}\n\n.le-input-wrapper {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.le-input-label {\n display: block;\n font-size: 0.9em;\n font-weight: 500;\n color: var(--le-input-label-color);\n margin-bottom: 2px;\n}\n\n.le-input-container {\n position: relative;\n display: flex;\n align-items: center;\n background: var(--le-input-bg);\n border: var(--le-input-border);\n border-radius: var(--le-input-radius);\n transition: border-color 0.2s;\n}\n\n.le-input-container:focus-within {\n outline: 2px solid var(--le-color-focus);\n outline-offset: 2px;\n}\n\n.le-input-container.has-error {\n border: var(--le-input-border-error);\n}\n\n:host([disabled]) .le-input-container {\n opacity: 0.6;\n background-color: rgba(0,0,0,0.05);\n cursor: not-allowed;\n}\n\ninput {\n flex: 1;\n width: 100%;\n height: calc(var(--le-input-height) - 2px);\n padding: var(--le-input-padding);\n border: none;\n background: transparent;\n color: var(--le-input-color);\n font-family: inherit;\n font-size: inherit;\n outline: none;\n text-align: right; /* Aligned to end */\n -moz-appearance: textfield; /* Remove default spinners in Firefox */\n}\n\n/* Remove default spinners in Chrome/Safari/Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\ninput::placeholder {\n color: var(--le-input-placeholder-color);\n}\n\n.icon-start, .icon-end {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 8px;\n color: var(--le-input-desc-color);\n}\n\n.le-input-controls {\n display: flex;\n flex-direction: column;\n border-left: 1px solid var(--le-color-border, #cccccc);\n height: 100%;\n}\n\n.le-input-control-btn {\n --le-button-border-radius: 0;\n --le-button-padding-x: 0;\n --le-button-padding-y: 0;\n --le-button-small-font-size: 9.5px;\n --le-button-small-padding: 0 0.2rem;\n --le-button-icon-aspect-ratio: 2;\n\n display: flex;\n align-items: center;\n justify-content: center;\n height: 50%;\n cursor: pointer;\n background: none;\n border: none;\n color: var(--le-input-desc-color);\n font-size: 10px;\n line-height: 1;\n}\n\n.le-input-control-btn:hover {\n background-color: rgba(0,0,0,0.05);\n color: var(--le-color-primary, #007bff);\n}\n\n.le-input-control-btn:active {\n background-color: rgba(0,0,0,0.1);\n}\n\n.le-input-description {\n font-size: 0.85em;\n color: var(--le-input-desc-color);\n margin-top: 2px;\n}\n\n.le-input-error {\n font-size: 0.85em;\n color: var(--le-input-error-color);\n margin-top: 2px;\n}\n","import { Component, Prop, Event, EventEmitter, State, h, Element, Watch , Host } from '@stencil/core';\nimport { classnames } from '../../utils/utils';\n\n/**\n * A number input component with validation, keyboard controls, and custom spinners.\n *\n * @slot - The label text for the input\n * @slot description - Additional description text displayed below the input\n * @slot icon-start - Icon to display at the start of the input\n *\n * @cssprop --le-input-bg - Input background color\n * @cssprop --le-input-color - Input text color\n * @cssprop --le-input-border - Input border style\n * @cssprop --le-input-border-focus - Input border style when focused\n * @cssprop --le-input-border-error - Input border style when invalid\n * @cssprop --le-input-radius - Input border radius\n * @cssprop --le-input-padding - Input padding\n */\n@Component({\n tag: 'le-number-input',\n styleUrl: 'le-number-input.css',\n shadow: true,\n})\nexport class LeNumberInput {\n @Element() el: HTMLElement;\n\n /**\n * The value of the input\n */\n @Prop({ mutable: true, reflect: true }) value: number;\n\n /**\n * The name of the input\n */\n @Prop() name: string;\n\n /**\n * Label for the input\n */\n @Prop() label: string;\n\n /**\n * Placeholder text\n */\n @Prop() placeholder: string;\n\n /**\n * Minimum allowed value\n */\n @Prop() min?: number;\n\n /**\n * Maximum allowed value\n */\n @Prop() max?: number;\n\n /**\n * Step value for increment/decrement\n */\n @Prop() step: number = 1;\n\n /**\n * Whether the input is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether the input is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the input is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Icon for the start icon\n */\n @Prop() iconStart?: string;\n\n /**\n * Whether to show the spinner controls\n */\n @Prop() showSpinners: boolean = true;\n\n /**\n * External ID for linking with external systems\n */\n @Prop() externalId: string;\n\n /**\n * Internal validation state\n */\n @State() private isValid: boolean = true;\n @State() private validationMessage: string = '';\n\n /**\n * Emitted when the value changes (on blur or Enter)\n */\n @Event() leChange: EventEmitter<{ value: number; name: string; externalId: string; isValid: boolean }>;\n\n /**\n * Emitted when the input value changes (on keystroke/spin)\n */\n @Event() leInput: EventEmitter<{ value: number; name: string; externalId: string; isValid: boolean }>;\n\n @Watch('value')\n valueChanged() {\n this.validate();\n }\n\n private validate() {\n if (this.required && (this.value === undefined || this.value === null || isNaN(this.value))) {\n this.isValid = false;\n this.validationMessage = 'This field is required';\n return;\n }\n\n if (this.value !== undefined && this.value !== null && !isNaN(this.value)) {\n if (this.min !== undefined && this.value < this.min) {\n this.isValid = false;\n this.validationMessage = `Value must be at least ${this.min}`;\n return;\n }\n if (this.max !== undefined && this.value > this.max) {\n this.isValid = false;\n this.validationMessage = `Value must be at most ${this.max}`;\n return;\n }\n }\n\n this.isValid = true;\n this.validationMessage = '';\n }\n\n private emitChange() {\n this.leChange.emit({\n value: this.value,\n name: this.name,\n externalId: this.externalId,\n isValid: this.isValid\n });\n }\n\n private emitInput() {\n this.leInput.emit({\n value: this.value,\n name: this.name,\n externalId: this.externalId,\n isValid: this.isValid\n });\n }\n\n private updateValue(newValue: number) {\n if (this.disabled || this.readonly) return;\n \n // Round to avoid floating point errors\n const precision = this.step.toString().split('.')[1]?.length || 0;\n const rounded = parseFloat(newValue.toFixed(precision));\n \n this.value = rounded;\n this.validate();\n this.emitInput();\n }\n\n private handleInput = (ev: Event) => {\n const input = ev.target as HTMLInputElement;\n const val = parseFloat(input.value);\n \n if (input.value === '') {\n this.value = undefined;\n } else if (!isNaN(val)) {\n this.value = val;\n }\n \n this.validate();\n this.emitInput();\n };\n\n private handleChange = () => {\n this.validate();\n this.emitChange();\n };\n\n private handleKeyDown = (ev: KeyboardEvent) => {\n if (this.disabled || this.readonly) return;\n\n let multiplier = 1;\n if (ev.shiftKey) multiplier = 10;\n if (ev.altKey) multiplier = 0.1;\n\n const current = this.value || 0;\n\n if (ev.key === 'ArrowUp') {\n ev.preventDefault();\n this.updateValue(current + (this.step * multiplier));\n } else if (ev.key === 'ArrowDown') {\n ev.preventDefault();\n this.updateValue(current - (this.step * multiplier));\n }\n };\n\n private handleWheel = (ev: WheelEvent) => {\n if (this.disabled || this.readonly) return;\n // Only handle if input is focused to prevent accidental scrolling\n if (document.activeElement !== ev.target) return;\n\n ev.preventDefault();\n const current = this.value || 0;\n \n if (ev.deltaY < 0) {\n this.updateValue(current + this.step);\n } else {\n this.updateValue(current - this.step);\n }\n };\n\n private increment = (ev: Event) => {\n ev.preventDefault(); // Prevent focus loss\n const current = this.value || 0;\n this.updateValue(current + this.step);\n // Trigger change event for buttons as they are \"final\" actions usually\n this.emitChange();\n };\n\n private decrement = (ev: Event) => {\n ev.preventDefault();\n const current = this.value || 0;\n this.updateValue(current - this.step);\n this.emitChange();\n };\n\n render() {\n return (\n <Host class={classnames({ 'disabled': this.disabled })}>\n <div class=\"le-input-wrapper\">\n {this.label && (\n <label class=\"le-input-label\" htmlFor={this.name}>{this.label}</label>\n )}\n \n <div class={classnames('le-input-container', { 'has-error': !this.isValid })}>\n {this.iconStart && (\n <span class=\"icon-start\">{this.iconStart}</span>\n )}\n \n <input\n id={this.name}\n type=\"number\"\n name={this.name}\n placeholder={this.placeholder}\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.value}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n onInput={this.handleInput}\n onChange={this.handleChange}\n onKeyDown={this.handleKeyDown}\n onWheel={this.handleWheel}\n />\n \n {this.showSpinners && (\n <div class=\"le-input-controls\">\n <le-button\n mode=\"default\"\n variant=\"clear\" \n size=\"small\"\n icon-only\n class=\"le-input-control-btn\" \n onClick={this.increment}\n disabled={this.disabled || this.readonly || (this.max !== undefined && this.value >= this.max)}\n tabindex=\"-1\"\n >\n <span slot=\"icon-only\">↑</span>\n </le-button>\n <le-button\n mode=\"default\"\n variant=\"clear\" \n size=\"small\" \n icon-only \n class=\"le-input-control-btn\" \n onClick={this.decrement}\n disabled={this.disabled || this.readonly || (this.min !== undefined && this.value <= this.min)}\n tabindex=\"-1\"\n >\n <span slot=\"icon-only\">↓</span>\n </le-button>\n </div>\n )}\n </div>\n\n {!this.isValid && <div class=\"le-input-error\">{this.validationMessage}</div>}\n\n <div class=\"le-input-description\">\n \n <slot name=\"description\"></slot>\n \n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host","classnames"],"mappings":"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"}
|