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,109 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
/**
|
|
3
|
+
* A popover component for displaying floating content.
|
|
4
|
+
*
|
|
5
|
+
* Uses the native HTML Popover API for proper layering with dialogs
|
|
6
|
+
* and other top-layer elements. Falls back gracefully in older browsers.
|
|
7
|
+
*
|
|
8
|
+
* @slot - Content to display inside the popover
|
|
9
|
+
* @slot trigger - Element that triggers the popover (optional)
|
|
10
|
+
*
|
|
11
|
+
* @cmsInternal true
|
|
12
|
+
* @cmsCategory System
|
|
13
|
+
*/
|
|
14
|
+
export declare class LePopover {
|
|
15
|
+
el: HTMLElement;
|
|
16
|
+
/**
|
|
17
|
+
* Mode of the popover should be 'default' for internal use
|
|
18
|
+
*/
|
|
19
|
+
mode: 'default' | 'admin';
|
|
20
|
+
/**
|
|
21
|
+
* Whether the popover is currently open
|
|
22
|
+
*/
|
|
23
|
+
open: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Position of the popover relative to its trigger
|
|
26
|
+
*/
|
|
27
|
+
position: 'top' | 'bottom' | 'left' | 'right' | 'auto';
|
|
28
|
+
/**
|
|
29
|
+
* Alignment of the popover
|
|
30
|
+
*/
|
|
31
|
+
align: 'start' | 'center' | 'end';
|
|
32
|
+
/**
|
|
33
|
+
* Optional title for the popover header
|
|
34
|
+
*/
|
|
35
|
+
popoverTitle?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Whether to show a close button in the header
|
|
38
|
+
*/
|
|
39
|
+
showClose: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Whether clicking outside closes the popover
|
|
42
|
+
*/
|
|
43
|
+
closeOnClickOutside: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether pressing Escape closes the popover
|
|
46
|
+
*/
|
|
47
|
+
closeOnEscape: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Offset from the trigger element (in pixels)
|
|
50
|
+
*/
|
|
51
|
+
offset: number;
|
|
52
|
+
/**
|
|
53
|
+
* Fixed width for the popover (e.g., '300px', '20rem')
|
|
54
|
+
*/
|
|
55
|
+
width?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Minimum width for the popover (e.g., '200px', '15rem')
|
|
58
|
+
*/
|
|
59
|
+
minWidth?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Maximum width for the popover (e.g., '400px', '25rem')
|
|
62
|
+
*/
|
|
63
|
+
maxWidth?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Emitted when the popover opens
|
|
66
|
+
*/
|
|
67
|
+
lePopoverOpen: EventEmitter<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Emitted when the popover closes
|
|
70
|
+
*/
|
|
71
|
+
lePopoverClose: EventEmitter<void>;
|
|
72
|
+
private isPositioned;
|
|
73
|
+
private triggerEl?;
|
|
74
|
+
private popoverEl?;
|
|
75
|
+
private uniqueId;
|
|
76
|
+
private scrollParents;
|
|
77
|
+
componentDidLoad(): void;
|
|
78
|
+
disconnectedCallback(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Find all scrollable parent elements
|
|
81
|
+
*/
|
|
82
|
+
private getScrollParents;
|
|
83
|
+
/**
|
|
84
|
+
* Add scroll listeners to all scrollable parents
|
|
85
|
+
*/
|
|
86
|
+
private addScrollListeners;
|
|
87
|
+
/**
|
|
88
|
+
* Remove scroll listeners
|
|
89
|
+
*/
|
|
90
|
+
private removeScrollListeners;
|
|
91
|
+
private handleScroll;
|
|
92
|
+
private handlePopoverToggle;
|
|
93
|
+
private handleOtherPopoverOpen;
|
|
94
|
+
/**
|
|
95
|
+
* Opens the popover
|
|
96
|
+
*/
|
|
97
|
+
show(): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Closes the popover
|
|
100
|
+
*/
|
|
101
|
+
hide(): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Toggles the popover
|
|
104
|
+
*/
|
|
105
|
+
toggle(): Promise<void>;
|
|
106
|
+
private handleTriggerClick;
|
|
107
|
+
private updatePosition;
|
|
108
|
+
render(): any[];
|
|
109
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Programmatic API for le-popup component
|
|
3
|
+
*
|
|
4
|
+
* These functions allow you to show popups without manually creating elements.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* // Alert
|
|
8
|
+
* await leAlert('Something happened!');
|
|
9
|
+
*
|
|
10
|
+
* // Confirm
|
|
11
|
+
* const confirmed = await leConfirm('Are you sure?');
|
|
12
|
+
* if (confirmed) { ... }
|
|
13
|
+
*
|
|
14
|
+
* // Prompt
|
|
15
|
+
* const name = await lePrompt('What is your name?');
|
|
16
|
+
* if (name !== null) { ... }
|
|
17
|
+
*/
|
|
18
|
+
import type { PopupType, PopupPosition } from './le-popup';
|
|
19
|
+
/**
|
|
20
|
+
* Options for programmatic popup functions
|
|
21
|
+
*/
|
|
22
|
+
export interface PopupOptions {
|
|
23
|
+
title?: string;
|
|
24
|
+
type?: PopupType;
|
|
25
|
+
modal?: boolean;
|
|
26
|
+
position?: PopupPosition;
|
|
27
|
+
confirmText?: string;
|
|
28
|
+
cancelText?: string;
|
|
29
|
+
placeholder?: string;
|
|
30
|
+
defaultValue?: string;
|
|
31
|
+
theme?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Show an alert popup with a message
|
|
35
|
+
* @param message - The message to display
|
|
36
|
+
* @param options - Optional configuration
|
|
37
|
+
* @returns Promise that resolves when closed
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* await leAlert('File saved successfully!');
|
|
41
|
+
* await leAlert('Error occurred', { title: 'Error', theme: 'dark' });
|
|
42
|
+
*/
|
|
43
|
+
export declare function leAlert(message: string, options?: PopupOptions): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Show a confirm popup with OK/Cancel buttons
|
|
46
|
+
* @param message - The message to display
|
|
47
|
+
* @param options - Optional configuration
|
|
48
|
+
* @returns Promise that resolves to true (confirmed) or false (cancelled)
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* const confirmed = await leConfirm('Delete this item?');
|
|
52
|
+
* if (confirmed) {
|
|
53
|
+
* deleteItem();
|
|
54
|
+
* }
|
|
55
|
+
*/
|
|
56
|
+
export declare function leConfirm(message: string, options?: PopupOptions): Promise<boolean>;
|
|
57
|
+
/**
|
|
58
|
+
* Show a prompt popup with an input field
|
|
59
|
+
* @param message - The message to display
|
|
60
|
+
* @param options - Optional configuration (including defaultValue, placeholder)
|
|
61
|
+
* @returns Promise that resolves to the input value or null if cancelled
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* const name = await lePrompt('Enter your name:', {
|
|
65
|
+
* title: 'Welcome',
|
|
66
|
+
* placeholder: 'John Doe',
|
|
67
|
+
* defaultValue: 'Guest'
|
|
68
|
+
* });
|
|
69
|
+
* if (name !== null) {
|
|
70
|
+
* greetUser(name);
|
|
71
|
+
* }
|
|
72
|
+
*/
|
|
73
|
+
export declare function lePrompt(message: string, options?: PopupOptions): Promise<string | null>;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
/**
|
|
3
|
+
* Popup type determines the buttons shown
|
|
4
|
+
*/
|
|
5
|
+
export type PopupType = 'alert' | 'confirm' | 'prompt' | 'custom';
|
|
6
|
+
/**
|
|
7
|
+
* Popup position on the screen
|
|
8
|
+
*/
|
|
9
|
+
export type PopupPosition = 'center' | 'top' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
10
|
+
/**
|
|
11
|
+
* Result returned by the popup when closed
|
|
12
|
+
*/
|
|
13
|
+
export interface PopupResult {
|
|
14
|
+
confirmed: boolean;
|
|
15
|
+
value?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A flexible popup/dialog component for alerts, confirms, prompts, and custom content.
|
|
19
|
+
*
|
|
20
|
+
* Uses the native HTML <dialog> element for proper modal behavior, accessibility,
|
|
21
|
+
* and focus management. Can be used declaratively in HTML or programmatically
|
|
22
|
+
* via leAlert(), leConfirm(), lePrompt().
|
|
23
|
+
*
|
|
24
|
+
* @slot - Default slot for custom body content
|
|
25
|
+
* @slot header - Custom header content (replaces title)
|
|
26
|
+
* @slot footer - Custom footer content (replaces default buttons)
|
|
27
|
+
*
|
|
28
|
+
* @cmsInternal true
|
|
29
|
+
* @cmsCategory System
|
|
30
|
+
*/
|
|
31
|
+
export declare class LePopup {
|
|
32
|
+
el: HTMLElement;
|
|
33
|
+
/**
|
|
34
|
+
* Whether the popup is currently visible
|
|
35
|
+
*/
|
|
36
|
+
open: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Type of popup: alert (OK only), confirm (OK/Cancel), prompt (input + OK/Cancel), custom
|
|
39
|
+
*/
|
|
40
|
+
type: PopupType;
|
|
41
|
+
/**
|
|
42
|
+
* Optional title for the popup header
|
|
43
|
+
*/
|
|
44
|
+
popupTitle?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Message text to display (for alert/confirm/prompt types)
|
|
47
|
+
*/
|
|
48
|
+
message?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Whether the popup is modal (blocks interaction with page behind)
|
|
51
|
+
*/
|
|
52
|
+
modal: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Position of the popup on screen
|
|
55
|
+
*/
|
|
56
|
+
position: PopupPosition;
|
|
57
|
+
/**
|
|
58
|
+
* Text for the confirm/OK button
|
|
59
|
+
*/
|
|
60
|
+
confirmText: string;
|
|
61
|
+
/**
|
|
62
|
+
* Text for the cancel button
|
|
63
|
+
*/
|
|
64
|
+
cancelText: string;
|
|
65
|
+
/**
|
|
66
|
+
* Placeholder text for prompt input
|
|
67
|
+
*/
|
|
68
|
+
placeholder: string;
|
|
69
|
+
/**
|
|
70
|
+
* Default value for prompt input
|
|
71
|
+
*/
|
|
72
|
+
defaultValue: string;
|
|
73
|
+
/**
|
|
74
|
+
* Whether clicking the backdrop closes the popup (modal only)
|
|
75
|
+
*/
|
|
76
|
+
closeOnBackdrop: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Internal state for prompt input value
|
|
79
|
+
*/
|
|
80
|
+
inputValue: string;
|
|
81
|
+
/**
|
|
82
|
+
* Emitted when the popup is confirmed (OK clicked)
|
|
83
|
+
*/
|
|
84
|
+
leConfirm: EventEmitter<PopupResult>;
|
|
85
|
+
/**
|
|
86
|
+
* Emitted when the popup is cancelled (Cancel clicked or dismissed)
|
|
87
|
+
*/
|
|
88
|
+
leCancel: EventEmitter<PopupResult>;
|
|
89
|
+
/**
|
|
90
|
+
* Emitted when the popup opens
|
|
91
|
+
*/
|
|
92
|
+
leOpen: EventEmitter<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Emitted when the popup closes
|
|
95
|
+
*/
|
|
96
|
+
leClose: EventEmitter<PopupResult>;
|
|
97
|
+
private dialogEl?;
|
|
98
|
+
private inputEl?;
|
|
99
|
+
private resolvePromise?;
|
|
100
|
+
componentWillLoad(): void;
|
|
101
|
+
componentDidLoad(): void;
|
|
102
|
+
disconnectedCallback(): void;
|
|
103
|
+
private handleDialogCancel;
|
|
104
|
+
/**
|
|
105
|
+
* Opens the popup and returns a promise that resolves when closed
|
|
106
|
+
*/
|
|
107
|
+
show(): Promise<PopupResult>;
|
|
108
|
+
/**
|
|
109
|
+
* Closes the popup with a result
|
|
110
|
+
*/
|
|
111
|
+
hide(confirmed?: boolean): Promise<void>;
|
|
112
|
+
private handleConfirm;
|
|
113
|
+
private handleCancel;
|
|
114
|
+
private handleBackdropClick;
|
|
115
|
+
private handleInputChange;
|
|
116
|
+
private handleKeyDown;
|
|
117
|
+
private hasSlot;
|
|
118
|
+
private renderHeader;
|
|
119
|
+
private renderBody;
|
|
120
|
+
private renderFooter;
|
|
121
|
+
render(): any;
|
|
122
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare class LeRoundProgress {
|
|
2
|
+
el: HTMLElement;
|
|
3
|
+
value: number;
|
|
4
|
+
updateValue(newValue: string): void;
|
|
5
|
+
padding: number;
|
|
6
|
+
updatePadding(newValue: string): void;
|
|
7
|
+
paths: string;
|
|
8
|
+
updateProgressBackgrounds(newValue: string): void;
|
|
9
|
+
progressPaths: any[];
|
|
10
|
+
params: {
|
|
11
|
+
width: number;
|
|
12
|
+
diameter: number;
|
|
13
|
+
circumference: number;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Component lifecycles
|
|
17
|
+
*
|
|
18
|
+
* Before the component is loaded, we need to calculate and update params
|
|
19
|
+
* using the component size (width of the round progress)
|
|
20
|
+
* and progress width (max of )
|
|
21
|
+
*/
|
|
22
|
+
componentWillLoad(): void;
|
|
23
|
+
calcParams(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Returns the viewPath attribute value for the SVG
|
|
26
|
+
* based on the width of the parent element
|
|
27
|
+
*/
|
|
28
|
+
getViewBox(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Returns the circular path for the progress stroke
|
|
31
|
+
* and additional paths in the background
|
|
32
|
+
*/
|
|
33
|
+
getPath(): string;
|
|
34
|
+
getStrokeDashArray(): string;
|
|
35
|
+
getPaths(): any;
|
|
36
|
+
render(): any;
|
|
37
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A flexible stack layout component using CSS flexbox.
|
|
3
|
+
*
|
|
4
|
+
* `le-stack` arranges its children in a row (horizontal) or column (vertical)
|
|
5
|
+
* with configurable spacing, alignment, and wrapping behavior. Perfect for
|
|
6
|
+
* creating responsive layouts.
|
|
7
|
+
*
|
|
8
|
+
* @slot - Default slot for stack items (le-box components recommended)
|
|
9
|
+
*
|
|
10
|
+
* @cssprop --le-stack-gap - Gap between items (defaults to var(--le-space-md))
|
|
11
|
+
*
|
|
12
|
+
* @csspart stack - The main stack container
|
|
13
|
+
*
|
|
14
|
+
* @cmsEditable true
|
|
15
|
+
* @cmsCategory Layout
|
|
16
|
+
*/
|
|
17
|
+
export declare class LeStack {
|
|
18
|
+
el: HTMLElement;
|
|
19
|
+
/**
|
|
20
|
+
* Direction of the stack layout
|
|
21
|
+
* @allowedValues horizontal | vertical
|
|
22
|
+
*/
|
|
23
|
+
direction: 'horizontal' | 'vertical';
|
|
24
|
+
/**
|
|
25
|
+
* Gap between items (CSS value like '8px', '1rem', 'var(--le-space-md)')
|
|
26
|
+
*/
|
|
27
|
+
gap?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Alignment of items on the cross axis
|
|
30
|
+
* @allowedValues start | center | end | stretch | baseline
|
|
31
|
+
*/
|
|
32
|
+
align: 'start' | 'center' | 'end' | 'stretch' | 'baseline';
|
|
33
|
+
/**
|
|
34
|
+
* Distribution of items on the main axis
|
|
35
|
+
* @allowedValues start | center | end | space-between | space-around | space-evenly
|
|
36
|
+
*/
|
|
37
|
+
justify: 'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly';
|
|
38
|
+
/**
|
|
39
|
+
* Whether items should wrap to multiple lines
|
|
40
|
+
*/
|
|
41
|
+
wrap: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Alignment of wrapped lines (only applies when wrap is true)
|
|
44
|
+
* @allowedValues start | center | end | stretch | space-between | space-around
|
|
45
|
+
*/
|
|
46
|
+
alignContent: 'start' | 'center' | 'end' | 'stretch' | 'space-between' | 'space-around';
|
|
47
|
+
/**
|
|
48
|
+
* Whether to reverse the order of items
|
|
49
|
+
*/
|
|
50
|
+
reverse: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Maximum number of items allowed in the stack (for CMS validation)
|
|
53
|
+
* @min 1
|
|
54
|
+
*/
|
|
55
|
+
maxItems?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Whether the stack should take full width of its container
|
|
58
|
+
*/
|
|
59
|
+
fullWidth: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the stack should take full height of its container
|
|
62
|
+
*/
|
|
63
|
+
fullHeight: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Padding inside the stack container (CSS value)
|
|
66
|
+
*/
|
|
67
|
+
padding?: string;
|
|
68
|
+
private getFlexDirection;
|
|
69
|
+
private getAlignItems;
|
|
70
|
+
private getJustifyContent;
|
|
71
|
+
private getAlignContent;
|
|
72
|
+
render(): any;
|
|
73
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
/**
|
|
3
|
+
* A text input component with support for labels, descriptions, icons, and external IDs.
|
|
4
|
+
*
|
|
5
|
+
* @slot - The label text for the input
|
|
6
|
+
* @slot description - Additional description text displayed below the input
|
|
7
|
+
* @slot icon-start - Icon to display at the start of the input
|
|
8
|
+
* @slot icon-end - Icon to display at the end of the input
|
|
9
|
+
*
|
|
10
|
+
* @cssprop --le-input-bg - Input background color
|
|
11
|
+
* @cssprop --le-input-color - Input text color
|
|
12
|
+
* @cssprop --le-input-border - Input border style
|
|
13
|
+
* @cssprop --le-input-border-focus - Input border style when focused
|
|
14
|
+
* @cssprop --le-input-radius - Input border radius
|
|
15
|
+
* @cssprop --le-input-padding - Input padding
|
|
16
|
+
*/
|
|
17
|
+
export declare class LeStringInput {
|
|
18
|
+
el: HTMLElement;
|
|
19
|
+
/**
|
|
20
|
+
* Mode of the popover should be 'default' for internal use
|
|
21
|
+
*/
|
|
22
|
+
mode: 'default' | 'admin';
|
|
23
|
+
/**
|
|
24
|
+
* The value of the input
|
|
25
|
+
*/
|
|
26
|
+
value: string;
|
|
27
|
+
/**
|
|
28
|
+
* The name of the input
|
|
29
|
+
*/
|
|
30
|
+
name: string;
|
|
31
|
+
/**
|
|
32
|
+
* The type of the input (text, email, password, etc.)
|
|
33
|
+
*/
|
|
34
|
+
type: 'text' | 'email' | 'password' | 'tel' | 'url';
|
|
35
|
+
/**
|
|
36
|
+
* Label for the input
|
|
37
|
+
*/
|
|
38
|
+
label: string;
|
|
39
|
+
/**
|
|
40
|
+
* Icon for the start icon
|
|
41
|
+
*/
|
|
42
|
+
iconStart: string;
|
|
43
|
+
/**
|
|
44
|
+
* Icon for the end icon
|
|
45
|
+
*/
|
|
46
|
+
iconEnd: string;
|
|
47
|
+
/**
|
|
48
|
+
* Placeholder text
|
|
49
|
+
*/
|
|
50
|
+
placeholder: string;
|
|
51
|
+
/**
|
|
52
|
+
* Whether the input is disabled
|
|
53
|
+
*/
|
|
54
|
+
disabled: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Whether the input is read-only
|
|
57
|
+
*/
|
|
58
|
+
readonly: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* External ID for linking with external systems
|
|
61
|
+
*/
|
|
62
|
+
externalId: string;
|
|
63
|
+
/**
|
|
64
|
+
* Emitted when the value changes (on blur or Enter)
|
|
65
|
+
*/
|
|
66
|
+
leChange: EventEmitter<{
|
|
67
|
+
value: string;
|
|
68
|
+
name: string;
|
|
69
|
+
externalId: string;
|
|
70
|
+
}>;
|
|
71
|
+
/**
|
|
72
|
+
* Emitted when the input value changes (on keystroke)
|
|
73
|
+
*/
|
|
74
|
+
leInput: EventEmitter<{
|
|
75
|
+
value: string;
|
|
76
|
+
name: string;
|
|
77
|
+
externalId: string;
|
|
78
|
+
}>;
|
|
79
|
+
private handleInput;
|
|
80
|
+
private handleChange;
|
|
81
|
+
private handleClick;
|
|
82
|
+
render(): any;
|
|
83
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A text component with rich text editing capabilities in admin mode.
|
|
3
|
+
*
|
|
4
|
+
* `le-text` renders semantic text elements (headings, paragraphs, code, quotes)
|
|
5
|
+
* and provides a Notion-like rich text editor in admin mode with formatting
|
|
6
|
+
* toolbar for bold, italic, links, and paragraph type selection.
|
|
7
|
+
*
|
|
8
|
+
* @slot - Default slot for text content
|
|
9
|
+
*
|
|
10
|
+
* @cssprop --le-text-color - Text color
|
|
11
|
+
* @cssprop --le-text-font-size - Font size
|
|
12
|
+
* @cssprop --le-text-line-height - Line height
|
|
13
|
+
* @cssprop --le-text-font-weight - Font weight
|
|
14
|
+
*
|
|
15
|
+
* @csspart text - The text container element
|
|
16
|
+
*
|
|
17
|
+
* @cmsEditable true
|
|
18
|
+
* @cmsCategory Content
|
|
19
|
+
*/
|
|
20
|
+
export declare class LeText {
|
|
21
|
+
el: HTMLElement;
|
|
22
|
+
/**
|
|
23
|
+
* The semantic variant/type of text element
|
|
24
|
+
* @allowedValues p | h1 | h2 | h3 | h4 | h5 | h6 | code | quote | label | small
|
|
25
|
+
*/
|
|
26
|
+
variant: 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'code' | 'quote' | 'label' | 'small';
|
|
27
|
+
/**
|
|
28
|
+
* Text alignment
|
|
29
|
+
* @allowedValues left | center | right | justify
|
|
30
|
+
*/
|
|
31
|
+
align: 'left' | 'center' | 'right' | 'justify';
|
|
32
|
+
/**
|
|
33
|
+
* Text color (CSS value or theme token)
|
|
34
|
+
*/
|
|
35
|
+
color?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Whether the text should truncate with ellipsis
|
|
38
|
+
*/
|
|
39
|
+
truncate: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Maximum number of lines before truncating (requires truncate=true)
|
|
42
|
+
*/
|
|
43
|
+
maxLines?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Internal state to track admin mode
|
|
46
|
+
*/
|
|
47
|
+
private adminMode;
|
|
48
|
+
/**
|
|
49
|
+
* The HTML content being edited
|
|
50
|
+
*/
|
|
51
|
+
private content;
|
|
52
|
+
/**
|
|
53
|
+
* Whether the editor is focused (shows toolbar)
|
|
54
|
+
*/
|
|
55
|
+
private isFocused;
|
|
56
|
+
/**
|
|
57
|
+
* Current selection state for toolbar button highlighting
|
|
58
|
+
*/
|
|
59
|
+
private selectionState;
|
|
60
|
+
/**
|
|
61
|
+
* Reference to the contenteditable element
|
|
62
|
+
*/
|
|
63
|
+
private editorRef?;
|
|
64
|
+
/**
|
|
65
|
+
* Reference to the slot element
|
|
66
|
+
*/
|
|
67
|
+
private slotRef?;
|
|
68
|
+
private disconnectModeObserver?;
|
|
69
|
+
connectedCallback(): void;
|
|
70
|
+
disconnectedCallback(): void;
|
|
71
|
+
onVariantChange(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Read content from slotted elements
|
|
74
|
+
*/
|
|
75
|
+
private readSlottedContent;
|
|
76
|
+
/**
|
|
77
|
+
* Sync edited content back to the slot
|
|
78
|
+
*/
|
|
79
|
+
private syncContentToSlot;
|
|
80
|
+
/**
|
|
81
|
+
* Handle input in the contenteditable
|
|
82
|
+
*/
|
|
83
|
+
private handleInput;
|
|
84
|
+
/**
|
|
85
|
+
* Handle focus on the editor
|
|
86
|
+
*/
|
|
87
|
+
private handleFocus;
|
|
88
|
+
/**
|
|
89
|
+
* Handle blur on the editor
|
|
90
|
+
*/
|
|
91
|
+
private handleBlur;
|
|
92
|
+
/**
|
|
93
|
+
* Handle selection change to update toolbar state
|
|
94
|
+
*/
|
|
95
|
+
private handleSelectionChange;
|
|
96
|
+
/**
|
|
97
|
+
* Update the selection state for toolbar highlighting
|
|
98
|
+
*/
|
|
99
|
+
private updateSelectionState;
|
|
100
|
+
/**
|
|
101
|
+
* Check if current selection is within a link
|
|
102
|
+
*/
|
|
103
|
+
private isSelectionInLink;
|
|
104
|
+
/**
|
|
105
|
+
* Execute a formatting command
|
|
106
|
+
*/
|
|
107
|
+
private execCommand;
|
|
108
|
+
/**
|
|
109
|
+
* Toggle bold formatting
|
|
110
|
+
*/
|
|
111
|
+
private toggleBold;
|
|
112
|
+
/**
|
|
113
|
+
* Toggle italic formatting
|
|
114
|
+
*/
|
|
115
|
+
private toggleItalic;
|
|
116
|
+
/**
|
|
117
|
+
* Toggle underline formatting
|
|
118
|
+
*/
|
|
119
|
+
private toggleUnderline;
|
|
120
|
+
/**
|
|
121
|
+
* Toggle strikethrough formatting
|
|
122
|
+
*/
|
|
123
|
+
private toggleStrikethrough;
|
|
124
|
+
/**
|
|
125
|
+
* Add or edit a link
|
|
126
|
+
*/
|
|
127
|
+
private toggleLink;
|
|
128
|
+
/**
|
|
129
|
+
* Change the block type/variant
|
|
130
|
+
*/
|
|
131
|
+
private changeVariant;
|
|
132
|
+
/**
|
|
133
|
+
* Render the formatting toolbar
|
|
134
|
+
*/
|
|
135
|
+
private renderToolbar;
|
|
136
|
+
/**
|
|
137
|
+
* Get the semantic tag for the current variant
|
|
138
|
+
*/
|
|
139
|
+
private getTag;
|
|
140
|
+
render(): any;
|
|
141
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export declare class LeTurntable {
|
|
2
|
+
el: HTMLElement;
|
|
3
|
+
center: string;
|
|
4
|
+
value: number;
|
|
5
|
+
updateValue(newValue: any): void;
|
|
6
|
+
/**
|
|
7
|
+
* Internal state
|
|
8
|
+
*
|
|
9
|
+
* using properties instead of @State decoratorm
|
|
10
|
+
* because we are only changing styles of the element and don't
|
|
11
|
+
* need the element to be rerendered
|
|
12
|
+
*/
|
|
13
|
+
rotating: boolean;
|
|
14
|
+
centerX: number;
|
|
15
|
+
centerY: number;
|
|
16
|
+
pageX: number;
|
|
17
|
+
pageY: number;
|
|
18
|
+
currentAngle: number;
|
|
19
|
+
startAngle: number;
|
|
20
|
+
/**
|
|
21
|
+
* Event listeners
|
|
22
|
+
*/
|
|
23
|
+
handleMouseDown(evt: MouseEvent): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Fires when the mouse moves
|
|
26
|
+
* checks is the element rotating right now and if it is
|
|
27
|
+
* then calc the current angle and rotate the element
|
|
28
|
+
*
|
|
29
|
+
* TODO: attach events only after the dragStart?
|
|
30
|
+
*/
|
|
31
|
+
handleMouseMove(evt: MouseEvent): boolean;
|
|
32
|
+
handleMouseUp(evt: MouseEvent): boolean;
|
|
33
|
+
handleWindowResize(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Component lifecycles
|
|
36
|
+
*/
|
|
37
|
+
componentDidLoad(): void;
|
|
38
|
+
componentDidUpdate(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Calculates the transform origin of the component
|
|
41
|
+
* and the page offset in pixels
|
|
42
|
+
*
|
|
43
|
+
* We'll need these values to calculate the angle of pointer event
|
|
44
|
+
*/
|
|
45
|
+
getTransformOrigin(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Calculates current angle
|
|
48
|
+
*
|
|
49
|
+
* @param {number} posX horizontal mouse position
|
|
50
|
+
* @param {number} posY vertical mouse position
|
|
51
|
+
*/
|
|
52
|
+
getAngle(posX: number, posY: number): number;
|
|
53
|
+
setAngle(angle: any): void;
|
|
54
|
+
render(): any;
|
|
55
|
+
}
|