le-kit 0.0.3 → 0.1.0

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