le-kit 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/dist/cjs/{index-o1DRKw1g.js → index-C3iQZ-Ja.js} +7 -7
  2. package/dist/cjs/index-C3iQZ-Ja.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +4 -3
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/le-box.cjs.entry.js +2 -2
  6. package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-popup.le-slot.le-string-input.entry.cjs.js.map +1 -0
  7. package/dist/cjs/{le-button_6.cjs.entry.js → le-button_7.cjs.entry.js} +279 -33
  8. package/dist/cjs/le-card.cjs.entry.js +2 -2
  9. package/dist/cjs/le-combobox.cjs.entry.js +237 -0
  10. package/dist/cjs/le-combobox.entry.cjs.js.map +1 -0
  11. package/dist/cjs/le-dropdown-base.cjs.entry.js +348 -0
  12. package/dist/cjs/le-dropdown-base.entry.cjs.js.map +1 -0
  13. package/dist/cjs/le-kit.cjs.js +2 -2
  14. package/dist/cjs/le-multiselect.cjs.entry.js +306 -0
  15. package/dist/cjs/le-multiselect.entry.cjs.js.map +1 -0
  16. package/dist/cjs/le-number-input.cjs.entry.js +3 -3
  17. package/dist/cjs/le-round-progress.cjs.entry.js +2 -2
  18. package/dist/cjs/le-segmented-control.cjs.entry.js +245 -0
  19. package/dist/cjs/le-segmented-control.entry.cjs.js.map +1 -0
  20. package/dist/cjs/le-select.cjs.entry.js +188 -0
  21. package/dist/cjs/le-select.entry.cjs.js.map +1 -0
  22. package/dist/cjs/le-stack.cjs.entry.js +3 -3
  23. package/dist/cjs/le-tab-bar.cjs.entry.js +242 -0
  24. package/dist/cjs/le-tab-bar.entry.cjs.js.map +1 -0
  25. package/dist/cjs/le-tab-panel.cjs.entry.js +100 -0
  26. package/dist/cjs/le-tab-panel.entry.cjs.js.map +1 -0
  27. package/dist/cjs/le-tab.cjs.entry.js +133 -0
  28. package/dist/cjs/le-tab.entry.cjs.js.map +1 -0
  29. package/dist/cjs/le-tabs.cjs.entry.js +307 -0
  30. package/dist/cjs/le-tabs.entry.cjs.js.map +1 -0
  31. package/dist/cjs/le-tag.cjs.entry.js +68 -0
  32. package/dist/cjs/le-tag.entry.cjs.js.map +1 -0
  33. package/dist/cjs/le-text.cjs.entry.js +2 -2
  34. package/dist/cjs/le-turntable.cjs.entry.js +2 -2
  35. package/dist/cjs/loader.cjs.js +2 -2
  36. package/dist/cjs/{utils-DqhadIxH.js → utils-DjPcLPN9.js} +3 -3
  37. package/dist/cjs/{utils-DqhadIxH.js.map → utils-DjPcLPN9.js.map} +1 -1
  38. package/dist/collection/collection-manifest.json +10 -0
  39. package/dist/collection/components/le-button/{le-button.default.css → le-button.css} +57 -30
  40. package/dist/collection/components/le-button/le-button.js +105 -15
  41. package/dist/collection/components/le-button/le-button.js.map +1 -1
  42. package/dist/collection/components/le-combobox/le-combobox.css +144 -0
  43. package/dist/collection/components/le-combobox/le-combobox.js +659 -0
  44. package/dist/collection/components/le-combobox/le-combobox.js.map +1 -0
  45. package/dist/collection/components/le-component/le-component.js +7 -6
  46. package/dist/collection/components/le-component/le-component.js.map +1 -1
  47. package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +163 -0
  48. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +761 -0
  49. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +1 -0
  50. package/dist/collection/components/le-multiselect/le-multiselect.css +163 -0
  51. package/dist/collection/components/le-multiselect/le-multiselect.js +734 -0
  52. package/dist/collection/components/le-multiselect/le-multiselect.js.map +1 -0
  53. package/dist/collection/components/le-number-input/le-number-input.js +1 -1
  54. package/dist/collection/components/le-popover/le-popover.css +10 -0
  55. package/dist/collection/components/le-popover/le-popover.js +61 -10
  56. package/dist/collection/components/le-popover/le-popover.js.map +1 -1
  57. package/dist/collection/components/le-popup/le-popup.api.js +2 -1
  58. package/dist/collection/components/le-popup/le-popup.api.js.map +1 -1
  59. package/dist/collection/components/le-popup/le-popup.js +42 -12
  60. package/dist/collection/components/le-popup/le-popup.js.map +1 -1
  61. package/dist/collection/components/le-round-progress/le-round-progress.js +1 -1
  62. package/dist/collection/components/le-segmented-control/le-segmented-control.css +78 -0
  63. package/dist/collection/components/le-segmented-control/le-segmented-control.js +445 -0
  64. package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +1 -0
  65. package/dist/collection/components/le-select/le-select.css +121 -0
  66. package/dist/collection/components/le-select/le-select.js +578 -0
  67. package/dist/collection/components/le-select/le-select.js.map +1 -0
  68. package/dist/collection/components/le-slot/le-slot.js +4 -6
  69. package/dist/collection/components/le-slot/le-slot.js.map +1 -1
  70. package/dist/collection/components/le-stack/le-stack.js +1 -1
  71. package/dist/collection/components/le-string-input/le-string-input.js +59 -5
  72. package/dist/collection/components/le-string-input/le-string-input.js.map +1 -1
  73. package/dist/collection/components/le-tab/le-tab.css +289 -0
  74. package/dist/collection/components/le-tab/le-tab.js +565 -0
  75. package/dist/collection/components/le-tab/le-tab.js.map +1 -0
  76. package/dist/collection/components/le-tab-bar/le-tab-bar.css +89 -0
  77. package/dist/collection/components/le-tab-bar/le-tab-bar.js +467 -0
  78. package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +1 -0
  79. package/dist/collection/components/le-tab-panel/le-tab-panel.css +30 -0
  80. package/dist/collection/components/le-tab-panel/le-tab-panel.js +302 -0
  81. package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +1 -0
  82. package/dist/collection/components/le-tabs/le-tabs.css +146 -0
  83. package/dist/collection/components/le-tabs/le-tabs.js +588 -0
  84. package/dist/collection/components/le-tabs/le-tabs.js.map +1 -0
  85. package/dist/collection/components/le-tag/le-tag.css +139 -0
  86. package/dist/collection/components/le-tag/le-tag.js +266 -0
  87. package/dist/collection/components/le-tag/le-tag.js.map +1 -0
  88. package/dist/collection/components/le-turntable/le-turntable.js +1 -1
  89. package/dist/collection/dist/components/assets/.gitkeep +1 -0
  90. package/{custom-elements.json → dist/collection/dist/components/assets/custom-elements.json} +5274 -1409
  91. package/dist/{core/collection → collection/dist/components}/themes/base.css +44 -0
  92. package/dist/{core/collection → collection/dist/components}/themes/dark.css +4 -1
  93. package/dist/collection/{themes → dist/components/themes}/default.css +4 -1
  94. package/dist/collection/dist/{collection → components}/themes/gradient.css +4 -1
  95. package/dist/{core/collection → collection/dist/components}/themes/index.css +2 -0
  96. package/dist/collection/{themes → dist/components/themes}/minimal.css +4 -1
  97. package/dist/{core/collection → collection/dist/components}/themes/warm.css +4 -1
  98. package/dist/collection/global/app.js +4 -4
  99. package/dist/collection/global/app.js.map +1 -1
  100. package/dist/collection/types/options.js.map +1 -1
  101. package/dist/components/assets/.gitkeep +1 -0
  102. package/dist/{collection → components}/assets/custom-elements.json +5202 -1337
  103. package/dist/components/index.js +1 -103
  104. package/dist/components/index.js.map +1 -1
  105. package/dist/components/le-box.js +11 -6
  106. package/dist/components/le-box.js.map +1 -1
  107. package/dist/components/le-button.js +1 -1
  108. package/dist/components/le-button2.js +378 -45
  109. package/dist/components/le-button2.js.map +1 -1
  110. package/dist/components/le-card.js +11 -6
  111. package/dist/components/le-card.js.map +1 -1
  112. package/dist/components/le-checkbox.js +1 -1
  113. package/dist/components/le-combobox.d.ts +11 -0
  114. package/dist/components/le-combobox.js +321 -0
  115. package/dist/components/le-combobox.js.map +1 -0
  116. package/dist/components/le-component.js +1 -1
  117. package/dist/components/le-dropdown-base.d.ts +11 -0
  118. package/dist/components/le-dropdown-base.js +9 -0
  119. package/dist/components/le-dropdown-base.js.map +1 -0
  120. package/dist/components/le-dropdown-base2.js +393 -0
  121. package/dist/components/le-dropdown-base2.js.map +1 -0
  122. package/dist/components/le-multiselect.d.ts +11 -0
  123. package/dist/components/le-multiselect.js +400 -0
  124. package/dist/components/le-multiselect.js.map +1 -0
  125. package/dist/components/le-number-input.js +12 -7
  126. package/dist/components/le-number-input.js.map +1 -1
  127. package/dist/components/le-popover2.js +24 -11
  128. package/dist/components/le-popover2.js.map +1 -1
  129. package/dist/{core/collection/components/le-popup → components}/le-popup.api.js +9 -4
  130. package/dist/components/le-popup.api.js.map +1 -0
  131. package/dist/components/le-popup.js +1 -271
  132. package/dist/components/le-popup.js.map +1 -1
  133. package/dist/components/le-round-progress.js +1 -1
  134. package/dist/components/le-segmented-control.d.ts +11 -0
  135. package/dist/components/le-segmented-control.js +320 -0
  136. package/dist/components/le-segmented-control.js.map +1 -0
  137. package/dist/components/le-select.d.ts +11 -0
  138. package/dist/components/le-select.js +271 -0
  139. package/dist/components/le-select.js.map +1 -0
  140. package/dist/components/le-slot.js +1 -1
  141. package/dist/components/le-stack.js +12 -7
  142. package/dist/components/le-stack.js.map +1 -1
  143. package/dist/components/le-string-input.js +1 -1
  144. package/dist/components/le-tab-bar.d.ts +11 -0
  145. package/dist/components/le-tab-bar.js +319 -0
  146. package/dist/components/le-tab-bar.js.map +1 -0
  147. package/dist/components/le-tab-panel.d.ts +11 -0
  148. package/dist/components/le-tab-panel.js +171 -0
  149. package/dist/components/le-tab-panel.js.map +1 -0
  150. package/dist/components/le-tab.d.ts +11 -0
  151. package/dist/components/le-tab.js +9 -0
  152. package/dist/components/le-tab.js.map +1 -0
  153. package/dist/components/le-tab2.js +206 -0
  154. package/dist/components/le-tab2.js.map +1 -0
  155. package/dist/components/le-tabs.d.ts +11 -0
  156. package/dist/components/le-tabs.js +386 -0
  157. package/dist/components/le-tabs.js.map +1 -0
  158. package/dist/components/le-tag.d.ts +11 -0
  159. package/dist/components/le-tag.js +9 -0
  160. package/dist/components/le-tag.js.map +1 -0
  161. package/dist/components/le-tag2.js +130 -0
  162. package/dist/components/le-tag2.js.map +1 -0
  163. package/dist/components/le-text.js +11 -6
  164. package/dist/components/le-text.js.map +1 -1
  165. package/dist/components/le-turntable.js +1 -1
  166. package/dist/{le-kit/dist/collection → components}/themes/base.css +44 -0
  167. package/dist/{collection → components}/themes/dark.css +4 -1
  168. package/dist/{core/collection → components}/themes/default.css +4 -1
  169. package/dist/{core/collection → components}/themes/gradient.css +4 -1
  170. package/dist/{le-kit/dist/collection → components}/themes/index.css +2 -0
  171. package/dist/{collection/dist/collection → components}/themes/minimal.css +4 -1
  172. package/dist/{le-kit/dist/collection → components}/themes/warm.css +4 -1
  173. package/dist/components/utils.js +4 -4
  174. package/dist/components/utils.js.map +1 -1
  175. package/dist/docs.json +6674 -1371
  176. package/dist/esm/{index-CwNQ1GTa.js → index-DzgCnDLJ.js} +8 -8
  177. package/dist/esm/index-DzgCnDLJ.js.map +1 -0
  178. package/dist/esm/index.js +4 -3
  179. package/dist/esm/index.js.map +1 -1
  180. package/dist/esm/le-box.entry.js +2 -2
  181. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-popup.le-slot.le-string-input.entry.js.map +1 -0
  182. package/dist/esm/{le-button_6.entry.js → le-button_7.entry.js} +279 -34
  183. package/dist/esm/le-card.entry.js +2 -2
  184. package/dist/esm/le-combobox.entry.js +235 -0
  185. package/dist/esm/le-combobox.entry.js.map +1 -0
  186. package/dist/esm/le-dropdown-base.entry.js +346 -0
  187. package/dist/esm/le-dropdown-base.entry.js.map +1 -0
  188. package/dist/esm/le-kit.js +3 -3
  189. package/dist/esm/le-multiselect.entry.js +304 -0
  190. package/dist/esm/le-multiselect.entry.js.map +1 -0
  191. package/dist/esm/le-number-input.entry.js +3 -3
  192. package/dist/esm/le-round-progress.entry.js +2 -2
  193. package/dist/esm/le-segmented-control.entry.js +243 -0
  194. package/dist/esm/le-segmented-control.entry.js.map +1 -0
  195. package/dist/esm/le-select.entry.js +186 -0
  196. package/dist/esm/le-select.entry.js.map +1 -0
  197. package/dist/esm/le-stack.entry.js +3 -3
  198. package/dist/esm/le-tab-bar.entry.js +240 -0
  199. package/dist/esm/le-tab-bar.entry.js.map +1 -0
  200. package/dist/esm/le-tab-panel.entry.js +98 -0
  201. package/dist/esm/le-tab-panel.entry.js.map +1 -0
  202. package/dist/esm/le-tab.entry.js +131 -0
  203. package/dist/esm/le-tab.entry.js.map +1 -0
  204. package/dist/esm/le-tabs.entry.js +305 -0
  205. package/dist/esm/le-tabs.entry.js.map +1 -0
  206. package/dist/esm/le-tag.entry.js +66 -0
  207. package/dist/esm/le-tag.entry.js.map +1 -0
  208. package/dist/esm/le-text.entry.js +2 -2
  209. package/dist/esm/le-turntable.entry.js +2 -2
  210. package/dist/esm/loader.js +3 -3
  211. package/dist/esm/{utils-Cf7fMI0j.js → utils-Dp5xFMCl.js} +3 -3
  212. package/dist/esm/{utils-Cf7fMI0j.js.map → utils-Dp5xFMCl.js.map} +1 -1
  213. package/dist/le-kit/dist/components/assets/.gitkeep +1 -0
  214. package/dist/{core/collection → le-kit/dist/components}/assets/custom-elements.json +5202 -1337
  215. package/dist/{collection/dist/collection → le-kit/dist/components}/themes/base.css +44 -0
  216. package/dist/{collection/dist/collection → le-kit/dist/components}/themes/dark.css +4 -1
  217. package/dist/le-kit/dist/{collection → components}/themes/default.css +4 -1
  218. package/dist/le-kit/dist/{collection → components}/themes/gradient.css +4 -1
  219. package/dist/{collection/dist/collection → le-kit/dist/components}/themes/index.css +2 -0
  220. package/dist/{core/collection → le-kit/dist/components}/themes/minimal.css +4 -1
  221. package/dist/{collection/dist/collection → le-kit/dist/components}/themes/warm.css +4 -1
  222. package/dist/le-kit/index.esm.js +1 -1
  223. package/dist/le-kit/index.esm.js.map +1 -1
  224. package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-popup.le-slot.le-string-input.entry.esm.js.map +1 -0
  225. package/dist/le-kit/le-combobox.entry.esm.js.map +1 -0
  226. package/dist/le-kit/le-dropdown-base.entry.esm.js.map +1 -0
  227. package/dist/le-kit/le-kit.css +1 -1
  228. package/dist/le-kit/le-kit.esm.js +1 -1
  229. package/dist/le-kit/le-multiselect.entry.esm.js.map +1 -0
  230. package/dist/le-kit/le-segmented-control.entry.esm.js.map +1 -0
  231. package/dist/le-kit/le-select.entry.esm.js.map +1 -0
  232. package/dist/le-kit/le-tab-bar.entry.esm.js.map +1 -0
  233. package/dist/le-kit/le-tab-panel.entry.esm.js.map +1 -0
  234. package/dist/le-kit/le-tab.entry.esm.js.map +1 -0
  235. package/dist/le-kit/le-tabs.entry.esm.js.map +1 -0
  236. package/dist/le-kit/le-tag.entry.esm.js.map +1 -0
  237. package/dist/{core/le-kit/p-df552906.entry.js → le-kit/p-0bd7803f.entry.js} +2 -2
  238. package/dist/le-kit/p-0bd7803f.entry.js.map +1 -0
  239. package/dist/le-kit/p-1f55a4a2.entry.js +2 -0
  240. package/dist/le-kit/p-1f55a4a2.entry.js.map +1 -0
  241. package/dist/le-kit/{p-79ec6f7c.entry.js → p-2c37f174.entry.js} +2 -2
  242. package/dist/le-kit/p-2c37f174.entry.js.map +1 -0
  243. package/dist/{core/le-kit/p-5ef81068.entry.js → le-kit/p-33612923.entry.js} +2 -2
  244. package/dist/le-kit/p-33612923.entry.js.map +1 -0
  245. package/dist/le-kit/{p-b8122ad6.entry.js → p-3a52c4de.entry.js} +2 -2
  246. package/dist/le-kit/p-3a52c4de.entry.js.map +1 -0
  247. package/dist/le-kit/p-4130c60b.entry.js +2 -0
  248. package/dist/le-kit/p-4130c60b.entry.js.map +1 -0
  249. package/dist/le-kit/{p-64374730.entry.js → p-432e8231.entry.js} +2 -2
  250. package/dist/le-kit/p-432e8231.entry.js.map +1 -0
  251. package/dist/le-kit/p-548d130b.entry.js +2 -0
  252. package/dist/le-kit/p-548d130b.entry.js.map +1 -0
  253. package/dist/le-kit/p-6ecdad85.entry.js +2 -0
  254. package/dist/le-kit/p-6ecdad85.entry.js.map +1 -0
  255. package/dist/le-kit/p-6ee06c44.entry.js +2 -0
  256. package/dist/le-kit/p-6ee06c44.entry.js.map +1 -0
  257. package/dist/le-kit/p-71c78784.entry.js +2 -0
  258. package/dist/le-kit/p-71c78784.entry.js.map +1 -0
  259. package/dist/le-kit/p-7b180d58.entry.js +2 -0
  260. package/dist/le-kit/p-7b180d58.entry.js.map +1 -0
  261. package/dist/le-kit/p-91993261.entry.js +2 -0
  262. package/dist/le-kit/p-91993261.entry.js.map +1 -0
  263. package/dist/le-kit/p-DaA5gINj.js +2 -0
  264. package/dist/le-kit/{p-y3FECAx9.js.map → p-DaA5gINj.js.map} +1 -1
  265. package/dist/le-kit/p-DzgCnDLJ.js +3 -0
  266. package/dist/le-kit/p-DzgCnDLJ.js.map +1 -0
  267. package/dist/le-kit/p-a5d31d40.entry.js +2 -0
  268. package/dist/le-kit/p-a5d31d40.entry.js.map +1 -0
  269. package/dist/le-kit/{p-ad398acd.entry.js → p-b66fd9e1.entry.js} +2 -2
  270. package/dist/le-kit/p-b66fd9e1.entry.js.map +1 -0
  271. package/dist/le-kit/{p-f9008505.entry.js → p-beb87e61.entry.js} +2 -2
  272. package/dist/le-kit/p-beb87e61.entry.js.map +1 -0
  273. package/dist/le-kit/p-cc0797b0.entry.js +2 -0
  274. package/dist/le-kit/p-cc0797b0.entry.js.map +1 -0
  275. package/dist/le-kit/p-d504a369.entry.js +2 -0
  276. package/dist/le-kit/p-d504a369.entry.js.map +1 -0
  277. package/dist/themes/base.css +44 -0
  278. package/dist/themes/dark.css +4 -1
  279. package/dist/themes/default.css +4 -1
  280. package/dist/themes/gradient.css +4 -1
  281. package/dist/themes/index.css +2 -0
  282. package/dist/themes/minimal.css +4 -1
  283. package/dist/themes/warm.css +4 -1
  284. package/dist/types/components/le-button/le-button.d.ts +19 -4
  285. package/dist/types/components/le-combobox/le-combobox.d.ts +128 -0
  286. package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +118 -0
  287. package/dist/types/components/le-multiselect/le-multiselect.d.ts +143 -0
  288. package/dist/types/components/le-popover/le-popover.d.ts +13 -2
  289. package/dist/types/components/le-popup/le-popup.d.ts +5 -0
  290. package/dist/types/components/le-segmented-control/le-segmented-control.d.ts +82 -0
  291. package/dist/types/components/le-select/le-select.d.ts +125 -0
  292. package/dist/types/components/le-string-input/le-string-input.d.ts +8 -0
  293. package/dist/types/components/le-tab/le-tab.d.ts +116 -0
  294. package/dist/types/components/le-tab-bar/le-tab-bar.d.ts +88 -0
  295. package/dist/types/components/le-tab-panel/le-tab-panel.d.ts +75 -0
  296. package/dist/types/components/le-tabs/le-tabs.d.ts +108 -0
  297. package/dist/types/components/le-tag/le-tag.d.ts +78 -0
  298. package/dist/types/components.d.ts +2310 -40
  299. package/dist/types/global/app.d.ts +4 -4
  300. package/dist/types/types/options.d.ts +9 -0
  301. package/package.json +5 -21
  302. package/readme.md +2 -2
  303. package/dist/cjs/index-o1DRKw1g.js.map +0 -1
  304. package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.cjs.js.map +0 -1
  305. package/dist/cjs/le-popup.cjs.entry.js +0 -212
  306. package/dist/cjs/le-popup.entry.cjs.js.map +0 -1
  307. package/dist/collection/dist/collection/themes/default.css +0 -108
  308. package/dist/collection/themes/base.css +0 -89
  309. package/dist/collection/themes/gradient.css +0 -100
  310. package/dist/collection/themes/index.css +0 -413
  311. package/dist/collection/themes/warm.css +0 -100
  312. package/dist/core/cjs/index-BsRb_UTe.js +0 -1835
  313. package/dist/core/cjs/index-BsRb_UTe.js.map +0 -1
  314. package/dist/core/cjs/index.cjs.js +0 -119
  315. package/dist/core/cjs/index.cjs.js.map +0 -1
  316. package/dist/core/cjs/le-box.cjs.entry.js +0 -184
  317. package/dist/core/cjs/le-box.entry.cjs.js.map +0 -1
  318. package/dist/core/cjs/le-button.cjs.entry.js +0 -92
  319. package/dist/core/cjs/le-button.entry.cjs.js.map +0 -1
  320. package/dist/core/cjs/le-card.cjs.entry.js +0 -29
  321. package/dist/core/cjs/le-card.entry.cjs.js.map +0 -1
  322. package/dist/core/cjs/le-checkbox.cjs.entry.js +0 -61
  323. package/dist/core/cjs/le-checkbox.entry.cjs.js.map +0 -1
  324. package/dist/core/cjs/le-kit.cjs.js +0 -25
  325. package/dist/core/cjs/le-kit.cjs.js.map +0 -1
  326. package/dist/core/cjs/le-number-input.cjs.entry.js +0 -202
  327. package/dist/core/cjs/le-number-input.entry.cjs.js.map +0 -1
  328. package/dist/core/cjs/le-popover.cjs.entry.js +0 -348
  329. package/dist/core/cjs/le-popover.entry.cjs.js.map +0 -1
  330. package/dist/core/cjs/le-popup.cjs.entry.js +0 -212
  331. package/dist/core/cjs/le-popup.entry.cjs.js.map +0 -1
  332. package/dist/core/cjs/le-round-progress.cjs.entry.js +0 -106
  333. package/dist/core/cjs/le-round-progress.entry.cjs.js.map +0 -1
  334. package/dist/core/cjs/le-stack.cjs.entry.js +0 -135
  335. package/dist/core/cjs/le-stack.entry.cjs.js.map +0 -1
  336. package/dist/core/cjs/le-string-input.cjs.entry.js +0 -95
  337. package/dist/core/cjs/le-string-input.entry.cjs.js.map +0 -1
  338. package/dist/core/cjs/le-text.cjs.entry.js +0 -335
  339. package/dist/core/cjs/le-text.entry.cjs.js.map +0 -1
  340. package/dist/core/cjs/le-turntable.cjs.entry.js +0 -139
  341. package/dist/core/cjs/le-turntable.entry.cjs.js.map +0 -1
  342. package/dist/core/cjs/loader.cjs.js +0 -13
  343. package/dist/core/cjs/loader.cjs.js.map +0 -1
  344. package/dist/core/cjs/utils-nsP8_w8_.js +0 -152
  345. package/dist/core/cjs/utils-nsP8_w8_.js.map +0 -1
  346. package/dist/core/collection/collection-manifest.json +0 -24
  347. package/dist/core/collection/components/le-box/le-box.default.css +0 -37
  348. package/dist/core/collection/components/le-box/le-box.js +0 -614
  349. package/dist/core/collection/components/le-box/le-box.js.map +0 -1
  350. package/dist/core/collection/components/le-button/le-button.default.css +0 -263
  351. package/dist/core/collection/components/le-button/le-button.js +0 -368
  352. package/dist/core/collection/components/le-button/le-button.js.map +0 -1
  353. package/dist/core/collection/components/le-card/le-card.default.css +0 -74
  354. package/dist/core/collection/components/le-card/le-card.js +0 -102
  355. package/dist/core/collection/components/le-card/le-card.js.map +0 -1
  356. package/dist/core/collection/components/le-checkbox/le-checkbox.css +0 -93
  357. package/dist/core/collection/components/le-checkbox/le-checkbox.js +0 -192
  358. package/dist/core/collection/components/le-checkbox/le-checkbox.js.map +0 -1
  359. package/dist/core/collection/components/le-number-input/le-number-input.css +0 -135
  360. package/dist/core/collection/components/le-number-input/le-number-input.js +0 -515
  361. package/dist/core/collection/components/le-number-input/le-number-input.js.map +0 -1
  362. package/dist/core/collection/components/le-popover/le-popover.css +0 -143
  363. package/dist/core/collection/components/le-popover/le-popover.js +0 -693
  364. package/dist/core/collection/components/le-popover/le-popover.js.map +0 -1
  365. package/dist/core/collection/components/le-popup/le-popup.api.js.map +0 -1
  366. package/dist/core/collection/components/le-popup/le-popup.css +0 -222
  367. package/dist/core/collection/components/le-popup/le-popup.js +0 -596
  368. package/dist/core/collection/components/le-popup/le-popup.js.map +0 -1
  369. package/dist/core/collection/components/le-round-progress/le-round-progress.css +0 -34
  370. package/dist/core/collection/components/le-round-progress/le-round-progress.js +0 -184
  371. package/dist/core/collection/components/le-round-progress/le-round-progress.js.map +0 -1
  372. package/dist/core/collection/components/le-stack/le-stack.default.css +0 -37
  373. package/dist/core/collection/components/le-stack/le-stack.js +0 -389
  374. package/dist/core/collection/components/le-stack/le-stack.js.map +0 -1
  375. package/dist/core/collection/components/le-string-input/le-string-input.css +0 -83
  376. package/dist/core/collection/components/le-string-input/le-string-input.js +0 -359
  377. package/dist/core/collection/components/le-string-input/le-string-input.js.map +0 -1
  378. package/dist/core/collection/components/le-text/le-text.default.css +0 -169
  379. package/dist/core/collection/components/le-text/le-text.js +0 -475
  380. package/dist/core/collection/components/le-text/le-text.js.map +0 -1
  381. package/dist/core/collection/components/le-turntable/le-turntable.css +0 -10
  382. package/dist/core/collection/components/le-turntable/le-turntable.js +0 -210
  383. package/dist/core/collection/components/le-turntable/le-turntable.js.map +0 -1
  384. package/dist/core/collection/global/app.js +0 -167
  385. package/dist/core/collection/global/app.js.map +0 -1
  386. package/dist/core/collection/index.js +0 -15
  387. package/dist/core/collection/index.js.map +0 -1
  388. package/dist/core/collection/types/blocks.js +0 -115
  389. package/dist/core/collection/types/blocks.js.map +0 -1
  390. package/dist/core/collection/types/options.js +0 -2
  391. package/dist/core/collection/types/options.js.map +0 -1
  392. package/dist/core/collection/utils/utils.js +0 -141
  393. package/dist/core/collection/utils/utils.js.map +0 -1
  394. package/dist/core/components/index.d.ts +0 -33
  395. package/dist/core/components/index.js +0 -113
  396. package/dist/core/components/index.js.map +0 -1
  397. package/dist/core/components/le-box.d.ts +0 -11
  398. package/dist/core/components/le-box.js +0 -225
  399. package/dist/core/components/le-box.js.map +0 -1
  400. package/dist/core/components/le-button.d.ts +0 -11
  401. package/dist/core/components/le-button.js +0 -9
  402. package/dist/core/components/le-button.js.map +0 -1
  403. package/dist/core/components/le-button2.js +0 -121
  404. package/dist/core/components/le-button2.js.map +0 -1
  405. package/dist/core/components/le-card.d.ts +0 -11
  406. package/dist/core/components/le-card.js +0 -52
  407. package/dist/core/components/le-card.js.map +0 -1
  408. package/dist/core/components/le-checkbox.d.ts +0 -11
  409. package/dist/core/components/le-checkbox.js +0 -87
  410. package/dist/core/components/le-checkbox.js.map +0 -1
  411. package/dist/core/components/le-number-input.d.ts +0 -11
  412. package/dist/core/components/le-number-input.js +0 -246
  413. package/dist/core/components/le-number-input.js.map +0 -1
  414. package/dist/core/components/le-popover.d.ts +0 -11
  415. package/dist/core/components/le-popover.js +0 -385
  416. package/dist/core/components/le-popover.js.map +0 -1
  417. package/dist/core/components/le-popup.d.ts +0 -11
  418. package/dist/core/components/le-popup.js +0 -253
  419. package/dist/core/components/le-popup.js.map +0 -1
  420. package/dist/core/components/le-round-progress.d.ts +0 -11
  421. package/dist/core/components/le-round-progress.js +0 -135
  422. package/dist/core/components/le-round-progress.js.map +0 -1
  423. package/dist/core/components/le-stack.d.ts +0 -11
  424. package/dist/core/components/le-stack.js +0 -167
  425. package/dist/core/components/le-stack.js.map +0 -1
  426. package/dist/core/components/le-string-input.d.ts +0 -11
  427. package/dist/core/components/le-string-input.js +0 -127
  428. package/dist/core/components/le-string-input.js.map +0 -1
  429. package/dist/core/components/le-text.d.ts +0 -11
  430. package/dist/core/components/le-text.js +0 -367
  431. package/dist/core/components/le-text.js.map +0 -1
  432. package/dist/core/components/le-turntable.d.ts +0 -11
  433. package/dist/core/components/le-turntable.js +0 -164
  434. package/dist/core/components/le-turntable.js.map +0 -1
  435. package/dist/core/components/utils.js +0 -310
  436. package/dist/core/components/utils.js.map +0 -1
  437. package/dist/core/esm/index-CJ-z5Zj1.js +0 -1818
  438. package/dist/core/esm/index-CJ-z5Zj1.js.map +0 -1
  439. package/dist/core/esm/index.js +0 -106
  440. package/dist/core/esm/index.js.map +0 -1
  441. package/dist/core/esm/le-box.entry.js +0 -182
  442. package/dist/core/esm/le-box.entry.js.map +0 -1
  443. package/dist/core/esm/le-button.entry.js +0 -90
  444. package/dist/core/esm/le-button.entry.js.map +0 -1
  445. package/dist/core/esm/le-card.entry.js +0 -27
  446. package/dist/core/esm/le-card.entry.js.map +0 -1
  447. package/dist/core/esm/le-checkbox.entry.js +0 -59
  448. package/dist/core/esm/le-checkbox.entry.js.map +0 -1
  449. package/dist/core/esm/le-kit.js +0 -21
  450. package/dist/core/esm/le-kit.js.map +0 -1
  451. package/dist/core/esm/le-number-input.entry.js +0 -200
  452. package/dist/core/esm/le-number-input.entry.js.map +0 -1
  453. package/dist/core/esm/le-popover.entry.js +0 -346
  454. package/dist/core/esm/le-popover.entry.js.map +0 -1
  455. package/dist/core/esm/le-popup.entry.js +0 -210
  456. package/dist/core/esm/le-popup.entry.js.map +0 -1
  457. package/dist/core/esm/le-round-progress.entry.js +0 -104
  458. package/dist/core/esm/le-round-progress.entry.js.map +0 -1
  459. package/dist/core/esm/le-stack.entry.js +0 -133
  460. package/dist/core/esm/le-stack.entry.js.map +0 -1
  461. package/dist/core/esm/le-string-input.entry.js +0 -93
  462. package/dist/core/esm/le-string-input.entry.js.map +0 -1
  463. package/dist/core/esm/le-text.entry.js +0 -333
  464. package/dist/core/esm/le-text.entry.js.map +0 -1
  465. package/dist/core/esm/le-turntable.entry.js +0 -137
  466. package/dist/core/esm/le-turntable.entry.js.map +0 -1
  467. package/dist/core/esm/loader.js +0 -11
  468. package/dist/core/esm/loader.js.map +0 -1
  469. package/dist/core/esm/utils-Bxmld82M.js +0 -146
  470. package/dist/core/esm/utils-Bxmld82M.js.map +0 -1
  471. package/dist/core/index.cjs.js +0 -1
  472. package/dist/core/index.js +0 -1
  473. package/dist/core/le-kit/index.esm.js +0 -2
  474. package/dist/core/le-kit/index.esm.js.map +0 -1
  475. package/dist/core/le-kit/le-box.entry.esm.js.map +0 -1
  476. package/dist/core/le-kit/le-button.entry.esm.js.map +0 -1
  477. package/dist/core/le-kit/le-card.entry.esm.js.map +0 -1
  478. package/dist/core/le-kit/le-checkbox.entry.esm.js.map +0 -1
  479. package/dist/core/le-kit/le-kit.css +0 -1
  480. package/dist/core/le-kit/le-kit.esm.js +0 -2
  481. package/dist/core/le-kit/le-kit.esm.js.map +0 -1
  482. package/dist/core/le-kit/le-number-input.entry.esm.js.map +0 -1
  483. package/dist/core/le-kit/le-popover.entry.esm.js.map +0 -1
  484. package/dist/core/le-kit/le-popup.entry.esm.js.map +0 -1
  485. package/dist/core/le-kit/le-round-progress.entry.esm.js.map +0 -1
  486. package/dist/core/le-kit/le-stack.entry.esm.js.map +0 -1
  487. package/dist/core/le-kit/le-string-input.entry.esm.js.map +0 -1
  488. package/dist/core/le-kit/le-text.entry.esm.js.map +0 -1
  489. package/dist/core/le-kit/le-turntable.entry.esm.js.map +0 -1
  490. package/dist/core/le-kit/loader.esm.js.map +0 -1
  491. package/dist/core/le-kit/p-0308bd1f.entry.js +0 -2
  492. package/dist/core/le-kit/p-0308bd1f.entry.js.map +0 -1
  493. package/dist/core/le-kit/p-257495cc.entry.js +0 -2
  494. package/dist/core/le-kit/p-257495cc.entry.js.map +0 -1
  495. package/dist/core/le-kit/p-2ac4789a.entry.js +0 -2
  496. package/dist/core/le-kit/p-2ac4789a.entry.js.map +0 -1
  497. package/dist/core/le-kit/p-45eace7c.entry.js +0 -2
  498. package/dist/core/le-kit/p-45eace7c.entry.js.map +0 -1
  499. package/dist/core/le-kit/p-556086ca.entry.js +0 -2
  500. package/dist/core/le-kit/p-556086ca.entry.js.map +0 -1
  501. package/dist/core/le-kit/p-5ef81068.entry.js.map +0 -1
  502. package/dist/core/le-kit/p-66d35f48.entry.js +0 -2
  503. package/dist/core/le-kit/p-66d35f48.entry.js.map +0 -1
  504. package/dist/core/le-kit/p-73682c5e.entry.js +0 -2
  505. package/dist/core/le-kit/p-73682c5e.entry.js.map +0 -1
  506. package/dist/core/le-kit/p-CJ-z5Zj1.js +0 -3
  507. package/dist/core/le-kit/p-CJ-z5Zj1.js.map +0 -1
  508. package/dist/core/le-kit/p-Drz36PDp.js +0 -2
  509. package/dist/core/le-kit/p-Drz36PDp.js.map +0 -1
  510. package/dist/core/le-kit/p-aa6e906f.entry.js +0 -2
  511. package/dist/core/le-kit/p-aa6e906f.entry.js.map +0 -1
  512. package/dist/core/le-kit/p-d75214f9.entry.js +0 -2
  513. package/dist/core/le-kit/p-d75214f9.entry.js.map +0 -1
  514. package/dist/core/le-kit/p-df552906.entry.js.map +0 -1
  515. package/dist/core/le-kit/p-e0861e82.entry.js +0 -2
  516. package/dist/core/le-kit/p-e0861e82.entry.js.map +0 -1
  517. package/dist/core/loader/cdn.js +0 -1
  518. package/dist/core/loader/index.cjs.js +0 -1
  519. package/dist/core/loader/index.d.ts +0 -24
  520. package/dist/core/loader/index.es2017.js +0 -1
  521. package/dist/core/loader/index.js +0 -2
  522. package/dist/core/types/components/le-box/le-box.d.ts +0 -111
  523. package/dist/core/types/components/le-button/le-button.d.ts +0 -78
  524. package/dist/core/types/components/le-card/le-card.d.ts +0 -37
  525. package/dist/core/types/components/le-checkbox/le-checkbox.d.ts +0 -46
  526. package/dist/core/types/components/le-number-input/le-number-input.d.ts +0 -106
  527. package/dist/core/types/components/le-popover/le-popover.d.ts +0 -109
  528. package/dist/core/types/components/le-popup/le-popup.api.d.ts +0 -73
  529. package/dist/core/types/components/le-popup/le-popup.d.ts +0 -122
  530. package/dist/core/types/components/le-round-progress/le-round-progress.d.ts +0 -37
  531. package/dist/core/types/components/le-stack/le-stack.d.ts +0 -73
  532. package/dist/core/types/components/le-string-input/le-string-input.d.ts +0 -83
  533. package/dist/core/types/components/le-text/le-text.d.ts +0 -141
  534. package/dist/core/types/components/le-turntable/le-turntable.d.ts +0 -55
  535. package/dist/core/types/components.d.ts +0 -1752
  536. package/dist/core/types/global/app.d.ts +0 -73
  537. package/dist/core/types/index.d.ts +0 -15
  538. package/dist/core/types/stencil-public-runtime.d.ts +0 -1756
  539. package/dist/core/types/types/blocks.d.ts +0 -136
  540. package/dist/core/types/types/options.d.ts +0 -124
  541. package/dist/core/types/utils/utils.d.ts +0 -54
  542. package/dist/esm/index-CwNQ1GTa.js.map +0 -1
  543. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +0 -1
  544. package/dist/esm/le-popup.entry.js +0 -210
  545. package/dist/esm/le-popup.entry.js.map +0 -1
  546. package/dist/le-kit/assets/custom-elements.json +0 -4305
  547. package/dist/le-kit/dist/collection/themes/dark.css +0 -100
  548. package/dist/le-kit/dist/collection/themes/minimal.css +0 -100
  549. package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +0 -1
  550. package/dist/le-kit/le-popup.entry.esm.js.map +0 -1
  551. package/dist/le-kit/p-08dbcc25.entry.js +0 -2
  552. package/dist/le-kit/p-08dbcc25.entry.js.map +0 -1
  553. package/dist/le-kit/p-5dc35729.entry.js +0 -2
  554. package/dist/le-kit/p-5dc35729.entry.js.map +0 -1
  555. package/dist/le-kit/p-64374730.entry.js.map +0 -1
  556. package/dist/le-kit/p-79ec6f7c.entry.js.map +0 -1
  557. package/dist/le-kit/p-8daf3c7f.entry.js +0 -2
  558. package/dist/le-kit/p-8daf3c7f.entry.js.map +0 -1
  559. package/dist/le-kit/p-9c69235d.entry.js +0 -2
  560. package/dist/le-kit/p-9c69235d.entry.js.map +0 -1
  561. package/dist/le-kit/p-CwNQ1GTa.js +0 -3
  562. package/dist/le-kit/p-CwNQ1GTa.js.map +0 -1
  563. package/dist/le-kit/p-ad398acd.entry.js.map +0 -1
  564. package/dist/le-kit/p-b8122ad6.entry.js.map +0 -1
  565. package/dist/le-kit/p-f9008505.entry.js.map +0 -1
  566. package/dist/le-kit/p-y3FECAx9.js +0 -2
@@ -0,0 +1,206 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host, Fragment } from '@stencil/core/internal/client';
2
+ import { h as classnames } from './utils.js';
3
+ import { d as defineCustomElement$1, a as defineCustomElement$2, b as defineCustomElement$3, c as defineCustomElement$5, e as defineCustomElement$6, f as defineCustomElement$7 } from './le-button2.js';
4
+ import { d as defineCustomElement$4 } from './le-popover2.js';
5
+
6
+ const leTabCss = ":host{display:inline-block;--le-tab-border-radius:var(--le-radius-md);--le-tab-padding-x:var(--le-spacing-4);--le-tab-padding-y:var(--le-spacing-2);--le-tab-padding:var(--le-tab-padding-y) var(--le-tab-padding-x);--le-tab-small-padding:0.25rem;--le-tab-font-size:var(--le-font-size-md);--le-tab-font-weight:var(--le-font-weight-medium);--le-tab-transition:var(--le-transition-fast);--le-transition-easing:ease-in-out;--le-tab-icon-aspect-ratio:1;--le-tab-icon-only-aspect-ratio:2.5;--le-tab-color:var(--le-color-text-primary);--le-selected-tab-color:var(--le-color-primary);--le-selected-icon-only-tab-background:color-mix(in srgb, var(--_tab-bg) 10%, transparent);--_tab-bg:var(--le-color-primary);--_tab-bg-hover:var(--le-color-primary-dark);--_tab-bg-system:var(--le-color-black);--_tab-color:var(--le-tab-color);--_tab-border-color:var(--le-color-primary)}:host([full-width]){display:block;width:100%}.le-tab-container{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--le-spacing-3);width:100%;padding:var(--le-tab-padding);color:var(--_tab-color);font-family:var(--le-font-family-base);font-size:var(--le-tab-font-size);font-weight:var(--le-tab-font-weight);line-height:var(--le-line-height-tight);text-decoration:none;cursor:pointer;transition:background-color var(--le-tab-transition) var(--le-transition-easing),\n border-color var(--le-tab-transition) var(--le-transition-easing),\n box-shadow var(--le-tab-transition) var(--le-transition-easing),\n transform var(--le-tab-transition) var(--le-transition-easing)}.le-tab-container:hover:not(:disabled){color:var(--le-selected-tab-color)}.le-tab-container:focus-visible{outline:none}.le-tab-container:disabled{opacity:0.5;cursor:not-allowed}.le-tab-label{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--le-spacing-2)}.le-tab-container.variant-underlined{background:transparent;border:2px solid transparent;border-radius:0}.le-tab-container.variant-underlined.position-start,.le-tab-container.variant-underlined.position-end{border-block-width:0}.le-tab-container.variant-underlined.position-start{padding-inline-start:0}.le-tab-container.variant-underlined.position-top,.le-tab-container.variant-underlined.position-bottom{border-inline-width:0}.le-tab-container.variant-underlined.position-start.selected{border-inline-end-color:var(--_tab-border-color)}.le-tab-container.variant-underlined.position-end.selected{border-inline-start-color:var(--_tab-border-color)}.le-tab-container.variant-underlined.position-top.selected{border-bottom-color:var(--_tab-border-color)}.le-tab-container.variant-underlined.position-bottom.selected{border-top-color:var(--_tab-border-color)}.le-tab-container.variant-solid{background:transparent;border-radius:var(--le-tab-border-radius);border:none}.le-tab-container.variant-solid.selected{background:var(--_tab-bg);color:var(--le-color-on-primary)}.le-tab-container.variant-pills{background:transparent;border-radius:var(--le-radius-full);border:none}.le-tab-container.variant-pills.selected{background:var(--_tab-bg);color:var(--le-color-on-primary)}.le-tab-container.variant-enclosed{padding-block:var(--le-spacing-1);background:transparent;border-radius:var(--le-tab-border-radius);border:none}.le-tab-container.variant-enclosed.selected{background:var(--_tab-bg);color:var(--le-color-on-primary)}.le-tab-container.variant-icon-only{border:none;padding:0;background:transparent;color:var(--_tab-color)}.le-tab-container.variant-icon-only .icon-only{flex-direction:column}.le-tab-container.variant-icon-only .icon{display:flex;align-items:center;justify-content:center;min-height:var(--le-font-size-3xl);aspect-ratio:var(--le-tab-icon-only-aspect-ratio);font-size:var(--le-font-size-2xl);border-radius:var(--le-radius-full)}.le-tab-container.variant-icon-only .icon-label{margin-top:var(--le-spacing-1);font-size:var(--le-font-size-2xs)}.le-tab-container.variant-icon-only.selected{color:var(--le-selected-tab-color)}.le-tab-container.variant-icon-only.selected .icon{background:var(--le-selected-icon-only-tab-background)}.le-tab-container.variant-icon-only.size-small{padding:var(--le-tab-small-padding, 0.25rem)}.le-tab-container.variant-icon-only .content{display:none}.le-tab-container.size-small{--le-tab-padding-x:0.4rem;--le-tab-padding-y:0.3rem;--le-tab-padding-top:0.35rem;--le-tab-font-size:var(--le-tab-small-font-size, var(--le-font-size-xs))}.le-tab-container.size-large{--le-tab-padding-x:0.9rem;--le-tab-padding-y:0.6rem;--le-tab-font-size:var(--le-font-size-xl)}.le-tab-container.full-width{display:block;width:100%}.le-tab-container.variant-underlined.selected,.le-tab-container.variant-clear.selected{color:var(--le-selected-tab-color)}:host>le-component.icon-only .le-tab-container{padding:0.5rem;padding-bottom:0.6rem;aspect-ratio:var(--le-tab-icon-aspect-ratio, 1)}.le-tab-container.icon-only.size-small{padding:var(--le-tab-small-padding, 0.25rem)}.le-tab-container.icon-only.size-large{padding:0.75rem}.le-tab-container.icon-only .content{display:none}.content{display:inline}.content:empty{display:none}.icon-start,.icon-only,.icon-end{display:flex;align-items:center;justify-content:center}.icon-start:empty,.icon-only:empty,.icon-end:empty{display:none}::slotted([slot=\"icon-start\"]),::slotted([slot=\"icon-only\"]),::slotted([slot=\"icon-end\"]){display:flex;align-items:center;justify-content:center;width:1.125em;height:1.125em}.le-tab-align-start{justify-content:flex-start}.le-tab-align-center{justify-content:center}.le-tab-align-space-between{justify-content:space-between}.le-tab-align-end{justify-content:flex-end}";
7
+
8
+ const LeTab = /*@__PURE__*/ proxyCustomElement(class LeTab extends HTMLElement {
9
+ constructor(registerHost) {
10
+ super();
11
+ if (registerHost !== false) {
12
+ this.__registerHost();
13
+ }
14
+ this.__attachShadow();
15
+ this.leClick = createEvent(this, "click", 7);
16
+ }
17
+ get el() { return this; }
18
+ /**
19
+ * Mode of the popover should be 'default' for internal use
20
+ */
21
+ mode;
22
+ /**
23
+ * Label if it is not provided via slot
24
+ */
25
+ label;
26
+ /**
27
+ * Value of the tab, defaults to label if not provided
28
+ */
29
+ value;
30
+ /**
31
+ * Tab variant style
32
+ * @allowedValues solid | underlined | clear | enclosed | icon-only
33
+ */
34
+ variant = 'underlined';
35
+ /**
36
+ * Position of the tabs when used within a le-tabs component
37
+ * @allowedValues top | bottom | start | end
38
+ */
39
+ position = 'top';
40
+ /**
41
+ * Tab size
42
+ * @allowedValues small | medium | large
43
+ */
44
+ size = 'medium';
45
+ /**
46
+ * Whether the tab can get focus
47
+ * needed for accessibility when used in custom tab implementations
48
+ */
49
+ focusable = true;
50
+ /**
51
+ * Whether the tab is in a selected/active state
52
+ */
53
+ selected = false;
54
+ /**
55
+ * Whether the tab takes full width of its container
56
+ */
57
+ fullWidth = false;
58
+ /**
59
+ * Icon only tab image or emoji
60
+ * if this prop is set, the tab will render only the icon slot
61
+ */
62
+ icon;
63
+ /**
64
+ * Whether to show the label when in icon-only mode
65
+ */
66
+ showLabel = false;
67
+ /**
68
+ * Start icon image or emoji
69
+ */
70
+ iconStart;
71
+ /**
72
+ * End icon image or emoji
73
+ */
74
+ iconEnd;
75
+ /**
76
+ * Whether the tab is disabled
77
+ */
78
+ disabled = false;
79
+ /**
80
+ * Optional href to make the tab act as a link
81
+ */
82
+ href;
83
+ /**
84
+ * Link target when href is set
85
+ */
86
+ target;
87
+ /**
88
+ * Alignment of the tab label without the end icon
89
+ * @allowedValues start | center | space-between | end
90
+ */
91
+ align = 'center';
92
+ /**
93
+ * Get tab configuration for parent component
94
+ */
95
+ async getTabConfig() {
96
+ return {
97
+ label: this.label,
98
+ value: this.value ?? this.label,
99
+ icon: this.icon,
100
+ iconStart: this.iconStart,
101
+ iconEnd: this.iconEnd,
102
+ disabled: this.disabled,
103
+ };
104
+ }
105
+ /**
106
+ * Emitted when the tab is clicked.
107
+ * This is a custom event that wraps the native click but ensures the target is the le-tab.
108
+ */
109
+ leClick;
110
+ handleClick = (event) => {
111
+ // We stop the internal button click from bubbling up
112
+ event.stopPropagation();
113
+ if (this.disabled) {
114
+ event.preventDefault();
115
+ return;
116
+ }
117
+ // And emit our own click event from the host element
118
+ this.leClick.emit(event);
119
+ };
120
+ render() {
121
+ const classes = classnames(`variant-${this.variant}`, `size-${this.size}`, `position-${this.position}`, {
122
+ 'selected': this.selected,
123
+ 'full-width': this.fullWidth,
124
+ 'icon-only': this.icon !== undefined,
125
+ 'disabled': this.disabled,
126
+ });
127
+ const TagType = this.href ? 'a' : 'button';
128
+ const attrs = this.href
129
+ ? { href: this.href, target: this.target, role: 'button' }
130
+ : { disabled: this.disabled };
131
+ return (h(Host, { key: '134cc19fd8fc3d2bd0ad6655a4512494d384229b' }, h("le-component", { key: '9469e74c3440e3a6658157ee150edf7eff54d1fd', component: "le-tab" }, h(TagType, { key: '214c0014fc973b5d3c1815f00fc9533f9a1a8a53', class: classnames('le-tab-container', `le-tab-align-${this.align}`, classes), part: "button", ...attrs, onClick: this.handleClick, tabIndex: this.focusable ? 0 : -1 }, this.icon !== undefined ? (h("div", { class: "icon-only" }, h("div", { class: "icon" }, this.icon), this.showLabel && h("span", { class: "icon-label" }, this.label))) : (h(Fragment, null, h("span", { class: "le-tab-label" }, this.iconStart && (h("span", { class: "icon-start", part: "icon-start" }, this.iconStart)), h("le-slot", { name: "", description: "Tab text", type: "text", class: "content", part: "content" }, h("slot", null, this.label))), this.iconEnd && (h("span", { class: "icon-end", part: "icon-end" }, this.iconEnd))))))));
132
+ }
133
+ static get style() { return leTabCss; }
134
+ }, [769, "le-tab", {
135
+ "mode": [1537],
136
+ "label": [1],
137
+ "value": [1],
138
+ "variant": [1],
139
+ "position": [1],
140
+ "size": [1],
141
+ "focusable": [4],
142
+ "selected": [4],
143
+ "fullWidth": [516, "full-width"],
144
+ "icon": [1],
145
+ "showLabel": [4, "show-label"],
146
+ "iconStart": [1, "icon-start"],
147
+ "iconEnd": [1, "icon-end"],
148
+ "disabled": [4],
149
+ "href": [1],
150
+ "target": [1],
151
+ "align": [1],
152
+ "getTabConfig": [64]
153
+ }]);
154
+ function defineCustomElement() {
155
+ if (typeof customElements === "undefined") {
156
+ return;
157
+ }
158
+ const components = ["le-tab", "le-button", "le-checkbox", "le-component", "le-popover", "le-popup", "le-slot", "le-string-input"];
159
+ components.forEach(tagName => { switch (tagName) {
160
+ case "le-tab":
161
+ if (!customElements.get(tagName)) {
162
+ customElements.define(tagName, LeTab);
163
+ }
164
+ break;
165
+ case "le-button":
166
+ if (!customElements.get(tagName)) {
167
+ defineCustomElement$7();
168
+ }
169
+ break;
170
+ case "le-checkbox":
171
+ if (!customElements.get(tagName)) {
172
+ defineCustomElement$6();
173
+ }
174
+ break;
175
+ case "le-component":
176
+ if (!customElements.get(tagName)) {
177
+ defineCustomElement$5();
178
+ }
179
+ break;
180
+ case "le-popover":
181
+ if (!customElements.get(tagName)) {
182
+ defineCustomElement$4();
183
+ }
184
+ break;
185
+ case "le-popup":
186
+ if (!customElements.get(tagName)) {
187
+ defineCustomElement$3();
188
+ }
189
+ break;
190
+ case "le-slot":
191
+ if (!customElements.get(tagName)) {
192
+ defineCustomElement$2();
193
+ }
194
+ break;
195
+ case "le-string-input":
196
+ if (!customElements.get(tagName)) {
197
+ defineCustomElement$1();
198
+ }
199
+ break;
200
+ } });
201
+ }
202
+
203
+ export { LeTab as L, defineCustomElement as d };
204
+ //# sourceMappingURL=le-tab2.js.map
205
+
206
+ //# sourceMappingURL=le-tab2.js.map
@@ -0,0 +1 @@
1
+ {"file":"le-tab2.js","mappings":";;;;;AAAA,MAAM,QAAQ,GAAG,ygLAAygL;;MCsC7gL,KAAK,iBAAAA,kBAAA,CAAA,MAAA,KAAA,SAAA,WAAA,CAAA;;;;;;;;;;AAGhB;;AAEG;AACqC,IAAA,IAAI;AAE5C;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;AACK,IAAA,KAAK;AAEb;;;AAGG;IACK,OAAO,GAAgE,YAAY;AAE3F;;;AAGG;IACK,QAAQ,GAAuC,KAAK;AAE5D;;;AAGG;IACK,IAAI,GAAiC,QAAQ;AAErD;;;AAGG;IACK,SAAS,GAAY,IAAI;AAEjC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACsB,SAAS,GAAY,KAAK;AAEnD;;;AAGG;AACK,IAAA,IAAI;AAEZ;;AAEG;IACK,SAAS,GAAY,KAAK;AAElC;;AAEG;AACK,IAAA,SAAS;AAEjB;;AAEG;AACK,IAAA,OAAO;AAEf;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,IAAI;AAEZ;;AAEG;AACK,IAAA,MAAM;AAEd;;;AAGG;IACK,KAAK,GAAiD,QAAQ;AAEtE;;AAEG;AAEH,IAAA,MAAM,YAAY,GAAA;QAQhB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;;AAGH;;;AAGG;AAC4B,IAAA,OAAO;AAE9B,IAAA,WAAW,GAAG,CAAC,KAAmB,KAAI;;QAE5C,KAAK,CAAC,eAAe,EAAE;AAEvB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,cAAc,EAAE;YACtB;;;AAIF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B,KAAC;IAED,MAAM,GAAA;QACJ,MAAM,OAAO,GAAG,UAAU,CACxB,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,EACzB,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,EACnB,YAAY,IAAI,CAAC,QAAQ,CAAA,CAAE,EAC3B;YACE,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,YAAY,EAAE,IAAI,CAAC,SAAS;AAC5B,YAAA,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;YACpC,UAAU,EAAE,IAAI,CAAC,QAAQ;AAC1B,SAAA,CACF;AAED,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ;AAC1C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC;AACjB,cAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;cACtD,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;QAE/B,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAc,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,SAAS,EAAC,QAAQ,EAAA,EAC9B,CAAC,CAAA,OAAO,EACN,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,UAAU,CAAC,kBAAkB,EAAE,CAAgB,aAAA,EAAA,IAAI,CAAC,KAAK,CAAE,CAAA,EAAE,OAAO,CAAC,EAC5E,IAAI,EAAC,QAAQ,EACT,GAAA,KAAK,EACT,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,IAEhC,IAAI,CAAC,IAAI,KAAK,SAAS,IACtB,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,WAAW,EAAA,EACpB,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,MAAM,IAAE,IAAI,CAAC,IAAI,CAAO,EAClC,IAAI,CAAC,SAAS,IAAI,YAAM,KAAK,EAAC,YAAY,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,CAC3D,KAEN,EAAC,QAAQ,EAAA,IAAA,EACP,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,IAAI,CAAC,SAAS,KACb,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,YAAY,EAAA,EACvC,IAAI,CAAC,SAAS,CACV,CACR,EACD,CAAA,CAAA,SAAA,EAAA,EACE,IAAI,EAAC,EAAE,EACP,WAAW,EAAC,UAAU,EACtB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,SAAS,EAAA,EAEd,CAAA,CAAA,MAAA,EAAA,IAAA,EAAO,IAAI,CAAC,KAAK,CAAQ,CACjB,CACL,EACN,IAAI,CAAC,OAAO,KACX,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,UAAU,IACnC,IAAI,CAAC,OAAO,CACR,CACR,CACQ,CACZ,CACO,CACG,CACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement"],"sources":["src/components/le-tab/le-tab.css?tag=le-tab&encapsulation=shadow","src/components/le-tab/le-tab.tsx"],"sourcesContent":["/**\n * Default mode styles for le-button\n * Uses global design tokens with component-specific overrides\n */\n:host {\n display: inline-block;\n \n /* Component-specific tokens */\n --le-tab-border-radius: var(--le-radius-md);\n --le-tab-padding-x: var(--le-spacing-4);\n --le-tab-padding-y: var(--le-spacing-2);\n --le-tab-padding: var(--le-tab-padding-y) var(--le-tab-padding-x);\n --le-tab-small-padding: 0.25rem;\n --le-tab-font-size: var(--le-font-size-md);\n --le-tab-font-weight: var(--le-font-weight-medium);\n --le-tab-transition: var(--le-transition-fast);\n --le-transition-easing: ease-in-out;\n --le-tab-icon-aspect-ratio: 1;\n --le-tab-icon-only-aspect-ratio: 2.5;\n --le-tab-color: var(--le-color-text-primary);\n --le-selected-tab-color: var(--le-color-primary);\n --le-selected-icon-only-tab-background: color-mix(in srgb, var(--_tab-bg) 10%, transparent);\n \n /* Internal state variables - set by color classes */\n --_tab-bg: var(--le-color-primary);\n --_tab-bg-hover: var(--le-color-primary-dark);\n --_tab-bg-system: var(--le-color-black);\n --_tab-color: var(--le-tab-color);\n --_tab-border-color: var(--le-color-primary);\n}\n\n:host([full-width]) {\n display: block;\n width: 100%;\n}\n\n.le-tab-container {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--le-spacing-3);\n width: 100%;\n padding: var(--le-tab-padding);\n color: var(--_tab-color);\n font-family: var(--le-font-family-base);\n font-size: var(--le-tab-font-size);\n font-weight: var(--le-tab-font-weight);\n line-height: var(--le-line-height-tight);\n text-decoration: none;\n cursor: pointer;\n transition: \n background-color var(--le-tab-transition) var(--le-transition-easing),\n border-color var(--le-tab-transition) var(--le-transition-easing),\n box-shadow var(--le-tab-transition) var(--le-transition-easing),\n transform var(--le-tab-transition) var(--le-transition-easing);\n}\n\n.le-tab-container:hover:not(:disabled) {\n color: var(--le-selected-tab-color);\n}\n\n.le-tab-container:focus-visible {\n outline: none;\n}\n\n.le-tab-container:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.le-tab-label {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--le-spacing-2);\n}\n\n/* ===========================================\n * STYLE VARIANTS\n * =========================================== */\n\n/* Underlined (default for tabs), depends on the position (top, bottom, start, end) */\n.le-tab-container.variant-underlined {\n background: transparent;\n border: 2px solid transparent;\n border-radius: 0;\n}\n.le-tab-container.variant-underlined.position-start,\n.le-tab-container.variant-underlined.position-end {\n border-block-width: 0;\n}\n.le-tab-container.variant-underlined.position-start {\n padding-inline-start: 0;\n}\n.le-tab-container.variant-underlined.position-top,\n.le-tab-container.variant-underlined.position-bottom {\n border-inline-width: 0;\n}\n.le-tab-container.variant-underlined.position-start.selected {\n border-inline-end-color: var(--_tab-border-color);\n}\n.le-tab-container.variant-underlined.position-end.selected {\n border-inline-start-color: var(--_tab-border-color);\n}\n.le-tab-container.variant-underlined.position-top.selected {\n border-bottom-color: var(--_tab-border-color);\n}\n.le-tab-container.variant-underlined.position-bottom.selected {\n border-top-color: var(--_tab-border-color);\n}\n\n/* Solid (default) - already styled by color classes */\n.le-tab-container.variant-solid {\n background: transparent;\n border-radius: var(--le-tab-border-radius);\n border: none;\n}\n.le-tab-container.variant-solid.selected {\n background: var(--_tab-bg);\n color: var(--le-color-on-primary);\n}\n\n/* Pills */\n.le-tab-container.variant-pills {\n background: transparent;\n border-radius: var(--le-radius-full);\n border: none;\n}\n.le-tab-container.variant-pills.selected {\n background: var(--_tab-bg);\n color: var(--le-color-on-primary);\n}\n\n/* Enclosed */\n.le-tab-container.variant-enclosed {\n padding-block: var(--le-spacing-1);\n background: transparent;\n border-radius: var(--le-tab-border-radius);\n border: none;\n}\n.le-tab-container.variant-enclosed.selected {\n background: var(--_tab-bg);\n color: var(--le-color-on-primary);\n}\n\n/* Icon only (used in le-tab-bar - mobile navigation) */\n.le-tab-container.variant-icon-only {\n border: none;\n padding: 0;\n background: transparent;\n color: var(--_tab-color);\n}\n.le-tab-container.variant-icon-only .icon-only {\n flex-direction: column;\n}\n.le-tab-container.variant-icon-only .icon {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--le-font-size-3xl);\n aspect-ratio: var(--le-tab-icon-only-aspect-ratio);\n font-size: var(--le-font-size-2xl);\n border-radius: var(--le-radius-full);\n}\n.le-tab-container.variant-icon-only .icon-label {\n margin-top: var(--le-spacing-1);\n font-size: var(--le-font-size-2xs);\n}\n\n.le-tab-container.variant-icon-only.selected {\n color: var(--le-selected-tab-color);\n}\n.le-tab-container.variant-icon-only.selected .icon {\n background: var(--le-selected-icon-only-tab-background);\n}\n.le-tab-container.variant-icon-only.size-small {\n padding: var(--le-tab-small-padding, 0.25rem);\n}\n.le-tab-container.variant-icon-only .content {\n display: none;\n}\n\n\n/* ===========================================\n * SIZES\n * =========================================== */\n.le-tab-container.size-small {\n --le-tab-padding-x: 0.4rem;\n --le-tab-padding-y: 0.3rem;\n --le-tab-padding-top: 0.35rem;\n --le-tab-font-size: var(--le-tab-small-font-size, var(--le-font-size-xs));\n}\n\n.le-tab-container.size-large {\n --le-tab-padding-x: 0.9rem;\n --le-tab-padding-y: 0.6rem;\n --le-tab-font-size: var(--le-font-size-xl);\n}\n\n/* ===========================================\n * STATES & MODIFIERS\n * =========================================== */\n\n/* Full width */\n.le-tab-container.full-width {\n display: block;\n width: 100%;\n}\n\n.le-tab-container.variant-underlined.selected,\n.le-tab-container.variant-clear.selected {\n color: var(--le-selected-tab-color);\n}\n\n/* Icon only */\n:host > le-component.icon-only .le-tab-container {\n padding: 0.5rem;\n padding-bottom: 0.6rem;\n aspect-ratio: var(--le-tab-icon-aspect-ratio, 1);\n}\n\n.le-tab-container.icon-only.size-small {\n padding: var(--le-tab-small-padding, 0.25rem);\n}\n\n.le-tab-container.icon-only.size-large {\n padding: 0.75rem;\n}\n\n/* Hide content in icon-only mode */\n.le-tab-container.icon-only .content {\n display: none;\n}\n\n/* ===========================================\n * CONTENT (le-slot wrapper)\n * =========================================== */\n.content {\n display: inline;\n}\n\n.content:empty {\n display: none;\n}\n\n/* ===========================================\n * ICON WRAPPERS & SLOTS\n * =========================================== */\n.icon-start,\n.icon-only,\n.icon-end {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.icon-start:empty,\n.icon-only:empty,\n.icon-end:empty {\n display: none;\n}\n\n::slotted([slot=\"icon-start\"]),\n::slotted([slot=\"icon-only\"]),\n::slotted([slot=\"icon-end\"]) {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.125em;\n height: 1.125em;\n}\n\n/* ===========================================\n * ALIGNMENT MODIFIERS\n * =========================================== */\n.le-tab-align-start {\n justify-content: flex-start;\n}\n.le-tab-align-center {\n justify-content: center;\n}\n.le-tab-align-space-between {\n justify-content: space-between;\n}\n.le-tab-align-end {\n justify-content: flex-end;\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n Fragment,\n Event,\n EventEmitter,\n Host,\n Method,\n} from '@stencil/core';\nimport { classnames } from '../../utils/utils';\n\n/**\n * A flexible tab component with multiple variants and states.\n *\n * @slot - Tab text content\n * @slot icon-only - Icon for icon-only tabs\n *\n * @cssprop --le-tab-bg - Tab background color\n * @cssprop --le-tab-color - Tab text color\n * @cssprop --le-tab-border-radius - Tab border radius\n * @cssprop --le-tab-padding-x - Tab horizontal padding\n * @cssprop --le-tab-padding-y - Tab vertical padding\n *\n * @csspart button - The native button element\n * @csspart content - The tab 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-tab',\n styleUrl: 'le-tab.css',\n shadow: true,\n})\nexport class LeTab {\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 * Label if it is not provided via slot\n */\n @Prop() label?: string;\n\n /**\n * Value of the tab, defaults to label if not provided\n */\n @Prop() value?: string;\n\n /**\n * Tab variant style\n * @allowedValues solid | underlined | clear | enclosed | icon-only\n */\n @Prop() variant: 'underlined' | 'solid' | 'pills' | 'enclosed' | 'icon-only' = 'underlined';\n\n /**\n * Position of the tabs when used within a le-tabs component\n * @allowedValues top | bottom | start | end\n */\n @Prop() position: 'top' | 'bottom' | 'start' | 'end' = 'top';\n\n /**\n * Tab size\n * @allowedValues small | medium | large\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Whether the tab can get focus\n * needed for accessibility when used in custom tab implementations\n */\n @Prop() focusable: boolean = true;\n\n /**\n * Whether the tab is in a selected/active state\n */\n @Prop() selected: boolean = false;\n\n /**\n * Whether the tab takes full width of its container\n */\n @Prop({ reflect: true }) fullWidth: boolean = false;\n\n /**\n * Icon only tab image or emoji\n * if this prop is set, the tab will render only the icon slot\n */\n @Prop() icon?: string | Node;\n\n /**\n * Whether to show the label when in icon-only mode\n */\n @Prop() showLabel: boolean = false;\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 tab is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Optional href to make the tab 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 tab 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 * Get tab configuration for parent component\n */\n @Method()\n async getTabConfig(): Promise<{\n label: string;\n value: string;\n icon: string | Node;\n iconStart?: string | Node;\n iconEnd?: string | Node;\n disabled: boolean;\n }> {\n return {\n label: this.label,\n value: this.value ?? this.label,\n icon: this.icon,\n iconStart: this.iconStart,\n iconEnd: this.iconEnd,\n disabled: this.disabled,\n };\n }\n\n /**\n * Emitted when the tab is clicked.\n * This is a custom event that wraps the native click but ensures the target is the le-tab.\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(\n `variant-${this.variant}`,\n `size-${this.size}`,\n `position-${this.position}`,\n {\n 'selected': this.selected,\n 'full-width': this.fullWidth,\n 'icon-only': this.icon !== undefined,\n 'disabled': this.disabled,\n },\n );\n\n const TagType = this.href ? 'a' : 'button';\n const attrs = this.href\n ? { href: this.href, target: this.target, role: 'button' }\n : { disabled: this.disabled };\n\n return (\n <Host>\n <le-component component=\"le-tab\">\n <TagType\n class={classnames('le-tab-container', `le-tab-align-${this.align}`, classes)}\n part=\"button\"\n {...attrs}\n onClick={this.handleClick}\n tabIndex={this.focusable ? 0 : -1}\n >\n {this.icon !== undefined ? (\n <div class=\"icon-only\">\n <div class=\"icon\">{this.icon}</div>\n {this.showLabel && <span class=\"icon-label\">{this.label}</span>}\n </div>\n ) : (\n <Fragment>\n <span class=\"le-tab-label\">\n {this.iconStart && (\n <span class=\"icon-start\" part=\"icon-start\">\n {this.iconStart}\n </span>\n )}\n <le-slot\n name=\"\"\n description=\"Tab text\"\n type=\"text\"\n class=\"content\"\n part=\"content\"\n >\n <slot>{this.label}</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 </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface LeTabs extends Components.LeTabs, HTMLElement {}
4
+ export const LeTabs: {
5
+ prototype: LeTabs;
6
+ new (): LeTabs;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,386 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { h as classnames } from './utils.js';
3
+ import { d as defineCustomElement$3, a as defineCustomElement$4, b as defineCustomElement$5, c as defineCustomElement$7, e as defineCustomElement$8, f as defineCustomElement$9 } from './le-button2.js';
4
+ import { d as defineCustomElement$6 } from './le-popover2.js';
5
+ import { d as defineCustomElement$2 } from './le-tab2.js';
6
+
7
+ const leTabsCss = ":host{display:block;--le-tabs-gap:var(--le-spacing-1);--le-tabs-border-color:var(--le-border-color);--le-tabs-padding-y:var(--le-spacing-2);--le-tabs-padding-x:var(--le-spacing-4);--le-tabs-enclosed-bg:var(--le-color-background-secondary)}.le-tabs{display:flex;flex-direction:column}.le-tabs.orientation-vertical{flex-direction:row}.tablist{display:flex;position:relative;border-radius:var(--le-radius-md);gap:var(--le-tabs-gap)}.tablist.wrap-tabs{flex-wrap:wrap}.tablist.overflow-auto{overflow:auto}.tablist.overflow-hidden{overflow:hidden}.tablist.overflow-visible{overflow:visible}.tablist.overflow-scroll{overflow:scroll}.tablist:focus{outline:2px solid var(--le-color-focus);outline-offset:2px}.orientation-horizontal .tablist{flex-direction:row;border-bottom:1px solid var(--le-tabs-border-color)}.orientation-vertical .tablist{flex-direction:column;border-right:1px solid var(--le-tabs-border-color);min-width:150px}.full-width .tablist{width:100%}.full-width.orientation-horizontal .tab{flex:1}.variant-underlined .tablist{padding-inline:4px}.variant-pills .tablist{border-radius:calc(1.12rem)}.variant-enclosed .tablist{border:none;gap:0;background-color:var(--le-tabs-enclosed-bg);border-radius:calc(var(--le-radius-md) + var(--le-spacing-1));padding:var(--le-spacing-1)}.tab-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;font-size:1.1em}.tab-icon img{width:100%;height:100%;object-fit:contain}.panels{flex:1;min-height:0}.panel{padding:var(--le-tabs-panel-padding, var(--le-spacing-4))}.panel[hidden]{display:none}.orientation-vertical .panels{padding-left:var(--le-spacing-4)}.position-end .panels{order:1}.position-end .tablist{order:2}";
8
+
9
+ const LeTabs$1 = /*@__PURE__*/ proxyCustomElement(class LeTabs extends HTMLElement {
10
+ constructor(registerHost) {
11
+ super();
12
+ if (registerHost !== false) {
13
+ this.__registerHost();
14
+ }
15
+ this.__attachShadow();
16
+ this.leTabChange = createEvent(this, "leTabChange", 7);
17
+ }
18
+ get el() { return this; }
19
+ /**
20
+ * Array of tab options (programmatic mode).
21
+ * If le-tab-panel children exist, they take precedence.
22
+ */
23
+ tabs = [];
24
+ /**
25
+ * The value of the currently selected tab.
26
+ * If not provided, defaults to the first tab.
27
+ */
28
+ selected;
29
+ /**
30
+ * Orientation of the tabs.
31
+ * @allowedValues horizontal | vertical
32
+ */
33
+ orientation = 'horizontal';
34
+ /**
35
+ * Position of the tabs relative to the panels.
36
+ * @allowedValues start | end
37
+ */
38
+ position = 'start';
39
+ /**
40
+ * Tab variant style.
41
+ * @allowedValues underlined | solid | pills | enclosed | icon-only
42
+ */
43
+ variant = 'underlined';
44
+ /**
45
+ * Whether tabs should stretch to fill available width.
46
+ */
47
+ fullWidth = false;
48
+ /**
49
+ * Size of the tabs.
50
+ * @allowedValues sm | md | lg
51
+ */
52
+ size = 'medium';
53
+ /**
54
+ * Wrap the tabs if they exceed container width.
55
+ */
56
+ wrap = false;
57
+ /**
58
+ * Scroll behavior for overflowing tabs.
59
+ * @allowedValues auto | hidden | visible | scroll
60
+ */
61
+ overflow = 'auto';
62
+ /**
63
+ * Internal tab configurations (built from children or tabs prop)
64
+ */
65
+ tabConfigs = [];
66
+ /**
67
+ * Internal state for focused tab index (for keyboard navigation)
68
+ */
69
+ focusedIndex = 0;
70
+ /**
71
+ * Whether we're using declarative mode (le-tab-panel children)
72
+ */
73
+ isDeclarativeMode = false;
74
+ /**
75
+ * Emitted when the selected tab changes.
76
+ */
77
+ leTabChange;
78
+ mutationObserver;
79
+ selectedChanged(newValue) {
80
+ const index = this.tabConfigs.findIndex(t => t.value === newValue);
81
+ if (index >= 0) {
82
+ this.focusedIndex = index;
83
+ }
84
+ this.updatePanelStates();
85
+ }
86
+ tabsChanged() {
87
+ if (!this.isDeclarativeMode) {
88
+ this.buildTabConfigs();
89
+ }
90
+ }
91
+ handleSlotChange() {
92
+ this.buildTabConfigs();
93
+ }
94
+ componentWillLoad() {
95
+ this.buildTabConfigs();
96
+ }
97
+ connectedCallback() {
98
+ // Watch for dynamic changes to children
99
+ this.mutationObserver = new MutationObserver(() => {
100
+ this.buildTabConfigs();
101
+ });
102
+ this.mutationObserver.observe(this.el, {
103
+ attributes: true,
104
+ childList: true,
105
+ subtree: true,
106
+ });
107
+ }
108
+ disconnectedCallback() {
109
+ this.mutationObserver?.disconnect();
110
+ }
111
+ async buildTabConfigs() {
112
+ // Check for le-tab-panel children
113
+ const panels = Array.from(this.el.querySelectorAll(':scope > le-tab-panel'));
114
+ if (panels.length > 0) {
115
+ // Declarative mode - build from children
116
+ this.isDeclarativeMode = true;
117
+ const configs = [];
118
+ for (const panel of panels) {
119
+ const config = await panel.getTabConfig();
120
+ configs.push({ ...config, panel });
121
+ }
122
+ this.tabConfigs = configs;
123
+ }
124
+ else if (this.tabs.length > 0) {
125
+ // Programmatic mode - use tabs prop
126
+ this.isDeclarativeMode = false;
127
+ this.tabConfigs = this.tabs.map(tab => ({
128
+ label: tab.label,
129
+ value: (tab.value !== undefined ? tab.value : tab.label),
130
+ iconStart: tab.iconStart,
131
+ iconEnd: tab.iconEnd,
132
+ disabled: tab.disabled ?? false,
133
+ }));
134
+ }
135
+ else {
136
+ this.tabConfigs = [];
137
+ }
138
+ // Set default selected
139
+ if (this.selected === undefined && this.tabConfigs.length > 0) {
140
+ const firstEnabled = this.tabConfigs.find(t => !t.disabled);
141
+ if (firstEnabled) {
142
+ this.selected = firstEnabled.value;
143
+ }
144
+ }
145
+ // Initialize focused index
146
+ if (this.selected !== undefined) {
147
+ const index = this.tabConfigs.findIndex(t => t.value === this.selected);
148
+ if (index >= 0) {
149
+ this.focusedIndex = index;
150
+ }
151
+ }
152
+ // Update panel active states
153
+ this.updatePanelStates();
154
+ }
155
+ async updatePanelStates() {
156
+ if (!this.isDeclarativeMode)
157
+ return;
158
+ for (const config of this.tabConfigs) {
159
+ if (config.panel) {
160
+ const isActive = config.value === this.selected;
161
+ await config.panel.setActive(isActive);
162
+ }
163
+ }
164
+ }
165
+ selectTab(config) {
166
+ if (config.disabled)
167
+ return;
168
+ this.selected = config.value;
169
+ this.leTabChange.emit({
170
+ value: config.value,
171
+ option: {
172
+ label: config.label,
173
+ value: config.value,
174
+ iconStart: config.iconStart,
175
+ iconEnd: config.iconEnd,
176
+ disabled: config.disabled,
177
+ },
178
+ });
179
+ }
180
+ handleTabClick = (config) => {
181
+ this.selectTab(config);
182
+ };
183
+ handleKeyDown = (event) => {
184
+ const { tabConfigs, orientation } = this;
185
+ const isHorizontal = orientation === 'horizontal';
186
+ let newIndex = this.focusedIndex;
187
+ switch (event.key) {
188
+ case 'ArrowLeft':
189
+ if (isHorizontal) {
190
+ event.preventDefault();
191
+ newIndex = this.findNextEnabledTab(-1);
192
+ }
193
+ break;
194
+ case 'ArrowRight':
195
+ if (isHorizontal) {
196
+ event.preventDefault();
197
+ newIndex = this.findNextEnabledTab(1);
198
+ }
199
+ break;
200
+ case 'ArrowUp':
201
+ if (!isHorizontal) {
202
+ event.preventDefault();
203
+ newIndex = this.findNextEnabledTab(-1);
204
+ }
205
+ break;
206
+ case 'ArrowDown':
207
+ if (!isHorizontal) {
208
+ event.preventDefault();
209
+ newIndex = this.findNextEnabledTab(1);
210
+ }
211
+ break;
212
+ case 'Home':
213
+ event.preventDefault();
214
+ newIndex = this.findFirstEnabledTab();
215
+ break;
216
+ case 'End':
217
+ event.preventDefault();
218
+ newIndex = this.findLastEnabledTab();
219
+ break;
220
+ case 'Enter':
221
+ case ' ':
222
+ event.preventDefault();
223
+ if (tabConfigs[this.focusedIndex]) {
224
+ this.selectTab(tabConfigs[this.focusedIndex]);
225
+ }
226
+ return;
227
+ default:
228
+ return;
229
+ }
230
+ if (newIndex !== this.focusedIndex) {
231
+ this.focusedIndex = newIndex;
232
+ this.focusTab(newIndex);
233
+ // Auto-select on focus (recommended for tabs)
234
+ if (tabConfigs[newIndex]) {
235
+ this.selectTab(tabConfigs[newIndex]);
236
+ }
237
+ }
238
+ };
239
+ findNextEnabledTab(direction) {
240
+ const { tabConfigs } = this;
241
+ let index = this.focusedIndex;
242
+ const length = tabConfigs.length;
243
+ for (let i = 0; i < length; i++) {
244
+ index = (index + direction + length) % length;
245
+ if (!tabConfigs[index].disabled) {
246
+ return index;
247
+ }
248
+ }
249
+ return this.focusedIndex;
250
+ }
251
+ findFirstEnabledTab() {
252
+ return this.tabConfigs.findIndex(t => !t.disabled);
253
+ }
254
+ findLastEnabledTab() {
255
+ for (let i = this.tabConfigs.length - 1; i >= 0; i--) {
256
+ if (!this.tabConfigs[i].disabled)
257
+ return i;
258
+ }
259
+ return 0;
260
+ }
261
+ focusTab(index) {
262
+ const tablist = this.el.shadowRoot?.querySelector('[role="tablist"]');
263
+ const tab = tablist?.querySelectorAll('[role="tab"]')[index];
264
+ tab?.focus();
265
+ }
266
+ render() {
267
+ const { tabConfigs, selected, orientation, variant, fullWidth, size, isDeclarativeMode } = this;
268
+ const classes = {
269
+ 'le-tabs': true,
270
+ [`orientation-${orientation}`]: true,
271
+ [`position-${this.position}`]: true,
272
+ [`variant-${variant}`]: true,
273
+ [`size-${size}`]: true,
274
+ 'full-width': fullWidth,
275
+ };
276
+ const tabPosition = this.orientation === 'vertical'
277
+ ? this.position
278
+ : this.position === 'start'
279
+ ? 'top'
280
+ : 'bottom';
281
+ return (h("le-component", { key: '4cb40197e3d9c9558d5c348d1598d26406ad26e7', component: "le-tabs", hostClass: classnames(classes) }, h("div", { key: 'f44489820b7a55f93eb023f23b205894932a540d', class: classes }, h("div", { key: 'fa7f9452dd13c8745a441982c27903b4aa219816', class: {
282
+ 'tablist': true,
283
+ 'wrap-tabs': this.wrap,
284
+ [`overflow-${this.overflow}`]: true,
285
+ }, role: "tablist", "aria-orientation": orientation, part: "tablist", onKeyDown: this.handleKeyDown, tabIndex: 0 }, tabConfigs.map(config => {
286
+ const isSelected = config.value === selected;
287
+ const tabId = `tab-${config.value}`;
288
+ const panelId = `panel-${config.value}`;
289
+ return (h("le-tab", { key: config.value, id: tabId, class: "tab", mode: "default", variant: this.variant, selected: isSelected, disabled: config.disabled, size: this.size, position: tabPosition, align: this.orientation === 'vertical' ? 'start' : 'center', role: "tab", part: isSelected ? 'tab tab-active' : 'tab', "aria-selected": isSelected ? 'true' : 'false', "aria-controls": panelId, "aria-disabled": config.disabled ? 'true' : undefined, focusable: false, onClick: () => this.handleTabClick(config), iconStart: config.iconStart, iconEnd: config.iconEnd }, h("span", { class: "tab-label" }, config.label)));
290
+ })), h("div", { key: 'c7a26667df9b91db40c035f33de67721a049fca2', class: "panels", part: "panels" }, isDeclarativeMode ? (
291
+ // Declarative mode - render slot for le-tab-panel children
292
+ h("le-slot", { name: "", description: "Tab panels", type: "slot", allowedComponents: "le-tab-panel" }, h("slot", null))) : (
293
+ // Programmatic mode - render named slots
294
+ tabConfigs.map(config => {
295
+ const isSelected = config.value === selected;
296
+ const tabId = `tab-${config.value}`;
297
+ const panelId = `panel-${config.value}`;
298
+ return (h("div", { key: config.value, id: panelId, class: {
299
+ 'panel': true,
300
+ 'panel-active': isSelected,
301
+ }, role: "tabpanel", part: "panel", "aria-labelledby": tabId, tabIndex: 0, hidden: !isSelected }, h("slot", { name: `panel-${config.value}` })));
302
+ }))))));
303
+ }
304
+ static get watchers() { return {
305
+ "selected": ["selectedChanged"],
306
+ "tabs": ["tabsChanged"]
307
+ }; }
308
+ static get style() { return leTabsCss; }
309
+ }, [769, "le-tabs", {
310
+ "tabs": [16],
311
+ "selected": [1032],
312
+ "orientation": [1],
313
+ "position": [1],
314
+ "variant": [1],
315
+ "fullWidth": [4, "full-width"],
316
+ "size": [1],
317
+ "wrap": [4],
318
+ "overflow": [1],
319
+ "tabConfigs": [32],
320
+ "focusedIndex": [32],
321
+ "isDeclarativeMode": [32]
322
+ }, [[0, "slotchange", "handleSlotChange"]], {
323
+ "selected": ["selectedChanged"],
324
+ "tabs": ["tabsChanged"]
325
+ }]);
326
+ function defineCustomElement$1() {
327
+ if (typeof customElements === "undefined") {
328
+ return;
329
+ }
330
+ const components = ["le-tabs", "le-button", "le-checkbox", "le-component", "le-popover", "le-popup", "le-slot", "le-string-input", "le-tab"];
331
+ components.forEach(tagName => { switch (tagName) {
332
+ case "le-tabs":
333
+ if (!customElements.get(tagName)) {
334
+ customElements.define(tagName, LeTabs$1);
335
+ }
336
+ break;
337
+ case "le-button":
338
+ if (!customElements.get(tagName)) {
339
+ defineCustomElement$9();
340
+ }
341
+ break;
342
+ case "le-checkbox":
343
+ if (!customElements.get(tagName)) {
344
+ defineCustomElement$8();
345
+ }
346
+ break;
347
+ case "le-component":
348
+ if (!customElements.get(tagName)) {
349
+ defineCustomElement$7();
350
+ }
351
+ break;
352
+ case "le-popover":
353
+ if (!customElements.get(tagName)) {
354
+ defineCustomElement$6();
355
+ }
356
+ break;
357
+ case "le-popup":
358
+ if (!customElements.get(tagName)) {
359
+ defineCustomElement$5();
360
+ }
361
+ break;
362
+ case "le-slot":
363
+ if (!customElements.get(tagName)) {
364
+ defineCustomElement$4();
365
+ }
366
+ break;
367
+ case "le-string-input":
368
+ if (!customElements.get(tagName)) {
369
+ defineCustomElement$3();
370
+ }
371
+ break;
372
+ case "le-tab":
373
+ if (!customElements.get(tagName)) {
374
+ defineCustomElement$2();
375
+ }
376
+ break;
377
+ } });
378
+ }
379
+
380
+ const LeTabs = LeTabs$1;
381
+ const defineCustomElement = defineCustomElement$1;
382
+
383
+ export { LeTabs, defineCustomElement };
384
+ //# sourceMappingURL=le-tabs.js.map
385
+
386
+ //# sourceMappingURL=le-tabs.js.map