le-kit 0.1.12 → 0.1.14

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 (313) hide show
  1. package/dist/components/index.d.ts +33 -0
  2. package/dist/components/le-box.d.ts +11 -0
  3. package/dist/components/le-button.d.ts +11 -0
  4. package/dist/components/le-card.d.ts +11 -0
  5. package/dist/components/le-checkbox.d.ts +11 -0
  6. package/dist/components/le-component.d.ts +11 -0
  7. package/dist/components/le-number-input.d.ts +11 -0
  8. package/dist/components/le-popover.d.ts +11 -0
  9. package/dist/components/le-popup.d.ts +11 -0
  10. package/dist/components/le-round-progress.d.ts +11 -0
  11. package/dist/components/le-slot.d.ts +11 -0
  12. package/dist/components/le-stack.d.ts +11 -0
  13. package/dist/components/le-string-input.d.ts +11 -0
  14. package/dist/components/le-text.d.ts +11 -0
  15. package/dist/components/le-turntable.d.ts +11 -0
  16. package/dist/core/cjs/{index-BsRb_UTe.js → index-B0mg71He.js} +6 -6
  17. package/dist/core/cjs/index-B0mg71He.js.map +1 -0
  18. package/dist/core/cjs/index.cjs.js +2 -2
  19. package/dist/core/cjs/le-box.cjs.entry.js +2 -2
  20. package/dist/core/cjs/le-button.cjs.entry.js +2 -2
  21. package/dist/core/cjs/le-card.cjs.entry.js +2 -2
  22. package/dist/core/cjs/le-checkbox.cjs.entry.js +2 -2
  23. package/dist/core/cjs/le-kit.cjs.js +1 -1
  24. package/dist/core/cjs/le-number-input.cjs.entry.js +2 -2
  25. package/dist/core/cjs/le-popover.cjs.entry.js +1 -1
  26. package/dist/core/cjs/le-popup.cjs.entry.js +1 -1
  27. package/dist/core/cjs/le-round-progress.cjs.entry.js +1 -1
  28. package/dist/core/cjs/le-stack.cjs.entry.js +2 -2
  29. package/dist/core/cjs/le-string-input.cjs.entry.js +2 -2
  30. package/dist/core/cjs/le-text.cjs.entry.js +2 -2
  31. package/dist/core/cjs/le-turntable.cjs.entry.js +1 -1
  32. package/dist/core/cjs/loader.cjs.js +1 -1
  33. package/dist/{cjs/utils-DqhadIxH.js → core/cjs/utils-jdqP71LP.js} +3 -3
  34. package/dist/core/cjs/{utils-nsP8_w8_.js.map → utils-jdqP71LP.js.map} +1 -1
  35. package/dist/core/collection/global/app.js +4 -4
  36. package/dist/core/collection/global/app.js.map +1 -1
  37. package/dist/core/components/index.d.ts +33 -0
  38. package/dist/{esm → core/components}/index.js +9 -2
  39. package/dist/core/components/index.js.map +1 -0
  40. package/dist/core/components/le-box.d.ts +11 -0
  41. package/dist/{cjs/le-box.cjs.entry.js → core/components/le-box.js} +87 -14
  42. package/dist/core/components/le-box.js.map +1 -0
  43. package/dist/core/components/le-button.d.ts +11 -0
  44. package/dist/core/components/le-button.js +9 -0
  45. package/dist/core/components/le-button.js.map +1 -0
  46. package/dist/{esm/le-button_6.entry.js → core/components/le-button2.js} +919 -972
  47. package/dist/core/components/le-button2.js.map +1 -0
  48. package/dist/core/components/le-card.d.ts +11 -0
  49. package/dist/core/components/le-card.js +84 -0
  50. package/dist/core/components/le-card.js.map +1 -0
  51. package/dist/core/components/le-checkbox.d.ts +11 -0
  52. package/dist/core/components/le-checkbox.js +9 -0
  53. package/dist/core/components/le-checkbox.js.map +1 -0
  54. package/dist/core/components/le-component.d.ts +11 -0
  55. package/dist/core/components/le-component.js +9 -0
  56. package/dist/core/components/le-component.js.map +1 -0
  57. package/dist/core/components/le-number-input.d.ts +11 -0
  58. package/dist/{cjs/le-number-input.cjs.entry.js → core/components/le-number-input.js} +85 -15
  59. package/dist/core/components/le-number-input.js.map +1 -0
  60. package/dist/core/components/le-popover.d.ts +11 -0
  61. package/dist/core/components/le-popover.js +9 -0
  62. package/dist/core/components/le-popover.js.map +1 -0
  63. package/dist/{collection/components/le-popover/le-popover.js → core/components/le-popover2.js} +49 -360
  64. package/dist/core/components/le-popover2.js.map +1 -0
  65. package/dist/core/components/le-popup.d.ts +11 -0
  66. package/dist/{cjs/le-popup.cjs.entry.js → core/components/le-popup.js} +88 -21
  67. package/dist/core/components/le-popup.js.map +1 -0
  68. package/dist/core/components/le-round-progress.d.ts +11 -0
  69. package/dist/{cjs/le-round-progress.cjs.entry.js → core/components/le-round-progress.js} +43 -14
  70. package/dist/core/components/le-round-progress.js.map +1 -0
  71. package/dist/core/components/le-slot.d.ts +11 -0
  72. package/dist/core/components/le-slot.js +9 -0
  73. package/dist/core/components/le-slot.js.map +1 -0
  74. package/dist/core/components/le-stack.d.ts +11 -0
  75. package/dist/{cjs/le-stack.cjs.entry.js → core/components/le-stack.js} +78 -14
  76. package/dist/core/components/le-stack.js.map +1 -0
  77. package/dist/core/components/le-string-input.d.ts +11 -0
  78. package/dist/core/components/le-string-input.js +9 -0
  79. package/dist/core/components/le-string-input.js.map +1 -0
  80. package/dist/core/components/le-text.d.ts +11 -0
  81. package/dist/{cjs/le-text.cjs.entry.js → core/components/le-text.js} +80 -16
  82. package/dist/core/components/le-text.js.map +1 -0
  83. package/dist/core/components/le-turntable.d.ts +11 -0
  84. package/dist/{cjs/le-turntable.cjs.entry.js → core/components/le-turntable.js} +37 -12
  85. package/dist/core/components/le-turntable.js.map +1 -0
  86. package/dist/core/components/utils.js +310 -0
  87. package/dist/core/components/utils.js.map +1 -0
  88. package/dist/core/esm/{index-CJ-z5Zj1.js → index-SKsXnjWI.js} +6 -6
  89. package/dist/core/{le-kit/p-CJ-z5Zj1.js.map → esm/index-SKsXnjWI.js.map} +1 -1
  90. package/dist/core/esm/index.js +2 -2
  91. package/dist/core/esm/le-box.entry.js +2 -2
  92. package/dist/core/esm/le-button.entry.js +2 -2
  93. package/dist/core/esm/le-card.entry.js +2 -2
  94. package/dist/core/esm/le-checkbox.entry.js +2 -2
  95. package/dist/core/esm/le-kit.js +2 -2
  96. package/dist/core/esm/le-number-input.entry.js +2 -2
  97. package/dist/core/esm/le-popover.entry.js +1 -1
  98. package/dist/core/esm/le-popup.entry.js +1 -1
  99. package/dist/core/esm/le-round-progress.entry.js +1 -1
  100. package/dist/core/esm/le-stack.entry.js +2 -2
  101. package/dist/core/esm/le-string-input.entry.js +2 -2
  102. package/dist/core/esm/le-text.entry.js +2 -2
  103. package/dist/core/esm/le-turntable.entry.js +1 -1
  104. package/dist/core/esm/loader.js +2 -2
  105. package/dist/{esm/utils-Cf7fMI0j.js → core/esm/utils-DZdP1JiG.js} +3 -3
  106. package/dist/core/esm/{utils-Bxmld82M.js.map → utils-DZdP1JiG.js.map} +1 -1
  107. package/dist/core/le-kit/index.esm.js +1 -1
  108. package/dist/core/le-kit/le-kit.esm.js +1 -1
  109. package/dist/core/le-kit/p--VxUdzYV.js +2 -0
  110. package/dist/core/le-kit/{p-Drz36PDp.js.map → p--VxUdzYV.js.map} +1 -1
  111. package/dist/core/le-kit/{p-2ac4789a.entry.js → p-189cb775.entry.js} +2 -2
  112. package/dist/core/le-kit/{p-556086ca.entry.js → p-35c1d413.entry.js} +2 -2
  113. package/dist/core/le-kit/{p-aa6e906f.entry.js → p-4f133e72.entry.js} +2 -2
  114. package/dist/core/le-kit/{p-df552906.entry.js → p-55f70091.entry.js} +2 -2
  115. package/dist/core/le-kit/{p-e0861e82.entry.js → p-5fd7b23a.entry.js} +2 -2
  116. package/dist/core/le-kit/{p-5ef81068.entry.js → p-6e414a5c.entry.js} +2 -2
  117. package/dist/core/le-kit/{p-d75214f9.entry.js → p-7b121ca7.entry.js} +2 -2
  118. package/dist/core/le-kit/{p-45eace7c.entry.js → p-8c81fa95.entry.js} +2 -2
  119. package/dist/core/le-kit/{p-257495cc.entry.js → p-9aa81442.entry.js} +2 -2
  120. package/dist/core/le-kit/p-SKsXnjWI.js +3 -0
  121. package/dist/core/le-kit/p-SKsXnjWI.js.map +1 -0
  122. package/dist/core/le-kit/{p-66d35f48.entry.js → p-a9d05ef6.entry.js} +2 -2
  123. package/dist/core/le-kit/{p-73682c5e.entry.js → p-b2bd2a80.entry.js} +2 -2
  124. package/dist/core/le-kit/{p-0308bd1f.entry.js → p-ccac9611.entry.js} +2 -2
  125. package/dist/core/types/global/app.d.ts +4 -4
  126. package/dist/le-kit/assets/custom-elements.json +1230 -1230
  127. package/dist/le-kit/index-CAY3Hk_i.js +4559 -0
  128. package/dist/le-kit/index-CAY3Hk_i.js.map +1 -0
  129. package/dist/le-kit/index.esm.js +116 -2
  130. package/dist/le-kit/index.esm.js.map +1 -1
  131. package/dist/{esm → le-kit}/le-box.entry.js +3 -3
  132. package/dist/le-kit/le-button.entry.esm.js.map +1 -0
  133. package/dist/le-kit/le-button.entry.js +90 -0
  134. package/dist/{esm → le-kit}/le-card.entry.js +3 -3
  135. package/dist/le-kit/le-checkbox.entry.esm.js.map +1 -0
  136. package/dist/le-kit/le-checkbox.entry.js +59 -0
  137. package/dist/le-kit/le-component.entry.esm.js.map +1 -0
  138. package/dist/{collection/components/le-component/le-component.js → le-kit/le-component.entry.js} +19 -138
  139. package/dist/le-kit/le-kit.css +1010 -1
  140. package/dist/le-kit/le-kit.esm.js +48 -2
  141. package/dist/le-kit/le-kit.esm.js.map +1 -1
  142. package/dist/{esm → le-kit}/le-number-input.entry.js +5 -5
  143. package/dist/le-kit/le-popover.entry.esm.js.map +1 -0
  144. package/dist/le-kit/le-popover.entry.js +346 -0
  145. package/dist/{esm → le-kit}/le-popup.entry.js +6 -6
  146. package/dist/{esm → le-kit}/le-round-progress.entry.js +2 -2
  147. package/dist/le-kit/le-slot.entry.esm.js.map +1 -0
  148. package/dist/{collection/components/le-slot/le-slot.js → le-kit/le-slot.entry.js} +20 -273
  149. package/dist/{esm → le-kit}/le-stack.entry.js +3 -3
  150. package/dist/le-kit/le-string-input.entry.esm.js.map +1 -0
  151. package/dist/le-kit/le-string-input.entry.js +93 -0
  152. package/dist/{esm → le-kit}/le-text.entry.js +3 -3
  153. package/dist/{esm → le-kit}/le-turntable.entry.js +2 -2
  154. package/dist/{core/esm/utils-Bxmld82M.js → le-kit/utils-cwSNy7ZS.js} +3 -3
  155. package/dist/{esm/utils-Cf7fMI0j.js.map → le-kit/utils-cwSNy7ZS.js.map} +1 -1
  156. package/dist/types/global/app.d.ts +4 -4
  157. package/package.json +4 -5
  158. package/readme.md +2 -2
  159. package/custom-elements.json +0 -4305
  160. package/dist/cjs/index-o1DRKw1g.js +0 -1842
  161. package/dist/cjs/index-o1DRKw1g.js.map +0 -1
  162. package/dist/cjs/index.cjs.js +0 -119
  163. package/dist/cjs/index.cjs.js.map +0 -1
  164. package/dist/cjs/le-box.entry.cjs.js.map +0 -1
  165. package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.cjs.js.map +0 -1
  166. package/dist/cjs/le-button_6.cjs.entry.js +0 -1206
  167. package/dist/cjs/le-card.cjs.entry.js +0 -29
  168. package/dist/cjs/le-card.entry.cjs.js.map +0 -1
  169. package/dist/cjs/le-kit.cjs.js +0 -25
  170. package/dist/cjs/le-kit.cjs.js.map +0 -1
  171. package/dist/cjs/le-number-input.entry.cjs.js.map +0 -1
  172. package/dist/cjs/le-popup.entry.cjs.js.map +0 -1
  173. package/dist/cjs/le-round-progress.entry.cjs.js.map +0 -1
  174. package/dist/cjs/le-stack.entry.cjs.js.map +0 -1
  175. package/dist/cjs/le-text.entry.cjs.js.map +0 -1
  176. package/dist/cjs/le-turntable.entry.cjs.js.map +0 -1
  177. package/dist/cjs/loader.cjs.js +0 -13
  178. package/dist/cjs/loader.cjs.js.map +0 -1
  179. package/dist/cjs/utils-DqhadIxH.js.map +0 -1
  180. package/dist/collection/assets/custom-elements.json +0 -4305
  181. package/dist/collection/collection-manifest.json +0 -26
  182. package/dist/collection/components/le-box/le-box.default.css +0 -37
  183. package/dist/collection/components/le-box/le-box.js +0 -614
  184. package/dist/collection/components/le-box/le-box.js.map +0 -1
  185. package/dist/collection/components/le-button/le-button.default.css +0 -263
  186. package/dist/collection/components/le-button/le-button.js +0 -368
  187. package/dist/collection/components/le-button/le-button.js.map +0 -1
  188. package/dist/collection/components/le-card/le-card.default.css +0 -74
  189. package/dist/collection/components/le-card/le-card.js +0 -102
  190. package/dist/collection/components/le-card/le-card.js.map +0 -1
  191. package/dist/collection/components/le-checkbox/le-checkbox.css +0 -93
  192. package/dist/collection/components/le-checkbox/le-checkbox.js +0 -192
  193. package/dist/collection/components/le-checkbox/le-checkbox.js.map +0 -1
  194. package/dist/collection/components/le-component/le-component.css +0 -189
  195. package/dist/collection/components/le-component/le-component.js.map +0 -1
  196. package/dist/collection/components/le-number-input/le-number-input.css +0 -135
  197. package/dist/collection/components/le-number-input/le-number-input.js +0 -515
  198. package/dist/collection/components/le-number-input/le-number-input.js.map +0 -1
  199. package/dist/collection/components/le-popover/le-popover.css +0 -143
  200. package/dist/collection/components/le-popover/le-popover.js.map +0 -1
  201. package/dist/collection/components/le-popup/le-popup.api.js +0 -101
  202. package/dist/collection/components/le-popup/le-popup.api.js.map +0 -1
  203. package/dist/collection/components/le-popup/le-popup.css +0 -222
  204. package/dist/collection/components/le-popup/le-popup.js +0 -596
  205. package/dist/collection/components/le-popup/le-popup.js.map +0 -1
  206. package/dist/collection/components/le-round-progress/le-round-progress.css +0 -34
  207. package/dist/collection/components/le-round-progress/le-round-progress.js +0 -184
  208. package/dist/collection/components/le-round-progress/le-round-progress.js.map +0 -1
  209. package/dist/collection/components/le-slot/le-slot.default.css +0 -222
  210. package/dist/collection/components/le-slot/le-slot.js.map +0 -1
  211. package/dist/collection/components/le-stack/le-stack.default.css +0 -37
  212. package/dist/collection/components/le-stack/le-stack.js +0 -389
  213. package/dist/collection/components/le-stack/le-stack.js.map +0 -1
  214. package/dist/collection/components/le-string-input/le-string-input.css +0 -83
  215. package/dist/collection/components/le-string-input/le-string-input.js +0 -359
  216. package/dist/collection/components/le-string-input/le-string-input.js.map +0 -1
  217. package/dist/collection/components/le-text/le-text.default.css +0 -169
  218. package/dist/collection/components/le-text/le-text.js +0 -475
  219. package/dist/collection/components/le-text/le-text.js.map +0 -1
  220. package/dist/collection/components/le-turntable/le-turntable.css +0 -10
  221. package/dist/collection/components/le-turntable/le-turntable.js +0 -210
  222. package/dist/collection/components/le-turntable/le-turntable.js.map +0 -1
  223. package/dist/collection/global/app.js +0 -167
  224. package/dist/collection/global/app.js.map +0 -1
  225. package/dist/collection/index.js +0 -15
  226. package/dist/collection/index.js.map +0 -1
  227. package/dist/collection/types/blocks.js +0 -115
  228. package/dist/collection/types/blocks.js.map +0 -1
  229. package/dist/collection/types/options.js +0 -2
  230. package/dist/collection/types/options.js.map +0 -1
  231. package/dist/collection/utils/utils.js +0 -141
  232. package/dist/collection/utils/utils.js.map +0 -1
  233. package/dist/core/cjs/index-BsRb_UTe.js.map +0 -1
  234. package/dist/core/cjs/utils-nsP8_w8_.js +0 -152
  235. package/dist/core/esm/index-CJ-z5Zj1.js.map +0 -1
  236. package/dist/core/le-kit/p-CJ-z5Zj1.js +0 -3
  237. package/dist/core/le-kit/p-Drz36PDp.js +0 -2
  238. package/dist/docs.d.ts +0 -443
  239. package/dist/docs.json +0 -5185
  240. package/dist/esm/index-CwNQ1GTa.js +0 -1824
  241. package/dist/esm/index-CwNQ1GTa.js.map +0 -1
  242. package/dist/esm/index.js.map +0 -1
  243. package/dist/esm/le-box.entry.js.map +0 -1
  244. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +0 -1
  245. package/dist/esm/le-card.entry.js.map +0 -1
  246. package/dist/esm/le-kit.js +0 -21
  247. package/dist/esm/le-kit.js.map +0 -1
  248. package/dist/esm/le-number-input.entry.js.map +0 -1
  249. package/dist/esm/le-popup.entry.js.map +0 -1
  250. package/dist/esm/le-round-progress.entry.js.map +0 -1
  251. package/dist/esm/le-stack.entry.js.map +0 -1
  252. package/dist/esm/le-text.entry.js.map +0 -1
  253. package/dist/esm/le-turntable.entry.js.map +0 -1
  254. package/dist/esm/loader.js +0 -11
  255. package/dist/esm/loader.js.map +0 -1
  256. package/dist/index.cjs.js +0 -1
  257. package/dist/index.js +0 -1
  258. package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +0 -1
  259. package/dist/le-kit/p-08dbcc25.entry.js +0 -2
  260. package/dist/le-kit/p-08dbcc25.entry.js.map +0 -1
  261. package/dist/le-kit/p-5dc35729.entry.js +0 -2
  262. package/dist/le-kit/p-5dc35729.entry.js.map +0 -1
  263. package/dist/le-kit/p-64374730.entry.js +0 -2
  264. package/dist/le-kit/p-64374730.entry.js.map +0 -1
  265. package/dist/le-kit/p-79ec6f7c.entry.js +0 -2
  266. package/dist/le-kit/p-79ec6f7c.entry.js.map +0 -1
  267. package/dist/le-kit/p-8daf3c7f.entry.js +0 -2
  268. package/dist/le-kit/p-8daf3c7f.entry.js.map +0 -1
  269. package/dist/le-kit/p-9c69235d.entry.js +0 -2
  270. package/dist/le-kit/p-9c69235d.entry.js.map +0 -1
  271. package/dist/le-kit/p-CwNQ1GTa.js +0 -3
  272. package/dist/le-kit/p-CwNQ1GTa.js.map +0 -1
  273. package/dist/le-kit/p-ad398acd.entry.js +0 -2
  274. package/dist/le-kit/p-ad398acd.entry.js.map +0 -1
  275. package/dist/le-kit/p-b8122ad6.entry.js +0 -2
  276. package/dist/le-kit/p-b8122ad6.entry.js.map +0 -1
  277. package/dist/le-kit/p-f9008505.entry.js +0 -2
  278. package/dist/le-kit/p-f9008505.entry.js.map +0 -1
  279. package/dist/le-kit/p-y3FECAx9.js +0 -2
  280. package/dist/le-kit/p-y3FECAx9.js.map +0 -1
  281. package/dist/themes/base.css +0 -89
  282. package/dist/themes/dark.css +0 -100
  283. package/dist/themes/default.css +0 -108
  284. package/dist/themes/gradient.css +0 -100
  285. package/dist/themes/index.css +0 -413
  286. package/dist/themes/minimal.css +0 -100
  287. package/dist/themes/warm.css +0 -100
  288. /package/dist/{collection → components}/themes/base.css +0 -0
  289. /package/dist/{collection → components}/themes/dark.css +0 -0
  290. /package/dist/{collection → components}/themes/default.css +0 -0
  291. /package/dist/{collection → components}/themes/gradient.css +0 -0
  292. /package/dist/{collection → components}/themes/index.css +0 -0
  293. /package/dist/{collection → components}/themes/minimal.css +0 -0
  294. /package/dist/{collection → components}/themes/warm.css +0 -0
  295. /package/dist/core/le-kit/{p-2ac4789a.entry.js.map → p-189cb775.entry.js.map} +0 -0
  296. /package/dist/core/le-kit/{p-556086ca.entry.js.map → p-35c1d413.entry.js.map} +0 -0
  297. /package/dist/core/le-kit/{p-aa6e906f.entry.js.map → p-4f133e72.entry.js.map} +0 -0
  298. /package/dist/core/le-kit/{p-df552906.entry.js.map → p-55f70091.entry.js.map} +0 -0
  299. /package/dist/core/le-kit/{p-e0861e82.entry.js.map → p-5fd7b23a.entry.js.map} +0 -0
  300. /package/dist/core/le-kit/{p-5ef81068.entry.js.map → p-6e414a5c.entry.js.map} +0 -0
  301. /package/dist/core/le-kit/{p-d75214f9.entry.js.map → p-7b121ca7.entry.js.map} +0 -0
  302. /package/dist/core/le-kit/{p-45eace7c.entry.js.map → p-8c81fa95.entry.js.map} +0 -0
  303. /package/dist/core/le-kit/{p-257495cc.entry.js.map → p-9aa81442.entry.js.map} +0 -0
  304. /package/dist/core/le-kit/{p-66d35f48.entry.js.map → p-a9d05ef6.entry.js.map} +0 -0
  305. /package/dist/core/le-kit/{p-73682c5e.entry.js.map → p-b2bd2a80.entry.js.map} +0 -0
  306. /package/dist/core/le-kit/{p-0308bd1f.entry.js.map → p-ccac9611.entry.js.map} +0 -0
  307. /package/dist/le-kit/{themes → dist/components/themes}/base.css +0 -0
  308. /package/dist/le-kit/{themes → dist/components/themes}/dark.css +0 -0
  309. /package/dist/le-kit/{themes → dist/components/themes}/default.css +0 -0
  310. /package/dist/le-kit/{themes → dist/components/themes}/gradient.css +0 -0
  311. /package/dist/le-kit/{themes → dist/components/themes}/index.css +0 -0
  312. /package/dist/le-kit/{themes → dist/components/themes}/minimal.css +0 -0
  313. /package/dist/le-kit/{themes → dist/components/themes}/warm.css +0 -0
@@ -1,141 +0,0 @@
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
@@ -1 +0,0 @@
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"]}