le-kit 0.1.13 → 0.1.15

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 (566) hide show
  1. package/dist/cjs/{index-o1DRKw1g.js → index-C3iQZ-Ja.js} +7 -7
  2. package/dist/cjs/index-C3iQZ-Ja.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +4 -3
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/le-box.cjs.entry.js +2 -2
  6. package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-popup.le-slot.le-string-input.entry.cjs.js.map +1 -0
  7. package/dist/cjs/{le-button_6.cjs.entry.js → le-button_7.cjs.entry.js} +279 -33
  8. package/dist/cjs/le-card.cjs.entry.js +2 -2
  9. package/dist/cjs/le-combobox.cjs.entry.js +237 -0
  10. package/dist/cjs/le-combobox.entry.cjs.js.map +1 -0
  11. package/dist/cjs/le-dropdown-base.cjs.entry.js +348 -0
  12. package/dist/cjs/le-dropdown-base.entry.cjs.js.map +1 -0
  13. package/dist/cjs/le-kit.cjs.js +2 -2
  14. package/dist/cjs/le-multiselect.cjs.entry.js +306 -0
  15. package/dist/cjs/le-multiselect.entry.cjs.js.map +1 -0
  16. package/dist/cjs/le-number-input.cjs.entry.js +3 -3
  17. package/dist/cjs/le-round-progress.cjs.entry.js +2 -2
  18. package/dist/cjs/le-segmented-control.cjs.entry.js +245 -0
  19. package/dist/cjs/le-segmented-control.entry.cjs.js.map +1 -0
  20. package/dist/cjs/le-select.cjs.entry.js +188 -0
  21. package/dist/cjs/le-select.entry.cjs.js.map +1 -0
  22. package/dist/cjs/le-stack.cjs.entry.js +3 -3
  23. package/dist/cjs/le-tab-bar.cjs.entry.js +242 -0
  24. package/dist/cjs/le-tab-bar.entry.cjs.js.map +1 -0
  25. package/dist/cjs/le-tab-panel.cjs.entry.js +100 -0
  26. package/dist/cjs/le-tab-panel.entry.cjs.js.map +1 -0
  27. package/dist/cjs/le-tab.cjs.entry.js +133 -0
  28. package/dist/cjs/le-tab.entry.cjs.js.map +1 -0
  29. package/dist/cjs/le-tabs.cjs.entry.js +307 -0
  30. package/dist/cjs/le-tabs.entry.cjs.js.map +1 -0
  31. package/dist/cjs/le-tag.cjs.entry.js +68 -0
  32. package/dist/cjs/le-tag.entry.cjs.js.map +1 -0
  33. package/dist/cjs/le-text.cjs.entry.js +2 -2
  34. package/dist/cjs/le-turntable.cjs.entry.js +2 -2
  35. package/dist/cjs/loader.cjs.js +2 -2
  36. package/dist/cjs/{utils-DqhadIxH.js → utils-DjPcLPN9.js} +3 -3
  37. package/dist/cjs/{utils-DqhadIxH.js.map → utils-DjPcLPN9.js.map} +1 -1
  38. package/dist/collection/collection-manifest.json +10 -0
  39. package/dist/collection/components/le-button/{le-button.default.css → le-button.css} +57 -30
  40. package/dist/collection/components/le-button/le-button.js +105 -15
  41. package/dist/collection/components/le-button/le-button.js.map +1 -1
  42. package/dist/collection/components/le-combobox/le-combobox.css +144 -0
  43. package/dist/collection/components/le-combobox/le-combobox.js +659 -0
  44. package/dist/collection/components/le-combobox/le-combobox.js.map +1 -0
  45. package/dist/collection/components/le-component/le-component.js +7 -6
  46. package/dist/collection/components/le-component/le-component.js.map +1 -1
  47. package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +163 -0
  48. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +761 -0
  49. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +1 -0
  50. package/dist/collection/components/le-multiselect/le-multiselect.css +163 -0
  51. package/dist/collection/components/le-multiselect/le-multiselect.js +734 -0
  52. package/dist/collection/components/le-multiselect/le-multiselect.js.map +1 -0
  53. package/dist/collection/components/le-number-input/le-number-input.js +1 -1
  54. package/dist/collection/components/le-popover/le-popover.css +10 -0
  55. package/dist/collection/components/le-popover/le-popover.js +61 -10
  56. package/dist/collection/components/le-popover/le-popover.js.map +1 -1
  57. package/dist/collection/components/le-popup/le-popup.api.js +2 -1
  58. package/dist/collection/components/le-popup/le-popup.api.js.map +1 -1
  59. package/dist/collection/components/le-popup/le-popup.js +42 -12
  60. package/dist/collection/components/le-popup/le-popup.js.map +1 -1
  61. package/dist/collection/components/le-round-progress/le-round-progress.js +1 -1
  62. package/dist/collection/components/le-segmented-control/le-segmented-control.css +78 -0
  63. package/dist/collection/components/le-segmented-control/le-segmented-control.js +445 -0
  64. package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +1 -0
  65. package/dist/collection/components/le-select/le-select.css +121 -0
  66. package/dist/collection/components/le-select/le-select.js +578 -0
  67. package/dist/collection/components/le-select/le-select.js.map +1 -0
  68. package/dist/collection/components/le-slot/le-slot.js +4 -6
  69. package/dist/collection/components/le-slot/le-slot.js.map +1 -1
  70. package/dist/collection/components/le-stack/le-stack.js +1 -1
  71. package/dist/collection/components/le-string-input/le-string-input.js +59 -5
  72. package/dist/collection/components/le-string-input/le-string-input.js.map +1 -1
  73. package/dist/collection/components/le-tab/le-tab.css +289 -0
  74. package/dist/collection/components/le-tab/le-tab.js +565 -0
  75. package/dist/collection/components/le-tab/le-tab.js.map +1 -0
  76. package/dist/collection/components/le-tab-bar/le-tab-bar.css +89 -0
  77. package/dist/collection/components/le-tab-bar/le-tab-bar.js +467 -0
  78. package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +1 -0
  79. package/dist/collection/components/le-tab-panel/le-tab-panel.css +30 -0
  80. package/dist/collection/components/le-tab-panel/le-tab-panel.js +302 -0
  81. package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +1 -0
  82. package/dist/collection/components/le-tabs/le-tabs.css +146 -0
  83. package/dist/collection/components/le-tabs/le-tabs.js +588 -0
  84. package/dist/collection/components/le-tabs/le-tabs.js.map +1 -0
  85. package/dist/collection/components/le-tag/le-tag.css +139 -0
  86. package/dist/collection/components/le-tag/le-tag.js +266 -0
  87. package/dist/collection/components/le-tag/le-tag.js.map +1 -0
  88. package/dist/collection/components/le-turntable/le-turntable.js +1 -1
  89. package/dist/collection/dist/components/assets/.gitkeep +1 -0
  90. package/{custom-elements.json → dist/collection/dist/components/assets/custom-elements.json} +5274 -1409
  91. package/dist/{core/collection → collection/dist/components}/themes/base.css +44 -0
  92. package/dist/{core/collection → collection/dist/components}/themes/dark.css +4 -1
  93. package/dist/collection/{themes → dist/components/themes}/default.css +4 -1
  94. package/dist/collection/dist/{collection → components}/themes/gradient.css +4 -1
  95. package/dist/{core/collection → collection/dist/components}/themes/index.css +2 -0
  96. package/dist/collection/{themes → dist/components/themes}/minimal.css +4 -1
  97. package/dist/{core/collection → collection/dist/components}/themes/warm.css +4 -1
  98. package/dist/collection/global/app.js +4 -4
  99. package/dist/collection/global/app.js.map +1 -1
  100. package/dist/collection/types/options.js.map +1 -1
  101. package/dist/components/assets/.gitkeep +1 -0
  102. package/dist/{collection → components}/assets/custom-elements.json +5202 -1337
  103. package/dist/components/index.js +1 -103
  104. package/dist/components/index.js.map +1 -1
  105. package/dist/components/le-box.js +11 -6
  106. package/dist/components/le-box.js.map +1 -1
  107. package/dist/components/le-button.js +1 -1
  108. package/dist/components/le-button2.js +378 -45
  109. package/dist/components/le-button2.js.map +1 -1
  110. package/dist/components/le-card.js +11 -6
  111. package/dist/components/le-card.js.map +1 -1
  112. package/dist/components/le-checkbox.js +1 -1
  113. package/dist/components/le-combobox.d.ts +11 -0
  114. package/dist/components/le-combobox.js +321 -0
  115. package/dist/components/le-combobox.js.map +1 -0
  116. package/dist/components/le-component.js +1 -1
  117. package/dist/components/le-dropdown-base.d.ts +11 -0
  118. package/dist/components/le-dropdown-base.js +9 -0
  119. package/dist/components/le-dropdown-base.js.map +1 -0
  120. package/dist/components/le-dropdown-base2.js +393 -0
  121. package/dist/components/le-dropdown-base2.js.map +1 -0
  122. package/dist/components/le-multiselect.d.ts +11 -0
  123. package/dist/components/le-multiselect.js +400 -0
  124. package/dist/components/le-multiselect.js.map +1 -0
  125. package/dist/components/le-number-input.js +12 -7
  126. package/dist/components/le-number-input.js.map +1 -1
  127. package/dist/components/le-popover2.js +24 -11
  128. package/dist/components/le-popover2.js.map +1 -1
  129. package/dist/{core/collection/components/le-popup → components}/le-popup.api.js +9 -4
  130. package/dist/components/le-popup.api.js.map +1 -0
  131. package/dist/components/le-popup.js +1 -271
  132. package/dist/components/le-popup.js.map +1 -1
  133. package/dist/components/le-round-progress.js +1 -1
  134. package/dist/components/le-segmented-control.d.ts +11 -0
  135. package/dist/components/le-segmented-control.js +320 -0
  136. package/dist/components/le-segmented-control.js.map +1 -0
  137. package/dist/components/le-select.d.ts +11 -0
  138. package/dist/components/le-select.js +271 -0
  139. package/dist/components/le-select.js.map +1 -0
  140. package/dist/components/le-slot.js +1 -1
  141. package/dist/components/le-stack.js +12 -7
  142. package/dist/components/le-stack.js.map +1 -1
  143. package/dist/components/le-string-input.js +1 -1
  144. package/dist/components/le-tab-bar.d.ts +11 -0
  145. package/dist/components/le-tab-bar.js +319 -0
  146. package/dist/components/le-tab-bar.js.map +1 -0
  147. package/dist/components/le-tab-panel.d.ts +11 -0
  148. package/dist/components/le-tab-panel.js +171 -0
  149. package/dist/components/le-tab-panel.js.map +1 -0
  150. package/dist/components/le-tab.d.ts +11 -0
  151. package/dist/components/le-tab.js +9 -0
  152. package/dist/components/le-tab.js.map +1 -0
  153. package/dist/components/le-tab2.js +206 -0
  154. package/dist/components/le-tab2.js.map +1 -0
  155. package/dist/components/le-tabs.d.ts +11 -0
  156. package/dist/components/le-tabs.js +386 -0
  157. package/dist/components/le-tabs.js.map +1 -0
  158. package/dist/components/le-tag.d.ts +11 -0
  159. package/dist/components/le-tag.js +9 -0
  160. package/dist/components/le-tag.js.map +1 -0
  161. package/dist/components/le-tag2.js +130 -0
  162. package/dist/components/le-tag2.js.map +1 -0
  163. package/dist/components/le-text.js +11 -6
  164. package/dist/components/le-text.js.map +1 -1
  165. package/dist/components/le-turntable.js +1 -1
  166. package/dist/{le-kit/dist/collection → components}/themes/base.css +44 -0
  167. package/dist/{collection → components}/themes/dark.css +4 -1
  168. package/dist/{core/collection → components}/themes/default.css +4 -1
  169. package/dist/{core/collection → components}/themes/gradient.css +4 -1
  170. package/dist/{le-kit/dist/collection → components}/themes/index.css +2 -0
  171. package/dist/{collection/dist/collection → components}/themes/minimal.css +4 -1
  172. package/dist/{le-kit/dist/collection → components}/themes/warm.css +4 -1
  173. package/dist/components/utils.js +4 -4
  174. package/dist/components/utils.js.map +1 -1
  175. package/dist/docs.json +6674 -1371
  176. package/dist/esm/{index-CwNQ1GTa.js → index-DzgCnDLJ.js} +8 -8
  177. package/dist/esm/index-DzgCnDLJ.js.map +1 -0
  178. package/dist/esm/index.js +4 -3
  179. package/dist/esm/index.js.map +1 -1
  180. package/dist/esm/le-box.entry.js +2 -2
  181. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-popup.le-slot.le-string-input.entry.js.map +1 -0
  182. package/dist/esm/{le-button_6.entry.js → le-button_7.entry.js} +279 -34
  183. package/dist/esm/le-card.entry.js +2 -2
  184. package/dist/esm/le-combobox.entry.js +235 -0
  185. package/dist/esm/le-combobox.entry.js.map +1 -0
  186. package/dist/esm/le-dropdown-base.entry.js +346 -0
  187. package/dist/esm/le-dropdown-base.entry.js.map +1 -0
  188. package/dist/esm/le-kit.js +3 -3
  189. package/dist/esm/le-multiselect.entry.js +304 -0
  190. package/dist/esm/le-multiselect.entry.js.map +1 -0
  191. package/dist/esm/le-number-input.entry.js +3 -3
  192. package/dist/esm/le-round-progress.entry.js +2 -2
  193. package/dist/esm/le-segmented-control.entry.js +243 -0
  194. package/dist/esm/le-segmented-control.entry.js.map +1 -0
  195. package/dist/esm/le-select.entry.js +186 -0
  196. package/dist/esm/le-select.entry.js.map +1 -0
  197. package/dist/esm/le-stack.entry.js +3 -3
  198. package/dist/esm/le-tab-bar.entry.js +240 -0
  199. package/dist/esm/le-tab-bar.entry.js.map +1 -0
  200. package/dist/esm/le-tab-panel.entry.js +98 -0
  201. package/dist/esm/le-tab-panel.entry.js.map +1 -0
  202. package/dist/esm/le-tab.entry.js +131 -0
  203. package/dist/esm/le-tab.entry.js.map +1 -0
  204. package/dist/esm/le-tabs.entry.js +305 -0
  205. package/dist/esm/le-tabs.entry.js.map +1 -0
  206. package/dist/esm/le-tag.entry.js +66 -0
  207. package/dist/esm/le-tag.entry.js.map +1 -0
  208. package/dist/esm/le-text.entry.js +2 -2
  209. package/dist/esm/le-turntable.entry.js +2 -2
  210. package/dist/esm/loader.js +3 -3
  211. package/dist/esm/{utils-Cf7fMI0j.js → utils-Dp5xFMCl.js} +3 -3
  212. package/dist/esm/{utils-Cf7fMI0j.js.map → utils-Dp5xFMCl.js.map} +1 -1
  213. package/dist/le-kit/dist/components/assets/.gitkeep +1 -0
  214. package/dist/{core/collection → le-kit/dist/components}/assets/custom-elements.json +5202 -1337
  215. package/dist/{collection/dist/collection → le-kit/dist/components}/themes/base.css +44 -0
  216. package/dist/{collection/dist/collection → le-kit/dist/components}/themes/dark.css +4 -1
  217. package/dist/le-kit/dist/{collection → components}/themes/default.css +4 -1
  218. package/dist/le-kit/dist/{collection → components}/themes/gradient.css +4 -1
  219. package/dist/{collection/dist/collection → le-kit/dist/components}/themes/index.css +2 -0
  220. package/dist/{core/collection → le-kit/dist/components}/themes/minimal.css +4 -1
  221. package/dist/{collection/dist/collection → le-kit/dist/components}/themes/warm.css +4 -1
  222. package/dist/le-kit/index.esm.js +1 -1
  223. package/dist/le-kit/index.esm.js.map +1 -1
  224. package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-popup.le-slot.le-string-input.entry.esm.js.map +1 -0
  225. package/dist/le-kit/le-combobox.entry.esm.js.map +1 -0
  226. package/dist/le-kit/le-dropdown-base.entry.esm.js.map +1 -0
  227. package/dist/le-kit/le-kit.css +1 -1
  228. package/dist/le-kit/le-kit.esm.js +1 -1
  229. package/dist/le-kit/le-multiselect.entry.esm.js.map +1 -0
  230. package/dist/le-kit/le-segmented-control.entry.esm.js.map +1 -0
  231. package/dist/le-kit/le-select.entry.esm.js.map +1 -0
  232. package/dist/le-kit/le-tab-bar.entry.esm.js.map +1 -0
  233. package/dist/le-kit/le-tab-panel.entry.esm.js.map +1 -0
  234. package/dist/le-kit/le-tab.entry.esm.js.map +1 -0
  235. package/dist/le-kit/le-tabs.entry.esm.js.map +1 -0
  236. package/dist/le-kit/le-tag.entry.esm.js.map +1 -0
  237. package/dist/{core/le-kit/p-df552906.entry.js → le-kit/p-0bd7803f.entry.js} +2 -2
  238. package/dist/le-kit/p-0bd7803f.entry.js.map +1 -0
  239. package/dist/le-kit/p-1f55a4a2.entry.js +2 -0
  240. package/dist/le-kit/p-1f55a4a2.entry.js.map +1 -0
  241. package/dist/le-kit/{p-79ec6f7c.entry.js → p-2c37f174.entry.js} +2 -2
  242. package/dist/le-kit/p-2c37f174.entry.js.map +1 -0
  243. package/dist/{core/le-kit/p-5ef81068.entry.js → le-kit/p-33612923.entry.js} +2 -2
  244. package/dist/le-kit/p-33612923.entry.js.map +1 -0
  245. package/dist/le-kit/{p-b8122ad6.entry.js → p-3a52c4de.entry.js} +2 -2
  246. package/dist/le-kit/p-3a52c4de.entry.js.map +1 -0
  247. package/dist/le-kit/p-4130c60b.entry.js +2 -0
  248. package/dist/le-kit/p-4130c60b.entry.js.map +1 -0
  249. package/dist/le-kit/{p-64374730.entry.js → p-432e8231.entry.js} +2 -2
  250. package/dist/le-kit/p-432e8231.entry.js.map +1 -0
  251. package/dist/le-kit/p-548d130b.entry.js +2 -0
  252. package/dist/le-kit/p-548d130b.entry.js.map +1 -0
  253. package/dist/le-kit/p-6ecdad85.entry.js +2 -0
  254. package/dist/le-kit/p-6ecdad85.entry.js.map +1 -0
  255. package/dist/le-kit/p-6ee06c44.entry.js +2 -0
  256. package/dist/le-kit/p-6ee06c44.entry.js.map +1 -0
  257. package/dist/le-kit/p-71c78784.entry.js +2 -0
  258. package/dist/le-kit/p-71c78784.entry.js.map +1 -0
  259. package/dist/le-kit/p-7b180d58.entry.js +2 -0
  260. package/dist/le-kit/p-7b180d58.entry.js.map +1 -0
  261. package/dist/le-kit/p-91993261.entry.js +2 -0
  262. package/dist/le-kit/p-91993261.entry.js.map +1 -0
  263. package/dist/le-kit/p-DaA5gINj.js +2 -0
  264. package/dist/le-kit/{p-y3FECAx9.js.map → p-DaA5gINj.js.map} +1 -1
  265. package/dist/le-kit/p-DzgCnDLJ.js +3 -0
  266. package/dist/le-kit/p-DzgCnDLJ.js.map +1 -0
  267. package/dist/le-kit/p-a5d31d40.entry.js +2 -0
  268. package/dist/le-kit/p-a5d31d40.entry.js.map +1 -0
  269. package/dist/le-kit/{p-ad398acd.entry.js → p-b66fd9e1.entry.js} +2 -2
  270. package/dist/le-kit/p-b66fd9e1.entry.js.map +1 -0
  271. package/dist/le-kit/{p-f9008505.entry.js → p-beb87e61.entry.js} +2 -2
  272. package/dist/le-kit/p-beb87e61.entry.js.map +1 -0
  273. package/dist/le-kit/p-cc0797b0.entry.js +2 -0
  274. package/dist/le-kit/p-cc0797b0.entry.js.map +1 -0
  275. package/dist/le-kit/p-d504a369.entry.js +2 -0
  276. package/dist/le-kit/p-d504a369.entry.js.map +1 -0
  277. package/dist/themes/base.css +44 -0
  278. package/dist/themes/dark.css +4 -1
  279. package/dist/themes/default.css +4 -1
  280. package/dist/themes/gradient.css +4 -1
  281. package/dist/themes/index.css +2 -0
  282. package/dist/themes/minimal.css +4 -1
  283. package/dist/themes/warm.css +4 -1
  284. package/dist/types/components/le-button/le-button.d.ts +19 -4
  285. package/dist/types/components/le-combobox/le-combobox.d.ts +128 -0
  286. package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +118 -0
  287. package/dist/types/components/le-multiselect/le-multiselect.d.ts +143 -0
  288. package/dist/types/components/le-popover/le-popover.d.ts +13 -2
  289. package/dist/types/components/le-popup/le-popup.d.ts +5 -0
  290. package/dist/types/components/le-segmented-control/le-segmented-control.d.ts +82 -0
  291. package/dist/types/components/le-select/le-select.d.ts +125 -0
  292. package/dist/types/components/le-string-input/le-string-input.d.ts +8 -0
  293. package/dist/types/components/le-tab/le-tab.d.ts +116 -0
  294. package/dist/types/components/le-tab-bar/le-tab-bar.d.ts +88 -0
  295. package/dist/types/components/le-tab-panel/le-tab-panel.d.ts +75 -0
  296. package/dist/types/components/le-tabs/le-tabs.d.ts +108 -0
  297. package/dist/types/components/le-tag/le-tag.d.ts +78 -0
  298. package/dist/types/components.d.ts +2310 -40
  299. package/dist/types/global/app.d.ts +4 -4
  300. package/dist/types/types/options.d.ts +9 -0
  301. package/package.json +5 -21
  302. package/readme.md +2 -2
  303. package/dist/cjs/index-o1DRKw1g.js.map +0 -1
  304. package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.cjs.js.map +0 -1
  305. package/dist/cjs/le-popup.cjs.entry.js +0 -212
  306. package/dist/cjs/le-popup.entry.cjs.js.map +0 -1
  307. package/dist/collection/dist/collection/themes/default.css +0 -108
  308. package/dist/collection/themes/base.css +0 -89
  309. package/dist/collection/themes/gradient.css +0 -100
  310. package/dist/collection/themes/index.css +0 -413
  311. package/dist/collection/themes/warm.css +0 -100
  312. package/dist/core/cjs/index-BsRb_UTe.js +0 -1835
  313. package/dist/core/cjs/index-BsRb_UTe.js.map +0 -1
  314. package/dist/core/cjs/index.cjs.js +0 -119
  315. package/dist/core/cjs/index.cjs.js.map +0 -1
  316. package/dist/core/cjs/le-box.cjs.entry.js +0 -184
  317. package/dist/core/cjs/le-box.entry.cjs.js.map +0 -1
  318. package/dist/core/cjs/le-button.cjs.entry.js +0 -92
  319. package/dist/core/cjs/le-button.entry.cjs.js.map +0 -1
  320. package/dist/core/cjs/le-card.cjs.entry.js +0 -29
  321. package/dist/core/cjs/le-card.entry.cjs.js.map +0 -1
  322. package/dist/core/cjs/le-checkbox.cjs.entry.js +0 -61
  323. package/dist/core/cjs/le-checkbox.entry.cjs.js.map +0 -1
  324. package/dist/core/cjs/le-kit.cjs.js +0 -25
  325. package/dist/core/cjs/le-kit.cjs.js.map +0 -1
  326. package/dist/core/cjs/le-number-input.cjs.entry.js +0 -202
  327. package/dist/core/cjs/le-number-input.entry.cjs.js.map +0 -1
  328. package/dist/core/cjs/le-popover.cjs.entry.js +0 -348
  329. package/dist/core/cjs/le-popover.entry.cjs.js.map +0 -1
  330. package/dist/core/cjs/le-popup.cjs.entry.js +0 -212
  331. package/dist/core/cjs/le-popup.entry.cjs.js.map +0 -1
  332. package/dist/core/cjs/le-round-progress.cjs.entry.js +0 -106
  333. package/dist/core/cjs/le-round-progress.entry.cjs.js.map +0 -1
  334. package/dist/core/cjs/le-stack.cjs.entry.js +0 -135
  335. package/dist/core/cjs/le-stack.entry.cjs.js.map +0 -1
  336. package/dist/core/cjs/le-string-input.cjs.entry.js +0 -95
  337. package/dist/core/cjs/le-string-input.entry.cjs.js.map +0 -1
  338. package/dist/core/cjs/le-text.cjs.entry.js +0 -335
  339. package/dist/core/cjs/le-text.entry.cjs.js.map +0 -1
  340. package/dist/core/cjs/le-turntable.cjs.entry.js +0 -139
  341. package/dist/core/cjs/le-turntable.entry.cjs.js.map +0 -1
  342. package/dist/core/cjs/loader.cjs.js +0 -13
  343. package/dist/core/cjs/loader.cjs.js.map +0 -1
  344. package/dist/core/cjs/utils-nsP8_w8_.js +0 -152
  345. package/dist/core/cjs/utils-nsP8_w8_.js.map +0 -1
  346. package/dist/core/collection/collection-manifest.json +0 -24
  347. package/dist/core/collection/components/le-box/le-box.default.css +0 -37
  348. package/dist/core/collection/components/le-box/le-box.js +0 -614
  349. package/dist/core/collection/components/le-box/le-box.js.map +0 -1
  350. package/dist/core/collection/components/le-button/le-button.default.css +0 -263
  351. package/dist/core/collection/components/le-button/le-button.js +0 -368
  352. package/dist/core/collection/components/le-button/le-button.js.map +0 -1
  353. package/dist/core/collection/components/le-card/le-card.default.css +0 -74
  354. package/dist/core/collection/components/le-card/le-card.js +0 -102
  355. package/dist/core/collection/components/le-card/le-card.js.map +0 -1
  356. package/dist/core/collection/components/le-checkbox/le-checkbox.css +0 -93
  357. package/dist/core/collection/components/le-checkbox/le-checkbox.js +0 -192
  358. package/dist/core/collection/components/le-checkbox/le-checkbox.js.map +0 -1
  359. package/dist/core/collection/components/le-number-input/le-number-input.css +0 -135
  360. package/dist/core/collection/components/le-number-input/le-number-input.js +0 -515
  361. package/dist/core/collection/components/le-number-input/le-number-input.js.map +0 -1
  362. package/dist/core/collection/components/le-popover/le-popover.css +0 -143
  363. package/dist/core/collection/components/le-popover/le-popover.js +0 -693
  364. package/dist/core/collection/components/le-popover/le-popover.js.map +0 -1
  365. package/dist/core/collection/components/le-popup/le-popup.api.js.map +0 -1
  366. package/dist/core/collection/components/le-popup/le-popup.css +0 -222
  367. package/dist/core/collection/components/le-popup/le-popup.js +0 -596
  368. package/dist/core/collection/components/le-popup/le-popup.js.map +0 -1
  369. package/dist/core/collection/components/le-round-progress/le-round-progress.css +0 -34
  370. package/dist/core/collection/components/le-round-progress/le-round-progress.js +0 -184
  371. package/dist/core/collection/components/le-round-progress/le-round-progress.js.map +0 -1
  372. package/dist/core/collection/components/le-stack/le-stack.default.css +0 -37
  373. package/dist/core/collection/components/le-stack/le-stack.js +0 -389
  374. package/dist/core/collection/components/le-stack/le-stack.js.map +0 -1
  375. package/dist/core/collection/components/le-string-input/le-string-input.css +0 -83
  376. package/dist/core/collection/components/le-string-input/le-string-input.js +0 -359
  377. package/dist/core/collection/components/le-string-input/le-string-input.js.map +0 -1
  378. package/dist/core/collection/components/le-text/le-text.default.css +0 -169
  379. package/dist/core/collection/components/le-text/le-text.js +0 -475
  380. package/dist/core/collection/components/le-text/le-text.js.map +0 -1
  381. package/dist/core/collection/components/le-turntable/le-turntable.css +0 -10
  382. package/dist/core/collection/components/le-turntable/le-turntable.js +0 -210
  383. package/dist/core/collection/components/le-turntable/le-turntable.js.map +0 -1
  384. package/dist/core/collection/global/app.js +0 -167
  385. package/dist/core/collection/global/app.js.map +0 -1
  386. package/dist/core/collection/index.js +0 -15
  387. package/dist/core/collection/index.js.map +0 -1
  388. package/dist/core/collection/types/blocks.js +0 -115
  389. package/dist/core/collection/types/blocks.js.map +0 -1
  390. package/dist/core/collection/types/options.js +0 -2
  391. package/dist/core/collection/types/options.js.map +0 -1
  392. package/dist/core/collection/utils/utils.js +0 -141
  393. package/dist/core/collection/utils/utils.js.map +0 -1
  394. package/dist/core/components/index.d.ts +0 -33
  395. package/dist/core/components/index.js +0 -113
  396. package/dist/core/components/index.js.map +0 -1
  397. package/dist/core/components/le-box.d.ts +0 -11
  398. package/dist/core/components/le-box.js +0 -225
  399. package/dist/core/components/le-box.js.map +0 -1
  400. package/dist/core/components/le-button.d.ts +0 -11
  401. package/dist/core/components/le-button.js +0 -9
  402. package/dist/core/components/le-button.js.map +0 -1
  403. package/dist/core/components/le-button2.js +0 -121
  404. package/dist/core/components/le-button2.js.map +0 -1
  405. package/dist/core/components/le-card.d.ts +0 -11
  406. package/dist/core/components/le-card.js +0 -52
  407. package/dist/core/components/le-card.js.map +0 -1
  408. package/dist/core/components/le-checkbox.d.ts +0 -11
  409. package/dist/core/components/le-checkbox.js +0 -87
  410. package/dist/core/components/le-checkbox.js.map +0 -1
  411. package/dist/core/components/le-number-input.d.ts +0 -11
  412. package/dist/core/components/le-number-input.js +0 -246
  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-popover.js +0 -385
  416. package/dist/core/components/le-popover.js.map +0 -1
  417. package/dist/core/components/le-popup.d.ts +0 -11
  418. package/dist/core/components/le-popup.js +0 -253
  419. package/dist/core/components/le-popup.js.map +0 -1
  420. package/dist/core/components/le-round-progress.d.ts +0 -11
  421. package/dist/core/components/le-round-progress.js +0 -135
  422. package/dist/core/components/le-round-progress.js.map +0 -1
  423. package/dist/core/components/le-stack.d.ts +0 -11
  424. package/dist/core/components/le-stack.js +0 -167
  425. package/dist/core/components/le-stack.js.map +0 -1
  426. package/dist/core/components/le-string-input.d.ts +0 -11
  427. package/dist/core/components/le-string-input.js +0 -127
  428. package/dist/core/components/le-string-input.js.map +0 -1
  429. package/dist/core/components/le-text.d.ts +0 -11
  430. package/dist/core/components/le-text.js +0 -367
  431. package/dist/core/components/le-text.js.map +0 -1
  432. package/dist/core/components/le-turntable.d.ts +0 -11
  433. package/dist/core/components/le-turntable.js +0 -164
  434. package/dist/core/components/le-turntable.js.map +0 -1
  435. package/dist/core/components/utils.js +0 -310
  436. package/dist/core/components/utils.js.map +0 -1
  437. package/dist/core/esm/index-CJ-z5Zj1.js +0 -1818
  438. package/dist/core/esm/index-CJ-z5Zj1.js.map +0 -1
  439. package/dist/core/esm/index.js +0 -106
  440. package/dist/core/esm/index.js.map +0 -1
  441. package/dist/core/esm/le-box.entry.js +0 -182
  442. package/dist/core/esm/le-box.entry.js.map +0 -1
  443. package/dist/core/esm/le-button.entry.js +0 -90
  444. package/dist/core/esm/le-button.entry.js.map +0 -1
  445. package/dist/core/esm/le-card.entry.js +0 -27
  446. package/dist/core/esm/le-card.entry.js.map +0 -1
  447. package/dist/core/esm/le-checkbox.entry.js +0 -59
  448. package/dist/core/esm/le-checkbox.entry.js.map +0 -1
  449. package/dist/core/esm/le-kit.js +0 -21
  450. package/dist/core/esm/le-kit.js.map +0 -1
  451. package/dist/core/esm/le-number-input.entry.js +0 -200
  452. package/dist/core/esm/le-number-input.entry.js.map +0 -1
  453. package/dist/core/esm/le-popover.entry.js +0 -346
  454. package/dist/core/esm/le-popover.entry.js.map +0 -1
  455. package/dist/core/esm/le-popup.entry.js +0 -210
  456. package/dist/core/esm/le-popup.entry.js.map +0 -1
  457. package/dist/core/esm/le-round-progress.entry.js +0 -104
  458. package/dist/core/esm/le-round-progress.entry.js.map +0 -1
  459. package/dist/core/esm/le-stack.entry.js +0 -133
  460. package/dist/core/esm/le-stack.entry.js.map +0 -1
  461. package/dist/core/esm/le-string-input.entry.js +0 -93
  462. package/dist/core/esm/le-string-input.entry.js.map +0 -1
  463. package/dist/core/esm/le-text.entry.js +0 -333
  464. package/dist/core/esm/le-text.entry.js.map +0 -1
  465. package/dist/core/esm/le-turntable.entry.js +0 -137
  466. package/dist/core/esm/le-turntable.entry.js.map +0 -1
  467. package/dist/core/esm/loader.js +0 -11
  468. package/dist/core/esm/loader.js.map +0 -1
  469. package/dist/core/esm/utils-Bxmld82M.js +0 -146
  470. package/dist/core/esm/utils-Bxmld82M.js.map +0 -1
  471. package/dist/core/index.cjs.js +0 -1
  472. package/dist/core/index.js +0 -1
  473. package/dist/core/le-kit/index.esm.js +0 -2
  474. package/dist/core/le-kit/index.esm.js.map +0 -1
  475. package/dist/core/le-kit/le-box.entry.esm.js.map +0 -1
  476. package/dist/core/le-kit/le-button.entry.esm.js.map +0 -1
  477. package/dist/core/le-kit/le-card.entry.esm.js.map +0 -1
  478. package/dist/core/le-kit/le-checkbox.entry.esm.js.map +0 -1
  479. package/dist/core/le-kit/le-kit.css +0 -1
  480. package/dist/core/le-kit/le-kit.esm.js +0 -2
  481. package/dist/core/le-kit/le-kit.esm.js.map +0 -1
  482. package/dist/core/le-kit/le-number-input.entry.esm.js.map +0 -1
  483. package/dist/core/le-kit/le-popover.entry.esm.js.map +0 -1
  484. package/dist/core/le-kit/le-popup.entry.esm.js.map +0 -1
  485. package/dist/core/le-kit/le-round-progress.entry.esm.js.map +0 -1
  486. package/dist/core/le-kit/le-stack.entry.esm.js.map +0 -1
  487. package/dist/core/le-kit/le-string-input.entry.esm.js.map +0 -1
  488. package/dist/core/le-kit/le-text.entry.esm.js.map +0 -1
  489. package/dist/core/le-kit/le-turntable.entry.esm.js.map +0 -1
  490. package/dist/core/le-kit/loader.esm.js.map +0 -1
  491. package/dist/core/le-kit/p-0308bd1f.entry.js +0 -2
  492. package/dist/core/le-kit/p-0308bd1f.entry.js.map +0 -1
  493. package/dist/core/le-kit/p-257495cc.entry.js +0 -2
  494. package/dist/core/le-kit/p-257495cc.entry.js.map +0 -1
  495. package/dist/core/le-kit/p-2ac4789a.entry.js +0 -2
  496. package/dist/core/le-kit/p-2ac4789a.entry.js.map +0 -1
  497. package/dist/core/le-kit/p-45eace7c.entry.js +0 -2
  498. package/dist/core/le-kit/p-45eace7c.entry.js.map +0 -1
  499. package/dist/core/le-kit/p-556086ca.entry.js +0 -2
  500. package/dist/core/le-kit/p-556086ca.entry.js.map +0 -1
  501. package/dist/core/le-kit/p-5ef81068.entry.js.map +0 -1
  502. package/dist/core/le-kit/p-66d35f48.entry.js +0 -2
  503. package/dist/core/le-kit/p-66d35f48.entry.js.map +0 -1
  504. package/dist/core/le-kit/p-73682c5e.entry.js +0 -2
  505. package/dist/core/le-kit/p-73682c5e.entry.js.map +0 -1
  506. package/dist/core/le-kit/p-CJ-z5Zj1.js +0 -3
  507. package/dist/core/le-kit/p-CJ-z5Zj1.js.map +0 -1
  508. package/dist/core/le-kit/p-Drz36PDp.js +0 -2
  509. package/dist/core/le-kit/p-Drz36PDp.js.map +0 -1
  510. package/dist/core/le-kit/p-aa6e906f.entry.js +0 -2
  511. package/dist/core/le-kit/p-aa6e906f.entry.js.map +0 -1
  512. package/dist/core/le-kit/p-d75214f9.entry.js +0 -2
  513. package/dist/core/le-kit/p-d75214f9.entry.js.map +0 -1
  514. package/dist/core/le-kit/p-df552906.entry.js.map +0 -1
  515. package/dist/core/le-kit/p-e0861e82.entry.js +0 -2
  516. package/dist/core/le-kit/p-e0861e82.entry.js.map +0 -1
  517. package/dist/core/loader/cdn.js +0 -1
  518. package/dist/core/loader/index.cjs.js +0 -1
  519. package/dist/core/loader/index.d.ts +0 -24
  520. package/dist/core/loader/index.es2017.js +0 -1
  521. package/dist/core/loader/index.js +0 -2
  522. package/dist/core/types/components/le-box/le-box.d.ts +0 -111
  523. package/dist/core/types/components/le-button/le-button.d.ts +0 -78
  524. package/dist/core/types/components/le-card/le-card.d.ts +0 -37
  525. package/dist/core/types/components/le-checkbox/le-checkbox.d.ts +0 -46
  526. package/dist/core/types/components/le-number-input/le-number-input.d.ts +0 -106
  527. package/dist/core/types/components/le-popover/le-popover.d.ts +0 -109
  528. package/dist/core/types/components/le-popup/le-popup.api.d.ts +0 -73
  529. package/dist/core/types/components/le-popup/le-popup.d.ts +0 -122
  530. package/dist/core/types/components/le-round-progress/le-round-progress.d.ts +0 -37
  531. package/dist/core/types/components/le-stack/le-stack.d.ts +0 -73
  532. package/dist/core/types/components/le-string-input/le-string-input.d.ts +0 -83
  533. package/dist/core/types/components/le-text/le-text.d.ts +0 -141
  534. package/dist/core/types/components/le-turntable/le-turntable.d.ts +0 -55
  535. package/dist/core/types/components.d.ts +0 -1752
  536. package/dist/core/types/global/app.d.ts +0 -73
  537. package/dist/core/types/index.d.ts +0 -15
  538. package/dist/core/types/stencil-public-runtime.d.ts +0 -1756
  539. package/dist/core/types/types/blocks.d.ts +0 -136
  540. package/dist/core/types/types/options.d.ts +0 -124
  541. package/dist/core/types/utils/utils.d.ts +0 -54
  542. package/dist/esm/index-CwNQ1GTa.js.map +0 -1
  543. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +0 -1
  544. package/dist/esm/le-popup.entry.js +0 -210
  545. package/dist/esm/le-popup.entry.js.map +0 -1
  546. package/dist/le-kit/assets/custom-elements.json +0 -4305
  547. package/dist/le-kit/dist/collection/themes/dark.css +0 -100
  548. package/dist/le-kit/dist/collection/themes/minimal.css +0 -100
  549. package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +0 -1
  550. package/dist/le-kit/le-popup.entry.esm.js.map +0 -1
  551. package/dist/le-kit/p-08dbcc25.entry.js +0 -2
  552. package/dist/le-kit/p-08dbcc25.entry.js.map +0 -1
  553. package/dist/le-kit/p-5dc35729.entry.js +0 -2
  554. package/dist/le-kit/p-5dc35729.entry.js.map +0 -1
  555. package/dist/le-kit/p-64374730.entry.js.map +0 -1
  556. package/dist/le-kit/p-79ec6f7c.entry.js.map +0 -1
  557. package/dist/le-kit/p-8daf3c7f.entry.js +0 -2
  558. package/dist/le-kit/p-8daf3c7f.entry.js.map +0 -1
  559. package/dist/le-kit/p-9c69235d.entry.js +0 -2
  560. package/dist/le-kit/p-9c69235d.entry.js.map +0 -1
  561. package/dist/le-kit/p-CwNQ1GTa.js +0 -3
  562. package/dist/le-kit/p-CwNQ1GTa.js.map +0 -1
  563. package/dist/le-kit/p-ad398acd.entry.js.map +0 -1
  564. package/dist/le-kit/p-b8122ad6.entry.js.map +0 -1
  565. package/dist/le-kit/p-f9008505.entry.js.map +0 -1
  566. package/dist/le-kit/p-y3FECAx9.js +0 -2
@@ -0,0 +1,734 @@
1
+ import { h, } from "@stencil/core";
2
+ /**
3
+ * A multiselect component for selecting multiple options.
4
+ *
5
+ * Displays selected items as tags with optional search filtering.
6
+ *
7
+ * @cmsEditable true
8
+ * @cmsCategory Form
9
+ *
10
+ * @example Basic multiselect
11
+ * ```html
12
+ * <le-multiselect
13
+ * placeholder="Select options..."
14
+ * options='[{"label": "Red"}, {"label": "Green"}, {"label": "Blue"}]'
15
+ * ></le-multiselect>
16
+ * ```
17
+ *
18
+ * @example With max selections
19
+ * ```html
20
+ * <le-multiselect
21
+ * max-selections="3"
22
+ * options='[{"label": "Option 1"}, {"label": "Option 2"}, {"label": "Option 3"}, {"label": "Option 4"}]'
23
+ * ></le-multiselect>
24
+ * ```
25
+ *
26
+ * @example With search
27
+ * ```html
28
+ * <le-multiselect
29
+ * searchable
30
+ * placeholder="Search and select..."
31
+ * options='[{"label": "Apple"}, {"label": "Banana"}, {"label": "Cherry"}]'
32
+ * ></le-multiselect>
33
+ * ```
34
+ */
35
+ export class LeMultiselect {
36
+ el;
37
+ /**
38
+ * The options to display in the dropdown.
39
+ */
40
+ options = [];
41
+ /**
42
+ * The currently selected values.
43
+ */
44
+ value = [];
45
+ /**
46
+ * Placeholder text when no options are selected.
47
+ */
48
+ placeholder = 'Select options...';
49
+ /**
50
+ * Whether the multiselect is disabled.
51
+ */
52
+ disabled = false;
53
+ /**
54
+ * Whether selection is required.
55
+ */
56
+ required = false;
57
+ /**
58
+ * Name attribute for form submission.
59
+ */
60
+ name;
61
+ /**
62
+ * Whether the multiselect should take full width of its container.
63
+ */
64
+ fullWidth = false;
65
+ /**
66
+ * Size variant of the multiselect.
67
+ */
68
+ size = 'medium';
69
+ /**
70
+ * Maximum number of selections allowed.
71
+ */
72
+ maxSelections;
73
+ /**
74
+ * Labels for the "Select All" option.
75
+ */
76
+ selectAllLabel = 'Select All';
77
+ deselectAllLabel = 'Deselect All';
78
+ /**
79
+ * Whether to show a "Select All" option.
80
+ * Also accepts a string or array of strings to customize the label(s).
81
+ */
82
+ showSelectAll = false;
83
+ /**
84
+ * Whether the input is searchable.
85
+ */
86
+ searchable = false;
87
+ /**
88
+ * Text to show when no options match the search.
89
+ */
90
+ emptyText = 'No results found';
91
+ /**
92
+ * Whether the dropdown is currently open.
93
+ */
94
+ open = false;
95
+ /**
96
+ * Emitted when the selected values change.
97
+ */
98
+ leChange;
99
+ /**
100
+ * Emitted when the dropdown opens.
101
+ */
102
+ leOpen;
103
+ /**
104
+ * Emitted when the dropdown closes.
105
+ */
106
+ leClose;
107
+ selectedOptions = [];
108
+ searchQuery = '';
109
+ dropdownEl;
110
+ inputEl;
111
+ handleValueChange() {
112
+ this.updateSelectedOptions();
113
+ }
114
+ handleOptionsChange() {
115
+ this.updateSelectedOptions();
116
+ }
117
+ handleShowSelectAllChange(newValue) {
118
+ if (typeof newValue !== 'boolean' && typeof newValue !== 'string') {
119
+ this.showSelectAll = false;
120
+ }
121
+ else if (typeof newValue === 'boolean') {
122
+ this.showSelectAll = newValue;
123
+ }
124
+ else if (Array.isArray(newValue)) {
125
+ this.showSelectAll = true;
126
+ this.selectAllLabel = newValue[0];
127
+ this.deselectAllLabel = newValue[1] || newValue[0];
128
+ }
129
+ else if (typeof newValue === 'string') {
130
+ this.showSelectAll = true;
131
+ try {
132
+ const parsed = JSON.parse(newValue);
133
+ if (Array.isArray(parsed) && parsed.every(item => typeof item === 'string')) {
134
+ this.selectAllLabel = parsed[0];
135
+ this.deselectAllLabel = parsed[1] || parsed[0];
136
+ }
137
+ else {
138
+ this.selectAllLabel = newValue;
139
+ this.deselectAllLabel = newValue;
140
+ }
141
+ }
142
+ catch {
143
+ this.selectAllLabel = newValue;
144
+ this.deselectAllLabel = newValue;
145
+ }
146
+ }
147
+ }
148
+ componentWillLoad() {
149
+ this.updateSelectedOptions();
150
+ this.handleShowSelectAllChange(this.showSelectAll);
151
+ }
152
+ get parsedOptions() {
153
+ if (typeof this.options === 'string') {
154
+ try {
155
+ return JSON.parse(this.options);
156
+ }
157
+ catch {
158
+ return [];
159
+ }
160
+ }
161
+ return this.options;
162
+ }
163
+ get effectiveOptions() {
164
+ let options = [...this.parsedOptions];
165
+ // Add "Select All" option if enabled
166
+ if (this.showSelectAll && options.length > 0) {
167
+ const allSelected = this.selectedOptions.length === this.parsedOptions.filter(opt => !opt.disabled).length;
168
+ options = [
169
+ {
170
+ label: allSelected ? this.deselectAllLabel : this.selectAllLabel,
171
+ value: '__select_all__',
172
+ iconStart: allSelected ? '✕' : '⇣',
173
+ },
174
+ ...options,
175
+ ];
176
+ }
177
+ return options;
178
+ }
179
+ updateSelectedOptions() {
180
+ const valueArray = Array.isArray(this.value) ? this.value : [];
181
+ this.selectedOptions = this.parsedOptions.filter(opt => valueArray.includes(opt.value ?? opt.label));
182
+ }
183
+ filterOption = (option, query) => {
184
+ if (!query)
185
+ return true;
186
+ // Always show "Select All" option
187
+ if (option.value === '__select_all__')
188
+ return true;
189
+ const searchLower = query.toLowerCase();
190
+ return (option.label.toLowerCase().includes(searchLower) ||
191
+ (option.description?.toLowerCase().includes(searchLower) ?? false));
192
+ };
193
+ handleOptionSelect = (e) => {
194
+ const { value } = e.detail;
195
+ const enabledOptions = this.parsedOptions.filter(opt => !opt.disabled);
196
+ if (enabledOptions.length === 0)
197
+ return;
198
+ // Handle "Select All" option
199
+ if (value === '__select_all__') {
200
+ if (this.selectedOptions.length === enabledOptions.length) {
201
+ // Deselect all
202
+ this.value = [];
203
+ }
204
+ else {
205
+ // Select all (respect maxSelections)
206
+ const selectableOptions = this.maxSelections
207
+ ? enabledOptions.slice(0, this.maxSelections)
208
+ : enabledOptions;
209
+ this.value = selectableOptions.map(opt => opt.value ?? opt.label);
210
+ }
211
+ this.emitChange();
212
+ return;
213
+ }
214
+ const isSelected = this.value.includes(value);
215
+ if (isSelected) {
216
+ // Remove from selection
217
+ this.value = this.value.filter(v => v !== value);
218
+ this.selectedOptions = this.selectedOptions.filter(opt => (opt.value ?? opt.label) !== value);
219
+ }
220
+ else {
221
+ // Add to selection (if not at max)
222
+ if (this.maxSelections && this.value.length >= this.maxSelections) {
223
+ return; // Don't add more
224
+ }
225
+ this.value = [...this.value, value];
226
+ }
227
+ this.emitChange();
228
+ // Clear search after szelection
229
+ this.searchQuery = '';
230
+ };
231
+ emitChange() {
232
+ this.leChange.emit({
233
+ values: this.value,
234
+ options: this.selectedOptions,
235
+ });
236
+ }
237
+ handleDropdownOpen = () => {
238
+ this.open = true;
239
+ this.leOpen.emit();
240
+ // Focus search input if searchable
241
+ if (this.searchable) {
242
+ setTimeout(() => {
243
+ this.inputEl?.focus();
244
+ }, 50);
245
+ }
246
+ };
247
+ handleDropdownClose = () => {
248
+ this.open = false;
249
+ this.searchQuery = '';
250
+ this.leClose.emit();
251
+ };
252
+ handleTriggerClick = () => {
253
+ if (!this.disabled) {
254
+ this.dropdownEl?.toggle();
255
+ }
256
+ };
257
+ handleTriggerKeyDown = (e) => {
258
+ if (this.disabled)
259
+ return;
260
+ if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
261
+ e.preventDefault();
262
+ this.dropdownEl?.show();
263
+ }
264
+ };
265
+ handleTagDismiss = (option, e) => {
266
+ e.stopPropagation();
267
+ const value = option.value ?? option.label;
268
+ this.value = this.value.filter(v => v !== value);
269
+ this.selectedOptions = this.selectedOptions.filter(opt => opt !== option);
270
+ this.emitChange();
271
+ };
272
+ handleSearchInput = (e) => {
273
+ const target = e.target;
274
+ this.searchQuery = target.value;
275
+ };
276
+ handleClearAll = (e) => {
277
+ e.stopPropagation();
278
+ this.value = [];
279
+ this.selectedOptions = [];
280
+ this.emitChange();
281
+ };
282
+ /**
283
+ * Opens the dropdown.
284
+ */
285
+ async showDropdown() {
286
+ await this.dropdownEl?.show();
287
+ }
288
+ /**
289
+ * Closes the dropdown.
290
+ */
291
+ async hideDropdown() {
292
+ await this.dropdownEl?.hide();
293
+ }
294
+ /**
295
+ * Clears all selections.
296
+ */
297
+ async clearSelection() {
298
+ this.value = [];
299
+ this.selectedOptions = [];
300
+ this.emitChange();
301
+ }
302
+ renderTags() {
303
+ if (this.selectedOptions.length === 0) {
304
+ return h("span", { class: "multiselect-placeholder" }, this.placeholder);
305
+ }
306
+ return (h("div", { class: "multiselect-tags" }, this.selectedOptions.map(option => (h("le-tag", { key: option.value ?? option.label, label: option.label, icon: option.iconStart, size: this.size === 'large' ? 'medium' : 'small', dismissible: true, disabled: this.disabled, onLeDismiss: e => this.handleTagDismiss(option, e), mode: "default" })))));
307
+ }
308
+ render() {
309
+ const hasSelections = this.selectedOptions.length > 0;
310
+ const atMaxSelections = this.maxSelections && this.value.length >= this.maxSelections;
311
+ return (h("le-component", { key: '982102b3b4f499fdd3f91040be9b70f8601b3bf5', component: "le-multiselect" }, h("le-dropdown-base", { key: '4fdc8409dac2adbd188f0c019fd9fb730a41219c', ref: el => (this.dropdownEl = el), options: this.effectiveOptions, value: this.value, multiple: true, disabled: this.disabled, filterFn: this.searchable ? this.filterOption : undefined, filterQuery: this.searchQuery, emptyText: this.emptyText, showCheckboxes: true, fullWidth: this.fullWidth, onLeOptionSelect: this.handleOptionSelect, onLeDropdownOpen: this.handleDropdownOpen, onLeDropdownClose: this.handleDropdownClose }, h("div", { key: 'a633ff6c22827ef11ddc86950bcf5309ccf4b58e', slot: "trigger", class: {
312
+ 'multiselect-trigger': true,
313
+ 'has-selections': hasSelections,
314
+ 'is-open': this.open,
315
+ 'is-disabled': this.disabled,
316
+ }, tabIndex: this.disabled ? -1 : 0, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.open ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, this.renderTags(), h("div", { key: '7b872ae2a4bb5b89c63eb712b63878400d9a6a9d', class: "multiselect-actions" }, hasSelections && !this.disabled && (h("button", { key: 'a6beb75e3688f6b0329726e6a1016e94ebd5a1a3', type: "button", class: "multiselect-clear", onClick: this.handleClearAll, "aria-label": "Clear all", tabIndex: -1 }, h("svg", { key: '8f5fd2f3be9e94bac7b8c30384f10a3ba6d6272c', viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { key: '241075a311ef66b150a2e3e566919cabb2054c00', d: "M4 4l8 8M12 4l-8 8" })))), h("span", { key: '780188efcf3e597d9b199ace46471d292e643a62', class: "multiselect-arrow" }, h("svg", { key: '3fc4b438b95525c8631fdf73dadad9f5ff5330e3', viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { key: 'de1501fff8b39807f97f44994404a849eb71e745', d: "M4 6l4 4 4-4" }))))), this.searchable && this.open && (h("div", { key: 'c92d7e07f90fedc588a40da04ddef0940d8e2872', class: "multiselect-search", slot: "header" }, h("le-string-input", { key: 'a5425ef9d7cd8c1e13b895dc73d78f0e433431ad', mode: "default", inputRef: el => (this.inputEl = el), class: "search-input", placeholder: "Search...", value: this.searchQuery, onInput: this.handleSearchInput })))), this.name &&
317
+ this.value.map(val => (h("input", { type: "hidden", name: this.name, value: val.toString(), key: val.toString() }))), atMaxSelections && (h("span", { key: 'b1d9b93267637d3d21dc3ad52bb3bbd99831f56f', class: "multiselect-status" }, "Maximum ", this.maxSelections, " selections"))));
318
+ }
319
+ static get is() { return "le-multiselect"; }
320
+ static get encapsulation() { return "shadow"; }
321
+ static get originalStyleUrls() {
322
+ return {
323
+ "$": ["le-multiselect.css"]
324
+ };
325
+ }
326
+ static get styleUrls() {
327
+ return {
328
+ "$": ["le-multiselect.css"]
329
+ };
330
+ }
331
+ static get properties() {
332
+ return {
333
+ "options": {
334
+ "type": "string",
335
+ "mutable": false,
336
+ "complexType": {
337
+ "original": "LeOption[] | string",
338
+ "resolved": "LeOption[] | string",
339
+ "references": {
340
+ "LeOption": {
341
+ "location": "import",
342
+ "path": "../../types/options",
343
+ "id": "src/types/options.ts::LeOption"
344
+ }
345
+ }
346
+ },
347
+ "required": false,
348
+ "optional": false,
349
+ "docs": {
350
+ "tags": [],
351
+ "text": "The options to display in the dropdown."
352
+ },
353
+ "getter": false,
354
+ "setter": false,
355
+ "reflect": false,
356
+ "attribute": "options",
357
+ "defaultValue": "[]"
358
+ },
359
+ "value": {
360
+ "type": "unknown",
361
+ "mutable": true,
362
+ "complexType": {
363
+ "original": "LeOptionValue[]",
364
+ "resolved": "LeOptionValue[]",
365
+ "references": {
366
+ "LeOptionValue": {
367
+ "location": "import",
368
+ "path": "../../types/options",
369
+ "id": "src/types/options.ts::LeOptionValue"
370
+ }
371
+ }
372
+ },
373
+ "required": false,
374
+ "optional": false,
375
+ "docs": {
376
+ "tags": [],
377
+ "text": "The currently selected values."
378
+ },
379
+ "getter": false,
380
+ "setter": false,
381
+ "defaultValue": "[]"
382
+ },
383
+ "placeholder": {
384
+ "type": "string",
385
+ "mutable": false,
386
+ "complexType": {
387
+ "original": "string",
388
+ "resolved": "string",
389
+ "references": {}
390
+ },
391
+ "required": false,
392
+ "optional": false,
393
+ "docs": {
394
+ "tags": [],
395
+ "text": "Placeholder text when no options are selected."
396
+ },
397
+ "getter": false,
398
+ "setter": false,
399
+ "reflect": false,
400
+ "attribute": "placeholder",
401
+ "defaultValue": "'Select options...'"
402
+ },
403
+ "disabled": {
404
+ "type": "boolean",
405
+ "mutable": false,
406
+ "complexType": {
407
+ "original": "boolean",
408
+ "resolved": "boolean",
409
+ "references": {}
410
+ },
411
+ "required": false,
412
+ "optional": false,
413
+ "docs": {
414
+ "tags": [],
415
+ "text": "Whether the multiselect is disabled."
416
+ },
417
+ "getter": false,
418
+ "setter": false,
419
+ "reflect": true,
420
+ "attribute": "disabled",
421
+ "defaultValue": "false"
422
+ },
423
+ "required": {
424
+ "type": "boolean",
425
+ "mutable": false,
426
+ "complexType": {
427
+ "original": "boolean",
428
+ "resolved": "boolean",
429
+ "references": {}
430
+ },
431
+ "required": false,
432
+ "optional": false,
433
+ "docs": {
434
+ "tags": [],
435
+ "text": "Whether selection is required."
436
+ },
437
+ "getter": false,
438
+ "setter": false,
439
+ "reflect": false,
440
+ "attribute": "required",
441
+ "defaultValue": "false"
442
+ },
443
+ "name": {
444
+ "type": "string",
445
+ "mutable": false,
446
+ "complexType": {
447
+ "original": "string",
448
+ "resolved": "string",
449
+ "references": {}
450
+ },
451
+ "required": false,
452
+ "optional": true,
453
+ "docs": {
454
+ "tags": [],
455
+ "text": "Name attribute for form submission."
456
+ },
457
+ "getter": false,
458
+ "setter": false,
459
+ "reflect": false,
460
+ "attribute": "name"
461
+ },
462
+ "fullWidth": {
463
+ "type": "boolean",
464
+ "mutable": false,
465
+ "complexType": {
466
+ "original": "boolean",
467
+ "resolved": "boolean",
468
+ "references": {}
469
+ },
470
+ "required": false,
471
+ "optional": false,
472
+ "docs": {
473
+ "tags": [],
474
+ "text": "Whether the multiselect should take full width of its container."
475
+ },
476
+ "getter": false,
477
+ "setter": false,
478
+ "reflect": true,
479
+ "attribute": "full-width",
480
+ "defaultValue": "false"
481
+ },
482
+ "size": {
483
+ "type": "string",
484
+ "mutable": false,
485
+ "complexType": {
486
+ "original": "'small' | 'medium' | 'large'",
487
+ "resolved": "\"large\" | \"medium\" | \"small\"",
488
+ "references": {}
489
+ },
490
+ "required": false,
491
+ "optional": false,
492
+ "docs": {
493
+ "tags": [],
494
+ "text": "Size variant of the multiselect."
495
+ },
496
+ "getter": false,
497
+ "setter": false,
498
+ "reflect": true,
499
+ "attribute": "size",
500
+ "defaultValue": "'medium'"
501
+ },
502
+ "maxSelections": {
503
+ "type": "number",
504
+ "mutable": false,
505
+ "complexType": {
506
+ "original": "number",
507
+ "resolved": "number",
508
+ "references": {}
509
+ },
510
+ "required": false,
511
+ "optional": true,
512
+ "docs": {
513
+ "tags": [],
514
+ "text": "Maximum number of selections allowed."
515
+ },
516
+ "getter": false,
517
+ "setter": false,
518
+ "reflect": false,
519
+ "attribute": "max-selections"
520
+ },
521
+ "showSelectAll": {
522
+ "type": "any",
523
+ "mutable": true,
524
+ "complexType": {
525
+ "original": "boolean | string | string[]",
526
+ "resolved": "boolean | string | string[]",
527
+ "references": {}
528
+ },
529
+ "required": false,
530
+ "optional": false,
531
+ "docs": {
532
+ "tags": [],
533
+ "text": "Whether to show a \"Select All\" option.\nAlso accepts a string or array of strings to customize the label(s)."
534
+ },
535
+ "getter": false,
536
+ "setter": false,
537
+ "reflect": false,
538
+ "attribute": "show-select-all",
539
+ "defaultValue": "false"
540
+ },
541
+ "searchable": {
542
+ "type": "boolean",
543
+ "mutable": false,
544
+ "complexType": {
545
+ "original": "boolean",
546
+ "resolved": "boolean",
547
+ "references": {}
548
+ },
549
+ "required": false,
550
+ "optional": false,
551
+ "docs": {
552
+ "tags": [],
553
+ "text": "Whether the input is searchable."
554
+ },
555
+ "getter": false,
556
+ "setter": false,
557
+ "reflect": false,
558
+ "attribute": "searchable",
559
+ "defaultValue": "false"
560
+ },
561
+ "emptyText": {
562
+ "type": "string",
563
+ "mutable": false,
564
+ "complexType": {
565
+ "original": "string",
566
+ "resolved": "string",
567
+ "references": {}
568
+ },
569
+ "required": false,
570
+ "optional": false,
571
+ "docs": {
572
+ "tags": [],
573
+ "text": "Text to show when no options match the search."
574
+ },
575
+ "getter": false,
576
+ "setter": false,
577
+ "reflect": false,
578
+ "attribute": "empty-text",
579
+ "defaultValue": "'No results found'"
580
+ },
581
+ "open": {
582
+ "type": "boolean",
583
+ "mutable": true,
584
+ "complexType": {
585
+ "original": "boolean",
586
+ "resolved": "boolean",
587
+ "references": {}
588
+ },
589
+ "required": false,
590
+ "optional": false,
591
+ "docs": {
592
+ "tags": [],
593
+ "text": "Whether the dropdown is currently open."
594
+ },
595
+ "getter": false,
596
+ "setter": false,
597
+ "reflect": true,
598
+ "attribute": "open",
599
+ "defaultValue": "false"
600
+ }
601
+ };
602
+ }
603
+ static get states() {
604
+ return {
605
+ "selectAllLabel": {},
606
+ "deselectAllLabel": {},
607
+ "selectedOptions": {},
608
+ "searchQuery": {}
609
+ };
610
+ }
611
+ static get events() {
612
+ return [{
613
+ "method": "leChange",
614
+ "name": "leChange",
615
+ "bubbles": true,
616
+ "cancelable": true,
617
+ "composed": true,
618
+ "docs": {
619
+ "tags": [],
620
+ "text": "Emitted when the selected values change."
621
+ },
622
+ "complexType": {
623
+ "original": "LeMultiOptionSelectDetail",
624
+ "resolved": "LeMultiOptionSelectDetail",
625
+ "references": {
626
+ "LeMultiOptionSelectDetail": {
627
+ "location": "import",
628
+ "path": "../../types/options",
629
+ "id": "src/types/options.ts::LeMultiOptionSelectDetail"
630
+ }
631
+ }
632
+ }
633
+ }, {
634
+ "method": "leOpen",
635
+ "name": "leOpen",
636
+ "bubbles": true,
637
+ "cancelable": true,
638
+ "composed": true,
639
+ "docs": {
640
+ "tags": [],
641
+ "text": "Emitted when the dropdown opens."
642
+ },
643
+ "complexType": {
644
+ "original": "void",
645
+ "resolved": "void",
646
+ "references": {}
647
+ }
648
+ }, {
649
+ "method": "leClose",
650
+ "name": "leClose",
651
+ "bubbles": true,
652
+ "cancelable": true,
653
+ "composed": true,
654
+ "docs": {
655
+ "tags": [],
656
+ "text": "Emitted when the dropdown closes."
657
+ },
658
+ "complexType": {
659
+ "original": "void",
660
+ "resolved": "void",
661
+ "references": {}
662
+ }
663
+ }];
664
+ }
665
+ static get methods() {
666
+ return {
667
+ "showDropdown": {
668
+ "complexType": {
669
+ "signature": "() => Promise<void>",
670
+ "parameters": [],
671
+ "references": {
672
+ "Promise": {
673
+ "location": "global",
674
+ "id": "global::Promise"
675
+ }
676
+ },
677
+ "return": "Promise<void>"
678
+ },
679
+ "docs": {
680
+ "text": "Opens the dropdown.",
681
+ "tags": []
682
+ }
683
+ },
684
+ "hideDropdown": {
685
+ "complexType": {
686
+ "signature": "() => Promise<void>",
687
+ "parameters": [],
688
+ "references": {
689
+ "Promise": {
690
+ "location": "global",
691
+ "id": "global::Promise"
692
+ }
693
+ },
694
+ "return": "Promise<void>"
695
+ },
696
+ "docs": {
697
+ "text": "Closes the dropdown.",
698
+ "tags": []
699
+ }
700
+ },
701
+ "clearSelection": {
702
+ "complexType": {
703
+ "signature": "() => Promise<void>",
704
+ "parameters": [],
705
+ "references": {
706
+ "Promise": {
707
+ "location": "global",
708
+ "id": "global::Promise"
709
+ }
710
+ },
711
+ "return": "Promise<void>"
712
+ },
713
+ "docs": {
714
+ "text": "Clears all selections.",
715
+ "tags": []
716
+ }
717
+ }
718
+ };
719
+ }
720
+ static get elementRef() { return "el"; }
721
+ static get watchers() {
722
+ return [{
723
+ "propName": "value",
724
+ "methodName": "handleValueChange"
725
+ }, {
726
+ "propName": "options",
727
+ "methodName": "handleOptionsChange"
728
+ }, {
729
+ "propName": "showSelectAll",
730
+ "methodName": "handleShowSelectAllChange"
731
+ }];
732
+ }
733
+ }
734
+ //# sourceMappingURL=le-multiselect.js.map