le-kit 0.1.14 → 0.1.16

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 (568) hide show
  1. package/dist/{core/cjs/index-B0mg71He.js → cjs/index-CHzu3ydp.js} +10 -3
  2. package/dist/cjs/index-CHzu3ydp.js.map +1 -0
  3. package/dist/{core/cjs → cjs}/index.cjs.js +4 -3
  4. package/dist/cjs/index.cjs.js.map +1 -0
  5. package/dist/{core/cjs → cjs}/le-box.cjs.entry.js +3 -3
  6. package/dist/cjs/le-box.entry.cjs.js.map +1 -0
  7. package/dist/cjs/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.cjs.js.map +1 -0
  8. package/dist/cjs/le-button_13.cjs.entry.js +2579 -0
  9. package/dist/cjs/le-card.cjs.entry.js +29 -0
  10. package/dist/cjs/le-card.entry.cjs.js.map +1 -0
  11. package/dist/cjs/le-combobox.cjs.entry.js +237 -0
  12. package/dist/cjs/le-combobox.entry.cjs.js.map +1 -0
  13. package/dist/cjs/le-header-placeholder.cjs.entry.js +18 -0
  14. package/dist/cjs/le-header-placeholder.entry.cjs.js.map +1 -0
  15. package/dist/cjs/le-kit.cjs.js +25 -0
  16. package/dist/cjs/le-multiselect.cjs.entry.js +306 -0
  17. package/dist/cjs/le-multiselect.entry.cjs.js.map +1 -0
  18. package/dist/{core/cjs → cjs}/le-number-input.cjs.entry.js +3 -3
  19. package/dist/cjs/le-number-input.entry.cjs.js.map +1 -0
  20. package/dist/{core/cjs → cjs}/le-round-progress.cjs.entry.js +2 -2
  21. package/dist/cjs/le-round-progress.entry.cjs.js.map +1 -0
  22. package/dist/cjs/le-segmented-control.cjs.entry.js +245 -0
  23. package/dist/cjs/le-segmented-control.entry.cjs.js.map +1 -0
  24. package/dist/{core/cjs → cjs}/le-stack.cjs.entry.js +4 -4
  25. package/dist/cjs/le-stack.entry.cjs.js.map +1 -0
  26. package/dist/cjs/le-tab-bar.cjs.entry.js +242 -0
  27. package/dist/cjs/le-tab-bar.entry.cjs.js.map +1 -0
  28. package/dist/cjs/le-tab-panel.cjs.entry.js +100 -0
  29. package/dist/cjs/le-tab-panel.entry.cjs.js.map +1 -0
  30. package/dist/cjs/le-tab.cjs.entry.js +133 -0
  31. package/dist/cjs/le-tab.entry.cjs.js.map +1 -0
  32. package/dist/cjs/le-tabs.cjs.entry.js +307 -0
  33. package/dist/cjs/le-tabs.entry.cjs.js.map +1 -0
  34. package/dist/cjs/le-tag.cjs.entry.js +68 -0
  35. package/dist/cjs/le-tag.entry.cjs.js.map +1 -0
  36. package/dist/{core/cjs → cjs}/le-text.cjs.entry.js +3 -3
  37. package/dist/cjs/le-text.entry.cjs.js.map +1 -0
  38. package/dist/{core/cjs → cjs}/le-turntable.cjs.entry.js +2 -2
  39. package/dist/cjs/le-turntable.entry.cjs.js.map +1 -0
  40. package/dist/cjs/loader.cjs.js +13 -0
  41. package/dist/{core/cjs/utils-jdqP71LP.js → cjs/utils-CYOKcOW8.js} +3 -3
  42. package/dist/cjs/utils-CYOKcOW8.js.map +1 -0
  43. package/dist/collection/collection-manifest.json +41 -0
  44. package/dist/{core/collection → collection}/components/le-box/le-box.js +1 -1
  45. package/dist/collection/components/le-box/le-box.js.map +1 -0
  46. package/dist/{core/collection/components/le-button/le-button.default.css → collection/components/le-button/le-button.css} +65 -38
  47. package/dist/{core/collection → collection}/components/le-button/le-button.js +106 -16
  48. package/dist/collection/components/le-button/le-button.js.map +1 -0
  49. package/dist/{core/collection → collection}/components/le-card/le-card.default.css +6 -6
  50. package/dist/{core/collection → collection}/components/le-card/le-card.js +2 -2
  51. package/dist/collection/components/le-card/le-card.js.map +1 -0
  52. package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.js +2 -2
  53. package/dist/collection/components/le-checkbox/le-checkbox.js.map +1 -0
  54. package/dist/collection/components/le-collapse/le-collapse.css +31 -0
  55. package/dist/collection/components/le-collapse/le-collapse.js +188 -0
  56. package/dist/collection/components/le-collapse/le-collapse.js.map +1 -0
  57. package/dist/collection/components/le-combobox/le-combobox.css +144 -0
  58. package/dist/collection/components/le-combobox/le-combobox.js +659 -0
  59. package/dist/collection/components/le-combobox/le-combobox.js.map +1 -0
  60. package/dist/collection/components/le-component/le-component.css +189 -0
  61. package/dist/{le-kit/le-component.entry.js → collection/components/le-component/le-component.js} +137 -17
  62. package/dist/collection/components/le-component/le-component.js.map +1 -0
  63. package/dist/collection/components/le-current-heading/le-current-heading.css +12 -0
  64. package/dist/collection/components/le-current-heading/le-current-heading.js +130 -0
  65. package/dist/collection/components/le-current-heading/le-current-heading.js.map +1 -0
  66. package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +167 -0
  67. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +761 -0
  68. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +1 -0
  69. package/dist/collection/components/le-header/le-header.css +120 -0
  70. package/dist/collection/components/le-header/le-header.js +508 -0
  71. package/dist/collection/components/le-header/le-header.js.map +1 -0
  72. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +21 -0
  73. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js.map +1 -0
  74. package/dist/collection/components/le-multiselect/le-multiselect.css +163 -0
  75. package/dist/collection/components/le-multiselect/le-multiselect.js +734 -0
  76. package/dist/collection/components/le-multiselect/le-multiselect.js.map +1 -0
  77. package/dist/{core/collection → collection}/components/le-number-input/le-number-input.js +2 -2
  78. package/dist/collection/components/le-number-input/le-number-input.js.map +1 -0
  79. package/dist/{core/collection → collection}/components/le-popover/le-popover.css +20 -0
  80. package/dist/{core/collection → collection}/components/le-popover/le-popover.js +180 -20
  81. package/dist/collection/components/le-popover/le-popover.js.map +1 -0
  82. package/dist/{core/collection → collection}/components/le-popup/le-popup.api.js +2 -1
  83. package/dist/collection/components/le-popup/le-popup.api.js.map +1 -0
  84. package/dist/{core/collection → collection}/components/le-popup/le-popup.js +49 -19
  85. package/dist/collection/components/le-popup/le-popup.js.map +1 -0
  86. package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.js +1 -1
  87. package/dist/collection/components/le-round-progress/le-round-progress.js.map +1 -0
  88. package/dist/collection/components/le-scroll-progress/le-scroll-progress.css +29 -0
  89. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +186 -0
  90. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js.map +1 -0
  91. package/dist/collection/components/le-segmented-control/le-segmented-control.css +78 -0
  92. package/dist/collection/components/le-segmented-control/le-segmented-control.js +445 -0
  93. package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +1 -0
  94. package/dist/collection/components/le-select/le-select.css +121 -0
  95. package/dist/collection/components/le-select/le-select.js +578 -0
  96. package/dist/collection/components/le-select/le-select.js.map +1 -0
  97. package/dist/collection/components/le-slot/le-slot.default.css +222 -0
  98. package/dist/{le-kit/le-slot.entry.js → collection/components/le-slot/le-slot.js} +268 -17
  99. package/dist/collection/components/le-slot/le-slot.js.map +1 -0
  100. package/dist/{core/collection → collection}/components/le-stack/le-stack.js +2 -2
  101. package/dist/collection/components/le-stack/le-stack.js.map +1 -0
  102. package/dist/{core/collection → collection}/components/le-string-input/le-string-input.css +1 -1
  103. package/dist/{core/collection → collection}/components/le-string-input/le-string-input.js +60 -6
  104. package/dist/collection/components/le-string-input/le-string-input.js.map +1 -0
  105. package/dist/collection/components/le-tab/le-tab.css +289 -0
  106. package/dist/collection/components/le-tab/le-tab.js +565 -0
  107. package/dist/collection/components/le-tab/le-tab.js.map +1 -0
  108. package/dist/collection/components/le-tab-bar/le-tab-bar.css +89 -0
  109. package/dist/collection/components/le-tab-bar/le-tab-bar.js +467 -0
  110. package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +1 -0
  111. package/dist/collection/components/le-tab-panel/le-tab-panel.css +30 -0
  112. package/dist/collection/components/le-tab-panel/le-tab-panel.js +302 -0
  113. package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +1 -0
  114. package/dist/collection/components/le-tabs/le-tabs.css +146 -0
  115. package/dist/collection/components/le-tabs/le-tabs.js +588 -0
  116. package/dist/collection/components/le-tabs/le-tabs.js.map +1 -0
  117. package/dist/collection/components/le-tag/le-tag.css +139 -0
  118. package/dist/collection/components/le-tag/le-tag.js +266 -0
  119. package/dist/collection/components/le-tag/le-tag.js.map +1 -0
  120. package/dist/{core/collection → collection}/components/le-text/le-text.js +1 -1
  121. package/dist/collection/components/le-text/le-text.js.map +1 -0
  122. package/dist/{core/collection → collection}/components/le-turntable/le-turntable.js +1 -1
  123. package/dist/collection/components/le-turntable/le-turntable.js.map +1 -0
  124. package/dist/collection/dist/components/assets/.gitkeep +1 -0
  125. package/dist/collection/dist/components/assets/custom-elements.json +9234 -0
  126. package/dist/collection/dist/components/themes/base.css +89 -0
  127. package/dist/collection/dist/components/themes/dark.css +103 -0
  128. package/dist/collection/dist/components/themes/default.css +111 -0
  129. package/dist/collection/dist/components/themes/gradient.css +103 -0
  130. package/dist/collection/dist/components/themes/index.css +76 -0
  131. package/dist/collection/dist/components/themes/minimal.css +103 -0
  132. package/dist/collection/dist/components/themes/warm.css +103 -0
  133. package/dist/collection/global/app.js.map +1 -0
  134. package/dist/collection/index.js.map +1 -0
  135. package/dist/collection/types/blocks.js.map +1 -0
  136. package/dist/collection/types/options.js.map +1 -0
  137. package/dist/collection/utils/utils.js.map +1 -0
  138. package/dist/components/assets/.gitkeep +1 -0
  139. package/dist/components/assets/custom-elements.json +9234 -0
  140. package/dist/components/index.js +11 -0
  141. package/dist/components/index.js.map +1 -0
  142. package/dist/{core/components → components}/le-box.js +22 -6
  143. package/dist/components/le-box.js.map +1 -0
  144. package/dist/{core/components → components}/le-button.js +1 -1
  145. package/dist/{core/components → components}/le-button2.js +671 -35
  146. package/dist/components/le-button2.js.map +1 -0
  147. package/dist/{core/components → components}/le-card.js +22 -6
  148. package/dist/components/le-card.js.map +1 -0
  149. package/dist/{core/components → components}/le-checkbox.js +1 -1
  150. package/dist/components/le-collapse.d.ts +11 -0
  151. package/dist/components/le-collapse.js +144 -0
  152. package/dist/components/le-collapse.js.map +1 -0
  153. package/dist/components/le-combobox.d.ts +11 -0
  154. package/dist/components/le-combobox.js +326 -0
  155. package/dist/components/le-combobox.js.map +1 -0
  156. package/dist/{core/components → components}/le-component.js +1 -1
  157. package/dist/components/le-current-heading.d.ts +11 -0
  158. package/dist/components/le-current-heading.js +93 -0
  159. package/dist/components/le-current-heading.js.map +1 -0
  160. package/dist/components/le-dropdown-base.d.ts +11 -0
  161. package/dist/components/le-dropdown-base.js +9 -0
  162. package/dist/components/le-dropdown-base.js.map +1 -0
  163. package/dist/components/le-dropdown-base2.js +393 -0
  164. package/dist/components/le-dropdown-base2.js.map +1 -0
  165. package/dist/components/le-header-placeholder.d.ts +11 -0
  166. package/dist/components/le-header-placeholder.js +37 -0
  167. package/dist/components/le-header-placeholder.js.map +1 -0
  168. package/dist/components/le-header.d.ts +11 -0
  169. package/dist/components/le-header.js +347 -0
  170. package/dist/components/le-header.js.map +1 -0
  171. package/dist/components/le-multiselect.d.ts +11 -0
  172. package/dist/components/le-multiselect.js +405 -0
  173. package/dist/components/le-multiselect.js.map +1 -0
  174. package/dist/{core/components → components}/le-number-input.js +23 -7
  175. package/dist/components/le-number-input.js.map +1 -0
  176. package/dist/{core/components → components}/le-popover2.js +143 -21
  177. package/dist/components/le-popover2.js.map +1 -0
  178. package/dist/{core/components/index.js → components/le-popup.api.js} +5 -12
  179. package/dist/components/le-popup.api.js.map +1 -0
  180. package/dist/components/le-popup.js +9 -0
  181. package/dist/components/le-popup.js.map +1 -0
  182. package/dist/{core/components → components}/le-round-progress.js +1 -1
  183. package/dist/components/le-scroll-progress.d.ts +11 -0
  184. package/dist/components/le-scroll-progress.js +142 -0
  185. package/dist/components/le-scroll-progress.js.map +1 -0
  186. package/dist/components/le-segmented-control.d.ts +11 -0
  187. package/dist/components/le-segmented-control.js +331 -0
  188. package/dist/components/le-segmented-control.js.map +1 -0
  189. package/dist/components/le-select.d.ts +11 -0
  190. package/dist/components/le-select.js +9 -0
  191. package/dist/components/le-select.js.map +1 -0
  192. package/dist/{core/components → components}/le-slot.js +1 -1
  193. package/dist/{core/components → components}/le-stack.js +23 -7
  194. package/dist/components/le-stack.js.map +1 -0
  195. package/dist/{core/components → components}/le-string-input.js +1 -1
  196. package/dist/components/le-tab-bar.d.ts +11 -0
  197. package/dist/components/le-tab-bar.js +330 -0
  198. package/dist/components/le-tab-bar.js.map +1 -0
  199. package/dist/components/le-tab-panel.d.ts +11 -0
  200. package/dist/components/le-tab-panel.js +182 -0
  201. package/dist/components/le-tab-panel.js.map +1 -0
  202. package/dist/components/le-tab.d.ts +11 -0
  203. package/dist/components/le-tab.js +9 -0
  204. package/dist/components/le-tab.js.map +1 -0
  205. package/dist/components/le-tab2.js +217 -0
  206. package/dist/components/le-tab2.js.map +1 -0
  207. package/dist/components/le-tabs.d.ts +11 -0
  208. package/dist/components/le-tabs.js +397 -0
  209. package/dist/components/le-tabs.js.map +1 -0
  210. package/dist/components/le-tag.d.ts +11 -0
  211. package/dist/components/le-tag.js +9 -0
  212. package/dist/components/le-tag.js.map +1 -0
  213. package/dist/components/le-tag2.js +141 -0
  214. package/dist/components/le-tag2.js.map +1 -0
  215. package/dist/{core/components → components}/le-text.js +22 -6
  216. package/dist/components/le-text.js.map +1 -0
  217. package/dist/{core/components → components}/le-turntable.js +1 -1
  218. package/dist/components/themes/base.css +4 -4
  219. package/dist/components/themes/dark.css +4 -1
  220. package/dist/components/themes/default.css +4 -1
  221. package/dist/components/themes/gradient.css +4 -1
  222. package/dist/components/themes/index.css +4 -341
  223. package/dist/components/themes/minimal.css +4 -1
  224. package/dist/components/themes/warm.css +4 -1
  225. package/dist/docs.d.ts +443 -0
  226. package/dist/docs.json +11547 -0
  227. package/dist/{core/esm/index-SKsXnjWI.js → esm/index-hmBwv43R.js} +10 -4
  228. package/dist/esm/index-hmBwv43R.js.map +1 -0
  229. package/dist/{core/esm → esm}/index.js +4 -3
  230. package/dist/esm/index.js.map +1 -0
  231. package/dist/{le-kit → esm}/le-box.entry.js +3 -3
  232. package/dist/esm/le-box.entry.js.map +1 -0
  233. package/dist/esm/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.js.map +1 -0
  234. package/dist/esm/le-button_13.entry.js +2565 -0
  235. package/dist/{le-kit → esm}/le-card.entry.js +3 -3
  236. package/dist/esm/le-card.entry.js.map +1 -0
  237. package/dist/esm/le-combobox.entry.js +235 -0
  238. package/dist/esm/le-combobox.entry.js.map +1 -0
  239. package/dist/esm/le-header-placeholder.entry.js +16 -0
  240. package/dist/esm/le-header-placeholder.entry.js.map +1 -0
  241. package/dist/esm/le-kit.js +21 -0
  242. package/dist/esm/le-multiselect.entry.js +304 -0
  243. package/dist/esm/le-multiselect.entry.js.map +1 -0
  244. package/dist/{le-kit → esm}/le-number-input.entry.js +6 -6
  245. package/dist/esm/le-number-input.entry.js.map +1 -0
  246. package/dist/{core/esm → esm}/le-round-progress.entry.js +2 -2
  247. package/dist/esm/le-round-progress.entry.js.map +1 -0
  248. package/dist/esm/le-segmented-control.entry.js +243 -0
  249. package/dist/esm/le-segmented-control.entry.js.map +1 -0
  250. package/dist/{le-kit → esm}/le-stack.entry.js +4 -4
  251. package/dist/esm/le-stack.entry.js.map +1 -0
  252. package/dist/esm/le-tab-bar.entry.js +240 -0
  253. package/dist/esm/le-tab-bar.entry.js.map +1 -0
  254. package/dist/esm/le-tab-panel.entry.js +98 -0
  255. package/dist/esm/le-tab-panel.entry.js.map +1 -0
  256. package/dist/esm/le-tab.entry.js +131 -0
  257. package/dist/esm/le-tab.entry.js.map +1 -0
  258. package/dist/esm/le-tabs.entry.js +305 -0
  259. package/dist/esm/le-tabs.entry.js.map +1 -0
  260. package/dist/esm/le-tag.entry.js +66 -0
  261. package/dist/esm/le-tag.entry.js.map +1 -0
  262. package/dist/{le-kit → esm}/le-text.entry.js +3 -3
  263. package/dist/esm/le-text.entry.js.map +1 -0
  264. package/dist/{core/esm → esm}/le-turntable.entry.js +2 -2
  265. package/dist/esm/le-turntable.entry.js.map +1 -0
  266. package/dist/esm/loader.js +11 -0
  267. package/dist/{le-kit/utils-cwSNy7ZS.js → esm/utils-DRTFlnxz.js} +3 -3
  268. package/dist/{le-kit/utils-cwSNy7ZS.js.map → esm/utils-DRTFlnxz.js.map} +1 -1
  269. package/dist/le-kit/dist/components/assets/.gitkeep +1 -0
  270. package/dist/le-kit/dist/components/assets/custom-elements.json +9234 -0
  271. package/dist/le-kit/dist/components/themes/base.css +4 -4
  272. package/dist/le-kit/dist/components/themes/dark.css +4 -1
  273. package/dist/le-kit/dist/components/themes/default.css +4 -1
  274. package/dist/le-kit/dist/components/themes/gradient.css +4 -1
  275. package/dist/le-kit/dist/components/themes/index.css +4 -341
  276. package/dist/le-kit/dist/components/themes/minimal.css +4 -1
  277. package/dist/le-kit/dist/components/themes/warm.css +4 -1
  278. package/dist/le-kit/index.esm.js +2 -116
  279. package/dist/le-kit/index.esm.js.map +1 -1
  280. package/dist/le-kit/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.esm.js.map +1 -0
  281. package/dist/le-kit/le-combobox.entry.esm.js.map +1 -0
  282. package/dist/le-kit/le-header-placeholder.entry.esm.js.map +1 -0
  283. package/dist/le-kit/le-kit.css +1 -1010
  284. package/dist/le-kit/le-kit.esm.js +2 -48
  285. package/dist/le-kit/le-kit.esm.js.map +1 -1
  286. package/dist/le-kit/le-multiselect.entry.esm.js.map +1 -0
  287. package/dist/le-kit/le-segmented-control.entry.esm.js.map +1 -0
  288. package/dist/le-kit/le-tab-bar.entry.esm.js.map +1 -0
  289. package/dist/le-kit/le-tab-panel.entry.esm.js.map +1 -0
  290. package/dist/le-kit/le-tab.entry.esm.js.map +1 -0
  291. package/dist/le-kit/le-tabs.entry.esm.js.map +1 -0
  292. package/dist/le-kit/le-tag.entry.esm.js.map +1 -0
  293. package/dist/le-kit/p-13a4dc1d.entry.js +2 -0
  294. package/dist/le-kit/p-13a4dc1d.entry.js.map +1 -0
  295. package/dist/{core/le-kit/p-55f70091.entry.js → le-kit/p-1a9e65d0.entry.js} +2 -2
  296. package/dist/le-kit/p-1a9e65d0.entry.js.map +1 -0
  297. package/dist/le-kit/p-2708dc65.entry.js +2 -0
  298. package/dist/le-kit/p-2708dc65.entry.js.map +1 -0
  299. package/dist/le-kit/p-2b96a5bd.entry.js +2 -0
  300. package/dist/le-kit/p-2b96a5bd.entry.js.map +1 -0
  301. package/dist/le-kit/p-32cbb683.entry.js +2 -0
  302. package/dist/le-kit/p-32cbb683.entry.js.map +1 -0
  303. package/dist/le-kit/p-476e1886.entry.js +2 -0
  304. package/dist/le-kit/p-476e1886.entry.js.map +1 -0
  305. package/dist/le-kit/p-67d702f9.entry.js +2 -0
  306. package/dist/le-kit/p-67d702f9.entry.js.map +1 -0
  307. package/dist/{core/le-kit/p-6e414a5c.entry.js → le-kit/p-6884e3e8.entry.js} +2 -2
  308. package/dist/le-kit/p-6884e3e8.entry.js.map +1 -0
  309. package/dist/le-kit/p-704ad5e0.entry.js +2 -0
  310. package/dist/le-kit/p-704ad5e0.entry.js.map +1 -0
  311. package/dist/le-kit/p-88f9aa40.entry.js +2 -0
  312. package/dist/le-kit/p-88f9aa40.entry.js.map +1 -0
  313. package/dist/le-kit/p-8dd8a487.entry.js +2 -0
  314. package/dist/le-kit/p-8dd8a487.entry.js.map +1 -0
  315. package/dist/le-kit/p-97b7658a.entry.js +2 -0
  316. package/dist/le-kit/p-97b7658a.entry.js.map +1 -0
  317. package/dist/le-kit/p-c0925e92.entry.js +2 -0
  318. package/dist/le-kit/p-c0925e92.entry.js.map +1 -0
  319. package/dist/le-kit/p-c2494a0d.entry.js +2 -0
  320. package/dist/le-kit/p-c2494a0d.entry.js.map +1 -0
  321. package/dist/le-kit/p-ded51018.entry.js +2 -0
  322. package/dist/le-kit/p-ded51018.entry.js.map +1 -0
  323. package/dist/{core/le-kit/p-a9d05ef6.entry.js → le-kit/p-e3db7974.entry.js} +2 -2
  324. package/dist/le-kit/p-e3db7974.entry.js.map +1 -0
  325. package/dist/{core/le-kit/p-4f133e72.entry.js → le-kit/p-f9b03aec.entry.js} +2 -2
  326. package/dist/le-kit/p-f9b03aec.entry.js.map +1 -0
  327. package/dist/le-kit/p-hmBwv43R.js +3 -0
  328. package/dist/le-kit/p-hmBwv43R.js.map +1 -0
  329. package/dist/le-kit/p-txKmCJHv.js +2 -0
  330. package/dist/le-kit/p-txKmCJHv.js.map +1 -0
  331. package/dist/themes/base.css +89 -0
  332. package/dist/themes/dark.css +103 -0
  333. package/dist/themes/default.css +111 -0
  334. package/dist/themes/gradient.css +103 -0
  335. package/dist/themes/index.css +76 -0
  336. package/dist/themes/minimal.css +103 -0
  337. package/dist/themes/warm.css +103 -0
  338. package/dist/types/components/le-button/le-button.d.ts +19 -4
  339. package/dist/types/components/le-collapse/le-collapse.d.ts +41 -0
  340. package/dist/types/components/le-combobox/le-combobox.d.ts +128 -0
  341. package/dist/types/components/le-current-heading/le-current-heading.d.ts +25 -0
  342. package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +118 -0
  343. package/dist/types/components/le-header/le-header.d.ts +115 -0
  344. package/dist/types/components/le-header-placeholder/le-header-placeholder.d.ts +13 -0
  345. package/dist/types/components/le-multiselect/le-multiselect.d.ts +143 -0
  346. package/dist/types/components/le-popover/le-popover.d.ts +22 -2
  347. package/dist/types/components/le-popup/le-popup.d.ts +5 -0
  348. package/dist/types/components/le-scroll-progress/le-scroll-progress.d.ts +40 -0
  349. package/dist/types/components/le-segmented-control/le-segmented-control.d.ts +82 -0
  350. package/dist/types/components/le-select/le-select.d.ts +125 -0
  351. package/dist/types/components/le-string-input/le-string-input.d.ts +8 -0
  352. package/dist/types/components/le-tab/le-tab.d.ts +116 -0
  353. package/dist/types/components/le-tab-bar/le-tab-bar.d.ts +88 -0
  354. package/dist/types/components/le-tab-panel/le-tab-panel.d.ts +75 -0
  355. package/dist/types/components/le-tabs/le-tabs.d.ts +108 -0
  356. package/dist/types/components/le-tag/le-tag.d.ts +78 -0
  357. package/dist/types/components.d.ts +3061 -273
  358. package/dist/types/types/options.d.ts +9 -0
  359. package/package.json +3 -18
  360. package/dist/core/cjs/index-B0mg71He.js.map +0 -1
  361. package/dist/core/cjs/index.cjs.js.map +0 -1
  362. package/dist/core/cjs/le-box.entry.cjs.js.map +0 -1
  363. package/dist/core/cjs/le-button.cjs.entry.js +0 -92
  364. package/dist/core/cjs/le-button.entry.cjs.js.map +0 -1
  365. package/dist/core/cjs/le-card.cjs.entry.js +0 -29
  366. package/dist/core/cjs/le-card.entry.cjs.js.map +0 -1
  367. package/dist/core/cjs/le-checkbox.cjs.entry.js +0 -61
  368. package/dist/core/cjs/le-checkbox.entry.cjs.js.map +0 -1
  369. package/dist/core/cjs/le-kit.cjs.js +0 -25
  370. package/dist/core/cjs/le-number-input.entry.cjs.js.map +0 -1
  371. package/dist/core/cjs/le-popover.cjs.entry.js +0 -348
  372. package/dist/core/cjs/le-popover.entry.cjs.js.map +0 -1
  373. package/dist/core/cjs/le-popup.cjs.entry.js +0 -212
  374. package/dist/core/cjs/le-popup.entry.cjs.js.map +0 -1
  375. package/dist/core/cjs/le-round-progress.entry.cjs.js.map +0 -1
  376. package/dist/core/cjs/le-stack.entry.cjs.js.map +0 -1
  377. package/dist/core/cjs/le-string-input.cjs.entry.js +0 -95
  378. package/dist/core/cjs/le-string-input.entry.cjs.js.map +0 -1
  379. package/dist/core/cjs/le-text.entry.cjs.js.map +0 -1
  380. package/dist/core/cjs/le-turntable.entry.cjs.js.map +0 -1
  381. package/dist/core/cjs/loader.cjs.js +0 -13
  382. package/dist/core/cjs/utils-jdqP71LP.js.map +0 -1
  383. package/dist/core/collection/collection-manifest.json +0 -24
  384. package/dist/core/collection/components/le-box/le-box.js.map +0 -1
  385. package/dist/core/collection/components/le-button/le-button.js.map +0 -1
  386. package/dist/core/collection/components/le-card/le-card.js.map +0 -1
  387. package/dist/core/collection/components/le-checkbox/le-checkbox.js.map +0 -1
  388. package/dist/core/collection/components/le-number-input/le-number-input.js.map +0 -1
  389. package/dist/core/collection/components/le-popover/le-popover.js.map +0 -1
  390. package/dist/core/collection/components/le-popup/le-popup.api.js.map +0 -1
  391. package/dist/core/collection/components/le-popup/le-popup.js.map +0 -1
  392. package/dist/core/collection/components/le-round-progress/le-round-progress.js.map +0 -1
  393. package/dist/core/collection/components/le-stack/le-stack.js.map +0 -1
  394. package/dist/core/collection/components/le-string-input/le-string-input.js.map +0 -1
  395. package/dist/core/collection/components/le-text/le-text.js.map +0 -1
  396. package/dist/core/collection/components/le-turntable/le-turntable.js.map +0 -1
  397. package/dist/core/collection/global/app.js.map +0 -1
  398. package/dist/core/collection/index.js.map +0 -1
  399. package/dist/core/collection/types/blocks.js.map +0 -1
  400. package/dist/core/collection/types/options.js.map +0 -1
  401. package/dist/core/collection/utils/utils.js.map +0 -1
  402. package/dist/core/components/index.d.ts +0 -33
  403. package/dist/core/components/index.js.map +0 -1
  404. package/dist/core/components/le-box.d.ts +0 -11
  405. package/dist/core/components/le-box.js.map +0 -1
  406. package/dist/core/components/le-button.d.ts +0 -11
  407. package/dist/core/components/le-button2.js.map +0 -1
  408. package/dist/core/components/le-card.d.ts +0 -11
  409. package/dist/core/components/le-card.js.map +0 -1
  410. package/dist/core/components/le-checkbox.d.ts +0 -11
  411. package/dist/core/components/le-component.d.ts +0 -11
  412. package/dist/core/components/le-number-input.d.ts +0 -11
  413. package/dist/core/components/le-number-input.js.map +0 -1
  414. package/dist/core/components/le-popover.d.ts +0 -11
  415. package/dist/core/components/le-popover2.js.map +0 -1
  416. package/dist/core/components/le-popup.d.ts +0 -11
  417. package/dist/core/components/le-popup.js +0 -279
  418. package/dist/core/components/le-popup.js.map +0 -1
  419. package/dist/core/components/le-round-progress.d.ts +0 -11
  420. package/dist/core/components/le-slot.d.ts +0 -11
  421. package/dist/core/components/le-stack.d.ts +0 -11
  422. package/dist/core/components/le-stack.js.map +0 -1
  423. package/dist/core/components/le-string-input.d.ts +0 -11
  424. package/dist/core/components/le-text.d.ts +0 -11
  425. package/dist/core/components/le-text.js.map +0 -1
  426. package/dist/core/components/le-turntable.d.ts +0 -11
  427. package/dist/core/esm/index-SKsXnjWI.js.map +0 -1
  428. package/dist/core/esm/index.js.map +0 -1
  429. package/dist/core/esm/le-box.entry.js +0 -182
  430. package/dist/core/esm/le-box.entry.js.map +0 -1
  431. package/dist/core/esm/le-button.entry.js +0 -90
  432. package/dist/core/esm/le-button.entry.js.map +0 -1
  433. package/dist/core/esm/le-card.entry.js +0 -27
  434. package/dist/core/esm/le-card.entry.js.map +0 -1
  435. package/dist/core/esm/le-checkbox.entry.js +0 -59
  436. package/dist/core/esm/le-checkbox.entry.js.map +0 -1
  437. package/dist/core/esm/le-kit.js +0 -21
  438. package/dist/core/esm/le-number-input.entry.js +0 -200
  439. package/dist/core/esm/le-number-input.entry.js.map +0 -1
  440. package/dist/core/esm/le-popover.entry.js +0 -346
  441. package/dist/core/esm/le-popover.entry.js.map +0 -1
  442. package/dist/core/esm/le-popup.entry.js +0 -210
  443. package/dist/core/esm/le-popup.entry.js.map +0 -1
  444. package/dist/core/esm/le-round-progress.entry.js.map +0 -1
  445. package/dist/core/esm/le-stack.entry.js +0 -133
  446. package/dist/core/esm/le-stack.entry.js.map +0 -1
  447. package/dist/core/esm/le-string-input.entry.js +0 -93
  448. package/dist/core/esm/le-string-input.entry.js.map +0 -1
  449. package/dist/core/esm/le-text.entry.js +0 -333
  450. package/dist/core/esm/le-text.entry.js.map +0 -1
  451. package/dist/core/esm/le-turntable.entry.js.map +0 -1
  452. package/dist/core/esm/loader.js +0 -11
  453. package/dist/core/esm/utils-DZdP1JiG.js +0 -146
  454. package/dist/core/esm/utils-DZdP1JiG.js.map +0 -1
  455. package/dist/core/le-kit/index.esm.js +0 -2
  456. package/dist/core/le-kit/index.esm.js.map +0 -1
  457. package/dist/core/le-kit/le-box.entry.esm.js.map +0 -1
  458. package/dist/core/le-kit/le-button.entry.esm.js.map +0 -1
  459. package/dist/core/le-kit/le-card.entry.esm.js.map +0 -1
  460. package/dist/core/le-kit/le-checkbox.entry.esm.js.map +0 -1
  461. package/dist/core/le-kit/le-kit.css +0 -1
  462. package/dist/core/le-kit/le-kit.esm.js +0 -2
  463. package/dist/core/le-kit/le-kit.esm.js.map +0 -1
  464. package/dist/core/le-kit/le-number-input.entry.esm.js.map +0 -1
  465. package/dist/core/le-kit/le-popover.entry.esm.js.map +0 -1
  466. package/dist/core/le-kit/le-popup.entry.esm.js.map +0 -1
  467. package/dist/core/le-kit/le-round-progress.entry.esm.js.map +0 -1
  468. package/dist/core/le-kit/le-stack.entry.esm.js.map +0 -1
  469. package/dist/core/le-kit/le-string-input.entry.esm.js.map +0 -1
  470. package/dist/core/le-kit/le-text.entry.esm.js.map +0 -1
  471. package/dist/core/le-kit/le-turntable.entry.esm.js.map +0 -1
  472. package/dist/core/le-kit/loader.esm.js.map +0 -1
  473. package/dist/core/le-kit/p--VxUdzYV.js +0 -2
  474. package/dist/core/le-kit/p--VxUdzYV.js.map +0 -1
  475. package/dist/core/le-kit/p-189cb775.entry.js +0 -2
  476. package/dist/core/le-kit/p-189cb775.entry.js.map +0 -1
  477. package/dist/core/le-kit/p-35c1d413.entry.js +0 -2
  478. package/dist/core/le-kit/p-35c1d413.entry.js.map +0 -1
  479. package/dist/core/le-kit/p-4f133e72.entry.js.map +0 -1
  480. package/dist/core/le-kit/p-55f70091.entry.js.map +0 -1
  481. package/dist/core/le-kit/p-5fd7b23a.entry.js +0 -2
  482. package/dist/core/le-kit/p-5fd7b23a.entry.js.map +0 -1
  483. package/dist/core/le-kit/p-6e414a5c.entry.js.map +0 -1
  484. package/dist/core/le-kit/p-7b121ca7.entry.js +0 -2
  485. package/dist/core/le-kit/p-7b121ca7.entry.js.map +0 -1
  486. package/dist/core/le-kit/p-8c81fa95.entry.js +0 -2
  487. package/dist/core/le-kit/p-8c81fa95.entry.js.map +0 -1
  488. package/dist/core/le-kit/p-9aa81442.entry.js +0 -2
  489. package/dist/core/le-kit/p-9aa81442.entry.js.map +0 -1
  490. package/dist/core/le-kit/p-SKsXnjWI.js +0 -3
  491. package/dist/core/le-kit/p-SKsXnjWI.js.map +0 -1
  492. package/dist/core/le-kit/p-a9d05ef6.entry.js.map +0 -1
  493. package/dist/core/le-kit/p-b2bd2a80.entry.js +0 -2
  494. package/dist/core/le-kit/p-b2bd2a80.entry.js.map +0 -1
  495. package/dist/core/le-kit/p-ccac9611.entry.js +0 -2
  496. package/dist/core/le-kit/p-ccac9611.entry.js.map +0 -1
  497. package/dist/core/loader/cdn.js +0 -1
  498. package/dist/core/loader/index.cjs.js +0 -1
  499. package/dist/core/loader/index.d.ts +0 -24
  500. package/dist/core/loader/index.es2017.js +0 -1
  501. package/dist/core/loader/index.js +0 -2
  502. package/dist/core/types/components/le-box/le-box.d.ts +0 -111
  503. package/dist/core/types/components/le-button/le-button.d.ts +0 -78
  504. package/dist/core/types/components/le-card/le-card.d.ts +0 -37
  505. package/dist/core/types/components/le-checkbox/le-checkbox.d.ts +0 -46
  506. package/dist/core/types/components/le-number-input/le-number-input.d.ts +0 -106
  507. package/dist/core/types/components/le-popover/le-popover.d.ts +0 -109
  508. package/dist/core/types/components/le-popup/le-popup.api.d.ts +0 -73
  509. package/dist/core/types/components/le-popup/le-popup.d.ts +0 -122
  510. package/dist/core/types/components/le-round-progress/le-round-progress.d.ts +0 -37
  511. package/dist/core/types/components/le-stack/le-stack.d.ts +0 -73
  512. package/dist/core/types/components/le-string-input/le-string-input.d.ts +0 -83
  513. package/dist/core/types/components/le-text/le-text.d.ts +0 -141
  514. package/dist/core/types/components/le-turntable/le-turntable.d.ts +0 -55
  515. package/dist/core/types/components.d.ts +0 -1752
  516. package/dist/core/types/global/app.d.ts +0 -73
  517. package/dist/core/types/index.d.ts +0 -15
  518. package/dist/core/types/stencil-public-runtime.d.ts +0 -1756
  519. package/dist/core/types/types/blocks.d.ts +0 -136
  520. package/dist/core/types/types/options.d.ts +0 -124
  521. package/dist/core/types/utils/utils.d.ts +0 -54
  522. package/dist/le-kit/assets/custom-elements.json +0 -4305
  523. package/dist/le-kit/index-CAY3Hk_i.js +0 -4559
  524. package/dist/le-kit/index-CAY3Hk_i.js.map +0 -1
  525. package/dist/le-kit/le-button.entry.esm.js.map +0 -1
  526. package/dist/le-kit/le-button.entry.js +0 -90
  527. package/dist/le-kit/le-checkbox.entry.esm.js.map +0 -1
  528. package/dist/le-kit/le-checkbox.entry.js +0 -59
  529. package/dist/le-kit/le-component.entry.esm.js.map +0 -1
  530. package/dist/le-kit/le-popover.entry.esm.js.map +0 -1
  531. package/dist/le-kit/le-popover.entry.js +0 -346
  532. package/dist/le-kit/le-popup.entry.esm.js.map +0 -1
  533. package/dist/le-kit/le-popup.entry.js +0 -210
  534. package/dist/le-kit/le-round-progress.entry.js +0 -104
  535. package/dist/le-kit/le-slot.entry.esm.js.map +0 -1
  536. package/dist/le-kit/le-string-input.entry.esm.js.map +0 -1
  537. package/dist/le-kit/le-string-input.entry.js +0 -93
  538. package/dist/le-kit/le-turntable.entry.js +0 -137
  539. /package/dist/{core/cjs → cjs}/le-kit.cjs.js.map +0 -0
  540. /package/dist/{core/cjs → cjs}/loader.cjs.js.map +0 -0
  541. /package/dist/{core/collection → collection}/components/le-box/le-box.default.css +0 -0
  542. /package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.css +0 -0
  543. /package/dist/{core/collection → collection}/components/le-number-input/le-number-input.css +0 -0
  544. /package/dist/{core/collection → collection}/components/le-popup/le-popup.css +0 -0
  545. /package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.css +0 -0
  546. /package/dist/{core/collection → collection}/components/le-stack/le-stack.default.css +0 -0
  547. /package/dist/{core/collection → collection}/components/le-text/le-text.default.css +0 -0
  548. /package/dist/{core/collection → collection}/components/le-turntable/le-turntable.css +0 -0
  549. /package/dist/{core/collection → collection}/global/app.js +0 -0
  550. /package/dist/{core/collection → collection}/index.js +0 -0
  551. /package/dist/{core/collection → collection}/types/blocks.js +0 -0
  552. /package/dist/{core/collection → collection}/types/options.js +0 -0
  553. /package/dist/{core/collection → collection}/utils/utils.js +0 -0
  554. /package/dist/{core/components → components}/le-button.js.map +0 -0
  555. /package/dist/{core/components → components}/le-checkbox.js.map +0 -0
  556. /package/dist/{core/components → components}/le-component.js.map +0 -0
  557. /package/dist/{core/components → components}/le-popover.js +0 -0
  558. /package/dist/{core/components → components}/le-popover.js.map +0 -0
  559. /package/dist/{core/components → components}/le-round-progress.js.map +0 -0
  560. /package/dist/{core/components → components}/le-slot.js.map +0 -0
  561. /package/dist/{core/components → components}/le-string-input.js.map +0 -0
  562. /package/dist/{core/components → components}/le-turntable.js.map +0 -0
  563. /package/dist/{core/components → components}/utils.js +0 -0
  564. /package/dist/{core/components → components}/utils.js.map +0 -0
  565. /package/dist/{core/esm → esm}/le-kit.js.map +0 -0
  566. /package/dist/{core/esm → esm}/loader.js.map +0 -0
  567. /package/dist/{core/index.cjs.js → index.cjs.js} +0 -0
  568. /package/dist/{core/index.js → index.js} +0 -0
@@ -1,6 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, getAssetPath, Host, Fragment } from '@stencil/core/internal/client';
2
2
  import { h as classnames, o as observeModeChanges, f as getLeKitConfig } from './utils.js';
3
- import { d as defineCustomElement$5 } from './le-popover2.js';
3
+ import { a as leConfirm } from './le-popup.api.js';
4
+ import { d as defineCustomElement$8 } from './le-dropdown-base2.js';
5
+ import { d as defineCustomElement$7 } from './le-popover2.js';
4
6
 
5
7
  const leStringInputCss = ":host{display:block;--le-input-bg:var(--le-color-surface, #ffffff);--le-input-color:var(--le-color-text-primary, #333333);--le-input-border:var(--le-border-width, 2px) solid var(--le-color-border-input, #007bff);--le-input-radius:var(--le-radius-sm, 4px);--le-input-padding:2px 6px;--le-input-height:1.5rem;--le-input-label-color:var(--le-color-text-primary, #333333);--le-input-desc-color:var(--le-color-text-secondary, #666666);--le-input-placeholder-color:#999999}.le-input-wrapper{display:flex;flex-direction:column;gap:2px}.le-input-label{display:block;font-size:0.9em;font-weight:500;color:var(--le-input-label-color);margin-bottom:2px}.le-input-container{position:relative;display:flex;align-items:center;background:var(--le-input-bg);border:var(--le-input-border);border-radius:var(--le-input-radius);transition:border-color 0.2s}.le-input-container:focus-within{outline:2px solid var(--le-color-focus);outline-offset:2px}:host([disabled]) .le-input-container{opacity:0.6;background-color:rgba(0,0,0,0.05);cursor:not-allowed}input{flex:1;min-height:var(--le-input-height);padding:var(--le-input-padding);border:none;background:transparent;color:var(--le-input-color);font-family:inherit;font-size:inherit;outline:none;width:100%}input::placeholder{color:var(--le-input-placeholder-color)}.icon-start,.icon-end{display:flex;align-items:center;justify-content:center;padding:0 8px;color:var(--le-input-desc-color)}.le-input-description{font-size:0.85em;color:var(--le-input-desc-color);margin-top:2px}.le-input-description::has(le-slot>slot[name=description]:empty){display:none}";
6
8
 
@@ -15,6 +17,10 @@ const LeStringInput = /*@__PURE__*/ proxyCustomElement(class LeStringInput exten
15
17
  this.leInput = createEvent(this, "input", 7);
16
18
  }
17
19
  get el() { return this; }
20
+ /**
21
+ * Pass the ref of the input element to the parent component
22
+ */
23
+ inputRef;
18
24
  /**
19
25
  * Mode of the popover should be 'default' for internal use
20
26
  */
@@ -47,6 +53,10 @@ const LeStringInput = /*@__PURE__*/ proxyCustomElement(class LeStringInput exten
47
53
  * Placeholder text
48
54
  */
49
55
  placeholder;
56
+ /**
57
+ * Hide description slot
58
+ */
59
+ hideDescription = false;
50
60
  /**
51
61
  * Whether the input is disabled
52
62
  */
@@ -73,7 +83,7 @@ const LeStringInput = /*@__PURE__*/ proxyCustomElement(class LeStringInput exten
73
83
  this.leInput.emit({
74
84
  value: this.value,
75
85
  name: this.name,
76
- externalId: this.externalId
86
+ externalId: this.externalId,
77
87
  });
78
88
  };
79
89
  handleChange = (ev) => {
@@ -82,17 +92,22 @@ const LeStringInput = /*@__PURE__*/ proxyCustomElement(class LeStringInput exten
82
92
  this.leChange.emit({
83
93
  value: this.value,
84
94
  name: this.name,
85
- externalId: this.externalId
95
+ externalId: this.externalId,
86
96
  });
87
97
  };
88
98
  handleClick = (ev) => {
89
99
  ev.stopPropagation();
90
100
  };
91
101
  render() {
92
- return (h("le-component", { key: 'd0c69370dae2d1fee5700954e4823d2a03a51331', component: "le-string-input", hostClass: classnames({ 'disabled': this.disabled }) }, h("div", { key: '4acae8d3c34da2a86970a616c493ff210d561f5f', class: "le-input-wrapper" }, this.label && (h("label", { key: '609191b45187b6b1a65d05cd594b149760ac6882', class: "le-input-label", htmlFor: this.name }, this.label)), h("div", { key: '36b4caff4468ac7421db03f811cb3ef4a622b001', class: "le-input-container" }, this.iconStart && (h("span", { key: '344f88887fe8270bbef7e26ec1ad5da9fae1f8e4', class: "icon-start" }, this.iconStart)), h("input", { key: '4ba7beeddd7fb3cf23d03e029d11a804764cdd6e', 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: '7cdd4b52c3e1a1b18b19e697bdb42431941bba01', class: "icon-end" }, this.iconEnd))), h("div", { key: '113a75aa413e4d95300aeaa97d1ce7a75cf68c7a', class: "le-input-description" }, h("le-slot", { key: '0b37fc14e6df68f6c44cf9001d63a70f019e1cc3', name: "description", type: "text", tag: "p", label: "Description" }, h("slot", { key: '2674056dc915fabdb4fcbcaa13294a116b9509a6', name: "description" }))))));
102
+ return (h("le-component", { key: 'c51b121a5ff8458f80de07929467d92cff44de9b', component: "le-string-input", hostClass: classnames({ disabled: this.disabled }) }, h("div", { key: '450fa313236401fcb762267f426d0556f90ef200', class: "le-input-wrapper" }, this.label && (h("label", { key: 'c01ed376e563f472d84c9943a4a542c1ec2cb39c', class: "le-input-label", htmlFor: this.name }, this.label)), h("div", { key: 'e41a98671f3bc61e06f66c773536967d60c97df0', class: "le-input-container", part: "container" }, this.iconStart && h("span", { key: 'c6eb682444e091378281b7a2e739ef872ca28973', class: "icon-start" }, this.iconStart), h("input", { key: 'bc7f9055dcae290e132f4c91887e5f90427209d4', ref: el => {
103
+ if (this.inputRef) {
104
+ this.inputRef(el);
105
+ }
106
+ }, 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: '3470d5c95e208e52b1913369d734e1d741164633', class: "icon-end" }, this.iconEnd)), !this.hideDescription && (h("div", { key: '97a123be35907f950c7480352cee29c32e486fe4', class: "le-input-description" }, h("le-slot", { key: '490c2a425b3b58f050aced5dcffc530f624c0957', name: "description", type: "text", tag: "p", label: "Description" }, h("slot", { key: 'a34ff8c6300a36d6c65ca5d9a77352459f1c85cc', name: "description" })))))));
93
107
  }
94
108
  static get style() { return leStringInputCss; }
95
109
  }, [769, "le-string-input", {
110
+ "inputRef": [16],
96
111
  "mode": [1537],
97
112
  "value": [1537],
98
113
  "name": [1],
@@ -101,15 +116,16 @@ const LeStringInput = /*@__PURE__*/ proxyCustomElement(class LeStringInput exten
101
116
  "iconStart": [1, "icon-start"],
102
117
  "iconEnd": [1, "icon-end"],
103
118
  "placeholder": [1],
119
+ "hideDescription": [4, "hide-description"],
104
120
  "disabled": [4],
105
121
  "readonly": [4],
106
122
  "externalId": [1, "external-id"]
107
123
  }]);
108
- function defineCustomElement$4() {
124
+ function defineCustomElement$6() {
109
125
  if (typeof customElements === "undefined") {
110
126
  return;
111
127
  }
112
- const components = ["le-string-input", "le-button", "le-checkbox", "le-component", "le-popover", "le-slot", "le-string-input"];
128
+ const components = ["le-string-input", "le-button", "le-checkbox", "le-component", "le-popover", "le-popup", "le-select", "le-slot", "le-string-input"];
113
129
  components.forEach(tagName => { switch (tagName) {
114
130
  case "le-string-input":
115
131
  if (!customElements.get(tagName)) {
@@ -133,19 +149,29 @@ function defineCustomElement$4() {
133
149
  break;
134
150
  case "le-popover":
135
151
  if (!customElements.get(tagName)) {
136
- defineCustomElement$5();
152
+ defineCustomElement$7();
137
153
  }
138
154
  break;
139
- case "le-slot":
155
+ case "le-popup":
140
156
  if (!customElements.get(tagName)) {
141
157
  defineCustomElement$3();
142
158
  }
143
159
  break;
144
- case "le-string-input":
160
+ case "le-select":
145
161
  if (!customElements.get(tagName)) {
146
162
  defineCustomElement$4();
147
163
  }
148
164
  break;
165
+ case "le-slot":
166
+ if (!customElements.get(tagName)) {
167
+ defineCustomElement$5();
168
+ }
169
+ break;
170
+ case "le-string-input":
171
+ if (!customElements.get(tagName)) {
172
+ defineCustomElement$6();
173
+ }
174
+ break;
149
175
  } });
150
176
  }
151
177
 
@@ -488,7 +514,7 @@ const LeSlot = /*@__PURE__*/ proxyCustomElement(class LeSlot extends HTMLElement
488
514
  render() {
489
515
  const displayLabel = this.label || this.name;
490
516
  // Always render the same structure, CSS handles visibility via .admin-mode class
491
- return (h(Host, { key: '0ffbcff05009d390a4de52aac1395c4c769ed948', class: {
517
+ return (h(Host, { key: '938f14c8d8e46d834031cbfab6756a55bc59307d', class: {
492
518
  'admin-mode': this.adminMode,
493
519
  'invalid-html': !this.isValidHtml,
494
520
  }, 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', {
@@ -550,11 +576,11 @@ const LeSlot = /*@__PURE__*/ proxyCustomElement(class LeSlot extends HTMLElement
550
576
  "availableComponents": [32],
551
577
  "pickerOpen": [32]
552
578
  }]);
553
- function defineCustomElement$3() {
579
+ function defineCustomElement$5() {
554
580
  if (typeof customElements === "undefined") {
555
581
  return;
556
582
  }
557
- const components = ["le-slot", "le-button", "le-checkbox", "le-component", "le-popover", "le-slot", "le-string-input"];
583
+ const components = ["le-slot", "le-button", "le-checkbox", "le-component", "le-popover", "le-popup", "le-select", "le-slot", "le-string-input"];
558
584
  components.forEach(tagName => { switch (tagName) {
559
585
  case "le-slot":
560
586
  if (!customElements.get(tagName)) {
@@ -578,19 +604,576 @@ function defineCustomElement$3() {
578
604
  break;
579
605
  case "le-popover":
580
606
  if (!customElements.get(tagName)) {
581
- defineCustomElement$5();
607
+ defineCustomElement$7();
608
+ }
609
+ break;
610
+ case "le-popup":
611
+ if (!customElements.get(tagName)) {
612
+ defineCustomElement$3();
613
+ }
614
+ break;
615
+ case "le-select":
616
+ if (!customElements.get(tagName)) {
617
+ defineCustomElement$4();
582
618
  }
583
619
  break;
584
620
  case "le-slot":
621
+ if (!customElements.get(tagName)) {
622
+ defineCustomElement$5();
623
+ }
624
+ break;
625
+ case "le-string-input":
626
+ if (!customElements.get(tagName)) {
627
+ defineCustomElement$6();
628
+ }
629
+ break;
630
+ } });
631
+ }
632
+
633
+ const leSelectCss = ":host{display:inline-block;min-width:150px;--le-select-color:var(--le-color-text, #1f2937);--le-select-border-radius:var(--le-radius-md);--le-select-content-padding:var(--le-spacing-2)}:host([disabled]){opacity:0.5;pointer-events:none}:host([full-width]){width:100%}.select-trigger{display:flex;align-items:center;gap:0.5rem;width:100%;padding:0;--le-button-padding:var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-2);font-size:var(--le-select-font-size, 0.875rem);font-family:inherit;line-height:1.4;color:var(--le-select-color);background:var(--le-select-bg, var(--le-color-surface, #fff));border-radius:var(--le-select-border-radius);cursor:pointer;text-align:left;transition:border-color 0.15s ease, box-shadow 0.15s ease}.select-trigger:focus{outline:2px solid var(--le-color-focus);outline-offset:2px}.select-trigger:not(.has-value) .trigger-label{color:color-mix(in srgb, var(--le-color-text-secondary) 66%, transparent)}.trigger-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem}.trigger-icon-end{width:16px;height:16px}.trigger-icon img{width:100%;height:100%;object-fit:contain}.trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--le-color-text)}.trigger-label::not(.has-value){color:var(--le-color-text-disabled, #9ca3af)}le-button::part(icon-end){display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;transition:transform 0.2s ease}le-button::part(icon-end) svg{width:1rem;height:1rem}le-button.is-open::part(icon-end){transform:rotate(180deg)}.search-input::part(container):focus-within{outline:none !important}.search-input{--le-input-radius:var(--le-radius-md)}";
634
+
635
+ const LeSelect = /*@__PURE__*/ proxyCustomElement(class LeSelect extends HTMLElement {
636
+ constructor(registerHost) {
637
+ super();
638
+ if (registerHost !== false) {
639
+ this.__registerHost();
640
+ }
641
+ this.__attachShadow();
642
+ this.leChange = createEvent(this, "leChange", 7);
643
+ this.leOpen = createEvent(this, "leOpen", 7);
644
+ this.leClose = createEvent(this, "leClose", 7);
645
+ }
646
+ get el() { return this; }
647
+ /**
648
+ * The options to display in the dropdown.
649
+ */
650
+ options = [];
651
+ /**
652
+ * The currently selected value.
653
+ */
654
+ value;
655
+ /**
656
+ * Placeholder text when no option is selected.
657
+ */
658
+ placeholder = 'Select an option';
659
+ /**
660
+ * Whether the select is disabled.
661
+ */
662
+ disabled = false;
663
+ /**
664
+ * Whether selection is required.
665
+ */
666
+ required = false;
667
+ /**
668
+ * Name attribute for form submission.
669
+ */
670
+ name;
671
+ /**
672
+ * Whether the select should take full width of its container.
673
+ */
674
+ fullWidth = false;
675
+ /**
676
+ * Size variant of the select.
677
+ */
678
+ size = 'medium';
679
+ /**
680
+ * Visual variant of the select.
681
+ */
682
+ variant = 'default';
683
+ /**
684
+ * Whether the input is searchable.
685
+ */
686
+ searchable = false;
687
+ /**
688
+ * Text to show when no options match the search.
689
+ */
690
+ emptyText = 'No results found';
691
+ /**
692
+ * Whether the dropdown is currently open.
693
+ */
694
+ open = false;
695
+ /**
696
+ * Emitted when the selected value changes.
697
+ */
698
+ leChange;
699
+ /**
700
+ * Emitted when the dropdown opens.
701
+ */
702
+ leOpen;
703
+ /**
704
+ * Emitted when the dropdown closes.
705
+ */
706
+ leClose;
707
+ selectedOption;
708
+ searchQuery = '';
709
+ dropdownEl;
710
+ inputEl;
711
+ handleValueChange() {
712
+ this.updateSelectedOption();
713
+ }
714
+ handleOptionsChange() {
715
+ this.updateSelectedOption();
716
+ }
717
+ componentWillLoad() {
718
+ this.updateSelectedOption();
719
+ }
720
+ get parsedOptions() {
721
+ if (typeof this.options === 'string') {
722
+ try {
723
+ return JSON.parse(this.options);
724
+ }
725
+ catch {
726
+ return [];
727
+ }
728
+ }
729
+ return this.options;
730
+ }
731
+ updateSelectedOption() {
732
+ if (this.value !== undefined) {
733
+ this.selectedOption = this.parsedOptions.find(opt => (opt.value ?? opt.label) === this.value);
734
+ }
735
+ else {
736
+ this.selectedOption = undefined;
737
+ }
738
+ }
739
+ filterOption = (option, query) => {
740
+ if (!query)
741
+ return true;
742
+ const searchLower = query.toLowerCase();
743
+ return (option.label.toLowerCase().includes(searchLower) ||
744
+ (option.description?.toLowerCase().includes(searchLower) ?? false));
745
+ };
746
+ handleOptionSelect = (e) => {
747
+ this.value = e.detail.value;
748
+ this.selectedOption = e.detail.option;
749
+ this.leChange.emit(e.detail);
750
+ };
751
+ handleDropdownOpen = () => {
752
+ this.open = true;
753
+ this.leOpen.emit();
754
+ // Focus search input if searchable
755
+ if (this.searchable) {
756
+ setTimeout(() => {
757
+ this.inputEl?.focus();
758
+ }, 50);
759
+ }
760
+ };
761
+ handleDropdownClose = () => {
762
+ this.open = false;
763
+ this.leClose.emit();
764
+ };
765
+ handleTriggerClick = () => {
766
+ if (!this.disabled) {
767
+ this.dropdownEl?.toggle();
768
+ }
769
+ };
770
+ handleTriggerKeyDown = (e) => {
771
+ if (this.disabled)
772
+ return;
773
+ if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
774
+ e.preventDefault();
775
+ this.dropdownEl?.show();
776
+ }
777
+ };
778
+ handleSearchInput = (e) => {
779
+ const target = e.target;
780
+ this.searchQuery = target.value;
781
+ };
782
+ /**
783
+ * Opens the dropdown.
784
+ */
785
+ async showDropdown() {
786
+ await this.dropdownEl?.show();
787
+ }
788
+ /**
789
+ * Closes the dropdown.
790
+ */
791
+ async hideDropdown() {
792
+ await this.dropdownEl?.hide();
793
+ }
794
+ renderIcon(icon) {
795
+ if (!icon)
796
+ return null;
797
+ if (icon.startsWith('http') || icon.startsWith('/')) {
798
+ return h("img", { class: "trigger-icon", src: icon, alt: "" });
799
+ }
800
+ return h("span", { class: "trigger-icon" }, icon);
801
+ }
802
+ render() {
803
+ const hasValue = this.selectedOption !== undefined;
804
+ return (h("le-component", { key: 'f41bf4f086925b6b37a0131a51e4f7e354797ed5', component: "le-select" }, h("le-dropdown-base", { key: '08db701f6b1f7e2c428ea0cc9ee4046c22759757', 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: 'f994667c5360905a9e6340f0f0331bea55523418', variant: this.variant && this.variant !== 'default' ? this.variant : 'outlined', slot: "trigger", align: "space-between", class: {
805
+ 'select-trigger': true,
806
+ 'has-value': hasValue,
807
+ 'is-open': this.open,
808
+ }, 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
809
+ ? this.renderIcon(this.selectedOption.iconStart)
810
+ : 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: 'c807e00d21193e558dcf1b601c4aa5f78144fd14', class: "trigger-label" }, hasValue ? this.selectedOption.label : this.placeholder)), this.searchable && this.open && (h("div", { key: 'c285d28f7b0093580484b8d077c4f2ddd014aa2e', class: "multiselect-search", slot: "header" }, h("le-string-input", { key: '1dd31e5840a29e3a7e181c80182c20ea5ca28bcb', mode: "default", inputRef: el => (this.inputEl = el), class: "search-input", placeholder: "Search...", value: this.searchQuery, onInput: this.handleSearchInput })))), this.name && h("input", { key: '0acb27fafae47b56808e1b1ee20e45c7cb0cfa3e', type: "hidden", name: this.name, value: this.value?.toString() ?? '' })));
811
+ }
812
+ static get watchers() { return {
813
+ "value": ["handleValueChange"],
814
+ "options": ["handleOptionsChange"]
815
+ }; }
816
+ static get style() { return leSelectCss; }
817
+ }, [769, "le-select", {
818
+ "options": [1],
819
+ "value": [1032],
820
+ "placeholder": [1],
821
+ "disabled": [516],
822
+ "required": [4],
823
+ "name": [1],
824
+ "fullWidth": [4, "full-width"],
825
+ "size": [513],
826
+ "variant": [513],
827
+ "searchable": [4],
828
+ "emptyText": [1, "empty-text"],
829
+ "open": [1540],
830
+ "selectedOption": [32],
831
+ "searchQuery": [32],
832
+ "showDropdown": [64],
833
+ "hideDropdown": [64]
834
+ }, undefined, {
835
+ "value": ["handleValueChange"],
836
+ "options": ["handleOptionsChange"]
837
+ }]);
838
+ function defineCustomElement$4() {
839
+ if (typeof customElements === "undefined") {
840
+ return;
841
+ }
842
+ const components = ["le-select", "le-button", "le-checkbox", "le-component", "le-dropdown-base", "le-popover", "le-popup", "le-select", "le-slot", "le-string-input"];
843
+ components.forEach(tagName => { switch (tagName) {
844
+ case "le-select":
845
+ if (!customElements.get(tagName)) {
846
+ customElements.define(tagName, LeSelect);
847
+ }
848
+ break;
849
+ case "le-button":
850
+ if (!customElements.get(tagName)) {
851
+ defineCustomElement();
852
+ }
853
+ break;
854
+ case "le-checkbox":
855
+ if (!customElements.get(tagName)) {
856
+ defineCustomElement$1();
857
+ }
858
+ break;
859
+ case "le-component":
860
+ if (!customElements.get(tagName)) {
861
+ defineCustomElement$2();
862
+ }
863
+ break;
864
+ case "le-dropdown-base":
865
+ if (!customElements.get(tagName)) {
866
+ defineCustomElement$8();
867
+ }
868
+ break;
869
+ case "le-popover":
870
+ if (!customElements.get(tagName)) {
871
+ defineCustomElement$7();
872
+ }
873
+ break;
874
+ case "le-popup":
585
875
  if (!customElements.get(tagName)) {
586
876
  defineCustomElement$3();
587
877
  }
588
878
  break;
879
+ case "le-select":
880
+ if (!customElements.get(tagName)) {
881
+ defineCustomElement$4();
882
+ }
883
+ break;
884
+ case "le-slot":
885
+ if (!customElements.get(tagName)) {
886
+ defineCustomElement$5();
887
+ }
888
+ break;
589
889
  case "le-string-input":
890
+ if (!customElements.get(tagName)) {
891
+ defineCustomElement$6();
892
+ }
893
+ break;
894
+ } });
895
+ }
896
+
897
+ const lePopupCss = ":host{display:contents}.le-popup-dialog{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;padding:0;border:none;background:transparent;max-width:none;max-height:none;overflow:visible;--_popup-min-width:var(--le-popup-min-width, 320px);--_popup-max-width:var(--le-popup-max-width, min(500px, 90vw));--_popup-min-height:var(--le-popup-min-height, auto)}.le-popup-dialog::backdrop{background:var(--le-popup-backdrop-color, rgba(0, 0, 0, 0.5));animation:le-popup-backdrop-fade 0.2s ease-out}@keyframes le-popup-backdrop-fade{from{opacity:0}to{opacity:1}}.le-popup-position-center{margin:auto}.le-popup-position-top{margin:var(--le-space-2xl, 48px) auto auto auto}.le-popup-position-top-left{margin:var(--le-space-lg, 24px) auto auto var(--le-space-lg, 24px)}.le-popup-position-top-right{margin:var(--le-space-lg, 24px) var(--le-space-lg, 24px) auto auto}.le-popup-position-bottom{margin:auto auto var(--le-space-2xl, 48px) auto}.le-popup-position-bottom-left{margin:auto auto var(--le-space-lg, 24px) var(--le-space-lg, 24px)}.le-popup-position-bottom-right{margin:auto var(--le-space-lg, 24px) var(--le-space-lg, 24px) auto}.le-popup-container{display:flex;flex-direction:column;min-width:var(--_popup-min-width);max-width:var(--_popup-max-width);min-height:var(--_popup-min-height);max-height:calc(100vh - var(--le-space-2xl, 48px) * 2);background:var(--le-color-surface, #ffffff);border:1px solid var(--le-color-border, #e0e0e0);border-radius:var(--le-radius-lg, 12px);box-shadow:var(--le-shadow-xl, 0 8px 32px rgba(0, 0, 0, 0.15));overflow:hidden;font-family:var(--le-font-family, system-ui, -apple-system, sans-serif);color:var(--le-color-text, #333);animation:le-popup-appear 0.2s ease-out}@keyframes le-popup-appear{from{opacity:0;transform:scale(0.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.le-popup-header{flex-shrink:0;padding:var(--le-space-md, 16px) var(--le-space-lg, 24px);border-bottom:1px solid var(--le-color-border, #e0e0e0);background:var(--le-color-surface-alt, #f9f9f9);font-size:var(--le-font-size-lg, 1.125rem);font-weight:var(--le-font-weight-semibold, 600);color:var(--le-color-text, #333)}.le-popup-body{flex:1;padding:var(--le-space-lg, 24px);overflow-y:auto}.le-popup-message{margin:0;font-size:var(--le-font-size-md, 1rem);line-height:var(--le-line-height-relaxed, 1.6);color:var(--le-color-text, #333)}.le-popup-message+::slotted(*){margin-top:var(--le-space-md, 16px)}.le-popup-input{display:block;width:100%;margin-top:var(--le-space-md, 16px);padding:var(--le-space-sm, 8px) var(--le-space-md, 16px);font-family:inherit;font-size:var(--le-font-size-md, 1rem);color:var(--le-color-text, #333);background:var(--le-color-background, #fff);border:1px solid var(--le-color-border, #e0e0e0);border-radius:var(--le-radius-md, 8px);outline:none;transition:border-color var(--le-transition-fast, 0.15s ease),\n box-shadow var(--le-transition-fast, 0.15s ease);box-sizing:border-box}.le-popup-input:focus{border-color:var(--le-color-primary, #2196f3);box-shadow:0 0 0 3px var(--le-color-primary-light, rgba(33, 150, 243, 0.2))}.le-popup-input::placeholder{color:var(--le-color-text-muted, #999)}.le-popup-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:var(--le-space-sm, 8px);padding:var(--le-space-md, 16px) var(--le-space-lg, 24px);border-top:1px solid var(--le-color-border, #e0e0e0);background:var(--le-color-surface-alt, #f9f9f9)}.le-popup-btn{min-width:80px}@media (max-width: 480px){.le-popup-container{min-width:calc(100vw - var(--le-space-md, 16px) * 2);max-width:calc(100vw - var(--le-space-md, 16px) * 2)}.le-popup-footer{flex-direction:column-reverse}.le-popup-btn{width:100%}}";
898
+
899
+ const LePopup = /*@__PURE__*/ proxyCustomElement(class LePopup extends HTMLElement {
900
+ constructor(registerHost) {
901
+ super();
902
+ if (registerHost !== false) {
903
+ this.__registerHost();
904
+ }
905
+ this.__attachShadow();
906
+ this.leConfirm = createEvent(this, "leConfirm", 7);
907
+ this.leCancel = createEvent(this, "leCancel", 7);
908
+ this.leOpen = createEvent(this, "leOpen", 7);
909
+ this.leClose = createEvent(this, "leClose", 7);
910
+ }
911
+ get el() { return this; }
912
+ /**
913
+ * The mode of the Le Kit (e.g., 'default' or 'admin')
914
+ */
915
+ mode = 'default';
916
+ /**
917
+ * Whether the popup is currently visible
918
+ */
919
+ open = false;
920
+ /**
921
+ * Type of popup: alert (OK only), confirm (OK/Cancel), prompt (input + OK/Cancel), custom
922
+ */
923
+ type = 'alert';
924
+ /**
925
+ * Optional title for the popup header
926
+ */
927
+ popupTitle;
928
+ /**
929
+ * Message text to display (for alert/confirm/prompt types)
930
+ */
931
+ message;
932
+ /**
933
+ * Whether the popup is modal (blocks interaction with page behind)
934
+ */
935
+ modal = true;
936
+ /**
937
+ * Position of the popup on screen
938
+ */
939
+ position = 'center';
940
+ /**
941
+ * Text for the confirm/OK button
942
+ */
943
+ confirmText = 'OK';
944
+ /**
945
+ * Text for the cancel button
946
+ */
947
+ cancelText = 'Cancel';
948
+ /**
949
+ * Placeholder text for prompt input
950
+ */
951
+ placeholder = '';
952
+ /**
953
+ * Default value for prompt input
954
+ */
955
+ defaultValue = '';
956
+ /**
957
+ * Whether clicking the backdrop closes the popup (modal only)
958
+ */
959
+ closeOnBackdrop = true;
960
+ /**
961
+ * Internal state for prompt input value
962
+ */
963
+ inputValue = '';
964
+ /**
965
+ * Emitted when the popup is confirmed (OK clicked)
966
+ */
967
+ leConfirm;
968
+ /**
969
+ * Emitted when the popup is cancelled (Cancel clicked or dismissed)
970
+ */
971
+ leCancel;
972
+ /**
973
+ * Emitted when the popup opens
974
+ */
975
+ leOpen;
976
+ /**
977
+ * Emitted when the popup closes
978
+ */
979
+ leClose;
980
+ dialogEl;
981
+ inputEl;
982
+ resolvePromise;
983
+ componentWillLoad() {
984
+ this.inputValue = this.defaultValue;
985
+ }
986
+ componentDidLoad() {
987
+ // Native dialog handles Escape key automatically when modal
988
+ // We just need to listen for the cancel event
989
+ this.dialogEl?.addEventListener('cancel', this.handleDialogCancel);
990
+ }
991
+ disconnectedCallback() {
992
+ this.dialogEl?.removeEventListener('cancel', this.handleDialogCancel);
993
+ }
994
+ handleDialogCancel = (e) => {
995
+ e.preventDefault(); // Prevent default close to handle it ourselves
996
+ this.handleCancel();
997
+ };
998
+ /**
999
+ * Opens the popup and returns a promise that resolves when closed
1000
+ */
1001
+ async show() {
1002
+ return new Promise(resolve => {
1003
+ this.resolvePromise = resolve;
1004
+ this.inputValue = this.defaultValue;
1005
+ this.open = true;
1006
+ // Use requestAnimationFrame to ensure the dialog element is rendered
1007
+ requestAnimationFrame(() => {
1008
+ if (this.dialogEl) {
1009
+ if (this.modal) {
1010
+ this.dialogEl.showModal();
1011
+ }
1012
+ else {
1013
+ this.dialogEl.show();
1014
+ }
1015
+ this.leOpen.emit();
1016
+ // Focus input for prompt type
1017
+ if (this.type === 'prompt' && this.inputEl) {
1018
+ this.inputEl.focus();
1019
+ this.inputEl.select();
1020
+ }
1021
+ }
1022
+ });
1023
+ });
1024
+ }
1025
+ /**
1026
+ * Closes the popup with a result
1027
+ */
1028
+ async hide(confirmed = false) {
1029
+ const result = {
1030
+ confirmed,
1031
+ value: this.type === 'prompt' ? this.inputValue : undefined,
1032
+ };
1033
+ this.dialogEl?.close();
1034
+ this.open = false;
1035
+ this.leClose.emit(result);
1036
+ if (this.resolvePromise) {
1037
+ this.resolvePromise(result);
1038
+ this.resolvePromise = undefined;
1039
+ }
1040
+ }
1041
+ handleConfirm = () => {
1042
+ const result = {
1043
+ confirmed: true,
1044
+ value: this.type === 'prompt' ? this.inputValue : undefined,
1045
+ };
1046
+ this.leConfirm.emit(result);
1047
+ this.hide(true);
1048
+ };
1049
+ handleCancel = () => {
1050
+ const result = {
1051
+ confirmed: false,
1052
+ value: undefined,
1053
+ };
1054
+ this.leCancel.emit(result);
1055
+ this.hide(false);
1056
+ };
1057
+ handleBackdropClick = (e) => {
1058
+ // Check if click was on the dialog backdrop (outside the dialog box)
1059
+ if (this.closeOnBackdrop && e.target === this.dialogEl) {
1060
+ const rect = this.dialogEl.getBoundingClientRect();
1061
+ const clickedInDialog = e.clientX >= rect.left &&
1062
+ e.clientX <= rect.right &&
1063
+ e.clientY >= rect.top &&
1064
+ e.clientY <= rect.bottom;
1065
+ if (!clickedInDialog) {
1066
+ this.handleCancel();
1067
+ }
1068
+ }
1069
+ };
1070
+ handleInputChange = (e) => {
1071
+ this.inputValue = e.target.value;
1072
+ };
1073
+ handleKeyDown = (e) => {
1074
+ if (e.key === 'Enter' && this.type !== 'custom') {
1075
+ e.preventDefault();
1076
+ this.handleConfirm();
1077
+ }
1078
+ };
1079
+ hasSlot(name) {
1080
+ return !!this.el.querySelector(`[slot="${name}"]`);
1081
+ }
1082
+ renderHeader() {
1083
+ if (this.hasSlot('header')) {
1084
+ return (h("div", { class: "le-popup-header", part: "header" }, h("slot", { name: "header" })));
1085
+ }
1086
+ if (this.popupTitle) {
1087
+ return (h("div", { class: "le-popup-header", part: "header" }, this.popupTitle));
1088
+ }
1089
+ return null;
1090
+ }
1091
+ renderBody() {
1092
+ return (h("div", { class: "le-popup-body", part: "body" }, this.message && h("p", { class: "le-popup-message" }, this.message), this.type === 'prompt' && (h("input", { type: "text", class: "le-popup-input", part: "input", placeholder: this.placeholder, value: this.inputValue, onInput: this.handleInputChange, onKeyDown: this.handleKeyDown, ref: el => (this.inputEl = el) })), h("le-slot", { name: "", tag: "div", description: "Custom popup content", type: "slot" }, h("slot", null))));
1093
+ }
1094
+ renderFooter() {
1095
+ if (this.hasSlot('footer')) {
1096
+ return (h("div", { class: "le-popup-footer", part: "footer" }, h("slot", { name: "footer" })));
1097
+ }
1098
+ // For custom type without footer slot, don't render default buttons
1099
+ if (this.type === 'custom') {
1100
+ return null;
1101
+ }
1102
+ return (h("div", { class: "le-popup-footer", part: "footer" }, (this.type === 'confirm' || this.type === 'prompt') && (h("le-button", { variant: "outlined", part: "button-cancel", class: "le-popup-btn", onClick: this.handleCancel }, this.cancelText)), h("le-button", { variant: "solid", part: "button-confirm", class: "le-popup-btn", onClick: this.handleConfirm }, this.confirmText)));
1103
+ }
1104
+ render() {
1105
+ const positionClass = `le-popup-position-${this.position}`;
1106
+ return (h("dialog", { key: '20ac8e086b2999191c769a0ee03b1c1182103809', class: `le-popup-dialog ${positionClass}`, part: "dialog", ref: el => (this.dialogEl = el), onClick: this.handleBackdropClick }, h("le-component", { key: '468b1d737c2301b041c2a7a13afc658505f74c5b', component: "le-popup" }, h("div", { key: '829cad08439dc5d0b3f9c78092a46faa016bbec2', class: "le-popup-container", part: "container" }, this.renderHeader(), this.renderBody(), this.renderFooter()))));
1107
+ }
1108
+ static get style() { return lePopupCss; }
1109
+ }, [769, "le-popup", {
1110
+ "mode": [1537],
1111
+ "open": [1540],
1112
+ "type": [1],
1113
+ "popupTitle": [1, "popup-title"],
1114
+ "message": [1],
1115
+ "modal": [4],
1116
+ "position": [1],
1117
+ "confirmText": [1, "confirm-text"],
1118
+ "cancelText": [1, "cancel-text"],
1119
+ "placeholder": [1],
1120
+ "defaultValue": [1, "default-value"],
1121
+ "closeOnBackdrop": [4, "close-on-backdrop"],
1122
+ "inputValue": [32],
1123
+ "show": [64],
1124
+ "hide": [64]
1125
+ }]);
1126
+ function defineCustomElement$3() {
1127
+ if (typeof customElements === "undefined") {
1128
+ return;
1129
+ }
1130
+ const components = ["le-popup", "le-button", "le-checkbox", "le-component", "le-popover", "le-popup", "le-select", "le-slot", "le-string-input"];
1131
+ components.forEach(tagName => { switch (tagName) {
1132
+ case "le-popup":
1133
+ if (!customElements.get(tagName)) {
1134
+ customElements.define(tagName, LePopup);
1135
+ }
1136
+ break;
1137
+ case "le-button":
1138
+ if (!customElements.get(tagName)) {
1139
+ defineCustomElement();
1140
+ }
1141
+ break;
1142
+ case "le-checkbox":
1143
+ if (!customElements.get(tagName)) {
1144
+ defineCustomElement$1();
1145
+ }
1146
+ break;
1147
+ case "le-component":
1148
+ if (!customElements.get(tagName)) {
1149
+ defineCustomElement$2();
1150
+ }
1151
+ break;
1152
+ case "le-popover":
1153
+ if (!customElements.get(tagName)) {
1154
+ defineCustomElement$7();
1155
+ }
1156
+ break;
1157
+ case "le-popup":
1158
+ if (!customElements.get(tagName)) {
1159
+ defineCustomElement$3();
1160
+ }
1161
+ break;
1162
+ case "le-select":
590
1163
  if (!customElements.get(tagName)) {
591
1164
  defineCustomElement$4();
592
1165
  }
593
1166
  break;
1167
+ case "le-slot":
1168
+ if (!customElements.get(tagName)) {
1169
+ defineCustomElement$5();
1170
+ }
1171
+ break;
1172
+ case "le-string-input":
1173
+ if (!customElements.get(tagName)) {
1174
+ defineCustomElement$6();
1175
+ }
1176
+ break;
594
1177
  } });
595
1178
  }
596
1179
 
@@ -778,6 +1361,7 @@ const LeComponent = /*@__PURE__*/ proxyCustomElement(class LeComponent extends H
778
1361
  }
779
1362
  // Update local state
780
1363
  this.propertyValues = { ...this.propertyValues, [attrName]: value };
1364
+ // update the host element the way the parent element mutation observer would catch it?
781
1365
  }
782
1366
  /**
783
1367
  * Delete this component from the DOM
@@ -787,7 +1371,7 @@ const LeComponent = /*@__PURE__*/ proxyCustomElement(class LeComponent extends H
787
1371
  return;
788
1372
  // Confirm deletion
789
1373
  const name = this.displayName || this.formatDisplayName(this.component);
790
- if (!confirm(`Delete this ${name}?`))
1374
+ if (!leConfirm(`Delete this ${name}?`))
791
1375
  return;
792
1376
  // Remove the host element from its parent
793
1377
  const parent = this.hostElement.parentElement;
@@ -812,7 +1396,7 @@ const LeComponent = /*@__PURE__*/ proxyCustomElement(class LeComponent extends H
812
1396
  const enumMatch = type.match(/^'[^']+'/);
813
1397
  if (enumMatch) {
814
1398
  const options = type.split('|').map(opt => opt.trim().replace(/'/g, ''));
815
- return (h("div", { class: "property-field" }, h("label", { htmlFor: `prop-${attr.name}` }, attr.name, attr.description && h("span", { class: "property-hint" }, attr.description)), h("select", { id: `prop-${attr.name}`, onChange: e => this.handlePropertyChange(attr.name, e.target.value, type) }, options.map(opt => (h("option", { value: opt, selected: value === opt || (!value && attr.default?.replace(/'/g, '') === opt) }, opt))))));
1399
+ return (h("div", { class: "property-field" }, h("label", { htmlFor: `prop-${attr.name}` }, attr.name, attr.description && h("span", { class: "property-hint" }, attr.description)), h("le-select", { options: [...options.map(opt => ({ label: opt, value: opt }))], "full-width": true, value: value ?? attr.default?.replace(/'/g, ''), placeholder: attr.default?.replace(/'/g, ''), onLeChange: (e) => this.handlePropertyChange(attr.name, e.detail.value, type) })));
816
1400
  }
817
1401
  // Boolean type
818
1402
  if (type === 'boolean') {
@@ -849,7 +1433,7 @@ function defineCustomElement$2() {
849
1433
  if (typeof customElements === "undefined") {
850
1434
  return;
851
1435
  }
852
- const components = ["le-component", "le-button", "le-checkbox", "le-component", "le-popover", "le-slot", "le-string-input"];
1436
+ const components = ["le-component", "le-button", "le-checkbox", "le-component", "le-dropdown-base", "le-popover", "le-popup", "le-select", "le-slot", "le-string-input"];
853
1437
  components.forEach(tagName => { switch (tagName) {
854
1438
  case "le-component":
855
1439
  if (!customElements.get(tagName)) {
@@ -871,21 +1455,36 @@ function defineCustomElement$2() {
871
1455
  defineCustomElement$2();
872
1456
  }
873
1457
  break;
1458
+ case "le-dropdown-base":
1459
+ if (!customElements.get(tagName)) {
1460
+ defineCustomElement$8();
1461
+ }
1462
+ break;
874
1463
  case "le-popover":
875
1464
  if (!customElements.get(tagName)) {
876
- defineCustomElement$5();
1465
+ defineCustomElement$7();
877
1466
  }
878
1467
  break;
879
- case "le-slot":
1468
+ case "le-popup":
880
1469
  if (!customElements.get(tagName)) {
881
1470
  defineCustomElement$3();
882
1471
  }
883
1472
  break;
884
- case "le-string-input":
1473
+ case "le-select":
885
1474
  if (!customElements.get(tagName)) {
886
1475
  defineCustomElement$4();
887
1476
  }
888
1477
  break;
1478
+ case "le-slot":
1479
+ if (!customElements.get(tagName)) {
1480
+ defineCustomElement$5();
1481
+ }
1482
+ break;
1483
+ case "le-string-input":
1484
+ if (!customElements.get(tagName)) {
1485
+ defineCustomElement$6();
1486
+ }
1487
+ break;
889
1488
  } });
890
1489
  }
891
1490
 
@@ -956,7 +1555,7 @@ function defineCustomElement$1() {
956
1555
  if (typeof customElements === "undefined") {
957
1556
  return;
958
1557
  }
959
- const components = ["le-checkbox", "le-button", "le-checkbox", "le-component", "le-popover", "le-slot", "le-string-input"];
1558
+ const components = ["le-checkbox", "le-button", "le-checkbox", "le-component", "le-popover", "le-popup", "le-select", "le-slot", "le-string-input"];
960
1559
  components.forEach(tagName => { switch (tagName) {
961
1560
  case "le-checkbox":
962
1561
  if (!customElements.get(tagName)) {
@@ -980,23 +1579,33 @@ function defineCustomElement$1() {
980
1579
  break;
981
1580
  case "le-popover":
982
1581
  if (!customElements.get(tagName)) {
983
- defineCustomElement$5();
1582
+ defineCustomElement$7();
984
1583
  }
985
1584
  break;
986
- case "le-slot":
1585
+ case "le-popup":
987
1586
  if (!customElements.get(tagName)) {
988
1587
  defineCustomElement$3();
989
1588
  }
990
1589
  break;
991
- case "le-string-input":
1590
+ case "le-select":
992
1591
  if (!customElements.get(tagName)) {
993
1592
  defineCustomElement$4();
994
1593
  }
995
1594
  break;
1595
+ case "le-slot":
1596
+ if (!customElements.get(tagName)) {
1597
+ defineCustomElement$5();
1598
+ }
1599
+ break;
1600
+ case "le-string-input":
1601
+ if (!customElements.get(tagName)) {
1602
+ defineCustomElement$6();
1603
+ }
1604
+ break;
996
1605
  } });
997
1606
  }
998
1607
 
999
- const leButtonDefaultCss = ":host{display:inline-block;--le-button-border-radius:var(--le-radius-md);--le-button-padding-x:0.4rem;--le-button-padding-y:0.4rem;--le-button-small-padding:0.25rem;--le-button-font-size:var(--le-font-size-md);--le-button-font-weight:var(--le-font-weight-medium);--le-button-transition:var(--le-transition-fast);--le-button-icon-aspect-ratio:1;--_btn-bg:var(--le-color-primary);--_btn-bg-hover:var(--le-color-primary-dark);--_btn-bg-system:var(--le-color-black);--_btn-color:var(--le-color-primary-contrast);--_btn-border-color:var(--le-color-primary)}:host([full-width]){display:block;width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--le-spacing-3);width:100%;padding:var(--le-button-padding-y) var(--le-button-padding-x);border:1px solid var(--_btn-border-color);border-radius:var(--le-button-border-radius);background:var(--_btn-bg);color:var(--_btn-color);font-family:var(--le-font-family-base);font-size:var(--le-button-font-size);font-weight:var(--le-button-font-weight);line-height:var(--le-line-height-tight);text-decoration:none;cursor:pointer;transition:background-color var(--le-button-transition) var(--le-transition-easing),\n border-color var(--le-button-transition) var(--le-transition-easing),\n box-shadow var(--le-button-transition) var(--le-transition-easing),\n transform var(--le-button-transition) var(--le-transition-easing)}.button:hover:not(:disabled){background:var(--_btn-bg-hover);border-color:var(--_btn-bg-hover)}.button:active:not(:disabled){transform:translateY(1px)}.button:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}.button:disabled{opacity:0.5;cursor:not-allowed}:host>le-component.color-primary{--_btn-bg:var(--le-color-primary);--_btn-bg-hover:var(--le-color-primary-dark);--_btn-color:var(--le-color-primary-contrast);--_btn-border-color:var(--le-color-primary)}:host>le-component.color-secondary{--_btn-bg:var(--le-color-secondary);--_btn-bg-hover:var(--le-color-secondary-dark);--_btn-color:var(--le-color-secondary-contrast);--_btn-border-color:var(--le-color-secondary)}:host>le-component.color-success{--_btn-bg:var(--le-color-success);--_btn-bg-hover:var(--le-color-success-dark);--_btn-color:var(--le-color-success-contrast);--_btn-border-color:var(--le-color-success)}:host>le-component.color-warning{--_btn-bg:var(--le-color-warning);--_btn-bg-hover:var(--le-color-warning-dark);--_btn-color:var(--le-color-warning-contrast);--_btn-border-color:var(--le-color-warning)}:host>le-component.color-danger{--_btn-bg:var(--le-color-danger);--_btn-bg-hover:var(--le-color-danger-dark);--_btn-color:var(--le-color-danger-contrast);--_btn-border-color:var(--le-color-danger)}:host>le-component.color-info{--_btn-bg:var(--le-color-info);--_btn-bg-hover:var(--le-color-info-dark);--_btn-color:var(--le-color-info-contrast);--_btn-border-color:var(--le-color-info)}:host>le-component.variant-solid .button{box-shadow:var(--le-shadow-sm)}:host>le-component.variant-solid .button:hover:not(:disabled){box-shadow:var(--le-shadow-md)}:host>le-component.variant-outlined .button{background:transparent;color:var(--_btn-bg);border-color:var(--_btn-border-color)}:host>le-component.variant-outlined .button:hover:not(:disabled){background:var(--_btn-bg);color:var(--_btn-color)}:host>le-component.variant-clear .button{background:transparent;color:var(--_btn-bg);border-color:transparent}:host>le-component.variant-clear .button:hover:not(:disabled){background:var(--le-color-gray-100);border-color:transparent}:host>le-component.variant-system .button{background:transparent;color:var(--_btn-bg-system);border-color:transparent}:host>le-component.size-small .button{--le-button-padding-x:0.4rem;--le-button-padding-y:0.3rem;--le-button-padding-top:0.35rem;--le-button-font-size:var(--le-button-small-font-size, var(--le-font-size-xs))}:host>le-component.size-large .button{--le-button-padding-x:0.9rem;--le-button-padding-y:0.6rem;--le-button-font-size:var(--le-font-size-xl)}:host>le-component.full-width{display:block;width:100%}:host>le-component.selected .button{box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.2)}:host>le-component.variant-outlined.selected .button,:host>le-component.variant-clear.selected .button{background:var(--_btn-bg);color:var(--_btn-color)}:host>le-component.icon-only .button{padding:0.5rem;padding-bottom:0.6rem;aspect-ratio:var(--le-button-icon-aspect-ratio, 1)}:host>le-component.icon-only.size-small .button{padding:var(--le-button-small-padding, 0.25rem)}:host>le-component.icon-only.size-large .button{padding:0.75rem}:host>le-component.icon-only .content{display:none}.content{display:inline}.content:empty{display:none}.icon-start,.icon-only,.icon-end{display:flex;align-items:center;justify-content:center}.icon-start:empty,.icon-only:empty,.icon-end:empty{display:none}::slotted([slot=\"icon-start\"]),::slotted([slot=\"icon-only\"]),::slotted([slot=\"icon-end\"]){display:flex;align-items:center;justify-content:center;width:1.125em;height:1.125em}";
1608
+ const leButtonCss = ":host{display:inline-block;--le-button-border-radius:var(--le-radius-md);--le-button-padding-x:var(--le-spacing-3);--le-button-padding-y:var(--le-spacing-1);--le-button-padding:var(--le-button-padding-y) var(--le-button-padding-x);--le-button-small-padding:0.25rem;--le-button-font-size:var(--le-font-size-md);--le-button-font-weight:var(--le-font-weight-medium);--le-button-transition:var(--le-transition-fast);--le-transition-easing:ease-in-out;--le-button-icon-aspect-ratio:1;--le-button-color:var(--le-color-primary-contrast);--_btn-bg:var(--le-color-primary);--_btn-bg-hover:var(--le-color-primary-dark);--_btn-bg-system:var(--le-color-black);--_btn-color:var(--le-button-color);--_btn-border-color:var(--le-color-primary)}:host([full-width]){display:block;width:100%}.le-button-container{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--le-spacing-3);width:100%;padding:var(--le-button-padding);border:1px solid var(--_btn-border-color);border-radius:var(--le-button-border-radius);background:var(--_btn-bg);color:var(--_btn-color);font-family:var(--le-font-family-base);font-size:var(--le-button-font-size);font-weight:var(--le-button-font-weight);line-height:var(--le-line-height-tight);text-decoration:none;cursor:pointer;transition:background-color var(--le-button-transition) var(--le-transition-easing),\n border-color var(--le-button-transition) var(--le-transition-easing),\n box-shadow var(--le-button-transition) var(--le-transition-easing),\n transform var(--le-button-transition) var(--le-transition-easing)}.le-button-container:hover:not(:disabled){background:var(--_btn-bg-hover);border-color:var(--_btn-bg-hover)}.le-button-container:active:not(:disabled){box-shadow:inset 0 0 6px var(--le-color-shadow)}.le-button-container:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}.le-button-container:disabled{opacity:0.5;cursor:not-allowed}.le-button-label{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--le-spacing-2)}:host>le-component.color-primary{--_btn-bg:var(--le-color-primary);--_btn-bg-hover:var(--le-color-primary-dark);--_btn-color:var(--le-button-color);--_btn-border-color:var(--le-color-primary)}:host>le-component.color-secondary{--_btn-bg:var(--le-color-secondary);--_btn-bg-hover:var(--le-color-secondary-dark);--_btn-color:var(--le-color-secondary-contrast);--_btn-border-color:var(--le-color-secondary)}:host>le-component.color-success{--_btn-bg:var(--le-color-success);--_btn-bg-hover:var(--le-color-success-dark);--_btn-color:var(--le-color-success-contrast);--_btn-border-color:var(--le-color-success)}:host>le-component.color-warning{--_btn-bg:var(--le-color-warning);--_btn-bg-hover:var(--le-color-warning-dark);--_btn-color:var(--le-color-warning-contrast);--_btn-border-color:var(--le-color-warning)}:host>le-component.color-danger{--_btn-bg:var(--le-color-danger);--_btn-bg-hover:var(--le-color-danger-dark);--_btn-color:var(--le-color-danger-contrast);--_btn-border-color:var(--le-color-danger)}:host>le-component.color-info{--_btn-bg:var(--le-color-info);--_btn-bg-hover:var(--le-color-info-dark);--_btn-color:var(--le-color-info-contrast);--_btn-border-color:var(--le-color-info)}:host>le-component.variant-solid .le-button-container{box-shadow:var(--le-shadow-sm)}:host>le-component.variant-solid .le-button-container:hover:not(:disabled){box-shadow:var(--le-shadow-md)}:host>le-component.variant-outlined .le-button-container{background:transparent;color:var(--_btn-bg);border-color:color-mix(in srgb, var(--_btn-border-color) 33%, transparent)}:host>le-component.variant-outlined .le-button-container:hover:not(:disabled){border-color:var(--_btn-border-color)}:host>le-component.variant-clear .le-button-container{background:transparent;color:var(--_btn-bg);border-color:transparent}:host>le-component.variant-clear .le-button-container:hover:not(:disabled){background:var(--le-color-gray-100);border-color:transparent}:host>le-component.variant-system .le-button-container{background:transparent;color:var(--_btn-bg-system);border-color:transparent}:host>le-component.size-small .le-button-container{--le-button-padding-x:0.4rem;--le-button-padding-y:0.3rem;--le-button-padding-top:0.35rem;--le-button-font-size:var(--le-button-small-font-size, var(--le-font-size-xs))}:host>le-component.size-large .le-button-container{--le-button-padding-x:0.9rem;--le-button-padding-y:0.6rem;--le-button-font-size:var(--le-font-size-xl)}:host>le-component.full-width{display:block;width:100%}:host>le-component.selected .le-button-container{box-shadow:inset 0 0 4px var(--le-color-shadow)}:host>le-component.variant-outlined.selected .le-button-container,:host>le-component.variant-clear.selected .le-button-container{background:var(--_btn-bg);color:var(--_btn-color)}:host>le-component.icon-only .le-button-container{padding:0.5rem;padding-bottom:0.6rem;aspect-ratio:var(--le-button-icon-aspect-ratio, 1)}:host>le-component.icon-only.size-small .le-button-container{padding:var(--le-button-small-padding, 0.25rem)}:host>le-component.icon-only.size-large .le-button-container{padding:0.75rem}:host>le-component.icon-only .content{display:none}.content{display:inline}.content:empty{display:none}.icon-start,.icon-only,.icon-end{display:flex;align-items:center;justify-content:center}.icon-start:empty,.icon-only:empty,.icon-end:empty{display:none}::slotted([slot=\"icon-start\"]),::slotted([slot=\"icon-only\"]),::slotted([slot=\"icon-end\"]){display:flex;align-items:center;justify-content:center;width:1.125em;height:1.125em}.le-button-align-start{justify-content:flex-start}.le-button-align-center{justify-content:center}.le-button-align-space-between{justify-content:space-between}.le-button-align-end{justify-content:flex-end}";
1000
1609
 
1001
1610
  const LeButton = /*@__PURE__*/ proxyCustomElement(class LeButton extends HTMLElement {
1002
1611
  constructor(registerHost) {
@@ -1036,9 +1645,18 @@ const LeButton = /*@__PURE__*/ proxyCustomElement(class LeButton extends HTMLEle
1036
1645
  */
1037
1646
  fullWidth = false;
1038
1647
  /**
1039
- * Whether the button displays only an icon (square aspect ratio)
1648
+ * Icon only button image or emoji
1649
+ * if this prop is set, the button will render only the icon slot
1650
+ */
1651
+ iconOnly;
1652
+ /**
1653
+ * Start icon image or emoji
1654
+ */
1655
+ iconStart;
1656
+ /**
1657
+ * End icon image or emoji
1040
1658
  */
1041
- iconOnly = false;
1659
+ iconEnd;
1042
1660
  /**
1043
1661
  * Whether the button is disabled
1044
1662
  */
@@ -1056,6 +1674,11 @@ const LeButton = /*@__PURE__*/ proxyCustomElement(class LeButton extends HTMLEle
1056
1674
  * Link target when href is set
1057
1675
  */
1058
1676
  target;
1677
+ /**
1678
+ * Alignment of the button label without the end icon
1679
+ * @allowedValues start | center | space-between | end
1680
+ */
1681
+ align = 'center';
1059
1682
  /**
1060
1683
  * Emitted when the button is clicked.
1061
1684
  * This is a custom event that wraps the native click but ensures the target is the le-button.
@@ -1080,9 +1703,9 @@ const LeButton = /*@__PURE__*/ proxyCustomElement(class LeButton extends HTMLEle
1080
1703
  });
1081
1704
  const TagType = this.href ? 'a' : 'button';
1082
1705
  const attrs = this.href ? { href: this.href, target: this.target, role: 'button' } : { type: this.type, disabled: this.disabled };
1083
- return (h("le-component", { key: '363dbfddf4a765bfd6f36ed16d0912e281153806', component: "le-button", hostClass: classes }, h(TagType, { key: 'e112acdff4278e976ad767bd1ea7c9ced5e85f43', class: "button", part: "button", ...attrs, onClick: this.handleClick }, this.iconOnly ? (h("span", { class: "icon-start" }, h("slot", { name: "icon-only" }))) : (h(Fragment, null, h("span", { class: "icon-start" }, h("slot", { name: "icon-start" })), h("le-slot", { name: "", description: "Button text", type: "text", class: "content", part: "content" }, h("slot", null)), h("span", { class: "icon-end" }, h("slot", { name: "icon-end" })))))));
1706
+ return (h("le-component", { key: 'bf247365c4ceeaccdb05cbbb17604265f1608fa4', component: "le-button", hostClass: classes }, h(TagType, { key: 'a01540b86ace35d55b5635e2e5ce1049f480a788', 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)))))));
1084
1707
  }
1085
- static get style() { return leButtonDefaultCss; }
1708
+ static get style() { return leButtonCss; }
1086
1709
  }, [769, "le-button", {
1087
1710
  "mode": [1537],
1088
1711
  "variant": [1],
@@ -1090,17 +1713,20 @@ const LeButton = /*@__PURE__*/ proxyCustomElement(class LeButton extends HTMLEle
1090
1713
  "size": [1],
1091
1714
  "selected": [4],
1092
1715
  "fullWidth": [516, "full-width"],
1093
- "iconOnly": [4, "icon-only"],
1716
+ "iconOnly": [1, "icon-only"],
1717
+ "iconStart": [1, "icon-start"],
1718
+ "iconEnd": [1, "icon-end"],
1094
1719
  "disabled": [4],
1095
1720
  "type": [1],
1096
1721
  "href": [1],
1097
- "target": [1]
1722
+ "target": [1],
1723
+ "align": [1]
1098
1724
  }]);
1099
1725
  function defineCustomElement() {
1100
1726
  if (typeof customElements === "undefined") {
1101
1727
  return;
1102
1728
  }
1103
- const components = ["le-button", "le-button", "le-checkbox", "le-component", "le-popover", "le-slot", "le-string-input"];
1729
+ const components = ["le-button", "le-button", "le-checkbox", "le-component", "le-popover", "le-popup", "le-select", "le-slot", "le-string-input"];
1104
1730
  components.forEach(tagName => { switch (tagName) {
1105
1731
  case "le-button":
1106
1732
  if (!customElements.get(tagName)) {
@@ -1124,23 +1750,33 @@ function defineCustomElement() {
1124
1750
  break;
1125
1751
  case "le-popover":
1126
1752
  if (!customElements.get(tagName)) {
1127
- defineCustomElement$5();
1753
+ defineCustomElement$7();
1128
1754
  }
1129
1755
  break;
1130
- case "le-slot":
1756
+ case "le-popup":
1131
1757
  if (!customElements.get(tagName)) {
1132
1758
  defineCustomElement$3();
1133
1759
  }
1134
1760
  break;
1135
- case "le-string-input":
1761
+ case "le-select":
1136
1762
  if (!customElements.get(tagName)) {
1137
1763
  defineCustomElement$4();
1138
1764
  }
1139
1765
  break;
1766
+ case "le-slot":
1767
+ if (!customElements.get(tagName)) {
1768
+ defineCustomElement$5();
1769
+ }
1770
+ break;
1771
+ case "le-string-input":
1772
+ if (!customElements.get(tagName)) {
1773
+ defineCustomElement$6();
1774
+ }
1775
+ break;
1140
1776
  } });
1141
1777
  }
1142
1778
 
1143
- export { LeButton as L, defineCustomElement$3 as a, defineCustomElement$2 as b, defineCustomElement$1 as c, defineCustomElement$4 as d, defineCustomElement as e, LeCheckbox as f, LeComponent as g, LeSlot as h, LeStringInput as i };
1779
+ export { LeButton as L, defineCustomElement$5 as a, defineCustomElement$4 as b, defineCustomElement$3 as c, defineCustomElement$6 as d, defineCustomElement$2 as e, defineCustomElement$1 as f, defineCustomElement as g, LeCheckbox as h, LeComponent as i, LePopup as j, LeSelect as k, LeSlot as l, LeStringInput as m };
1144
1780
  //# sourceMappingURL=le-button2.js.map
1145
1781
 
1146
1782
  //# sourceMappingURL=le-button2.js.map