le-kit 0.5.1 → 0.5.3

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 (317) hide show
  1. package/LLM_CONTEXT.md +22 -0
  2. package/dist/cjs/le-bar_16.cjs.entry.js +945 -1257
  3. package/dist/cjs/le-box.cjs.entry.js +40 -88
  4. package/dist/cjs/le-breadcrumbs.cjs.entry.js +223 -0
  5. package/dist/cjs/le-card.cjs.entry.js +11 -11
  6. package/dist/cjs/le-code-input.cjs.entry.js +76 -110
  7. package/dist/cjs/le-combobox.cjs.entry.js +126 -153
  8. package/dist/cjs/le-header-placeholder.cjs.entry.js +1 -1
  9. package/dist/cjs/le-kit.cjs.js +1 -1
  10. package/dist/cjs/le-multiselect.cjs.entry.js +149 -171
  11. package/dist/cjs/le-number-input.cjs.entry.js +89 -129
  12. package/dist/cjs/le-round-progress.cjs.entry.js +6 -11
  13. package/dist/cjs/le-segmented-control.cjs.entry.js +77 -87
  14. package/dist/cjs/le-side-panel-toggle.cjs.entry.js +59 -75
  15. package/dist/cjs/le-side-panel.cjs.entry.js +130 -137
  16. package/dist/cjs/le-stack.cjs.entry.js +38 -51
  17. package/dist/cjs/le-tab-bar.cjs.entry.js +80 -89
  18. package/dist/cjs/le-tab-panel.cjs.entry.js +21 -39
  19. package/dist/cjs/le-tab.cjs.entry.js +53 -91
  20. package/dist/cjs/le-tabs.cjs.entry.js +112 -122
  21. package/dist/cjs/le-tag.cjs.entry.js +23 -40
  22. package/dist/cjs/le-text.cjs.entry.js +131 -148
  23. package/dist/cjs/le-turntable.cjs.entry.js +17 -25
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/collection/collection-manifest.json +1 -0
  26. package/dist/collection/components/le-bar/le-bar.js +132 -139
  27. package/dist/collection/components/le-bar/le-bar.js.map +1 -1
  28. package/dist/collection/components/le-box/le-box.js +41 -88
  29. package/dist/collection/components/le-box/le-box.js.map +1 -1
  30. package/dist/collection/components/le-breadcrumbs/le-breadcrumbs.css +72 -0
  31. package/dist/collection/components/le-breadcrumbs/le-breadcrumbs.js +372 -0
  32. package/dist/collection/components/le-breadcrumbs/le-breadcrumbs.js.map +1 -0
  33. package/dist/collection/components/le-button/le-button.js +50 -79
  34. package/dist/collection/components/le-button/le-button.js.map +1 -1
  35. package/dist/collection/components/le-card/le-card.js +12 -11
  36. package/dist/collection/components/le-card/le-card.js.map +1 -1
  37. package/dist/collection/components/le-checkbox/le-checkbox.js +27 -42
  38. package/dist/collection/components/le-checkbox/le-checkbox.js.map +1 -1
  39. package/dist/collection/components/le-code-input/le-code-input.js +77 -110
  40. package/dist/collection/components/le-code-input/le-code-input.js.map +1 -1
  41. package/dist/collection/components/le-collapse/le-collapse.js +15 -14
  42. package/dist/collection/components/le-collapse/le-collapse.js.map +1 -1
  43. package/dist/collection/components/le-combobox/le-combobox.js +127 -153
  44. package/dist/collection/components/le-combobox/le-combobox.js.map +1 -1
  45. package/dist/collection/components/le-component/le-component.js +14 -38
  46. package/dist/collection/components/le-component/le-component.js.map +1 -1
  47. package/dist/collection/components/le-current-heading/le-current-heading.js +6 -5
  48. package/dist/collection/components/le-current-heading/le-current-heading.js.map +1 -1
  49. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +139 -165
  50. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +1 -1
  51. package/dist/collection/components/le-header/le-header.js +22 -45
  52. package/dist/collection/components/le-header/le-header.js.map +1 -1
  53. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +1 -1
  54. package/dist/collection/components/le-icon/le-icon.js +14 -14
  55. package/dist/collection/components/le-icon/le-icon.js.map +1 -1
  56. package/dist/collection/components/le-multiselect/le-multiselect.js +150 -171
  57. package/dist/collection/components/le-multiselect/le-multiselect.js.map +1 -1
  58. package/dist/collection/components/le-navigation/le-navigation.js +118 -128
  59. package/dist/collection/components/le-navigation/le-navigation.js.map +1 -1
  60. package/dist/collection/components/le-number-input/le-number-input.js +90 -129
  61. package/dist/collection/components/le-number-input/le-number-input.js.map +1 -1
  62. package/dist/collection/components/le-popover/le-popover.css +2 -1
  63. package/dist/collection/components/le-popover/le-popover.js +101 -126
  64. package/dist/collection/components/le-popover/le-popover.js.map +1 -1
  65. package/dist/collection/components/le-popup/le-popup.js +89 -115
  66. package/dist/collection/components/le-popup/le-popup.js.map +1 -1
  67. package/dist/collection/components/le-round-progress/le-round-progress.js +7 -12
  68. package/dist/collection/components/le-round-progress/le-round-progress.js.map +1 -1
  69. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +6 -7
  70. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js.map +1 -1
  71. package/dist/collection/components/le-segmented-control/le-segmented-control.js +78 -87
  72. package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +1 -1
  73. package/dist/collection/components/le-select/le-select.js +88 -110
  74. package/dist/collection/components/le-select/le-select.js.map +1 -1
  75. package/dist/collection/components/le-side-panel/le-side-panel.css +10 -1
  76. package/dist/collection/components/le-side-panel/le-side-panel.js +131 -136
  77. package/dist/collection/components/le-side-panel/le-side-panel.js.map +1 -1
  78. package/dist/collection/components/le-side-panel-toggle/le-side-panel-toggle.js +60 -75
  79. package/dist/collection/components/le-side-panel-toggle/le-side-panel-toggle.js.map +1 -1
  80. package/dist/collection/components/le-slot/le-slot.js +96 -144
  81. package/dist/collection/components/le-slot/le-slot.js.map +1 -1
  82. package/dist/collection/components/le-stack/le-stack.js +39 -51
  83. package/dist/collection/components/le-stack/le-stack.js.map +1 -1
  84. package/dist/collection/components/le-string-input/le-string-input.js +41 -84
  85. package/dist/collection/components/le-string-input/le-string-input.js.map +1 -1
  86. package/dist/collection/components/le-tab/le-tab.js +54 -91
  87. package/dist/collection/components/le-tab/le-tab.js.map +1 -1
  88. package/dist/collection/components/le-tab-bar/le-tab-bar.js +81 -89
  89. package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +1 -1
  90. package/dist/collection/components/le-tab-panel/le-tab-panel.js +22 -39
  91. package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +1 -1
  92. package/dist/collection/components/le-tabs/le-tabs.js +113 -122
  93. package/dist/collection/components/le-tabs/le-tabs.js.map +1 -1
  94. package/dist/collection/components/le-tag/le-tag.js +25 -40
  95. package/dist/collection/components/le-tag/le-tag.js.map +1 -1
  96. package/dist/collection/components/le-text/le-text.js +132 -148
  97. package/dist/collection/components/le-text/le-text.js.map +1 -1
  98. package/dist/collection/components/le-turntable/le-turntable.js +18 -26
  99. package/dist/collection/components/le-turntable/le-turntable.js.map +1 -1
  100. package/dist/collection/dist/components/assets/custom-elements.json +1371 -1043
  101. package/dist/collection/dist/components/assets/icons/arrow-left.json +21 -0
  102. package/dist/collection/dist/components/assets/icons/arrow-right.json +21 -0
  103. package/dist/collection/dist/components/assets/icons/check.json +12 -0
  104. package/dist/collection/dist/components/assets/icons/chevron-down.json +1 -2
  105. package/dist/collection/dist/components/assets/icons/chevron-left.json +12 -0
  106. package/dist/collection/dist/components/assets/icons/chevron-right.json +12 -0
  107. package/dist/collection/dist/components/assets/icons/chevron-up.json +12 -0
  108. package/dist/components/assets/custom-elements.json +1371 -1043
  109. package/dist/components/assets/icons/arrow-left.json +21 -0
  110. package/dist/components/assets/icons/arrow-right.json +21 -0
  111. package/dist/components/assets/icons/check.json +12 -0
  112. package/dist/components/assets/icons/chevron-down.json +1 -2
  113. package/dist/components/assets/icons/chevron-left.json +12 -0
  114. package/dist/components/assets/icons/chevron-right.json +12 -0
  115. package/dist/components/assets/icons/chevron-up.json +12 -0
  116. package/dist/components/le-bar2.js +132 -140
  117. package/dist/components/le-bar2.js.map +1 -1
  118. package/dist/components/le-box.js +41 -89
  119. package/dist/components/le-box.js.map +1 -1
  120. package/dist/components/le-breadcrumbs.d.ts +11 -0
  121. package/dist/components/le-breadcrumbs.js +327 -0
  122. package/dist/components/le-breadcrumbs.js.map +1 -0
  123. package/dist/components/le-button2.js +405 -619
  124. package/dist/components/le-button2.js.map +1 -1
  125. package/dist/components/le-card.js +12 -12
  126. package/dist/components/le-card.js.map +1 -1
  127. package/dist/components/le-code-input.js +77 -111
  128. package/dist/components/le-code-input.js.map +1 -1
  129. package/dist/components/le-collapse2.js +15 -15
  130. package/dist/components/le-collapse2.js.map +1 -1
  131. package/dist/components/le-combobox.js +127 -154
  132. package/dist/components/le-combobox.js.map +1 -1
  133. package/dist/components/le-current-heading.js +6 -6
  134. package/dist/components/le-current-heading.js.map +1 -1
  135. package/dist/components/le-dropdown-base2.js +139 -166
  136. package/dist/components/le-dropdown-base2.js.map +1 -1
  137. package/dist/components/le-header-placeholder.js +1 -1
  138. package/dist/components/le-header.js +22 -46
  139. package/dist/components/le-header.js.map +1 -1
  140. package/dist/components/le-icon2.js +14 -15
  141. package/dist/components/le-icon2.js.map +1 -1
  142. package/dist/components/le-multiselect.js +150 -172
  143. package/dist/components/le-multiselect.js.map +1 -1
  144. package/dist/components/le-navigation.js +1 -494
  145. package/dist/components/le-navigation.js.map +1 -1
  146. package/dist/components/le-navigation2.js +488 -0
  147. package/dist/components/le-navigation2.js.map +1 -0
  148. package/dist/components/le-number-input.js +90 -130
  149. package/dist/components/le-number-input.js.map +1 -1
  150. package/dist/components/le-popover2.js +103 -128
  151. package/dist/components/le-popover2.js.map +1 -1
  152. package/dist/components/le-round-progress.js +7 -12
  153. package/dist/components/le-round-progress.js.map +1 -1
  154. package/dist/components/le-scroll-progress.js +6 -8
  155. package/dist/components/le-scroll-progress.js.map +1 -1
  156. package/dist/components/le-segmented-control.js +78 -88
  157. package/dist/components/le-segmented-control.js.map +1 -1
  158. package/dist/components/le-side-panel-toggle2.js +60 -76
  159. package/dist/components/le-side-panel-toggle2.js.map +1 -1
  160. package/dist/components/le-side-panel.js +133 -139
  161. package/dist/components/le-side-panel.js.map +1 -1
  162. package/dist/components/le-stack.js +39 -52
  163. package/dist/components/le-stack.js.map +1 -1
  164. package/dist/components/le-tab-bar.js +81 -90
  165. package/dist/components/le-tab-bar.js.map +1 -1
  166. package/dist/components/le-tab-panel.js +22 -40
  167. package/dist/components/le-tab-panel.js.map +1 -1
  168. package/dist/components/le-tab2.js +54 -92
  169. package/dist/components/le-tab2.js.map +1 -1
  170. package/dist/components/le-tabs.js +113 -123
  171. package/dist/components/le-tabs.js.map +1 -1
  172. package/dist/components/le-tag2.js +24 -41
  173. package/dist/components/le-tag2.js.map +1 -1
  174. package/dist/components/le-text.js +132 -149
  175. package/dist/components/le-text.js.map +1 -1
  176. package/dist/components/le-turntable.js +18 -26
  177. package/dist/components/le-turntable.js.map +1 -1
  178. package/dist/docs.json +294 -2
  179. package/dist/esm/le-bar_16.entry.js +946 -1258
  180. package/dist/esm/le-box.entry.js +41 -89
  181. package/dist/esm/le-box.entry.js.map +1 -1
  182. package/dist/esm/le-breadcrumbs.entry.js +221 -0
  183. package/dist/esm/le-breadcrumbs.entry.js.map +1 -0
  184. package/dist/esm/le-card.entry.js +12 -12
  185. package/dist/esm/le-card.entry.js.map +1 -1
  186. package/dist/esm/le-code-input.entry.js +77 -111
  187. package/dist/esm/le-code-input.entry.js.map +1 -1
  188. package/dist/esm/le-combobox.entry.js +127 -154
  189. package/dist/esm/le-combobox.entry.js.map +1 -1
  190. package/dist/esm/le-header-placeholder.entry.js +1 -1
  191. package/dist/esm/le-kit.js +1 -1
  192. package/dist/esm/le-multiselect.entry.js +150 -172
  193. package/dist/esm/le-multiselect.entry.js.map +1 -1
  194. package/dist/esm/le-number-input.entry.js +90 -130
  195. package/dist/esm/le-number-input.entry.js.map +1 -1
  196. package/dist/esm/le-round-progress.entry.js +7 -12
  197. package/dist/esm/le-round-progress.entry.js.map +1 -1
  198. package/dist/esm/le-segmented-control.entry.js +78 -88
  199. package/dist/esm/le-segmented-control.entry.js.map +1 -1
  200. package/dist/esm/le-side-panel-toggle.entry.js +60 -76
  201. package/dist/esm/le-side-panel-toggle.entry.js.map +1 -1
  202. package/dist/esm/le-side-panel.entry.js +131 -138
  203. package/dist/esm/le-side-panel.entry.js.map +1 -1
  204. package/dist/esm/le-stack.entry.js +39 -52
  205. package/dist/esm/le-stack.entry.js.map +1 -1
  206. package/dist/esm/le-tab-bar.entry.js +81 -90
  207. package/dist/esm/le-tab-bar.entry.js.map +1 -1
  208. package/dist/esm/le-tab-panel.entry.js +22 -40
  209. package/dist/esm/le-tab-panel.entry.js.map +1 -1
  210. package/dist/esm/le-tab.entry.js +54 -92
  211. package/dist/esm/le-tab.entry.js.map +1 -1
  212. package/dist/esm/le-tabs.entry.js +113 -123
  213. package/dist/esm/le-tabs.entry.js.map +1 -1
  214. package/dist/esm/le-tag.entry.js +23 -40
  215. package/dist/esm/le-tag.entry.js.map +1 -1
  216. package/dist/esm/le-text.entry.js +132 -149
  217. package/dist/esm/le-text.entry.js.map +1 -1
  218. package/dist/esm/le-turntable.entry.js +18 -26
  219. package/dist/esm/le-turntable.entry.js.map +1 -1
  220. package/dist/esm/loader.js +1 -1
  221. package/dist/le-kit/dist/components/assets/custom-elements.json +1371 -1043
  222. package/dist/le-kit/dist/components/assets/icons/arrow-left.json +21 -0
  223. package/dist/le-kit/dist/components/assets/icons/arrow-right.json +21 -0
  224. package/dist/le-kit/dist/components/assets/icons/check.json +12 -0
  225. package/dist/le-kit/dist/components/assets/icons/chevron-down.json +1 -2
  226. package/dist/le-kit/dist/components/assets/icons/chevron-left.json +12 -0
  227. package/dist/le-kit/dist/components/assets/icons/chevron-right.json +12 -0
  228. package/dist/le-kit/dist/components/assets/icons/chevron-up.json +12 -0
  229. package/dist/le-kit/le-kit.esm.js +1 -1
  230. package/dist/le-kit/p-3067b18f.entry.js +2 -0
  231. package/dist/le-kit/p-3067b18f.entry.js.map +1 -0
  232. package/dist/le-kit/p-34c4d97d.entry.js +2 -0
  233. package/dist/le-kit/p-34c4d97d.entry.js.map +1 -0
  234. package/dist/le-kit/p-45182541.entry.js +2 -0
  235. package/dist/le-kit/p-45182541.entry.js.map +1 -0
  236. package/dist/le-kit/p-52a41c96.entry.js +2 -0
  237. package/dist/le-kit/p-52a41c96.entry.js.map +1 -0
  238. package/dist/le-kit/p-55fb5dd2.entry.js +2 -0
  239. package/dist/le-kit/p-55fb5dd2.entry.js.map +1 -0
  240. package/dist/le-kit/{p-ab6c1def.entry.js → p-649025f4.entry.js} +2 -2
  241. package/dist/le-kit/p-649025f4.entry.js.map +1 -0
  242. package/dist/le-kit/p-67930309.entry.js +2 -0
  243. package/dist/le-kit/p-67930309.entry.js.map +1 -0
  244. package/dist/le-kit/p-6d222705.entry.js +2 -0
  245. package/dist/le-kit/p-6d222705.entry.js.map +1 -0
  246. package/dist/le-kit/p-8049e0c2.entry.js +2 -0
  247. package/dist/le-kit/p-8049e0c2.entry.js.map +1 -0
  248. package/dist/le-kit/p-884f57bd.entry.js +2 -0
  249. package/dist/le-kit/p-88c70f9d.entry.js +2 -0
  250. package/dist/le-kit/p-88c70f9d.entry.js.map +1 -0
  251. package/dist/le-kit/p-96610729.entry.js +2 -0
  252. package/dist/le-kit/p-96610729.entry.js.map +1 -0
  253. package/dist/le-kit/p-a34054e0.entry.js +2 -0
  254. package/dist/le-kit/p-a34054e0.entry.js.map +1 -0
  255. package/dist/le-kit/p-a388e46a.entry.js +2 -0
  256. package/dist/le-kit/p-a388e46a.entry.js.map +1 -0
  257. package/dist/le-kit/p-c0c53650.entry.js +2 -0
  258. package/dist/le-kit/p-c0c53650.entry.js.map +1 -0
  259. package/dist/le-kit/p-cbf17514.entry.js +2 -0
  260. package/dist/le-kit/p-cbf17514.entry.js.map +1 -0
  261. package/dist/le-kit/p-d934de74.entry.js +2 -0
  262. package/dist/le-kit/p-d934de74.entry.js.map +1 -0
  263. package/dist/le-kit/p-de72c8b5.entry.js +2 -0
  264. package/dist/le-kit/p-de72c8b5.entry.js.map +1 -0
  265. package/dist/le-kit/p-e3dd0f2a.entry.js +2 -0
  266. package/dist/le-kit/p-e3dd0f2a.entry.js.map +1 -0
  267. package/dist/le-kit/p-ee170967.entry.js +2 -0
  268. package/dist/le-kit/p-ee170967.entry.js.map +1 -0
  269. package/dist/le-kit/p-eedb2f75.entry.js +2 -0
  270. package/dist/le-kit/p-eedb2f75.entry.js.map +1 -0
  271. package/dist/types/components/le-breadcrumbs/le-breadcrumbs.d.ts +57 -0
  272. package/dist/types/components/le-side-panel/le-side-panel.d.ts +2 -0
  273. package/dist/types/components.d.ts +84 -0
  274. package/package.json +1 -1
  275. package/dist/collection/assets/icons/chevron-down.svg +0 -3
  276. package/dist/collection/dist/components/assets/icons/chevron-down.svg +0 -3
  277. package/dist/components/assets/icons/chevron-down.svg +0 -3
  278. package/dist/le-kit/dist/components/assets/icons/chevron-down.svg +0 -3
  279. package/dist/le-kit/p-221d379a.entry.js +0 -2
  280. package/dist/le-kit/p-221d379a.entry.js.map +0 -1
  281. package/dist/le-kit/p-24112ca3.entry.js +0 -2
  282. package/dist/le-kit/p-24112ca3.entry.js.map +0 -1
  283. package/dist/le-kit/p-2c6d080d.entry.js +0 -2
  284. package/dist/le-kit/p-2c6d080d.entry.js.map +0 -1
  285. package/dist/le-kit/p-46276e77.entry.js +0 -2
  286. package/dist/le-kit/p-46276e77.entry.js.map +0 -1
  287. package/dist/le-kit/p-516c8531.entry.js +0 -2
  288. package/dist/le-kit/p-6b69f9a2.entry.js +0 -2
  289. package/dist/le-kit/p-6b69f9a2.entry.js.map +0 -1
  290. package/dist/le-kit/p-6d14306f.entry.js +0 -2
  291. package/dist/le-kit/p-6d14306f.entry.js.map +0 -1
  292. package/dist/le-kit/p-7bcdf2d4.entry.js +0 -2
  293. package/dist/le-kit/p-7bcdf2d4.entry.js.map +0 -1
  294. package/dist/le-kit/p-7cf1e23c.entry.js +0 -2
  295. package/dist/le-kit/p-7cf1e23c.entry.js.map +0 -1
  296. package/dist/le-kit/p-85f2fd4d.entry.js +0 -2
  297. package/dist/le-kit/p-85f2fd4d.entry.js.map +0 -1
  298. package/dist/le-kit/p-98242429.entry.js +0 -2
  299. package/dist/le-kit/p-98242429.entry.js.map +0 -1
  300. package/dist/le-kit/p-ab6c1def.entry.js.map +0 -1
  301. package/dist/le-kit/p-ae4ead64.entry.js +0 -2
  302. package/dist/le-kit/p-ae4ead64.entry.js.map +0 -1
  303. package/dist/le-kit/p-b05d4511.entry.js +0 -2
  304. package/dist/le-kit/p-b05d4511.entry.js.map +0 -1
  305. package/dist/le-kit/p-b6ac02ff.entry.js +0 -2
  306. package/dist/le-kit/p-b6ac02ff.entry.js.map +0 -1
  307. package/dist/le-kit/p-c24769e2.entry.js +0 -2
  308. package/dist/le-kit/p-c24769e2.entry.js.map +0 -1
  309. package/dist/le-kit/p-dc0445ad.entry.js +0 -2
  310. package/dist/le-kit/p-dc0445ad.entry.js.map +0 -1
  311. package/dist/le-kit/p-eb5286f2.entry.js +0 -2
  312. package/dist/le-kit/p-eb5286f2.entry.js.map +0 -1
  313. package/dist/le-kit/p-eb710c8e.entry.js +0 -2
  314. package/dist/le-kit/p-eb710c8e.entry.js.map +0 -1
  315. package/dist/le-kit/p-f78b1ee6.entry.js +0 -2
  316. package/dist/le-kit/p-f78b1ee6.entry.js.map +0 -1
  317. /package/dist/le-kit/{p-516c8531.entry.js.map → p-884f57bd.entry.js.map} +0 -0
@@ -16,98 +16,54 @@ const LeStringInput = /*@__PURE__*/ proxyCustomElement(class LeStringInput exten
16
16
  this.__attachShadow();
17
17
  this.leChange = createEvent(this, "change", 7);
18
18
  this.leInput = createEvent(this, "input", 7);
19
+ /**
20
+ * The type of the input (text, email, password, etc.)
21
+ */
22
+ this.type = 'text';
23
+ /**
24
+ * Hide description slot
25
+ */
26
+ this.hideDescription = false;
27
+ /**
28
+ * Whether the input is disabled
29
+ */
30
+ this.disabled = false;
31
+ /**
32
+ * Whether the input is read-only
33
+ */
34
+ this.readonly = false;
35
+ this.handleInput = (ev) => {
36
+ const input = ev.target;
37
+ this.value = input.value;
38
+ this.leInput.emit({
39
+ value: this.value,
40
+ name: this.name,
41
+ externalId: this.externalId,
42
+ });
43
+ };
44
+ this.handleChange = (ev) => {
45
+ const input = ev.target;
46
+ this.value = input.value;
47
+ this.leChange.emit({
48
+ value: this.value,
49
+ name: this.name,
50
+ externalId: this.externalId,
51
+ });
52
+ };
53
+ this.handleClick = (ev) => {
54
+ ev.stopPropagation();
55
+ };
19
56
  }
20
- get el() { return this; }
21
- /**
22
- * Pass the ref of the input element to the parent component
23
- */
24
- inputRef;
25
- /**
26
- * Mode of the popover should be 'default' for internal use
27
- */
28
- mode;
29
- /**
30
- * The value of the input
31
- */
32
- value;
33
- /**
34
- * The name of the input
35
- */
36
- name;
37
- /**
38
- * The type of the input (text, email, password, etc.)
39
- */
40
- type = 'text';
41
- /**
42
- * Label for the input
43
- */
44
- label;
45
- /**
46
- * Icon for the start icon
47
- */
48
- iconStart;
49
- /**
50
- * Icon for the end icon
51
- */
52
- iconEnd;
53
- /**
54
- * Placeholder text
55
- */
56
- placeholder;
57
- /**
58
- * Hide description slot
59
- */
60
- hideDescription = false;
61
- /**
62
- * Whether the input is disabled
63
- */
64
- disabled = false;
65
- /**
66
- * Whether the input is read-only
67
- */
68
- readonly = false;
69
- /**
70
- * External ID for linking with external systems
71
- */
72
- externalId;
73
- /**
74
- * Emitted when the value changes (on blur or Enter)
75
- */
76
- leChange;
77
- /**
78
- * Emitted when the input value changes (on keystroke)
79
- */
80
- leInput;
81
- handleInput = (ev) => {
82
- const input = ev.target;
83
- this.value = input.value;
84
- this.leInput.emit({
85
- value: this.value,
86
- name: this.name,
87
- externalId: this.externalId,
88
- });
89
- };
90
- handleChange = (ev) => {
91
- const input = ev.target;
92
- this.value = input.value;
93
- this.leChange.emit({
94
- value: this.value,
95
- name: this.name,
96
- externalId: this.externalId,
97
- });
98
- };
99
- handleClick = (ev) => {
100
- ev.stopPropagation();
101
- };
102
57
  render() {
103
- return (h("le-component", { key: '385fe7607d573ab4cfe81315f74e650f8e57faa1', component: "le-string-input", hostClass: classnames({ disabled: this.disabled }) }, h("div", { key: 'a36c5a32238eb6c9c574aeb3955343e042d89225', class: "le-input-wrapper" }, this.label && (h("label", { key: 'c1ff01932ada19ecea0cd2e2b477615d0c873ff0', class: "le-input-label", htmlFor: this.name }, this.label)), h("div", { key: '7c8909ed5e4e3404a2900a3f9beef8b0f331d62c', class: "le-input-container", part: "container" }, this.iconStart && h("span", { key: 'cf7e7355e22de3100bade2399ba63702731350e0', class: "icon-start" }, this.iconStart), h("input", { key: '6d71245d395f6cd2c55110ca902fc0374c74026b', ref: el => {
58
+ return (h("le-component", { key: 'b7d315a0bbe587dae606fec9ee3da32c16b773cb', component: "le-string-input", hostClass: classnames({ disabled: this.disabled }) }, h("div", { key: 'cfefdea8ce0625417cef62d0f432e13df652ab44', class: "le-input-wrapper" }, this.label && (h("label", { key: 'bfc0f2c440e00f2212c1ae9b0d3dd5b484ed0c5d', class: "le-input-label", htmlFor: this.name }, this.label)), h("div", { key: '324d58a4e798c4cd4d44c4f23760e38a24bfa4f6', class: "le-input-container", part: "container" }, this.iconStart && h("span", { key: '7851e3d9a30a304f2472e8de3dea1d6ce703b9ea', class: "icon-start" }, this.iconStart), h("input", { key: 'e51b775e8a9f8f55279ea91f04efbb0c5fdb4d1a', ref: el => {
104
59
  if (this.inputRef) {
105
60
  this.inputRef(el);
106
61
  }
107
- }, id: this.name, type: this.type, name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput, onChange: this.handleChange, onClick: this.handleClick }), this.iconEnd && h("span", { key: 'e086f9559b086212be3cd231b7c870cdb229a733', class: "icon-end" }, this.iconEnd)), !this.hideDescription && (h("div", { key: '531ac78b43382166023a79475152345956188bcc', class: "le-input-description" }, h("le-slot", { key: '38700e86adc0c3bf049b0ad828d14993ddef7844', name: "description", type: "text", tag: "p", label: "Description" }, h("slot", { key: 'c2982e93304a872ec79446fe525eb5448e764401', name: "description" })))))));
62
+ }, id: this.name, type: this.type, name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput, onChange: this.handleChange, onClick: this.handleClick }), this.iconEnd && h("span", { key: '7018ada874d6b1c85e88a93ba695d00c118c4a6a', class: "icon-end" }, this.iconEnd)), !this.hideDescription && (h("div", { key: '826a2853561ab428e82d879012bc7bfdad4b1dfe', class: "le-input-description" }, h("le-slot", { key: '3a6fc7a46fffacbef6e44fcaa7a80af365754d1c', name: "description", type: "text", tag: "p", label: "Description" }, h("slot", { key: 'b6bbe4efe29c88b1910a53f6704846bfd4280307', name: "description" })))))));
108
63
  }
64
+ get el() { return this; }
109
65
  static get style() { return leStringInputCss(); }
110
- }, [769, "le-string-input", {
66
+ }, [257, "le-string-input", {
111
67
  "inputRef": [16],
112
68
  "mode": [1537],
113
69
  "value": [1537],
@@ -186,97 +142,100 @@ const LeSlot = /*@__PURE__*/ proxyCustomElement(class LeSlot extends HTMLElement
186
142
  }
187
143
  this.__attachShadow();
188
144
  this.leSlotChange = createEvent(this, "leSlotChange", 7);
145
+ /**
146
+ * The type of slot content.
147
+ * - `slot`: Default, shows a dropzone for components (default)
148
+ * - `text`: Shows a single-line text input
149
+ * - `textarea`: Shows a multi-line text area
150
+ */
151
+ this.type = 'slot';
152
+ /**
153
+ * The name of the slot this placeholder represents.
154
+ * Should match the slot name in the parent component.
155
+ */
156
+ this.name = '';
157
+ /**
158
+ * Whether multiple components can be dropped in this slot.
159
+ */
160
+ this.multiple = true;
161
+ /**
162
+ * Whether this slot is required to have content.
163
+ */
164
+ this.required = false;
165
+ /**
166
+ * Internal state to track admin mode
167
+ */
168
+ this.adminMode = false;
169
+ /**
170
+ * Internal state for text input value (synced from slot content)
171
+ */
172
+ this.textValue = '';
173
+ /**
174
+ * Whether the current textValue contains valid HTML
175
+ */
176
+ this.isValidHtml = true;
177
+ /**
178
+ * Available components loaded from Custom Elements Manifest
179
+ */
180
+ this.availableComponents = [];
181
+ /**
182
+ * Whether the component picker popover is open
183
+ */
184
+ this.pickerOpen = false;
185
+ /**
186
+ * Flag to prevent re-reading content right after we updated it
187
+ */
188
+ this.isUpdating = false;
189
+ this.handleTextInput = (event) => {
190
+ const target = event.target;
191
+ this.textValue = target.value;
192
+ this.isValidHtml = this.validateHtml(this.textValue);
193
+ if (this.isValidHtml) {
194
+ // Set flag to prevent slotchange from re-reading what we just wrote
195
+ this.isUpdating = true;
196
+ console.log('Updating text value:', this.textValue, 'slottedElement:', this.slottedElement);
197
+ if (this.slottedElement) {
198
+ // Update existing slotted element's innerHTML
199
+ this.slottedElement.innerHTML = this.textValue;
200
+ }
201
+ else if (this.tag && this.textValue) {
202
+ // No slotted element exists
203
+ // If the slot doesn't have a name, then it's the default slot
204
+ // remove the existing non-slotted content (text nodes and elements without slot attribute)
205
+ const rootNode = this.el.getRootNode();
206
+ if (!this.name && rootNode instanceof ShadowRoot) {
207
+ const hostComponent = rootNode.host;
208
+ Array.from(hostComponent.childNodes).forEach(node => {
209
+ if (node.nodeType === Node.TEXT_NODE || (node.nodeType === Node.ELEMENT_NODE && !node.hasAttribute('slot'))) {
210
+ node.remove();
211
+ }
212
+ });
213
+ }
214
+ // create one using the specified tag
215
+ this.createSlottedElement();
216
+ }
217
+ else if (this.textValue) {
218
+ // no tag specified - just replace everything in the host component
219
+ const rootNode = this.el.getRootNode();
220
+ if (rootNode instanceof ShadowRoot) {
221
+ const hostComponent = rootNode.host;
222
+ hostComponent.innerHTML = this.textValue;
223
+ }
224
+ }
225
+ }
226
+ this.leSlotChange.emit({
227
+ name: this.name,
228
+ value: this.textValue,
229
+ isValid: this.isValidHtml,
230
+ });
231
+ };
232
+ /**
233
+ * Handle slot change event to re-read content when nodes are assigned
234
+ */
235
+ this.handleSlotChange = () => {
236
+ this.readSlottedContent();
237
+ };
189
238
  }
190
- get el() { return this; }
191
- /**
192
- * The type of slot content.
193
- * - `slot`: Default, shows a dropzone for components (default)
194
- * - `text`: Shows a single-line text input
195
- * - `textarea`: Shows a multi-line text area
196
- */
197
- type = 'slot';
198
- /**
199
- * The name of the slot this placeholder represents.
200
- * Should match the slot name in the parent component.
201
- */
202
- name = '';
203
- /**
204
- * Label to display in admin mode.
205
- * If not provided, the slot name will be used.
206
- */
207
- label;
208
- /**
209
- * Description of what content this slot accepts.
210
- * Shown in admin mode to guide content editors.
211
- */
212
- description;
213
- /**
214
- * Comma-separated list of allowed component tags for this slot.
215
- * Used by CMS to filter available components.
216
- *
217
- * @example "le-card,le-button,le-text"
218
- */
219
- allowedComponents;
220
- /**
221
- * Whether multiple components can be dropped in this slot.
222
- */
223
- multiple = true;
224
- /**
225
- * Whether this slot is required to have content.
226
- */
227
- required = false;
228
- /**
229
- * Placeholder text for text/textarea inputs in admin mode.
230
- */
231
- placeholder;
232
- /**
233
- * The HTML tag to create when there's no slotted element.
234
- * Used with type="text" or type="textarea" to auto-create elements.
235
- *
236
- * @example "h3" - creates <h3 slot="header">content</h3>
237
- * @example "p" - creates <p slot="content">content</p>
238
- */
239
- tag;
240
- /**
241
- * CSS styles for the slot dropzone container.
242
- * Useful for layouts - e.g., "flex-direction: row" for horizontal stacks.
243
- * Only applies in admin mode for type="slot".
244
- */
245
- slotStyle;
246
- /**
247
- * Internal state to track admin mode
248
- */
249
- adminMode = false;
250
- /**
251
- * Internal state for text input value (synced from slot content)
252
- */
253
- textValue = '';
254
- /**
255
- * Whether the current textValue contains valid HTML
256
- */
257
- isValidHtml = true;
258
- /**
259
- * Available components loaded from Custom Elements Manifest
260
- */
261
- availableComponents = [];
262
- /**
263
- * Whether the component picker popover is open
264
- */
265
- pickerOpen = false;
266
- /**
267
- * Reference to the slot element to access assignedNodes
268
- */
269
- slotRef;
270
- /**
271
- * The original slotted element (e.g., <h3 slot="header">)
272
- */
273
- slottedElement;
274
- /**
275
- * Emitted when text content changes in admin mode.
276
- * The event detail contains the new text value and validity.
277
- */
278
- leSlotChange;
279
- disconnectModeObserver;
280
239
  connectedCallback() {
281
240
  this.disconnectModeObserver = observeModeChanges(this.el, mode => {
282
241
  const wasAdmin = this.adminMode;
@@ -295,10 +254,6 @@ const LeSlot = /*@__PURE__*/ proxyCustomElement(class LeSlot extends HTMLElement
295
254
  disconnectedCallback() {
296
255
  this.disconnectModeObserver?.();
297
256
  }
298
- /**
299
- * Flag to prevent re-reading content right after we updated it
300
- */
301
- isUpdating = false;
302
257
  /**
303
258
  * Read content from slotted elements via assignedNodes()
304
259
  */
@@ -362,49 +317,6 @@ const LeSlot = /*@__PURE__*/ proxyCustomElement(class LeSlot extends HTMLElement
362
317
  }
363
318
  return true;
364
319
  }
365
- handleTextInput = (event) => {
366
- const target = event.target;
367
- this.textValue = target.value;
368
- this.isValidHtml = this.validateHtml(this.textValue);
369
- if (this.isValidHtml) {
370
- // Set flag to prevent slotchange from re-reading what we just wrote
371
- this.isUpdating = true;
372
- console.log('Updating text value:', this.textValue, 'slottedElement:', this.slottedElement);
373
- if (this.slottedElement) {
374
- // Update existing slotted element's innerHTML
375
- this.slottedElement.innerHTML = this.textValue;
376
- }
377
- else if (this.tag && this.textValue) {
378
- // No slotted element exists
379
- // If the slot doesn't have a name, then it's the default slot
380
- // remove the existing non-slotted content (text nodes and elements without slot attribute)
381
- const rootNode = this.el.getRootNode();
382
- if (!this.name && rootNode instanceof ShadowRoot) {
383
- const hostComponent = rootNode.host;
384
- Array.from(hostComponent.childNodes).forEach(node => {
385
- if (node.nodeType === Node.TEXT_NODE || (node.nodeType === Node.ELEMENT_NODE && !node.hasAttribute('slot'))) {
386
- node.remove();
387
- }
388
- });
389
- }
390
- // create one using the specified tag
391
- this.createSlottedElement();
392
- }
393
- else if (this.textValue) {
394
- // no tag specified - just replace everything in the host component
395
- const rootNode = this.el.getRootNode();
396
- if (rootNode instanceof ShadowRoot) {
397
- const hostComponent = rootNode.host;
398
- hostComponent.innerHTML = this.textValue;
399
- }
400
- }
401
- }
402
- this.leSlotChange.emit({
403
- name: this.name,
404
- value: this.textValue,
405
- isValid: this.isValidHtml,
406
- });
407
- };
408
320
  /**
409
321
  * Create a new slotted element when none exists.
410
322
  * The element is appended to the host component's light DOM.
@@ -506,16 +418,10 @@ const LeSlot = /*@__PURE__*/ proxyCustomElement(class LeSlot extends HTMLElement
506
418
  isValid: true,
507
419
  });
508
420
  }
509
- /**
510
- * Handle slot change event to re-read content when nodes are assigned
511
- */
512
- handleSlotChange = () => {
513
- this.readSlottedContent();
514
- };
515
421
  render() {
516
422
  const displayLabel = this.label || this.name;
517
423
  // Always render the same structure, CSS handles visibility via .admin-mode class
518
- return (h(Host, { key: '8a48f7865340d9a2e201a2f878b2f1c66c55d86c', class: {
424
+ return (h(Host, { key: 'fb2a01670291a714608bc59069991a8ef65dc3e9', class: {
519
425
  'admin-mode': this.adminMode,
520
426
  'invalid-html': !this.isValidHtml,
521
427
  }, role: this.adminMode ? 'region' : undefined, "aria-label": this.adminMode ? `Slot: ${displayLabel}` : undefined, "data-slot-name": this.name, "data-slot-type": this.type, "data-allowed": this.allowedComponents, "data-multiple": this.multiple, "data-required": this.required }, this.adminMode ? (h("div", { class: "le-slot-container" }, h("div", { class: classnames('le-slot-header', {
@@ -559,8 +465,9 @@ const LeSlot = /*@__PURE__*/ proxyCustomElement(class LeSlot extends HTMLElement
559
465
  return (h("div", { class: "le-slot-dropzone", style: dropzoneStyle }, h("slot", { ref: el => (this.slotRef = el), onSlotchange: this.handleSlotChange })));
560
466
  }
561
467
  }
468
+ get el() { return this; }
562
469
  static get style() { return leSlotDefaultCss(); }
563
- }, [769, "le-slot", {
470
+ }, [257, "le-slot", {
564
471
  "type": [1],
565
472
  "name": [1],
566
473
  "label": [1],
@@ -643,72 +550,91 @@ const LeSelect = /*@__PURE__*/ proxyCustomElement(class LeSelect extends HTMLEle
643
550
  this.leChange = createEvent(this, "change", 7);
644
551
  this.leOpen = createEvent(this, "leOpen", 7);
645
552
  this.leClose = createEvent(this, "leClose", 7);
553
+ /**
554
+ * The options to display in the dropdown.
555
+ */
556
+ this.options = [];
557
+ /**
558
+ * Placeholder text when no option is selected.
559
+ */
560
+ this.placeholder = 'Select an option';
561
+ /**
562
+ * Whether the select is disabled.
563
+ */
564
+ this.disabled = false;
565
+ /**
566
+ * Whether selection is required.
567
+ */
568
+ this.required = false;
569
+ /**
570
+ * Whether the select should take full width of its container.
571
+ */
572
+ this.fullWidth = false;
573
+ /**
574
+ * Size variant of the select.
575
+ */
576
+ this.size = 'medium';
577
+ /**
578
+ * Visual variant of the select.
579
+ */
580
+ this.variant = 'default';
581
+ /**
582
+ * Whether the input is searchable.
583
+ */
584
+ this.searchable = false;
585
+ /**
586
+ * Text to show when no options match the search.
587
+ */
588
+ this.emptyText = 'No results found';
589
+ /**
590
+ * Whether the dropdown is currently open.
591
+ */
592
+ this.open = false;
593
+ this.searchQuery = '';
594
+ this.filterOption = (option, query) => {
595
+ if (!query)
596
+ return true;
597
+ const searchLower = query.toLowerCase();
598
+ return (option.label.toLowerCase().includes(searchLower) ||
599
+ (option.description?.toLowerCase().includes(searchLower) ?? false));
600
+ };
601
+ this.handleOptionSelect = (e) => {
602
+ this.value = e.detail.value;
603
+ this.selectedOption = e.detail.option;
604
+ this.leChange.emit(e.detail);
605
+ };
606
+ this.handleDropdownOpen = () => {
607
+ this.open = true;
608
+ this.leOpen.emit();
609
+ // Focus search input if searchable
610
+ if (this.searchable) {
611
+ setTimeout(() => {
612
+ this.inputEl?.focus();
613
+ }, 50);
614
+ }
615
+ };
616
+ this.handleDropdownClose = () => {
617
+ this.open = false;
618
+ this.leClose.emit();
619
+ };
620
+ this.handleTriggerClick = () => {
621
+ if (!this.disabled) {
622
+ this.dropdownEl?.toggle();
623
+ }
624
+ };
625
+ this.handleTriggerKeyDown = (e) => {
626
+ if (this.disabled)
627
+ return;
628
+ if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
629
+ e.preventDefault();
630
+ this.dropdownEl?.show();
631
+ }
632
+ };
633
+ this.handleSearchInput = (e) => {
634
+ const target = e.target;
635
+ this.searchQuery = target.value;
636
+ };
646
637
  }
647
- get el() { return this; }
648
- /**
649
- * The options to display in the dropdown.
650
- */
651
- options = [];
652
- /**
653
- * The currently selected value.
654
- */
655
- value;
656
- /**
657
- * Placeholder text when no option is selected.
658
- */
659
- placeholder = 'Select an option';
660
- /**
661
- * Whether the select is disabled.
662
- */
663
- disabled = false;
664
- /**
665
- * Whether selection is required.
666
- */
667
- required = false;
668
- /**
669
- * Name attribute for form submission.
670
- */
671
- name;
672
- /**
673
- * Whether the select should take full width of its container.
674
- */
675
- fullWidth = false;
676
- /**
677
- * Size variant of the select.
678
- */
679
- size = 'medium';
680
- /**
681
- * Visual variant of the select.
682
- */
683
- variant = 'default';
684
- /**
685
- * Whether the input is searchable.
686
- */
687
- searchable = false;
688
- /**
689
- * Text to show when no options match the search.
690
- */
691
- emptyText = 'No results found';
692
- /**
693
- * Whether the dropdown is currently open.
694
- */
695
- open = false;
696
- /**
697
- * Emitted when the selected value changes.
698
- */
699
- leChange;
700
- /**
701
- * Emitted when the dropdown opens.
702
- */
703
- leOpen;
704
- /**
705
- * Emitted when the dropdown closes.
706
- */
707
- leClose;
708
- selectedOption;
709
- searchQuery = '';
710
- dropdownEl;
711
- inputEl;
712
638
  handleValueChange() {
713
639
  this.updateSelectedOption();
714
640
  }
@@ -737,49 +663,6 @@ const LeSelect = /*@__PURE__*/ proxyCustomElement(class LeSelect extends HTMLEle
737
663
  this.selectedOption = undefined;
738
664
  }
739
665
  }
740
- filterOption = (option, query) => {
741
- if (!query)
742
- return true;
743
- const searchLower = query.toLowerCase();
744
- return (option.label.toLowerCase().includes(searchLower) ||
745
- (option.description?.toLowerCase().includes(searchLower) ?? false));
746
- };
747
- handleOptionSelect = (e) => {
748
- this.value = e.detail.value;
749
- this.selectedOption = e.detail.option;
750
- this.leChange.emit(e.detail);
751
- };
752
- handleDropdownOpen = () => {
753
- this.open = true;
754
- this.leOpen.emit();
755
- // Focus search input if searchable
756
- if (this.searchable) {
757
- setTimeout(() => {
758
- this.inputEl?.focus();
759
- }, 50);
760
- }
761
- };
762
- handleDropdownClose = () => {
763
- this.open = false;
764
- this.leClose.emit();
765
- };
766
- handleTriggerClick = () => {
767
- if (!this.disabled) {
768
- this.dropdownEl?.toggle();
769
- }
770
- };
771
- handleTriggerKeyDown = (e) => {
772
- if (this.disabled)
773
- return;
774
- if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
775
- e.preventDefault();
776
- this.dropdownEl?.show();
777
- }
778
- };
779
- handleSearchInput = (e) => {
780
- const target = e.target;
781
- this.searchQuery = target.value;
782
- };
783
666
  /**
784
667
  * Opens the dropdown.
785
668
  */
@@ -802,20 +685,21 @@ const LeSelect = /*@__PURE__*/ proxyCustomElement(class LeSelect extends HTMLEle
802
685
  }
803
686
  render() {
804
687
  const hasValue = this.selectedOption !== undefined;
805
- return (h("le-component", { key: '670430a0ca8f310b7454c7dd93098b6b57f3bb82', component: "le-select" }, h("le-dropdown-base", { key: '58716c031b14513b67a1106b90b6174fa363c8b4', ref: el => (this.dropdownEl = el), options: this.parsedOptions, value: this.value, disabled: this.disabled, filterFn: this.searchable ? this.filterOption : undefined, filterQuery: this.searchQuery, onLeOptionSelect: this.handleOptionSelect, onLeDropdownOpen: this.handleDropdownOpen, onLeDropdownClose: this.handleDropdownClose, fullWidth: this.fullWidth }, h("le-button", { key: 'b9cb202179c8fbc6dea9bc7af5ccf11deeb7c0f1', variant: this.variant && this.variant !== 'default' ? this.variant : 'outlined', slot: "trigger", align: "space-between", class: {
688
+ return (h("le-component", { key: 'cd0d10eb7ee1cc6f52fcb32bc3675e2f74219d9b', component: "le-select" }, h("le-dropdown-base", { key: '200e03a079caaa6c091f82d0384134a3e2d0154d', ref: el => (this.dropdownEl = el), options: this.parsedOptions, value: this.value, disabled: this.disabled, filterFn: this.searchable ? this.filterOption : undefined, filterQuery: this.searchQuery, onLeOptionSelect: this.handleOptionSelect, onLeDropdownOpen: this.handleDropdownOpen, onLeDropdownClose: this.handleDropdownClose, fullWidth: this.fullWidth }, h("le-button", { key: '0fa315cceaf6f18a5e370351027f27167fe64ce0', variant: this.variant && this.variant !== 'default' ? this.variant : 'outlined', slot: "trigger", align: "space-between", class: {
806
689
  'select-trigger': true,
807
690
  'has-value': hasValue,
808
691
  'is-open': this.open,
809
692
  }, mode: "default", size: this.size, disabled: this.disabled, "aria-haspopup": "listbox", "aria-expanded": this.open ? 'true' : 'false', onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown, fullWidth: this.fullWidth, iconStart: hasValue && this.selectedOption?.iconStart
810
693
  ? this.renderIcon(this.selectedOption.iconStart)
811
- : null, iconEnd: h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { d: "M4 6l4 4 4-4" })) }, h("span", { key: '592267788f6a02d6b501941863e91bcd68742233', class: "trigger-label" }, hasValue ? this.selectedOption.label : this.placeholder)), this.searchable && this.open && (h("div", { key: 'd4d2611e8b1f7fb243675cc11fa4982331b3c330', class: "multiselect-search", slot: "header" }, h("le-string-input", { key: 'f2a7e477eaf730173cfbca35b33d263eda860dc2', mode: "default", inputRef: el => (this.inputEl = el), class: "search-input", placeholder: "Search...", value: this.searchQuery, onInput: this.handleSearchInput })))), this.name && h("input", { key: 'bf9dc8141d02c272b0b81557dbc7c24a419ce558', type: "hidden", name: this.name, value: this.value?.toString() ?? '' })));
694
+ : null, iconEnd: h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { d: "M4 6l4 4 4-4" })) }, h("span", { key: 'aae9bb220fb206622dbf6959f125c78adfb13e00', class: "trigger-label" }, hasValue ? this.selectedOption.label : this.placeholder)), this.searchable && this.open && (h("div", { key: '0e7e360672e2e7ce7d32dc726a450ccff245cee0', class: "multiselect-search", slot: "header" }, h("le-string-input", { key: 'a2a36fc139d4b477d35910541fab6071eddc3de5', mode: "default", inputRef: el => (this.inputEl = el), class: "search-input", placeholder: "Search...", value: this.searchQuery, onInput: this.handleSearchInput })))), this.name && h("input", { key: '9555b72d2f433ce9ee3803d0bb3ceb0dae1c37e3', type: "hidden", name: this.name, value: this.value?.toString() ?? '' })));
812
695
  }
696
+ get el() { return this; }
813
697
  static get watchers() { return {
814
698
  "value": ["handleValueChange"],
815
699
  "options": ["handleOptionsChange"]
816
700
  }; }
817
701
  static get style() { return leSelectCss(); }
818
- }, [769, "le-select", {
702
+ }, [257, "le-select", {
819
703
  "options": [1],
820
704
  "value": [1032],
821
705
  "placeholder": [1],
@@ -909,79 +793,93 @@ const LePopup = /*@__PURE__*/ proxyCustomElement(class LePopup extends HTMLEleme
909
793
  this.leCancel = createEvent(this, "leCancel", 7);
910
794
  this.leOpen = createEvent(this, "leOpen", 7);
911
795
  this.leClose = createEvent(this, "leClose", 7);
796
+ /**
797
+ * The mode of the Le Kit (e.g., 'default' or 'admin')
798
+ */
799
+ this.mode = 'default';
800
+ /**
801
+ * Whether the popup is currently visible
802
+ */
803
+ this.open = false;
804
+ /**
805
+ * Type of popup: alert (OK only), confirm (OK/Cancel), prompt (input + OK/Cancel), custom
806
+ */
807
+ this.type = 'alert';
808
+ /**
809
+ * Whether the popup is modal (blocks interaction with page behind)
810
+ */
811
+ this.modal = true;
812
+ /**
813
+ * Position of the popup on screen
814
+ */
815
+ this.position = 'center';
816
+ /**
817
+ * Text for the confirm/OK button
818
+ */
819
+ this.confirmText = 'OK';
820
+ /**
821
+ * Text for the cancel button
822
+ */
823
+ this.cancelText = 'Cancel';
824
+ /**
825
+ * Placeholder text for prompt input
826
+ */
827
+ this.placeholder = '';
828
+ /**
829
+ * Default value for prompt input
830
+ */
831
+ this.defaultValue = '';
832
+ /**
833
+ * Whether clicking the backdrop closes the popup (modal only)
834
+ */
835
+ this.closeOnBackdrop = true;
836
+ /**
837
+ * Internal state for prompt input value
838
+ */
839
+ this.inputValue = '';
840
+ this.handleDialogCancel = (e) => {
841
+ e.preventDefault(); // Prevent default close to handle it ourselves
842
+ this.handleCancel();
843
+ };
844
+ this.handleConfirm = () => {
845
+ const result = {
846
+ confirmed: true,
847
+ value: this.type === 'prompt' ? this.inputValue : undefined,
848
+ };
849
+ this.leConfirm.emit(result);
850
+ this.hide(true);
851
+ };
852
+ this.handleCancel = () => {
853
+ const result = {
854
+ confirmed: false,
855
+ value: undefined,
856
+ };
857
+ this.leCancel.emit(result);
858
+ this.hide(false);
859
+ };
860
+ this.handleBackdropClick = (e) => {
861
+ // Check if click was on the dialog backdrop (outside the dialog box)
862
+ if (this.closeOnBackdrop && e.target === this.dialogEl) {
863
+ const rect = this.dialogEl.getBoundingClientRect();
864
+ const clickedInDialog = e.clientX >= rect.left &&
865
+ e.clientX <= rect.right &&
866
+ e.clientY >= rect.top &&
867
+ e.clientY <= rect.bottom;
868
+ if (!clickedInDialog) {
869
+ this.handleCancel();
870
+ }
871
+ }
872
+ };
873
+ this.handleInputChange = (e) => {
874
+ this.inputValue = e.target.value;
875
+ };
876
+ this.handleKeyDown = (e) => {
877
+ if (e.key === 'Enter' && this.type !== 'custom') {
878
+ e.preventDefault();
879
+ this.handleConfirm();
880
+ }
881
+ };
912
882
  }
913
- get el() { return this; }
914
- /**
915
- * The mode of the Le Kit (e.g., 'default' or 'admin')
916
- */
917
- mode = 'default';
918
- /**
919
- * Whether the popup is currently visible
920
- */
921
- open = false;
922
- /**
923
- * Type of popup: alert (OK only), confirm (OK/Cancel), prompt (input + OK/Cancel), custom
924
- */
925
- type = 'alert';
926
- /**
927
- * Optional title for the popup header
928
- */
929
- popupTitle;
930
- /**
931
- * Message text to display (for alert/confirm/prompt types)
932
- */
933
- message;
934
- /**
935
- * Whether the popup is modal (blocks interaction with page behind)
936
- */
937
- modal = true;
938
- /**
939
- * Position of the popup on screen
940
- */
941
- position = 'center';
942
- /**
943
- * Text for the confirm/OK button
944
- */
945
- confirmText = 'OK';
946
- /**
947
- * Text for the cancel button
948
- */
949
- cancelText = 'Cancel';
950
- /**
951
- * Placeholder text for prompt input
952
- */
953
- placeholder = '';
954
- /**
955
- * Default value for prompt input
956
- */
957
- defaultValue = '';
958
- /**
959
- * Whether clicking the backdrop closes the popup (modal only)
960
- */
961
- closeOnBackdrop = true;
962
- /**
963
- * Internal state for prompt input value
964
- */
965
- inputValue = '';
966
- /**
967
- * Emitted when the popup is confirmed (OK clicked)
968
- */
969
- leConfirm;
970
- /**
971
- * Emitted when the popup is cancelled (Cancel clicked or dismissed)
972
- */
973
- leCancel;
974
- /**
975
- * Emitted when the popup opens
976
- */
977
- leOpen;
978
- /**
979
- * Emitted when the popup closes
980
- */
981
- leClose;
982
- dialogEl;
983
- inputEl;
984
- resolvePromise;
985
883
  componentWillLoad() {
986
884
  this.inputValue = this.defaultValue;
987
885
  }
@@ -993,10 +891,6 @@ const LePopup = /*@__PURE__*/ proxyCustomElement(class LePopup extends HTMLEleme
993
891
  disconnectedCallback() {
994
892
  this.dialogEl?.removeEventListener('cancel', this.handleDialogCancel);
995
893
  }
996
- handleDialogCancel = (e) => {
997
- e.preventDefault(); // Prevent default close to handle it ourselves
998
- this.handleCancel();
999
- };
1000
894
  /**
1001
895
  * Opens the popup and returns a promise that resolves when closed
1002
896
  */
@@ -1040,44 +934,6 @@ const LePopup = /*@__PURE__*/ proxyCustomElement(class LePopup extends HTMLEleme
1040
934
  this.resolvePromise = undefined;
1041
935
  }
1042
936
  }
1043
- handleConfirm = () => {
1044
- const result = {
1045
- confirmed: true,
1046
- value: this.type === 'prompt' ? this.inputValue : undefined,
1047
- };
1048
- this.leConfirm.emit(result);
1049
- this.hide(true);
1050
- };
1051
- handleCancel = () => {
1052
- const result = {
1053
- confirmed: false,
1054
- value: undefined,
1055
- };
1056
- this.leCancel.emit(result);
1057
- this.hide(false);
1058
- };
1059
- handleBackdropClick = (e) => {
1060
- // Check if click was on the dialog backdrop (outside the dialog box)
1061
- if (this.closeOnBackdrop && e.target === this.dialogEl) {
1062
- const rect = this.dialogEl.getBoundingClientRect();
1063
- const clickedInDialog = e.clientX >= rect.left &&
1064
- e.clientX <= rect.right &&
1065
- e.clientY >= rect.top &&
1066
- e.clientY <= rect.bottom;
1067
- if (!clickedInDialog) {
1068
- this.handleCancel();
1069
- }
1070
- }
1071
- };
1072
- handleInputChange = (e) => {
1073
- this.inputValue = e.target.value;
1074
- };
1075
- handleKeyDown = (e) => {
1076
- if (e.key === 'Enter' && this.type !== 'custom') {
1077
- e.preventDefault();
1078
- this.handleConfirm();
1079
- }
1080
- };
1081
937
  hasSlot(name) {
1082
938
  return !!this.el.querySelector(`[slot="${name}"]`);
1083
939
  }
@@ -1105,10 +961,11 @@ const LePopup = /*@__PURE__*/ proxyCustomElement(class LePopup extends HTMLEleme
1105
961
  }
1106
962
  render() {
1107
963
  const positionClass = `le-popup-position-${this.position}`;
1108
- return (h("dialog", { key: '75ff06ac2532818f2951283fb455d165d1b13e89', class: `le-popup-dialog ${positionClass}`, part: "dialog", ref: el => (this.dialogEl = el), onClick: this.handleBackdropClick }, h("le-component", { key: '0fea1c4ea66d8457c66bf5e14b08b7ac3251a9cc', component: "le-popup" }, h("div", { key: 'eb95845004b27cdba2e817b2f296a59ae1d62552', class: "le-popup-container", part: "container" }, this.renderHeader(), this.renderBody(), this.renderFooter()))));
964
+ return (h("dialog", { key: '9a42c63b24b521264654847ff45ea026000a642d', class: `le-popup-dialog ${positionClass}`, part: "dialog", ref: el => (this.dialogEl = el), onClick: this.handleBackdropClick }, h("le-component", { key: 'a3f086d20a9e611f3907f039bbcf9f7054927fa5', component: "le-popup" }, h("div", { key: 'b2ee2bc7d9eb42f457541c8ffb20af52b7cde8e9', class: "le-popup-container", part: "container" }, this.renderHeader(), this.renderBody(), this.renderFooter()))));
1109
965
  }
966
+ get el() { return this; }
1110
967
  static get style() { return lePopupCss(); }
1111
- }, [769, "le-popup", {
968
+ }, [257, "le-popup", {
1112
969
  "mode": [1537],
1113
970
  "open": [1540],
1114
971
  "type": [1],
@@ -1188,45 +1045,19 @@ const LeComponent = /*@__PURE__*/ proxyCustomElement(class LeComponent extends H
1188
1045
  this.__registerHost();
1189
1046
  }
1190
1047
  this.__attachShadow();
1048
+ /**
1049
+ * Internal state to track admin mode
1050
+ */
1051
+ this.adminMode = false;
1052
+ /**
1053
+ * Component metadata loaded from Custom Elements Manifest
1054
+ */
1055
+ this.componentMeta = null;
1056
+ /**
1057
+ * Current property values of the host component
1058
+ */
1059
+ this.propertyValues = {};
1191
1060
  }
1192
- get el() { return this; }
1193
- /**
1194
- * The tag name of the component (e.g., 'le-card').
1195
- * Used to look up property metadata and display the component name.
1196
- */
1197
- component;
1198
- /**
1199
- * Optional display name for the component.
1200
- * If not provided, the tag name will be formatted as the display name.
1201
- */
1202
- displayName;
1203
- /**
1204
- * Classes to apply to the host element.
1205
- * Allows parent components to pass their styling classes.
1206
- */
1207
- hostClass;
1208
- /**
1209
- * Inline styles to apply to the host element.
1210
- * Allows parent components to pass dynamic styles (e.g., flex properties).
1211
- */
1212
- hostStyle;
1213
- /**
1214
- * Reference to the host element (found automatically from parent)
1215
- */
1216
- hostElement;
1217
- /**
1218
- * Internal state to track admin mode
1219
- */
1220
- adminMode = false;
1221
- /**
1222
- * Component metadata loaded from Custom Elements Manifest
1223
- */
1224
- componentMeta = null;
1225
- /**
1226
- * Current property values of the host component
1227
- */
1228
- propertyValues = {};
1229
- disconnectModeObserver;
1230
1061
  connectedCallback() {
1231
1062
  // Find the host element - le-component is rendered inside the component's shadow DOM,
1232
1063
  // so we need to find the shadow root's host element
@@ -1423,8 +1254,9 @@ const LeComponent = /*@__PURE__*/ proxyCustomElement(class LeComponent extends H
1423
1254
  return (h(Host, { class: classnames(this.component, this.hostClass, 'admin-mode'), style: this.hostStyle }, h("div", { class: "le-component-wrapper" }, h("div", { class: "le-component-header" }, h("span", { class: "le-component-name" }, name), h("le-popover", { popoverTitle: `${name} Settings`, position: "right", align: "start", "min-width": "300px", mode: "default" }, h("le-button", { type: "button", class: "le-component-button", slot: "trigger", variant: "clear", size: "small", "aria-label": "Edit component properties", "icon-only": true }, h("span", { class: "le-component-trigger", slot: "icon-only" }, "\u2699")), this.renderPropertyEditor())), h("div", { class: "le-component-content" }, h("slot", null)))));
1424
1255
  }
1425
1256
  static get assetsDirs() { return ["assets"]; }
1257
+ get el() { return this; }
1426
1258
  static get style() { return leComponentCss(); }
1427
- }, [769, "le-component", {
1259
+ }, [257, "le-component", {
1428
1260
  "component": [1],
1429
1261
  "displayName": [1, "display-name"],
1430
1262
  "hostClass": [1, "host-class"],
@@ -1502,53 +1334,37 @@ const LeCheckbox = /*@__PURE__*/ proxyCustomElement(class LeCheckbox extends HTM
1502
1334
  }
1503
1335
  this.__attachShadow();
1504
1336
  this.leChange = createEvent(this, "change", 7);
1337
+ /**
1338
+ * Whether the checkbox is checked
1339
+ */
1340
+ this.checked = false;
1341
+ /**
1342
+ * Whether the checkbox is disabled
1343
+ */
1344
+ this.disabled = false;
1345
+ this.handleChange = (event) => {
1346
+ // We stop the internal button click from bubbling up
1347
+ event.stopPropagation();
1348
+ if (this.disabled) {
1349
+ event.preventDefault();
1350
+ return;
1351
+ }
1352
+ const input = event.target;
1353
+ this.checked = input.checked;
1354
+ this.leChange.emit({
1355
+ checked: this.checked,
1356
+ value: this.value,
1357
+ name: this.name,
1358
+ externalId: this.externalId
1359
+ });
1360
+ };
1505
1361
  }
1506
- get el() { return this; }
1507
- /**
1508
- * Whether the checkbox is checked
1509
- */
1510
- checked = false;
1511
- /**
1512
- * Whether the checkbox is disabled
1513
- */
1514
- disabled = false;
1515
- /**
1516
- * The name of the checkbox input
1517
- */
1518
- name;
1519
- /**
1520
- * The value of the checkbox input
1521
- */
1522
- value;
1523
- /**
1524
- * External ID for linking with external systems (e.g. database ID, PDF form field ID)
1525
- */
1526
- externalId;
1527
- /**
1528
- * Emitted when the checked state changes
1529
- */
1530
- leChange;
1531
- handleChange = (event) => {
1532
- // We stop the internal button click from bubbling up
1533
- event.stopPropagation();
1534
- if (this.disabled) {
1535
- event.preventDefault();
1536
- return;
1537
- }
1538
- const input = event.target;
1539
- this.checked = input.checked;
1540
- this.leChange.emit({
1541
- checked: this.checked,
1542
- value: this.value,
1543
- name: this.name,
1544
- externalId: this.externalId
1545
- });
1546
- };
1547
1362
  render() {
1548
- return (h("le-component", { key: 'cb04cc6a990ee321dd7e8fca2f0bf56c76a865fa', component: "le-checkbox", hostClass: classnames({ 'disabled': this.disabled }) }, h("div", { key: '1b8737eb0d572ba5fdf8c2cfc5ced4af5ef30997', class: "le-checkbox-wrapper" }, h("label", { key: '1d26d68565ade32489f2fade8120c7b8ad75b251', class: "le-checkbox-label" }, h("span", { key: '7e6b5e610c9f16c36b93c57284891366e6b3b756', class: "le-checkbox-input" }, h("input", { key: 'a12a374aa69526d802f36f00b0ae4bcd4ed27bc3', type: "checkbox", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, onChange: this.handleChange })), h("span", { key: 'e4ea1f85102c99751f9853b8e23fbd40ebd24780', class: "le-checkbox-text" }, h("le-slot", { key: 'cdda2111e4dfa6d7270280bac305255980842d48', name: "", type: "text", tag: "span" }, h("slot", { key: '32f57155d7a56f48e5780e37ea1ccac308db6848' })))), h("div", { key: '37d54d8c87b90987653f66a319958849893e7d91', class: "le-checkbox-description" }, h("le-slot", { key: 'fceedc24ef6a3561120456e9b387801a40c5919c', name: "description", type: "text", tag: "div", label: "Description" }, h("slot", { key: 'f1f87b7192565831a2f20428e8e2c0a974166dfd', name: "description" }))))));
1363
+ return (h("le-component", { key: '8b4541e96816b6e69ee790779971981b9d112484', component: "le-checkbox", hostClass: classnames({ 'disabled': this.disabled }) }, h("div", { key: 'c5e3a8692e59fa59a46bc90302e80f20dc700f04', class: "le-checkbox-wrapper" }, h("label", { key: 'b72abfbd39434a2c8be951a933e57ce70e9c922c', class: "le-checkbox-label" }, h("span", { key: '624ebbd37e6ea6a0800d702cbcea5ab8fe78b59e', class: "le-checkbox-input" }, h("input", { key: '182dc9549cc3494fc61e7779242ff14c304c3d97', type: "checkbox", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, onChange: this.handleChange })), h("span", { key: 'f14dc486329d8375b47ca75bedd2ac31f04273a7', class: "le-checkbox-text" }, h("le-slot", { key: '3be69ca148e121e8970bd3950fcbdee12613c775', name: "", type: "text", tag: "span" }, h("slot", { key: '2a258f7ce0331b9d08df5ac23a5ec492493974ca' })))), h("div", { key: '2deeab5d1d7c6b4046b5b4f54cd92061fc5f7383', class: "le-checkbox-description" }, h("le-slot", { key: '3ec3ca85d9f472d209084c4d95d46d2c114133e8', name: "description", type: "text", tag: "div", label: "Description" }, h("slot", { key: 'e1043ec4613df078446e7a6a5550646bbbe7d8be', name: "description" }))))));
1549
1364
  }
1365
+ get el() { return this; }
1550
1366
  static get style() { return leCheckboxCss(); }
1551
- }, [769, "le-checkbox", {
1367
+ }, [257, "le-checkbox", {
1552
1368
  "checked": [1540],
1553
1369
  "disabled": [4],
1554
1370
  "name": [1],
@@ -1622,85 +1438,54 @@ const LeButton = /*@__PURE__*/ proxyCustomElement(class LeButton extends HTMLEle
1622
1438
  }
1623
1439
  this.__attachShadow();
1624
1440
  this.leClick = createEvent(this, "click", 7);
1441
+ /**
1442
+ * Button variant style
1443
+ * @allowedValues solid | outlined | clear
1444
+ */
1445
+ this.variant = 'solid';
1446
+ /**
1447
+ * Button color theme (uses theme semantic colors)
1448
+ * @allowedValues primary | secondary | success | warning | danger | info
1449
+ */
1450
+ this.color = 'primary';
1451
+ /**
1452
+ * Button size
1453
+ * @allowedValues small | medium | large
1454
+ */
1455
+ this.size = 'medium';
1456
+ /**
1457
+ * Whether the button is in a selected/active state
1458
+ */
1459
+ this.selected = false;
1460
+ /**
1461
+ * Whether the button takes full width of its container
1462
+ */
1463
+ this.fullWidth = false;
1464
+ /**
1465
+ * Whether the button is disabled
1466
+ */
1467
+ this.disabled = false;
1468
+ /**
1469
+ * The button type attribute
1470
+ * @allowedValues button | submit | reset
1471
+ */
1472
+ this.type = 'button';
1473
+ /**
1474
+ * Alignment of the button label without the end icon
1475
+ * @allowedValues start | center | space-between | end
1476
+ */
1477
+ this.align = 'center';
1478
+ this.handleClick = (event) => {
1479
+ // We stop the internal button click from bubbling up
1480
+ event.stopPropagation();
1481
+ if (this.disabled) {
1482
+ event.preventDefault();
1483
+ return;
1484
+ }
1485
+ // And emit our own click event from the host element
1486
+ this.leClick.emit(event);
1487
+ };
1625
1488
  }
1626
- get el() { return this; }
1627
- /**
1628
- * Mode of the popover should be 'default' for internal use
1629
- */
1630
- mode;
1631
- /**
1632
- * Button variant style
1633
- * @allowedValues solid | outlined | clear
1634
- */
1635
- variant = 'solid';
1636
- /**
1637
- * Button color theme (uses theme semantic colors)
1638
- * @allowedValues primary | secondary | success | warning | danger | info
1639
- */
1640
- color = 'primary';
1641
- /**
1642
- * Button size
1643
- * @allowedValues small | medium | large
1644
- */
1645
- size = 'medium';
1646
- /**
1647
- * Whether the button is in a selected/active state
1648
- */
1649
- selected = false;
1650
- /**
1651
- * Whether the button takes full width of its container
1652
- */
1653
- fullWidth = false;
1654
- /**
1655
- * Icon only button image or emoji
1656
- * if this prop is set, the button will render only the icon slot
1657
- */
1658
- iconOnly;
1659
- /**
1660
- * Start icon image or emoji
1661
- */
1662
- iconStart;
1663
- /**
1664
- * End icon image or emoji
1665
- */
1666
- iconEnd;
1667
- /**
1668
- * Whether the button is disabled
1669
- */
1670
- disabled = false;
1671
- /**
1672
- * The button type attribute
1673
- * @allowedValues button | submit | reset
1674
- */
1675
- type = 'button';
1676
- /**
1677
- * Optional href to make the button act as a link
1678
- */
1679
- href;
1680
- /**
1681
- * Link target when href is set
1682
- */
1683
- target;
1684
- /**
1685
- * Alignment of the button label without the end icon
1686
- * @allowedValues start | center | space-between | end
1687
- */
1688
- align = 'center';
1689
- /**
1690
- * Emitted when the button is clicked.
1691
- * This is a custom event that wraps the native click but ensures the target is the le-button.
1692
- */
1693
- leClick;
1694
- handleClick = (event) => {
1695
- // We stop the internal button click from bubbling up
1696
- event.stopPropagation();
1697
- if (this.disabled) {
1698
- event.preventDefault();
1699
- return;
1700
- }
1701
- // And emit our own click event from the host element
1702
- this.leClick.emit(event);
1703
- };
1704
1489
  render() {
1705
1490
  const classes = classnames(`variant-${this.variant}`, `color-${this.color}`, `size-${this.size}`, {
1706
1491
  'selected': this.selected,
@@ -1712,10 +1497,11 @@ const LeButton = /*@__PURE__*/ proxyCustomElement(class LeButton extends HTMLEle
1712
1497
  const attrs = this.href
1713
1498
  ? { href: this.href, target: this.target, role: 'button' }
1714
1499
  : { type: this.type, disabled: this.disabled };
1715
- return (h(Host, { key: 'a42aef03b5faf34f47b50dff799316a6815babd5', class: classes }, h("le-component", { key: '86ef8acf04d43e829b83d3e225f210acefc99515', component: "le-button" }, h(TagType, { key: '44145a5244577aab167c103501b788f0088799e3', class: classnames('le-button-container', `le-button-align-${this.align}`), part: "button", ...attrs, onClick: this.handleClick }, this.iconOnly !== undefined ? (h("slot", { name: "icon-only" }, typeof this.iconOnly === 'string' ? this.iconOnly : null)) : (h(Fragment, null, h("span", { class: "le-button-label" }, this.iconStart && (h("span", { class: "icon-start", part: "icon-start" }, this.iconStart)), h("le-slot", { name: "", description: "Button text", type: "text", class: "content", part: "content" }, h("slot", null))), this.iconEnd && (h("span", { class: "icon-end", part: "icon-end" }, this.iconEnd))))))));
1500
+ return (h(Host, { key: '4bf9fb21e9bf0ca5a19193d977ad9fab90b519a0', class: classes }, h("le-component", { key: '8e0edefabbe9196eba935a1e8cce788c686c170c', component: "le-button" }, h(TagType, { key: '30f88ea834a9029c0f8ec24819107ba318dc6397', class: classnames('le-button-container', `le-button-align-${this.align}`), part: "button", ...attrs, onClick: this.handleClick }, this.iconOnly !== undefined ? (h("slot", { name: "icon-only" }, typeof this.iconOnly === 'string' ? this.iconOnly : null)) : (h(Fragment, null, h("span", { class: "le-button-label" }, this.iconStart && (h("span", { class: "icon-start", part: "icon-start" }, this.iconStart)), h("le-slot", { name: "", description: "Button text", type: "text", class: "content", part: "content" }, h("slot", null))), this.iconEnd && (h("span", { class: "icon-end", part: "icon-end" }, this.iconEnd))))))));
1716
1501
  }
1502
+ get el() { return this; }
1717
1503
  static get style() { return leButtonCss(); }
1718
- }, [769, "le-button", {
1504
+ }, [257, "le-button", {
1719
1505
  "mode": [1537],
1720
1506
  "variant": [1],
1721
1507
  "color": [1],