le-kit 0.1.6 → 0.1.8
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/le-kit/assets/custom-elements.json → custom-elements.json} +889 -889
- package/dist/cjs/{index-WzJ78D5H.js → index-D7B9TPh8.js} +41 -9
- package/dist/cjs/index-D7B9TPh8.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/le-box.cjs.entry.js +2 -2
- package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.cjs.js.map +1 -1
- package/dist/cjs/le-button_6.cjs.entry.js +8 -10
- package/dist/cjs/le-card.cjs.entry.js +2 -2
- package/dist/cjs/le-kit.cjs.js +1 -1
- package/dist/cjs/le-number-input.cjs.entry.js +2 -2
- package/dist/cjs/le-popup.cjs.entry.js +1 -1
- package/dist/cjs/le-round-progress.cjs.entry.js +1 -1
- package/dist/cjs/le-stack.cjs.entry.js +2 -2
- package/dist/cjs/le-text.cjs.entry.js +2 -2
- package/dist/cjs/le-turntable.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-CBjH2E8A.js → utils-DrsoID-a.js} +3 -3
- package/dist/cjs/{utils-CBjH2E8A.js.map → utils-DrsoID-a.js.map} +1 -1
- package/dist/collection/components/le-component/le-component.js +5 -5
- package/dist/collection/components/le-component/le-component.js.map +1 -1
- package/dist/collection/components/le-popup/le-popup.js +7 -7
- package/dist/collection/components/le-slot/le-slot.js +5 -5
- package/dist/collection/components/le-slot/le-slot.js.map +1 -1
- package/dist/collection/global/app.js +37 -0
- package/dist/collection/global/app.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/le-box.js +1 -1
- package/dist/components/le-button.js +1 -1
- package/dist/components/le-button2.js +45 -10
- package/dist/components/le-button2.js.map +1 -1
- package/dist/components/le-card.js +1 -1
- package/dist/components/le-checkbox.js +1 -1
- package/dist/components/le-component.js +1 -1
- package/dist/components/le-number-input.js +1 -1
- package/dist/components/le-popup.js +1 -1
- package/dist/components/le-slot.js +1 -1
- package/dist/components/le-stack.js +1 -1
- package/dist/components/le-string-input.js +1 -1
- package/dist/components/le-text.js +1 -1
- package/dist/core/cjs/index-D7B9TPh8.js +1835 -0
- package/dist/core/cjs/index-D7B9TPh8.js.map +1 -0
- package/dist/core/cjs/index.cjs.js +119 -0
- package/dist/core/cjs/index.cjs.js.map +1 -0
- package/dist/core/cjs/le-box.cjs.entry.js +184 -0
- package/dist/core/cjs/le-box.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-button.cjs.entry.js +92 -0
- package/dist/core/cjs/le-button.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-card.cjs.entry.js +29 -0
- package/dist/core/cjs/le-card.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-checkbox.cjs.entry.js +61 -0
- package/dist/core/cjs/le-checkbox.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-kit.cjs.js +25 -0
- package/dist/core/cjs/le-kit.cjs.js.map +1 -0
- package/dist/core/cjs/le-number-input.cjs.entry.js +202 -0
- package/dist/core/cjs/le-number-input.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-popover.cjs.entry.js +348 -0
- package/dist/core/cjs/le-popover.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-popup.cjs.entry.js +212 -0
- package/dist/core/cjs/le-popup.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-round-progress.cjs.entry.js +106 -0
- package/dist/core/cjs/le-round-progress.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-stack.cjs.entry.js +135 -0
- package/dist/core/cjs/le-stack.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-string-input.cjs.entry.js +95 -0
- package/dist/core/cjs/le-string-input.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-text.cjs.entry.js +335 -0
- package/dist/core/cjs/le-text.entry.cjs.js.map +1 -0
- package/dist/core/cjs/le-turntable.cjs.entry.js +139 -0
- package/dist/core/cjs/le-turntable.entry.cjs.js.map +1 -0
- package/dist/core/cjs/loader.cjs.js +13 -0
- package/dist/core/cjs/loader.cjs.js.map +1 -0
- package/dist/core/cjs/utils-DrsoID-a.js +152 -0
- package/dist/core/cjs/utils-DrsoID-a.js.map +1 -0
- package/dist/core/collection/collection-manifest.json +24 -0
- package/dist/core/collection/components/le-box/le-box.default.css +37 -0
- package/dist/core/collection/components/le-box/le-box.js +614 -0
- package/dist/core/collection/components/le-box/le-box.js.map +1 -0
- package/dist/core/collection/components/le-button/le-button.default.css +263 -0
- package/dist/core/collection/components/le-button/le-button.js +368 -0
- package/dist/core/collection/components/le-button/le-button.js.map +1 -0
- package/dist/core/collection/components/le-card/le-card.default.css +74 -0
- package/dist/core/collection/components/le-card/le-card.js +102 -0
- package/dist/core/collection/components/le-card/le-card.js.map +1 -0
- package/dist/core/collection/components/le-checkbox/le-checkbox.css +93 -0
- package/dist/core/collection/components/le-checkbox/le-checkbox.js +192 -0
- package/dist/core/collection/components/le-checkbox/le-checkbox.js.map +1 -0
- package/dist/core/collection/components/le-number-input/le-number-input.css +135 -0
- package/dist/core/collection/components/le-number-input/le-number-input.js +515 -0
- package/dist/core/collection/components/le-number-input/le-number-input.js.map +1 -0
- package/dist/core/collection/components/le-popover/le-popover.css +143 -0
- package/dist/core/collection/components/le-popover/le-popover.js +693 -0
- package/dist/core/collection/components/le-popover/le-popover.js.map +1 -0
- package/dist/core/collection/components/le-popup/le-popup.api.js +101 -0
- package/dist/core/collection/components/le-popup/le-popup.api.js.map +1 -0
- package/dist/core/collection/components/le-popup/le-popup.css +222 -0
- package/dist/core/collection/components/le-popup/le-popup.js +596 -0
- package/dist/core/collection/components/le-popup/le-popup.js.map +1 -0
- package/dist/core/collection/components/le-round-progress/le-round-progress.css +34 -0
- package/dist/core/collection/components/le-round-progress/le-round-progress.js +184 -0
- package/dist/core/collection/components/le-round-progress/le-round-progress.js.map +1 -0
- package/dist/core/collection/components/le-stack/le-stack.default.css +37 -0
- package/dist/core/collection/components/le-stack/le-stack.js +389 -0
- package/dist/core/collection/components/le-stack/le-stack.js.map +1 -0
- package/dist/core/collection/components/le-string-input/le-string-input.css +83 -0
- package/dist/core/collection/components/le-string-input/le-string-input.js +359 -0
- package/dist/core/collection/components/le-string-input/le-string-input.js.map +1 -0
- package/dist/core/collection/components/le-text/le-text.default.css +169 -0
- package/dist/core/collection/components/le-text/le-text.js +475 -0
- package/dist/core/collection/components/le-text/le-text.js.map +1 -0
- package/dist/core/collection/components/le-turntable/le-turntable.css +10 -0
- package/dist/core/collection/components/le-turntable/le-turntable.js +210 -0
- package/dist/core/collection/components/le-turntable/le-turntable.js.map +1 -0
- package/dist/core/collection/global/app.js +167 -0
- package/dist/core/collection/global/app.js.map +1 -0
- package/dist/core/collection/index.js +15 -0
- package/dist/core/collection/index.js.map +1 -0
- package/dist/core/collection/types/blocks.js +115 -0
- package/dist/core/collection/types/blocks.js.map +1 -0
- package/dist/core/collection/types/options.js +2 -0
- package/dist/core/collection/types/options.js.map +1 -0
- package/dist/core/collection/utils/utils.js +141 -0
- package/dist/core/collection/utils/utils.js.map +1 -0
- package/dist/{esm/index-CdjJ98OT.js → core/esm/index-PS-3Rz-c.js} +40 -9
- package/dist/core/esm/index-PS-3Rz-c.js.map +1 -0
- package/dist/core/esm/index.js +106 -0
- package/dist/core/esm/index.js.map +1 -0
- package/dist/core/esm/le-box.entry.js +182 -0
- package/dist/core/esm/le-box.entry.js.map +1 -0
- package/dist/core/esm/le-button.entry.js +90 -0
- package/dist/core/esm/le-button.entry.js.map +1 -0
- package/dist/core/esm/le-card.entry.js +27 -0
- package/dist/core/esm/le-card.entry.js.map +1 -0
- package/dist/core/esm/le-checkbox.entry.js +59 -0
- package/dist/core/esm/le-checkbox.entry.js.map +1 -0
- package/dist/core/esm/le-kit.js +21 -0
- package/dist/core/esm/le-kit.js.map +1 -0
- package/dist/core/esm/le-number-input.entry.js +200 -0
- package/dist/core/esm/le-number-input.entry.js.map +1 -0
- package/dist/core/esm/le-popover.entry.js +346 -0
- package/dist/core/esm/le-popover.entry.js.map +1 -0
- package/dist/core/esm/le-popup.entry.js +210 -0
- package/dist/core/esm/le-popup.entry.js.map +1 -0
- package/dist/core/esm/le-round-progress.entry.js +104 -0
- package/dist/core/esm/le-round-progress.entry.js.map +1 -0
- package/dist/core/esm/le-stack.entry.js +133 -0
- package/dist/core/esm/le-stack.entry.js.map +1 -0
- package/dist/core/esm/le-string-input.entry.js +93 -0
- package/dist/core/esm/le-string-input.entry.js.map +1 -0
- package/dist/core/esm/le-text.entry.js +333 -0
- package/dist/core/esm/le-text.entry.js.map +1 -0
- package/dist/core/esm/le-turntable.entry.js +137 -0
- package/dist/core/esm/le-turntable.entry.js.map +1 -0
- package/dist/core/esm/loader.js +11 -0
- package/dist/core/esm/loader.js.map +1 -0
- package/dist/{esm/utils-CzfSUhYB.js → core/esm/utils-lgjSfQP0.js} +3 -3
- package/dist/core/esm/utils-lgjSfQP0.js.map +1 -0
- package/dist/core/index.cjs.js +1 -0
- package/dist/core/index.js +1 -0
- package/dist/core/le-kit/index.esm.js +2 -0
- package/dist/core/le-kit/index.esm.js.map +1 -0
- package/dist/core/le-kit/le-box.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-button.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-card.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-checkbox.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-kit.css +1 -0
- package/dist/core/le-kit/le-kit.esm.js +2 -0
- package/dist/core/le-kit/le-kit.esm.js.map +1 -0
- package/dist/core/le-kit/le-number-input.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-popover.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-popup.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-round-progress.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-stack.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-string-input.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-text.entry.esm.js.map +1 -0
- package/dist/core/le-kit/le-turntable.entry.esm.js.map +1 -0
- package/dist/core/le-kit/loader.esm.js.map +1 -0
- package/dist/core/le-kit/p-1c5262eb.entry.js +2 -0
- package/dist/core/le-kit/p-1c5262eb.entry.js.map +1 -0
- package/dist/core/le-kit/p-32c08678.entry.js +2 -0
- package/dist/core/le-kit/p-32c08678.entry.js.map +1 -0
- package/dist/core/le-kit/p-38e7ec05.entry.js +2 -0
- package/dist/core/le-kit/p-38e7ec05.entry.js.map +1 -0
- package/dist/core/le-kit/p-4bf51acc.entry.js +2 -0
- package/dist/core/le-kit/p-4bf51acc.entry.js.map +1 -0
- package/dist/core/le-kit/p-86961f34.entry.js +2 -0
- package/dist/core/le-kit/p-86961f34.entry.js.map +1 -0
- package/dist/core/le-kit/p-9ee92c29.entry.js +2 -0
- package/dist/{le-kit/p-CvDc0yWN.js → core/le-kit/p-DN2JVY-7.js} +2 -2
- package/dist/core/le-kit/p-DN2JVY-7.js.map +1 -0
- package/dist/core/le-kit/p-PS-3Rz-c.js +3 -0
- package/dist/core/le-kit/p-PS-3Rz-c.js.map +1 -0
- package/dist/core/le-kit/p-a07048f8.entry.js +2 -0
- package/dist/core/le-kit/p-a07048f8.entry.js.map +1 -0
- package/dist/core/le-kit/p-a24b042d.entry.js +2 -0
- package/dist/core/le-kit/p-a24b042d.entry.js.map +1 -0
- package/dist/core/le-kit/p-bbc9e13e.entry.js +2 -0
- package/dist/core/le-kit/p-bbc9e13e.entry.js.map +1 -0
- package/dist/core/le-kit/p-c4223c60.entry.js +2 -0
- package/dist/core/le-kit/p-c4223c60.entry.js.map +1 -0
- package/dist/core/le-kit/p-dcf1343d.entry.js +2 -0
- package/dist/core/le-kit/p-fb4e68e0.entry.js +2 -0
- package/dist/core/le-kit/p-fb4e68e0.entry.js.map +1 -0
- package/dist/core/loader/cdn.js +1 -0
- package/dist/core/loader/index.cjs.js +1 -0
- package/dist/core/loader/index.d.ts +24 -0
- package/dist/core/loader/index.es2017.js +1 -0
- package/dist/core/loader/index.js +2 -0
- package/dist/core/types/components/le-box/le-box.d.ts +111 -0
- package/dist/core/types/components/le-button/le-button.d.ts +78 -0
- package/dist/core/types/components/le-card/le-card.d.ts +37 -0
- package/dist/core/types/components/le-checkbox/le-checkbox.d.ts +46 -0
- package/dist/core/types/components/le-number-input/le-number-input.d.ts +106 -0
- package/dist/core/types/components/le-popover/le-popover.d.ts +109 -0
- package/dist/core/types/components/le-popup/le-popup.api.d.ts +73 -0
- package/dist/core/types/components/le-popup/le-popup.d.ts +122 -0
- package/dist/core/types/components/le-round-progress/le-round-progress.d.ts +37 -0
- package/dist/core/types/components/le-stack/le-stack.d.ts +73 -0
- package/dist/core/types/components/le-string-input/le-string-input.d.ts +83 -0
- package/dist/core/types/components/le-text/le-text.d.ts +141 -0
- package/dist/core/types/components/le-turntable/le-turntable.d.ts +55 -0
- package/dist/core/types/components.d.ts +1752 -0
- package/dist/core/types/global/app.d.ts +73 -0
- package/dist/core/types/index.d.ts +15 -0
- package/dist/core/types/stencil-public-runtime.d.ts +1756 -0
- package/dist/core/types/types/blocks.d.ts +136 -0
- package/dist/core/types/types/options.d.ts +124 -0
- package/dist/core/types/utils/utils.d.ts +54 -0
- package/dist/docs.json +8 -8
- package/dist/esm/index-PS-3Rz-c.js +1818 -0
- package/dist/{le-kit/p-CdjJ98OT.js.map → esm/index-PS-3Rz-c.js.map} +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/le-box.entry.js +2 -2
- package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +1 -1
- package/dist/esm/le-button_6.entry.js +8 -10
- package/dist/esm/le-card.entry.js +2 -2
- package/dist/esm/le-kit.js +2 -2
- package/dist/esm/le-number-input.entry.js +2 -2
- package/dist/esm/le-popup.entry.js +1 -1
- package/dist/esm/le-round-progress.entry.js +1 -1
- package/dist/esm/le-stack.entry.js +2 -2
- package/dist/esm/le-text.entry.js +2 -2
- package/dist/esm/le-turntable.entry.js +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/utils-lgjSfQP0.js +146 -0
- package/dist/esm/{utils-CzfSUhYB.js.map → utils-lgjSfQP0.js.map} +1 -1
- package/dist/le-kit/index.esm.js +1 -1
- package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +1 -1
- package/dist/le-kit/le-kit.esm.js +1 -1
- package/dist/le-kit/p-27710b5b.entry.js +2 -0
- package/dist/le-kit/{p-0633b3ab.entry.js.map → p-27710b5b.entry.js.map} +1 -1
- package/dist/le-kit/{p-1452a995.entry.js → p-34102cef.entry.js} +2 -2
- package/dist/le-kit/{p-95764888.entry.js → p-56a80e6d.entry.js} +2 -2
- package/dist/le-kit/p-615ea10f.entry.js +2 -0
- package/dist/le-kit/p-615ea10f.entry.js.map +1 -0
- package/dist/le-kit/{p-bc20e30d.entry.js → p-935bb2d4.entry.js} +2 -2
- package/dist/le-kit/{p-220528ee.entry.js → p-9d3dc4e5.entry.js} +2 -2
- package/dist/le-kit/p-DN2JVY-7.js +2 -0
- package/dist/le-kit/{p-CvDc0yWN.js.map → p-DN2JVY-7.js.map} +1 -1
- package/dist/le-kit/p-PS-3Rz-c.js +3 -0
- package/dist/le-kit/p-PS-3Rz-c.js.map +1 -0
- package/dist/le-kit/{p-3551598e.entry.js → p-ccabc638.entry.js} +2 -2
- package/dist/le-kit/p-ccabc638.entry.js.map +1 -0
- package/dist/le-kit/{p-722899f0.entry.js → p-d8157b06.entry.js} +2 -2
- package/dist/le-kit/p-d8157b06.entry.js.map +1 -0
- package/dist/le-kit/p-e8c2ca0e.entry.js +2 -0
- package/dist/le-kit/{p-d32eddad.entry.js.map → p-e8c2ca0e.entry.js.map} +1 -1
- package/dist/types/global/app.d.ts +33 -0
- package/dist/types/index.d.ts +1 -1
- package/package.json +21 -3
- package/readme.md +22 -0
- package/dist/cjs/index-WzJ78D5H.js.map +0 -1
- package/dist/collection/assets/.gitkeep +0 -1
- package/dist/collection/assets/custom-elements.json +0 -4305
- package/dist/esm/index-CdjJ98OT.js.map +0 -1
- package/dist/le-kit/p-0633b3ab.entry.js +0 -2
- package/dist/le-kit/p-32ff3dbe.entry.js +0 -2
- package/dist/le-kit/p-32ff3dbe.entry.js.map +0 -1
- package/dist/le-kit/p-CdjJ98OT.js +0 -3
- package/dist/le-kit/p-d32eddad.entry.js +0 -2
- /package/dist/{le-kit/p-3551598e.entry.js.map → core/le-kit/p-9ee92c29.entry.js.map} +0 -0
- /package/dist/{le-kit/p-722899f0.entry.js.map → core/le-kit/p-dcf1343d.entry.js.map} +0 -0
- /package/dist/le-kit/{p-1452a995.entry.js.map → p-34102cef.entry.js.map} +0 -0
- /package/dist/le-kit/{p-95764888.entry.js.map → p-56a80e6d.entry.js.map} +0 -0
- /package/dist/le-kit/{p-bc20e30d.entry.js.map → p-935bb2d4.entry.js.map} +0 -0
- /package/dist/le-kit/{p-220528ee.entry.js.map → p-9d3dc4e5.entry.js.map} +0 -0
|
@@ -0,0 +1,1752 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/**
|
|
4
|
+
* This is an autogenerated file created by the Stencil compiler.
|
|
5
|
+
* It contains typing information for all components that exist in this project.
|
|
6
|
+
*/
|
|
7
|
+
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
|
+
import { PopupPosition, PopupResult, PopupType } from "./components/le-popup/le-popup";
|
|
9
|
+
export { PopupPosition, PopupResult, PopupType } from "./components/le-popup/le-popup";
|
|
10
|
+
export namespace Components {
|
|
11
|
+
/**
|
|
12
|
+
* A flexible box component for use as a flex item within le-stack.
|
|
13
|
+
* `le-box` wraps content and provides flex item properties like grow, shrink,
|
|
14
|
+
* basis, and self-alignment. It can also control its internal content alignment.
|
|
15
|
+
* @cssprop --le-box-bg - Background color
|
|
16
|
+
* @cssprop --le-box-padding - Padding inside the box
|
|
17
|
+
* @cssprop --le-box-border-radius - Border radius
|
|
18
|
+
* @csspart box - The main box container
|
|
19
|
+
* @csspart content - The inner content wrapper
|
|
20
|
+
* @cmsEditable true
|
|
21
|
+
* @cmsCategory Layout
|
|
22
|
+
*/
|
|
23
|
+
interface LeBox {
|
|
24
|
+
/**
|
|
25
|
+
* Internal horizontal alignment of content
|
|
26
|
+
* @allowedValues start | center | end | stretch
|
|
27
|
+
* @default 'stretch'
|
|
28
|
+
*/
|
|
29
|
+
"alignContent": 'start' | 'center' | 'end' | 'stretch';
|
|
30
|
+
/**
|
|
31
|
+
* Self-alignment override for this item on the cross axis
|
|
32
|
+
* @allowedValues auto | start | center | end | stretch | baseline
|
|
33
|
+
* @default 'auto'
|
|
34
|
+
*/
|
|
35
|
+
"alignSelf": 'auto' | 'start' | 'center' | 'end' | 'stretch' | 'baseline';
|
|
36
|
+
/**
|
|
37
|
+
* Background color or CSS value (e.g., '#f0f0f0', 'var(--le-color-primary-light)')
|
|
38
|
+
*/
|
|
39
|
+
"background"?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Flex basis - initial size before growing/shrinking (e.g., '200px', '25%', 'auto')
|
|
42
|
+
* @default 'auto'
|
|
43
|
+
*/
|
|
44
|
+
"basis": string;
|
|
45
|
+
/**
|
|
46
|
+
* Border style (e.g., '1px solid #ccc', '2px dashed var(--le-color-border)')
|
|
47
|
+
*/
|
|
48
|
+
"border"?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Border radius (e.g., '8px', 'var(--le-radius-md)')
|
|
51
|
+
*/
|
|
52
|
+
"borderRadius"?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Whether to display box content as flex (for internal alignment)
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
57
|
+
"displayFlex": boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Flex grow factor - how much the item should grow relative to siblings
|
|
60
|
+
* @min 0
|
|
61
|
+
* @default 0
|
|
62
|
+
*/
|
|
63
|
+
"grow": number;
|
|
64
|
+
/**
|
|
65
|
+
* Height of the box (CSS value)
|
|
66
|
+
*/
|
|
67
|
+
"height"?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Direction of internal flex layout when displayFlex is true
|
|
70
|
+
* @allowedValues horizontal | vertical
|
|
71
|
+
* @default 'vertical'
|
|
72
|
+
*/
|
|
73
|
+
"innerDirection": 'horizontal' | 'vertical';
|
|
74
|
+
/**
|
|
75
|
+
* Gap between internal flex items when displayFlex is true
|
|
76
|
+
*/
|
|
77
|
+
"innerGap"?: string;
|
|
78
|
+
/**
|
|
79
|
+
* Internal vertical alignment of content
|
|
80
|
+
* @allowedValues start | center | end | stretch
|
|
81
|
+
* @default 'start'
|
|
82
|
+
*/
|
|
83
|
+
"justifyContent": 'start' | 'center' | 'end' | 'stretch';
|
|
84
|
+
/**
|
|
85
|
+
* Maximum height constraint
|
|
86
|
+
*/
|
|
87
|
+
"maxHeight"?: string;
|
|
88
|
+
/**
|
|
89
|
+
* Maximum width constraint
|
|
90
|
+
*/
|
|
91
|
+
"maxWidth"?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Minimum height constraint
|
|
94
|
+
*/
|
|
95
|
+
"minHeight"?: string;
|
|
96
|
+
/**
|
|
97
|
+
* Minimum width constraint
|
|
98
|
+
*/
|
|
99
|
+
"minWidth"?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Order in the flex container (lower values come first)
|
|
102
|
+
*/
|
|
103
|
+
"order"?: number;
|
|
104
|
+
/**
|
|
105
|
+
* Padding inside the box (CSS value like '8px', '1rem')
|
|
106
|
+
*/
|
|
107
|
+
"padding"?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Flex shrink factor - how much the item should shrink relative to siblings
|
|
110
|
+
* @min 0
|
|
111
|
+
* @default 1
|
|
112
|
+
*/
|
|
113
|
+
"shrink": number;
|
|
114
|
+
/**
|
|
115
|
+
* Width of the box (CSS value like '100px', '50%', 'auto')
|
|
116
|
+
*/
|
|
117
|
+
"width"?: string;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* A flexible button component with multiple variants and states.
|
|
121
|
+
* @cssprop --le-button-bg - Button background color
|
|
122
|
+
* @cssprop --le-button-color - Button text color
|
|
123
|
+
* @cssprop --le-button-border-radius - Button border radius
|
|
124
|
+
* @cssprop --le-button-padding-x - Button horizontal padding
|
|
125
|
+
* @cssprop --le-button-padding-y - Button vertical padding
|
|
126
|
+
* @csspart button - The native button element
|
|
127
|
+
* @csspart content - The button content wrapper
|
|
128
|
+
* @cmsEditable true
|
|
129
|
+
* @cmsCategory Actions
|
|
130
|
+
*/
|
|
131
|
+
interface LeButton {
|
|
132
|
+
/**
|
|
133
|
+
* Button color theme (uses theme semantic colors)
|
|
134
|
+
* @allowedValues primary | secondary | success | warning | danger | info
|
|
135
|
+
* @default 'primary'
|
|
136
|
+
*/
|
|
137
|
+
"color": 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
|
|
138
|
+
/**
|
|
139
|
+
* Whether the button is disabled
|
|
140
|
+
* @default false
|
|
141
|
+
*/
|
|
142
|
+
"disabled": boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Whether the button takes full width of its container
|
|
145
|
+
* @default false
|
|
146
|
+
*/
|
|
147
|
+
"fullWidth": boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Optional href to make the button act as a link
|
|
150
|
+
*/
|
|
151
|
+
"href"?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Whether the button displays only an icon (square aspect ratio)
|
|
154
|
+
* @default false
|
|
155
|
+
*/
|
|
156
|
+
"iconOnly": boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Mode of the popover should be 'default' for internal use
|
|
159
|
+
*/
|
|
160
|
+
"mode": 'default' | 'admin';
|
|
161
|
+
/**
|
|
162
|
+
* Whether the button is in a selected/active state
|
|
163
|
+
* @default false
|
|
164
|
+
*/
|
|
165
|
+
"selected": boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Button size
|
|
168
|
+
* @allowedValues small | medium | large
|
|
169
|
+
* @default 'medium'
|
|
170
|
+
*/
|
|
171
|
+
"size": 'small' | 'medium' | 'large';
|
|
172
|
+
/**
|
|
173
|
+
* Link target when href is set
|
|
174
|
+
*/
|
|
175
|
+
"target"?: string;
|
|
176
|
+
/**
|
|
177
|
+
* The button type attribute
|
|
178
|
+
* @allowedValues button | submit | reset
|
|
179
|
+
* @default 'button'
|
|
180
|
+
*/
|
|
181
|
+
"type": 'button' | 'submit' | 'reset';
|
|
182
|
+
/**
|
|
183
|
+
* Button variant style
|
|
184
|
+
* @allowedValues solid | outlined | clear
|
|
185
|
+
* @default 'solid'
|
|
186
|
+
*/
|
|
187
|
+
"variant": 'solid' | 'outlined' | 'clear' | 'system';
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* A flexible card component with header, content, and footer slots.
|
|
191
|
+
* The card uses le-slot wrappers for each slot area. In admin mode,
|
|
192
|
+
* le-slot shows placeholders for CMS editing. In default mode,
|
|
193
|
+
* le-slot acts as a transparent passthrough.
|
|
194
|
+
* @cssprop --le-card-bg - Card background color
|
|
195
|
+
* @cssprop --le-card-border-radius - Card border radius
|
|
196
|
+
* @cssprop --le-card-shadow - Card box shadow
|
|
197
|
+
* @cssprop --le-card-padding - Card content padding
|
|
198
|
+
* @csspart card - The main card container
|
|
199
|
+
* @csspart header - The card header section
|
|
200
|
+
* @csspart content - The card content section
|
|
201
|
+
* @csspart footer - The card footer section
|
|
202
|
+
* @cmsEditable true
|
|
203
|
+
* @cmsCategory Layout
|
|
204
|
+
*/
|
|
205
|
+
interface LeCard {
|
|
206
|
+
/**
|
|
207
|
+
* Whether the card is interactive (clickable)
|
|
208
|
+
* @default false
|
|
209
|
+
*/
|
|
210
|
+
"interactive": boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Card variant style
|
|
213
|
+
* @allowedValues default | outlined | elevated
|
|
214
|
+
* @default 'default'
|
|
215
|
+
*/
|
|
216
|
+
"variant": 'default' | 'outlined' | 'elevated';
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* A checkbox component with support for labels, descriptions, and external IDs.
|
|
220
|
+
* @cssprop --le-checkbox-size - Size of the checkbox input
|
|
221
|
+
* @cssprop --le-checkbox-color - Color of the checkbox when checked
|
|
222
|
+
* @cssprop --le-checkbox-label-color - Color of the label text
|
|
223
|
+
* @cssprop --le-checkbox-desc-color - Color of the description text
|
|
224
|
+
*/
|
|
225
|
+
interface LeCheckbox {
|
|
226
|
+
/**
|
|
227
|
+
* Whether the checkbox is checked
|
|
228
|
+
* @default false
|
|
229
|
+
*/
|
|
230
|
+
"checked": boolean;
|
|
231
|
+
/**
|
|
232
|
+
* Whether the checkbox is disabled
|
|
233
|
+
* @default false
|
|
234
|
+
*/
|
|
235
|
+
"disabled": boolean;
|
|
236
|
+
/**
|
|
237
|
+
* External ID for linking with external systems (e.g. database ID, PDF form field ID)
|
|
238
|
+
*/
|
|
239
|
+
"externalId": string;
|
|
240
|
+
/**
|
|
241
|
+
* The name of the checkbox input
|
|
242
|
+
*/
|
|
243
|
+
"name": string;
|
|
244
|
+
/**
|
|
245
|
+
* The value of the checkbox input
|
|
246
|
+
*/
|
|
247
|
+
"value": string;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* A number input component with validation, keyboard controls, and custom spinners.
|
|
251
|
+
* @cssprop --le-input-bg - Input background color
|
|
252
|
+
* @cssprop --le-input-color - Input text color
|
|
253
|
+
* @cssprop --le-input-border - Input border style
|
|
254
|
+
* @cssprop --le-input-border-focus - Input border style when focused
|
|
255
|
+
* @cssprop --le-input-border-error - Input border style when invalid
|
|
256
|
+
* @cssprop --le-input-radius - Input border radius
|
|
257
|
+
* @cssprop --le-input-padding - Input padding
|
|
258
|
+
*/
|
|
259
|
+
interface LeNumberInput {
|
|
260
|
+
/**
|
|
261
|
+
* Whether the input is disabled
|
|
262
|
+
* @default false
|
|
263
|
+
*/
|
|
264
|
+
"disabled": boolean;
|
|
265
|
+
/**
|
|
266
|
+
* External ID for linking with external systems
|
|
267
|
+
*/
|
|
268
|
+
"externalId": string;
|
|
269
|
+
/**
|
|
270
|
+
* Icon for the start icon
|
|
271
|
+
*/
|
|
272
|
+
"iconStart"?: string;
|
|
273
|
+
/**
|
|
274
|
+
* Label for the input
|
|
275
|
+
*/
|
|
276
|
+
"label": string;
|
|
277
|
+
/**
|
|
278
|
+
* Maximum allowed value
|
|
279
|
+
*/
|
|
280
|
+
"max"?: number;
|
|
281
|
+
/**
|
|
282
|
+
* Minimum allowed value
|
|
283
|
+
*/
|
|
284
|
+
"min"?: number;
|
|
285
|
+
/**
|
|
286
|
+
* The name of the input
|
|
287
|
+
*/
|
|
288
|
+
"name": string;
|
|
289
|
+
/**
|
|
290
|
+
* Placeholder text
|
|
291
|
+
*/
|
|
292
|
+
"placeholder": string;
|
|
293
|
+
/**
|
|
294
|
+
* Whether the input is read-only
|
|
295
|
+
* @default false
|
|
296
|
+
*/
|
|
297
|
+
"readonly": boolean;
|
|
298
|
+
/**
|
|
299
|
+
* Whether the input is required
|
|
300
|
+
* @default false
|
|
301
|
+
*/
|
|
302
|
+
"required": boolean;
|
|
303
|
+
/**
|
|
304
|
+
* Whether to show the spinner controls
|
|
305
|
+
* @default true
|
|
306
|
+
*/
|
|
307
|
+
"showSpinners": boolean;
|
|
308
|
+
/**
|
|
309
|
+
* Step value for increment/decrement
|
|
310
|
+
* @default 1
|
|
311
|
+
*/
|
|
312
|
+
"step": number;
|
|
313
|
+
/**
|
|
314
|
+
* The value of the input
|
|
315
|
+
*/
|
|
316
|
+
"value": number;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* A popover component for displaying floating content.
|
|
320
|
+
* Uses the native HTML Popover API for proper layering with dialogs
|
|
321
|
+
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
322
|
+
* @cmsInternal true
|
|
323
|
+
* @cmsCategory System
|
|
324
|
+
*/
|
|
325
|
+
interface LePopover {
|
|
326
|
+
/**
|
|
327
|
+
* Alignment of the popover
|
|
328
|
+
* @default 'start'
|
|
329
|
+
*/
|
|
330
|
+
"align": 'start' | 'center' | 'end';
|
|
331
|
+
/**
|
|
332
|
+
* Whether clicking outside closes the popover
|
|
333
|
+
* @default true
|
|
334
|
+
*/
|
|
335
|
+
"closeOnClickOutside": boolean;
|
|
336
|
+
/**
|
|
337
|
+
* Whether pressing Escape closes the popover
|
|
338
|
+
* @default true
|
|
339
|
+
*/
|
|
340
|
+
"closeOnEscape": boolean;
|
|
341
|
+
/**
|
|
342
|
+
* Closes the popover
|
|
343
|
+
*/
|
|
344
|
+
"hide": () => Promise<void>;
|
|
345
|
+
/**
|
|
346
|
+
* Maximum width for the popover (e.g., '400px', '25rem')
|
|
347
|
+
*/
|
|
348
|
+
"maxWidth"?: string;
|
|
349
|
+
/**
|
|
350
|
+
* Minimum width for the popover (e.g., '200px', '15rem')
|
|
351
|
+
* @default '200px'
|
|
352
|
+
*/
|
|
353
|
+
"minWidth"?: string;
|
|
354
|
+
/**
|
|
355
|
+
* Mode of the popover should be 'default' for internal use
|
|
356
|
+
*/
|
|
357
|
+
"mode": 'default' | 'admin';
|
|
358
|
+
/**
|
|
359
|
+
* Offset from the trigger element (in pixels)
|
|
360
|
+
* @default 8
|
|
361
|
+
*/
|
|
362
|
+
"offset": number;
|
|
363
|
+
/**
|
|
364
|
+
* Whether the popover is currently open
|
|
365
|
+
* @default false
|
|
366
|
+
*/
|
|
367
|
+
"open": boolean;
|
|
368
|
+
/**
|
|
369
|
+
* Optional title for the popover header
|
|
370
|
+
*/
|
|
371
|
+
"popoverTitle"?: string;
|
|
372
|
+
/**
|
|
373
|
+
* Position of the popover relative to its trigger
|
|
374
|
+
* @default 'bottom'
|
|
375
|
+
*/
|
|
376
|
+
"position": 'top' | 'bottom' | 'left' | 'right' | 'auto';
|
|
377
|
+
/**
|
|
378
|
+
* Opens the popover
|
|
379
|
+
*/
|
|
380
|
+
"show": () => Promise<void>;
|
|
381
|
+
/**
|
|
382
|
+
* Whether to show a close button in the header
|
|
383
|
+
* @default true
|
|
384
|
+
*/
|
|
385
|
+
"showClose": boolean;
|
|
386
|
+
/**
|
|
387
|
+
* Toggles the popover
|
|
388
|
+
*/
|
|
389
|
+
"toggle": () => Promise<void>;
|
|
390
|
+
/**
|
|
391
|
+
* Fixed width for the popover (e.g., '300px', '20rem')
|
|
392
|
+
*/
|
|
393
|
+
"width"?: string;
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
397
|
+
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
398
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
399
|
+
* via leAlert(), leConfirm(), lePrompt().
|
|
400
|
+
* @cmsInternal true
|
|
401
|
+
* @cmsCategory System
|
|
402
|
+
*/
|
|
403
|
+
interface LePopup {
|
|
404
|
+
/**
|
|
405
|
+
* Text for the cancel button
|
|
406
|
+
* @default 'Cancel'
|
|
407
|
+
*/
|
|
408
|
+
"cancelText": string;
|
|
409
|
+
/**
|
|
410
|
+
* Whether clicking the backdrop closes the popup (modal only)
|
|
411
|
+
* @default true
|
|
412
|
+
*/
|
|
413
|
+
"closeOnBackdrop": boolean;
|
|
414
|
+
/**
|
|
415
|
+
* Text for the confirm/OK button
|
|
416
|
+
* @default 'OK'
|
|
417
|
+
*/
|
|
418
|
+
"confirmText": string;
|
|
419
|
+
/**
|
|
420
|
+
* Default value for prompt input
|
|
421
|
+
* @default ''
|
|
422
|
+
*/
|
|
423
|
+
"defaultValue": string;
|
|
424
|
+
/**
|
|
425
|
+
* Closes the popup with a result
|
|
426
|
+
*/
|
|
427
|
+
"hide": (confirmed?: boolean) => Promise<void>;
|
|
428
|
+
/**
|
|
429
|
+
* Message text to display (for alert/confirm/prompt types)
|
|
430
|
+
*/
|
|
431
|
+
"message"?: string;
|
|
432
|
+
/**
|
|
433
|
+
* Whether the popup is modal (blocks interaction with page behind)
|
|
434
|
+
* @default true
|
|
435
|
+
*/
|
|
436
|
+
"modal": boolean;
|
|
437
|
+
/**
|
|
438
|
+
* Whether the popup is currently visible
|
|
439
|
+
* @default false
|
|
440
|
+
*/
|
|
441
|
+
"open": boolean;
|
|
442
|
+
/**
|
|
443
|
+
* Placeholder text for prompt input
|
|
444
|
+
* @default ''
|
|
445
|
+
*/
|
|
446
|
+
"placeholder": string;
|
|
447
|
+
/**
|
|
448
|
+
* Optional title for the popup header
|
|
449
|
+
*/
|
|
450
|
+
"popupTitle"?: string;
|
|
451
|
+
/**
|
|
452
|
+
* Position of the popup on screen
|
|
453
|
+
* @default 'center'
|
|
454
|
+
*/
|
|
455
|
+
"position": PopupPosition;
|
|
456
|
+
/**
|
|
457
|
+
* Opens the popup and returns a promise that resolves when closed
|
|
458
|
+
*/
|
|
459
|
+
"show": () => Promise<PopupResult>;
|
|
460
|
+
/**
|
|
461
|
+
* Type of popup: alert (OK only), confirm (OK/Cancel), prompt (input + OK/Cancel), custom
|
|
462
|
+
* @default 'alert'
|
|
463
|
+
*/
|
|
464
|
+
"type": PopupType;
|
|
465
|
+
}
|
|
466
|
+
interface LeRoundProgress {
|
|
467
|
+
/**
|
|
468
|
+
* @default 0
|
|
469
|
+
*/
|
|
470
|
+
"padding": number;
|
|
471
|
+
"paths": string;
|
|
472
|
+
/**
|
|
473
|
+
* @default 0
|
|
474
|
+
*/
|
|
475
|
+
"value": number;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* A flexible stack layout component using CSS flexbox.
|
|
479
|
+
* `le-stack` arranges its children in a row (horizontal) or column (vertical)
|
|
480
|
+
* with configurable spacing, alignment, and wrapping behavior. Perfect for
|
|
481
|
+
* creating responsive layouts.
|
|
482
|
+
* @cssprop --le-stack-gap - Gap between items (defaults to var(--le-space-md))
|
|
483
|
+
* @csspart stack - The main stack container
|
|
484
|
+
* @cmsEditable true
|
|
485
|
+
* @cmsCategory Layout
|
|
486
|
+
*/
|
|
487
|
+
interface LeStack {
|
|
488
|
+
/**
|
|
489
|
+
* Alignment of items on the cross axis
|
|
490
|
+
* @allowedValues start | center | end | stretch | baseline
|
|
491
|
+
* @default 'stretch'
|
|
492
|
+
*/
|
|
493
|
+
"align": 'start' | 'center' | 'end' | 'stretch' | 'baseline';
|
|
494
|
+
/**
|
|
495
|
+
* Alignment of wrapped lines (only applies when wrap is true)
|
|
496
|
+
* @allowedValues start | center | end | stretch | space-between | space-around
|
|
497
|
+
* @default 'stretch'
|
|
498
|
+
*/
|
|
499
|
+
"alignContent": 'start' | 'center' | 'end' | 'stretch' | 'space-between' | 'space-around';
|
|
500
|
+
/**
|
|
501
|
+
* Direction of the stack layout
|
|
502
|
+
* @allowedValues horizontal | vertical
|
|
503
|
+
* @default 'horizontal'
|
|
504
|
+
*/
|
|
505
|
+
"direction": 'horizontal' | 'vertical';
|
|
506
|
+
/**
|
|
507
|
+
* Whether the stack should take full height of its container
|
|
508
|
+
* @default false
|
|
509
|
+
*/
|
|
510
|
+
"fullHeight": boolean;
|
|
511
|
+
/**
|
|
512
|
+
* Whether the stack should take full width of its container
|
|
513
|
+
* @default false
|
|
514
|
+
*/
|
|
515
|
+
"fullWidth": boolean;
|
|
516
|
+
/**
|
|
517
|
+
* Gap between items (CSS value like '8px', '1rem', 'var(--le-space-md)')
|
|
518
|
+
*/
|
|
519
|
+
"gap"?: string;
|
|
520
|
+
/**
|
|
521
|
+
* Distribution of items on the main axis
|
|
522
|
+
* @allowedValues start | center | end | space-between | space-around | space-evenly
|
|
523
|
+
* @default 'start'
|
|
524
|
+
*/
|
|
525
|
+
"justify": 'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly';
|
|
526
|
+
/**
|
|
527
|
+
* Maximum number of items allowed in the stack (for CMS validation)
|
|
528
|
+
* @min 1
|
|
529
|
+
*/
|
|
530
|
+
"maxItems"?: number;
|
|
531
|
+
/**
|
|
532
|
+
* Padding inside the stack container (CSS value)
|
|
533
|
+
*/
|
|
534
|
+
"padding"?: string;
|
|
535
|
+
/**
|
|
536
|
+
* Whether to reverse the order of items
|
|
537
|
+
* @default false
|
|
538
|
+
*/
|
|
539
|
+
"reverse": boolean;
|
|
540
|
+
/**
|
|
541
|
+
* Whether items should wrap to multiple lines
|
|
542
|
+
* @default false
|
|
543
|
+
*/
|
|
544
|
+
"wrap": boolean;
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* A text input component with support for labels, descriptions, icons, and external IDs.
|
|
548
|
+
* @cssprop --le-input-bg - Input background color
|
|
549
|
+
* @cssprop --le-input-color - Input text color
|
|
550
|
+
* @cssprop --le-input-border - Input border style
|
|
551
|
+
* @cssprop --le-input-border-focus - Input border style when focused
|
|
552
|
+
* @cssprop --le-input-radius - Input border radius
|
|
553
|
+
* @cssprop --le-input-padding - Input padding
|
|
554
|
+
*/
|
|
555
|
+
interface LeStringInput {
|
|
556
|
+
/**
|
|
557
|
+
* Whether the input is disabled
|
|
558
|
+
* @default false
|
|
559
|
+
*/
|
|
560
|
+
"disabled": boolean;
|
|
561
|
+
/**
|
|
562
|
+
* External ID for linking with external systems
|
|
563
|
+
*/
|
|
564
|
+
"externalId": string;
|
|
565
|
+
/**
|
|
566
|
+
* Icon for the end icon
|
|
567
|
+
*/
|
|
568
|
+
"iconEnd": string;
|
|
569
|
+
/**
|
|
570
|
+
* Icon for the start icon
|
|
571
|
+
*/
|
|
572
|
+
"iconStart": string;
|
|
573
|
+
/**
|
|
574
|
+
* Label for the input
|
|
575
|
+
*/
|
|
576
|
+
"label": string;
|
|
577
|
+
/**
|
|
578
|
+
* Mode of the popover should be 'default' for internal use
|
|
579
|
+
*/
|
|
580
|
+
"mode": 'default' | 'admin';
|
|
581
|
+
/**
|
|
582
|
+
* The name of the input
|
|
583
|
+
*/
|
|
584
|
+
"name": string;
|
|
585
|
+
/**
|
|
586
|
+
* Placeholder text
|
|
587
|
+
*/
|
|
588
|
+
"placeholder": string;
|
|
589
|
+
/**
|
|
590
|
+
* Whether the input is read-only
|
|
591
|
+
* @default false
|
|
592
|
+
*/
|
|
593
|
+
"readonly": boolean;
|
|
594
|
+
/**
|
|
595
|
+
* The type of the input (text, email, password, etc.)
|
|
596
|
+
* @default 'text'
|
|
597
|
+
*/
|
|
598
|
+
"type": 'text' | 'email' | 'password' | 'tel' | 'url';
|
|
599
|
+
/**
|
|
600
|
+
* The value of the input
|
|
601
|
+
*/
|
|
602
|
+
"value": string;
|
|
603
|
+
}
|
|
604
|
+
/**
|
|
605
|
+
* A text component with rich text editing capabilities in admin mode.
|
|
606
|
+
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
607
|
+
* and provides a Notion-like rich text editor in admin mode with formatting
|
|
608
|
+
* toolbar for bold, italic, links, and paragraph type selection.
|
|
609
|
+
* @cssprop --le-text-color - Text color
|
|
610
|
+
* @cssprop --le-text-font-size - Font size
|
|
611
|
+
* @cssprop --le-text-line-height - Line height
|
|
612
|
+
* @cssprop --le-text-font-weight - Font weight
|
|
613
|
+
* @csspart text - The text container element
|
|
614
|
+
* @cmsEditable true
|
|
615
|
+
* @cmsCategory Content
|
|
616
|
+
*/
|
|
617
|
+
interface LeText {
|
|
618
|
+
/**
|
|
619
|
+
* Text alignment
|
|
620
|
+
* @allowedValues left | center | right | justify
|
|
621
|
+
* @default 'left'
|
|
622
|
+
*/
|
|
623
|
+
"align": 'left' | 'center' | 'right' | 'justify';
|
|
624
|
+
/**
|
|
625
|
+
* Text color (CSS value or theme token)
|
|
626
|
+
*/
|
|
627
|
+
"color"?: string;
|
|
628
|
+
/**
|
|
629
|
+
* Maximum number of lines before truncating (requires truncate=true)
|
|
630
|
+
*/
|
|
631
|
+
"maxLines"?: number;
|
|
632
|
+
/**
|
|
633
|
+
* Whether the text should truncate with ellipsis
|
|
634
|
+
* @default false
|
|
635
|
+
*/
|
|
636
|
+
"truncate": boolean;
|
|
637
|
+
/**
|
|
638
|
+
* The semantic variant/type of text element
|
|
639
|
+
* @allowedValues p | h1 | h2 | h3 | h4 | h5 | h6 | code | quote | label | small
|
|
640
|
+
* @default 'p'
|
|
641
|
+
*/
|
|
642
|
+
"variant": 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'code' | 'quote' | 'label' | 'small';
|
|
643
|
+
}
|
|
644
|
+
interface LeTurntable {
|
|
645
|
+
/**
|
|
646
|
+
* @default 'center'
|
|
647
|
+
*/
|
|
648
|
+
"center": string;
|
|
649
|
+
/**
|
|
650
|
+
* @default 0
|
|
651
|
+
*/
|
|
652
|
+
"value": number;
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
export interface LeButtonCustomEvent<T> extends CustomEvent<T> {
|
|
656
|
+
detail: T;
|
|
657
|
+
target: HTMLLeButtonElement;
|
|
658
|
+
}
|
|
659
|
+
export interface LeCheckboxCustomEvent<T> extends CustomEvent<T> {
|
|
660
|
+
detail: T;
|
|
661
|
+
target: HTMLLeCheckboxElement;
|
|
662
|
+
}
|
|
663
|
+
export interface LeNumberInputCustomEvent<T> extends CustomEvent<T> {
|
|
664
|
+
detail: T;
|
|
665
|
+
target: HTMLLeNumberInputElement;
|
|
666
|
+
}
|
|
667
|
+
export interface LePopoverCustomEvent<T> extends CustomEvent<T> {
|
|
668
|
+
detail: T;
|
|
669
|
+
target: HTMLLePopoverElement;
|
|
670
|
+
}
|
|
671
|
+
export interface LePopupCustomEvent<T> extends CustomEvent<T> {
|
|
672
|
+
detail: T;
|
|
673
|
+
target: HTMLLePopupElement;
|
|
674
|
+
}
|
|
675
|
+
export interface LeStringInputCustomEvent<T> extends CustomEvent<T> {
|
|
676
|
+
detail: T;
|
|
677
|
+
target: HTMLLeStringInputElement;
|
|
678
|
+
}
|
|
679
|
+
declare global {
|
|
680
|
+
/**
|
|
681
|
+
* A flexible box component for use as a flex item within le-stack.
|
|
682
|
+
* `le-box` wraps content and provides flex item properties like grow, shrink,
|
|
683
|
+
* basis, and self-alignment. It can also control its internal content alignment.
|
|
684
|
+
* @cssprop --le-box-bg - Background color
|
|
685
|
+
* @cssprop --le-box-padding - Padding inside the box
|
|
686
|
+
* @cssprop --le-box-border-radius - Border radius
|
|
687
|
+
* @csspart box - The main box container
|
|
688
|
+
* @csspart content - The inner content wrapper
|
|
689
|
+
* @cmsEditable true
|
|
690
|
+
* @cmsCategory Layout
|
|
691
|
+
*/
|
|
692
|
+
interface HTMLLeBoxElement extends Components.LeBox, HTMLStencilElement {
|
|
693
|
+
}
|
|
694
|
+
var HTMLLeBoxElement: {
|
|
695
|
+
prototype: HTMLLeBoxElement;
|
|
696
|
+
new (): HTMLLeBoxElement;
|
|
697
|
+
};
|
|
698
|
+
interface HTMLLeButtonElementEventMap {
|
|
699
|
+
"click": PointerEvent;
|
|
700
|
+
}
|
|
701
|
+
/**
|
|
702
|
+
* A flexible button component with multiple variants and states.
|
|
703
|
+
* @cssprop --le-button-bg - Button background color
|
|
704
|
+
* @cssprop --le-button-color - Button text color
|
|
705
|
+
* @cssprop --le-button-border-radius - Button border radius
|
|
706
|
+
* @cssprop --le-button-padding-x - Button horizontal padding
|
|
707
|
+
* @cssprop --le-button-padding-y - Button vertical padding
|
|
708
|
+
* @csspart button - The native button element
|
|
709
|
+
* @csspart content - The button content wrapper
|
|
710
|
+
* @cmsEditable true
|
|
711
|
+
* @cmsCategory Actions
|
|
712
|
+
*/
|
|
713
|
+
interface HTMLLeButtonElement extends Components.LeButton, HTMLStencilElement {
|
|
714
|
+
addEventListener<K extends keyof HTMLLeButtonElementEventMap>(type: K, listener: (this: HTMLLeButtonElement, ev: LeButtonCustomEvent<HTMLLeButtonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
715
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
716
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
717
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
718
|
+
removeEventListener<K extends keyof HTMLLeButtonElementEventMap>(type: K, listener: (this: HTMLLeButtonElement, ev: LeButtonCustomEvent<HTMLLeButtonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
719
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
720
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
721
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
722
|
+
}
|
|
723
|
+
var HTMLLeButtonElement: {
|
|
724
|
+
prototype: HTMLLeButtonElement;
|
|
725
|
+
new (): HTMLLeButtonElement;
|
|
726
|
+
};
|
|
727
|
+
/**
|
|
728
|
+
* A flexible card component with header, content, and footer slots.
|
|
729
|
+
* The card uses le-slot wrappers for each slot area. In admin mode,
|
|
730
|
+
* le-slot shows placeholders for CMS editing. In default mode,
|
|
731
|
+
* le-slot acts as a transparent passthrough.
|
|
732
|
+
* @cssprop --le-card-bg - Card background color
|
|
733
|
+
* @cssprop --le-card-border-radius - Card border radius
|
|
734
|
+
* @cssprop --le-card-shadow - Card box shadow
|
|
735
|
+
* @cssprop --le-card-padding - Card content padding
|
|
736
|
+
* @csspart card - The main card container
|
|
737
|
+
* @csspart header - The card header section
|
|
738
|
+
* @csspart content - The card content section
|
|
739
|
+
* @csspart footer - The card footer section
|
|
740
|
+
* @cmsEditable true
|
|
741
|
+
* @cmsCategory Layout
|
|
742
|
+
*/
|
|
743
|
+
interface HTMLLeCardElement extends Components.LeCard, HTMLStencilElement {
|
|
744
|
+
}
|
|
745
|
+
var HTMLLeCardElement: {
|
|
746
|
+
prototype: HTMLLeCardElement;
|
|
747
|
+
new (): HTMLLeCardElement;
|
|
748
|
+
};
|
|
749
|
+
interface HTMLLeCheckboxElementEventMap {
|
|
750
|
+
"change": { checked: boolean; value: string; name: string; externalId: string };
|
|
751
|
+
}
|
|
752
|
+
/**
|
|
753
|
+
* A checkbox component with support for labels, descriptions, and external IDs.
|
|
754
|
+
* @cssprop --le-checkbox-size - Size of the checkbox input
|
|
755
|
+
* @cssprop --le-checkbox-color - Color of the checkbox when checked
|
|
756
|
+
* @cssprop --le-checkbox-label-color - Color of the label text
|
|
757
|
+
* @cssprop --le-checkbox-desc-color - Color of the description text
|
|
758
|
+
*/
|
|
759
|
+
interface HTMLLeCheckboxElement extends Components.LeCheckbox, HTMLStencilElement {
|
|
760
|
+
addEventListener<K extends keyof HTMLLeCheckboxElementEventMap>(type: K, listener: (this: HTMLLeCheckboxElement, ev: LeCheckboxCustomEvent<HTMLLeCheckboxElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
761
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
762
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
763
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
764
|
+
removeEventListener<K extends keyof HTMLLeCheckboxElementEventMap>(type: K, listener: (this: HTMLLeCheckboxElement, ev: LeCheckboxCustomEvent<HTMLLeCheckboxElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
765
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
766
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
767
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
768
|
+
}
|
|
769
|
+
var HTMLLeCheckboxElement: {
|
|
770
|
+
prototype: HTMLLeCheckboxElement;
|
|
771
|
+
new (): HTMLLeCheckboxElement;
|
|
772
|
+
};
|
|
773
|
+
interface HTMLLeNumberInputElementEventMap {
|
|
774
|
+
"leChange": { value: number; name: string; externalId: string; isValid: boolean };
|
|
775
|
+
"leInput": { value: number; name: string; externalId: string; isValid: boolean };
|
|
776
|
+
}
|
|
777
|
+
/**
|
|
778
|
+
* A number input component with validation, keyboard controls, and custom spinners.
|
|
779
|
+
* @cssprop --le-input-bg - Input background color
|
|
780
|
+
* @cssprop --le-input-color - Input text color
|
|
781
|
+
* @cssprop --le-input-border - Input border style
|
|
782
|
+
* @cssprop --le-input-border-focus - Input border style when focused
|
|
783
|
+
* @cssprop --le-input-border-error - Input border style when invalid
|
|
784
|
+
* @cssprop --le-input-radius - Input border radius
|
|
785
|
+
* @cssprop --le-input-padding - Input padding
|
|
786
|
+
*/
|
|
787
|
+
interface HTMLLeNumberInputElement extends Components.LeNumberInput, HTMLStencilElement {
|
|
788
|
+
addEventListener<K extends keyof HTMLLeNumberInputElementEventMap>(type: K, listener: (this: HTMLLeNumberInputElement, ev: LeNumberInputCustomEvent<HTMLLeNumberInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
789
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
790
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
791
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
792
|
+
removeEventListener<K extends keyof HTMLLeNumberInputElementEventMap>(type: K, listener: (this: HTMLLeNumberInputElement, ev: LeNumberInputCustomEvent<HTMLLeNumberInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
793
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
794
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
795
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
796
|
+
}
|
|
797
|
+
var HTMLLeNumberInputElement: {
|
|
798
|
+
prototype: HTMLLeNumberInputElement;
|
|
799
|
+
new (): HTMLLeNumberInputElement;
|
|
800
|
+
};
|
|
801
|
+
interface HTMLLePopoverElementEventMap {
|
|
802
|
+
"lePopoverOpen": void;
|
|
803
|
+
"lePopoverClose": void;
|
|
804
|
+
}
|
|
805
|
+
/**
|
|
806
|
+
* A popover component for displaying floating content.
|
|
807
|
+
* Uses the native HTML Popover API for proper layering with dialogs
|
|
808
|
+
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
809
|
+
* @cmsInternal true
|
|
810
|
+
* @cmsCategory System
|
|
811
|
+
*/
|
|
812
|
+
interface HTMLLePopoverElement extends Components.LePopover, HTMLStencilElement {
|
|
813
|
+
addEventListener<K extends keyof HTMLLePopoverElementEventMap>(type: K, listener: (this: HTMLLePopoverElement, ev: LePopoverCustomEvent<HTMLLePopoverElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
814
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
815
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
816
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
817
|
+
removeEventListener<K extends keyof HTMLLePopoverElementEventMap>(type: K, listener: (this: HTMLLePopoverElement, ev: LePopoverCustomEvent<HTMLLePopoverElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
818
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
819
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
820
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
821
|
+
}
|
|
822
|
+
var HTMLLePopoverElement: {
|
|
823
|
+
prototype: HTMLLePopoverElement;
|
|
824
|
+
new (): HTMLLePopoverElement;
|
|
825
|
+
};
|
|
826
|
+
interface HTMLLePopupElementEventMap {
|
|
827
|
+
"leConfirm": PopupResult;
|
|
828
|
+
"leCancel": PopupResult;
|
|
829
|
+
"leOpen": void;
|
|
830
|
+
"leClose": PopupResult;
|
|
831
|
+
}
|
|
832
|
+
/**
|
|
833
|
+
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
834
|
+
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
835
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
836
|
+
* via leAlert(), leConfirm(), lePrompt().
|
|
837
|
+
* @cmsInternal true
|
|
838
|
+
* @cmsCategory System
|
|
839
|
+
*/
|
|
840
|
+
interface HTMLLePopupElement extends Components.LePopup, HTMLStencilElement {
|
|
841
|
+
addEventListener<K extends keyof HTMLLePopupElementEventMap>(type: K, listener: (this: HTMLLePopupElement, ev: LePopupCustomEvent<HTMLLePopupElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
842
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
843
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
844
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
845
|
+
removeEventListener<K extends keyof HTMLLePopupElementEventMap>(type: K, listener: (this: HTMLLePopupElement, ev: LePopupCustomEvent<HTMLLePopupElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
846
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
847
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
848
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
849
|
+
}
|
|
850
|
+
var HTMLLePopupElement: {
|
|
851
|
+
prototype: HTMLLePopupElement;
|
|
852
|
+
new (): HTMLLePopupElement;
|
|
853
|
+
};
|
|
854
|
+
interface HTMLLeRoundProgressElement extends Components.LeRoundProgress, HTMLStencilElement {
|
|
855
|
+
}
|
|
856
|
+
var HTMLLeRoundProgressElement: {
|
|
857
|
+
prototype: HTMLLeRoundProgressElement;
|
|
858
|
+
new (): HTMLLeRoundProgressElement;
|
|
859
|
+
};
|
|
860
|
+
/**
|
|
861
|
+
* A flexible stack layout component using CSS flexbox.
|
|
862
|
+
* `le-stack` arranges its children in a row (horizontal) or column (vertical)
|
|
863
|
+
* with configurable spacing, alignment, and wrapping behavior. Perfect for
|
|
864
|
+
* creating responsive layouts.
|
|
865
|
+
* @cssprop --le-stack-gap - Gap between items (defaults to var(--le-space-md))
|
|
866
|
+
* @csspart stack - The main stack container
|
|
867
|
+
* @cmsEditable true
|
|
868
|
+
* @cmsCategory Layout
|
|
869
|
+
*/
|
|
870
|
+
interface HTMLLeStackElement extends Components.LeStack, HTMLStencilElement {
|
|
871
|
+
}
|
|
872
|
+
var HTMLLeStackElement: {
|
|
873
|
+
prototype: HTMLLeStackElement;
|
|
874
|
+
new (): HTMLLeStackElement;
|
|
875
|
+
};
|
|
876
|
+
interface HTMLLeStringInputElementEventMap {
|
|
877
|
+
"change": { value: string; name: string; externalId: string };
|
|
878
|
+
"input": { value: string; name: string; externalId: string };
|
|
879
|
+
}
|
|
880
|
+
/**
|
|
881
|
+
* A text input component with support for labels, descriptions, icons, and external IDs.
|
|
882
|
+
* @cssprop --le-input-bg - Input background color
|
|
883
|
+
* @cssprop --le-input-color - Input text color
|
|
884
|
+
* @cssprop --le-input-border - Input border style
|
|
885
|
+
* @cssprop --le-input-border-focus - Input border style when focused
|
|
886
|
+
* @cssprop --le-input-radius - Input border radius
|
|
887
|
+
* @cssprop --le-input-padding - Input padding
|
|
888
|
+
*/
|
|
889
|
+
interface HTMLLeStringInputElement extends Components.LeStringInput, HTMLStencilElement {
|
|
890
|
+
addEventListener<K extends keyof HTMLLeStringInputElementEventMap>(type: K, listener: (this: HTMLLeStringInputElement, ev: LeStringInputCustomEvent<HTMLLeStringInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
891
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
892
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
893
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
894
|
+
removeEventListener<K extends keyof HTMLLeStringInputElementEventMap>(type: K, listener: (this: HTMLLeStringInputElement, ev: LeStringInputCustomEvent<HTMLLeStringInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
895
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
896
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
897
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
898
|
+
}
|
|
899
|
+
var HTMLLeStringInputElement: {
|
|
900
|
+
prototype: HTMLLeStringInputElement;
|
|
901
|
+
new (): HTMLLeStringInputElement;
|
|
902
|
+
};
|
|
903
|
+
/**
|
|
904
|
+
* A text component with rich text editing capabilities in admin mode.
|
|
905
|
+
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
906
|
+
* and provides a Notion-like rich text editor in admin mode with formatting
|
|
907
|
+
* toolbar for bold, italic, links, and paragraph type selection.
|
|
908
|
+
* @cssprop --le-text-color - Text color
|
|
909
|
+
* @cssprop --le-text-font-size - Font size
|
|
910
|
+
* @cssprop --le-text-line-height - Line height
|
|
911
|
+
* @cssprop --le-text-font-weight - Font weight
|
|
912
|
+
* @csspart text - The text container element
|
|
913
|
+
* @cmsEditable true
|
|
914
|
+
* @cmsCategory Content
|
|
915
|
+
*/
|
|
916
|
+
interface HTMLLeTextElement extends Components.LeText, HTMLStencilElement {
|
|
917
|
+
}
|
|
918
|
+
var HTMLLeTextElement: {
|
|
919
|
+
prototype: HTMLLeTextElement;
|
|
920
|
+
new (): HTMLLeTextElement;
|
|
921
|
+
};
|
|
922
|
+
interface HTMLLeTurntableElement extends Components.LeTurntable, HTMLStencilElement {
|
|
923
|
+
}
|
|
924
|
+
var HTMLLeTurntableElement: {
|
|
925
|
+
prototype: HTMLLeTurntableElement;
|
|
926
|
+
new (): HTMLLeTurntableElement;
|
|
927
|
+
};
|
|
928
|
+
interface HTMLElementTagNameMap {
|
|
929
|
+
"le-box": HTMLLeBoxElement;
|
|
930
|
+
"le-button": HTMLLeButtonElement;
|
|
931
|
+
"le-card": HTMLLeCardElement;
|
|
932
|
+
"le-checkbox": HTMLLeCheckboxElement;
|
|
933
|
+
"le-number-input": HTMLLeNumberInputElement;
|
|
934
|
+
"le-popover": HTMLLePopoverElement;
|
|
935
|
+
"le-popup": HTMLLePopupElement;
|
|
936
|
+
"le-round-progress": HTMLLeRoundProgressElement;
|
|
937
|
+
"le-stack": HTMLLeStackElement;
|
|
938
|
+
"le-string-input": HTMLLeStringInputElement;
|
|
939
|
+
"le-text": HTMLLeTextElement;
|
|
940
|
+
"le-turntable": HTMLLeTurntableElement;
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
declare namespace LocalJSX {
|
|
944
|
+
/**
|
|
945
|
+
* A flexible box component for use as a flex item within le-stack.
|
|
946
|
+
* `le-box` wraps content and provides flex item properties like grow, shrink,
|
|
947
|
+
* basis, and self-alignment. It can also control its internal content alignment.
|
|
948
|
+
* @cssprop --le-box-bg - Background color
|
|
949
|
+
* @cssprop --le-box-padding - Padding inside the box
|
|
950
|
+
* @cssprop --le-box-border-radius - Border radius
|
|
951
|
+
* @csspart box - The main box container
|
|
952
|
+
* @csspart content - The inner content wrapper
|
|
953
|
+
* @cmsEditable true
|
|
954
|
+
* @cmsCategory Layout
|
|
955
|
+
*/
|
|
956
|
+
interface LeBox {
|
|
957
|
+
/**
|
|
958
|
+
* Internal horizontal alignment of content
|
|
959
|
+
* @allowedValues start | center | end | stretch
|
|
960
|
+
* @default 'stretch'
|
|
961
|
+
*/
|
|
962
|
+
"alignContent"?: 'start' | 'center' | 'end' | 'stretch';
|
|
963
|
+
/**
|
|
964
|
+
* Self-alignment override for this item on the cross axis
|
|
965
|
+
* @allowedValues auto | start | center | end | stretch | baseline
|
|
966
|
+
* @default 'auto'
|
|
967
|
+
*/
|
|
968
|
+
"alignSelf"?: 'auto' | 'start' | 'center' | 'end' | 'stretch' | 'baseline';
|
|
969
|
+
/**
|
|
970
|
+
* Background color or CSS value (e.g., '#f0f0f0', 'var(--le-color-primary-light)')
|
|
971
|
+
*/
|
|
972
|
+
"background"?: string;
|
|
973
|
+
/**
|
|
974
|
+
* Flex basis - initial size before growing/shrinking (e.g., '200px', '25%', 'auto')
|
|
975
|
+
* @default 'auto'
|
|
976
|
+
*/
|
|
977
|
+
"basis"?: string;
|
|
978
|
+
/**
|
|
979
|
+
* Border style (e.g., '1px solid #ccc', '2px dashed var(--le-color-border)')
|
|
980
|
+
*/
|
|
981
|
+
"border"?: string;
|
|
982
|
+
/**
|
|
983
|
+
* Border radius (e.g., '8px', 'var(--le-radius-md)')
|
|
984
|
+
*/
|
|
985
|
+
"borderRadius"?: string;
|
|
986
|
+
/**
|
|
987
|
+
* Whether to display box content as flex (for internal alignment)
|
|
988
|
+
* @default false
|
|
989
|
+
*/
|
|
990
|
+
"displayFlex"?: boolean;
|
|
991
|
+
/**
|
|
992
|
+
* Flex grow factor - how much the item should grow relative to siblings
|
|
993
|
+
* @min 0
|
|
994
|
+
* @default 0
|
|
995
|
+
*/
|
|
996
|
+
"grow"?: number;
|
|
997
|
+
/**
|
|
998
|
+
* Height of the box (CSS value)
|
|
999
|
+
*/
|
|
1000
|
+
"height"?: string;
|
|
1001
|
+
/**
|
|
1002
|
+
* Direction of internal flex layout when displayFlex is true
|
|
1003
|
+
* @allowedValues horizontal | vertical
|
|
1004
|
+
* @default 'vertical'
|
|
1005
|
+
*/
|
|
1006
|
+
"innerDirection"?: 'horizontal' | 'vertical';
|
|
1007
|
+
/**
|
|
1008
|
+
* Gap between internal flex items when displayFlex is true
|
|
1009
|
+
*/
|
|
1010
|
+
"innerGap"?: string;
|
|
1011
|
+
/**
|
|
1012
|
+
* Internal vertical alignment of content
|
|
1013
|
+
* @allowedValues start | center | end | stretch
|
|
1014
|
+
* @default 'start'
|
|
1015
|
+
*/
|
|
1016
|
+
"justifyContent"?: 'start' | 'center' | 'end' | 'stretch';
|
|
1017
|
+
/**
|
|
1018
|
+
* Maximum height constraint
|
|
1019
|
+
*/
|
|
1020
|
+
"maxHeight"?: string;
|
|
1021
|
+
/**
|
|
1022
|
+
* Maximum width constraint
|
|
1023
|
+
*/
|
|
1024
|
+
"maxWidth"?: string;
|
|
1025
|
+
/**
|
|
1026
|
+
* Minimum height constraint
|
|
1027
|
+
*/
|
|
1028
|
+
"minHeight"?: string;
|
|
1029
|
+
/**
|
|
1030
|
+
* Minimum width constraint
|
|
1031
|
+
*/
|
|
1032
|
+
"minWidth"?: string;
|
|
1033
|
+
/**
|
|
1034
|
+
* Order in the flex container (lower values come first)
|
|
1035
|
+
*/
|
|
1036
|
+
"order"?: number;
|
|
1037
|
+
/**
|
|
1038
|
+
* Padding inside the box (CSS value like '8px', '1rem')
|
|
1039
|
+
*/
|
|
1040
|
+
"padding"?: string;
|
|
1041
|
+
/**
|
|
1042
|
+
* Flex shrink factor - how much the item should shrink relative to siblings
|
|
1043
|
+
* @min 0
|
|
1044
|
+
* @default 1
|
|
1045
|
+
*/
|
|
1046
|
+
"shrink"?: number;
|
|
1047
|
+
/**
|
|
1048
|
+
* Width of the box (CSS value like '100px', '50%', 'auto')
|
|
1049
|
+
*/
|
|
1050
|
+
"width"?: string;
|
|
1051
|
+
}
|
|
1052
|
+
/**
|
|
1053
|
+
* A flexible button component with multiple variants and states.
|
|
1054
|
+
* @cssprop --le-button-bg - Button background color
|
|
1055
|
+
* @cssprop --le-button-color - Button text color
|
|
1056
|
+
* @cssprop --le-button-border-radius - Button border radius
|
|
1057
|
+
* @cssprop --le-button-padding-x - Button horizontal padding
|
|
1058
|
+
* @cssprop --le-button-padding-y - Button vertical padding
|
|
1059
|
+
* @csspart button - The native button element
|
|
1060
|
+
* @csspart content - The button content wrapper
|
|
1061
|
+
* @cmsEditable true
|
|
1062
|
+
* @cmsCategory Actions
|
|
1063
|
+
*/
|
|
1064
|
+
interface LeButton {
|
|
1065
|
+
/**
|
|
1066
|
+
* Button color theme (uses theme semantic colors)
|
|
1067
|
+
* @allowedValues primary | secondary | success | warning | danger | info
|
|
1068
|
+
* @default 'primary'
|
|
1069
|
+
*/
|
|
1070
|
+
"color"?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
|
|
1071
|
+
/**
|
|
1072
|
+
* Whether the button is disabled
|
|
1073
|
+
* @default false
|
|
1074
|
+
*/
|
|
1075
|
+
"disabled"?: boolean;
|
|
1076
|
+
/**
|
|
1077
|
+
* Whether the button takes full width of its container
|
|
1078
|
+
* @default false
|
|
1079
|
+
*/
|
|
1080
|
+
"fullWidth"?: boolean;
|
|
1081
|
+
/**
|
|
1082
|
+
* Optional href to make the button act as a link
|
|
1083
|
+
*/
|
|
1084
|
+
"href"?: string;
|
|
1085
|
+
/**
|
|
1086
|
+
* Whether the button displays only an icon (square aspect ratio)
|
|
1087
|
+
* @default false
|
|
1088
|
+
*/
|
|
1089
|
+
"iconOnly"?: boolean;
|
|
1090
|
+
/**
|
|
1091
|
+
* Mode of the popover should be 'default' for internal use
|
|
1092
|
+
*/
|
|
1093
|
+
"mode"?: 'default' | 'admin';
|
|
1094
|
+
/**
|
|
1095
|
+
* Emitted when the button is clicked. This is a custom event that wraps the native click but ensures the target is the le-button.
|
|
1096
|
+
*/
|
|
1097
|
+
"onClick"?: (event: LeButtonCustomEvent<PointerEvent>) => void;
|
|
1098
|
+
/**
|
|
1099
|
+
* Whether the button is in a selected/active state
|
|
1100
|
+
* @default false
|
|
1101
|
+
*/
|
|
1102
|
+
"selected"?: boolean;
|
|
1103
|
+
/**
|
|
1104
|
+
* Button size
|
|
1105
|
+
* @allowedValues small | medium | large
|
|
1106
|
+
* @default 'medium'
|
|
1107
|
+
*/
|
|
1108
|
+
"size"?: 'small' | 'medium' | 'large';
|
|
1109
|
+
/**
|
|
1110
|
+
* Link target when href is set
|
|
1111
|
+
*/
|
|
1112
|
+
"target"?: string;
|
|
1113
|
+
/**
|
|
1114
|
+
* The button type attribute
|
|
1115
|
+
* @allowedValues button | submit | reset
|
|
1116
|
+
* @default 'button'
|
|
1117
|
+
*/
|
|
1118
|
+
"type"?: 'button' | 'submit' | 'reset';
|
|
1119
|
+
/**
|
|
1120
|
+
* Button variant style
|
|
1121
|
+
* @allowedValues solid | outlined | clear
|
|
1122
|
+
* @default 'solid'
|
|
1123
|
+
*/
|
|
1124
|
+
"variant"?: 'solid' | 'outlined' | 'clear' | 'system';
|
|
1125
|
+
}
|
|
1126
|
+
/**
|
|
1127
|
+
* A flexible card component with header, content, and footer slots.
|
|
1128
|
+
* The card uses le-slot wrappers for each slot area. In admin mode,
|
|
1129
|
+
* le-slot shows placeholders for CMS editing. In default mode,
|
|
1130
|
+
* le-slot acts as a transparent passthrough.
|
|
1131
|
+
* @cssprop --le-card-bg - Card background color
|
|
1132
|
+
* @cssprop --le-card-border-radius - Card border radius
|
|
1133
|
+
* @cssprop --le-card-shadow - Card box shadow
|
|
1134
|
+
* @cssprop --le-card-padding - Card content padding
|
|
1135
|
+
* @csspart card - The main card container
|
|
1136
|
+
* @csspart header - The card header section
|
|
1137
|
+
* @csspart content - The card content section
|
|
1138
|
+
* @csspart footer - The card footer section
|
|
1139
|
+
* @cmsEditable true
|
|
1140
|
+
* @cmsCategory Layout
|
|
1141
|
+
*/
|
|
1142
|
+
interface LeCard {
|
|
1143
|
+
/**
|
|
1144
|
+
* Whether the card is interactive (clickable)
|
|
1145
|
+
* @default false
|
|
1146
|
+
*/
|
|
1147
|
+
"interactive"?: boolean;
|
|
1148
|
+
/**
|
|
1149
|
+
* Card variant style
|
|
1150
|
+
* @allowedValues default | outlined | elevated
|
|
1151
|
+
* @default 'default'
|
|
1152
|
+
*/
|
|
1153
|
+
"variant"?: 'default' | 'outlined' | 'elevated';
|
|
1154
|
+
}
|
|
1155
|
+
/**
|
|
1156
|
+
* A checkbox component with support for labels, descriptions, and external IDs.
|
|
1157
|
+
* @cssprop --le-checkbox-size - Size of the checkbox input
|
|
1158
|
+
* @cssprop --le-checkbox-color - Color of the checkbox when checked
|
|
1159
|
+
* @cssprop --le-checkbox-label-color - Color of the label text
|
|
1160
|
+
* @cssprop --le-checkbox-desc-color - Color of the description text
|
|
1161
|
+
*/
|
|
1162
|
+
interface LeCheckbox {
|
|
1163
|
+
/**
|
|
1164
|
+
* Whether the checkbox is checked
|
|
1165
|
+
* @default false
|
|
1166
|
+
*/
|
|
1167
|
+
"checked"?: boolean;
|
|
1168
|
+
/**
|
|
1169
|
+
* Whether the checkbox is disabled
|
|
1170
|
+
* @default false
|
|
1171
|
+
*/
|
|
1172
|
+
"disabled"?: boolean;
|
|
1173
|
+
/**
|
|
1174
|
+
* External ID for linking with external systems (e.g. database ID, PDF form field ID)
|
|
1175
|
+
*/
|
|
1176
|
+
"externalId"?: string;
|
|
1177
|
+
/**
|
|
1178
|
+
* The name of the checkbox input
|
|
1179
|
+
*/
|
|
1180
|
+
"name"?: string;
|
|
1181
|
+
/**
|
|
1182
|
+
* Emitted when the checked state changes
|
|
1183
|
+
*/
|
|
1184
|
+
"onChange"?: (event: LeCheckboxCustomEvent<{ checked: boolean; value: string; name: string; externalId: string }>) => void;
|
|
1185
|
+
/**
|
|
1186
|
+
* The value of the checkbox input
|
|
1187
|
+
*/
|
|
1188
|
+
"value"?: string;
|
|
1189
|
+
}
|
|
1190
|
+
/**
|
|
1191
|
+
* A number input component with validation, keyboard controls, and custom spinners.
|
|
1192
|
+
* @cssprop --le-input-bg - Input background color
|
|
1193
|
+
* @cssprop --le-input-color - Input text color
|
|
1194
|
+
* @cssprop --le-input-border - Input border style
|
|
1195
|
+
* @cssprop --le-input-border-focus - Input border style when focused
|
|
1196
|
+
* @cssprop --le-input-border-error - Input border style when invalid
|
|
1197
|
+
* @cssprop --le-input-radius - Input border radius
|
|
1198
|
+
* @cssprop --le-input-padding - Input padding
|
|
1199
|
+
*/
|
|
1200
|
+
interface LeNumberInput {
|
|
1201
|
+
/**
|
|
1202
|
+
* Whether the input is disabled
|
|
1203
|
+
* @default false
|
|
1204
|
+
*/
|
|
1205
|
+
"disabled"?: boolean;
|
|
1206
|
+
/**
|
|
1207
|
+
* External ID for linking with external systems
|
|
1208
|
+
*/
|
|
1209
|
+
"externalId"?: string;
|
|
1210
|
+
/**
|
|
1211
|
+
* Icon for the start icon
|
|
1212
|
+
*/
|
|
1213
|
+
"iconStart"?: string;
|
|
1214
|
+
/**
|
|
1215
|
+
* Label for the input
|
|
1216
|
+
*/
|
|
1217
|
+
"label"?: string;
|
|
1218
|
+
/**
|
|
1219
|
+
* Maximum allowed value
|
|
1220
|
+
*/
|
|
1221
|
+
"max"?: number;
|
|
1222
|
+
/**
|
|
1223
|
+
* Minimum allowed value
|
|
1224
|
+
*/
|
|
1225
|
+
"min"?: number;
|
|
1226
|
+
/**
|
|
1227
|
+
* The name of the input
|
|
1228
|
+
*/
|
|
1229
|
+
"name"?: string;
|
|
1230
|
+
/**
|
|
1231
|
+
* Emitted when the value changes (on blur or Enter)
|
|
1232
|
+
*/
|
|
1233
|
+
"onLeChange"?: (event: LeNumberInputCustomEvent<{ value: number; name: string; externalId: string; isValid: boolean }>) => void;
|
|
1234
|
+
/**
|
|
1235
|
+
* Emitted when the input value changes (on keystroke/spin)
|
|
1236
|
+
*/
|
|
1237
|
+
"onLeInput"?: (event: LeNumberInputCustomEvent<{ value: number; name: string; externalId: string; isValid: boolean }>) => void;
|
|
1238
|
+
/**
|
|
1239
|
+
* Placeholder text
|
|
1240
|
+
*/
|
|
1241
|
+
"placeholder"?: string;
|
|
1242
|
+
/**
|
|
1243
|
+
* Whether the input is read-only
|
|
1244
|
+
* @default false
|
|
1245
|
+
*/
|
|
1246
|
+
"readonly"?: boolean;
|
|
1247
|
+
/**
|
|
1248
|
+
* Whether the input is required
|
|
1249
|
+
* @default false
|
|
1250
|
+
*/
|
|
1251
|
+
"required"?: boolean;
|
|
1252
|
+
/**
|
|
1253
|
+
* Whether to show the spinner controls
|
|
1254
|
+
* @default true
|
|
1255
|
+
*/
|
|
1256
|
+
"showSpinners"?: boolean;
|
|
1257
|
+
/**
|
|
1258
|
+
* Step value for increment/decrement
|
|
1259
|
+
* @default 1
|
|
1260
|
+
*/
|
|
1261
|
+
"step"?: number;
|
|
1262
|
+
/**
|
|
1263
|
+
* The value of the input
|
|
1264
|
+
*/
|
|
1265
|
+
"value"?: number;
|
|
1266
|
+
}
|
|
1267
|
+
/**
|
|
1268
|
+
* A popover component for displaying floating content.
|
|
1269
|
+
* Uses the native HTML Popover API for proper layering with dialogs
|
|
1270
|
+
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
1271
|
+
* @cmsInternal true
|
|
1272
|
+
* @cmsCategory System
|
|
1273
|
+
*/
|
|
1274
|
+
interface LePopover {
|
|
1275
|
+
/**
|
|
1276
|
+
* Alignment of the popover
|
|
1277
|
+
* @default 'start'
|
|
1278
|
+
*/
|
|
1279
|
+
"align"?: 'start' | 'center' | 'end';
|
|
1280
|
+
/**
|
|
1281
|
+
* Whether clicking outside closes the popover
|
|
1282
|
+
* @default true
|
|
1283
|
+
*/
|
|
1284
|
+
"closeOnClickOutside"?: boolean;
|
|
1285
|
+
/**
|
|
1286
|
+
* Whether pressing Escape closes the popover
|
|
1287
|
+
* @default true
|
|
1288
|
+
*/
|
|
1289
|
+
"closeOnEscape"?: boolean;
|
|
1290
|
+
/**
|
|
1291
|
+
* Maximum width for the popover (e.g., '400px', '25rem')
|
|
1292
|
+
*/
|
|
1293
|
+
"maxWidth"?: string;
|
|
1294
|
+
/**
|
|
1295
|
+
* Minimum width for the popover (e.g., '200px', '15rem')
|
|
1296
|
+
* @default '200px'
|
|
1297
|
+
*/
|
|
1298
|
+
"minWidth"?: string;
|
|
1299
|
+
/**
|
|
1300
|
+
* Mode of the popover should be 'default' for internal use
|
|
1301
|
+
*/
|
|
1302
|
+
"mode"?: 'default' | 'admin';
|
|
1303
|
+
/**
|
|
1304
|
+
* Offset from the trigger element (in pixels)
|
|
1305
|
+
* @default 8
|
|
1306
|
+
*/
|
|
1307
|
+
"offset"?: number;
|
|
1308
|
+
/**
|
|
1309
|
+
* Emitted when the popover closes
|
|
1310
|
+
*/
|
|
1311
|
+
"onLePopoverClose"?: (event: LePopoverCustomEvent<void>) => void;
|
|
1312
|
+
/**
|
|
1313
|
+
* Emitted when the popover opens
|
|
1314
|
+
*/
|
|
1315
|
+
"onLePopoverOpen"?: (event: LePopoverCustomEvent<void>) => void;
|
|
1316
|
+
/**
|
|
1317
|
+
* Whether the popover is currently open
|
|
1318
|
+
* @default false
|
|
1319
|
+
*/
|
|
1320
|
+
"open"?: boolean;
|
|
1321
|
+
/**
|
|
1322
|
+
* Optional title for the popover header
|
|
1323
|
+
*/
|
|
1324
|
+
"popoverTitle"?: string;
|
|
1325
|
+
/**
|
|
1326
|
+
* Position of the popover relative to its trigger
|
|
1327
|
+
* @default 'bottom'
|
|
1328
|
+
*/
|
|
1329
|
+
"position"?: 'top' | 'bottom' | 'left' | 'right' | 'auto';
|
|
1330
|
+
/**
|
|
1331
|
+
* Whether to show a close button in the header
|
|
1332
|
+
* @default true
|
|
1333
|
+
*/
|
|
1334
|
+
"showClose"?: boolean;
|
|
1335
|
+
/**
|
|
1336
|
+
* Fixed width for the popover (e.g., '300px', '20rem')
|
|
1337
|
+
*/
|
|
1338
|
+
"width"?: string;
|
|
1339
|
+
}
|
|
1340
|
+
/**
|
|
1341
|
+
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
1342
|
+
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
1343
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
1344
|
+
* via leAlert(), leConfirm(), lePrompt().
|
|
1345
|
+
* @cmsInternal true
|
|
1346
|
+
* @cmsCategory System
|
|
1347
|
+
*/
|
|
1348
|
+
interface LePopup {
|
|
1349
|
+
/**
|
|
1350
|
+
* Text for the cancel button
|
|
1351
|
+
* @default 'Cancel'
|
|
1352
|
+
*/
|
|
1353
|
+
"cancelText"?: string;
|
|
1354
|
+
/**
|
|
1355
|
+
* Whether clicking the backdrop closes the popup (modal only)
|
|
1356
|
+
* @default true
|
|
1357
|
+
*/
|
|
1358
|
+
"closeOnBackdrop"?: boolean;
|
|
1359
|
+
/**
|
|
1360
|
+
* Text for the confirm/OK button
|
|
1361
|
+
* @default 'OK'
|
|
1362
|
+
*/
|
|
1363
|
+
"confirmText"?: string;
|
|
1364
|
+
/**
|
|
1365
|
+
* Default value for prompt input
|
|
1366
|
+
* @default ''
|
|
1367
|
+
*/
|
|
1368
|
+
"defaultValue"?: string;
|
|
1369
|
+
/**
|
|
1370
|
+
* Message text to display (for alert/confirm/prompt types)
|
|
1371
|
+
*/
|
|
1372
|
+
"message"?: string;
|
|
1373
|
+
/**
|
|
1374
|
+
* Whether the popup is modal (blocks interaction with page behind)
|
|
1375
|
+
* @default true
|
|
1376
|
+
*/
|
|
1377
|
+
"modal"?: boolean;
|
|
1378
|
+
/**
|
|
1379
|
+
* Emitted when the popup is cancelled (Cancel clicked or dismissed)
|
|
1380
|
+
*/
|
|
1381
|
+
"onLeCancel"?: (event: LePopupCustomEvent<PopupResult>) => void;
|
|
1382
|
+
/**
|
|
1383
|
+
* Emitted when the popup closes
|
|
1384
|
+
*/
|
|
1385
|
+
"onLeClose"?: (event: LePopupCustomEvent<PopupResult>) => void;
|
|
1386
|
+
/**
|
|
1387
|
+
* Emitted when the popup is confirmed (OK clicked)
|
|
1388
|
+
*/
|
|
1389
|
+
"onLeConfirm"?: (event: LePopupCustomEvent<PopupResult>) => void;
|
|
1390
|
+
/**
|
|
1391
|
+
* Emitted when the popup opens
|
|
1392
|
+
*/
|
|
1393
|
+
"onLeOpen"?: (event: LePopupCustomEvent<void>) => void;
|
|
1394
|
+
/**
|
|
1395
|
+
* Whether the popup is currently visible
|
|
1396
|
+
* @default false
|
|
1397
|
+
*/
|
|
1398
|
+
"open"?: boolean;
|
|
1399
|
+
/**
|
|
1400
|
+
* Placeholder text for prompt input
|
|
1401
|
+
* @default ''
|
|
1402
|
+
*/
|
|
1403
|
+
"placeholder"?: string;
|
|
1404
|
+
/**
|
|
1405
|
+
* Optional title for the popup header
|
|
1406
|
+
*/
|
|
1407
|
+
"popupTitle"?: string;
|
|
1408
|
+
/**
|
|
1409
|
+
* Position of the popup on screen
|
|
1410
|
+
* @default 'center'
|
|
1411
|
+
*/
|
|
1412
|
+
"position"?: PopupPosition;
|
|
1413
|
+
/**
|
|
1414
|
+
* Type of popup: alert (OK only), confirm (OK/Cancel), prompt (input + OK/Cancel), custom
|
|
1415
|
+
* @default 'alert'
|
|
1416
|
+
*/
|
|
1417
|
+
"type"?: PopupType;
|
|
1418
|
+
}
|
|
1419
|
+
interface LeRoundProgress {
|
|
1420
|
+
/**
|
|
1421
|
+
* @default 0
|
|
1422
|
+
*/
|
|
1423
|
+
"padding"?: number;
|
|
1424
|
+
"paths"?: string;
|
|
1425
|
+
/**
|
|
1426
|
+
* @default 0
|
|
1427
|
+
*/
|
|
1428
|
+
"value"?: number;
|
|
1429
|
+
}
|
|
1430
|
+
/**
|
|
1431
|
+
* A flexible stack layout component using CSS flexbox.
|
|
1432
|
+
* `le-stack` arranges its children in a row (horizontal) or column (vertical)
|
|
1433
|
+
* with configurable spacing, alignment, and wrapping behavior. Perfect for
|
|
1434
|
+
* creating responsive layouts.
|
|
1435
|
+
* @cssprop --le-stack-gap - Gap between items (defaults to var(--le-space-md))
|
|
1436
|
+
* @csspart stack - The main stack container
|
|
1437
|
+
* @cmsEditable true
|
|
1438
|
+
* @cmsCategory Layout
|
|
1439
|
+
*/
|
|
1440
|
+
interface LeStack {
|
|
1441
|
+
/**
|
|
1442
|
+
* Alignment of items on the cross axis
|
|
1443
|
+
* @allowedValues start | center | end | stretch | baseline
|
|
1444
|
+
* @default 'stretch'
|
|
1445
|
+
*/
|
|
1446
|
+
"align"?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';
|
|
1447
|
+
/**
|
|
1448
|
+
* Alignment of wrapped lines (only applies when wrap is true)
|
|
1449
|
+
* @allowedValues start | center | end | stretch | space-between | space-around
|
|
1450
|
+
* @default 'stretch'
|
|
1451
|
+
*/
|
|
1452
|
+
"alignContent"?: 'start' | 'center' | 'end' | 'stretch' | 'space-between' | 'space-around';
|
|
1453
|
+
/**
|
|
1454
|
+
* Direction of the stack layout
|
|
1455
|
+
* @allowedValues horizontal | vertical
|
|
1456
|
+
* @default 'horizontal'
|
|
1457
|
+
*/
|
|
1458
|
+
"direction"?: 'horizontal' | 'vertical';
|
|
1459
|
+
/**
|
|
1460
|
+
* Whether the stack should take full height of its container
|
|
1461
|
+
* @default false
|
|
1462
|
+
*/
|
|
1463
|
+
"fullHeight"?: boolean;
|
|
1464
|
+
/**
|
|
1465
|
+
* Whether the stack should take full width of its container
|
|
1466
|
+
* @default false
|
|
1467
|
+
*/
|
|
1468
|
+
"fullWidth"?: boolean;
|
|
1469
|
+
/**
|
|
1470
|
+
* Gap between items (CSS value like '8px', '1rem', 'var(--le-space-md)')
|
|
1471
|
+
*/
|
|
1472
|
+
"gap"?: string;
|
|
1473
|
+
/**
|
|
1474
|
+
* Distribution of items on the main axis
|
|
1475
|
+
* @allowedValues start | center | end | space-between | space-around | space-evenly
|
|
1476
|
+
* @default 'start'
|
|
1477
|
+
*/
|
|
1478
|
+
"justify"?: 'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly';
|
|
1479
|
+
/**
|
|
1480
|
+
* Maximum number of items allowed in the stack (for CMS validation)
|
|
1481
|
+
* @min 1
|
|
1482
|
+
*/
|
|
1483
|
+
"maxItems"?: number;
|
|
1484
|
+
/**
|
|
1485
|
+
* Padding inside the stack container (CSS value)
|
|
1486
|
+
*/
|
|
1487
|
+
"padding"?: string;
|
|
1488
|
+
/**
|
|
1489
|
+
* Whether to reverse the order of items
|
|
1490
|
+
* @default false
|
|
1491
|
+
*/
|
|
1492
|
+
"reverse"?: boolean;
|
|
1493
|
+
/**
|
|
1494
|
+
* Whether items should wrap to multiple lines
|
|
1495
|
+
* @default false
|
|
1496
|
+
*/
|
|
1497
|
+
"wrap"?: boolean;
|
|
1498
|
+
}
|
|
1499
|
+
/**
|
|
1500
|
+
* A text input component with support for labels, descriptions, icons, and external IDs.
|
|
1501
|
+
* @cssprop --le-input-bg - Input background color
|
|
1502
|
+
* @cssprop --le-input-color - Input text color
|
|
1503
|
+
* @cssprop --le-input-border - Input border style
|
|
1504
|
+
* @cssprop --le-input-border-focus - Input border style when focused
|
|
1505
|
+
* @cssprop --le-input-radius - Input border radius
|
|
1506
|
+
* @cssprop --le-input-padding - Input padding
|
|
1507
|
+
*/
|
|
1508
|
+
interface LeStringInput {
|
|
1509
|
+
/**
|
|
1510
|
+
* Whether the input is disabled
|
|
1511
|
+
* @default false
|
|
1512
|
+
*/
|
|
1513
|
+
"disabled"?: boolean;
|
|
1514
|
+
/**
|
|
1515
|
+
* External ID for linking with external systems
|
|
1516
|
+
*/
|
|
1517
|
+
"externalId"?: string;
|
|
1518
|
+
/**
|
|
1519
|
+
* Icon for the end icon
|
|
1520
|
+
*/
|
|
1521
|
+
"iconEnd"?: string;
|
|
1522
|
+
/**
|
|
1523
|
+
* Icon for the start icon
|
|
1524
|
+
*/
|
|
1525
|
+
"iconStart"?: string;
|
|
1526
|
+
/**
|
|
1527
|
+
* Label for the input
|
|
1528
|
+
*/
|
|
1529
|
+
"label"?: string;
|
|
1530
|
+
/**
|
|
1531
|
+
* Mode of the popover should be 'default' for internal use
|
|
1532
|
+
*/
|
|
1533
|
+
"mode"?: 'default' | 'admin';
|
|
1534
|
+
/**
|
|
1535
|
+
* The name of the input
|
|
1536
|
+
*/
|
|
1537
|
+
"name"?: string;
|
|
1538
|
+
/**
|
|
1539
|
+
* Emitted when the value changes (on blur or Enter)
|
|
1540
|
+
*/
|
|
1541
|
+
"onChange"?: (event: LeStringInputCustomEvent<{ value: string; name: string; externalId: string }>) => void;
|
|
1542
|
+
/**
|
|
1543
|
+
* Emitted when the input value changes (on keystroke)
|
|
1544
|
+
*/
|
|
1545
|
+
"onInput"?: (event: LeStringInputCustomEvent<{ value: string; name: string; externalId: string }>) => void;
|
|
1546
|
+
/**
|
|
1547
|
+
* Placeholder text
|
|
1548
|
+
*/
|
|
1549
|
+
"placeholder"?: string;
|
|
1550
|
+
/**
|
|
1551
|
+
* Whether the input is read-only
|
|
1552
|
+
* @default false
|
|
1553
|
+
*/
|
|
1554
|
+
"readonly"?: boolean;
|
|
1555
|
+
/**
|
|
1556
|
+
* The type of the input (text, email, password, etc.)
|
|
1557
|
+
* @default 'text'
|
|
1558
|
+
*/
|
|
1559
|
+
"type"?: 'text' | 'email' | 'password' | 'tel' | 'url';
|
|
1560
|
+
/**
|
|
1561
|
+
* The value of the input
|
|
1562
|
+
*/
|
|
1563
|
+
"value"?: string;
|
|
1564
|
+
}
|
|
1565
|
+
/**
|
|
1566
|
+
* A text component with rich text editing capabilities in admin mode.
|
|
1567
|
+
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
1568
|
+
* and provides a Notion-like rich text editor in admin mode with formatting
|
|
1569
|
+
* toolbar for bold, italic, links, and paragraph type selection.
|
|
1570
|
+
* @cssprop --le-text-color - Text color
|
|
1571
|
+
* @cssprop --le-text-font-size - Font size
|
|
1572
|
+
* @cssprop --le-text-line-height - Line height
|
|
1573
|
+
* @cssprop --le-text-font-weight - Font weight
|
|
1574
|
+
* @csspart text - The text container element
|
|
1575
|
+
* @cmsEditable true
|
|
1576
|
+
* @cmsCategory Content
|
|
1577
|
+
*/
|
|
1578
|
+
interface LeText {
|
|
1579
|
+
/**
|
|
1580
|
+
* Text alignment
|
|
1581
|
+
* @allowedValues left | center | right | justify
|
|
1582
|
+
* @default 'left'
|
|
1583
|
+
*/
|
|
1584
|
+
"align"?: 'left' | 'center' | 'right' | 'justify';
|
|
1585
|
+
/**
|
|
1586
|
+
* Text color (CSS value or theme token)
|
|
1587
|
+
*/
|
|
1588
|
+
"color"?: string;
|
|
1589
|
+
/**
|
|
1590
|
+
* Maximum number of lines before truncating (requires truncate=true)
|
|
1591
|
+
*/
|
|
1592
|
+
"maxLines"?: number;
|
|
1593
|
+
/**
|
|
1594
|
+
* Whether the text should truncate with ellipsis
|
|
1595
|
+
* @default false
|
|
1596
|
+
*/
|
|
1597
|
+
"truncate"?: boolean;
|
|
1598
|
+
/**
|
|
1599
|
+
* The semantic variant/type of text element
|
|
1600
|
+
* @allowedValues p | h1 | h2 | h3 | h4 | h5 | h6 | code | quote | label | small
|
|
1601
|
+
* @default 'p'
|
|
1602
|
+
*/
|
|
1603
|
+
"variant"?: 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'code' | 'quote' | 'label' | 'small';
|
|
1604
|
+
}
|
|
1605
|
+
interface LeTurntable {
|
|
1606
|
+
/**
|
|
1607
|
+
* @default 'center'
|
|
1608
|
+
*/
|
|
1609
|
+
"center"?: string;
|
|
1610
|
+
/**
|
|
1611
|
+
* @default 0
|
|
1612
|
+
*/
|
|
1613
|
+
"value"?: number;
|
|
1614
|
+
}
|
|
1615
|
+
interface IntrinsicElements {
|
|
1616
|
+
"le-box": LeBox;
|
|
1617
|
+
"le-button": LeButton;
|
|
1618
|
+
"le-card": LeCard;
|
|
1619
|
+
"le-checkbox": LeCheckbox;
|
|
1620
|
+
"le-number-input": LeNumberInput;
|
|
1621
|
+
"le-popover": LePopover;
|
|
1622
|
+
"le-popup": LePopup;
|
|
1623
|
+
"le-round-progress": LeRoundProgress;
|
|
1624
|
+
"le-stack": LeStack;
|
|
1625
|
+
"le-string-input": LeStringInput;
|
|
1626
|
+
"le-text": LeText;
|
|
1627
|
+
"le-turntable": LeTurntable;
|
|
1628
|
+
}
|
|
1629
|
+
}
|
|
1630
|
+
export { LocalJSX as JSX };
|
|
1631
|
+
declare module "@stencil/core" {
|
|
1632
|
+
export namespace JSX {
|
|
1633
|
+
interface IntrinsicElements {
|
|
1634
|
+
/**
|
|
1635
|
+
* A flexible box component for use as a flex item within le-stack.
|
|
1636
|
+
* `le-box` wraps content and provides flex item properties like grow, shrink,
|
|
1637
|
+
* basis, and self-alignment. It can also control its internal content alignment.
|
|
1638
|
+
* @cssprop --le-box-bg - Background color
|
|
1639
|
+
* @cssprop --le-box-padding - Padding inside the box
|
|
1640
|
+
* @cssprop --le-box-border-radius - Border radius
|
|
1641
|
+
* @csspart box - The main box container
|
|
1642
|
+
* @csspart content - The inner content wrapper
|
|
1643
|
+
* @cmsEditable true
|
|
1644
|
+
* @cmsCategory Layout
|
|
1645
|
+
*/
|
|
1646
|
+
"le-box": LocalJSX.LeBox & JSXBase.HTMLAttributes<HTMLLeBoxElement>;
|
|
1647
|
+
/**
|
|
1648
|
+
* A flexible button component with multiple variants and states.
|
|
1649
|
+
* @cssprop --le-button-bg - Button background color
|
|
1650
|
+
* @cssprop --le-button-color - Button text color
|
|
1651
|
+
* @cssprop --le-button-border-radius - Button border radius
|
|
1652
|
+
* @cssprop --le-button-padding-x - Button horizontal padding
|
|
1653
|
+
* @cssprop --le-button-padding-y - Button vertical padding
|
|
1654
|
+
* @csspart button - The native button element
|
|
1655
|
+
* @csspart content - The button content wrapper
|
|
1656
|
+
* @cmsEditable true
|
|
1657
|
+
* @cmsCategory Actions
|
|
1658
|
+
*/
|
|
1659
|
+
"le-button": LocalJSX.LeButton & JSXBase.HTMLAttributes<HTMLLeButtonElement>;
|
|
1660
|
+
/**
|
|
1661
|
+
* A flexible card component with header, content, and footer slots.
|
|
1662
|
+
* The card uses le-slot wrappers for each slot area. In admin mode,
|
|
1663
|
+
* le-slot shows placeholders for CMS editing. In default mode,
|
|
1664
|
+
* le-slot acts as a transparent passthrough.
|
|
1665
|
+
* @cssprop --le-card-bg - Card background color
|
|
1666
|
+
* @cssprop --le-card-border-radius - Card border radius
|
|
1667
|
+
* @cssprop --le-card-shadow - Card box shadow
|
|
1668
|
+
* @cssprop --le-card-padding - Card content padding
|
|
1669
|
+
* @csspart card - The main card container
|
|
1670
|
+
* @csspart header - The card header section
|
|
1671
|
+
* @csspart content - The card content section
|
|
1672
|
+
* @csspart footer - The card footer section
|
|
1673
|
+
* @cmsEditable true
|
|
1674
|
+
* @cmsCategory Layout
|
|
1675
|
+
*/
|
|
1676
|
+
"le-card": LocalJSX.LeCard & JSXBase.HTMLAttributes<HTMLLeCardElement>;
|
|
1677
|
+
/**
|
|
1678
|
+
* A checkbox component with support for labels, descriptions, and external IDs.
|
|
1679
|
+
* @cssprop --le-checkbox-size - Size of the checkbox input
|
|
1680
|
+
* @cssprop --le-checkbox-color - Color of the checkbox when checked
|
|
1681
|
+
* @cssprop --le-checkbox-label-color - Color of the label text
|
|
1682
|
+
* @cssprop --le-checkbox-desc-color - Color of the description text
|
|
1683
|
+
*/
|
|
1684
|
+
"le-checkbox": LocalJSX.LeCheckbox & JSXBase.HTMLAttributes<HTMLLeCheckboxElement>;
|
|
1685
|
+
/**
|
|
1686
|
+
* A number input component with validation, keyboard controls, and custom spinners.
|
|
1687
|
+
* @cssprop --le-input-bg - Input background color
|
|
1688
|
+
* @cssprop --le-input-color - Input text color
|
|
1689
|
+
* @cssprop --le-input-border - Input border style
|
|
1690
|
+
* @cssprop --le-input-border-focus - Input border style when focused
|
|
1691
|
+
* @cssprop --le-input-border-error - Input border style when invalid
|
|
1692
|
+
* @cssprop --le-input-radius - Input border radius
|
|
1693
|
+
* @cssprop --le-input-padding - Input padding
|
|
1694
|
+
*/
|
|
1695
|
+
"le-number-input": LocalJSX.LeNumberInput & JSXBase.HTMLAttributes<HTMLLeNumberInputElement>;
|
|
1696
|
+
/**
|
|
1697
|
+
* A popover component for displaying floating content.
|
|
1698
|
+
* Uses the native HTML Popover API for proper layering with dialogs
|
|
1699
|
+
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
1700
|
+
* @cmsInternal true
|
|
1701
|
+
* @cmsCategory System
|
|
1702
|
+
*/
|
|
1703
|
+
"le-popover": LocalJSX.LePopover & JSXBase.HTMLAttributes<HTMLLePopoverElement>;
|
|
1704
|
+
/**
|
|
1705
|
+
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
1706
|
+
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
1707
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
1708
|
+
* via leAlert(), leConfirm(), lePrompt().
|
|
1709
|
+
* @cmsInternal true
|
|
1710
|
+
* @cmsCategory System
|
|
1711
|
+
*/
|
|
1712
|
+
"le-popup": LocalJSX.LePopup & JSXBase.HTMLAttributes<HTMLLePopupElement>;
|
|
1713
|
+
"le-round-progress": LocalJSX.LeRoundProgress & JSXBase.HTMLAttributes<HTMLLeRoundProgressElement>;
|
|
1714
|
+
/**
|
|
1715
|
+
* A flexible stack layout component using CSS flexbox.
|
|
1716
|
+
* `le-stack` arranges its children in a row (horizontal) or column (vertical)
|
|
1717
|
+
* with configurable spacing, alignment, and wrapping behavior. Perfect for
|
|
1718
|
+
* creating responsive layouts.
|
|
1719
|
+
* @cssprop --le-stack-gap - Gap between items (defaults to var(--le-space-md))
|
|
1720
|
+
* @csspart stack - The main stack container
|
|
1721
|
+
* @cmsEditable true
|
|
1722
|
+
* @cmsCategory Layout
|
|
1723
|
+
*/
|
|
1724
|
+
"le-stack": LocalJSX.LeStack & JSXBase.HTMLAttributes<HTMLLeStackElement>;
|
|
1725
|
+
/**
|
|
1726
|
+
* A text input component with support for labels, descriptions, icons, and external IDs.
|
|
1727
|
+
* @cssprop --le-input-bg - Input background color
|
|
1728
|
+
* @cssprop --le-input-color - Input text color
|
|
1729
|
+
* @cssprop --le-input-border - Input border style
|
|
1730
|
+
* @cssprop --le-input-border-focus - Input border style when focused
|
|
1731
|
+
* @cssprop --le-input-radius - Input border radius
|
|
1732
|
+
* @cssprop --le-input-padding - Input padding
|
|
1733
|
+
*/
|
|
1734
|
+
"le-string-input": LocalJSX.LeStringInput & JSXBase.HTMLAttributes<HTMLLeStringInputElement>;
|
|
1735
|
+
/**
|
|
1736
|
+
* A text component with rich text editing capabilities in admin mode.
|
|
1737
|
+
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
1738
|
+
* and provides a Notion-like rich text editor in admin mode with formatting
|
|
1739
|
+
* toolbar for bold, italic, links, and paragraph type selection.
|
|
1740
|
+
* @cssprop --le-text-color - Text color
|
|
1741
|
+
* @cssprop --le-text-font-size - Font size
|
|
1742
|
+
* @cssprop --le-text-line-height - Line height
|
|
1743
|
+
* @cssprop --le-text-font-weight - Font weight
|
|
1744
|
+
* @csspart text - The text container element
|
|
1745
|
+
* @cmsEditable true
|
|
1746
|
+
* @cmsCategory Content
|
|
1747
|
+
*/
|
|
1748
|
+
"le-text": LocalJSX.LeText & JSXBase.HTMLAttributes<HTMLLeTextElement>;
|
|
1749
|
+
"le-turntable": LocalJSX.LeTurntable & JSXBase.HTMLAttributes<HTMLLeTurntableElement>;
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
}
|