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
@@ -7,19 +7,22 @@
7
7
 
8
8
  /* Component-specific tokens */
9
9
  --le-button-border-radius: var(--le-radius-md);
10
- --le-button-padding-x: 0.4rem;
11
- --le-button-padding-y: 0.4rem;
10
+ --le-button-padding-x: var(--le-spacing-3);
11
+ --le-button-padding-y: var(--le-spacing-1);
12
+ --le-button-padding: var(--le-button-padding-y) var(--le-button-padding-x);
12
13
  --le-button-small-padding: 0.25rem;
13
14
  --le-button-font-size: var(--le-font-size-md);
14
15
  --le-button-font-weight: var(--le-font-weight-medium);
15
16
  --le-button-transition: var(--le-transition-fast);
17
+ --le-transition-easing: ease-in-out;
16
18
  --le-button-icon-aspect-ratio: 1;
19
+ --le-button-color: var(--le-color-primary-contrast);
17
20
 
18
21
  /* Internal state variables - set by color classes */
19
22
  --_btn-bg: var(--le-color-primary);
20
23
  --_btn-bg-hover: var(--le-color-primary-dark);
21
24
  --_btn-bg-system: var(--le-color-black);
22
- --_btn-color: var(--le-color-primary-contrast);
25
+ --_btn-color: var(--le-button-color);
23
26
  --_btn-border-color: var(--le-color-primary);
24
27
  }
25
28
 
@@ -28,13 +31,14 @@
28
31
  width: 100%;
29
32
  }
30
33
 
31
- .button {
34
+ .le-button-container {
32
35
  display: inline-flex;
36
+ flex-direction: row;
33
37
  align-items: center;
34
38
  justify-content: center;
35
39
  gap: var(--le-spacing-3);
36
40
  width: 100%;
37
- padding: var(--le-button-padding-y) var(--le-button-padding-x);
41
+ padding: var(--le-button-padding);
38
42
  border: 1px solid var(--_btn-border-color);
39
43
  border-radius: var(--le-button-border-radius);
40
44
  background: var(--_btn-bg);
@@ -52,25 +56,33 @@
52
56
  transform var(--le-button-transition) var(--le-transition-easing);
53
57
  }
54
58
 
55
- .button:hover:not(:disabled) {
59
+ .le-button-container:hover:not(:disabled) {
56
60
  background: var(--_btn-bg-hover);
57
61
  border-color: var(--_btn-bg-hover);
58
62
  }
59
63
 
60
- .button:active:not(:disabled) {
61
- transform: translateY(1px);
64
+ .le-button-container:active:not(:disabled) {
65
+ box-shadow: inset 0 0 6px var(--le-color-shadow);
62
66
  }
63
67
 
64
- .button:focus-visible {
68
+ .le-button-container:focus-visible {
65
69
  outline: 2px solid var(--le-color-focus);
66
70
  outline-offset: 2px;
67
71
  }
68
72
 
69
- .button:disabled {
73
+ .le-button-container:disabled {
70
74
  opacity: 0.5;
71
75
  cursor: not-allowed;
72
76
  }
73
77
 
78
+ .le-button-label {
79
+ display: inline-flex;
80
+ flex-direction: row;
81
+ align-items: center;
82
+ justify-content: center;
83
+ gap: var(--le-spacing-2);
84
+ }
85
+
74
86
  /* ===========================================
75
87
  * COLOR VARIANTS - Use theme semantic colors
76
88
  * =========================================== */
@@ -79,7 +91,7 @@
79
91
  :host > le-component.color-primary {
80
92
  --_btn-bg: var(--le-color-primary);
81
93
  --_btn-bg-hover: var(--le-color-primary-dark);
82
- --_btn-color: var(--le-color-primary-contrast);
94
+ --_btn-color: var(--le-button-color);
83
95
  --_btn-border-color: var(--le-color-primary);
84
96
  }
85
97
 
@@ -128,40 +140,39 @@
128
140
  * =========================================== */
129
141
 
130
142
  /* Solid (default) - already styled by color classes */
131
- :host > le-component.variant-solid .button {
143
+ :host > le-component.variant-solid .le-button-container {
132
144
  box-shadow: var(--le-shadow-sm);
133
145
  }
134
146
 
135
- :host > le-component.variant-solid .button:hover:not(:disabled) {
147
+ :host > le-component.variant-solid .le-button-container:hover:not(:disabled) {
136
148
  box-shadow: var(--le-shadow-md);
137
149
  }
138
150
 
139
151
  /* Outlined */
140
- :host > le-component.variant-outlined .button {
152
+ :host > le-component.variant-outlined .le-button-container {
141
153
  background: transparent;
142
154
  color: var(--_btn-bg);
143
- border-color: var(--_btn-border-color);
155
+ border-color: color-mix(in srgb, var(--_btn-border-color) 33%, transparent);
144
156
  }
145
157
 
146
- :host > le-component.variant-outlined .button:hover:not(:disabled) {
147
- background: var(--_btn-bg);
148
- color: var(--_btn-color);
158
+ :host > le-component.variant-outlined .le-button-container:hover:not(:disabled) {
159
+ border-color: var(--_btn-border-color);
149
160
  }
150
161
 
151
162
  /* Clear (ghost) */
152
- :host > le-component.variant-clear .button {
163
+ :host > le-component.variant-clear .le-button-container {
153
164
  background: transparent;
154
165
  color: var(--_btn-bg);
155
166
  border-color: transparent;
156
167
  }
157
168
 
158
- :host > le-component.variant-clear .button:hover:not(:disabled) {
169
+ :host > le-component.variant-clear .le-button-container:hover:not(:disabled) {
159
170
  background: var(--le-color-gray-100);
160
171
  border-color: transparent;
161
172
  }
162
173
 
163
174
  /* System (controls without access) */
164
- :host > le-component.variant-system .button {
175
+ :host > le-component.variant-system .le-button-container {
165
176
  background: transparent;
166
177
  color: var(--_btn-bg-system);
167
178
  border-color: transparent;
@@ -170,14 +181,14 @@
170
181
  /* ===========================================
171
182
  * SIZES
172
183
  * =========================================== */
173
- :host > le-component.size-small .button {
184
+ :host > le-component.size-small .le-button-container {
174
185
  --le-button-padding-x: 0.4rem;
175
186
  --le-button-padding-y: 0.3rem;
176
187
  --le-button-padding-top: 0.35rem;
177
188
  --le-button-font-size: var(--le-button-small-font-size, var(--le-font-size-xs));
178
189
  }
179
190
 
180
- :host > le-component.size-large .button {
191
+ :host > le-component.size-large .le-button-container {
181
192
  --le-button-padding-x: 0.9rem;
182
193
  --le-button-padding-y: 0.6rem;
183
194
  --le-button-font-size: var(--le-font-size-xl);
@@ -194,28 +205,28 @@
194
205
  }
195
206
 
196
207
  /* Selected state */
197
- :host > le-component.selected .button {
198
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
208
+ :host > le-component.selected .le-button-container {
209
+ box-shadow: inset 0 0 4px var(--le-color-shadow);
199
210
  }
200
211
 
201
- :host > le-component.variant-outlined.selected .button,
202
- :host > le-component.variant-clear.selected .button {
212
+ :host > le-component.variant-outlined.selected .le-button-container,
213
+ :host > le-component.variant-clear.selected .le-button-container {
203
214
  background: var(--_btn-bg);
204
215
  color: var(--_btn-color);
205
216
  }
206
217
 
207
218
  /* Icon only */
208
- :host > le-component.icon-only .button {
219
+ :host > le-component.icon-only .le-button-container {
209
220
  padding: 0.5rem;
210
221
  padding-bottom: 0.6rem;
211
222
  aspect-ratio: var(--le-button-icon-aspect-ratio, 1);
212
223
  }
213
224
 
214
- :host > le-component.icon-only.size-small .button {
225
+ :host > le-component.icon-only.size-small .le-button-container {
215
226
  padding: var(--le-button-small-padding, 0.25rem);
216
227
  }
217
228
 
218
- :host > le-component.icon-only.size-large .button {
229
+ :host > le-component.icon-only.size-large .le-button-container {
219
230
  padding: 0.75rem;
220
231
  }
221
232
 
@@ -261,3 +272,19 @@
261
272
  width: 1.125em;
262
273
  height: 1.125em;
263
274
  }
275
+
276
+ /* ===========================================
277
+ * ALIGNMENT MODIFIERS
278
+ * =========================================== */
279
+ .le-button-align-start {
280
+ justify-content: flex-start;
281
+ }
282
+ .le-button-align-center {
283
+ justify-content: center;
284
+ }
285
+ .le-button-align-space-between {
286
+ justify-content: space-between;
287
+ }
288
+ .le-button-align-end {
289
+ justify-content: flex-end;
290
+ }
@@ -4,8 +4,7 @@ import { classnames } from "../../utils/utils";
4
4
  * A flexible button component with multiple variants and states.
5
5
  *
6
6
  * @slot - Button text content
7
- * @slot icon-start - Icon before the text
8
- * @slot icon-end - Icon after the text
7
+ * @slot icon-only - Icon for icon-only buttons
9
8
  *
10
9
  * @cssprop --le-button-bg - Button background color
11
10
  * @cssprop --le-button-color - Button text color
@@ -15,6 +14,8 @@ import { classnames } from "../../utils/utils";
15
14
  *
16
15
  * @csspart button - The native button element
17
16
  * @csspart content - The button content wrapper
17
+ * @csspart icon-start - The start icon slot
18
+ * @csspart icon-end - The end icon slot
18
19
  *
19
20
  * @cmsEditable true
20
21
  * @cmsCategory Actions
@@ -49,9 +50,18 @@ export class LeButton {
49
50
  */
50
51
  fullWidth = false;
51
52
  /**
52
- * Whether the button displays only an icon (square aspect ratio)
53
+ * Icon only button image or emoji
54
+ * if this prop is set, the button will render only the icon slot
53
55
  */
54
- iconOnly = false;
56
+ iconOnly;
57
+ /**
58
+ * Start icon image or emoji
59
+ */
60
+ iconStart;
61
+ /**
62
+ * End icon image or emoji
63
+ */
64
+ iconEnd;
55
65
  /**
56
66
  * Whether the button is disabled
57
67
  */
@@ -69,6 +79,11 @@ export class LeButton {
69
79
  * Link target when href is set
70
80
  */
71
81
  target;
82
+ /**
83
+ * Alignment of the button label without the end icon
84
+ * @allowedValues start | center | space-between | end
85
+ */
86
+ align = 'center';
72
87
  /**
73
88
  * Emitted when the button is clicked.
74
89
  * This is a custom event that wraps the native click but ensures the target is the le-button.
@@ -93,18 +108,18 @@ export class LeButton {
93
108
  });
94
109
  const TagType = this.href ? 'a' : 'button';
95
110
  const attrs = this.href ? { href: this.href, target: this.target, role: 'button' } : { type: this.type, disabled: this.disabled };
96
- return (h("le-component", { key: '363dbfddf4a765bfd6f36ed16d0912e281153806', component: "le-button", hostClass: classes }, h(TagType, { key: 'e112acdff4278e976ad767bd1ea7c9ced5e85f43', class: "button", part: "button", ...attrs, onClick: this.handleClick }, this.iconOnly ? (h("span", { class: "icon-start" }, h("slot", { name: "icon-only" }))) : (h(Fragment, null, h("span", { class: "icon-start" }, h("slot", { name: "icon-start" })), h("le-slot", { name: "", description: "Button text", type: "text", class: "content", part: "content" }, h("slot", null)), h("span", { class: "icon-end" }, h("slot", { name: "icon-end" })))))));
111
+ return (h("le-component", { key: 'bf247365c4ceeaccdb05cbbb17604265f1608fa4', component: "le-button", hostClass: classes }, h(TagType, { key: 'a01540b86ace35d55b5635e2e5ce1049f480a788', class: classnames('le-button-container', `le-button-align-${this.align}`), part: "button", ...attrs, onClick: this.handleClick }, this.iconOnly !== undefined ? (h("slot", { name: "icon-only" }, typeof this.iconOnly === 'string' ? this.iconOnly : null)) : (h(Fragment, null, h("span", { class: "le-button-label" }, this.iconStart && (h("span", { class: "icon-start", part: "icon-start" }, this.iconStart)), h("le-slot", { name: "", description: "Button text", type: "text", class: "content", part: "content" }, h("slot", null))), this.iconEnd && (h("span", { class: "icon-end", part: "icon-end" }, this.iconEnd)))))));
97
112
  }
98
113
  static get is() { return "le-button"; }
99
114
  static get encapsulation() { return "shadow"; }
100
115
  static get originalStyleUrls() {
101
116
  return {
102
- "$": ["le-button.default.css"]
117
+ "$": ["le-button.css"]
103
118
  };
104
119
  }
105
120
  static get styleUrls() {
106
121
  return {
107
- "$": ["le-button.default.css"]
122
+ "$": ["le-button.css"]
108
123
  };
109
124
  }
110
125
  static get properties() {
@@ -238,24 +253,76 @@ export class LeButton {
238
253
  "defaultValue": "false"
239
254
  },
240
255
  "iconOnly": {
241
- "type": "boolean",
256
+ "type": "string",
242
257
  "mutable": false,
243
258
  "complexType": {
244
- "original": "boolean",
245
- "resolved": "boolean",
246
- "references": {}
259
+ "original": "string | Node",
260
+ "resolved": "Node | string",
261
+ "references": {
262
+ "Node": {
263
+ "location": "global",
264
+ "id": "global::Node"
265
+ }
266
+ }
247
267
  },
248
268
  "required": false,
249
- "optional": false,
269
+ "optional": true,
250
270
  "docs": {
251
271
  "tags": [],
252
- "text": "Whether the button displays only an icon (square aspect ratio)"
272
+ "text": "Icon only button image or emoji\nif this prop is set, the button will render only the icon slot"
253
273
  },
254
274
  "getter": false,
255
275
  "setter": false,
256
276
  "reflect": false,
257
- "attribute": "icon-only",
258
- "defaultValue": "false"
277
+ "attribute": "icon-only"
278
+ },
279
+ "iconStart": {
280
+ "type": "string",
281
+ "mutable": false,
282
+ "complexType": {
283
+ "original": "string | Node",
284
+ "resolved": "Node | string",
285
+ "references": {
286
+ "Node": {
287
+ "location": "global",
288
+ "id": "global::Node"
289
+ }
290
+ }
291
+ },
292
+ "required": false,
293
+ "optional": true,
294
+ "docs": {
295
+ "tags": [],
296
+ "text": "Start icon image or emoji"
297
+ },
298
+ "getter": false,
299
+ "setter": false,
300
+ "reflect": false,
301
+ "attribute": "icon-start"
302
+ },
303
+ "iconEnd": {
304
+ "type": "string",
305
+ "mutable": false,
306
+ "complexType": {
307
+ "original": "string | Node",
308
+ "resolved": "Node | string",
309
+ "references": {
310
+ "Node": {
311
+ "location": "global",
312
+ "id": "global::Node"
313
+ }
314
+ }
315
+ },
316
+ "required": false,
317
+ "optional": true,
318
+ "docs": {
319
+ "tags": [],
320
+ "text": "End icon image or emoji"
321
+ },
322
+ "getter": false,
323
+ "setter": false,
324
+ "reflect": false,
325
+ "attribute": "icon-end"
259
326
  },
260
327
  "disabled": {
261
328
  "type": "boolean",
@@ -337,6 +404,29 @@ export class LeButton {
337
404
  "setter": false,
338
405
  "reflect": false,
339
406
  "attribute": "target"
407
+ },
408
+ "align": {
409
+ "type": "string",
410
+ "mutable": false,
411
+ "complexType": {
412
+ "original": "'start' | 'center' | 'space-between' | 'end'",
413
+ "resolved": "\"center\" | \"end\" | \"space-between\" | \"start\"",
414
+ "references": {}
415
+ },
416
+ "required": false,
417
+ "optional": false,
418
+ "docs": {
419
+ "tags": [{
420
+ "name": "allowedValues",
421
+ "text": "start | center | space-between | end"
422
+ }],
423
+ "text": "Alignment of the button label without the end icon"
424
+ },
425
+ "getter": false,
426
+ "setter": false,
427
+ "reflect": false,
428
+ "attribute": "align",
429
+ "defaultValue": "'center'"
340
430
  }
341
431
  };
342
432
  }
@@ -1 +1 @@
1
- {"version":3,"file":"le-button.js","sourceRoot":"","sources":["../../../src/components/le-button/le-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Element, Fragment, Event, EventEmitter } from '@stencil/core';\nimport { classnames } from '../../utils/utils';\n\n/**\n * A flexible button component with multiple variants and states.\n *\n * @slot - Button text content\n * @slot icon-start - Icon before the text\n * @slot icon-end - Icon after the text\n *\n * @cssprop --le-button-bg - Button background color\n * @cssprop --le-button-color - Button text color\n * @cssprop --le-button-border-radius - Button border radius\n * @cssprop --le-button-padding-x - Button horizontal padding\n * @cssprop --le-button-padding-y - Button vertical padding\n *\n * @csspart button - The native button element\n * @csspart content - The button content wrapper\n *\n * @cmsEditable true\n * @cmsCategory Actions\n */\n@Component({\n tag: 'le-button',\n styleUrl: 'le-button.default.css',\n shadow: true,\n})\nexport class LeButton {\n @Element() el: HTMLElement;\n\n /**\n * Mode of the popover should be 'default' for internal use\n */\n @Prop({ mutable: true, reflect: true }) mode: 'default' | 'admin';\n\n /**\n * Button variant style\n * @allowedValues solid | outlined | clear\n */\n @Prop() variant: 'solid' | 'outlined' | 'clear' | 'system' = 'solid';\n\n /**\n * Button color theme (uses theme semantic colors)\n * @allowedValues primary | secondary | success | warning | danger | info\n */\n @Prop() color: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' = 'primary';\n\n /**\n * Button size\n * @allowedValues small | medium | large\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Whether the button is in a selected/active state\n */\n @Prop() selected: boolean = false;\n\n /**\n * Whether the button takes full width of its container\n */\n @Prop({ reflect: true }) fullWidth: boolean = false;\n\n /**\n * Whether the button displays only an icon (square aspect ratio)\n */\n @Prop() iconOnly: boolean = false;\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The button type attribute\n * @allowedValues button | submit | reset\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Optional href to make the button act as a link\n */\n @Prop() href?: string;\n\n /**\n * Link target when href is set\n */\n @Prop() target?: string;\n\n /**\n * Emitted when the button is clicked.\n * This is a custom event that wraps the native click but ensures the target is the le-button.\n */\n @Event({ eventName: 'click' }) leClick: EventEmitter<PointerEvent>;\n\n private handleClick = (event: PointerEvent) => {\n // We stop the internal button click from bubbling up\n event.stopPropagation();\n\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n \n // And emit our own click event from the host element\n this.leClick.emit(event);\n };\n\n render() {\n const classes = classnames(`variant-${this.variant}`, `color-${this.color}`, `size-${this.size}`, {\n 'selected': this.selected,\n 'full-width': this.fullWidth,\n 'icon-only': this.iconOnly,\n 'disabled': this.disabled,\n });\n\n const TagType = this.href ? 'a' : 'button';\n const attrs = this.href ? { href: this.href, target: this.target, role: 'button' } : { type: this.type, disabled: this.disabled };\n\n return (\n <le-component component=\"le-button\" hostClass={classes}>\n <TagType class=\"button\" part=\"button\" {...attrs} onClick={this.handleClick}>\n {this.iconOnly ? (\n <span class=\"icon-start\">\n <slot name=\"icon-only\"></slot>\n </span>\n ) : (\n <Fragment>\n <span class=\"icon-start\">\n <slot name=\"icon-start\"></slot>\n </span>\n <le-slot name=\"\" description=\"Button text\" type=\"text\" class=\"content\" part=\"content\">\n <slot></slot>\n </le-slot>\n <span class=\"icon-end\">\n <slot name=\"icon-end\"></slot>\n </span>\n </Fragment>\n )}\n </TagType>\n </le-component>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"le-button.js","sourceRoot":"","sources":["../../../src/components/le-button/le-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Element, Fragment, Event, EventEmitter } from '@stencil/core';\nimport { classnames } from '../../utils/utils';\n\n/**\n * A flexible button component with multiple variants and states.\n *\n * @slot - Button text content\n * @slot icon-only - Icon for icon-only buttons\n *\n * @cssprop --le-button-bg - Button background color\n * @cssprop --le-button-color - Button text color\n * @cssprop --le-button-border-radius - Button border radius\n * @cssprop --le-button-padding-x - Button horizontal padding\n * @cssprop --le-button-padding-y - Button vertical padding\n *\n * @csspart button - The native button element\n * @csspart content - The button content wrapper\n * @csspart icon-start - The start icon slot\n * @csspart icon-end - The end icon slot\n *\n * @cmsEditable true\n * @cmsCategory Actions\n */\n@Component({\n tag: 'le-button',\n styleUrl: 'le-button.css',\n shadow: true,\n})\nexport class LeButton {\n @Element() el: HTMLElement;\n\n /**\n * Mode of the popover should be 'default' for internal use\n */\n @Prop({ mutable: true, reflect: true }) mode: 'default' | 'admin';\n\n /**\n * Button variant style\n * @allowedValues solid | outlined | clear\n */\n @Prop() variant: 'solid' | 'outlined' | 'clear' | 'system' = 'solid';\n\n /**\n * Button color theme (uses theme semantic colors)\n * @allowedValues primary | secondary | success | warning | danger | info\n */\n @Prop() color: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' = 'primary';\n\n /**\n * Button size\n * @allowedValues small | medium | large\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Whether the button is in a selected/active state\n */\n @Prop() selected: boolean = false;\n\n /**\n * Whether the button takes full width of its container\n */\n @Prop({ reflect: true }) fullWidth: boolean = false;\n\n /**\n * Icon only button image or emoji\n * if this prop is set, the button will render only the icon slot\n */\n @Prop() iconOnly?: string | Node;\n\n /**\n * Start icon image or emoji\n */\n @Prop() iconStart?: string | Node;\n\n /**\n * End icon image or emoji\n */\n @Prop() iconEnd?: string | Node;\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The button type attribute\n * @allowedValues button | submit | reset\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Optional href to make the button act as a link\n */\n @Prop() href?: string;\n\n /**\n * Link target when href is set\n */\n @Prop() target?: string;\n\n /**\n * Alignment of the button label without the end icon\n * @allowedValues start | center | space-between | end\n */\n @Prop() align: 'start' | 'center' | 'space-between' | 'end' = 'center';\n\n /**\n * Emitted when the button is clicked.\n * This is a custom event that wraps the native click but ensures the target is the le-button.\n */\n @Event({ eventName: 'click' }) leClick: EventEmitter<PointerEvent>;\n\n private handleClick = (event: PointerEvent) => {\n // We stop the internal button click from bubbling up\n event.stopPropagation();\n\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n\n // And emit our own click event from the host element\n this.leClick.emit(event);\n };\n\n render() {\n const classes = classnames(`variant-${this.variant}`, `color-${this.color}`, `size-${this.size}`, {\n 'selected': this.selected,\n 'full-width': this.fullWidth,\n 'icon-only': this.iconOnly,\n 'disabled': this.disabled,\n });\n\n const TagType = this.href ? 'a' : 'button';\n const attrs = this.href ? { href: this.href, target: this.target, role: 'button' } : { type: this.type, disabled: this.disabled };\n\n return (\n <le-component component=\"le-button\" hostClass={classes}>\n <TagType class={classnames('le-button-container', `le-button-align-${this.align}`)} part=\"button\" {...attrs} onClick={this.handleClick}>\n {this.iconOnly !== undefined ? (\n <slot name=\"icon-only\">{typeof this.iconOnly === 'string' ? this.iconOnly : null}</slot>\n ) : (\n <Fragment>\n <span class=\"le-button-label\">\n {this.iconStart && (\n <span class=\"icon-start\" part=\"icon-start\">\n {this.iconStart}\n </span>\n )}\n <le-slot name=\"\" description=\"Button text\" type=\"text\" class=\"content\" part=\"content\">\n <slot></slot>\n </le-slot>\n </span>\n {this.iconEnd && (\n <span class=\"icon-end\" part=\"icon-end\">\n {this.iconEnd}\n </span>\n )}\n </Fragment>\n )}\n </TagType>\n </le-component>\n );\n }\n}\n"]}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * le-combobox component styles
3
+ *
4
+ * CSS Custom Properties:
5
+ * --le-combobox-padding-x
6
+ * --le-combobox-font-size
7
+ * --le-combobox-border-radius
8
+ * --le-combobox-border-color
9
+ * --le-combobox-bg
10
+ * --le-combobox-color
11
+ */
12
+
13
+ :host {
14
+ display: inline-block;
15
+ min-width: 200px;
16
+ --le-combobox-border-color: var(--le-color-primary, #3b82f6);
17
+ }
18
+
19
+ :host([disabled]) {
20
+ opacity: 0.5;
21
+ pointer-events: none;
22
+ }
23
+
24
+ :host([full-width]) {
25
+ width: 100%;
26
+ }
27
+
28
+ /* Trigger wrapper */
29
+ .combobox-trigger {
30
+ display: flex;
31
+ align-items: center;
32
+ width: 100%;
33
+ background: var(--le-combobox-bg, var(--le-color-surface, #fff));
34
+ border: 1px solid color-mix(in srgb, var(--le-combobox-border-color) 33%, transparent);
35
+ border-radius: var(--le-combobox-border-radius, 0.375rem);
36
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
37
+ }
38
+
39
+ .combobox-trigger:hover:not(.is-disabled),
40
+ :host(:focus-within) .combobox-trigger:not(.is-disabled) {
41
+ border-color: var(--le-combobox-border-color);
42
+ }
43
+
44
+ .combobox-trigger:focus-within {
45
+ outline: 2px solid var(--le-color-focus);
46
+ outline-offset: 2px;
47
+ }
48
+
49
+ .combobox-trigger.is-open {
50
+ border-color: var(--le-color-primary, #3b82f6);
51
+ }
52
+
53
+ /* Input */
54
+ .combobox-input {
55
+ flex: 1;
56
+ border: none;
57
+ outline: none;
58
+ }
59
+ .combobox-input::part(container) {
60
+ border: none;
61
+ }
62
+ .combobox-input::part(container):focus-within {
63
+ outline: none !important;
64
+ }
65
+
66
+ .combobox-input::placeholder {
67
+ color: color-mix(in srgb, var(--le-color-text-secondary) 66%, transparent);
68
+ }
69
+
70
+ .combobox-trigger.is-disabled {
71
+ cursor: not-allowed;
72
+ background: var(--le-color-surface-disabled, #f9fafb);
73
+ }
74
+ .combobox-input:disabled {
75
+ cursor: not-allowed;
76
+ }
77
+
78
+ /* Clear button */
79
+ .combobox-clear {
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+ width: 1.5rem;
84
+ height: 1.5rem;
85
+ padding: 0;
86
+ margin-right: 0.25rem;
87
+ color: var(--le-color-primary, #3b82f6);
88
+ background: transparent;
89
+ border: none;
90
+ border-radius: 0.25rem;
91
+ cursor: pointer;
92
+ opacity: 0.6;
93
+ transition: opacity 0.15s ease, background-color 0.15s ease;
94
+ }
95
+
96
+ .combobox-clear:hover {
97
+ opacity: 1;
98
+ background: var(--le-color-surface-hover, #f3f4f6);
99
+ }
100
+
101
+ .combobox-clear svg {
102
+ width: 0.875rem;
103
+ height: 0.875rem;
104
+ }
105
+
106
+ /* Arrow icon */
107
+ .combobox-arrow {
108
+ display: flex;
109
+ align-items: center;
110
+ justify-content: center;
111
+ flex-shrink: 0;
112
+ width: 2rem;
113
+ height: 100%;
114
+ color: var(--le-color-primary, #3b82f6);
115
+ transition: transform 0.2s ease;
116
+ }
117
+
118
+ .combobox-arrow svg {
119
+ width: 1rem;
120
+ height: 1rem;
121
+ }
122
+
123
+ .combobox-trigger.is-open .combobox-arrow {
124
+ transform: rotate(180deg);
125
+ }
126
+
127
+ /* Size variants */
128
+ :host([size='small']) .combobox-trigger {
129
+ --le-combobox-height: 2rem;
130
+ }
131
+
132
+ :host([size='small']) .combobox-input {
133
+ --le-combobox-padding-x: 0.5rem;
134
+ --le-combobox-font-size: 0.75rem;
135
+ }
136
+
137
+ :host([size='large']) .combobox-trigger {
138
+ --le-combobox-height: 3rem;
139
+ }
140
+
141
+ :host([size='large']) .combobox-input {
142
+ --le-combobox-padding-x: 1rem;
143
+ --le-combobox-font-size: 1rem;
144
+ }