le-kit 0.1.2 → 0.1.4
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/docs.json +1 -1
- package/package.json +3 -54
- package/readme.md +2 -35
- package/dist/admin/index.d.ts +0 -25
- package/dist/admin/index.js +0 -80
- package/dist/admin/loader.js +0 -9
- package/dist/collection/index-admin.js +0 -27
- package/dist/collection/index-admin.js.map +0 -1
- package/dist/collection/index-core.js +0 -25
- package/dist/collection/index-core.js.map +0 -1
- package/dist/core/components/index.d.ts +0 -64
- package/dist/core/components/index.js +0 -127
- package/dist/core/components/index.js.map +0 -1
- package/dist/core/components/le-box.d.ts +0 -11
- package/dist/core/components/le-box.js +0 -246
- package/dist/core/components/le-box.js.map +0 -1
- package/dist/core/components/le-button.d.ts +0 -11
- package/dist/core/components/le-button.js +0 -9
- package/dist/core/components/le-button.js.map +0 -1
- package/dist/core/components/le-button2.js +0 -1358
- package/dist/core/components/le-button2.js.map +0 -1
- package/dist/core/components/le-card.d.ts +0 -11
- package/dist/core/components/le-card.js +0 -73
- package/dist/core/components/le-card.js.map +0 -1
- package/dist/core/components/le-checkbox.d.ts +0 -11
- package/dist/core/components/le-checkbox.js +0 -9
- package/dist/core/components/le-checkbox.js.map +0 -1
- package/dist/core/components/le-component.js.map +0 -1
- package/dist/core/components/le-number-input.d.ts +0 -11
- package/dist/core/components/le-number-input.js +0 -261
- package/dist/core/components/le-number-input.js.map +0 -1
- package/dist/core/components/le-popover.d.ts +0 -11
- package/dist/core/components/le-popover.js +0 -9
- package/dist/core/components/le-popover.js.map +0 -1
- package/dist/core/components/le-popover2.js +0 -382
- package/dist/core/components/le-popover2.js.map +0 -1
- package/dist/core/components/le-popup.d.ts +0 -11
- package/dist/core/components/le-popup.js +0 -269
- package/dist/core/components/le-popup.js.map +0 -1
- package/dist/core/components/le-round-progress.d.ts +0 -11
- package/dist/core/components/le-round-progress.js +0 -135
- package/dist/core/components/le-round-progress.js.map +0 -1
- package/dist/core/components/le-slot.js.map +0 -1
- package/dist/core/components/le-stack.d.ts +0 -11
- package/dist/core/components/le-stack.js +0 -188
- package/dist/core/components/le-stack.js.map +0 -1
- package/dist/core/components/le-string-input.d.ts +0 -11
- package/dist/core/components/le-string-input.js +0 -9
- package/dist/core/components/le-string-input.js.map +0 -1
- package/dist/core/components/le-text.d.ts +0 -11
- package/dist/core/components/le-text.js +0 -388
- package/dist/core/components/le-text.js.map +0 -1
- package/dist/core/components/le-turntable.d.ts +0 -11
- package/dist/core/components/le-turntable.js +0 -164
- package/dist/core/components/le-turntable.js.map +0 -1
- package/dist/core/index.d.ts +0 -23
- package/dist/core/index.js +0 -74
- package/dist/core/loader.js +0 -9
- package/dist/core/stencil-runtime.js +0 -1
- package/dist/types/index-admin.d.ts +0 -29
- package/dist/types/index-core.d.ts +0 -27
package/dist/docs.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "le-kit",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Themable web components library with CMS admin mode support",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -14,22 +14,6 @@
|
|
|
14
14
|
"require": "./dist/le-kit/le-kit.cjs.js",
|
|
15
15
|
"types": "./dist/types/index.d.ts"
|
|
16
16
|
},
|
|
17
|
-
"./core": {
|
|
18
|
-
"import": "./dist/core/loader.js",
|
|
19
|
-
"types": "./dist/core/index.d.ts"
|
|
20
|
-
},
|
|
21
|
-
"./core/define": {
|
|
22
|
-
"import": "./dist/core/index.js",
|
|
23
|
-
"types": "./dist/core/index.d.ts"
|
|
24
|
-
},
|
|
25
|
-
"./admin": {
|
|
26
|
-
"import": "./dist/admin/loader.js",
|
|
27
|
-
"types": "./dist/admin/index.d.ts"
|
|
28
|
-
},
|
|
29
|
-
"./admin/define": {
|
|
30
|
-
"import": "./dist/admin/index.js",
|
|
31
|
-
"types": "./dist/admin/index.d.ts"
|
|
32
|
-
},
|
|
33
17
|
"./components": {
|
|
34
18
|
"import": "./dist/components/index.js",
|
|
35
19
|
"types": "./dist/components/index.d.ts"
|
|
@@ -39,38 +23,6 @@
|
|
|
39
23
|
"require": "./loader/index.cjs",
|
|
40
24
|
"types": "./loader/index.d.ts"
|
|
41
25
|
},
|
|
42
|
-
"./themes/*.css": {
|
|
43
|
-
"style": "./dist/themes/*.css",
|
|
44
|
-
"default": "./dist/themes/*.css"
|
|
45
|
-
},
|
|
46
|
-
"./themes": {
|
|
47
|
-
"style": "./dist/themes/index.css",
|
|
48
|
-
"default": "./dist/themes/index.css"
|
|
49
|
-
},
|
|
50
|
-
"./themes/base": {
|
|
51
|
-
"style": "./dist/themes/base.css",
|
|
52
|
-
"default": "./dist/themes/base.css"
|
|
53
|
-
},
|
|
54
|
-
"./themes/default": {
|
|
55
|
-
"style": "./dist/themes/default.css",
|
|
56
|
-
"default": "./dist/themes/default.css"
|
|
57
|
-
},
|
|
58
|
-
"./themes/dark": {
|
|
59
|
-
"style": "./dist/themes/dark.css",
|
|
60
|
-
"default": "./dist/themes/dark.css"
|
|
61
|
-
},
|
|
62
|
-
"./themes/gradient": {
|
|
63
|
-
"style": "./dist/themes/gradient.css",
|
|
64
|
-
"default": "./dist/themes/gradient.css"
|
|
65
|
-
},
|
|
66
|
-
"./themes/minimal": {
|
|
67
|
-
"style": "./dist/themes/minimal.css",
|
|
68
|
-
"default": "./dist/themes/minimal.css"
|
|
69
|
-
},
|
|
70
|
-
"./themes/warm": {
|
|
71
|
-
"style": "./dist/themes/warm.css",
|
|
72
|
-
"default": "./dist/themes/warm.css"
|
|
73
|
-
},
|
|
74
26
|
"./dist/themes/*.css": "./dist/themes/*.css"
|
|
75
27
|
},
|
|
76
28
|
"repository": {
|
|
@@ -86,11 +38,8 @@
|
|
|
86
38
|
"loader/"
|
|
87
39
|
],
|
|
88
40
|
"scripts": {
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"postbuild": "node scripts/bundle-targets.mjs && cp -r src/themes dist/themes && cem analyze --stencil",
|
|
92
|
-
"prestart": "node scripts/build-targets.mjs && cem analyze --stencil",
|
|
93
|
-
"start": "stencil build --dev --watch --serve",
|
|
41
|
+
"build": "stencil build && cp -r src/themes dist/themes && cem analyze --stencil",
|
|
42
|
+
"start": "cem analyze --stencil && stencil build --dev --watch --serve",
|
|
94
43
|
"test": "stencil test --spec --e2e",
|
|
95
44
|
"test.watch": "stencil test --spec --e2e --watchAll",
|
|
96
45
|
"generate": "stencil generate",
|
package/readme.md
CHANGED
|
@@ -9,7 +9,6 @@ A themeable web component library built with Stencil, featuring a dual-mode syst
|
|
|
9
9
|
|
|
10
10
|
- 🎨 **Themeable** — CSS custom properties for complete styling control
|
|
11
11
|
- 🔧 **Dual Mode** — Production (`default`) and CMS editing (`admin`) modes
|
|
12
|
-
- 📦 **Multiple Builds** — Lazy-loaded, standalone, or admin-enabled bundles
|
|
13
12
|
- 🌐 **Framework Agnostic** — Works with any framework or vanilla JS
|
|
14
13
|
- 🪶 **Lightweight** — Tree-shakeable with minimal runtime overhead
|
|
15
14
|
|
|
@@ -21,7 +20,7 @@ npm install le-kit
|
|
|
21
20
|
|
|
22
21
|
## Quick Start
|
|
23
22
|
|
|
24
|
-
### Option 1: Lazy Loading (Recommended
|
|
23
|
+
### Option 1: Lazy Loading (Recommended)
|
|
25
24
|
|
|
26
25
|
The easiest way to use Le-Kit. Components are automatically loaded on-demand.
|
|
27
26
|
|
|
@@ -42,39 +41,7 @@ The easiest way to use Le-Kit. Components are automatically loaded on-demand.
|
|
|
42
41
|
</le-card>
|
|
43
42
|
```
|
|
44
43
|
|
|
45
|
-
### Option 2:
|
|
46
|
-
|
|
47
|
-
The core build has all CMS editing functionality stripped out at build time for the smallest possible bundle. Components are auto-registered on import.
|
|
48
|
-
|
|
49
|
-
```tsx
|
|
50
|
-
// Auto-registers all core components
|
|
51
|
-
import 'le-kit/core';
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Or if you need to control when components are registered:
|
|
55
|
-
|
|
56
|
-
```tsx
|
|
57
|
-
import { defineCustomElements } from 'le-kit/core/define';
|
|
58
|
-
defineCustomElements();
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Option 3: Admin Build (CMS Editing)
|
|
62
|
-
|
|
63
|
-
Includes full CMS editing capabilities with inline editing and property panels.
|
|
64
|
-
|
|
65
|
-
```tsx
|
|
66
|
-
// Auto-registers all admin components
|
|
67
|
-
import 'le-kit/admin';
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
```html
|
|
71
|
-
<!-- Enable admin mode -->
|
|
72
|
-
<html mode="admin">
|
|
73
|
-
<!-- Components now show editing UI -->
|
|
74
|
-
</html>
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Option 4: Individual Components (Tree-shakeable)
|
|
44
|
+
### Option 2: Individual Components (Tree-shakeable)
|
|
78
45
|
|
|
79
46
|
Import only the components you need for smaller bundle sizes.
|
|
80
47
|
|
package/dist/admin/index.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Le-Kit Admin Bundle Type Definitions
|
|
3
|
-
* Auto-generated by scripts/bundle-targets.mjs
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export { setAssetPath } from '../components/index';
|
|
7
|
-
|
|
8
|
-
export { LeBox } from '../components/le-box';
|
|
9
|
-
export { LeButton } from '../components/le-button';
|
|
10
|
-
export { LeButton2 } from '../components/le-button2';
|
|
11
|
-
export { LeCard } from '../components/le-card';
|
|
12
|
-
export { LeCheckbox } from '../components/le-checkbox';
|
|
13
|
-
export { LeComponent } from '../components/le-component';
|
|
14
|
-
export { LeNumberInput } from '../components/le-number-input';
|
|
15
|
-
export { LePopover } from '../components/le-popover';
|
|
16
|
-
export { LePopover2 } from '../components/le-popover2';
|
|
17
|
-
export { LePopup } from '../components/le-popup';
|
|
18
|
-
export { LeRoundProgress } from '../components/le-round-progress';
|
|
19
|
-
export { LeSlot } from '../components/le-slot';
|
|
20
|
-
export { LeStack } from '../components/le-stack';
|
|
21
|
-
export { LeStringInput } from '../components/le-string-input';
|
|
22
|
-
export { LeText } from '../components/le-text';
|
|
23
|
-
export { LeTurntable } from '../components/le-turntable';
|
|
24
|
-
|
|
25
|
-
export declare function defineCustomElements(win?: Window): void;
|
package/dist/admin/index.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Le-Kit Admin Bundle
|
|
3
|
-
* Includes all components with admin mode support
|
|
4
|
-
*
|
|
5
|
-
* Auto-generated by scripts/bundle-targets.mjs
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
// Import Stencil runtime
|
|
9
|
-
export { setAssetPath } from '../components/index.js';
|
|
10
|
-
|
|
11
|
-
// Component imports
|
|
12
|
-
import { LeBox } from '../components/le-box.js';
|
|
13
|
-
import { LeButton } from '../components/le-button.js';
|
|
14
|
-
import { LeButton2 } from '../components/le-button2.js';
|
|
15
|
-
import { LeCard } from '../components/le-card.js';
|
|
16
|
-
import { LeCheckbox } from '../components/le-checkbox.js';
|
|
17
|
-
import { LeComponent } from '../components/le-component.js';
|
|
18
|
-
import { LeNumberInput } from '../components/le-number-input.js';
|
|
19
|
-
import { LePopover } from '../components/le-popover.js';
|
|
20
|
-
import { LePopover2 } from '../components/le-popover2.js';
|
|
21
|
-
import { LePopup } from '../components/le-popup.js';
|
|
22
|
-
import { LeRoundProgress } from '../components/le-round-progress.js';
|
|
23
|
-
import { LeSlot } from '../components/le-slot.js';
|
|
24
|
-
import { LeStack } from '../components/le-stack.js';
|
|
25
|
-
import { LeStringInput } from '../components/le-string-input.js';
|
|
26
|
-
import { LeText } from '../components/le-text.js';
|
|
27
|
-
import { LeTurntable } from '../components/le-turntable.js';
|
|
28
|
-
|
|
29
|
-
// Component exports
|
|
30
|
-
export {
|
|
31
|
-
LeBox,
|
|
32
|
-
LeButton,
|
|
33
|
-
LeButton2,
|
|
34
|
-
LeCard,
|
|
35
|
-
LeCheckbox,
|
|
36
|
-
LeComponent,
|
|
37
|
-
LeNumberInput,
|
|
38
|
-
LePopover,
|
|
39
|
-
LePopover2,
|
|
40
|
-
LePopup,
|
|
41
|
-
LeRoundProgress,
|
|
42
|
-
LeSlot,
|
|
43
|
-
LeStack,
|
|
44
|
-
LeStringInput,
|
|
45
|
-
LeText,
|
|
46
|
-
LeTurntable,
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Define all components on the CustomElementRegistry
|
|
51
|
-
* @param {Window} [win=window] - The window object to use
|
|
52
|
-
*/
|
|
53
|
-
export function defineCustomElements(win = typeof window !== 'undefined' ? window : undefined) {
|
|
54
|
-
if (!win) return;
|
|
55
|
-
|
|
56
|
-
const components = [
|
|
57
|
-
['le-box', LeBox],
|
|
58
|
-
['le-button', LeButton],
|
|
59
|
-
['le-button2', LeButton2],
|
|
60
|
-
['le-card', LeCard],
|
|
61
|
-
['le-checkbox', LeCheckbox],
|
|
62
|
-
['le-component', LeComponent],
|
|
63
|
-
['le-number-input', LeNumberInput],
|
|
64
|
-
['le-popover', LePopover],
|
|
65
|
-
['le-popover2', LePopover2],
|
|
66
|
-
['le-popup', LePopup],
|
|
67
|
-
['le-round-progress', LeRoundProgress],
|
|
68
|
-
['le-slot', LeSlot],
|
|
69
|
-
['le-stack', LeStack],
|
|
70
|
-
['le-string-input', LeStringInput],
|
|
71
|
-
['le-text', LeText],
|
|
72
|
-
['le-turntable', LeTurntable],
|
|
73
|
-
];
|
|
74
|
-
|
|
75
|
-
for (const [name, constructor] of components) {
|
|
76
|
-
if (!win.customElements.get(name)) {
|
|
77
|
-
win.customElements.define(name, constructor);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
package/dist/admin/loader.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Le-Kit Admin - Auto-registering entry point
|
|
3
|
-
* Import this file to automatically register all admin components
|
|
4
|
-
*
|
|
5
|
-
* Usage: import 'le-kit/admin';
|
|
6
|
-
*/
|
|
7
|
-
import { defineCustomElements } from './index.js';
|
|
8
|
-
defineCustomElements();
|
|
9
|
-
export * from './index.js';
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Full Le-Kit component exports
|
|
3
|
-
* Includes all components with admin mode support
|
|
4
|
-
*
|
|
5
|
-
* Auto-generated by scripts/build-targets.mjs
|
|
6
|
-
* Do not edit manually.
|
|
7
|
-
*/
|
|
8
|
-
// Component class exports
|
|
9
|
-
export { LeBox } from './components/le-box/le-box';
|
|
10
|
-
export { LeButton } from './components/le-button/le-button';
|
|
11
|
-
export { LeCard } from './components/le-card/le-card';
|
|
12
|
-
export { LeCheckbox } from './components/le-checkbox/le-checkbox';
|
|
13
|
-
export { LeComponent } from './components/le-component/le-component';
|
|
14
|
-
export { LeNumberInput } from './components/le-number-input/le-number-input';
|
|
15
|
-
export { LePopover } from './components/le-popover/le-popover';
|
|
16
|
-
export { LePopup } from './components/le-popup/le-popup';
|
|
17
|
-
export { LeRoundProgress } from './components/le-round-progress/le-round-progress';
|
|
18
|
-
export { LeSlot } from './components/le-slot/le-slot';
|
|
19
|
-
export { LeStack } from './components/le-stack/le-stack';
|
|
20
|
-
export { LeStringInput } from './components/le-string-input/le-string-input';
|
|
21
|
-
export { LeText } from './components/le-text/le-text';
|
|
22
|
-
export { LeTurntable } from './components/le-turntable/le-turntable';
|
|
23
|
-
// Re-export utilities and types from main index
|
|
24
|
-
export { generateId, parseCommaSeparated, slotHasContent } from './utils/utils';
|
|
25
|
-
export { getMode, setGlobalMode, getTheme, setGlobalTheme } from './global/app';
|
|
26
|
-
export { leAlert, leConfirm, lePrompt } from './components/le-popup/le-popup.api';
|
|
27
|
-
//# sourceMappingURL=index-admin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-admin.js","sourceRoot":"","sources":["../src/index-admin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,0BAA0B;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,gDAAgD;AAChD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC","sourcesContent":["/**\n * Full Le-Kit component exports\n * Includes all components with admin mode support\n * \n * Auto-generated by scripts/build-targets.mjs\n * Do not edit manually.\n */\n\n// Component class exports\nexport { LeBox } from './components/le-box/le-box';\nexport { LeButton } from './components/le-button/le-button';\nexport { LeCard } from './components/le-card/le-card';\nexport { LeCheckbox } from './components/le-checkbox/le-checkbox';\nexport { LeComponent } from './components/le-component/le-component';\nexport { LeNumberInput } from './components/le-number-input/le-number-input';\nexport { LePopover } from './components/le-popover/le-popover';\nexport { LePopup } from './components/le-popup/le-popup';\nexport { LeRoundProgress } from './components/le-round-progress/le-round-progress';\nexport { LeSlot } from './components/le-slot/le-slot';\nexport { LeStack } from './components/le-stack/le-stack';\nexport { LeStringInput } from './components/le-string-input/le-string-input';\nexport { LeText } from './components/le-text/le-text';\nexport { LeTurntable } from './components/le-turntable/le-turntable';\n\n// Re-export utilities and types from main index\nexport { generateId, parseCommaSeparated, slotHasContent } from './utils/utils';\nexport { getMode, setGlobalMode, getTheme, setGlobalTheme } from './global/app';\nexport type { LeKitMode, LeKitTheme } from './global/app';\nexport { leAlert, leConfirm, lePrompt } from './components/le-popup/le-popup.api';\nexport type { PopupOptions } from './components/le-popup/le-popup.api';\nexport type { PopupResult, PopupType, PopupPosition } from './components/le-popup/le-popup';\n\n// Type exports\nexport type * from './types/options';\nexport type * from './types/blocks';\n"]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core Le-Kit component exports
|
|
3
|
-
* Excludes admin-only components (le-component, le-slot)
|
|
4
|
-
*
|
|
5
|
-
* Auto-generated by scripts/build-targets.mjs
|
|
6
|
-
* Do not edit manually.
|
|
7
|
-
*/
|
|
8
|
-
// Component class exports
|
|
9
|
-
export { LeBox } from './components/le-box/le-box';
|
|
10
|
-
export { LeButton } from './components/le-button/le-button';
|
|
11
|
-
export { LeCard } from './components/le-card/le-card';
|
|
12
|
-
export { LeCheckbox } from './components/le-checkbox/le-checkbox';
|
|
13
|
-
export { LeNumberInput } from './components/le-number-input/le-number-input';
|
|
14
|
-
export { LePopover } from './components/le-popover/le-popover';
|
|
15
|
-
export { LePopup } from './components/le-popup/le-popup';
|
|
16
|
-
export { LeRoundProgress } from './components/le-round-progress/le-round-progress';
|
|
17
|
-
export { LeStack } from './components/le-stack/le-stack';
|
|
18
|
-
export { LeStringInput } from './components/le-string-input/le-string-input';
|
|
19
|
-
export { LeText } from './components/le-text/le-text';
|
|
20
|
-
export { LeTurntable } from './components/le-turntable/le-turntable';
|
|
21
|
-
// Re-export utilities and types from main index
|
|
22
|
-
export { generateId, parseCommaSeparated, slotHasContent } from './utils/utils';
|
|
23
|
-
export { getMode, setGlobalMode, getTheme, setGlobalTheme } from './global/app';
|
|
24
|
-
export { leAlert, leConfirm, lePrompt } from './components/le-popup/le-popup.api';
|
|
25
|
-
//# sourceMappingURL=index-core.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-core.js","sourceRoot":"","sources":["../src/index-core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,0BAA0B;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,gDAAgD;AAChD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC","sourcesContent":["/**\n * Core Le-Kit component exports\n * Excludes admin-only components (le-component, le-slot)\n * \n * Auto-generated by scripts/build-targets.mjs\n * Do not edit manually.\n */\n\n// Component class exports\nexport { LeBox } from './components/le-box/le-box';\nexport { LeButton } from './components/le-button/le-button';\nexport { LeCard } from './components/le-card/le-card';\nexport { LeCheckbox } from './components/le-checkbox/le-checkbox';\nexport { LeNumberInput } from './components/le-number-input/le-number-input';\nexport { LePopover } from './components/le-popover/le-popover';\nexport { LePopup } from './components/le-popup/le-popup';\nexport { LeRoundProgress } from './components/le-round-progress/le-round-progress';\nexport { LeStack } from './components/le-stack/le-stack';\nexport { LeStringInput } from './components/le-string-input/le-string-input';\nexport { LeText } from './components/le-text/le-text';\nexport { LeTurntable } from './components/le-turntable/le-turntable';\n\n// Re-export utilities and types from main index\nexport { generateId, parseCommaSeparated, slotHasContent } from './utils/utils';\nexport { getMode, setGlobalMode, getTheme, setGlobalTheme } from './global/app';\nexport type { LeKitMode, LeKitTheme } from './global/app';\nexport { leAlert, leConfirm, lePrompt } from './components/le-popup/le-popup.api';\nexport type { PopupOptions } from './components/le-popup/le-popup.api';\nexport type { PopupResult, PopupType, PopupPosition } from './components/le-popup/le-popup';\n\n// Type exports\nexport type * from './types/options';\nexport type * from './types/blocks';\n"]}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/* LeKit custom elements */
|
|
2
|
-
export { LeBox as LeBox } from '../types/components/le-box/le-box';
|
|
3
|
-
export { defineCustomElement as defineCustomElementLeBox } from './le-box';
|
|
4
|
-
export { LeButton as LeButton } from '../types/components/le-button/le-button';
|
|
5
|
-
export { defineCustomElement as defineCustomElementLeButton } from './le-button';
|
|
6
|
-
export { LeCard as LeCard } from '../types/components/le-card/le-card';
|
|
7
|
-
export { defineCustomElement as defineCustomElementLeCard } from './le-card';
|
|
8
|
-
export { LeCheckbox as LeCheckbox } from '../types/components/le-checkbox/le-checkbox';
|
|
9
|
-
export { defineCustomElement as defineCustomElementLeCheckbox } from './le-checkbox';
|
|
10
|
-
export { LeComponent as LeComponent } from '../types/components/le-component/le-component';
|
|
11
|
-
export { defineCustomElement as defineCustomElementLeComponent } from './le-component';
|
|
12
|
-
export { LeNumberInput as LeNumberInput } from '../types/components/le-number-input/le-number-input';
|
|
13
|
-
export { defineCustomElement as defineCustomElementLeNumberInput } from './le-number-input';
|
|
14
|
-
export { LePopover as LePopover } from '../types/components/le-popover/le-popover';
|
|
15
|
-
export { defineCustomElement as defineCustomElementLePopover } from './le-popover';
|
|
16
|
-
export { LePopup as LePopup } from '../types/components/le-popup/le-popup';
|
|
17
|
-
export { defineCustomElement as defineCustomElementLePopup } from './le-popup';
|
|
18
|
-
export { LeRoundProgress as LeRoundProgress } from '../types/components/le-round-progress/le-round-progress';
|
|
19
|
-
export { defineCustomElement as defineCustomElementLeRoundProgress } from './le-round-progress';
|
|
20
|
-
export { LeSlot as LeSlot } from '../types/components/le-slot/le-slot';
|
|
21
|
-
export { defineCustomElement as defineCustomElementLeSlot } from './le-slot';
|
|
22
|
-
export { LeStack as LeStack } from '../types/components/le-stack/le-stack';
|
|
23
|
-
export { defineCustomElement as defineCustomElementLeStack } from './le-stack';
|
|
24
|
-
export { LeStringInput as LeStringInput } from '../types/components/le-string-input/le-string-input';
|
|
25
|
-
export { defineCustomElement as defineCustomElementLeStringInput } from './le-string-input';
|
|
26
|
-
export { LeText as LeText } from '../types/components/le-text/le-text';
|
|
27
|
-
export { defineCustomElement as defineCustomElementLeText } from './le-text';
|
|
28
|
-
export { LeTurntable as LeTurntable } from '../types/components/le-turntable/le-turntable';
|
|
29
|
-
export { defineCustomElement as defineCustomElementLeTurntable } from './le-turntable';
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Get the base path to where the assets can be found. Use "setAssetPath(path)"
|
|
33
|
-
* if the path needs to be customized.
|
|
34
|
-
*/
|
|
35
|
-
export declare const getAssetPath: (path: string) => string;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Used to manually set the base path where assets can be found.
|
|
39
|
-
* If the script is used as "module", it's recommended to use "import.meta.url",
|
|
40
|
-
* such as "setAssetPath(import.meta.url)". Other options include
|
|
41
|
-
* "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
|
|
42
|
-
* dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
|
|
43
|
-
* But do note that this configuration depends on how your script is bundled, or lack of
|
|
44
|
-
* bundling, and where your assets can be loaded from. Additionally custom bundling
|
|
45
|
-
* will have to ensure the static assets are copied to its build directory.
|
|
46
|
-
*/
|
|
47
|
-
export declare const setAssetPath: (path: string) => void;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Used to specify a nonce value that corresponds with an application's CSP.
|
|
51
|
-
* When set, the nonce will be added to all dynamically created script and style tags at runtime.
|
|
52
|
-
* Alternatively, the nonce value can be set on a meta tag in the DOM head
|
|
53
|
-
* (<meta name="csp-nonce" content="{ nonce value here }" />) which
|
|
54
|
-
* will result in the same behavior.
|
|
55
|
-
*/
|
|
56
|
-
export declare const setNonce: (nonce: string) => void
|
|
57
|
-
|
|
58
|
-
export interface SetPlatformOptions {
|
|
59
|
-
raf?: (c: FrameRequestCallback) => number;
|
|
60
|
-
ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
61
|
-
rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
62
|
-
}
|
|
63
|
-
export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
|
|
64
|
-
export * from '../types';
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { i as initializeMode } from './le-button2.js';
|
|
2
|
-
export { g as generateId, a as getMode, c as getTheme, p as parseCommaSeparated, b as setGlobalMode, d as setGlobalTheme, s as slotHasContent } from './le-button2.js';
|
|
3
|
-
export { getAssetPath, render, setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
|
|
4
|
-
export { LeBox, defineCustomElement as defineCustomElementLeBox } from './le-box.js';
|
|
5
|
-
export { LeButton, defineCustomElement as defineCustomElementLeButton } from './le-button.js';
|
|
6
|
-
export { LeCard, defineCustomElement as defineCustomElementLeCard } from './le-card.js';
|
|
7
|
-
export { LeCheckbox, defineCustomElement as defineCustomElementLeCheckbox } from './le-checkbox.js';
|
|
8
|
-
export { LeComponent, defineCustomElement as defineCustomElementLeComponent } from './le-component.js';
|
|
9
|
-
export { LeNumberInput, defineCustomElement as defineCustomElementLeNumberInput } from './le-number-input.js';
|
|
10
|
-
export { LePopover, defineCustomElement as defineCustomElementLePopover } from './le-popover.js';
|
|
11
|
-
export { LePopup, defineCustomElement as defineCustomElementLePopup } from './le-popup.js';
|
|
12
|
-
export { LeRoundProgress, defineCustomElement as defineCustomElementLeRoundProgress } from './le-round-progress.js';
|
|
13
|
-
export { LeSlot, defineCustomElement as defineCustomElementLeSlot } from './le-slot.js';
|
|
14
|
-
export { LeStack, defineCustomElement as defineCustomElementLeStack } from './le-stack.js';
|
|
15
|
-
export { LeStringInput, defineCustomElement as defineCustomElementLeStringInput } from './le-string-input.js';
|
|
16
|
-
export { LeText, defineCustomElement as defineCustomElementLeText } from './le-text.js';
|
|
17
|
-
export { LeTurntable, defineCustomElement as defineCustomElementLeTurntable } from './le-turntable.js';
|
|
18
|
-
|
|
19
|
-
const globalScripts = initializeMode;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Programmatic API for le-popup component
|
|
23
|
-
*
|
|
24
|
-
* These functions allow you to show popups without manually creating elements.
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* // Alert
|
|
28
|
-
* await leAlert('Something happened!');
|
|
29
|
-
*
|
|
30
|
-
* // Confirm
|
|
31
|
-
* const confirmed = await leConfirm('Are you sure?');
|
|
32
|
-
* if (confirmed) { ... }
|
|
33
|
-
*
|
|
34
|
-
* // Prompt
|
|
35
|
-
* const name = await lePrompt('What is your name?');
|
|
36
|
-
* if (name !== null) { ... }
|
|
37
|
-
*/
|
|
38
|
-
/**
|
|
39
|
-
* Show an alert popup with a message
|
|
40
|
-
* @param message - The message to display
|
|
41
|
-
* @param options - Optional configuration
|
|
42
|
-
* @returns Promise that resolves when closed
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* await leAlert('File saved successfully!');
|
|
46
|
-
* await leAlert('Error occurred', { title: 'Error', theme: 'dark' });
|
|
47
|
-
*/
|
|
48
|
-
async function leAlert(message, options = {}) {
|
|
49
|
-
const popup = createPopupElement(message, { ...options, type: 'alert' });
|
|
50
|
-
document.body.appendChild(popup);
|
|
51
|
-
await popup.show();
|
|
52
|
-
popup.remove();
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Show a confirm popup with OK/Cancel buttons
|
|
56
|
-
* @param message - The message to display
|
|
57
|
-
* @param options - Optional configuration
|
|
58
|
-
* @returns Promise that resolves to true (confirmed) or false (cancelled)
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* const confirmed = await leConfirm('Delete this item?');
|
|
62
|
-
* if (confirmed) {
|
|
63
|
-
* deleteItem();
|
|
64
|
-
* }
|
|
65
|
-
*/
|
|
66
|
-
async function leConfirm(message, options = {}) {
|
|
67
|
-
const popup = createPopupElement(message, { ...options, type: 'confirm' });
|
|
68
|
-
document.body.appendChild(popup);
|
|
69
|
-
const result = await popup.show();
|
|
70
|
-
popup.remove();
|
|
71
|
-
return result.confirmed;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Show a prompt popup with an input field
|
|
75
|
-
* @param message - The message to display
|
|
76
|
-
* @param options - Optional configuration (including defaultValue, placeholder)
|
|
77
|
-
* @returns Promise that resolves to the input value or null if cancelled
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* const name = await lePrompt('Enter your name:', {
|
|
81
|
-
* title: 'Welcome',
|
|
82
|
-
* placeholder: 'John Doe',
|
|
83
|
-
* defaultValue: 'Guest'
|
|
84
|
-
* });
|
|
85
|
-
* if (name !== null) {
|
|
86
|
-
* greetUser(name);
|
|
87
|
-
* }
|
|
88
|
-
*/
|
|
89
|
-
async function lePrompt(message, options = {}) {
|
|
90
|
-
const popup = createPopupElement(message, { ...options, type: 'prompt' });
|
|
91
|
-
document.body.appendChild(popup);
|
|
92
|
-
const result = await popup.show();
|
|
93
|
-
popup.remove();
|
|
94
|
-
return result.confirmed ? (result.value ?? '') : null;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Create a popup element with the given configuration
|
|
98
|
-
*/
|
|
99
|
-
function createPopupElement(message, options) {
|
|
100
|
-
const popup = document.createElement('le-popup');
|
|
101
|
-
popup.message = message;
|
|
102
|
-
popup.type = options.type || 'alert';
|
|
103
|
-
if (options.title)
|
|
104
|
-
popup.popupTitle = options.title;
|
|
105
|
-
if (options.modal !== undefined)
|
|
106
|
-
popup.modal = options.modal;
|
|
107
|
-
if (options.position)
|
|
108
|
-
popup.position = options.position;
|
|
109
|
-
if (options.confirmText)
|
|
110
|
-
popup.confirmText = options.confirmText;
|
|
111
|
-
if (options.cancelText)
|
|
112
|
-
popup.cancelText = options.cancelText;
|
|
113
|
-
if (options.placeholder)
|
|
114
|
-
popup.placeholder = options.placeholder;
|
|
115
|
-
if (options.defaultValue)
|
|
116
|
-
popup.defaultValue = options.defaultValue;
|
|
117
|
-
if (options.theme)
|
|
118
|
-
popup.setAttribute('theme', options.theme);
|
|
119
|
-
return popup;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
globalScripts();
|
|
123
|
-
|
|
124
|
-
export { leAlert, leConfirm, lePrompt };
|
|
125
|
-
//# sourceMappingURL=index.js.map
|
|
126
|
-
|
|
127
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;AACO,MAAM,aAAa,GAAGA,cAAe;;ACD5C;;;;;;;;;;;;;;;;AAgBG;AAqCH;;;;;;;;;AASG;AACI,eAAe,OAAO,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACvE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACxE,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,KAAK,CAAC,IAAI,EAAE;IAClB,KAAK,CAAC,MAAM,EAAE;AAChB;AAEA;;;;;;;;;;;AAWG;AACI,eAAe,SAAS,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACzE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1E,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;IACjC,KAAK,CAAC,MAAM,EAAE;IAEd,OAAO,MAAM,CAAC,SAAS;AACzB;AAEA;;;;;;;;;;;;;;;AAeG;AACI,eAAe,QAAQ,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACxE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACzE,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;IACjC,KAAK,CAAC,MAAM,EAAE;AAEd,IAAA,OAAO,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI;AACvD;AAEA;;AAEG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,OAAqB,EAAA;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAuB;AAEtE,IAAA,KAAK,CAAC,OAAO,GAAG,OAAO;IACvB,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO;IAEpC,IAAI,OAAO,CAAC,KAAK;AAAE,QAAA,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK;AACnD,IAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;AAAE,QAAA,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;IAC5D,IAAI,OAAO,CAAC,QAAQ;AAAE,QAAA,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;IACvD,IAAI,OAAO,CAAC,WAAW;AAAE,QAAA,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;IAChE,IAAI,OAAO,CAAC,UAAU;AAAE,QAAA,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;IAC7D,IAAI,OAAO,CAAC,WAAW;AAAE,QAAA,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;IAChE,IAAI,OAAO,CAAC,YAAY;AAAE,QAAA,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;IACnE,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;AAE7D,IAAA,OAAO,KAAK;AACd;;;;;;","names":["appGlobalScript"],"sources":["@stencil/core/internal/app-globals","src/components/le-popup/le-popup.api.ts"],"sourcesContent":["import appGlobalScript from '/Users/leechy/Projects/le-kit/src/global/app.ts';\nexport const globalScripts = appGlobalScript;\nexport const globalStyles = \":root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--le-spacing-0:0;--le-spacing-1:0.25rem;--le-spacing-2:0.5rem;--le-spacing-3:0.75rem;--le-spacing-4:1rem;--le-spacing-5:1.25rem;--le-spacing-6:1.5rem;--le-spacing-8:2rem;--le-spacing-10:2.5rem;--le-spacing-12:3rem;--le-spacing-16:4rem;--le-font-family-base:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--le-font-family-mono:'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;--le-font-size-xs:0.75rem;--le-font-size-sm:0.875rem;--le-font-size-md:1rem;--le-font-size-lg:1.125rem;--le-font-size-xl:1.25rem;--le-font-size-2xl:1.5rem;--le-font-size-3xl:1.875rem;--le-font-size-4xl:2.25rem;--le-font-weight-normal:400;--le-font-weight-medium:500;--le-font-weight-semibold:600;--le-font-weight-bold:700;--le-line-height-tight:1.25;--le-line-height-normal:1.5;--le-line-height-relaxed:1.75;--le-radius-none:0;--le-radius-xs:0.066rem;--le-radius-sm:0.125rem;--le-radius-md:0.25rem;--le-radius-lg:0.5rem;--le-radius-xl:0.75rem;--le-radius-2xl:1rem;--le-radius-full:9999px;--le-transition-fast:100ms;--le-transition-normal:200ms;--le-transition-slow:300ms;--le-transition-easing:cubic-bezier(0.4, 0, 0.2, 1);--le-z-dropdown:1000;--le-z-sticky:1020;--le-z-fixed:1030;--le-z-modal-backdrop:1040;--le-z-modal:1050;--le-z-popover:1060;--le-z-tooltip:1070}:root,[theme=\\\"default\\\"]{--le-color-primary:#0088ff;--le-color-primary-light:#4da6ff;--le-color-primary-dark:#0066cc;--le-color-primary-contrast:#ffffff;--le-color-secondary:#6c757d;--le-color-secondary-light:#868e96;--le-color-secondary-dark:#545b62;--le-color-secondary-contrast:#ffffff;--le-color-success:#28a745;--le-color-success-light:#48c764;--le-color-success-dark:#1e7e34;--le-color-success-contrast:#ffffff;--le-color-warning:#ffc107;--le-color-warning-light:#ffcd39;--le-color-warning-dark:#d39e00;--le-color-warning-contrast:#212529;--le-color-danger:#dc3545;--le-color-danger-light:#e4606d;--le-color-danger-dark:#bd2130;--le-color-danger-contrast:#ffffff;--le-color-info:#17a2b8;--le-color-info-light:#3ab0c3;--le-color-info-dark:#117a8b;--le-color-info-contrast:#ffffff;--le-color-white:#ffffff;--le-color-black:#000000;--le-color-gray-50:#fafafa;--le-color-gray-100:#f5f5f5;--le-color-gray-200:#eeeeee;--le-color-gray-300:#e0e0e0;--le-color-gray-400:#bdbdbd;--le-color-gray-500:#9e9e9e;--le-color-gray-600:#757575;--le-color-gray-700:#616161;--le-color-gray-800:#424242;--le-color-gray-900:#212121;--le-color-background:#ffffff;--le-color-background-secondary:#f5f5f5;--le-color-background-tertiary:#eeeeee;--le-color-surface:#ffffff;--le-color-surface-elevated:#ffffff;--le-color-text-primary:#212121;--le-color-text-secondary:#757575;--le-color-text-disabled:#9e9e9e;--le-color-text-inverse:#ffffff;--le-color-border:#e0e0e0;--le-color-border-light:#eeeeee;--le-color-border-dark:#bdbdbd;--le-border-width:2px;--le-color-border-input:#c4d6e6;--le-color-focus:rgba(0, 136, 255, 0.5);--le-radius-none:0;--le-radius-sm:0.125rem;--le-radius-md:0.25rem;--le-radius-lg:0.5rem;--le-radius-xl:0.75rem;--le-radius-2xl:1rem;--le-radius-full:9999px;--le-shadow-none:none;--le-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--le-shadow-md:0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);--le-shadow-lg:0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);--le-shadow-xl:0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);--le-shadow-2xl:0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04)}[theme=\\\"dark\\\"]{--le-color-primary:#4da6ff;--le-color-primary-light:#80c1ff;--le-color-primary-dark:#0088ff;--le-color-primary-contrast:#000000;--le-color-secondary:#868e96;--le-color-secondary-light:#adb5bd;--le-color-secondary-dark:#6c757d;--le-color-secondary-contrast:#000000;--le-color-success:#48c764;--le-color-success-light:#6dd587;--le-color-success-dark:#28a745;--le-color-success-contrast:#000000;--le-color-warning:#ffcd39;--le-color-warning-light:#ffda6a;--le-color-warning-dark:#ffc107;--le-color-warning-contrast:#000000;--le-color-danger:#e4606d;--le-color-danger-light:#ea868f;--le-color-danger-dark:#dc3545;--le-color-danger-contrast:#000000;--le-color-info:#3ab0c3;--le-color-info-light:#6dc4d3;--le-color-info-dark:#17a2b8;--le-color-info-contrast:#000000;--le-color-white:#ffffff;--le-color-black:#000000;--le-color-gray-50:#212121;--le-color-gray-100:#424242;--le-color-gray-200:#616161;--le-color-gray-300:#757575;--le-color-gray-400:#9e9e9e;--le-color-gray-500:#bdbdbd;--le-color-gray-600:#e0e0e0;--le-color-gray-700:#eeeeee;--le-color-gray-800:#f5f5f5;--le-color-gray-900:#fafafa;--le-color-background:#121212;--le-color-background-secondary:#1e1e1e;--le-color-background-tertiary:#2d2d2d;--le-color-surface:#1e1e1e;--le-color-surface-elevated:#2d2d2d;--le-color-text-primary:#ffffff;--le-color-text-secondary:#b3b3b3;--le-color-text-disabled:#666666;--le-color-text-inverse:#121212;--le-color-border:#333333;--le-color-border-light:#2d2d2d;--le-color-border-dark:#444444;--le-border-width:2px;--le-color-border-input:#515c6b;--le-color-focus:rgba(77, 166, 255, 0.5);--le-radius-none:0;--le-radius-sm:0.125rem;--le-radius-md:0.25rem;--le-radius-lg:0.5rem;--le-radius-xl:0.75rem;--le-radius-2xl:1rem;--le-radius-full:9999px;--le-shadow-none:none;--le-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.3);--le-shadow-md:0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);--le-shadow-lg:0 4px 6px rgba(0, 0, 0, 0.4), 0 2px 4px rgba(0, 0, 0, 0.3);--le-shadow-xl:0 10px 15px rgba(0, 0, 0, 0.4), 0 4px 6px rgba(0, 0, 0, 0.3);--le-shadow-2xl:0 20px 25px rgba(0, 0, 0, 0.4), 0 10px 10px rgba(0, 0, 0, 0.3)}[theme=\\\"gradient\\\"]{--le-color-primary:#8b5cf6;--le-color-primary-light:#a78bfa;--le-color-primary-dark:#7c3aed;--le-color-primary-contrast:#ffffff;--le-color-secondary:#ec4899;--le-color-secondary-light:#f472b6;--le-color-secondary-dark:#db2777;--le-color-secondary-contrast:#ffffff;--le-color-success:#10b981;--le-color-success-light:#34d399;--le-color-success-dark:#059669;--le-color-success-contrast:#ffffff;--le-color-warning:#f59e0b;--le-color-warning-light:#fbbf24;--le-color-warning-dark:#d97706;--le-color-warning-contrast:#000000;--le-color-danger:#ef4444;--le-color-danger-light:#f87171;--le-color-danger-dark:#dc2626;--le-color-danger-contrast:#ffffff;--le-color-info:#06b6d4;--le-color-info-light:#22d3ee;--le-color-info-dark:#0891b2;--le-color-info-contrast:#ffffff;--le-color-white:#ffffff;--le-color-black:#000000;--le-color-gray-50:#faf5ff;--le-color-gray-100:#f3e8ff;--le-color-gray-200:#e9d5ff;--le-color-gray-300:#d8b4fe;--le-color-gray-400:#c084fc;--le-color-gray-500:#a855f7;--le-color-gray-600:#9333ea;--le-color-gray-700:#7e22ce;--le-color-gray-800:#6b21a8;--le-color-gray-900:#581c87;--le-color-background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--le-color-background-secondary:rgba(255, 255, 255, 0.1);--le-color-background-tertiary:rgba(255, 255, 255, 0.05);--le-color-surface:rgba(255, 255, 255, 0.95);--le-color-surface-elevated:#ffffff;--le-color-text-primary:#1f2937;--le-color-text-secondary:#6b7280;--le-color-text-disabled:#9ca3af;--le-color-text-inverse:#ffffff;--le-color-border:rgba(139, 92, 246, 0.3);--le-color-border-light:rgba(139, 92, 246, 0.1);--le-color-border-dark:rgba(139, 92, 246, 0.5);--le-border-width:2px;--le-color-border-input:#eccddd;--le-color-focus:rgba(139, 92, 246, 0.5);--le-radius-none:0;--le-radius-sm:0.25rem;--le-radius-md:0.5rem;--le-radius-lg:1rem;--le-radius-xl:1.5rem;--le-radius-2xl:2rem;--le-radius-full:9999px;--le-shadow-none:none;--le-shadow-sm:0 1px 2px rgba(139, 92, 246, 0.1);--le-shadow-md:0 4px 6px rgba(139, 92, 246, 0.15), 0 2px 4px rgba(139, 92, 246, 0.1);--le-shadow-lg:0 10px 20px rgba(139, 92, 246, 0.2), 0 4px 8px rgba(139, 92, 246, 0.1);--le-shadow-xl:0 20px 40px rgba(139, 92, 246, 0.25), 0 8px 16px rgba(139, 92, 246, 0.15);--le-shadow-2xl:0 30px 60px rgba(139, 92, 246, 0.3), 0 15px 30px rgba(139, 92, 246, 0.2)}[theme=\\\"minimal\\\"]{--le-color-primary:#111827;--le-color-primary-light:#374151;--le-color-primary-dark:#030712;--le-color-primary-contrast:#ffffff;--le-color-secondary:#6b7280;--le-color-secondary-light:#9ca3af;--le-color-secondary-dark:#4b5563;--le-color-secondary-contrast:#ffffff;--le-color-success:#059669;--le-color-success-light:#10b981;--le-color-success-dark:#047857;--le-color-success-contrast:#ffffff;--le-color-warning:#d97706;--le-color-warning-light:#f59e0b;--le-color-warning-dark:#b45309;--le-color-warning-contrast:#ffffff;--le-color-danger:#dc2626;--le-color-danger-light:#ef4444;--le-color-danger-dark:#b91c1c;--le-color-danger-contrast:#ffffff;--le-color-info:#0284c7;--le-color-info-light:#0ea5e9;--le-color-info-dark:#0369a1;--le-color-info-contrast:#ffffff;--le-color-white:#ffffff;--le-color-black:#000000;--le-color-gray-50:#f9fafb;--le-color-gray-100:#f3f4f6;--le-color-gray-200:#e5e7eb;--le-color-gray-300:#d1d5db;--le-color-gray-400:#9ca3af;--le-color-gray-500:#6b7280;--le-color-gray-600:#4b5563;--le-color-gray-700:#374151;--le-color-gray-800:#1f2937;--le-color-gray-900:#111827;--le-color-background:#ffffff;--le-color-background-secondary:#fafafa;--le-color-background-tertiary:#f5f5f5;--le-color-surface:#ffffff;--le-color-surface-elevated:#ffffff;--le-color-text-primary:#111827;--le-color-text-secondary:#6b7280;--le-color-text-disabled:#9ca3af;--le-color-text-inverse:#ffffff;--le-color-border:#e5e7eb;--le-color-border-light:#f3f4f6;--le-color-border-dark:#d1d5db;--le-border-width:1px;--le-color-border-input:#c8cfdd;--le-color-focus:rgba(17, 24, 39, 0.3);--le-radius-none:0;--le-radius-sm:0;--le-radius-md:2px;--le-radius-lg:4px;--le-radius-xl:6px;--le-radius-2xl:8px;--le-radius-full:9999px;--le-shadow-none:none;--le-shadow-sm:none;--le-shadow-md:0 1px 2px rgba(0, 0, 0, 0.05);--le-shadow-lg:0 1px 3px rgba(0, 0, 0, 0.08);--le-shadow-xl:0 2px 4px rgba(0, 0, 0, 0.1);--le-shadow-2xl:0 4px 8px rgba(0, 0, 0, 0.1)}[theme=\\\"warm\\\"]{--le-color-primary:#ea580c;--le-color-primary-light:#fb923c;--le-color-primary-dark:#c2410c;--le-color-primary-contrast:#ffffff;--le-color-secondary:#b45309;--le-color-secondary-light:#d97706;--le-color-secondary-dark:#92400e;--le-color-secondary-contrast:#ffffff;--le-color-success:#16a34a;--le-color-success-light:#22c55e;--le-color-success-dark:#15803d;--le-color-success-contrast:#ffffff;--le-color-warning:#ca8a04;--le-color-warning-light:#eab308;--le-color-warning-dark:#a16207;--le-color-warning-contrast:#000000;--le-color-danger:#dc2626;--le-color-danger-light:#ef4444;--le-color-danger-dark:#b91c1c;--le-color-danger-contrast:#ffffff;--le-color-info:#0891b2;--le-color-info-light:#06b6d4;--le-color-info-dark:#0e7490;--le-color-info-contrast:#ffffff;--le-color-white:#ffffff;--le-color-black:#000000;--le-color-gray-50:#fffbeb;--le-color-gray-100:#fef3c7;--le-color-gray-200:#fde68a;--le-color-gray-300:#fcd34d;--le-color-gray-400:#fbbf24;--le-color-gray-500:#f59e0b;--le-color-gray-600:#d97706;--le-color-gray-700:#b45309;--le-color-gray-800:#92400e;--le-color-gray-900:#78350f;--le-color-background:#fffbeb;--le-color-background-secondary:#fef3c7;--le-color-background-tertiary:#fde68a;--le-color-surface:#ffffff;--le-color-surface-elevated:#ffffff;--le-color-text-primary:#78350f;--le-color-text-secondary:#92400e;--le-color-text-disabled:#d97706;--le-color-text-inverse:#ffffff;--le-color-border:#fcd34d;--le-color-border-light:#fde68a;--le-color-border-dark:#fbbf24;--le-border-width:2px;--le-color-border-input:#e7d4c4;--le-color-focus:rgba(234, 88, 12, 0.5);--le-radius-none:0;--le-radius-sm:0.125rem;--le-radius-md:0.375rem;--le-radius-lg:0.625rem;--le-radius-xl:0.875rem;--le-radius-2xl:1.125rem;--le-radius-full:9999px;--le-shadow-none:none;--le-shadow-sm:0 1px 2px rgba(234, 88, 12, 0.05);--le-shadow-md:0 4px 6px rgba(234, 88, 12, 0.1), 0 2px 4px rgba(234, 88, 12, 0.06);--le-shadow-lg:0 10px 15px rgba(234, 88, 12, 0.15), 0 4px 6px rgba(234, 88, 12, 0.08);--le-shadow-xl:0 20px 25px rgba(234, 88, 12, 0.15), 0 10px 10px rgba(234, 88, 12, 0.1);--le-shadow-2xl:0 25px 50px rgba(234, 88, 12, 0.2), 0 12px 24px rgba(234, 88, 12, 0.12)}:root{--le-space-xs:4px;--le-space-sm:8px;--le-space-md:16px;--le-space-lg:24px;--le-space-xl:32px;--le-space-2xl:48px;--le-space-3xl:64px;--le-font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--le-font-family-mono:'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;--le-font-size-xs:0.75rem;--le-font-size-sm:0.875rem;--le-font-size-md:1rem;--le-font-size-lg:1.125rem;--le-font-size-xl:1.25rem;--le-font-size-2xl:1.5rem;--le-font-size-3xl:2rem;--le-font-size-4xl:2.5rem;--le-font-weight-normal:400;--le-font-weight-medium:500;--le-font-weight-semibold:600;--le-font-weight-bold:700;--le-line-height-tight:1.25;--le-line-height-normal:1.5;--le-line-height-relaxed:1.75;--le-transition-fast:150ms ease;--le-transition-normal:250ms ease;--le-transition-slow:400ms ease;--le-transition-bounce:400ms cubic-bezier(0.68, -0.55, 0.265, 1.55);--le-z-dropdown:1000;--le-z-sticky:1020;--le-z-fixed:1030;--le-z-modal-backdrop:1040;--le-z-modal:1050;--le-z-popover:1060;--le-z-tooltip:1070}:root,[theme=\\\"default\\\"]{--le-color-primary:#3b82f6;--le-color-primary-hover:#2563eb;--le-color-primary-active:#1d4ed8;--le-color-primary-subtle:#eff6ff;--le-color-on-primary:#ffffff;--le-color-secondary:#64748b;--le-color-secondary-hover:#475569;--le-color-secondary-active:#334155;--le-color-secondary-subtle:#f1f5f9;--le-color-on-secondary:#ffffff;--le-color-success:#22c55e;--le-color-success-subtle:#f0fdf4;--le-color-on-success:#ffffff;--le-color-warning:#f59e0b;--le-color-warning-subtle:#fffbeb;--le-color-on-warning:#000000;--le-color-error:#ef4444;--le-color-error-subtle:#fef2f2;--le-color-on-error:#ffffff;--le-color-info:#06b6d4;--le-color-info-subtle:#ecfeff;--le-color-on-info:#ffffff;--le-color-background:#ffffff;--le-color-surface:#ffffff;--le-color-surface-raised:#ffffff;--le-color-surface-overlay:rgba(0, 0, 0, 0.5);--le-color-text:#1e293b;--le-color-text-secondary:#64748b;--le-color-text-muted:#94a3b8;--le-color-text-inverse:#ffffff;--le-color-border:#e2e8f0;--le-color-border-strong:#cbd5e1;--le-color-border-focus:var(--le-color-primary);--le-radius-none:0;--le-radius-sm:4px;--le-radius-md:7px;--le-radius-lg:12px;--le-radius-xl:16px;--le-radius-2xl:24px;--le-radius-full:9999px;--le-shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--le-shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);--le-shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);--le-shadow-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);--le-shadow-focus:0 0 0 3px rgba(59, 130, 246, 0.3)}[theme=\\\"dark\\\"]{--le-color-primary:#60a5fa;--le-color-primary-hover:#93c5fd;--le-color-primary-active:#3b82f6;--le-color-primary-subtle:#1e3a5f;--le-color-on-primary:#0f172a;--le-color-secondary:#94a3b8;--le-color-secondary-hover:#cbd5e1;--le-color-secondary-active:#64748b;--le-color-secondary-subtle:#1e293b;--le-color-on-secondary:#0f172a;--le-color-success:#4ade80;--le-color-success-subtle:#14532d;--le-color-on-success:#0f172a;--le-color-warning:#fbbf24;--le-color-warning-subtle:#422006;--le-color-on-warning:#0f172a;--le-color-error:#f87171;--le-color-error-subtle:#450a0a;--le-color-on-error:#0f172a;--le-color-info:#22d3ee;--le-color-info-subtle:#164e63;--le-color-on-info:#0f172a;--le-color-background:#0f172a;--le-color-surface:#1e293b;--le-color-surface-raised:#334155;--le-color-surface-overlay:rgba(0, 0, 0, 0.7);--le-color-text:#f1f5f9;--le-color-text-secondary:#94a3b8;--le-color-text-muted:#64748b;--le-color-text-inverse:#0f172a;--le-color-border:#334155;--le-color-border-strong:#475569;--le-color-border-focus:var(--le-color-primary);--le-shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.3);--le-shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);--le-shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.3);--le-shadow-xl:0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);--le-shadow-focus:0 0 0 3px rgba(96, 165, 250, 0.4)}[theme=\\\"gradient\\\"]{--le-color-primary:#8b5cf6;--le-color-primary-hover:#a78bfa;--le-color-primary-active:#7c3aed;--le-color-primary-subtle:#f5f3ff;--le-color-on-primary:#ffffff;--le-color-secondary:#ec4899;--le-color-secondary-hover:#f472b6;--le-color-secondary-active:#db2777;--le-color-secondary-subtle:#fdf2f8;--le-color-on-secondary:#ffffff;--le-color-success:#10b981;--le-color-success-subtle:#ecfdf5;--le-color-on-success:#ffffff;--le-color-warning:#f59e0b;--le-color-warning-subtle:#fffbeb;--le-color-on-warning:#000000;--le-color-error:#f43f5e;--le-color-error-subtle:#fff1f2;--le-color-on-error:#ffffff;--le-color-info:#06b6d4;--le-color-info-subtle:#ecfeff;--le-color-on-info:#ffffff;--le-color-background:linear-gradient(135deg, #faf5ff 0%, #fdf2f8 50%, #fff7ed 100%);--le-color-surface:rgba(255, 255, 255, 0.9);--le-color-surface-raised:#ffffff;--le-color-surface-overlay:rgba(139, 92, 246, 0.3);--le-color-text:#1f2937;--le-color-text-secondary:#6b7280;--le-color-text-muted:#9ca3af;--le-color-text-inverse:#ffffff;--le-color-border:rgba(139, 92, 246, 0.2);--le-color-border-strong:rgba(139, 92, 246, 0.4);--le-color-border-focus:var(--le-color-primary);--le-radius-sm:6px;--le-radius-md:12px;--le-radius-lg:16px;--le-radius-xl:20px;--le-radius-2xl:28px;--le-shadow-sm:0 1px 3px 0 rgba(139, 92, 246, 0.1);--le-shadow-md:0 4px 6px -1px rgba(139, 92, 246, 0.15), 0 2px 4px -2px rgba(236, 72, 153, 0.1);--le-shadow-lg:0 10px 15px -3px rgba(139, 92, 246, 0.2), 0 4px 6px -4px rgba(236, 72, 153, 0.15);--le-shadow-xl:0 20px 25px -5px rgba(139, 92, 246, 0.25), 0 8px 10px -6px rgba(236, 72, 153, 0.2);--le-shadow-focus:0 0 0 3px rgba(139, 92, 246, 0.4)}[theme=\\\"minimal\\\"]{--le-color-primary:#374151;--le-color-primary-hover:#1f2937;--le-color-primary-active:#111827;--le-color-primary-subtle:#f3f4f6;--le-color-on-primary:#ffffff;--le-color-secondary:#9ca3af;--le-color-secondary-hover:#6b7280;--le-color-secondary-active:#4b5563;--le-color-secondary-subtle:#f9fafb;--le-color-on-secondary:#ffffff;--le-color-success:#059669;--le-color-success-subtle:#f0fdf4;--le-color-on-success:#ffffff;--le-color-warning:#d97706;--le-color-warning-subtle:#fffbeb;--le-color-on-warning:#ffffff;--le-color-error:#dc2626;--le-color-error-subtle:#fef2f2;--le-color-on-error:#ffffff;--le-color-info:#0891b2;--le-color-info-subtle:#ecfeff;--le-color-on-info:#ffffff;--le-color-background:#fafafa;--le-color-surface:#ffffff;--le-color-surface-raised:#ffffff;--le-color-surface-overlay:rgba(0, 0, 0, 0.4);--le-color-text:#111827;--le-color-text-secondary:#6b7280;--le-color-text-muted:#9ca3af;--le-color-text-inverse:#ffffff;--le-color-border:#e5e7eb;--le-color-border-strong:#d1d5db;--le-color-border-focus:var(--le-color-primary);--le-radius-none:0;--le-radius-sm:2px;--le-radius-md:4px;--le-radius-lg:6px;--le-radius-xl:8px;--le-radius-2xl:12px;--le-radius-full:9999px;--le-shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.03);--le-shadow-md:0 2px 4px -1px rgba(0, 0, 0, 0.06);--le-shadow-lg:0 4px 8px -2px rgba(0, 0, 0, 0.08);--le-shadow-xl:0 8px 16px -4px rgba(0, 0, 0, 0.1);--le-shadow-focus:0 0 0 2px rgba(55, 65, 81, 0.2)}[theme=\\\"warm\\\"]{--le-color-primary:#ea580c;--le-color-primary-hover:#f97316;--le-color-primary-active:#c2410c;--le-color-primary-subtle:#fff7ed;--le-color-on-primary:#ffffff;--le-color-secondary:#78716c;--le-color-secondary-hover:#57534e;--le-color-secondary-active:#44403c;--le-color-secondary-subtle:#fafaf9;--le-color-on-secondary:#ffffff;--le-color-success:#65a30d;--le-color-success-subtle:#f7fee7;--le-color-on-success:#ffffff;--le-color-warning:#d97706;--le-color-warning-subtle:#fffbeb;--le-color-on-warning:#000000;--le-color-error:#dc2626;--le-color-error-subtle:#fef2f2;--le-color-on-error:#ffffff;--le-color-info:#0891b2;--le-color-info-subtle:#ecfeff;--le-color-on-info:#ffffff;--le-color-background:#fffbf5;--le-color-surface:#ffffff;--le-color-surface-raised:#ffffff;--le-color-surface-overlay:rgba(120, 53, 15, 0.4);--le-color-text:#292524;--le-color-text-secondary:#78716c;--le-color-text-muted:#a8a29e;--le-color-text-inverse:#ffffff;--le-color-border:#e7e5e4;--le-color-border-strong:#d6d3d1;--le-color-border-focus:var(--le-color-primary);--le-radius-sm:4px;--le-radius-md:8px;--le-radius-lg:12px;--le-radius-xl:16px;--le-radius-2xl:24px;--le-shadow-sm:0 1px 2px 0 rgba(120, 53, 15, 0.05);--le-shadow-md:0 4px 6px -1px rgba(120, 53, 15, 0.1), 0 2px 4px -2px rgba(120, 53, 15, 0.08);--le-shadow-lg:0 10px 15px -3px rgba(120, 53, 15, 0.12), 0 4px 6px -4px rgba(120, 53, 15, 0.1);--le-shadow-xl:0 20px 25px -5px rgba(120, 53, 15, 0.15), 0 8px 10px -6px rgba(120, 53, 15, 0.12);--le-shadow-focus:0 0 0 3px rgba(234, 88, 12, 0.3)}\";\n","/**\n * Programmatic API for le-popup component\n * \n * These functions allow you to show popups without manually creating elements.\n * \n * @example\n * // Alert\n * await leAlert('Something happened!');\n * \n * // Confirm\n * const confirmed = await leConfirm('Are you sure?');\n * if (confirmed) { ... }\n * \n * // Prompt\n * const name = await lePrompt('What is your name?');\n * if (name !== null) { ... }\n */\n\nimport type { PopupType, PopupPosition, PopupResult } from './le-popup';\n\n/**\n * Options for programmatic popup functions\n */\nexport interface PopupOptions {\n title?: string;\n type?: PopupType;\n modal?: boolean;\n position?: PopupPosition;\n confirmText?: string;\n cancelText?: string;\n placeholder?: string;\n defaultValue?: string;\n theme?: string;\n}\n\n/**\n * Interface for the le-popup custom element\n */\ninterface HTMLLePopupElement extends HTMLElement {\n open: boolean;\n type: PopupType;\n popupTitle?: string;\n message?: string;\n modal: boolean;\n position: PopupPosition;\n confirmText: string;\n cancelText: string;\n placeholder: string;\n defaultValue: string;\n show(): Promise<PopupResult>;\n hide(confirmed?: boolean): Promise<void>;\n}\n\n/**\n * Show an alert popup with a message\n * @param message - The message to display\n * @param options - Optional configuration\n * @returns Promise that resolves when closed\n * \n * @example\n * await leAlert('File saved successfully!');\n * await leAlert('Error occurred', { title: 'Error', theme: 'dark' });\n */\nexport async function leAlert(message: string, options: PopupOptions = {}): Promise<void> {\n const popup = createPopupElement(message, { ...options, type: 'alert' });\n document.body.appendChild(popup);\n \n await popup.show();\n popup.remove();\n}\n\n/**\n * Show a confirm popup with OK/Cancel buttons\n * @param message - The message to display\n * @param options - Optional configuration\n * @returns Promise that resolves to true (confirmed) or false (cancelled)\n * \n * @example\n * const confirmed = await leConfirm('Delete this item?');\n * if (confirmed) {\n * deleteItem();\n * }\n */\nexport async function leConfirm(message: string, options: PopupOptions = {}): Promise<boolean> {\n const popup = createPopupElement(message, { ...options, type: 'confirm' });\n document.body.appendChild(popup);\n \n const result = await popup.show();\n popup.remove();\n \n return result.confirmed;\n}\n\n/**\n * Show a prompt popup with an input field\n * @param message - The message to display\n * @param options - Optional configuration (including defaultValue, placeholder)\n * @returns Promise that resolves to the input value or null if cancelled\n * \n * @example\n * const name = await lePrompt('Enter your name:', { \n * title: 'Welcome',\n * placeholder: 'John Doe',\n * defaultValue: 'Guest'\n * });\n * if (name !== null) {\n * greetUser(name);\n * }\n */\nexport async function lePrompt(message: string, options: PopupOptions = {}): Promise<string | null> {\n const popup = createPopupElement(message, { ...options, type: 'prompt' });\n document.body.appendChild(popup);\n \n const result = await popup.show();\n popup.remove();\n \n return result.confirmed ? (result.value ?? '') : null;\n}\n\n/**\n * Create a popup element with the given configuration\n */\nfunction createPopupElement(message: string, options: PopupOptions): HTMLLePopupElement {\n const popup = document.createElement('le-popup') as HTMLLePopupElement;\n \n popup.message = message;\n popup.type = options.type || 'alert';\n \n if (options.title) popup.popupTitle = options.title;\n if (options.modal !== undefined) popup.modal = options.modal;\n if (options.position) popup.position = options.position;\n if (options.confirmText) popup.confirmText = options.confirmText;\n if (options.cancelText) popup.cancelText = options.cancelText;\n if (options.placeholder) popup.placeholder = options.placeholder;\n if (options.defaultValue) popup.defaultValue = options.defaultValue;\n if (options.theme) popup.setAttribute('theme', options.theme);\n \n return popup;\n}\n"],"version":3}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/components";
|
|
2
|
-
|
|
3
|
-
interface LeBox extends Components.LeBox, HTMLElement {}
|
|
4
|
-
export const LeBox: {
|
|
5
|
-
prototype: LeBox;
|
|
6
|
-
new (): LeBox;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|