le-kit 0.1.14 → 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 (538) hide show
  1. package/dist/{core/cjs/index-B0mg71He.js → cjs/index-C3iQZ-Ja.js} +10 -3
  2. package/dist/cjs/index-C3iQZ-Ja.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-component.le-popover.le-popup.le-slot.le-string-input.entry.cjs.js.map +1 -0
  8. package/dist/cjs/le-button_7.cjs.entry.js +1452 -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-dropdown-base.cjs.entry.js +348 -0
  14. package/dist/cjs/le-dropdown-base.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/cjs/le-select.cjs.entry.js +188 -0
  25. package/dist/cjs/le-select.entry.cjs.js.map +1 -0
  26. package/dist/{core/cjs → cjs}/le-stack.cjs.entry.js +4 -4
  27. package/dist/cjs/le-stack.entry.cjs.js.map +1 -0
  28. package/dist/cjs/le-tab-bar.cjs.entry.js +242 -0
  29. package/dist/cjs/le-tab-bar.entry.cjs.js.map +1 -0
  30. package/dist/cjs/le-tab-panel.cjs.entry.js +100 -0
  31. package/dist/cjs/le-tab-panel.entry.cjs.js.map +1 -0
  32. package/dist/cjs/le-tab.cjs.entry.js +133 -0
  33. package/dist/cjs/le-tab.entry.cjs.js.map +1 -0
  34. package/dist/cjs/le-tabs.cjs.entry.js +307 -0
  35. package/dist/cjs/le-tabs.entry.cjs.js.map +1 -0
  36. package/dist/cjs/le-tag.cjs.entry.js +68 -0
  37. package/dist/cjs/le-tag.entry.cjs.js.map +1 -0
  38. package/dist/{core/cjs → cjs}/le-text.cjs.entry.js +3 -3
  39. package/dist/cjs/le-text.entry.cjs.js.map +1 -0
  40. package/dist/{core/cjs → cjs}/le-turntable.cjs.entry.js +2 -2
  41. package/dist/cjs/le-turntable.entry.cjs.js.map +1 -0
  42. package/dist/cjs/loader.cjs.js +13 -0
  43. package/dist/{core/cjs/utils-jdqP71LP.js → cjs/utils-DjPcLPN9.js} +3 -3
  44. package/dist/cjs/utils-DjPcLPN9.js.map +1 -0
  45. package/dist/{core/collection → collection}/collection-manifest.json +12 -0
  46. package/dist/{core/collection → collection}/components/le-box/le-box.js +1 -1
  47. package/dist/collection/components/le-box/le-box.js.map +1 -0
  48. package/dist/{core/collection/components/le-button/le-button.default.css → collection/components/le-button/le-button.css} +65 -38
  49. package/dist/{core/collection → collection}/components/le-button/le-button.js +106 -16
  50. package/dist/collection/components/le-button/le-button.js.map +1 -0
  51. package/dist/{core/collection → collection}/components/le-card/le-card.default.css +6 -6
  52. package/dist/{core/collection → collection}/components/le-card/le-card.js +2 -2
  53. package/dist/collection/components/le-card/le-card.js.map +1 -0
  54. package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.js +2 -2
  55. package/dist/collection/components/le-checkbox/le-checkbox.js.map +1 -0
  56. package/dist/collection/components/le-combobox/le-combobox.css +144 -0
  57. package/dist/collection/components/le-combobox/le-combobox.js +659 -0
  58. package/dist/collection/components/le-combobox/le-combobox.js.map +1 -0
  59. package/dist/collection/components/le-component/le-component.css +189 -0
  60. package/dist/{le-kit/le-component.entry.js → collection/components/le-component/le-component.js} +136 -16
  61. package/dist/collection/components/le-component/le-component.js.map +1 -0
  62. package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +163 -0
  63. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +761 -0
  64. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +1 -0
  65. package/dist/collection/components/le-multiselect/le-multiselect.css +163 -0
  66. package/dist/collection/components/le-multiselect/le-multiselect.js +734 -0
  67. package/dist/collection/components/le-multiselect/le-multiselect.js.map +1 -0
  68. package/dist/{core/collection → collection}/components/le-number-input/le-number-input.js +2 -2
  69. package/dist/collection/components/le-number-input/le-number-input.js.map +1 -0
  70. package/dist/{core/collection → collection}/components/le-popover/le-popover.css +10 -0
  71. package/dist/{core/collection → collection}/components/le-popover/le-popover.js +61 -10
  72. package/dist/collection/components/le-popover/le-popover.js.map +1 -0
  73. package/dist/{core/collection → collection}/components/le-popup/le-popup.api.js +2 -1
  74. package/dist/collection/components/le-popup/le-popup.api.js.map +1 -0
  75. package/dist/{core/collection → collection}/components/le-popup/le-popup.js +49 -19
  76. package/dist/collection/components/le-popup/le-popup.js.map +1 -0
  77. package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.js +1 -1
  78. package/dist/collection/components/le-round-progress/le-round-progress.js.map +1 -0
  79. package/dist/collection/components/le-segmented-control/le-segmented-control.css +78 -0
  80. package/dist/collection/components/le-segmented-control/le-segmented-control.js +445 -0
  81. package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +1 -0
  82. package/dist/collection/components/le-select/le-select.css +121 -0
  83. package/dist/collection/components/le-select/le-select.js +578 -0
  84. package/dist/collection/components/le-select/le-select.js.map +1 -0
  85. package/dist/collection/components/le-slot/le-slot.default.css +222 -0
  86. package/dist/{le-kit/le-slot.entry.js → collection/components/le-slot/le-slot.js} +268 -17
  87. package/dist/collection/components/le-slot/le-slot.js.map +1 -0
  88. package/dist/{core/collection → collection}/components/le-stack/le-stack.js +2 -2
  89. package/dist/collection/components/le-stack/le-stack.js.map +1 -0
  90. package/dist/{core/collection → collection}/components/le-string-input/le-string-input.css +1 -1
  91. package/dist/{core/collection → collection}/components/le-string-input/le-string-input.js +60 -6
  92. package/dist/collection/components/le-string-input/le-string-input.js.map +1 -0
  93. package/dist/collection/components/le-tab/le-tab.css +289 -0
  94. package/dist/collection/components/le-tab/le-tab.js +565 -0
  95. package/dist/collection/components/le-tab/le-tab.js.map +1 -0
  96. package/dist/collection/components/le-tab-bar/le-tab-bar.css +89 -0
  97. package/dist/collection/components/le-tab-bar/le-tab-bar.js +467 -0
  98. package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +1 -0
  99. package/dist/collection/components/le-tab-panel/le-tab-panel.css +30 -0
  100. package/dist/collection/components/le-tab-panel/le-tab-panel.js +302 -0
  101. package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +1 -0
  102. package/dist/collection/components/le-tabs/le-tabs.css +146 -0
  103. package/dist/collection/components/le-tabs/le-tabs.js +588 -0
  104. package/dist/collection/components/le-tabs/le-tabs.js.map +1 -0
  105. package/dist/collection/components/le-tag/le-tag.css +139 -0
  106. package/dist/collection/components/le-tag/le-tag.js +266 -0
  107. package/dist/collection/components/le-tag/le-tag.js.map +1 -0
  108. package/dist/{core/collection → collection}/components/le-text/le-text.js +1 -1
  109. package/dist/collection/components/le-text/le-text.js.map +1 -0
  110. package/dist/{core/collection → collection}/components/le-turntable/le-turntable.js +1 -1
  111. package/dist/collection/components/le-turntable/le-turntable.js.map +1 -0
  112. package/dist/collection/dist/components/assets/.gitkeep +1 -0
  113. package/dist/{le-kit → collection/dist/components}/assets/custom-elements.json +5064 -1199
  114. package/dist/collection/dist/components/themes/base.css +133 -0
  115. package/dist/collection/dist/components/themes/dark.css +103 -0
  116. package/dist/collection/dist/components/themes/default.css +111 -0
  117. package/dist/collection/dist/components/themes/gradient.css +103 -0
  118. package/dist/collection/dist/components/themes/index.css +415 -0
  119. package/dist/collection/dist/components/themes/minimal.css +103 -0
  120. package/dist/collection/dist/components/themes/warm.css +103 -0
  121. package/dist/collection/global/app.js.map +1 -0
  122. package/dist/collection/index.js.map +1 -0
  123. package/dist/collection/types/blocks.js.map +1 -0
  124. package/dist/collection/types/options.js.map +1 -0
  125. package/dist/collection/utils/utils.js.map +1 -0
  126. package/dist/components/assets/.gitkeep +1 -0
  127. package/dist/components/assets/custom-elements.json +8170 -0
  128. package/dist/components/index.js +11 -0
  129. package/dist/components/index.js.map +1 -0
  130. package/dist/{core/components → components}/le-box.js +11 -6
  131. package/dist/components/le-box.js.map +1 -0
  132. package/dist/{core/components → components}/le-button.js +1 -1
  133. package/dist/{core/components → components}/le-button2.js +371 -35
  134. package/dist/components/le-button2.js.map +1 -0
  135. package/dist/{core/components → components}/le-card.js +11 -6
  136. package/dist/components/le-card.js.map +1 -0
  137. package/dist/{core/components → components}/le-checkbox.js +1 -1
  138. package/dist/components/le-combobox.d.ts +11 -0
  139. package/dist/components/le-combobox.js +321 -0
  140. package/dist/components/le-combobox.js.map +1 -0
  141. package/dist/{core/components → components}/le-component.js +1 -1
  142. package/dist/components/le-dropdown-base.d.ts +11 -0
  143. package/dist/components/le-dropdown-base.js +9 -0
  144. package/dist/components/le-dropdown-base.js.map +1 -0
  145. package/dist/components/le-dropdown-base2.js +393 -0
  146. package/dist/components/le-dropdown-base2.js.map +1 -0
  147. package/dist/components/le-multiselect.d.ts +11 -0
  148. package/dist/components/le-multiselect.js +400 -0
  149. package/dist/components/le-multiselect.js.map +1 -0
  150. package/dist/{core/components → components}/le-number-input.js +12 -7
  151. package/dist/components/le-number-input.js.map +1 -0
  152. package/dist/{core/components → components}/le-popover2.js +24 -11
  153. package/dist/components/le-popover2.js.map +1 -0
  154. package/dist/{core/components/index.js → components/le-popup.api.js} +5 -12
  155. package/dist/components/le-popup.api.js.map +1 -0
  156. package/dist/components/le-popup.js +9 -0
  157. package/dist/components/le-popup.js.map +1 -0
  158. package/dist/{core/components → components}/le-round-progress.js +1 -1
  159. package/dist/components/le-segmented-control.d.ts +11 -0
  160. package/dist/components/le-segmented-control.js +320 -0
  161. package/dist/components/le-segmented-control.js.map +1 -0
  162. package/dist/components/le-select.d.ts +11 -0
  163. package/dist/components/le-select.js +271 -0
  164. package/dist/components/le-select.js.map +1 -0
  165. package/dist/{core/components → components}/le-slot.js +1 -1
  166. package/dist/{core/components → components}/le-stack.js +12 -7
  167. package/dist/components/le-stack.js.map +1 -0
  168. package/dist/{core/components → components}/le-string-input.js +1 -1
  169. package/dist/components/le-tab-bar.d.ts +11 -0
  170. package/dist/components/le-tab-bar.js +319 -0
  171. package/dist/components/le-tab-bar.js.map +1 -0
  172. package/dist/components/le-tab-panel.d.ts +11 -0
  173. package/dist/components/le-tab-panel.js +171 -0
  174. package/dist/components/le-tab-panel.js.map +1 -0
  175. package/dist/components/le-tab.d.ts +11 -0
  176. package/dist/components/le-tab.js +9 -0
  177. package/dist/components/le-tab.js.map +1 -0
  178. package/dist/components/le-tab2.js +206 -0
  179. package/dist/components/le-tab2.js.map +1 -0
  180. package/dist/components/le-tabs.d.ts +11 -0
  181. package/dist/components/le-tabs.js +386 -0
  182. package/dist/components/le-tabs.js.map +1 -0
  183. package/dist/components/le-tag.d.ts +11 -0
  184. package/dist/components/le-tag.js +9 -0
  185. package/dist/components/le-tag.js.map +1 -0
  186. package/dist/components/le-tag2.js +130 -0
  187. package/dist/components/le-tag2.js.map +1 -0
  188. package/dist/{core/components → components}/le-text.js +11 -6
  189. package/dist/components/le-text.js.map +1 -0
  190. package/dist/{core/components → components}/le-turntable.js +1 -1
  191. package/dist/components/themes/base.css +44 -0
  192. package/dist/components/themes/dark.css +4 -1
  193. package/dist/components/themes/default.css +4 -1
  194. package/dist/components/themes/gradient.css +4 -1
  195. package/dist/components/themes/index.css +2 -0
  196. package/dist/components/themes/minimal.css +4 -1
  197. package/dist/components/themes/warm.css +4 -1
  198. package/dist/docs.d.ts +443 -0
  199. package/dist/docs.json +10488 -0
  200. package/dist/{core/esm/index-SKsXnjWI.js → esm/index-DzgCnDLJ.js} +10 -4
  201. package/dist/esm/index-DzgCnDLJ.js.map +1 -0
  202. package/dist/{core/esm → esm}/index.js +4 -3
  203. package/dist/esm/index.js.map +1 -0
  204. package/dist/{le-kit → esm}/le-box.entry.js +3 -3
  205. package/dist/esm/le-box.entry.js.map +1 -0
  206. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-popup.le-slot.le-string-input.entry.js.map +1 -0
  207. package/dist/esm/le-button_7.entry.js +1444 -0
  208. package/dist/{le-kit → esm}/le-card.entry.js +3 -3
  209. package/dist/esm/le-card.entry.js.map +1 -0
  210. package/dist/esm/le-combobox.entry.js +235 -0
  211. package/dist/esm/le-combobox.entry.js.map +1 -0
  212. package/dist/esm/le-dropdown-base.entry.js +346 -0
  213. package/dist/esm/le-dropdown-base.entry.js.map +1 -0
  214. package/dist/esm/le-kit.js +21 -0
  215. package/dist/esm/le-multiselect.entry.js +304 -0
  216. package/dist/esm/le-multiselect.entry.js.map +1 -0
  217. package/dist/{le-kit → esm}/le-number-input.entry.js +6 -6
  218. package/dist/esm/le-number-input.entry.js.map +1 -0
  219. package/dist/{core/esm → esm}/le-round-progress.entry.js +2 -2
  220. package/dist/esm/le-round-progress.entry.js.map +1 -0
  221. package/dist/esm/le-segmented-control.entry.js +243 -0
  222. package/dist/esm/le-segmented-control.entry.js.map +1 -0
  223. package/dist/esm/le-select.entry.js +186 -0
  224. package/dist/esm/le-select.entry.js.map +1 -0
  225. package/dist/{le-kit → esm}/le-stack.entry.js +4 -4
  226. package/dist/esm/le-stack.entry.js.map +1 -0
  227. package/dist/esm/le-tab-bar.entry.js +240 -0
  228. package/dist/esm/le-tab-bar.entry.js.map +1 -0
  229. package/dist/esm/le-tab-panel.entry.js +98 -0
  230. package/dist/esm/le-tab-panel.entry.js.map +1 -0
  231. package/dist/esm/le-tab.entry.js +131 -0
  232. package/dist/esm/le-tab.entry.js.map +1 -0
  233. package/dist/esm/le-tabs.entry.js +305 -0
  234. package/dist/esm/le-tabs.entry.js.map +1 -0
  235. package/dist/esm/le-tag.entry.js +66 -0
  236. package/dist/esm/le-tag.entry.js.map +1 -0
  237. package/dist/{le-kit → esm}/le-text.entry.js +3 -3
  238. package/dist/esm/le-text.entry.js.map +1 -0
  239. package/dist/{core/esm → esm}/le-turntable.entry.js +2 -2
  240. package/dist/esm/le-turntable.entry.js.map +1 -0
  241. package/dist/esm/loader.js +11 -0
  242. package/dist/{le-kit/utils-cwSNy7ZS.js → esm/utils-Dp5xFMCl.js} +3 -3
  243. package/dist/{le-kit/utils-cwSNy7ZS.js.map → esm/utils-Dp5xFMCl.js.map} +1 -1
  244. package/dist/le-kit/dist/components/assets/.gitkeep +1 -0
  245. package/dist/le-kit/dist/components/assets/custom-elements.json +8170 -0
  246. package/dist/le-kit/dist/components/themes/base.css +44 -0
  247. package/dist/le-kit/dist/components/themes/dark.css +4 -1
  248. package/dist/le-kit/dist/components/themes/default.css +4 -1
  249. package/dist/le-kit/dist/components/themes/gradient.css +4 -1
  250. package/dist/le-kit/dist/components/themes/index.css +2 -0
  251. package/dist/le-kit/dist/components/themes/minimal.css +4 -1
  252. package/dist/le-kit/dist/components/themes/warm.css +4 -1
  253. package/dist/le-kit/index.esm.js +2 -116
  254. package/dist/le-kit/index.esm.js.map +1 -1
  255. 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
  256. package/dist/le-kit/le-combobox.entry.esm.js.map +1 -0
  257. package/dist/le-kit/le-dropdown-base.entry.esm.js.map +1 -0
  258. package/dist/le-kit/le-kit.css +1 -1010
  259. package/dist/le-kit/le-kit.esm.js +2 -48
  260. package/dist/le-kit/le-kit.esm.js.map +1 -1
  261. package/dist/le-kit/le-multiselect.entry.esm.js.map +1 -0
  262. package/dist/le-kit/le-segmented-control.entry.esm.js.map +1 -0
  263. package/dist/le-kit/le-select.entry.esm.js.map +1 -0
  264. package/dist/le-kit/le-tab-bar.entry.esm.js.map +1 -0
  265. package/dist/le-kit/le-tab-panel.entry.esm.js.map +1 -0
  266. package/dist/le-kit/le-tab.entry.esm.js.map +1 -0
  267. package/dist/le-kit/le-tabs.entry.esm.js.map +1 -0
  268. package/dist/le-kit/le-tag.entry.esm.js.map +1 -0
  269. package/dist/{core/le-kit/p-55f70091.entry.js → le-kit/p-0bd7803f.entry.js} +2 -2
  270. package/dist/le-kit/p-0bd7803f.entry.js.map +1 -0
  271. package/dist/le-kit/p-1f55a4a2.entry.js +2 -0
  272. package/dist/le-kit/p-1f55a4a2.entry.js.map +1 -0
  273. package/dist/{core/le-kit/p-a9d05ef6.entry.js → le-kit/p-2c37f174.entry.js} +2 -2
  274. package/dist/le-kit/p-2c37f174.entry.js.map +1 -0
  275. package/dist/{core/le-kit/p-6e414a5c.entry.js → le-kit/p-33612923.entry.js} +2 -2
  276. package/dist/le-kit/p-33612923.entry.js.map +1 -0
  277. package/dist/le-kit/p-3a52c4de.entry.js +2 -0
  278. package/dist/le-kit/p-3a52c4de.entry.js.map +1 -0
  279. package/dist/le-kit/p-4130c60b.entry.js +2 -0
  280. package/dist/le-kit/p-4130c60b.entry.js.map +1 -0
  281. package/dist/le-kit/p-432e8231.entry.js +2 -0
  282. package/dist/le-kit/p-432e8231.entry.js.map +1 -0
  283. package/dist/le-kit/p-548d130b.entry.js +2 -0
  284. package/dist/le-kit/p-548d130b.entry.js.map +1 -0
  285. package/dist/le-kit/p-6ecdad85.entry.js +2 -0
  286. package/dist/le-kit/p-6ecdad85.entry.js.map +1 -0
  287. package/dist/le-kit/p-6ee06c44.entry.js +2 -0
  288. package/dist/le-kit/p-6ee06c44.entry.js.map +1 -0
  289. package/dist/le-kit/p-71c78784.entry.js +2 -0
  290. package/dist/le-kit/p-71c78784.entry.js.map +1 -0
  291. package/dist/le-kit/p-7b180d58.entry.js +2 -0
  292. package/dist/le-kit/p-7b180d58.entry.js.map +1 -0
  293. package/dist/le-kit/p-91993261.entry.js +2 -0
  294. package/dist/le-kit/p-91993261.entry.js.map +1 -0
  295. package/dist/{core/le-kit/p--VxUdzYV.js → le-kit/p-DaA5gINj.js} +2 -2
  296. package/dist/le-kit/p-DaA5gINj.js.map +1 -0
  297. package/dist/le-kit/p-DzgCnDLJ.js +3 -0
  298. package/dist/le-kit/p-DzgCnDLJ.js.map +1 -0
  299. package/dist/le-kit/p-a5d31d40.entry.js +2 -0
  300. package/dist/le-kit/p-a5d31d40.entry.js.map +1 -0
  301. package/dist/{core/le-kit/p-4f133e72.entry.js → le-kit/p-b66fd9e1.entry.js} +2 -2
  302. package/dist/le-kit/p-b66fd9e1.entry.js.map +1 -0
  303. package/dist/le-kit/p-beb87e61.entry.js +2 -0
  304. package/dist/le-kit/p-beb87e61.entry.js.map +1 -0
  305. package/dist/le-kit/p-cc0797b0.entry.js +2 -0
  306. package/dist/le-kit/p-cc0797b0.entry.js.map +1 -0
  307. package/dist/le-kit/p-d504a369.entry.js +2 -0
  308. package/dist/le-kit/p-d504a369.entry.js.map +1 -0
  309. package/dist/themes/base.css +133 -0
  310. package/dist/themes/dark.css +103 -0
  311. package/dist/themes/default.css +111 -0
  312. package/dist/themes/gradient.css +103 -0
  313. package/dist/themes/index.css +415 -0
  314. package/dist/themes/minimal.css +103 -0
  315. package/dist/themes/warm.css +103 -0
  316. package/dist/types/components/le-button/le-button.d.ts +19 -4
  317. package/dist/types/components/le-combobox/le-combobox.d.ts +128 -0
  318. package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +118 -0
  319. package/dist/types/components/le-multiselect/le-multiselect.d.ts +143 -0
  320. package/dist/types/components/le-popover/le-popover.d.ts +13 -2
  321. package/dist/types/components/le-popup/le-popup.d.ts +5 -0
  322. package/dist/types/components/le-segmented-control/le-segmented-control.d.ts +82 -0
  323. package/dist/types/components/le-select/le-select.d.ts +125 -0
  324. package/dist/types/components/le-string-input/le-string-input.d.ts +8 -0
  325. package/dist/types/components/le-tab/le-tab.d.ts +116 -0
  326. package/dist/types/components/le-tab-bar/le-tab-bar.d.ts +88 -0
  327. package/dist/types/components/le-tab-panel/le-tab-panel.d.ts +75 -0
  328. package/dist/types/components/le-tabs/le-tabs.d.ts +108 -0
  329. package/dist/types/components/le-tag/le-tag.d.ts +78 -0
  330. package/dist/types/components.d.ts +2310 -40
  331. package/dist/types/types/options.d.ts +9 -0
  332. package/package.json +3 -18
  333. package/dist/core/cjs/index-B0mg71He.js.map +0 -1
  334. package/dist/core/cjs/index.cjs.js.map +0 -1
  335. package/dist/core/cjs/le-box.entry.cjs.js.map +0 -1
  336. package/dist/core/cjs/le-button.cjs.entry.js +0 -92
  337. package/dist/core/cjs/le-button.entry.cjs.js.map +0 -1
  338. package/dist/core/cjs/le-card.cjs.entry.js +0 -29
  339. package/dist/core/cjs/le-card.entry.cjs.js.map +0 -1
  340. package/dist/core/cjs/le-checkbox.cjs.entry.js +0 -61
  341. package/dist/core/cjs/le-checkbox.entry.cjs.js.map +0 -1
  342. package/dist/core/cjs/le-kit.cjs.js +0 -25
  343. package/dist/core/cjs/le-number-input.entry.cjs.js.map +0 -1
  344. package/dist/core/cjs/le-popover.cjs.entry.js +0 -348
  345. package/dist/core/cjs/le-popover.entry.cjs.js.map +0 -1
  346. package/dist/core/cjs/le-popup.cjs.entry.js +0 -212
  347. package/dist/core/cjs/le-popup.entry.cjs.js.map +0 -1
  348. package/dist/core/cjs/le-round-progress.entry.cjs.js.map +0 -1
  349. package/dist/core/cjs/le-stack.entry.cjs.js.map +0 -1
  350. package/dist/core/cjs/le-string-input.cjs.entry.js +0 -95
  351. package/dist/core/cjs/le-string-input.entry.cjs.js.map +0 -1
  352. package/dist/core/cjs/le-text.entry.cjs.js.map +0 -1
  353. package/dist/core/cjs/le-turntable.entry.cjs.js.map +0 -1
  354. package/dist/core/cjs/loader.cjs.js +0 -13
  355. package/dist/core/cjs/utils-jdqP71LP.js.map +0 -1
  356. package/dist/core/collection/components/le-box/le-box.js.map +0 -1
  357. package/dist/core/collection/components/le-button/le-button.js.map +0 -1
  358. package/dist/core/collection/components/le-card/le-card.js.map +0 -1
  359. package/dist/core/collection/components/le-checkbox/le-checkbox.js.map +0 -1
  360. package/dist/core/collection/components/le-number-input/le-number-input.js.map +0 -1
  361. package/dist/core/collection/components/le-popover/le-popover.js.map +0 -1
  362. package/dist/core/collection/components/le-popup/le-popup.api.js.map +0 -1
  363. package/dist/core/collection/components/le-popup/le-popup.js.map +0 -1
  364. package/dist/core/collection/components/le-round-progress/le-round-progress.js.map +0 -1
  365. package/dist/core/collection/components/le-stack/le-stack.js.map +0 -1
  366. package/dist/core/collection/components/le-string-input/le-string-input.js.map +0 -1
  367. package/dist/core/collection/components/le-text/le-text.js.map +0 -1
  368. package/dist/core/collection/components/le-turntable/le-turntable.js.map +0 -1
  369. package/dist/core/collection/global/app.js.map +0 -1
  370. package/dist/core/collection/index.js.map +0 -1
  371. package/dist/core/collection/types/blocks.js.map +0 -1
  372. package/dist/core/collection/types/options.js.map +0 -1
  373. package/dist/core/collection/utils/utils.js.map +0 -1
  374. package/dist/core/components/index.d.ts +0 -33
  375. package/dist/core/components/index.js.map +0 -1
  376. package/dist/core/components/le-box.d.ts +0 -11
  377. package/dist/core/components/le-box.js.map +0 -1
  378. package/dist/core/components/le-button.d.ts +0 -11
  379. package/dist/core/components/le-button2.js.map +0 -1
  380. package/dist/core/components/le-card.d.ts +0 -11
  381. package/dist/core/components/le-card.js.map +0 -1
  382. package/dist/core/components/le-checkbox.d.ts +0 -11
  383. package/dist/core/components/le-component.d.ts +0 -11
  384. package/dist/core/components/le-number-input.d.ts +0 -11
  385. package/dist/core/components/le-number-input.js.map +0 -1
  386. package/dist/core/components/le-popover.d.ts +0 -11
  387. package/dist/core/components/le-popover2.js.map +0 -1
  388. package/dist/core/components/le-popup.d.ts +0 -11
  389. package/dist/core/components/le-popup.js +0 -279
  390. package/dist/core/components/le-popup.js.map +0 -1
  391. package/dist/core/components/le-round-progress.d.ts +0 -11
  392. package/dist/core/components/le-slot.d.ts +0 -11
  393. package/dist/core/components/le-stack.d.ts +0 -11
  394. package/dist/core/components/le-stack.js.map +0 -1
  395. package/dist/core/components/le-string-input.d.ts +0 -11
  396. package/dist/core/components/le-text.d.ts +0 -11
  397. package/dist/core/components/le-text.js.map +0 -1
  398. package/dist/core/components/le-turntable.d.ts +0 -11
  399. package/dist/core/esm/index-SKsXnjWI.js.map +0 -1
  400. package/dist/core/esm/index.js.map +0 -1
  401. package/dist/core/esm/le-box.entry.js +0 -182
  402. package/dist/core/esm/le-box.entry.js.map +0 -1
  403. package/dist/core/esm/le-button.entry.js +0 -90
  404. package/dist/core/esm/le-button.entry.js.map +0 -1
  405. package/dist/core/esm/le-card.entry.js +0 -27
  406. package/dist/core/esm/le-card.entry.js.map +0 -1
  407. package/dist/core/esm/le-checkbox.entry.js +0 -59
  408. package/dist/core/esm/le-checkbox.entry.js.map +0 -1
  409. package/dist/core/esm/le-kit.js +0 -21
  410. package/dist/core/esm/le-number-input.entry.js +0 -200
  411. package/dist/core/esm/le-number-input.entry.js.map +0 -1
  412. package/dist/core/esm/le-popover.entry.js +0 -346
  413. package/dist/core/esm/le-popover.entry.js.map +0 -1
  414. package/dist/core/esm/le-popup.entry.js +0 -210
  415. package/dist/core/esm/le-popup.entry.js.map +0 -1
  416. package/dist/core/esm/le-round-progress.entry.js.map +0 -1
  417. package/dist/core/esm/le-stack.entry.js +0 -133
  418. package/dist/core/esm/le-stack.entry.js.map +0 -1
  419. package/dist/core/esm/le-string-input.entry.js +0 -93
  420. package/dist/core/esm/le-string-input.entry.js.map +0 -1
  421. package/dist/core/esm/le-text.entry.js +0 -333
  422. package/dist/core/esm/le-text.entry.js.map +0 -1
  423. package/dist/core/esm/le-turntable.entry.js.map +0 -1
  424. package/dist/core/esm/loader.js +0 -11
  425. package/dist/core/esm/utils-DZdP1JiG.js +0 -146
  426. package/dist/core/esm/utils-DZdP1JiG.js.map +0 -1
  427. package/dist/core/le-kit/index.esm.js +0 -2
  428. package/dist/core/le-kit/index.esm.js.map +0 -1
  429. package/dist/core/le-kit/le-box.entry.esm.js.map +0 -1
  430. package/dist/core/le-kit/le-button.entry.esm.js.map +0 -1
  431. package/dist/core/le-kit/le-card.entry.esm.js.map +0 -1
  432. package/dist/core/le-kit/le-checkbox.entry.esm.js.map +0 -1
  433. package/dist/core/le-kit/le-kit.css +0 -1
  434. package/dist/core/le-kit/le-kit.esm.js +0 -2
  435. package/dist/core/le-kit/le-kit.esm.js.map +0 -1
  436. package/dist/core/le-kit/le-number-input.entry.esm.js.map +0 -1
  437. package/dist/core/le-kit/le-popover.entry.esm.js.map +0 -1
  438. package/dist/core/le-kit/le-popup.entry.esm.js.map +0 -1
  439. package/dist/core/le-kit/le-round-progress.entry.esm.js.map +0 -1
  440. package/dist/core/le-kit/le-stack.entry.esm.js.map +0 -1
  441. package/dist/core/le-kit/le-string-input.entry.esm.js.map +0 -1
  442. package/dist/core/le-kit/le-text.entry.esm.js.map +0 -1
  443. package/dist/core/le-kit/le-turntable.entry.esm.js.map +0 -1
  444. package/dist/core/le-kit/loader.esm.js.map +0 -1
  445. package/dist/core/le-kit/p--VxUdzYV.js.map +0 -1
  446. package/dist/core/le-kit/p-189cb775.entry.js +0 -2
  447. package/dist/core/le-kit/p-189cb775.entry.js.map +0 -1
  448. package/dist/core/le-kit/p-35c1d413.entry.js +0 -2
  449. package/dist/core/le-kit/p-35c1d413.entry.js.map +0 -1
  450. package/dist/core/le-kit/p-4f133e72.entry.js.map +0 -1
  451. package/dist/core/le-kit/p-55f70091.entry.js.map +0 -1
  452. package/dist/core/le-kit/p-5fd7b23a.entry.js +0 -2
  453. package/dist/core/le-kit/p-5fd7b23a.entry.js.map +0 -1
  454. package/dist/core/le-kit/p-6e414a5c.entry.js.map +0 -1
  455. package/dist/core/le-kit/p-7b121ca7.entry.js +0 -2
  456. package/dist/core/le-kit/p-7b121ca7.entry.js.map +0 -1
  457. package/dist/core/le-kit/p-8c81fa95.entry.js +0 -2
  458. package/dist/core/le-kit/p-8c81fa95.entry.js.map +0 -1
  459. package/dist/core/le-kit/p-9aa81442.entry.js +0 -2
  460. package/dist/core/le-kit/p-9aa81442.entry.js.map +0 -1
  461. package/dist/core/le-kit/p-SKsXnjWI.js +0 -3
  462. package/dist/core/le-kit/p-SKsXnjWI.js.map +0 -1
  463. package/dist/core/le-kit/p-a9d05ef6.entry.js.map +0 -1
  464. package/dist/core/le-kit/p-b2bd2a80.entry.js +0 -2
  465. package/dist/core/le-kit/p-b2bd2a80.entry.js.map +0 -1
  466. package/dist/core/le-kit/p-ccac9611.entry.js +0 -2
  467. package/dist/core/le-kit/p-ccac9611.entry.js.map +0 -1
  468. package/dist/core/loader/cdn.js +0 -1
  469. package/dist/core/loader/index.cjs.js +0 -1
  470. package/dist/core/loader/index.d.ts +0 -24
  471. package/dist/core/loader/index.es2017.js +0 -1
  472. package/dist/core/loader/index.js +0 -2
  473. package/dist/core/types/components/le-box/le-box.d.ts +0 -111
  474. package/dist/core/types/components/le-button/le-button.d.ts +0 -78
  475. package/dist/core/types/components/le-card/le-card.d.ts +0 -37
  476. package/dist/core/types/components/le-checkbox/le-checkbox.d.ts +0 -46
  477. package/dist/core/types/components/le-number-input/le-number-input.d.ts +0 -106
  478. package/dist/core/types/components/le-popover/le-popover.d.ts +0 -109
  479. package/dist/core/types/components/le-popup/le-popup.api.d.ts +0 -73
  480. package/dist/core/types/components/le-popup/le-popup.d.ts +0 -122
  481. package/dist/core/types/components/le-round-progress/le-round-progress.d.ts +0 -37
  482. package/dist/core/types/components/le-stack/le-stack.d.ts +0 -73
  483. package/dist/core/types/components/le-string-input/le-string-input.d.ts +0 -83
  484. package/dist/core/types/components/le-text/le-text.d.ts +0 -141
  485. package/dist/core/types/components/le-turntable/le-turntable.d.ts +0 -55
  486. package/dist/core/types/components.d.ts +0 -1752
  487. package/dist/core/types/global/app.d.ts +0 -73
  488. package/dist/core/types/index.d.ts +0 -15
  489. package/dist/core/types/stencil-public-runtime.d.ts +0 -1756
  490. package/dist/core/types/types/blocks.d.ts +0 -136
  491. package/dist/core/types/types/options.d.ts +0 -124
  492. package/dist/core/types/utils/utils.d.ts +0 -54
  493. package/dist/le-kit/index-CAY3Hk_i.js +0 -4559
  494. package/dist/le-kit/index-CAY3Hk_i.js.map +0 -1
  495. package/dist/le-kit/le-button.entry.esm.js.map +0 -1
  496. package/dist/le-kit/le-button.entry.js +0 -90
  497. package/dist/le-kit/le-checkbox.entry.esm.js.map +0 -1
  498. package/dist/le-kit/le-checkbox.entry.js +0 -59
  499. package/dist/le-kit/le-component.entry.esm.js.map +0 -1
  500. package/dist/le-kit/le-popover.entry.esm.js.map +0 -1
  501. package/dist/le-kit/le-popover.entry.js +0 -346
  502. package/dist/le-kit/le-popup.entry.esm.js.map +0 -1
  503. package/dist/le-kit/le-popup.entry.js +0 -210
  504. package/dist/le-kit/le-round-progress.entry.js +0 -104
  505. package/dist/le-kit/le-slot.entry.esm.js.map +0 -1
  506. package/dist/le-kit/le-string-input.entry.esm.js.map +0 -1
  507. package/dist/le-kit/le-string-input.entry.js +0 -93
  508. package/dist/le-kit/le-turntable.entry.js +0 -137
  509. /package/dist/{core/cjs → cjs}/le-kit.cjs.js.map +0 -0
  510. /package/dist/{core/cjs → cjs}/loader.cjs.js.map +0 -0
  511. /package/dist/{core/collection → collection}/components/le-box/le-box.default.css +0 -0
  512. /package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.css +0 -0
  513. /package/dist/{core/collection → collection}/components/le-number-input/le-number-input.css +0 -0
  514. /package/dist/{core/collection → collection}/components/le-popup/le-popup.css +0 -0
  515. /package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.css +0 -0
  516. /package/dist/{core/collection → collection}/components/le-stack/le-stack.default.css +0 -0
  517. /package/dist/{core/collection → collection}/components/le-text/le-text.default.css +0 -0
  518. /package/dist/{core/collection → collection}/components/le-turntable/le-turntable.css +0 -0
  519. /package/dist/{core/collection → collection}/global/app.js +0 -0
  520. /package/dist/{core/collection → collection}/index.js +0 -0
  521. /package/dist/{core/collection → collection}/types/blocks.js +0 -0
  522. /package/dist/{core/collection → collection}/types/options.js +0 -0
  523. /package/dist/{core/collection → collection}/utils/utils.js +0 -0
  524. /package/dist/{core/components → components}/le-button.js.map +0 -0
  525. /package/dist/{core/components → components}/le-checkbox.js.map +0 -0
  526. /package/dist/{core/components → components}/le-component.js.map +0 -0
  527. /package/dist/{core/components → components}/le-popover.js +0 -0
  528. /package/dist/{core/components → components}/le-popover.js.map +0 -0
  529. /package/dist/{core/components → components}/le-round-progress.js.map +0 -0
  530. /package/dist/{core/components → components}/le-slot.js.map +0 -0
  531. /package/dist/{core/components → components}/le-string-input.js.map +0 -0
  532. /package/dist/{core/components → components}/le-turntable.js.map +0 -0
  533. /package/dist/{core/components → components}/utils.js +0 -0
  534. /package/dist/{core/components → components}/utils.js.map +0 -0
  535. /package/dist/{core/esm → esm}/le-kit.js.map +0 -0
  536. /package/dist/{core/esm → esm}/loader.js.map +0 -0
  537. /package/dist/{core/index.cjs.js → index.cjs.js} +0 -0
  538. /package/dist/{core/index.js → index.js} +0 -0
@@ -0,0 +1,348 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-C3iQZ-Ja.js');
4
+ var utils = require('./utils-DjPcLPN9.js');
5
+
6
+ const leDropdownBaseCss = ":host{display:block;--le-dropdown-list-padding:var(--le-spacing-1);--le-dropdown-empty-padding:var(--le-spacing-4);--le-dropdown-option-radius:var(--le-radius-md);--le-dropdown-font-size:var(--le-font-size-sm);--le-dropdown-option-padding:var(--le-spacing-1) var(--le-spacing-2);--le-dropdown-group-padding:var(--le-spacing-2) var(--le-spacing-2) var(--le-spacing-1);--le-dropdown-group-font-size:var(--le-font-size-xs)}:host([disabled]){pointer-events:none;opacity:0.5}le-popover::part(content){overflow-y:auto;overflow-x:hidden;padding:var(--le-dropdown-list-padding, 0.25rem)}.dropdown-empty{padding:var(--le-dropdown-empty-padding);text-align:center;color:var(--le-color-text-secondary, #9ca3af);font-size:var(--le-dropdown-font-size)}.dropdown-group-header{padding:var(--le-dropdown-group-padding);font-size:var(--le-dropdown-group-font-size);font-weight:700;color:var(--le-color-text-secondary, #9ca3af);letter-spacing:0.05em}.dropdown-separator{height:1px;margin:var(--le-dropdown-separator-margin, 0.25rem 0);background:var(--le-color-border, #e5e7eb)}.dropdown-option{display:flex;align-items:center;gap:var(--le-dropdown-option-gap, 0.5rem);padding:var(--le-dropdown-option-padding);font-size:var(--le-dropdown-font-size, 0.875rem);line-height:1.4;color:var(--le-color-text, #1f2937);border:1px solid transparent;border-radius:var(--le-dropdown-option-radius, 0.25rem);cursor:pointer;user-select:none;transition:background-color 0.1s ease}.dropdown-option:hover,.dropdown-option.is-focused{border-color:var(--le-color-border-hover, #d1d5db)}.dropdown-option.is-disabled{opacity:0.5;cursor:not-allowed}.dropdown-option.is-disabled:hover{background:transparent}.option-checkbox{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;border:2px solid var(--le-color-border, #d1d5db);border-radius:0.25rem;background:var(--le-color-surface, #fff);flex-shrink:0}.is-selected .option-checkbox{background:var(--le-color-primary, #3b82f6);border-color:var(--le-color-primary, #3b82f6);color:white}.option-checkbox svg{width:0.75rem;height:0.75rem}.option-icon-start,.option-icon-end{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem}.option-icon-start img,.option-icon-end img{width:100%;height:100%;object-fit:contain}.option-content{flex:1;min-width:0;display:flex;flex-direction:column}.option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-description{font-size:0.75rem;color:var(--le-color-text-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-check{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--le-color-primary, #3b82f6);flex-shrink:0}.option-check svg{width:1rem;height:1rem}";
7
+
8
+ const LeDropdownBase = class {
9
+ constructor(hostRef) {
10
+ index.registerInstance(this, hostRef);
11
+ this.leOptionSelect = index.createEvent(this, "leOptionSelect");
12
+ this.leDropdownOpen = index.createEvent(this, "leDropdownOpen");
13
+ this.leDropdownClose = index.createEvent(this, "leDropdownClose");
14
+ }
15
+ get el() { return index.getElement(this); }
16
+ /**
17
+ * The options to display in the dropdown.
18
+ */
19
+ options = [];
20
+ /**
21
+ * Current value(s) - single value or array for multiselect.
22
+ */
23
+ value;
24
+ /**
25
+ * Whether multiple selection is allowed.
26
+ */
27
+ multiple = false;
28
+ /**
29
+ * Whether the dropdown is open.
30
+ */
31
+ open = false;
32
+ /**
33
+ * Whether the dropdown is disabled.
34
+ */
35
+ disabled = false;
36
+ /**
37
+ * Filter function for options.
38
+ * Return true to include the option.
39
+ */
40
+ filterFn;
41
+ /**
42
+ * Current filter query string.
43
+ */
44
+ filterQuery = '';
45
+ /**
46
+ * Placeholder text when no options match filter.
47
+ */
48
+ emptyText = 'No options';
49
+ /**
50
+ * Whether to show checkboxes for multiselect mode.
51
+ */
52
+ showCheckboxes = true;
53
+ /**
54
+ * Maximum height of the dropdown list.
55
+ */
56
+ maxHeight = '300px';
57
+ /**
58
+ * Width of the dropdown. If not set, matches trigger width.
59
+ */
60
+ width;
61
+ /**
62
+ * Sets the dropdown to full width of the trigger.
63
+ */
64
+ fullWidth = false;
65
+ /**
66
+ * Whether to close the dropdown when clicking outside.
67
+ * (used to support combobox with input focus)
68
+ */
69
+ closeOnClickOutside = true;
70
+ /**
71
+ * Emitted when an option is selected.
72
+ */
73
+ leOptionSelect;
74
+ /**
75
+ * Emitted when the dropdown opens.
76
+ */
77
+ leDropdownOpen;
78
+ /**
79
+ * Emitted when the dropdown closes.
80
+ */
81
+ leDropdownClose;
82
+ focusedIndex = -1;
83
+ filteredOptions = [];
84
+ popoverEl;
85
+ listEl;
86
+ triggerWidth = 0;
87
+ handleOptionsChange() {
88
+ this.updateFilteredOptions();
89
+ }
90
+ componentWillLoad() {
91
+ this.updateFilteredOptions();
92
+ }
93
+ updateFilteredOptions() {
94
+ // Remember previously focused option
95
+ const focusedOption = this.filteredOptions[this.focusedIndex];
96
+ if (!this.filterQuery || !this.filterFn) {
97
+ this.filteredOptions = this.options;
98
+ }
99
+ else {
100
+ this.filteredOptions = this.options.filter(opt => this.filterFn(opt, this.filterQuery));
101
+ }
102
+ // try to maintain focus on same option if still present
103
+ if (focusedOption) {
104
+ const newIndex = this.filteredOptions.indexOf(focusedOption);
105
+ this.focusedIndex = newIndex >= 0 ? newIndex : this.getInitialFocusIndex();
106
+ }
107
+ else {
108
+ this.focusedIndex = -1;
109
+ }
110
+ }
111
+ getSelectableOptions() {
112
+ return this.filteredOptions.filter(opt => !opt.disabled);
113
+ }
114
+ isSelected(option) {
115
+ const optValue = option.value ?? option.label;
116
+ if (this.multiple && Array.isArray(this.value)) {
117
+ setTimeout(() => {
118
+ this.popoverEl?.updatePosition();
119
+ }, 50);
120
+ return this.value.includes(optValue);
121
+ }
122
+ return this.value === optValue;
123
+ }
124
+ handleOptionClick(option, e) {
125
+ e.preventDefault();
126
+ e.stopPropagation();
127
+ if (option.disabled)
128
+ return;
129
+ this.leOptionSelect.emit({
130
+ value: option.value ?? option.label,
131
+ option,
132
+ });
133
+ // Close dropdown for single select
134
+ if (!this.multiple) {
135
+ this.hide();
136
+ }
137
+ }
138
+ handleKeyDown = (e) => {
139
+ if (!this.open)
140
+ return;
141
+ const optionCount = this.filteredOptions.length;
142
+ switch (e.key) {
143
+ case 'ArrowDown':
144
+ e.preventDefault();
145
+ // check for the next non-disabled option and focus
146
+ let nextIndex = this.focusedIndex < optionCount - 1 ? this.focusedIndex + 1 : 0;
147
+ while (this.filteredOptions[nextIndex].disabled) {
148
+ nextIndex = ++nextIndex < optionCount ? nextIndex : 0;
149
+ }
150
+ this.focusedIndex = nextIndex;
151
+ this.scrollToFocused();
152
+ break;
153
+ case 'ArrowUp':
154
+ e.preventDefault();
155
+ // check for the previous non-disabled option and focus
156
+ let prevIndex = this.focusedIndex > 0 ? this.focusedIndex - 1 : optionCount - 1;
157
+ while (this.filteredOptions[prevIndex].disabled) {
158
+ prevIndex = --prevIndex >= 0 ? prevIndex : optionCount - 1;
159
+ }
160
+ this.focusedIndex = prevIndex;
161
+ this.scrollToFocused();
162
+ break;
163
+ case 'Home':
164
+ e.preventDefault();
165
+ // check for the first non-disabled option and focus
166
+ let firstIndex = 0;
167
+ while (this.filteredOptions[firstIndex].disabled) {
168
+ firstIndex++;
169
+ if (firstIndex >= optionCount) {
170
+ firstIndex = -1;
171
+ break;
172
+ }
173
+ }
174
+ this.focusedIndex = firstIndex;
175
+ this.scrollToFocused();
176
+ break;
177
+ case 'End':
178
+ e.preventDefault();
179
+ // check for the last non-disabled option and focus
180
+ let lastIndex = optionCount - 1;
181
+ while (this.filteredOptions[lastIndex].disabled) {
182
+ lastIndex--;
183
+ if (lastIndex < 0) {
184
+ lastIndex = -1;
185
+ break;
186
+ }
187
+ }
188
+ this.focusedIndex = lastIndex;
189
+ this.scrollToFocused();
190
+ break;
191
+ case 'Enter':
192
+ case ' ':
193
+ e.preventDefault();
194
+ if (this.focusedIndex >= 0 && this.focusedIndex < optionCount) {
195
+ const option = this.filteredOptions[this.focusedIndex];
196
+ if (!option || option.disabled)
197
+ return;
198
+ this.leOptionSelect.emit({
199
+ value: option.value ?? option.label,
200
+ option,
201
+ });
202
+ if (!this.multiple) {
203
+ this.hide();
204
+ }
205
+ }
206
+ break;
207
+ case 'Escape':
208
+ e.preventDefault();
209
+ this.hide();
210
+ break;
211
+ case 'Tab':
212
+ this.hide();
213
+ break;
214
+ }
215
+ };
216
+ scrollToFocused() {
217
+ if (!this.listEl || this.focusedIndex < 0)
218
+ return;
219
+ const focusedEl = this.listEl.querySelector(`[data-index="${this.focusedIndex}"]`);
220
+ if (focusedEl) {
221
+ focusedEl.scrollIntoView({ block: 'nearest' });
222
+ }
223
+ }
224
+ handlePopoverOpen = () => {
225
+ this.open = true;
226
+ this.focusedIndex = this.getInitialFocusIndex();
227
+ this.leDropdownOpen.emit();
228
+ // Add keyboard listener
229
+ document.addEventListener('keydown', this.handleKeyDown);
230
+ };
231
+ handlePopoverClose = () => {
232
+ this.open = false;
233
+ this.focusedIndex = -1;
234
+ this.leDropdownClose.emit();
235
+ // Remove keyboard listener
236
+ document.removeEventListener('keydown', this.handleKeyDown);
237
+ };
238
+ getInitialFocusIndex() {
239
+ // Focus on first selected option, or first option
240
+ const selectableOptions = this.getSelectableOptions();
241
+ const selectedIndex = selectableOptions.findIndex(opt => this.isSelected(opt));
242
+ return selectedIndex >= 0 ? selectedIndex : 0;
243
+ }
244
+ /**
245
+ * Opens the dropdown.
246
+ */
247
+ async show() {
248
+ if (this.disabled)
249
+ return;
250
+ // Capture trigger width for matching dropdown width
251
+ const trigger = this.el.querySelector('[slot="trigger"]');
252
+ if (trigger) {
253
+ this.triggerWidth = trigger.offsetWidth;
254
+ }
255
+ await this.popoverEl?.show();
256
+ }
257
+ /**
258
+ * Closes the dropdown.
259
+ */
260
+ async hide() {
261
+ await this.popoverEl?.hide();
262
+ }
263
+ /**
264
+ * Toggles the dropdown.
265
+ */
266
+ async toggle() {
267
+ if (this.open) {
268
+ await this.hide();
269
+ }
270
+ else {
271
+ await this.show();
272
+ }
273
+ }
274
+ renderIcon(icon, className) {
275
+ if (!icon)
276
+ return null;
277
+ if (icon.startsWith('http') || icon.startsWith('/')) {
278
+ return index.h("img", { class: className, src: icon, alt: "" });
279
+ }
280
+ return index.h("span", { class: className }, icon);
281
+ }
282
+ renderOption(option, index$1) {
283
+ const isSelected = this.isSelected(option);
284
+ const isFocused = index$1 === this.focusedIndex;
285
+ const optionId = option.id || utils.generateId();
286
+ return (index.h("div", { class: {
287
+ 'dropdown-option': true,
288
+ 'is-selected': isSelected,
289
+ 'is-focused': isFocused,
290
+ 'is-disabled': !!option.disabled,
291
+ }, role: "option", id: optionId, "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": option.disabled ? 'true' : undefined, "data-index": index$1, onClick: e => this.handleOptionClick(option, e), onMouseEnter: () => {
292
+ if (!option.disabled) {
293
+ this.focusedIndex = index$1;
294
+ }
295
+ } }, this.renderIcon(option.iconStart, 'option-icon-start'), index.h("div", { class: "option-content" }, index.h("span", { class: "option-label" }, option.label), option.description && index.h("span", { class: "option-description" }, option.description)), this.renderIcon(option.iconEnd, 'option-icon-end'), (!this.multiple || this.showCheckboxes) && isSelected && (index.h("span", { class: "option-check" }, index.h("svg", { viewBox: "0 0 16 16", fill: "currentColor" }, index.h("path", { d: "M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z" }))))));
296
+ }
297
+ renderOptions() {
298
+ if (this.filteredOptions.length === 0) {
299
+ return index.h("div", { class: "dropdown-empty" }, this.emptyText);
300
+ }
301
+ // Group options if they have group property
302
+ const grouped = new Map();
303
+ const ungrouped = [];
304
+ this.filteredOptions.forEach(opt => {
305
+ if (opt.group) {
306
+ const group = grouped.get(opt.group) || [];
307
+ group.push(opt);
308
+ grouped.set(opt.group, group);
309
+ }
310
+ else {
311
+ ungrouped.push(opt);
312
+ }
313
+ });
314
+ // Build flat list with group headers for index tracking
315
+ let globalIndex = 0;
316
+ const elements = [];
317
+ // Render ungrouped options first
318
+ ungrouped.forEach(opt => {
319
+ if (opt.separator === 'before') {
320
+ elements.push(index.h("div", { class: "dropdown-separator", role: "separator" }));
321
+ }
322
+ elements.push(this.renderOption(opt, globalIndex++));
323
+ if (opt.separator === 'after') {
324
+ elements.push(index.h("div", { class: "dropdown-separator", role: "separator" }));
325
+ }
326
+ });
327
+ // Render grouped options
328
+ grouped.forEach((options, groupLabel) => {
329
+ elements.push(index.h("div", { class: "dropdown-group-header", role: "presentation" }, groupLabel));
330
+ options.forEach(opt => {
331
+ elements.push(this.renderOption(opt, globalIndex++));
332
+ });
333
+ });
334
+ return elements;
335
+ }
336
+ render() {
337
+ const dropdownWidth = this.width || (this.triggerWidth ? `${this.triggerWidth}px` : undefined);
338
+ return (index.h(index.Host, { key: 'c074cbfbc9a802ed01935b27baa6d0074d87c2e1' }, index.h("le-popover", { key: 'c5ff7f61f81df0f482e6a809a85f29ac73674de6', ref: el => (this.popoverEl = el), position: "bottom", align: "start", showClose: false, closeOnClickOutside: this.closeOnClickOutside, closeOnEscape: true, offset: 4, width: dropdownWidth, minWidth: "150px", "trigger-full-width": this.fullWidth, onLePopoverOpen: this.handlePopoverOpen, onLePopoverClose: this.handlePopoverClose }, index.h("slot", { key: 'b5ce8dba5357be102e282f10d0041cdd5ee11cb4', name: "trigger", slot: "trigger" }), index.h("slot", { key: '2534ee79fab3b7a1a44c61ab7e977c6f2f2be4d7', name: "header" }), index.h("div", { key: 'fd37d09cca2c96557030df201e095fab7a441fd9', class: "dropdown-list", role: "listbox", "aria-multiselectable": this.multiple ? 'true' : undefined, ref: el => (this.listEl = el), style: { maxHeight: this.maxHeight } }, this.renderOptions()))));
339
+ }
340
+ static get watchers() { return {
341
+ "options": ["handleOptionsChange"],
342
+ "filterQuery": ["handleOptionsChange"]
343
+ }; }
344
+ };
345
+ LeDropdownBase.style = leDropdownBaseCss;
346
+
347
+ exports.le_dropdown_base = LeDropdownBase;
348
+ //# sourceMappingURL=le-dropdown-base.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"le-dropdown-base.entry.cjs.js","sources":["src/components/le-dropdown-base/le-dropdown-base.css?tag=le-dropdown-base&encapsulation=shadow","src/components/le-dropdown-base/le-dropdown-base.tsx"],"sourcesContent":["/**\n * le-dropdown-base component styles\n *\n * Internal component - minimal styling, meant to be customized\n * by wrapper components (le-select, le-combobox, etc.)\n */\n\n:host {\n display: block;\n --le-dropdown-list-padding: var(--le-spacing-1);\n --le-dropdown-empty-padding: var(--le-spacing-4);\n --le-dropdown-option-radius: var(--le-radius-md);\n --le-dropdown-font-size: var(--le-font-size-sm);\n --le-dropdown-option-padding: var(--le-spacing-1) var(--le-spacing-2);\n --le-dropdown-group-padding: var(--le-spacing-2) var(--le-spacing-2) var(--le-spacing-1);\n --le-dropdown-group-font-size: var(--le-font-size-xs);\n}\n\n:host([disabled]) {\n pointer-events: none;\n opacity: 0.5;\n}\n\n/* Dropdown list container */\nle-popover::part(content) {\n overflow-y: auto;\n overflow-x: hidden;\n padding: var(--le-dropdown-list-padding, 0.25rem);\n}\n\n/* Empty state */\n.dropdown-empty {\n padding: var(--le-dropdown-empty-padding);\n text-align: center;\n color: var(--le-color-text-secondary, #9ca3af);\n font-size: var(--le-dropdown-font-size);\n}\n\n/* Group header */\n.dropdown-group-header {\n padding: var(--le-dropdown-group-padding);\n font-size: var(--le-dropdown-group-font-size);\n font-weight: 700;\n color: var(--le-color-text-secondary, #9ca3af);\n letter-spacing: 0.05em;\n}\n\n/* Separator */\n.dropdown-separator {\n height: 1px;\n margin: var(--le-dropdown-separator-margin, 0.25rem 0);\n background: var(--le-color-border, #e5e7eb);\n}\n\n/* Option item */\n.dropdown-option {\n display: flex;\n align-items: center;\n gap: var(--le-dropdown-option-gap, 0.5rem);\n padding: var(--le-dropdown-option-padding);\n font-size: var(--le-dropdown-font-size, 0.875rem);\n line-height: 1.4;\n color: var(--le-color-text, #1f2937);\n border: 1px solid transparent;\n border-radius: var(--le-dropdown-option-radius, 0.25rem);\n cursor: pointer;\n user-select: none;\n transition: background-color 0.1s ease;\n}\n\n.dropdown-option:hover,\n.dropdown-option.is-focused {\n border-color: var(--le-color-border-hover, #d1d5db);\n}\n\n.dropdown-option.is-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.dropdown-option.is-disabled:hover {\n background: transparent;\n}\n\n/* Checkbox for multiselect */\n.option-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n height: 1rem;\n border: 2px solid var(--le-color-border, #d1d5db);\n border-radius: 0.25rem;\n background: var(--le-color-surface, #fff);\n flex-shrink: 0;\n}\n\n.is-selected .option-checkbox {\n background: var(--le-color-primary, #3b82f6);\n border-color: var(--le-color-primary, #3b82f6);\n color: white;\n}\n\n.option-checkbox svg {\n width: 0.75rem;\n height: 0.75rem;\n}\n\n/* Icons */\n.option-icon-start,\n.option-icon-end {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1.25rem;\n height: 1.25rem;\n}\n\n.option-icon-start img,\n.option-icon-end img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n/* Content */\n.option-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n.option-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.option-description {\n font-size: 0.75rem;\n color: var(--le-color-text-muted, #6b7280);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Check mark for single select */\n.option-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n height: 1rem;\n color: var(--le-color-primary, #3b82f6);\n flex-shrink: 0;\n}\n\n.option-check svg {\n width: 1rem;\n height: 1rem;\n}\n","import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n Method,\n Element,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport { LeOption, LeOptionValue, LeOptionSelectDetail } from '../../types/options';\nimport { generateId } from '../../utils/utils';\n\n/**\n * Internal dropdown base component that provides shared functionality\n * for select, combobox, and multiselect components.\n *\n * Wraps le-popover for positioning and provides:\n * - Option list rendering with groups\n * - Keyboard navigation (↑↓, Enter, Escape, Home/End)\n * - Option filtering support\n * - Single and multi-select modes\n *\n * @cmsInternal true\n * @cmsCategory System\n *\n * @slot trigger - The element that triggers the dropdown\n */\n@Component({\n tag: 'le-dropdown-base',\n styleUrl: 'le-dropdown-base.css',\n shadow: true,\n})\nexport class LeDropdownBase {\n @Element() el: HTMLElement;\n\n /**\n * The options to display in the dropdown.\n */\n @Prop() options: LeOption[] = [];\n\n /**\n * Current value(s) - single value or array for multiselect.\n */\n @Prop() value?: LeOptionValue | LeOptionValue[];\n\n /**\n * Whether multiple selection is allowed.\n */\n @Prop() multiple: boolean = false;\n\n /**\n * Whether the dropdown is open.\n */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /**\n * Whether the dropdown is disabled.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Filter function for options.\n * Return true to include the option.\n */\n @Prop() filterFn?: (option: LeOption, query: string) => boolean;\n\n /**\n * Current filter query string.\n */\n @Prop() filterQuery: string = '';\n\n /**\n * Placeholder text when no options match filter.\n */\n @Prop() emptyText: string = 'No options';\n\n /**\n * Whether to show checkboxes for multiselect mode.\n */\n @Prop() showCheckboxes: boolean = true;\n\n /**\n * Maximum height of the dropdown list.\n */\n @Prop() maxHeight: string = '300px';\n\n /**\n * Width of the dropdown. If not set, matches trigger width.\n */\n @Prop() width?: string;\n\n /**\n * Sets the dropdown to full width of the trigger.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * Whether to close the dropdown when clicking outside.\n * (used to support combobox with input focus)\n */\n @Prop() closeOnClickOutside: boolean = true;\n\n /**\n * Emitted when an option is selected.\n */\n @Event() leOptionSelect: EventEmitter<LeOptionSelectDetail>;\n\n /**\n * Emitted when the dropdown opens.\n */\n @Event() leDropdownOpen: EventEmitter<void>;\n\n /**\n * Emitted when the dropdown closes.\n */\n @Event() leDropdownClose: EventEmitter<void>;\n\n @State() private focusedIndex: number = -1;\n @State() private filteredOptions: LeOption[] = [];\n\n private popoverEl?: HTMLLePopoverElement;\n private listEl?: HTMLElement;\n private triggerWidth: number = 0;\n\n @Watch('options')\n @Watch('filterQuery')\n handleOptionsChange() {\n this.updateFilteredOptions();\n }\n\n componentWillLoad() {\n this.updateFilteredOptions();\n }\n\n private updateFilteredOptions() {\n // Remember previously focused option\n const focusedOption = this.filteredOptions[this.focusedIndex];\n\n if (!this.filterQuery || !this.filterFn) {\n this.filteredOptions = this.options;\n } else {\n this.filteredOptions = this.options.filter(opt => this.filterFn!(opt, this.filterQuery));\n }\n\n // try to maintain focus on same option if still present\n if (focusedOption) {\n const newIndex = this.filteredOptions.indexOf(focusedOption);\n this.focusedIndex = newIndex >= 0 ? newIndex : this.getInitialFocusIndex();\n } else {\n this.focusedIndex = -1;\n }\n }\n\n private getSelectableOptions(): LeOption[] {\n return this.filteredOptions.filter(opt => !opt.disabled);\n }\n\n private isSelected(option: LeOption): boolean {\n const optValue = option.value ?? option.label;\n if (this.multiple && Array.isArray(this.value)) {\n setTimeout(() => {\n this.popoverEl?.updatePosition();\n }, 50);\n return this.value.includes(optValue);\n }\n return this.value === optValue;\n }\n\n private handleOptionClick(option: LeOption, e: MouseEvent) {\n e.preventDefault();\n e.stopPropagation();\n\n if (option.disabled) return;\n\n this.leOptionSelect.emit({\n value: option.value ?? option.label,\n option,\n });\n\n // Close dropdown for single select\n if (!this.multiple) {\n this.hide();\n }\n }\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (!this.open) return;\n\n const optionCount = this.filteredOptions.length;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n // check for the next non-disabled option and focus\n let nextIndex = this.focusedIndex < optionCount - 1 ? this.focusedIndex + 1 : 0;\n while (this.filteredOptions[nextIndex].disabled) {\n nextIndex = ++nextIndex < optionCount ? nextIndex : 0;\n }\n this.focusedIndex = nextIndex;\n this.scrollToFocused();\n break;\n\n case 'ArrowUp':\n e.preventDefault();\n // check for the previous non-disabled option and focus\n let prevIndex = this.focusedIndex > 0 ? this.focusedIndex - 1 : optionCount - 1;\n while (this.filteredOptions[prevIndex].disabled) {\n prevIndex = --prevIndex >= 0 ? prevIndex : optionCount - 1;\n }\n this.focusedIndex = prevIndex;\n this.scrollToFocused();\n break;\n\n case 'Home':\n e.preventDefault();\n // check for the first non-disabled option and focus\n let firstIndex = 0;\n while (this.filteredOptions[firstIndex].disabled) {\n firstIndex++;\n if (firstIndex >= optionCount) {\n firstIndex = -1;\n break;\n }\n }\n this.focusedIndex = firstIndex;\n this.scrollToFocused();\n break;\n\n case 'End':\n e.preventDefault();\n // check for the last non-disabled option and focus\n let lastIndex = optionCount - 1;\n while (this.filteredOptions[lastIndex].disabled) {\n lastIndex--;\n if (lastIndex < 0) {\n lastIndex = -1;\n break;\n }\n }\n this.focusedIndex = lastIndex;\n this.scrollToFocused();\n break;\n\n case 'Enter':\n case ' ':\n e.preventDefault();\n if (this.focusedIndex >= 0 && this.focusedIndex < optionCount) {\n const option = this.filteredOptions[this.focusedIndex];\n if (!option || option.disabled) return;\n this.leOptionSelect.emit({\n value: option.value ?? option.label,\n option,\n });\n if (!this.multiple) {\n this.hide();\n }\n }\n break;\n\n case 'Escape':\n e.preventDefault();\n this.hide();\n break;\n\n case 'Tab':\n this.hide();\n break;\n }\n };\n\n private scrollToFocused() {\n if (!this.listEl || this.focusedIndex < 0) return;\n\n const focusedEl = this.listEl.querySelector(\n `[data-index=\"${this.focusedIndex}\"]`,\n ) as HTMLElement;\n if (focusedEl) {\n focusedEl.scrollIntoView({ block: 'nearest' });\n }\n }\n\n private handlePopoverOpen = () => {\n this.open = true;\n this.focusedIndex = this.getInitialFocusIndex();\n this.leDropdownOpen.emit();\n\n // Add keyboard listener\n document.addEventListener('keydown', this.handleKeyDown);\n };\n\n private handlePopoverClose = () => {\n this.open = false;\n this.focusedIndex = -1;\n this.leDropdownClose.emit();\n\n // Remove keyboard listener\n document.removeEventListener('keydown', this.handleKeyDown);\n };\n\n private getInitialFocusIndex(): number {\n // Focus on first selected option, or first option\n const selectableOptions = this.getSelectableOptions();\n const selectedIndex = selectableOptions.findIndex(opt => this.isSelected(opt));\n return selectedIndex >= 0 ? selectedIndex : 0;\n }\n\n /**\n * Opens the dropdown.\n */\n @Method()\n async show() {\n if (this.disabled) return;\n\n // Capture trigger width for matching dropdown width\n const trigger = this.el.querySelector('[slot=\"trigger\"]') as HTMLElement;\n if (trigger) {\n this.triggerWidth = trigger.offsetWidth;\n }\n\n await this.popoverEl?.show();\n }\n\n /**\n * Closes the dropdown.\n */\n @Method()\n async hide() {\n await this.popoverEl?.hide();\n }\n\n /**\n * Toggles the dropdown.\n */\n @Method()\n async toggle() {\n if (this.open) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n\n private renderIcon(icon: string | undefined, className: string) {\n if (!icon) return null;\n\n if (icon.startsWith('http') || icon.startsWith('/')) {\n return <img class={className} src={icon} alt=\"\" />;\n }\n\n return <span class={className}>{icon}</span>;\n }\n\n private renderOption(option: LeOption, index: number) {\n const isSelected = this.isSelected(option);\n const isFocused = index === this.focusedIndex;\n const optionId = option.id || generateId();\n\n return (\n <div\n class={{\n 'dropdown-option': true,\n 'is-selected': isSelected,\n 'is-focused': isFocused,\n 'is-disabled': !!option.disabled,\n }}\n role=\"option\"\n id={optionId}\n aria-selected={isSelected ? 'true' : 'false'}\n aria-disabled={option.disabled ? 'true' : undefined}\n data-index={index}\n onClick={e => this.handleOptionClick(option, e)}\n onMouseEnter={() => {\n if (!option.disabled) {\n this.focusedIndex = index;\n }\n }}\n >\n {this.renderIcon(option.iconStart, 'option-icon-start')}\n <div class=\"option-content\">\n <span class=\"option-label\">{option.label}</span>\n {option.description && <span class=\"option-description\">{option.description}</span>}\n </div>\n {this.renderIcon(option.iconEnd, 'option-icon-end')}\n {(!this.multiple || this.showCheckboxes) && isSelected && (\n <span class=\"option-check\">\n <svg viewBox=\"0 0 16 16\" fill=\"currentColor\">\n <path d=\"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z\" />\n </svg>\n </span>\n )}\n </div>\n );\n }\n\n private renderOptions() {\n if (this.filteredOptions.length === 0) {\n return <div class=\"dropdown-empty\">{this.emptyText}</div>;\n }\n\n // Group options if they have group property\n const grouped = new Map<string, LeOption[]>();\n const ungrouped: LeOption[] = [];\n\n this.filteredOptions.forEach(opt => {\n if (opt.group) {\n const group = grouped.get(opt.group) || [];\n group.push(opt);\n grouped.set(opt.group, group);\n } else {\n ungrouped.push(opt);\n }\n });\n\n // Build flat list with group headers for index tracking\n let globalIndex = 0;\n const elements: any[] = [];\n\n // Render ungrouped options first\n ungrouped.forEach(opt => {\n if (opt.separator === 'before') {\n elements.push(<div class=\"dropdown-separator\" role=\"separator\" />);\n }\n elements.push(this.renderOption(opt, globalIndex++));\n if (opt.separator === 'after') {\n elements.push(<div class=\"dropdown-separator\" role=\"separator\" />);\n }\n });\n\n // Render grouped options\n grouped.forEach((options, groupLabel) => {\n elements.push(\n <div class=\"dropdown-group-header\" role=\"presentation\">\n {groupLabel}\n </div>,\n );\n options.forEach(opt => {\n elements.push(this.renderOption(opt, globalIndex++));\n });\n });\n\n return elements;\n }\n\n render() {\n const dropdownWidth = this.width || (this.triggerWidth ? `${this.triggerWidth}px` : undefined);\n\n return (\n <Host>\n <le-popover\n ref={el => (this.popoverEl = el)}\n position=\"bottom\"\n align=\"start\"\n showClose={false}\n closeOnClickOutside={this.closeOnClickOutside}\n closeOnEscape={true}\n offset={4}\n width={dropdownWidth}\n minWidth=\"150px\"\n trigger-full-width={this.fullWidth}\n onLePopoverOpen={this.handlePopoverOpen}\n onLePopoverClose={this.handlePopoverClose}\n >\n <slot name=\"trigger\" slot=\"trigger\" />\n <slot name=\"header\" />\n <div\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-multiselectable={this.multiple ? 'true' : undefined}\n ref={el => (this.listEl = el)}\n style={{ maxHeight: this.maxHeight }}\n >\n {this.renderOptions()}\n </div>\n </le-popover>\n </Host>\n );\n }\n}\n"],"names":["h","index","generateId","Host"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-C3iQZ-Ja.js');
4
+
5
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
6
+ /*
7
+ Stencil Client Patch Browser v4.38.3 | MIT Licensed | https://stenciljs.com
8
+ */
9
+
10
+ var patchBrowser = () => {
11
+ const importMeta = (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('le-kit.cjs.js', document.baseURI).href));
12
+ const opts = {};
13
+ if (importMeta !== "") {
14
+ opts.resourcesUrl = new URL(".", importMeta).href;
15
+ }
16
+ return index.promiseResolve(opts);
17
+ };
18
+
19
+ patchBrowser().then(async (options) => {
20
+ await index.globalScripts();
21
+ return index.bootstrapLazy([["le-button_7.cjs",[[769,"le-button",{"mode":[1537],"variant":[1],"color":[1],"size":[1],"selected":[4],"fullWidth":[516,"full-width"],"iconOnly":[1,"icon-only"],"iconStart":[1,"icon-start"],"iconEnd":[1,"icon-end"],"disabled":[4],"type":[1],"href":[1],"target":[1],"align":[1]}],[769,"le-checkbox",{"checked":[1540],"disabled":[4],"name":[1],"value":[1],"externalId":[1,"external-id"]}],[769,"le-component",{"component":[1],"displayName":[1,"display-name"],"hostClass":[1,"host-class"],"hostStyle":[16],"adminMode":[32],"componentMeta":[32],"propertyValues":[32]}],[769,"le-popup",{"mode":[1537],"open":[1540],"type":[1],"popupTitle":[1,"popup-title"],"message":[1],"modal":[4],"position":[1],"confirmText":[1,"confirm-text"],"cancelText":[1,"cancel-text"],"placeholder":[1],"defaultValue":[1,"default-value"],"closeOnBackdrop":[4,"close-on-backdrop"],"inputValue":[32],"show":[64],"hide":[64]}],[769,"le-slot",{"type":[1],"name":[1],"label":[1],"description":[1],"allowedComponents":[1,"allowed-components"],"multiple":[4],"required":[4],"placeholder":[1],"tag":[1],"slotStyle":[1,"slot-style"],"adminMode":[32],"textValue":[32],"isValidHtml":[32],"availableComponents":[32],"pickerOpen":[32]}],[769,"le-string-input",{"inputRef":[16],"mode":[1537],"value":[1537],"name":[1],"type":[1],"label":[1],"iconStart":[1,"icon-start"],"iconEnd":[1,"icon-end"],"placeholder":[1],"hideDescription":[4,"hide-description"],"disabled":[4],"readonly":[4],"externalId":[1,"external-id"]}],[769,"le-popover",{"mode":[1537],"open":[1540],"position":[1],"align":[1],"popoverTitle":[1,"popover-title"],"showClose":[4,"show-close"],"closeOnClickOutside":[4,"close-on-click-outside"],"closeOnEscape":[4,"close-on-escape"],"offset":[2],"width":[1],"minWidth":[1,"min-width"],"maxWidth":[1,"max-width"],"triggerFullWidth":[4,"trigger-full-width"],"isPositioned":[32],"updatePosition":[64],"show":[64],"hide":[64],"toggle":[64]}]]],["le-multiselect.cjs",[[769,"le-multiselect",{"options":[1],"value":[1040],"placeholder":[1],"disabled":[516],"required":[4],"name":[1],"fullWidth":[516,"full-width"],"size":[513],"maxSelections":[2,"max-selections"],"showSelectAll":[1032,"show-select-all"],"searchable":[4],"emptyText":[1,"empty-text"],"open":[1540],"selectAllLabel":[32],"deselectAllLabel":[32],"selectedOptions":[32],"searchQuery":[32],"showDropdown":[64],"hideDropdown":[64],"clearSelection":[64]},null,{"value":["handleValueChange"],"options":["handleOptionsChange"],"showSelectAll":["handleShowSelectAllChange"]}]]],["le-combobox.cjs",[[769,"le-combobox",{"options":[1],"value":[1032],"placeholder":[1],"disabled":[516],"required":[4],"name":[1],"fullWidth":[516,"full-width"],"size":[513],"allowCustom":[4,"allow-custom"],"minSearchLength":[2,"min-search-length"],"emptyText":[1,"empty-text"],"open":[1540],"inputValue":[32],"selectedOption":[32],"showDropdown":[64],"hideDropdown":[64],"focusInput":[64]},[[8,"click","handleWindowClick"]],{"value":["handleValueChange"],"options":["handleOptionsChange"]}]]],["le-segmented-control.cjs",[[769,"le-segmented-control",{"options":[16],"value":[1032],"size":[1],"overflow":[1],"fullWidth":[4,"full-width"],"disabled":[4],"segmentConfigs":[32],"focusedIndex":[32],"isDeclarativeMode":[32]},[[0,"slotchange","handleSlotChange"]],{"options":["tabsChanged"]}]]],["le-select.cjs",[[769,"le-select",{"options":[1],"value":[1032],"placeholder":[1],"disabled":[516],"required":[4],"name":[1],"fullWidth":[4,"full-width"],"size":[513],"variant":[513],"searchable":[4],"emptyText":[1,"empty-text"],"open":[1540],"selectedOption":[32],"searchQuery":[32],"showDropdown":[64],"hideDropdown":[64]},null,{"value":["handleValueChange"],"options":["handleOptionsChange"]}]]],["le-tab-bar.cjs",[[769,"le-tab-bar",{"tabs":[16],"selected":[1032],"fullWidth":[4,"full-width"],"showLabels":[4,"show-labels"],"position":[1],"size":[1],"bordered":[4],"tabConfigs":[32],"isDeclarativeMode":[32],"focusedIndex":[32]},[[0,"slotchange","handleSlotChange"]],{"selected":["selectedChanged"],"tabs":["tabsChanged"]}]]],["le-tabs.cjs",[[769,"le-tabs",{"tabs":[16],"selected":[1032],"orientation":[1],"position":[1],"variant":[1],"fullWidth":[4,"full-width"],"size":[1],"wrap":[4],"overflow":[1],"tabConfigs":[32],"focusedIndex":[32],"isDeclarativeMode":[32]},[[0,"slotchange","handleSlotChange"]],{"selected":["selectedChanged"],"tabs":["tabsChanged"]}]]],["le-box.cjs",[[769,"le-box",{"grow":[2],"shrink":[2],"basis":[1],"width":[1],"height":[1],"minWidth":[1,"min-width"],"maxWidth":[1,"max-width"],"minHeight":[1,"min-height"],"maxHeight":[1,"max-height"],"background":[1],"borderRadius":[1,"border-radius"],"border":[1],"alignSelf":[1,"align-self"],"alignContent":[1,"align-content"],"justifyContent":[1,"justify-content"],"padding":[1],"order":[2],"displayFlex":[4,"display-flex"],"innerDirection":[1,"inner-direction"],"innerGap":[1,"inner-gap"]}]]],["le-card.cjs",[[769,"le-card",{"variant":[1],"interactive":[4]}]]],["le-number-input.cjs",[[769,"le-number-input",{"value":[1538],"name":[1],"label":[1],"placeholder":[1],"min":[2],"max":[2],"step":[2],"required":[4],"disabled":[4],"readonly":[4],"iconStart":[1,"icon-start"],"showSpinners":[4,"show-spinners"],"externalId":[1,"external-id"],"isValid":[32],"validationMessage":[32]},null,{"value":["valueChanged"]}]]],["le-stack.cjs",[[769,"le-stack",{"direction":[1],"gap":[1],"align":[1],"justify":[1],"wrap":[4],"alignContent":[1,"align-content"],"reverse":[4],"maxItems":[2,"max-items"],"fullWidth":[4,"full-width"],"fullHeight":[4,"full-height"],"padding":[1]}]]],["le-tab-panel.cjs",[[769,"le-tab-panel",{"label":[1],"value":[1],"iconStart":[1,"icon-start"],"iconEnd":[1,"icon-end"],"disabled":[4],"lazy":[4],"active":[32],"hasBeenActive":[32],"getValue":[64],"getTabConfig":[64],"setActive":[64]},null,{"active":["activeChanged"]}]]],["le-text.cjs",[[769,"le-text",{"variant":[1537],"align":[513],"color":[1],"truncate":[4],"maxLines":[2,"max-lines"],"adminMode":[32],"content":[32],"isFocused":[32],"selectionState":[32]},null,{"variant":["onVariantChange"]}]]],["le-round-progress.cjs",[[769,"le-round-progress",{"value":[2],"padding":[2],"paths":[1],"params":[32]},null,{"value":["updateValue"],"padding":["updatePadding"],"paths":["updateProgressBackgrounds"]}]]],["le-turntable.cjs",[[769,"le-turntable",{"center":[1],"value":[2]},[[9,"mousemove","handleMouseMove"],[9,"mouseup","handleMouseUp"],[9,"resize","handleWindowResize"]],{"value":["updateValue"]}]]],["le-tag.cjs",[[769,"le-tag",{"label":[1],"mode":[1537],"icon":[1],"dismissible":[4],"disabled":[516],"size":[513],"variant":[513]}]]],["le-tab.cjs",[[769,"le-tab",{"mode":[1537],"label":[1],"value":[1],"variant":[1],"position":[1],"size":[1],"focusable":[4],"selected":[4],"fullWidth":[516,"full-width"],"icon":[1],"showLabel":[4,"show-label"],"iconStart":[1,"icon-start"],"iconEnd":[1,"icon-end"],"disabled":[4],"href":[1],"target":[1],"align":[1],"getTabConfig":[64]}]]],["le-dropdown-base.cjs",[[769,"le-dropdown-base",{"options":[16],"value":[8],"multiple":[4],"open":[1540],"disabled":[516],"filterFn":[16],"filterQuery":[1,"filter-query"],"emptyText":[1,"empty-text"],"showCheckboxes":[4,"show-checkboxes"],"maxHeight":[1,"max-height"],"width":[1],"fullWidth":[4,"full-width"],"closeOnClickOutside":[4,"close-on-click-outside"],"focusedIndex":[32],"filteredOptions":[32],"show":[64],"hide":[64],"toggle":[64]},null,{"options":["handleOptionsChange"],"filterQuery":["handleOptionsChange"]}]]]], options);
22
+ });
23
+
24
+ exports.setNonce = index.setNonce;
25
+ //# sourceMappingURL=le-kit.cjs.js.map