le-kit 0.0.2 → 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 (362) 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 -86
  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.css +2 -14
  60. package/dist/collection/components/le-round-progress/le-round-progress.js +184 -86
  61. package/dist/collection/components/le-round-progress/le-round-progress.js.map +1 -0
  62. package/dist/collection/components/le-slot/le-slot.default.css +222 -0
  63. package/dist/collection/components/le-slot/le-slot.js +636 -0
  64. package/dist/collection/components/le-slot/le-slot.js.map +1 -0
  65. package/dist/collection/components/le-stack/le-stack.default.css +37 -0
  66. package/dist/collection/components/le-stack/le-stack.js +389 -0
  67. package/dist/collection/components/le-stack/le-stack.js.map +1 -0
  68. package/dist/collection/components/le-string-input/le-string-input.css +83 -0
  69. package/dist/collection/components/le-string-input/le-string-input.js +359 -0
  70. package/dist/collection/components/le-string-input/le-string-input.js.map +1 -0
  71. package/dist/collection/components/le-text/le-text.default.css +169 -0
  72. package/dist/collection/components/le-text/le-text.js +475 -0
  73. package/dist/collection/components/le-text/le-text.js.map +1 -0
  74. package/dist/collection/components/le-turntable/le-turntable.js +210 -102
  75. package/dist/collection/components/le-turntable/le-turntable.js.map +1 -0
  76. package/dist/collection/global/app.js +130 -0
  77. package/dist/collection/global/app.js.map +1 -0
  78. package/dist/collection/index-admin.js +27 -0
  79. package/dist/collection/index-admin.js.map +1 -0
  80. package/dist/collection/index-core.js +25 -0
  81. package/dist/collection/index-core.js.map +1 -0
  82. package/dist/collection/index.js +15 -0
  83. package/dist/collection/index.js.map +1 -0
  84. package/dist/collection/types/blocks.js +115 -0
  85. package/dist/collection/types/blocks.js.map +1 -0
  86. package/dist/collection/types/options.js +2 -0
  87. package/dist/collection/types/options.js.map +1 -0
  88. package/dist/collection/utils/utils.js +141 -5
  89. package/dist/collection/utils/utils.js.map +1 -0
  90. package/dist/components/index.d.ts +64 -0
  91. package/dist/components/index.js +122 -0
  92. package/dist/components/index.js.map +1 -0
  93. package/dist/components/le-box.d.ts +11 -0
  94. package/dist/components/le-box.js +256 -0
  95. package/dist/components/le-box.js.map +1 -0
  96. package/dist/components/le-button.d.ts +11 -0
  97. package/dist/components/le-button.js +9 -0
  98. package/dist/components/le-button.js.map +1 -0
  99. package/dist/components/le-card.d.ts +11 -0
  100. package/dist/components/le-card.js +83 -0
  101. package/dist/components/le-card.js.map +1 -0
  102. package/dist/components/le-checkbox.d.ts +11 -0
  103. package/dist/components/le-checkbox.js +9 -0
  104. package/dist/components/le-checkbox.js.map +1 -0
  105. package/dist/components/le-component.d.ts +11 -0
  106. package/dist/components/le-component.js +9 -0
  107. package/dist/components/le-component.js.map +1 -0
  108. package/dist/components/le-number-input.d.ts +11 -0
  109. package/dist/components/le-number-input.js +271 -0
  110. package/dist/components/le-number-input.js.map +1 -0
  111. package/dist/components/le-popover.d.ts +11 -0
  112. package/dist/components/le-popover.js +9 -0
  113. package/dist/components/le-popover.js.map +1 -0
  114. package/dist/components/le-popup.d.ts +11 -0
  115. package/dist/components/le-popup.js +279 -0
  116. package/dist/components/le-popup.js.map +1 -0
  117. package/dist/components/le-round-progress.d.ts +11 -0
  118. package/dist/components/le-round-progress.js +135 -0
  119. package/dist/components/le-round-progress.js.map +1 -0
  120. package/dist/components/le-slot.d.ts +11 -0
  121. package/dist/components/le-slot.js +9 -0
  122. package/dist/components/le-slot.js.map +1 -0
  123. package/dist/components/le-stack.d.ts +11 -0
  124. package/dist/components/le-stack.js +198 -0
  125. package/dist/components/le-stack.js.map +1 -0
  126. package/dist/components/le-string-input.d.ts +11 -0
  127. package/dist/components/le-string-input.js +9 -0
  128. package/dist/components/le-string-input.js.map +1 -0
  129. package/dist/components/le-text.d.ts +11 -0
  130. package/dist/components/le-text.js +398 -0
  131. package/dist/components/le-text.js.map +1 -0
  132. package/dist/components/le-turntable.d.ts +11 -0
  133. package/dist/components/le-turntable.js +164 -0
  134. package/dist/components/le-turntable.js.map +1 -0
  135. package/dist/components/p-CXeWQG7d.js +382 -0
  136. package/dist/components/p-CXeWQG7d.js.map +1 -0
  137. package/dist/components/p-DxxFRStS.js +1370 -0
  138. package/dist/components/p-DxxFRStS.js.map +1 -0
  139. package/dist/components/p-IPZGv1ea.js +1442 -0
  140. package/dist/components/p-IPZGv1ea.js.map +1 -0
  141. package/dist/core/components/index.d.ts +64 -0
  142. package/dist/core/components/index.js +122 -0
  143. package/dist/core/components/index.js.map +1 -0
  144. package/dist/core/components/le-box.d.ts +11 -0
  145. package/dist/core/components/le-box.js +246 -0
  146. package/dist/core/components/le-box.js.map +1 -0
  147. package/dist/core/components/le-button.d.ts +11 -0
  148. package/dist/core/components/le-button.js +9 -0
  149. package/dist/core/components/le-button.js.map +1 -0
  150. package/dist/core/components/le-card.d.ts +11 -0
  151. package/dist/core/components/le-card.js +73 -0
  152. package/dist/core/components/le-card.js.map +1 -0
  153. package/dist/core/components/le-checkbox.d.ts +11 -0
  154. package/dist/core/components/le-checkbox.js +9 -0
  155. package/dist/core/components/le-checkbox.js.map +1 -0
  156. package/dist/core/components/le-component.js.map +1 -0
  157. package/dist/core/components/le-number-input.d.ts +11 -0
  158. package/dist/core/components/le-number-input.js +261 -0
  159. package/dist/core/components/le-number-input.js.map +1 -0
  160. package/dist/core/components/le-popover.d.ts +11 -0
  161. package/dist/core/components/le-popover.js +9 -0
  162. package/dist/core/components/le-popover.js.map +1 -0
  163. package/dist/core/components/le-popup.d.ts +11 -0
  164. package/dist/core/components/le-popup.js +269 -0
  165. package/dist/core/components/le-popup.js.map +1 -0
  166. package/dist/core/components/le-round-progress.d.ts +11 -0
  167. package/dist/core/components/le-round-progress.js +135 -0
  168. package/dist/core/components/le-round-progress.js.map +1 -0
  169. package/dist/core/components/le-slot.js.map +1 -0
  170. package/dist/core/components/le-stack.d.ts +11 -0
  171. package/dist/core/components/le-stack.js +188 -0
  172. package/dist/core/components/le-stack.js.map +1 -0
  173. package/dist/core/components/le-string-input.d.ts +11 -0
  174. package/dist/core/components/le-string-input.js +9 -0
  175. package/dist/core/components/le-string-input.js.map +1 -0
  176. package/dist/core/components/le-text.d.ts +11 -0
  177. package/dist/core/components/le-text.js +388 -0
  178. package/dist/core/components/le-text.js.map +1 -0
  179. package/dist/core/components/le-turntable.d.ts +11 -0
  180. package/dist/core/components/le-turntable.js +164 -0
  181. package/dist/core/components/le-turntable.js.map +1 -0
  182. package/dist/core/components/p-CXeWQG7d.js +382 -0
  183. package/dist/core/components/p-CXeWQG7d.js.map +1 -0
  184. package/dist/core/components/p-DxxFRStS.js +1370 -0
  185. package/dist/core/components/p-DxxFRStS.js.map +1 -0
  186. package/dist/core/components/p-IPZGv1ea.js +1442 -0
  187. package/dist/core/components/p-IPZGv1ea.js.map +1 -0
  188. package/dist/core/index.d.ts +21 -0
  189. package/dist/core/index.js +68 -0
  190. package/dist/core/stencil-runtime.js +1 -0
  191. package/dist/docs.d.ts +443 -0
  192. package/dist/docs.json +5183 -0
  193. package/dist/esm/index-D71TXvJa.js +1781 -0
  194. package/dist/esm/index-D71TXvJa.js.map +1 -0
  195. package/dist/esm/index.js +105 -5
  196. package/dist/esm/index.js.map +1 -0
  197. package/dist/esm/le-box.entry.js +182 -0
  198. package/dist/esm/le-box.entry.js.map +1 -0
  199. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +1 -0
  200. package/dist/esm/le-button_6.entry.js +1192 -0
  201. package/dist/esm/le-card.entry.js +27 -0
  202. package/dist/esm/le-card.entry.js.map +1 -0
  203. package/dist/esm/le-kit.js +21 -0
  204. package/dist/esm/le-kit.js.map +1 -0
  205. package/dist/esm/le-number-input.entry.js +200 -0
  206. package/dist/esm/le-number-input.entry.js.map +1 -0
  207. package/dist/esm/le-popup.entry.js +210 -0
  208. package/dist/esm/le-popup.entry.js.map +1 -0
  209. package/dist/esm/le-round-progress.entry.js +104 -0
  210. package/dist/esm/le-round-progress.entry.js.map +1 -0
  211. package/dist/esm/le-stack.entry.js +133 -0
  212. package/dist/esm/le-stack.entry.js.map +1 -0
  213. package/dist/esm/le-text.entry.js +333 -0
  214. package/dist/esm/le-text.entry.js.map +1 -0
  215. package/dist/esm/le-turntable.entry.js +137 -0
  216. package/dist/esm/le-turntable.entry.js.map +1 -0
  217. package/dist/esm/loader.js +11 -0
  218. package/dist/esm/loader.js.map +1 -0
  219. package/dist/esm/utils-CJLZrrdC.js +146 -0
  220. package/dist/esm/utils-CJLZrrdC.js.map +1 -0
  221. package/dist/index.cjs.js +1 -0
  222. package/dist/index.js +1 -2
  223. package/dist/le-kit/index-D21JjI31.js.map +1 -0
  224. package/dist/le-kit/index.esm.js +2 -0
  225. package/dist/le-kit/index.esm.js.map +1 -0
  226. package/dist/le-kit/le-box.entry.esm.js.map +1 -0
  227. package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +1 -0
  228. package/dist/le-kit/le-card.entry.esm.js.map +1 -0
  229. package/dist/le-kit/le-kit.css +1 -0
  230. package/dist/le-kit/le-kit.esm.js +2 -0
  231. package/dist/le-kit/le-kit.esm.js.map +1 -0
  232. package/dist/le-kit/le-number-input.entry.esm.js.map +1 -0
  233. package/dist/le-kit/le-popup.entry.esm.js.map +1 -0
  234. package/dist/le-kit/le-round-progress.entry.esm.js.map +1 -0
  235. package/dist/le-kit/le-stack.entry.esm.js.map +1 -0
  236. package/dist/le-kit/le-text.entry.esm.js.map +1 -0
  237. package/dist/le-kit/le-turntable.entry.esm.js.map +1 -0
  238. package/dist/le-kit/loader.esm.js.map +1 -0
  239. package/dist/le-kit/p-024a764e.entry.js +2 -0
  240. package/dist/le-kit/p-024a764e.entry.js.map +1 -0
  241. package/dist/le-kit/p-073cf0b9.entry.js +2 -0
  242. package/dist/le-kit/p-073cf0b9.entry.js.map +1 -0
  243. package/dist/le-kit/p-0955b105.entry.js +2 -0
  244. package/dist/le-kit/p-0955b105.entry.js.map +1 -0
  245. package/dist/le-kit/p-18d79ee2.entry.js +2 -0
  246. package/dist/le-kit/p-18d79ee2.entry.js.map +1 -0
  247. package/dist/le-kit/p-4b1d3b6d.entry.js +2 -0
  248. package/dist/le-kit/p-4b1d3b6d.entry.js.map +1 -0
  249. package/dist/le-kit/p-79d179bd.entry.js +2 -0
  250. package/dist/le-kit/p-79d179bd.entry.js.map +1 -0
  251. package/dist/le-kit/p-D71TXvJa.js +3 -0
  252. package/dist/le-kit/p-D71TXvJa.js.map +1 -0
  253. package/dist/le-kit/p-c8a9288e.entry.js +2 -0
  254. package/dist/le-kit/p-c8a9288e.entry.js.map +1 -0
  255. package/dist/le-kit/p-cfc35bd3.entry.js +2 -0
  256. package/dist/le-kit/p-cfc35bd3.entry.js.map +1 -0
  257. package/dist/le-kit/p-d04da1f5.entry.js +2 -0
  258. package/dist/le-kit/p-d04da1f5.entry.js.map +1 -0
  259. package/dist/le-kit/p-qIai5-eB.js +2 -0
  260. package/dist/le-kit/p-qIai5-eB.js.map +1 -0
  261. package/dist/le-kit/utils-apol-Xc_.js.map +1 -0
  262. package/dist/themes/base.css +89 -0
  263. package/dist/themes/dark.css +100 -0
  264. package/dist/themes/default.css +108 -0
  265. package/dist/themes/gradient.css +100 -0
  266. package/dist/themes/index.css +413 -0
  267. package/dist/themes/minimal.css +100 -0
  268. package/dist/themes/warm.css +100 -0
  269. package/dist/types/components/le-box/le-box.d.ts +111 -0
  270. package/dist/types/components/le-button/le-button.d.ts +78 -0
  271. package/dist/types/components/le-card/le-card.d.ts +37 -0
  272. package/dist/types/components/le-checkbox/le-checkbox.d.ts +46 -0
  273. package/dist/types/components/le-component/le-component.d.ts +115 -0
  274. package/dist/types/components/le-number-input/le-number-input.d.ts +106 -0
  275. package/dist/types/components/le-popover/le-popover.d.ts +109 -0
  276. package/dist/types/components/le-popup/le-popup.api.d.ts +73 -0
  277. package/dist/types/components/le-popup/le-popup.d.ts +122 -0
  278. package/dist/types/components/le-round-progress/le-round-progress.d.ts +8 -15
  279. package/dist/types/components/le-slot/le-slot.d.ts +149 -0
  280. package/dist/types/components/le-stack/le-stack.d.ts +73 -0
  281. package/dist/types/components/le-string-input/le-string-input.d.ts +83 -0
  282. package/dist/types/components/le-text/le-text.d.ts +141 -0
  283. package/dist/types/components/le-turntable/le-turntable.d.ts +1 -2
  284. package/dist/types/components.d.ts +2030 -58
  285. package/dist/types/global/app.d.ts +40 -0
  286. package/dist/types/index-admin.d.ts +29 -0
  287. package/dist/types/index-core.d.ts +27 -0
  288. package/dist/types/index.d.ts +15 -0
  289. package/dist/types/stencil-public-runtime.d.ts +1756 -0
  290. package/dist/types/types/blocks.d.ts +136 -0
  291. package/dist/types/types/options.d.ts +124 -0
  292. package/dist/types/utils/utils.d.ts +54 -1
  293. package/loader/cdn.js +1 -0
  294. package/loader/index.cjs.js +1 -0
  295. package/loader/index.d.ts +24 -0
  296. package/loader/index.es2017.js +1 -0
  297. package/loader/index.js +2 -0
  298. package/package.json +64 -13
  299. package/readme.md +177 -46
  300. package/dist/cjs/es5/build/novg0vs0.entry.js +0 -9
  301. package/dist/cjs/es5/build/novg0vs0.sc.entry.js +0 -9
  302. package/dist/cjs/es5/build/ptx6i6hn.entry.js +0 -11
  303. package/dist/cjs/es5/build/ptx6i6hn.sc.entry.js +0 -11
  304. package/dist/cjs/es5/index.js +0 -1
  305. package/dist/cjs/es5/le-kit.components.js +0 -4
  306. package/dist/cjs/es5/le-kit.core.js +0 -459
  307. package/dist/cjs/es5/le-kit.define.js +0 -9
  308. package/dist/cjs/es5/polyfills/array.js +0 -63
  309. package/dist/cjs/es5/polyfills/css-shim.js +0 -178
  310. package/dist/cjs/es5/polyfills/dom.js +0 -125
  311. package/dist/cjs/es5/polyfills/fetch.js +0 -186
  312. package/dist/cjs/es5/polyfills/map.js +0 -54
  313. package/dist/cjs/es5/polyfills/object.js +0 -27
  314. package/dist/cjs/es5/polyfills/promise.js +0 -80
  315. package/dist/cjs/es5/polyfills/string.js +0 -15
  316. package/dist/cjs/es5/polyfills/tslib.js +0 -244
  317. package/dist/cjs/es5/polyfills/url.js +0 -68
  318. package/dist/collection/interface.js +0 -0
  319. package/dist/esm/es2017/build/novg0vs0.entry.js +0 -106
  320. package/dist/esm/es2017/build/novg0vs0.sc.entry.js +0 -106
  321. package/dist/esm/es2017/build/ptx6i6hn.entry.js +0 -90
  322. package/dist/esm/es2017/build/ptx6i6hn.sc.entry.js +0 -90
  323. package/dist/esm/es2017/index.js +0 -1
  324. package/dist/esm/es2017/le-kit.components.js +0 -2
  325. package/dist/esm/es2017/le-kit.core.js +0 -5
  326. package/dist/esm/es2017/le-kit.define.js +0 -9
  327. package/dist/esm/es5/build/novg0vs0.entry.js +0 -1
  328. package/dist/esm/es5/build/novg0vs0.sc.entry.js +0 -1
  329. package/dist/esm/es5/build/ptx6i6hn.entry.js +0 -1
  330. package/dist/esm/es5/build/ptx6i6hn.sc.entry.js +0 -1
  331. package/dist/esm/es5/index.js +0 -1
  332. package/dist/esm/es5/le-kit.components.js +0 -2
  333. package/dist/esm/es5/le-kit.core.js +0 -5
  334. package/dist/esm/es5/le-kit.define.js +0 -9
  335. package/dist/esm/es5/polyfills/array.js +0 -23
  336. package/dist/esm/es5/polyfills/css-shim.js +0 -8
  337. package/dist/esm/es5/polyfills/dom.js +0 -22
  338. package/dist/esm/es5/polyfills/fetch.js +0 -20
  339. package/dist/esm/es5/polyfills/map.js +0 -7
  340. package/dist/esm/es5/polyfills/object.js +0 -20
  341. package/dist/esm/es5/polyfills/promise.js +0 -8
  342. package/dist/esm/es5/polyfills/string.js +0 -12
  343. package/dist/esm/es5/polyfills/tslib.js +0 -160
  344. package/dist/esm/es5/polyfills/url.js +0 -7
  345. package/dist/le-kit/le-kit.1ndj7cvv.js +0 -123
  346. package/dist/le-kit/le-kit.7akpvqqk.js +0 -4
  347. package/dist/le-kit/novg0vs0.entry.js +0 -1
  348. package/dist/le-kit/novg0vs0.es5.entry.js +0 -1
  349. package/dist/le-kit/novg0vs0.sc.entry.js +0 -1
  350. package/dist/le-kit/novg0vs0.sc.es5.entry.js +0 -1
  351. package/dist/le-kit/ptx6i6hn.entry.js +0 -1
  352. package/dist/le-kit/ptx6i6hn.es5.entry.js +0 -1
  353. package/dist/le-kit/ptx6i6hn.sc.entry.js +0 -1
  354. package/dist/le-kit/ptx6i6hn.sc.es5.entry.js +0 -1
  355. package/dist/le-kit.js +0 -1
  356. package/dist/loader/index.cjs.js +0 -1
  357. package/dist/loader/index.d.ts +0 -1
  358. package/dist/loader/index.es2017.js +0 -1
  359. package/dist/loader/index.js +0 -1
  360. package/dist/loader/package.json +0 -9
  361. package/dist/types/stencil.core.d.ts +0 -1203
  362. package/dist/web-components.json +0 -31
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Block types for the rich text editor.
3
+ *
4
+ * Used by: le-rich-text-editor, le-editor-block, le-block-menu
5
+ */
6
+ /**
7
+ * Default block type configurations.
8
+ */
9
+ export const DEFAULT_BLOCK_CONFIGS = [
10
+ {
11
+ type: 'paragraph',
12
+ label: 'Text',
13
+ icon: '📝',
14
+ tag: 'p',
15
+ placeholder: 'Type something...',
16
+ editable: true,
17
+ description: 'Plain text paragraph',
18
+ },
19
+ {
20
+ type: 'heading1',
21
+ label: 'Heading 1',
22
+ icon: 'H1',
23
+ tag: 'h1',
24
+ placeholder: 'Heading 1',
25
+ editable: true,
26
+ description: 'Large section heading',
27
+ shortcut: '# ',
28
+ },
29
+ {
30
+ type: 'heading2',
31
+ label: 'Heading 2',
32
+ icon: 'H2',
33
+ tag: 'h2',
34
+ placeholder: 'Heading 2',
35
+ editable: true,
36
+ description: 'Medium section heading',
37
+ shortcut: '## ',
38
+ },
39
+ {
40
+ type: 'heading3',
41
+ label: 'Heading 3',
42
+ icon: 'H3',
43
+ tag: 'h3',
44
+ placeholder: 'Heading 3',
45
+ editable: true,
46
+ description: 'Small section heading',
47
+ shortcut: '### ',
48
+ },
49
+ {
50
+ type: 'bullet-list',
51
+ label: 'Bulleted List',
52
+ icon: '•',
53
+ tag: 'li',
54
+ placeholder: 'List item',
55
+ editable: true,
56
+ description: 'Unordered list',
57
+ shortcut: '- ',
58
+ },
59
+ {
60
+ type: 'numbered-list',
61
+ label: 'Numbered List',
62
+ icon: '1.',
63
+ tag: 'li',
64
+ placeholder: 'List item',
65
+ editable: true,
66
+ description: 'Ordered list',
67
+ shortcut: '1. ',
68
+ },
69
+ {
70
+ type: 'quote',
71
+ label: 'Quote',
72
+ icon: '❝',
73
+ tag: 'blockquote',
74
+ placeholder: 'Quote',
75
+ editable: true,
76
+ description: 'Block quote',
77
+ shortcut: '> ',
78
+ },
79
+ {
80
+ type: 'code',
81
+ label: 'Code',
82
+ icon: '</>',
83
+ tag: 'code',
84
+ placeholder: 'Code',
85
+ editable: true,
86
+ description: 'Code block',
87
+ shortcut: '``` ',
88
+ },
89
+ {
90
+ type: 'divider',
91
+ label: 'Divider',
92
+ icon: '—',
93
+ tag: 'hr',
94
+ editable: false,
95
+ description: 'Horizontal line',
96
+ shortcut: '---',
97
+ },
98
+ ];
99
+ /**
100
+ * Generate a unique block ID
101
+ */
102
+ export function generateBlockId() {
103
+ return `block-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
104
+ }
105
+ /**
106
+ * Create a new block with default values
107
+ */
108
+ export function createBlock(type, content = '') {
109
+ return {
110
+ id: generateBlockId(),
111
+ type,
112
+ content,
113
+ };
114
+ }
115
+ //# sourceMappingURL=blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/types/blocks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmIH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,GAAG;QACR,WAAW,EAAE,mBAAmB;QAChC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,sBAAsB;KACpC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,uBAAuB;QACpC,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wBAAwB;QACrC,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,uBAAuB;QACpC,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,gBAAgB;QAC7B,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,cAAc;QAC3B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,YAAY;QACjB,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,MAAM;QACX,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,YAAY;QACzB,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAWF;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAe,EAAE,UAAkB,EAAE;IAC/D,OAAO;QACL,EAAE,EAAE,eAAe,EAAE;QACrB,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Block types for the rich text editor.\n *\n * Used by: le-rich-text-editor, le-editor-block, le-block-menu\n */\n\n/**\n * Available block types for the editor.\n * Start with essential types, expand in future versions.\n */\nexport type BlockType = 'paragraph' | 'heading1' | 'heading2' | 'heading3' | 'bullet-list' | 'numbered-list' | 'quote' | 'code' | 'divider';\n\n/**\n * A single block in the editor.\n *\n * @example Paragraph block\n * ```typescript\n * const block: LeBlock = {\n * id: 'block-1',\n * type: 'paragraph',\n * content: 'Hello <strong>world</strong>!'\n * };\n * ```\n *\n * @example Code block with language\n * ```typescript\n * const block: LeBlock = {\n * id: 'block-2',\n * type: 'code',\n * content: 'const x = 1;',\n * attributes: { language: 'typescript' }\n * };\n * ```\n */\nexport interface LeBlock {\n /**\n * Unique identifier for the block.\n */\n id: string;\n\n /**\n * The type of block (paragraph, heading, list, etc.)\n */\n type: BlockType;\n\n /**\n * HTML content of the block.\n * For most blocks, this is the inner HTML.\n * For divider, this is empty.\n */\n content: string;\n\n /**\n * Block-specific attributes.\n */\n attributes?: LeBlockAttributes;\n}\n\n/**\n * Block-specific attributes\n */\nexport interface LeBlockAttributes {\n /**\n * Programming language for code blocks.\n */\n language?: string;\n\n /**\n * Placeholder text shown when block is empty.\n */\n placeholder?: string;\n\n /**\n * Custom CSS class for the block.\n */\n className?: string;\n\n /**\n * Additional custom attributes.\n */\n [key: string]: unknown;\n}\n\n/**\n * Configuration for a block type.\n * Used by the block registry to render and manage blocks.\n */\nexport interface BlockTypeConfig {\n /**\n * Block type identifier.\n */\n type: BlockType;\n\n /**\n * Display label for the block type (shown in block menu).\n */\n label: string;\n\n /**\n * Icon for the block type (emoji or icon name).\n */\n icon?: string;\n\n /**\n * HTML tag to render for this block type.\n */\n tag: string;\n\n /**\n * CSS class applied to the block element.\n */\n className?: string;\n\n /**\n * Placeholder text shown when block is empty.\n */\n placeholder?: string;\n\n /**\n * Whether the block content is editable.\n * Set to false for blocks like divider.\n */\n editable?: boolean;\n\n /**\n * Description shown in block menu.\n */\n description?: string;\n\n /**\n * Keyboard shortcut hint (e.g., \"# \" for heading).\n */\n shortcut?: string;\n}\n\n/**\n * Default block type configurations.\n */\nexport const DEFAULT_BLOCK_CONFIGS: BlockTypeConfig[] = [\n {\n type: 'paragraph',\n label: 'Text',\n icon: '📝',\n tag: 'p',\n placeholder: 'Type something...',\n editable: true,\n description: 'Plain text paragraph',\n },\n {\n type: 'heading1',\n label: 'Heading 1',\n icon: 'H1',\n tag: 'h1',\n placeholder: 'Heading 1',\n editable: true,\n description: 'Large section heading',\n shortcut: '# ',\n },\n {\n type: 'heading2',\n label: 'Heading 2',\n icon: 'H2',\n tag: 'h2',\n placeholder: 'Heading 2',\n editable: true,\n description: 'Medium section heading',\n shortcut: '## ',\n },\n {\n type: 'heading3',\n label: 'Heading 3',\n icon: 'H3',\n tag: 'h3',\n placeholder: 'Heading 3',\n editable: true,\n description: 'Small section heading',\n shortcut: '### ',\n },\n {\n type: 'bullet-list',\n label: 'Bulleted List',\n icon: '•',\n tag: 'li',\n placeholder: 'List item',\n editable: true,\n description: 'Unordered list',\n shortcut: '- ',\n },\n {\n type: 'numbered-list',\n label: 'Numbered List',\n icon: '1.',\n tag: 'li',\n placeholder: 'List item',\n editable: true,\n description: 'Ordered list',\n shortcut: '1. ',\n },\n {\n type: 'quote',\n label: 'Quote',\n icon: '❝',\n tag: 'blockquote',\n placeholder: 'Quote',\n editable: true,\n description: 'Block quote',\n shortcut: '> ',\n },\n {\n type: 'code',\n label: 'Code',\n icon: '</>',\n tag: 'code',\n placeholder: 'Code',\n editable: true,\n description: 'Code block',\n shortcut: '``` ',\n },\n {\n type: 'divider',\n label: 'Divider',\n icon: '—',\n tag: 'hr',\n editable: false,\n description: 'Horizontal line',\n shortcut: '---',\n },\n];\n\n/**\n * Event detail for block changes\n */\nexport interface LeBlockChangeDetail {\n blocks: LeBlock[];\n changedBlock?: LeBlock;\n action: 'add' | 'remove' | 'update' | 'move';\n}\n\n/**\n * Generate a unique block ID\n */\nexport function generateBlockId(): string {\n return `block-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;\n}\n\n/**\n * Create a new block with default values\n */\nexport function createBlock(type: BlockType, content: string = ''): LeBlock {\n return {\n id: generateBlockId(),\n type,\n content,\n };\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Universal option interface used across Le-Kit components.\n *\n * Used by: le-select, le-combobox, le-multiselect, le-tabs,\n * le-block-menu, le-emoji-picker, and any menu/list components.\n *\n * @example Basic option\n * ```typescript\n * const option: LeOption = {\n * label: 'Option 1',\n * value: 'opt1'\n * };\n * ```\n *\n * @example With icons and description\n * ```typescript\n * const option: LeOption = {\n * label: 'Settings',\n * value: 'settings',\n * iconStart: '⚙️',\n * description: 'Configure application settings'\n * };\n * ```\n *\n * @example Grouped options\n * ```typescript\n * const options: LeOption[] = [\n * { label: 'Apple', value: 'apple', group: 'Fruits' },\n * { label: 'Banana', value: 'banana', group: 'Fruits' },\n * { label: 'Carrot', value: 'carrot', group: 'Vegetables' },\n * ];\n * ```\n *\n * @example Nested options (for submenus)\n * ```typescript\n * const option: LeOption = {\n * label: 'More actions',\n * iconEnd: '▶',\n * children: [\n * { label: 'Duplicate', value: 'duplicate' },\n * { label: 'Archive', value: 'archive' },\n * ]\n * };\n * ```\n */\nexport interface LeOption {\n /**\n * Unique identifier for the option.\n * Auto-generated if not provided.\n */\n id?: string;\n\n /**\n * Display text for the option (required).\n */\n label: string;\n\n /**\n * Selection value. Defaults to label if not provided.\n */\n value?: string | number;\n\n /**\n * Whether the option is disabled and cannot be selected.\n */\n disabled?: boolean;\n\n /**\n * Whether the option is currently selected.\n * Used for multiselect and menu components.\n */\n selected?: boolean;\n\n /**\n * Whether the option is checked.\n * Used for checkbox/radio menu items.\n */\n checked?: boolean;\n\n /**\n * Icon displayed at the start (left) of the option.\n * Can be a URL, icon name, or emoji character.\n */\n iconStart?: string;\n\n /**\n * Icon displayed at the end (right) of the option.\n * Can be a URL, icon name, or emoji character.\n */\n iconEnd?: string;\n\n /**\n * Secondary description text displayed below the label.\n */\n description?: string;\n\n /**\n * Nested child options for hierarchical menus or submenus.\n */\n children?: LeOption[];\n\n /**\n * Group label for categorizing options in flat lists.\n * Options with the same group value are visually grouped together.\n */\n group?: string;\n\n /**\n * Add a visual separator line before or after this option.\n */\n separator?: 'before' | 'after';\n\n /**\n * Custom data passthrough for application-specific needs.\n * This data is included in selection events.\n */\n data?: Record<string, unknown>;\n}\n\n/**\n * Helper type for option value\n */\nexport type LeOptionValue = string | number;\n\n/**\n * Event detail for option selection events\n */\nexport interface LeOptionSelectDetail {\n value: LeOptionValue;\n option: LeOption;\n}\n\n/**\n * Event detail for multi-option selection events\n */\nexport interface LeMultiOptionSelectDetail {\n values: LeOptionValue[];\n options: LeOption[];\n}\n"]}
@@ -1,5 +1,141 @@
1
- export function format(first, middle, last) {
2
- return ((first || '') +
3
- (middle ? ` ${middle}` : '') +
4
- (last ? ` ${last}` : ''));
5
- }
1
+ /**
2
+ * Utility functions for le-kit components
3
+ */
4
+ import { getMode } from "../global/app";
5
+ /**
6
+ * Generates a unique ID for component instances
7
+ */
8
+ export function generateId(prefix = 'le') {
9
+ return `${prefix}-${Math.random().toString(36).substring(2, 9)}`;
10
+ }
11
+ /**
12
+ * Parses a comma-separated string into an array
13
+ */
14
+ export function parseCommaSeparated(value) {
15
+ if (!value)
16
+ return [];
17
+ return value
18
+ .split(',')
19
+ .map(s => s.trim())
20
+ .filter(Boolean);
21
+ }
22
+ /**
23
+ * Checks if a slot has content
24
+ */
25
+ export function slotHasContent(el, slotName = '') {
26
+ const selector = slotName ? `[slot="${slotName}"]` : ':not([slot])';
27
+ return el.querySelector(selector) !== null;
28
+ }
29
+ /**
30
+ * Sets up a MutationObserver to track mode changes on ancestor elements.
31
+ * Returns a cleanup function to disconnect the observer.
32
+ *
33
+ * If the element or any ancestor has an explicit `mode` attribute, that creates
34
+ * a "mode boundary" - the mode is determined from that point, not from further up.
35
+ * This allows components like le-popover to force default mode for their children.
36
+ *
37
+ * @param el - The component's host element
38
+ * @param callback - Function to call when mode changes, receives the new mode
39
+ * @returns Cleanup function to disconnect the observer
40
+ *
41
+ * @example
42
+ * ```tsx
43
+ * export class MyComponent {
44
+ * @Element() el: HTMLElement;
45
+ * @State() adminMode: boolean = false;
46
+ * private disconnectModeObserver?: () => void;
47
+ *
48
+ * connectedCallback() {
49
+ * this.disconnectModeObserver = observeModeChanges(this.el, (mode) => {
50
+ * this.adminMode = mode === 'admin';
51
+ * });
52
+ * }
53
+ *
54
+ * disconnectedCallback() {
55
+ * this.disconnectModeObserver?.();
56
+ * }
57
+ * }
58
+ * ```
59
+ */
60
+ export function observeModeChanges(el, callback) {
61
+ // Call immediately with current mode
62
+ callback(getMode(el));
63
+ // Set up observer for mode attribute changes
64
+ const observer = new MutationObserver(() => {
65
+ callback(getMode(el));
66
+ });
67
+ // Observe the element itself (for mode boundary changes)
68
+ observer.observe(el, {
69
+ attributes: true,
70
+ attributeFilter: ['mode'],
71
+ });
72
+ // Observe document root
73
+ observer.observe(document.documentElement, {
74
+ attributes: true,
75
+ attributeFilter: ['mode'],
76
+ });
77
+ // Traverse up, crossing shadow boundaries, and observe each element
78
+ let current = el;
79
+ while (current) {
80
+ if (current instanceof Element && current.parentElement) {
81
+ current = current.parentElement;
82
+ observer.observe(current, {
83
+ attributes: true,
84
+ attributeFilter: ['mode'],
85
+ });
86
+ // If this element has an explicit mode, it's a boundary
87
+ if (current.hasAttribute('mode')) {
88
+ break;
89
+ }
90
+ }
91
+ else {
92
+ // Check if we're in a shadow root
93
+ const root = current.getRootNode();
94
+ if (root instanceof ShadowRoot) {
95
+ // Cross the shadow boundary and observe the host
96
+ current = root.host;
97
+ observer.observe(current, {
98
+ attributes: true,
99
+ attributeFilter: ['mode'],
100
+ });
101
+ // If the host has an explicit mode, it's a boundary
102
+ if (current.hasAttribute('mode')) {
103
+ break;
104
+ }
105
+ }
106
+ else {
107
+ break;
108
+ }
109
+ }
110
+ }
111
+ // Return cleanup function
112
+ return () => observer.disconnect();
113
+ }
114
+ /**
115
+ * Combines multiple class names into a single string, filtering out falsy values.
116
+ *
117
+ * @param classes - arguments of class names, undefined, arrays, objects with boolean values and nested combinations of these
118
+ * @returns Combined class names string
119
+ */
120
+ export function classnames(...classes) {
121
+ const result = [];
122
+ classes.forEach(cls => {
123
+ if (!cls)
124
+ return;
125
+ if (typeof cls === 'string') {
126
+ result.push(cls);
127
+ }
128
+ else if (Array.isArray(cls)) {
129
+ result.push(classnames(...cls));
130
+ }
131
+ else if (typeof cls === 'object') {
132
+ Object.entries(cls).forEach(([key, value]) => {
133
+ if (value) {
134
+ result.push(key);
135
+ }
136
+ });
137
+ }
138
+ });
139
+ return result.join(' ');
140
+ }
141
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Utility functions for le-kit components\n */\n\nimport { getMode } from '../global/app';\n\n/**\n * Generates a unique ID for component instances\n */\nexport function generateId(prefix: string = 'le'): string {\n return `${prefix}-${Math.random().toString(36).substring(2, 9)}`;\n}\n\n/**\n * Parses a comma-separated string into an array\n */\nexport function parseCommaSeparated(value: string | undefined): string[] {\n if (!value) return [];\n return value\n .split(',')\n .map(s => s.trim())\n .filter(Boolean);\n}\n\n/**\n * Checks if a slot has content\n */\nexport function slotHasContent(el: HTMLElement, slotName: string = ''): boolean {\n const selector = slotName ? `[slot=\"${slotName}\"]` : ':not([slot])';\n return el.querySelector(selector) !== null;\n}\n\n/**\n * Sets up a MutationObserver to track mode changes on ancestor elements.\n * Returns a cleanup function to disconnect the observer.\n * \n * If the element or any ancestor has an explicit `mode` attribute, that creates\n * a \"mode boundary\" - the mode is determined from that point, not from further up.\n * This allows components like le-popover to force default mode for their children.\n * \n * @param el - The component's host element\n * @param callback - Function to call when mode changes, receives the new mode\n * @returns Cleanup function to disconnect the observer\n * \n * @example\n * ```tsx\n * export class MyComponent {\n * @Element() el: HTMLElement;\n * @State() adminMode: boolean = false;\n * private disconnectModeObserver?: () => void;\n * \n * connectedCallback() {\n * this.disconnectModeObserver = observeModeChanges(this.el, (mode) => {\n * this.adminMode = mode === 'admin';\n * });\n * }\n * \n * disconnectedCallback() {\n * this.disconnectModeObserver?.();\n * }\n * }\n * ```\n */\nexport function observeModeChanges(\n el: HTMLElement,\n callback: (mode: string) => void\n): () => void {\n // Call immediately with current mode\n callback(getMode(el));\n\n // Set up observer for mode attribute changes\n const observer = new MutationObserver(() => {\n callback(getMode(el));\n });\n\n // Observe the element itself (for mode boundary changes)\n observer.observe(el, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n\n // Observe document root\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n\n // Traverse up, crossing shadow boundaries, and observe each element\n let current: Node | null = el;\n while (current) {\n if (current instanceof Element && current.parentElement) {\n current = current.parentElement;\n observer.observe(current, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n // If this element has an explicit mode, it's a boundary\n if ((current as Element).hasAttribute('mode')) {\n break;\n }\n } else {\n // Check if we're in a shadow root\n const root = current.getRootNode();\n if (root instanceof ShadowRoot) {\n // Cross the shadow boundary and observe the host\n current = root.host;\n observer.observe(current, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n // If the host has an explicit mode, it's a boundary\n if ((current as Element).hasAttribute('mode')) {\n break;\n }\n } else {\n break;\n }\n }\n }\n\n // Return cleanup function\n return () => observer.disconnect();\n}\n\n/**\n * Combines multiple class names into a single string, filtering out falsy values.\n * \n * @param classes - arguments of class names, undefined, arrays, objects with boolean values and nested combinations of these\n * @returns Combined class names string\n */\nexport function classnames(...classes: any[]): string {\n const result: string[] = [];\n\n classes.forEach(cls => {\n if (!cls) return;\n\n if (typeof cls === 'string') {\n result.push(cls);\n } else if (Array.isArray(cls)) {\n result.push(classnames(...cls));\n } else if (typeof cls === 'object') {\n Object.entries(cls).forEach(([key, value]) => {\n if (value) {\n result.push(key);\n }\n });\n }\n });\n\n return result.join(' ');\n}\n"]}
@@ -0,0 +1,64 @@
1
+ /* LeKit custom elements */
2
+ export { LeBox as LeBox } from '../types/components/le-box/le-box';
3
+ export { defineCustomElement as defineCustomElementLeBox } from './le-box';
4
+ export { LeButton as LeButton } from '../types/components/le-button/le-button';
5
+ export { defineCustomElement as defineCustomElementLeButton } from './le-button';
6
+ export { LeCard as LeCard } from '../types/components/le-card/le-card';
7
+ export { defineCustomElement as defineCustomElementLeCard } from './le-card';
8
+ export { LeCheckbox as LeCheckbox } from '../types/components/le-checkbox/le-checkbox';
9
+ export { defineCustomElement as defineCustomElementLeCheckbox } from './le-checkbox';
10
+ export { LeComponent as LeComponent } from '../types/components/le-component/le-component';
11
+ export { defineCustomElement as defineCustomElementLeComponent } from './le-component';
12
+ export { LeNumberInput as LeNumberInput } from '../types/components/le-number-input/le-number-input';
13
+ export { defineCustomElement as defineCustomElementLeNumberInput } from './le-number-input';
14
+ export { LePopover as LePopover } from '../types/components/le-popover/le-popover';
15
+ export { defineCustomElement as defineCustomElementLePopover } from './le-popover';
16
+ export { LePopup as LePopup } from '../types/components/le-popup/le-popup';
17
+ export { defineCustomElement as defineCustomElementLePopup } from './le-popup';
18
+ export { LeRoundProgress as LeRoundProgress } from '../types/components/le-round-progress/le-round-progress';
19
+ export { defineCustomElement as defineCustomElementLeRoundProgress } from './le-round-progress';
20
+ export { LeSlot as LeSlot } from '../types/components/le-slot/le-slot';
21
+ export { defineCustomElement as defineCustomElementLeSlot } from './le-slot';
22
+ export { LeStack as LeStack } from '../types/components/le-stack/le-stack';
23
+ export { defineCustomElement as defineCustomElementLeStack } from './le-stack';
24
+ export { LeStringInput as LeStringInput } from '../types/components/le-string-input/le-string-input';
25
+ export { defineCustomElement as defineCustomElementLeStringInput } from './le-string-input';
26
+ export { LeText as LeText } from '../types/components/le-text/le-text';
27
+ export { defineCustomElement as defineCustomElementLeText } from './le-text';
28
+ export { LeTurntable as LeTurntable } from '../types/components/le-turntable/le-turntable';
29
+ export { defineCustomElement as defineCustomElementLeTurntable } from './le-turntable';
30
+
31
+ /**
32
+ * Get the base path to where the assets can be found. Use "setAssetPath(path)"
33
+ * if the path needs to be customized.
34
+ */
35
+ export declare const getAssetPath: (path: string) => string;
36
+
37
+ /**
38
+ * Used to manually set the base path where assets can be found.
39
+ * If the script is used as "module", it's recommended to use "import.meta.url",
40
+ * such as "setAssetPath(import.meta.url)". Other options include
41
+ * "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
42
+ * dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
43
+ * But do note that this configuration depends on how your script is bundled, or lack of
44
+ * bundling, and where your assets can be loaded from. Additionally custom bundling
45
+ * will have to ensure the static assets are copied to its build directory.
46
+ */
47
+ export declare const setAssetPath: (path: string) => void;
48
+
49
+ /**
50
+ * Used to specify a nonce value that corresponds with an application's CSP.
51
+ * When set, the nonce will be added to all dynamically created script and style tags at runtime.
52
+ * Alternatively, the nonce value can be set on a meta tag in the DOM head
53
+ * (<meta name="csp-nonce" content="{ nonce value here }" />) which
54
+ * will result in the same behavior.
55
+ */
56
+ export declare const setNonce: (nonce: string) => void
57
+
58
+ export interface SetPlatformOptions {
59
+ raf?: (c: FrameRequestCallback) => number;
60
+ ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
61
+ rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
62
+ }
63
+ export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
64
+ export * from '../types';
@@ -0,0 +1,122 @@
1
+ export { g as generateId, a as getMode, c as getTheme, p as parseCommaSeparated, b as setGlobalMode, d as setGlobalTheme, s as slotHasContent } from './p-DxxFRStS.js';
2
+ export { g as getAssetPath, r as render, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-IPZGv1ea.js';
3
+ export { LeBox, defineCustomElement as defineCustomElementLeBox } from './le-box.js';
4
+ export { LeButton, defineCustomElement as defineCustomElementLeButton } from './le-button.js';
5
+ export { LeCard, defineCustomElement as defineCustomElementLeCard } from './le-card.js';
6
+ export { LeCheckbox, defineCustomElement as defineCustomElementLeCheckbox } from './le-checkbox.js';
7
+ export { LeComponent, defineCustomElement as defineCustomElementLeComponent } from './le-component.js';
8
+ export { LeNumberInput, defineCustomElement as defineCustomElementLeNumberInput } from './le-number-input.js';
9
+ export { LePopover, defineCustomElement as defineCustomElementLePopover } from './le-popover.js';
10
+ export { LePopup, defineCustomElement as defineCustomElementLePopup } from './le-popup.js';
11
+ export { LeRoundProgress, defineCustomElement as defineCustomElementLeRoundProgress } from './le-round-progress.js';
12
+ export { LeSlot, defineCustomElement as defineCustomElementLeSlot } from './le-slot.js';
13
+ export { LeStack, defineCustomElement as defineCustomElementLeStack } from './le-stack.js';
14
+ export { LeStringInput, defineCustomElement as defineCustomElementLeStringInput } from './le-string-input.js';
15
+ export { LeText, defineCustomElement as defineCustomElementLeText } from './le-text.js';
16
+ export { LeTurntable, defineCustomElement as defineCustomElementLeTurntable } from './le-turntable.js';
17
+
18
+ /**
19
+ * Programmatic API for le-popup component
20
+ *
21
+ * These functions allow you to show popups without manually creating elements.
22
+ *
23
+ * @example
24
+ * // Alert
25
+ * await leAlert('Something happened!');
26
+ *
27
+ * // Confirm
28
+ * const confirmed = await leConfirm('Are you sure?');
29
+ * if (confirmed) { ... }
30
+ *
31
+ * // Prompt
32
+ * const name = await lePrompt('What is your name?');
33
+ * if (name !== null) { ... }
34
+ */
35
+ /**
36
+ * Show an alert popup with a message
37
+ * @param message - The message to display
38
+ * @param options - Optional configuration
39
+ * @returns Promise that resolves when closed
40
+ *
41
+ * @example
42
+ * await leAlert('File saved successfully!');
43
+ * await leAlert('Error occurred', { title: 'Error', theme: 'dark' });
44
+ */
45
+ async function leAlert(message, options = {}) {
46
+ const popup = createPopupElement(message, { ...options, type: 'alert' });
47
+ document.body.appendChild(popup);
48
+ await popup.show();
49
+ popup.remove();
50
+ }
51
+ /**
52
+ * Show a confirm popup with OK/Cancel buttons
53
+ * @param message - The message to display
54
+ * @param options - Optional configuration
55
+ * @returns Promise that resolves to true (confirmed) or false (cancelled)
56
+ *
57
+ * @example
58
+ * const confirmed = await leConfirm('Delete this item?');
59
+ * if (confirmed) {
60
+ * deleteItem();
61
+ * }
62
+ */
63
+ async function leConfirm(message, options = {}) {
64
+ const popup = createPopupElement(message, { ...options, type: 'confirm' });
65
+ document.body.appendChild(popup);
66
+ const result = await popup.show();
67
+ popup.remove();
68
+ return result.confirmed;
69
+ }
70
+ /**
71
+ * Show a prompt popup with an input field
72
+ * @param message - The message to display
73
+ * @param options - Optional configuration (including defaultValue, placeholder)
74
+ * @returns Promise that resolves to the input value or null if cancelled
75
+ *
76
+ * @example
77
+ * const name = await lePrompt('Enter your name:', {
78
+ * title: 'Welcome',
79
+ * placeholder: 'John Doe',
80
+ * defaultValue: 'Guest'
81
+ * });
82
+ * if (name !== null) {
83
+ * greetUser(name);
84
+ * }
85
+ */
86
+ async function lePrompt(message, options = {}) {
87
+ const popup = createPopupElement(message, { ...options, type: 'prompt' });
88
+ document.body.appendChild(popup);
89
+ const result = await popup.show();
90
+ popup.remove();
91
+ return result.confirmed ? (result.value ?? '') : null;
92
+ }
93
+ /**
94
+ * Create a popup element with the given configuration
95
+ */
96
+ function createPopupElement(message, options) {
97
+ const popup = document.createElement('le-popup');
98
+ popup.message = message;
99
+ popup.type = options.type || 'alert';
100
+ if (options.title)
101
+ popup.popupTitle = options.title;
102
+ if (options.modal !== undefined)
103
+ popup.modal = options.modal;
104
+ if (options.position)
105
+ popup.position = options.position;
106
+ if (options.confirmText)
107
+ popup.confirmText = options.confirmText;
108
+ if (options.cancelText)
109
+ popup.cancelText = options.cancelText;
110
+ if (options.placeholder)
111
+ popup.placeholder = options.placeholder;
112
+ if (options.defaultValue)
113
+ popup.defaultValue = options.defaultValue;
114
+ if (options.theme)
115
+ popup.setAttribute('theme', options.theme);
116
+ return popup;
117
+ }
118
+
119
+ export { leAlert, leConfirm, lePrompt };
120
+ //# sourceMappingURL=index.js.map
121
+
122
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"file":"index.js","mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;AAgBG;AAqCH;;;;;;;;;AASG;AACI,eAAe,OAAO,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACvE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACxE,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,KAAK,CAAC,IAAI,EAAE;IAClB,KAAK,CAAC,MAAM,EAAE;AAChB;AAEA;;;;;;;;;;;AAWG;AACI,eAAe,SAAS,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACzE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1E,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;IACjC,KAAK,CAAC,MAAM,EAAE;IAEd,OAAO,MAAM,CAAC,SAAS;AACzB;AAEA;;;;;;;;;;;;;;;AAeG;AACI,eAAe,QAAQ,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACxE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACzE,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;IACjC,KAAK,CAAC,MAAM,EAAE;AAEd,IAAA,OAAO,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI;AACvD;AAEA;;AAEG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,OAAqB,EAAA;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAuB;AAEtE,IAAA,KAAK,CAAC,OAAO,GAAG,OAAO;IACvB,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO;IAEpC,IAAI,OAAO,CAAC,KAAK;AAAE,QAAA,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK;AACnD,IAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;AAAE,QAAA,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;IAC5D,IAAI,OAAO,CAAC,QAAQ;AAAE,QAAA,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;IACvD,IAAI,OAAO,CAAC,WAAW;AAAE,QAAA,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;IAChE,IAAI,OAAO,CAAC,UAAU;AAAE,QAAA,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;IAC7D,IAAI,OAAO,CAAC,WAAW;AAAE,QAAA,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;IAChE,IAAI,OAAO,CAAC,YAAY;AAAE,QAAA,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;IACnE,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;AAE7D,IAAA,OAAO,KAAK;AACd;;;;","names":[],"sources":["src/components/le-popup/le-popup.api.ts"],"sourcesContent":["/**\n * Programmatic API for le-popup component\n * \n * These functions allow you to show popups without manually creating elements.\n * \n * @example\n * // Alert\n * await leAlert('Something happened!');\n * \n * // Confirm\n * const confirmed = await leConfirm('Are you sure?');\n * if (confirmed) { ... }\n * \n * // Prompt\n * const name = await lePrompt('What is your name?');\n * if (name !== null) { ... }\n */\n\nimport type { PopupType, PopupPosition, PopupResult } from './le-popup';\n\n/**\n * Options for programmatic popup functions\n */\nexport interface PopupOptions {\n title?: string;\n type?: PopupType;\n modal?: boolean;\n position?: PopupPosition;\n confirmText?: string;\n cancelText?: string;\n placeholder?: string;\n defaultValue?: string;\n theme?: string;\n}\n\n/**\n * Interface for the le-popup custom element\n */\ninterface HTMLLePopupElement extends HTMLElement {\n open: boolean;\n type: PopupType;\n popupTitle?: string;\n message?: string;\n modal: boolean;\n position: PopupPosition;\n confirmText: string;\n cancelText: string;\n placeholder: string;\n defaultValue: string;\n show(): Promise<PopupResult>;\n hide(confirmed?: boolean): Promise<void>;\n}\n\n/**\n * Show an alert popup with a message\n * @param message - The message to display\n * @param options - Optional configuration\n * @returns Promise that resolves when closed\n * \n * @example\n * await leAlert('File saved successfully!');\n * await leAlert('Error occurred', { title: 'Error', theme: 'dark' });\n */\nexport async function leAlert(message: string, options: PopupOptions = {}): Promise<void> {\n const popup = createPopupElement(message, { ...options, type: 'alert' });\n document.body.appendChild(popup);\n \n await popup.show();\n popup.remove();\n}\n\n/**\n * Show a confirm popup with OK/Cancel buttons\n * @param message - The message to display\n * @param options - Optional configuration\n * @returns Promise that resolves to true (confirmed) or false (cancelled)\n * \n * @example\n * const confirmed = await leConfirm('Delete this item?');\n * if (confirmed) {\n * deleteItem();\n * }\n */\nexport async function leConfirm(message: string, options: PopupOptions = {}): Promise<boolean> {\n const popup = createPopupElement(message, { ...options, type: 'confirm' });\n document.body.appendChild(popup);\n \n const result = await popup.show();\n popup.remove();\n \n return result.confirmed;\n}\n\n/**\n * Show a prompt popup with an input field\n * @param message - The message to display\n * @param options - Optional configuration (including defaultValue, placeholder)\n * @returns Promise that resolves to the input value or null if cancelled\n * \n * @example\n * const name = await lePrompt('Enter your name:', { \n * title: 'Welcome',\n * placeholder: 'John Doe',\n * defaultValue: 'Guest'\n * });\n * if (name !== null) {\n * greetUser(name);\n * }\n */\nexport async function lePrompt(message: string, options: PopupOptions = {}): Promise<string | null> {\n const popup = createPopupElement(message, { ...options, type: 'prompt' });\n document.body.appendChild(popup);\n \n const result = await popup.show();\n popup.remove();\n \n return result.confirmed ? (result.value ?? '') : null;\n}\n\n/**\n * Create a popup element with the given configuration\n */\nfunction createPopupElement(message: string, options: PopupOptions): HTMLLePopupElement {\n const popup = document.createElement('le-popup') as HTMLLePopupElement;\n \n popup.message = message;\n popup.type = options.type || 'alert';\n \n if (options.title) popup.popupTitle = options.title;\n if (options.modal !== undefined) popup.modal = options.modal;\n if (options.position) popup.position = options.position;\n if (options.confirmText) popup.confirmText = options.confirmText;\n if (options.cancelText) popup.cancelText = options.cancelText;\n if (options.placeholder) popup.placeholder = options.placeholder;\n if (options.defaultValue) popup.defaultValue = options.defaultValue;\n if (options.theme) popup.setAttribute('theme', options.theme);\n \n return popup;\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface LeBox extends Components.LeBox, HTMLElement {}
4
+ export const LeBox: {
5
+ prototype: LeBox;
6
+ new (): LeBox;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;