le-kit 0.1.5 → 0.1.7

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.
Files changed (201) hide show
  1. package/{dist/le-kit/assets/custom-elements.json → custom-elements.json} +833 -833
  2. package/dist/cjs/index-D7B9TPh8.js +1835 -0
  3. package/dist/cjs/index-D7B9TPh8.js.map +1 -0
  4. package/dist/cjs/index.cjs.js +119 -0
  5. package/dist/cjs/index.cjs.js.map +1 -0
  6. package/dist/cjs/le-box.cjs.entry.js +184 -0
  7. package/dist/cjs/le-box.entry.cjs.js.map +1 -0
  8. package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.cjs.js.map +1 -0
  9. package/dist/cjs/le-button_6.cjs.entry.js +1200 -0
  10. package/dist/cjs/le-card.cjs.entry.js +29 -0
  11. package/dist/cjs/le-card.entry.cjs.js.map +1 -0
  12. package/dist/cjs/le-kit.cjs.js +25 -0
  13. package/dist/cjs/le-kit.cjs.js.map +1 -0
  14. package/dist/cjs/le-number-input.cjs.entry.js +202 -0
  15. package/dist/cjs/le-number-input.entry.cjs.js.map +1 -0
  16. package/dist/cjs/le-popup.cjs.entry.js +212 -0
  17. package/dist/cjs/le-popup.entry.cjs.js.map +1 -0
  18. package/dist/cjs/le-round-progress.cjs.entry.js +106 -0
  19. package/dist/cjs/le-round-progress.entry.cjs.js.map +1 -0
  20. package/dist/cjs/le-stack.cjs.entry.js +135 -0
  21. package/dist/cjs/le-stack.entry.cjs.js.map +1 -0
  22. package/dist/cjs/le-text.cjs.entry.js +335 -0
  23. package/dist/cjs/le-text.entry.cjs.js.map +1 -0
  24. package/dist/cjs/le-turntable.cjs.entry.js +139 -0
  25. package/dist/cjs/le-turntable.entry.cjs.js.map +1 -0
  26. package/dist/cjs/loader.cjs.js +13 -0
  27. package/dist/cjs/loader.cjs.js.map +1 -0
  28. package/dist/cjs/utils-DrsoID-a.js +152 -0
  29. package/dist/cjs/utils-DrsoID-a.js.map +1 -0
  30. package/dist/collection/collection-manifest.json +26 -0
  31. package/dist/collection/components/le-box/le-box.default.css +37 -0
  32. package/dist/collection/components/le-box/le-box.js +614 -0
  33. package/dist/collection/components/le-box/le-box.js.map +1 -0
  34. package/dist/collection/components/le-button/le-button.default.css +263 -0
  35. package/dist/collection/components/le-button/le-button.js +368 -0
  36. package/dist/collection/components/le-button/le-button.js.map +1 -0
  37. package/dist/collection/components/le-card/le-card.default.css +74 -0
  38. package/dist/collection/components/le-card/le-card.js +102 -0
  39. package/dist/collection/components/le-card/le-card.js.map +1 -0
  40. package/dist/collection/components/le-checkbox/le-checkbox.css +93 -0
  41. package/dist/collection/components/le-checkbox/le-checkbox.js +192 -0
  42. package/dist/collection/components/le-checkbox/le-checkbox.js.map +1 -0
  43. package/dist/collection/components/le-component/le-component.css +189 -0
  44. package/dist/{le-kit/le-component.entry.js → collection/components/le-component/le-component.js} +141 -24
  45. package/dist/collection/components/le-component/le-component.js.map +1 -0
  46. package/dist/collection/components/le-number-input/le-number-input.css +135 -0
  47. package/dist/collection/components/le-number-input/le-number-input.js +515 -0
  48. package/dist/collection/components/le-number-input/le-number-input.js.map +1 -0
  49. package/dist/collection/components/le-popover/le-popover.css +143 -0
  50. package/dist/collection/components/le-popover/le-popover.js +693 -0
  51. package/dist/collection/components/le-popover/le-popover.js.map +1 -0
  52. package/dist/collection/components/le-popup/le-popup.api.js +101 -0
  53. package/dist/collection/components/le-popup/le-popup.api.js.map +1 -0
  54. package/dist/collection/components/le-popup/le-popup.css +222 -0
  55. package/dist/collection/components/le-popup/le-popup.js +596 -0
  56. package/dist/collection/components/le-popup/le-popup.js.map +1 -0
  57. package/dist/collection/components/le-round-progress/le-round-progress.css +34 -0
  58. package/dist/collection/components/le-round-progress/le-round-progress.js +184 -0
  59. package/dist/collection/components/le-round-progress/le-round-progress.js.map +1 -0
  60. package/dist/collection/components/le-slot/le-slot.default.css +222 -0
  61. package/dist/{le-kit/le-slot.entry.js → collection/components/le-slot/le-slot.js} +270 -20
  62. package/dist/collection/components/le-slot/le-slot.js.map +1 -0
  63. package/dist/collection/components/le-stack/le-stack.default.css +37 -0
  64. package/dist/collection/components/le-stack/le-stack.js +389 -0
  65. package/dist/collection/components/le-stack/le-stack.js.map +1 -0
  66. package/dist/collection/components/le-string-input/le-string-input.css +83 -0
  67. package/dist/collection/components/le-string-input/le-string-input.js +359 -0
  68. package/dist/collection/components/le-string-input/le-string-input.js.map +1 -0
  69. package/dist/collection/components/le-text/le-text.default.css +169 -0
  70. package/dist/collection/components/le-text/le-text.js +475 -0
  71. package/dist/collection/components/le-text/le-text.js.map +1 -0
  72. package/dist/collection/components/le-turntable/le-turntable.css +10 -0
  73. package/dist/collection/components/le-turntable/le-turntable.js +210 -0
  74. package/dist/collection/components/le-turntable/le-turntable.js.map +1 -0
  75. package/dist/collection/global/app.js +167 -0
  76. package/dist/collection/global/app.js.map +1 -0
  77. package/dist/collection/index.js +15 -0
  78. package/dist/collection/index.js.map +1 -0
  79. package/dist/collection/types/blocks.js +115 -0
  80. package/dist/collection/types/blocks.js.map +1 -0
  81. package/dist/collection/types/options.js +2 -0
  82. package/dist/collection/types/options.js.map +1 -0
  83. package/dist/collection/utils/utils.js +141 -0
  84. package/dist/collection/utils/utils.js.map +1 -0
  85. package/dist/components/index.js +127 -0
  86. package/dist/components/index.js.map +1 -0
  87. package/dist/components/le-box.js +256 -0
  88. package/dist/components/le-box.js.map +1 -0
  89. package/dist/components/le-button.js +9 -0
  90. package/dist/components/le-button.js.map +1 -0
  91. package/dist/components/le-button2.js +1446 -0
  92. package/dist/components/le-button2.js.map +1 -0
  93. package/dist/components/le-card.js +83 -0
  94. package/dist/components/le-card.js.map +1 -0
  95. package/dist/components/le-checkbox.js +9 -0
  96. package/dist/components/le-checkbox.js.map +1 -0
  97. package/dist/components/le-component.js +9 -0
  98. package/dist/components/le-component.js.map +1 -0
  99. package/dist/components/le-number-input.js +271 -0
  100. package/dist/components/le-number-input.js.map +1 -0
  101. package/dist/components/le-popover.js +9 -0
  102. package/dist/components/le-popover.js.map +1 -0
  103. package/dist/{le-kit/le-popover.entry.js → components/le-popover2.js} +45 -9
  104. package/dist/components/le-popover2.js.map +1 -0
  105. package/dist/components/le-popup.js +279 -0
  106. package/dist/components/le-popup.js.map +1 -0
  107. package/dist/components/le-round-progress.js +135 -0
  108. package/dist/components/le-round-progress.js.map +1 -0
  109. package/dist/components/le-slot.js +9 -0
  110. package/dist/components/le-slot.js.map +1 -0
  111. package/dist/components/le-stack.js +198 -0
  112. package/dist/components/le-stack.js.map +1 -0
  113. package/dist/components/le-string-input.js +9 -0
  114. package/dist/components/le-string-input.js.map +1 -0
  115. package/dist/components/le-text.js +398 -0
  116. package/dist/components/le-text.js.map +1 -0
  117. package/dist/components/le-turntable.js +164 -0
  118. package/dist/components/le-turntable.js.map +1 -0
  119. package/dist/docs.d.ts +443 -0
  120. package/dist/docs.json +5185 -0
  121. package/dist/esm/index-PS-3Rz-c.js +1818 -0
  122. package/dist/esm/index-PS-3Rz-c.js.map +1 -0
  123. package/dist/esm/index.js +106 -0
  124. package/dist/esm/index.js.map +1 -0
  125. package/dist/{le-kit → esm}/le-box.entry.js +3 -3
  126. package/dist/esm/le-box.entry.js.map +1 -0
  127. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +1 -0
  128. package/dist/esm/le-button_6.entry.js +1193 -0
  129. package/dist/{le-kit → esm}/le-card.entry.js +3 -3
  130. package/dist/esm/le-card.entry.js.map +1 -0
  131. package/dist/esm/le-kit.js +21 -0
  132. package/dist/esm/le-kit.js.map +1 -0
  133. package/dist/{le-kit → esm}/le-number-input.entry.js +5 -5
  134. package/dist/esm/le-number-input.entry.js.map +1 -0
  135. package/dist/{le-kit → esm}/le-popup.entry.js +6 -6
  136. package/dist/esm/le-popup.entry.js.map +1 -0
  137. package/dist/{le-kit → esm}/le-round-progress.entry.js +2 -2
  138. package/dist/esm/le-round-progress.entry.js.map +1 -0
  139. package/dist/{le-kit → esm}/le-stack.entry.js +3 -3
  140. package/dist/esm/le-stack.entry.js.map +1 -0
  141. package/dist/{le-kit → esm}/le-text.entry.js +3 -3
  142. package/dist/esm/le-text.entry.js.map +1 -0
  143. package/dist/{le-kit → esm}/le-turntable.entry.js +2 -2
  144. package/dist/esm/le-turntable.entry.js.map +1 -0
  145. package/dist/esm/loader.js +11 -0
  146. package/dist/esm/loader.js.map +1 -0
  147. package/dist/{le-kit/utils-FDOApZ53.js → esm/utils-lgjSfQP0.js} +3 -3
  148. package/dist/{le-kit/utils-FDOApZ53.js.map → esm/utils-lgjSfQP0.js.map} +1 -1
  149. package/dist/index.cjs.js +1 -0
  150. package/dist/index.js +1 -0
  151. package/dist/le-kit/index.esm.js +2 -116
  152. package/dist/le-kit/index.esm.js.map +1 -1
  153. package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +1 -0
  154. package/dist/le-kit/le-kit.css +1 -1010
  155. package/dist/le-kit/le-kit.esm.js +2 -48
  156. package/dist/le-kit/le-kit.esm.js.map +1 -1
  157. package/dist/le-kit/p-27710b5b.entry.js +2 -0
  158. package/dist/le-kit/p-27710b5b.entry.js.map +1 -0
  159. package/dist/le-kit/p-34102cef.entry.js +2 -0
  160. package/dist/le-kit/p-34102cef.entry.js.map +1 -0
  161. package/dist/le-kit/p-56a80e6d.entry.js +2 -0
  162. package/dist/le-kit/p-56a80e6d.entry.js.map +1 -0
  163. package/dist/le-kit/p-615ea10f.entry.js +2 -0
  164. package/dist/le-kit/p-615ea10f.entry.js.map +1 -0
  165. package/dist/le-kit/p-935bb2d4.entry.js +2 -0
  166. package/dist/le-kit/p-935bb2d4.entry.js.map +1 -0
  167. package/dist/le-kit/p-9d3dc4e5.entry.js +2 -0
  168. package/dist/le-kit/p-9d3dc4e5.entry.js.map +1 -0
  169. package/dist/le-kit/p-DN2JVY-7.js +2 -0
  170. package/dist/le-kit/p-DN2JVY-7.js.map +1 -0
  171. package/dist/le-kit/p-PS-3Rz-c.js +3 -0
  172. package/dist/le-kit/p-PS-3Rz-c.js.map +1 -0
  173. package/dist/le-kit/p-ccabc638.entry.js +2 -0
  174. package/dist/le-kit/p-ccabc638.entry.js.map +1 -0
  175. package/dist/le-kit/p-d8157b06.entry.js +2 -0
  176. package/dist/le-kit/p-d8157b06.entry.js.map +1 -0
  177. package/dist/le-kit/p-e8c2ca0e.entry.js +2 -0
  178. package/dist/le-kit/p-e8c2ca0e.entry.js.map +1 -0
  179. package/dist/themes/base.css +89 -0
  180. package/dist/themes/dark.css +100 -0
  181. package/dist/themes/default.css +108 -0
  182. package/dist/themes/gradient.css +100 -0
  183. package/dist/themes/index.css +413 -0
  184. package/dist/themes/minimal.css +100 -0
  185. package/dist/themes/warm.css +100 -0
  186. package/dist/types/components.d.ts +4 -4
  187. package/dist/types/global/app.d.ts +33 -0
  188. package/dist/types/index.d.ts +1 -1
  189. package/package.json +3 -2
  190. package/readme.md +22 -0
  191. package/dist/le-kit/index-Da-89pOc.js +0 -4522
  192. package/dist/le-kit/index-Da-89pOc.js.map +0 -1
  193. package/dist/le-kit/le-button.entry.esm.js.map +0 -1
  194. package/dist/le-kit/le-button.entry.js +0 -90
  195. package/dist/le-kit/le-checkbox.entry.esm.js.map +0 -1
  196. package/dist/le-kit/le-checkbox.entry.js +0 -59
  197. package/dist/le-kit/le-component.entry.esm.js.map +0 -1
  198. package/dist/le-kit/le-popover.entry.esm.js.map +0 -1
  199. package/dist/le-kit/le-slot.entry.esm.js.map +0 -1
  200. package/dist/le-kit/le-string-input.entry.esm.js.map +0 -1
  201. package/dist/le-kit/le-string-input.entry.js +0 -93
@@ -0,0 +1,413 @@
1
+ /**
2
+ * Le-Kit All Themes
3
+ *
4
+ * Contains base tokens and all available themes.
5
+ * For production, consider importing only the themes you need:
6
+ *
7
+ * @import 'le-kit/themes/base.css';
8
+ * @import 'le-kit/themes/default.css';
9
+ * @import 'le-kit/themes/dark.css';
10
+ */
11
+
12
+ @import './base.css';
13
+ @import './default.css';
14
+ @import './dark.css';
15
+ @import './gradient.css';
16
+ @import './minimal.css';
17
+ @import './warm.css';
18
+
19
+ /* ============================================
20
+ BASE TOKENS
21
+ Structural design tokens that apply to all themes
22
+ ============================================ */
23
+
24
+ :root {
25
+ /* Spacing Scale */
26
+ --le-space-xs: 4px;
27
+ --le-space-sm: 8px;
28
+ --le-space-md: 16px;
29
+ --le-space-lg: 24px;
30
+ --le-space-xl: 32px;
31
+ --le-space-2xl: 48px;
32
+ --le-space-3xl: 64px;
33
+
34
+ /* Typography Scale */
35
+ --le-font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
36
+ --le-font-family-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
37
+
38
+ --le-font-size-xs: 0.75rem;
39
+ --le-font-size-sm: 0.875rem;
40
+ --le-font-size-md: 1rem;
41
+ --le-font-size-lg: 1.125rem;
42
+ --le-font-size-xl: 1.25rem;
43
+ --le-font-size-2xl: 1.5rem;
44
+ --le-font-size-3xl: 2rem;
45
+ --le-font-size-4xl: 2.5rem;
46
+
47
+ --le-font-weight-normal: 400;
48
+ --le-font-weight-medium: 500;
49
+ --le-font-weight-semibold: 600;
50
+ --le-font-weight-bold: 700;
51
+
52
+ --le-line-height-tight: 1.25;
53
+ --le-line-height-normal: 1.5;
54
+ --le-line-height-relaxed: 1.75;
55
+
56
+ /* Transition Tokens */
57
+ --le-transition-fast: 150ms ease;
58
+ --le-transition-normal: 250ms ease;
59
+ --le-transition-slow: 400ms ease;
60
+ --le-transition-bounce: 400ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
61
+
62
+ /* Z-Index Scale */
63
+ --le-z-dropdown: 1000;
64
+ --le-z-sticky: 1020;
65
+ --le-z-fixed: 1030;
66
+ --le-z-modal-backdrop: 1040;
67
+ --le-z-modal: 1050;
68
+ --le-z-popover: 1060;
69
+ --le-z-tooltip: 1070;
70
+ }
71
+
72
+ /* ============================================
73
+ DEFAULT THEME
74
+ Clean, professional light theme
75
+ ============================================ */
76
+
77
+ :root,
78
+ [theme="default"] {
79
+ /* Primary Colors */
80
+ --le-color-primary: #3b82f6;
81
+ --le-color-primary-hover: #2563eb;
82
+ --le-color-primary-active: #1d4ed8;
83
+ --le-color-primary-subtle: #eff6ff;
84
+ --le-color-on-primary: #ffffff;
85
+
86
+ /* Secondary Colors */
87
+ --le-color-secondary: #64748b;
88
+ --le-color-secondary-hover: #475569;
89
+ --le-color-secondary-active: #334155;
90
+ --le-color-secondary-subtle: #f1f5f9;
91
+ --le-color-on-secondary: #ffffff;
92
+
93
+ /* Semantic Colors */
94
+ --le-color-success: #22c55e;
95
+ --le-color-success-subtle: #f0fdf4;
96
+ --le-color-on-success: #ffffff;
97
+
98
+ --le-color-warning: #f59e0b;
99
+ --le-color-warning-subtle: #fffbeb;
100
+ --le-color-on-warning: #000000;
101
+
102
+ --le-color-error: #ef4444;
103
+ --le-color-error-subtle: #fef2f2;
104
+ --le-color-on-error: #ffffff;
105
+
106
+ --le-color-info: #06b6d4;
107
+ --le-color-info-subtle: #ecfeff;
108
+ --le-color-on-info: #ffffff;
109
+
110
+ /* Surface Colors */
111
+ --le-color-background: #ffffff;
112
+ --le-color-surface: #ffffff;
113
+ --le-color-surface-raised: #ffffff;
114
+ --le-color-surface-overlay: rgba(0, 0, 0, 0.5);
115
+
116
+ /* Text Colors */
117
+ --le-color-text: #1e293b;
118
+ --le-color-text-secondary: #64748b;
119
+ --le-color-text-muted: #94a3b8;
120
+ --le-color-text-inverse: #ffffff;
121
+
122
+ /* Border Colors */
123
+ --le-color-border: #e2e8f0;
124
+ --le-color-border-strong: #cbd5e1;
125
+ --le-color-border-focus: var(--le-color-primary);
126
+
127
+ /* Border Radius */
128
+ --le-radius-none: 0;
129
+ --le-radius-sm: 4px;
130
+ --le-radius-md: 7px;
131
+ --le-radius-lg: 12px;
132
+ --le-radius-xl: 16px;
133
+ --le-radius-2xl: 24px;
134
+ --le-radius-full: 9999px;
135
+
136
+ /* Shadows */
137
+ --le-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
138
+ --le-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
139
+ --le-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
140
+ --le-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
141
+ --le-shadow-focus: 0 0 0 3px rgba(59, 130, 246, 0.3);
142
+ }
143
+
144
+ /* ============================================
145
+ DARK THEME
146
+ Modern dark mode with blue accents
147
+ ============================================ */
148
+
149
+ [theme="dark"] {
150
+ /* Primary Colors */
151
+ --le-color-primary: #60a5fa;
152
+ --le-color-primary-hover: #93c5fd;
153
+ --le-color-primary-active: #3b82f6;
154
+ --le-color-primary-subtle: #1e3a5f;
155
+ --le-color-on-primary: #0f172a;
156
+
157
+ /* Secondary Colors */
158
+ --le-color-secondary: #94a3b8;
159
+ --le-color-secondary-hover: #cbd5e1;
160
+ --le-color-secondary-active: #64748b;
161
+ --le-color-secondary-subtle: #1e293b;
162
+ --le-color-on-secondary: #0f172a;
163
+
164
+ /* Semantic Colors */
165
+ --le-color-success: #4ade80;
166
+ --le-color-success-subtle: #14532d;
167
+ --le-color-on-success: #0f172a;
168
+
169
+ --le-color-warning: #fbbf24;
170
+ --le-color-warning-subtle: #422006;
171
+ --le-color-on-warning: #0f172a;
172
+
173
+ --le-color-error: #f87171;
174
+ --le-color-error-subtle: #450a0a;
175
+ --le-color-on-error: #0f172a;
176
+
177
+ --le-color-info: #22d3ee;
178
+ --le-color-info-subtle: #164e63;
179
+ --le-color-on-info: #0f172a;
180
+
181
+ /* Surface Colors */
182
+ --le-color-background: #0f172a;
183
+ --le-color-surface: #1e293b;
184
+ --le-color-surface-raised: #334155;
185
+ --le-color-surface-overlay: rgba(0, 0, 0, 0.7);
186
+
187
+ /* Text Colors */
188
+ --le-color-text: #f1f5f9;
189
+ --le-color-text-secondary: #94a3b8;
190
+ --le-color-text-muted: #64748b;
191
+ --le-color-text-inverse: #0f172a;
192
+
193
+ /* Border Colors */
194
+ --le-color-border: #334155;
195
+ --le-color-border-strong: #475569;
196
+ --le-color-border-focus: var(--le-color-primary);
197
+
198
+ /* Shadows (adjusted for dark mode) */
199
+ --le-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
200
+ --le-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
201
+ --le-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.3);
202
+ --le-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
203
+ --le-shadow-focus: 0 0 0 3px rgba(96, 165, 250, 0.4);
204
+ }
205
+
206
+ /* ============================================
207
+ GRADIENT THEME
208
+ Vibrant gradients with purple/pink accents
209
+ ============================================ */
210
+
211
+ [theme="gradient"] {
212
+ /* Primary Colors - Purple gradient feel */
213
+ --le-color-primary: #8b5cf6;
214
+ --le-color-primary-hover: #a78bfa;
215
+ --le-color-primary-active: #7c3aed;
216
+ --le-color-primary-subtle: #f5f3ff;
217
+ --le-color-on-primary: #ffffff;
218
+
219
+ /* Secondary Colors - Pink accent */
220
+ --le-color-secondary: #ec4899;
221
+ --le-color-secondary-hover: #f472b6;
222
+ --le-color-secondary-active: #db2777;
223
+ --le-color-secondary-subtle: #fdf2f8;
224
+ --le-color-on-secondary: #ffffff;
225
+
226
+ /* Semantic Colors */
227
+ --le-color-success: #10b981;
228
+ --le-color-success-subtle: #ecfdf5;
229
+ --le-color-on-success: #ffffff;
230
+
231
+ --le-color-warning: #f59e0b;
232
+ --le-color-warning-subtle: #fffbeb;
233
+ --le-color-on-warning: #000000;
234
+
235
+ --le-color-error: #f43f5e;
236
+ --le-color-error-subtle: #fff1f2;
237
+ --le-color-on-error: #ffffff;
238
+
239
+ --le-color-info: #06b6d4;
240
+ --le-color-info-subtle: #ecfeff;
241
+ --le-color-on-info: #ffffff;
242
+
243
+ /* Surface Colors */
244
+ --le-color-background: linear-gradient(135deg, #faf5ff 0%, #fdf2f8 50%, #fff7ed 100%);
245
+ --le-color-surface: rgba(255, 255, 255, 0.9);
246
+ --le-color-surface-raised: #ffffff;
247
+ --le-color-surface-overlay: rgba(139, 92, 246, 0.3);
248
+
249
+ /* Text Colors */
250
+ --le-color-text: #1f2937;
251
+ --le-color-text-secondary: #6b7280;
252
+ --le-color-text-muted: #9ca3af;
253
+ --le-color-text-inverse: #ffffff;
254
+
255
+ /* Border Colors */
256
+ --le-color-border: rgba(139, 92, 246, 0.2);
257
+ --le-color-border-strong: rgba(139, 92, 246, 0.4);
258
+ --le-color-border-focus: var(--le-color-primary);
259
+
260
+ /* Border Radius - More rounded for playful feel */
261
+ --le-radius-sm: 6px;
262
+ --le-radius-md: 12px;
263
+ --le-radius-lg: 16px;
264
+ --le-radius-xl: 20px;
265
+ --le-radius-2xl: 28px;
266
+
267
+ /* Shadows - Colored shadows */
268
+ --le-shadow-sm: 0 1px 3px 0 rgba(139, 92, 246, 0.1);
269
+ --le-shadow-md: 0 4px 6px -1px rgba(139, 92, 246, 0.15), 0 2px 4px -2px rgba(236, 72, 153, 0.1);
270
+ --le-shadow-lg: 0 10px 15px -3px rgba(139, 92, 246, 0.2), 0 4px 6px -4px rgba(236, 72, 153, 0.15);
271
+ --le-shadow-xl: 0 20px 25px -5px rgba(139, 92, 246, 0.25), 0 8px 10px -6px rgba(236, 72, 153, 0.2);
272
+ --le-shadow-focus: 0 0 0 3px rgba(139, 92, 246, 0.4);
273
+ }
274
+
275
+ /* ============================================
276
+ MINIMAL THEME
277
+ Clean, minimal design with subtle grays
278
+ ============================================ */
279
+
280
+ [theme="minimal"] {
281
+ /* Primary Colors - Subtle dark gray */
282
+ --le-color-primary: #374151;
283
+ --le-color-primary-hover: #1f2937;
284
+ --le-color-primary-active: #111827;
285
+ --le-color-primary-subtle: #f3f4f6;
286
+ --le-color-on-primary: #ffffff;
287
+
288
+ /* Secondary Colors - Light gray */
289
+ --le-color-secondary: #9ca3af;
290
+ --le-color-secondary-hover: #6b7280;
291
+ --le-color-secondary-active: #4b5563;
292
+ --le-color-secondary-subtle: #f9fafb;
293
+ --le-color-on-secondary: #ffffff;
294
+
295
+ /* Semantic Colors - Muted versions */
296
+ --le-color-success: #059669;
297
+ --le-color-success-subtle: #f0fdf4;
298
+ --le-color-on-success: #ffffff;
299
+
300
+ --le-color-warning: #d97706;
301
+ --le-color-warning-subtle: #fffbeb;
302
+ --le-color-on-warning: #ffffff;
303
+
304
+ --le-color-error: #dc2626;
305
+ --le-color-error-subtle: #fef2f2;
306
+ --le-color-on-error: #ffffff;
307
+
308
+ --le-color-info: #0891b2;
309
+ --le-color-info-subtle: #ecfeff;
310
+ --le-color-on-info: #ffffff;
311
+
312
+ /* Surface Colors */
313
+ --le-color-background: #fafafa;
314
+ --le-color-surface: #ffffff;
315
+ --le-color-surface-raised: #ffffff;
316
+ --le-color-surface-overlay: rgba(0, 0, 0, 0.4);
317
+
318
+ /* Text Colors */
319
+ --le-color-text: #111827;
320
+ --le-color-text-secondary: #6b7280;
321
+ --le-color-text-muted: #9ca3af;
322
+ --le-color-text-inverse: #ffffff;
323
+
324
+ /* Border Colors - Very subtle */
325
+ --le-color-border: #e5e7eb;
326
+ --le-color-border-strong: #d1d5db;
327
+ --le-color-border-focus: var(--le-color-primary);
328
+
329
+ /* Border Radius - Sharp, minimal */
330
+ --le-radius-none: 0;
331
+ --le-radius-sm: 2px;
332
+ --le-radius-md: 4px;
333
+ --le-radius-lg: 6px;
334
+ --le-radius-xl: 8px;
335
+ --le-radius-2xl: 12px;
336
+ --le-radius-full: 9999px;
337
+
338
+ /* Shadows - Minimal, subtle */
339
+ --le-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
340
+ --le-shadow-md: 0 2px 4px -1px rgba(0, 0, 0, 0.06);
341
+ --le-shadow-lg: 0 4px 8px -2px rgba(0, 0, 0, 0.08);
342
+ --le-shadow-xl: 0 8px 16px -4px rgba(0, 0, 0, 0.1);
343
+ --le-shadow-focus: 0 0 0 2px rgba(55, 65, 81, 0.2);
344
+ }
345
+
346
+ /* ============================================
347
+ WARM THEME
348
+ Warm earthy tones with orange/amber accents
349
+ ============================================ */
350
+
351
+ [theme="warm"] {
352
+ /* Primary Colors - Warm orange */
353
+ --le-color-primary: #ea580c;
354
+ --le-color-primary-hover: #f97316;
355
+ --le-color-primary-active: #c2410c;
356
+ --le-color-primary-subtle: #fff7ed;
357
+ --le-color-on-primary: #ffffff;
358
+
359
+ /* Secondary Colors - Warm brown */
360
+ --le-color-secondary: #78716c;
361
+ --le-color-secondary-hover: #57534e;
362
+ --le-color-secondary-active: #44403c;
363
+ --le-color-secondary-subtle: #fafaf9;
364
+ --le-color-on-secondary: #ffffff;
365
+
366
+ /* Semantic Colors */
367
+ --le-color-success: #65a30d;
368
+ --le-color-success-subtle: #f7fee7;
369
+ --le-color-on-success: #ffffff;
370
+
371
+ --le-color-warning: #d97706;
372
+ --le-color-warning-subtle: #fffbeb;
373
+ --le-color-on-warning: #000000;
374
+
375
+ --le-color-error: #dc2626;
376
+ --le-color-error-subtle: #fef2f2;
377
+ --le-color-on-error: #ffffff;
378
+
379
+ --le-color-info: #0891b2;
380
+ --le-color-info-subtle: #ecfeff;
381
+ --le-color-on-info: #ffffff;
382
+
383
+ /* Surface Colors - Warm tinted */
384
+ --le-color-background: #fffbf5;
385
+ --le-color-surface: #ffffff;
386
+ --le-color-surface-raised: #ffffff;
387
+ --le-color-surface-overlay: rgba(120, 53, 15, 0.4);
388
+
389
+ /* Text Colors - Warm grays */
390
+ --le-color-text: #292524;
391
+ --le-color-text-secondary: #78716c;
392
+ --le-color-text-muted: #a8a29e;
393
+ --le-color-text-inverse: #ffffff;
394
+
395
+ /* Border Colors - Warm tinted */
396
+ --le-color-border: #e7e5e4;
397
+ --le-color-border-strong: #d6d3d1;
398
+ --le-color-border-focus: var(--le-color-primary);
399
+
400
+ /* Border Radius - Soft, friendly */
401
+ --le-radius-sm: 4px;
402
+ --le-radius-md: 8px;
403
+ --le-radius-lg: 12px;
404
+ --le-radius-xl: 16px;
405
+ --le-radius-2xl: 24px;
406
+
407
+ /* Shadows - Warm tinted */
408
+ --le-shadow-sm: 0 1px 2px 0 rgba(120, 53, 15, 0.05);
409
+ --le-shadow-md: 0 4px 6px -1px rgba(120, 53, 15, 0.1), 0 2px 4px -2px rgba(120, 53, 15, 0.08);
410
+ --le-shadow-lg: 0 10px 15px -3px rgba(120, 53, 15, 0.12), 0 4px 6px -4px rgba(120, 53, 15, 0.1);
411
+ --le-shadow-xl: 0 20px 25px -5px rgba(120, 53, 15, 0.15), 0 8px 10px -6px rgba(120, 53, 15, 0.12);
412
+ --le-shadow-focus: 0 0 0 3px rgba(234, 88, 12, 0.3);
413
+ }
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Le-Kit Minimal Theme
3
+ *
4
+ * Clean, subtle design with sharp edges and minimal shadows.
5
+ *
6
+ * Usage: set theme="minimal" on any element, or import as your default.
7
+ */
8
+
9
+ [theme="minimal"] {
10
+ /* Primary brand color - dark gray */
11
+ --le-color-primary: #111827;
12
+ --le-color-primary-light: #374151;
13
+ --le-color-primary-dark: #030712;
14
+ --le-color-primary-contrast: #ffffff;
15
+
16
+ /* Secondary accent color */
17
+ --le-color-secondary: #6b7280;
18
+ --le-color-secondary-light: #9ca3af;
19
+ --le-color-secondary-dark: #4b5563;
20
+ --le-color-secondary-contrast: #ffffff;
21
+
22
+ /* Semantic colors - muted */
23
+ --le-color-success: #059669;
24
+ --le-color-success-light: #10b981;
25
+ --le-color-success-dark: #047857;
26
+ --le-color-success-contrast: #ffffff;
27
+
28
+ --le-color-warning: #d97706;
29
+ --le-color-warning-light: #f59e0b;
30
+ --le-color-warning-dark: #b45309;
31
+ --le-color-warning-contrast: #ffffff;
32
+
33
+ --le-color-danger: #dc2626;
34
+ --le-color-danger-light: #ef4444;
35
+ --le-color-danger-dark: #b91c1c;
36
+ --le-color-danger-contrast: #ffffff;
37
+
38
+ --le-color-info: #0284c7;
39
+ --le-color-info-light: #0ea5e9;
40
+ --le-color-info-dark: #0369a1;
41
+ --le-color-info-contrast: #ffffff;
42
+
43
+ /* Neutral colors */
44
+ --le-color-white: #ffffff;
45
+ --le-color-black: #000000;
46
+ --le-color-gray-50: #f9fafb;
47
+ --le-color-gray-100: #f3f4f6;
48
+ --le-color-gray-200: #e5e7eb;
49
+ --le-color-gray-300: #d1d5db;
50
+ --le-color-gray-400: #9ca3af;
51
+ --le-color-gray-500: #6b7280;
52
+ --le-color-gray-600: #4b5563;
53
+ --le-color-gray-700: #374151;
54
+ --le-color-gray-800: #1f2937;
55
+ --le-color-gray-900: #111827;
56
+
57
+ /* Background colors */
58
+ --le-color-background: #ffffff;
59
+ --le-color-background-secondary: #fafafa;
60
+ --le-color-background-tertiary: #f5f5f5;
61
+
62
+ /* Surface colors */
63
+ --le-color-surface: #ffffff;
64
+ --le-color-surface-elevated: #ffffff;
65
+
66
+ /* Text colors */
67
+ --le-color-text-primary: #111827;
68
+ --le-color-text-secondary: #6b7280;
69
+ --le-color-text-disabled: #9ca3af;
70
+ --le-color-text-inverse: #ffffff;
71
+
72
+ /* Border colors */
73
+ --le-color-border: #e5e7eb;
74
+ --le-color-border-light: #f3f4f6;
75
+ --le-color-border-dark: #d1d5db;
76
+
77
+ /** Input borders */
78
+ --le-border-width: 1px;
79
+ --le-color-border-input: #c8cfdd;
80
+
81
+ /* Focus ring */
82
+ --le-color-focus: rgba(17, 24, 39, 0.3);
83
+
84
+ /* Border radius - sharp/minimal */
85
+ --le-radius-none: 0;
86
+ --le-radius-sm: 0;
87
+ --le-radius-md: 2px;
88
+ --le-radius-lg: 4px;
89
+ --le-radius-xl: 6px;
90
+ --le-radius-2xl: 8px;
91
+ --le-radius-full: 9999px;
92
+
93
+ /* Shadows - very subtle */
94
+ --le-shadow-none: none;
95
+ --le-shadow-sm: none;
96
+ --le-shadow-md: 0 1px 2px rgba(0, 0, 0, 0.05);
97
+ --le-shadow-lg: 0 1px 3px rgba(0, 0, 0, 0.08);
98
+ --le-shadow-xl: 0 2px 4px rgba(0, 0, 0, 0.1);
99
+ --le-shadow-2xl: 0 4px 8px rgba(0, 0, 0, 0.1);
100
+ }
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Le-Kit Warm Theme
3
+ *
4
+ * Cozy, warm colors with orange/amber tones.
5
+ *
6
+ * Usage: set theme="warm" on any element, or import as your default.
7
+ */
8
+
9
+ [theme="warm"] {
10
+ /* Primary brand color - orange */
11
+ --le-color-primary: #ea580c;
12
+ --le-color-primary-light: #fb923c;
13
+ --le-color-primary-dark: #c2410c;
14
+ --le-color-primary-contrast: #ffffff;
15
+
16
+ /* Secondary accent color - amber */
17
+ --le-color-secondary: #b45309;
18
+ --le-color-secondary-light: #d97706;
19
+ --le-color-secondary-dark: #92400e;
20
+ --le-color-secondary-contrast: #ffffff;
21
+
22
+ /* Semantic colors */
23
+ --le-color-success: #16a34a;
24
+ --le-color-success-light: #22c55e;
25
+ --le-color-success-dark: #15803d;
26
+ --le-color-success-contrast: #ffffff;
27
+
28
+ --le-color-warning: #ca8a04;
29
+ --le-color-warning-light: #eab308;
30
+ --le-color-warning-dark: #a16207;
31
+ --le-color-warning-contrast: #000000;
32
+
33
+ --le-color-danger: #dc2626;
34
+ --le-color-danger-light: #ef4444;
35
+ --le-color-danger-dark: #b91c1c;
36
+ --le-color-danger-contrast: #ffffff;
37
+
38
+ --le-color-info: #0891b2;
39
+ --le-color-info-light: #06b6d4;
40
+ --le-color-info-dark: #0e7490;
41
+ --le-color-info-contrast: #ffffff;
42
+
43
+ /* Neutral colors - warm tinted */
44
+ --le-color-white: #ffffff;
45
+ --le-color-black: #000000;
46
+ --le-color-gray-50: #fffbeb;
47
+ --le-color-gray-100: #fef3c7;
48
+ --le-color-gray-200: #fde68a;
49
+ --le-color-gray-300: #fcd34d;
50
+ --le-color-gray-400: #fbbf24;
51
+ --le-color-gray-500: #f59e0b;
52
+ --le-color-gray-600: #d97706;
53
+ --le-color-gray-700: #b45309;
54
+ --le-color-gray-800: #92400e;
55
+ --le-color-gray-900: #78350f;
56
+
57
+ /* Background colors */
58
+ --le-color-background: #fffbeb;
59
+ --le-color-background-secondary: #fef3c7;
60
+ --le-color-background-tertiary: #fde68a;
61
+
62
+ /* Surface colors */
63
+ --le-color-surface: #ffffff;
64
+ --le-color-surface-elevated: #ffffff;
65
+
66
+ /* Text colors */
67
+ --le-color-text-primary: #78350f;
68
+ --le-color-text-secondary: #92400e;
69
+ --le-color-text-disabled: #d97706;
70
+ --le-color-text-inverse: #ffffff;
71
+
72
+ /* Border colors */
73
+ --le-color-border: #fcd34d;
74
+ --le-color-border-light: #fde68a;
75
+ --le-color-border-dark: #fbbf24;
76
+
77
+ /** Input borders */
78
+ --le-border-width: 2px;
79
+ --le-color-border-input: #e7d4c4;
80
+
81
+ /* Focus ring */
82
+ --le-color-focus: rgba(234, 88, 12, 0.5);
83
+
84
+ /* Border radius - slightly rounded */
85
+ --le-radius-none: 0;
86
+ --le-radius-sm: 0.125rem;
87
+ --le-radius-md: 0.375rem;
88
+ --le-radius-lg: 0.625rem;
89
+ --le-radius-xl: 0.875rem;
90
+ --le-radius-2xl: 1.125rem;
91
+ --le-radius-full: 9999px;
92
+
93
+ /* Shadows - warm tinted */
94
+ --le-shadow-none: none;
95
+ --le-shadow-sm: 0 1px 2px rgba(234, 88, 12, 0.05);
96
+ --le-shadow-md: 0 4px 6px rgba(234, 88, 12, 0.1), 0 2px 4px rgba(234, 88, 12, 0.06);
97
+ --le-shadow-lg: 0 10px 15px rgba(234, 88, 12, 0.15), 0 4px 6px rgba(234, 88, 12, 0.08);
98
+ --le-shadow-xl: 0 20px 25px rgba(234, 88, 12, 0.15), 0 10px 10px rgba(234, 88, 12, 0.1);
99
+ --le-shadow-2xl: 0 25px 50px rgba(234, 88, 12, 0.2), 0 12px 24px rgba(234, 88, 12, 0.12);
100
+ }
@@ -248,7 +248,7 @@ export namespace Components {
248
248
  }
249
249
  /**
250
250
  * Component wrapper for admin mode editing.
251
- * This component is used internally by other components to provide admin-mode
251
+ * This component is used internally by other components to provide admin-mode
252
252
  * editing capabilities. It wraps the component's rendered output and shows
253
253
  * a settings popover for editing properties.
254
254
  * In default mode, it acts as a simple passthrough (display: contents).
@@ -872,7 +872,7 @@ declare global {
872
872
  };
873
873
  /**
874
874
  * Component wrapper for admin mode editing.
875
- * This component is used internally by other components to provide admin-mode
875
+ * This component is used internally by other components to provide admin-mode
876
876
  * editing capabilities. It wraps the component's rendered output and shows
877
877
  * a settings popover for editing properties.
878
878
  * In default mode, it acts as a simple passthrough (display: contents).
@@ -1343,7 +1343,7 @@ declare namespace LocalJSX {
1343
1343
  }
1344
1344
  /**
1345
1345
  * Component wrapper for admin mode editing.
1346
- * This component is used internally by other components to provide admin-mode
1346
+ * This component is used internally by other components to provide admin-mode
1347
1347
  * editing capabilities. It wraps the component's rendered output and shows
1348
1348
  * a settings popover for editing properties.
1349
1349
  * In default mode, it acts as a simple passthrough (display: contents).
@@ -1940,7 +1940,7 @@ declare module "@stencil/core" {
1940
1940
  "le-checkbox": LocalJSX.LeCheckbox & JSXBase.HTMLAttributes<HTMLLeCheckboxElement>;
1941
1941
  /**
1942
1942
  * Component wrapper for admin mode editing.
1943
- * This component is used internally by other components to provide admin-mode
1943
+ * This component is used internally by other components to provide admin-mode
1944
1944
  * editing capabilities. It wraps the component's rendered output and shows
1945
1945
  * a settings popover for editing properties.
1946
1946
  * In default mode, it acts as a simple passthrough (display: contents).
@@ -38,3 +38,36 @@ export declare function setGlobalMode(mode: LeKitMode): void;
38
38
  * Useful for switching all components to a different theme.
39
39
  */
40
40
  export declare function setGlobalTheme(theme: LeKitTheme): void;
41
+ /**
42
+ * Global configuration for le-kit
43
+ */
44
+ declare let leKitConfig: {
45
+ /**
46
+ * URL to the custom-elements.json manifest.
47
+ * Used by admin components (le-component, le-slot) to load component metadata.
48
+ *
49
+ * Default: '/custom-elements.json' (served from app root)
50
+ *
51
+ * For apps using le-kit, you may need to:
52
+ * 1. Copy the manifest from node_modules/le-kit/custom-elements.json to your public folder
53
+ * 2. Or set this to point to where the manifest is served
54
+ */
55
+ manifestUrl: string;
56
+ };
57
+ /**
58
+ * Configure le-kit global settings.
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * import { configureLeki } from 'le-kit';
63
+ *
64
+ * configureLeki({
65
+ * manifestUrl: '/assets/custom-elements.json'
66
+ * });
67
+ * ```
68
+ */
69
+ export declare function configureLeki(config: Partial<typeof leKitConfig>): void;
70
+ /**
71
+ * Get the current le-kit configuration.
72
+ */
73
+ export declare function getLeKitConfig(): typeof leKitConfig;
@@ -7,7 +7,7 @@
7
7
  * @see README.md for usage instructions
8
8
  */
9
9
  export { generateId, parseCommaSeparated, slotHasContent } from './utils/utils';
10
- export { getMode, setGlobalMode, getTheme, setGlobalTheme } from './global/app';
10
+ export { getMode, setGlobalMode, getTheme, setGlobalTheme, configureLeki, getLeKitConfig } from './global/app';
11
11
  export type { LeKitMode, LeKitTheme } from './global/app';
12
12
  export { leAlert, leConfirm, lePrompt } from './components/le-popup/le-popup.api';
13
13
  export type { PopupOptions } from './components/le-popup/le-popup.api';