le-kit 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/dist/{core/cjs/index-B0mg71He.js → cjs/index-CHzu3ydp.js} +10 -3
  2. package/dist/cjs/index-CHzu3ydp.js.map +1 -0
  3. package/dist/{core/cjs → cjs}/index.cjs.js +4 -3
  4. package/dist/cjs/index.cjs.js.map +1 -0
  5. package/dist/{core/cjs → cjs}/le-box.cjs.entry.js +3 -3
  6. package/dist/cjs/le-box.entry.cjs.js.map +1 -0
  7. package/dist/cjs/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.cjs.js.map +1 -0
  8. package/dist/cjs/le-button_13.cjs.entry.js +2579 -0
  9. package/dist/cjs/le-card.cjs.entry.js +29 -0
  10. package/dist/cjs/le-card.entry.cjs.js.map +1 -0
  11. package/dist/cjs/le-combobox.cjs.entry.js +237 -0
  12. package/dist/cjs/le-combobox.entry.cjs.js.map +1 -0
  13. package/dist/cjs/le-header-placeholder.cjs.entry.js +18 -0
  14. package/dist/cjs/le-header-placeholder.entry.cjs.js.map +1 -0
  15. package/dist/cjs/le-kit.cjs.js +25 -0
  16. package/dist/cjs/le-multiselect.cjs.entry.js +306 -0
  17. package/dist/cjs/le-multiselect.entry.cjs.js.map +1 -0
  18. package/dist/{core/cjs → cjs}/le-number-input.cjs.entry.js +3 -3
  19. package/dist/cjs/le-number-input.entry.cjs.js.map +1 -0
  20. package/dist/{core/cjs → cjs}/le-round-progress.cjs.entry.js +2 -2
  21. package/dist/cjs/le-round-progress.entry.cjs.js.map +1 -0
  22. package/dist/cjs/le-segmented-control.cjs.entry.js +245 -0
  23. package/dist/cjs/le-segmented-control.entry.cjs.js.map +1 -0
  24. package/dist/{core/cjs → cjs}/le-stack.cjs.entry.js +4 -4
  25. package/dist/cjs/le-stack.entry.cjs.js.map +1 -0
  26. package/dist/cjs/le-tab-bar.cjs.entry.js +242 -0
  27. package/dist/cjs/le-tab-bar.entry.cjs.js.map +1 -0
  28. package/dist/cjs/le-tab-panel.cjs.entry.js +100 -0
  29. package/dist/cjs/le-tab-panel.entry.cjs.js.map +1 -0
  30. package/dist/cjs/le-tab.cjs.entry.js +133 -0
  31. package/dist/cjs/le-tab.entry.cjs.js.map +1 -0
  32. package/dist/cjs/le-tabs.cjs.entry.js +307 -0
  33. package/dist/cjs/le-tabs.entry.cjs.js.map +1 -0
  34. package/dist/cjs/le-tag.cjs.entry.js +68 -0
  35. package/dist/cjs/le-tag.entry.cjs.js.map +1 -0
  36. package/dist/{core/cjs → cjs}/le-text.cjs.entry.js +3 -3
  37. package/dist/cjs/le-text.entry.cjs.js.map +1 -0
  38. package/dist/{core/cjs → cjs}/le-turntable.cjs.entry.js +2 -2
  39. package/dist/cjs/le-turntable.entry.cjs.js.map +1 -0
  40. package/dist/cjs/loader.cjs.js +13 -0
  41. package/dist/{core/cjs/utils-jdqP71LP.js → cjs/utils-CYOKcOW8.js} +3 -3
  42. package/dist/cjs/utils-CYOKcOW8.js.map +1 -0
  43. package/dist/collection/collection-manifest.json +41 -0
  44. package/dist/{core/collection → collection}/components/le-box/le-box.js +1 -1
  45. package/dist/collection/components/le-box/le-box.js.map +1 -0
  46. package/dist/{core/collection/components/le-button/le-button.default.css → collection/components/le-button/le-button.css} +65 -38
  47. package/dist/{core/collection → collection}/components/le-button/le-button.js +106 -16
  48. package/dist/collection/components/le-button/le-button.js.map +1 -0
  49. package/dist/{core/collection → collection}/components/le-card/le-card.default.css +6 -6
  50. package/dist/{core/collection → collection}/components/le-card/le-card.js +2 -2
  51. package/dist/collection/components/le-card/le-card.js.map +1 -0
  52. package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.js +2 -2
  53. package/dist/collection/components/le-checkbox/le-checkbox.js.map +1 -0
  54. package/dist/collection/components/le-collapse/le-collapse.css +31 -0
  55. package/dist/collection/components/le-collapse/le-collapse.js +188 -0
  56. package/dist/collection/components/le-collapse/le-collapse.js.map +1 -0
  57. package/dist/collection/components/le-combobox/le-combobox.css +144 -0
  58. package/dist/collection/components/le-combobox/le-combobox.js +659 -0
  59. package/dist/collection/components/le-combobox/le-combobox.js.map +1 -0
  60. package/dist/collection/components/le-component/le-component.css +189 -0
  61. package/dist/{le-kit/le-component.entry.js → collection/components/le-component/le-component.js} +137 -17
  62. package/dist/collection/components/le-component/le-component.js.map +1 -0
  63. package/dist/collection/components/le-current-heading/le-current-heading.css +12 -0
  64. package/dist/collection/components/le-current-heading/le-current-heading.js +130 -0
  65. package/dist/collection/components/le-current-heading/le-current-heading.js.map +1 -0
  66. package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +167 -0
  67. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +761 -0
  68. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +1 -0
  69. package/dist/collection/components/le-header/le-header.css +120 -0
  70. package/dist/collection/components/le-header/le-header.js +508 -0
  71. package/dist/collection/components/le-header/le-header.js.map +1 -0
  72. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +21 -0
  73. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js.map +1 -0
  74. package/dist/collection/components/le-multiselect/le-multiselect.css +163 -0
  75. package/dist/collection/components/le-multiselect/le-multiselect.js +734 -0
  76. package/dist/collection/components/le-multiselect/le-multiselect.js.map +1 -0
  77. package/dist/{core/collection → collection}/components/le-number-input/le-number-input.js +2 -2
  78. package/dist/collection/components/le-number-input/le-number-input.js.map +1 -0
  79. package/dist/{core/collection → collection}/components/le-popover/le-popover.css +20 -0
  80. package/dist/{core/collection → collection}/components/le-popover/le-popover.js +180 -20
  81. package/dist/collection/components/le-popover/le-popover.js.map +1 -0
  82. package/dist/{core/collection → collection}/components/le-popup/le-popup.api.js +2 -1
  83. package/dist/collection/components/le-popup/le-popup.api.js.map +1 -0
  84. package/dist/{core/collection → collection}/components/le-popup/le-popup.js +49 -19
  85. package/dist/collection/components/le-popup/le-popup.js.map +1 -0
  86. package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.js +1 -1
  87. package/dist/collection/components/le-round-progress/le-round-progress.js.map +1 -0
  88. package/dist/collection/components/le-scroll-progress/le-scroll-progress.css +29 -0
  89. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +186 -0
  90. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js.map +1 -0
  91. package/dist/collection/components/le-segmented-control/le-segmented-control.css +78 -0
  92. package/dist/collection/components/le-segmented-control/le-segmented-control.js +445 -0
  93. package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +1 -0
  94. package/dist/collection/components/le-select/le-select.css +121 -0
  95. package/dist/collection/components/le-select/le-select.js +578 -0
  96. package/dist/collection/components/le-select/le-select.js.map +1 -0
  97. package/dist/collection/components/le-slot/le-slot.default.css +222 -0
  98. package/dist/{le-kit/le-slot.entry.js → collection/components/le-slot/le-slot.js} +268 -17
  99. package/dist/collection/components/le-slot/le-slot.js.map +1 -0
  100. package/dist/{core/collection → collection}/components/le-stack/le-stack.js +2 -2
  101. package/dist/collection/components/le-stack/le-stack.js.map +1 -0
  102. package/dist/{core/collection → collection}/components/le-string-input/le-string-input.css +1 -1
  103. package/dist/{core/collection → collection}/components/le-string-input/le-string-input.js +60 -6
  104. package/dist/collection/components/le-string-input/le-string-input.js.map +1 -0
  105. package/dist/collection/components/le-tab/le-tab.css +289 -0
  106. package/dist/collection/components/le-tab/le-tab.js +565 -0
  107. package/dist/collection/components/le-tab/le-tab.js.map +1 -0
  108. package/dist/collection/components/le-tab-bar/le-tab-bar.css +89 -0
  109. package/dist/collection/components/le-tab-bar/le-tab-bar.js +467 -0
  110. package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +1 -0
  111. package/dist/collection/components/le-tab-panel/le-tab-panel.css +30 -0
  112. package/dist/collection/components/le-tab-panel/le-tab-panel.js +302 -0
  113. package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +1 -0
  114. package/dist/collection/components/le-tabs/le-tabs.css +146 -0
  115. package/dist/collection/components/le-tabs/le-tabs.js +588 -0
  116. package/dist/collection/components/le-tabs/le-tabs.js.map +1 -0
  117. package/dist/collection/components/le-tag/le-tag.css +139 -0
  118. package/dist/collection/components/le-tag/le-tag.js +266 -0
  119. package/dist/collection/components/le-tag/le-tag.js.map +1 -0
  120. package/dist/{core/collection → collection}/components/le-text/le-text.js +1 -1
  121. package/dist/collection/components/le-text/le-text.js.map +1 -0
  122. package/dist/{core/collection → collection}/components/le-turntable/le-turntable.js +1 -1
  123. package/dist/collection/components/le-turntable/le-turntable.js.map +1 -0
  124. package/dist/collection/dist/components/assets/.gitkeep +1 -0
  125. package/dist/collection/dist/components/assets/custom-elements.json +9234 -0
  126. package/dist/collection/dist/components/themes/base.css +89 -0
  127. package/dist/collection/dist/components/themes/dark.css +103 -0
  128. package/dist/collection/dist/components/themes/default.css +111 -0
  129. package/dist/collection/dist/components/themes/gradient.css +103 -0
  130. package/dist/collection/dist/components/themes/index.css +76 -0
  131. package/dist/collection/dist/components/themes/minimal.css +103 -0
  132. package/dist/collection/dist/components/themes/warm.css +103 -0
  133. package/dist/collection/global/app.js.map +1 -0
  134. package/dist/collection/index.js.map +1 -0
  135. package/dist/collection/types/blocks.js.map +1 -0
  136. package/dist/collection/types/options.js.map +1 -0
  137. package/dist/collection/utils/utils.js.map +1 -0
  138. package/dist/components/assets/.gitkeep +1 -0
  139. package/dist/components/assets/custom-elements.json +9234 -0
  140. package/dist/components/index.js +11 -0
  141. package/dist/components/index.js.map +1 -0
  142. package/dist/{core/components → components}/le-box.js +22 -6
  143. package/dist/components/le-box.js.map +1 -0
  144. package/dist/{core/components → components}/le-button.js +1 -1
  145. package/dist/{core/components → components}/le-button2.js +671 -35
  146. package/dist/components/le-button2.js.map +1 -0
  147. package/dist/{core/components → components}/le-card.js +22 -6
  148. package/dist/components/le-card.js.map +1 -0
  149. package/dist/{core/components → components}/le-checkbox.js +1 -1
  150. package/dist/components/le-collapse.d.ts +11 -0
  151. package/dist/components/le-collapse.js +144 -0
  152. package/dist/components/le-collapse.js.map +1 -0
  153. package/dist/components/le-combobox.d.ts +11 -0
  154. package/dist/components/le-combobox.js +326 -0
  155. package/dist/components/le-combobox.js.map +1 -0
  156. package/dist/{core/components → components}/le-component.js +1 -1
  157. package/dist/components/le-current-heading.d.ts +11 -0
  158. package/dist/components/le-current-heading.js +93 -0
  159. package/dist/components/le-current-heading.js.map +1 -0
  160. package/dist/components/le-dropdown-base.d.ts +11 -0
  161. package/dist/components/le-dropdown-base.js +9 -0
  162. package/dist/components/le-dropdown-base.js.map +1 -0
  163. package/dist/components/le-dropdown-base2.js +393 -0
  164. package/dist/components/le-dropdown-base2.js.map +1 -0
  165. package/dist/components/le-header-placeholder.d.ts +11 -0
  166. package/dist/components/le-header-placeholder.js +37 -0
  167. package/dist/components/le-header-placeholder.js.map +1 -0
  168. package/dist/components/le-header.d.ts +11 -0
  169. package/dist/components/le-header.js +347 -0
  170. package/dist/components/le-header.js.map +1 -0
  171. package/dist/components/le-multiselect.d.ts +11 -0
  172. package/dist/components/le-multiselect.js +405 -0
  173. package/dist/components/le-multiselect.js.map +1 -0
  174. package/dist/{core/components → components}/le-number-input.js +23 -7
  175. package/dist/components/le-number-input.js.map +1 -0
  176. package/dist/{core/components → components}/le-popover2.js +143 -21
  177. package/dist/components/le-popover2.js.map +1 -0
  178. package/dist/{core/components/index.js → components/le-popup.api.js} +5 -12
  179. package/dist/components/le-popup.api.js.map +1 -0
  180. package/dist/components/le-popup.js +9 -0
  181. package/dist/components/le-popup.js.map +1 -0
  182. package/dist/{core/components → components}/le-round-progress.js +1 -1
  183. package/dist/components/le-scroll-progress.d.ts +11 -0
  184. package/dist/components/le-scroll-progress.js +142 -0
  185. package/dist/components/le-scroll-progress.js.map +1 -0
  186. package/dist/components/le-segmented-control.d.ts +11 -0
  187. package/dist/components/le-segmented-control.js +331 -0
  188. package/dist/components/le-segmented-control.js.map +1 -0
  189. package/dist/components/le-select.d.ts +11 -0
  190. package/dist/components/le-select.js +9 -0
  191. package/dist/components/le-select.js.map +1 -0
  192. package/dist/{core/components → components}/le-slot.js +1 -1
  193. package/dist/{core/components → components}/le-stack.js +23 -7
  194. package/dist/components/le-stack.js.map +1 -0
  195. package/dist/{core/components → components}/le-string-input.js +1 -1
  196. package/dist/components/le-tab-bar.d.ts +11 -0
  197. package/dist/components/le-tab-bar.js +330 -0
  198. package/dist/components/le-tab-bar.js.map +1 -0
  199. package/dist/components/le-tab-panel.d.ts +11 -0
  200. package/dist/components/le-tab-panel.js +182 -0
  201. package/dist/components/le-tab-panel.js.map +1 -0
  202. package/dist/components/le-tab.d.ts +11 -0
  203. package/dist/components/le-tab.js +9 -0
  204. package/dist/components/le-tab.js.map +1 -0
  205. package/dist/components/le-tab2.js +217 -0
  206. package/dist/components/le-tab2.js.map +1 -0
  207. package/dist/components/le-tabs.d.ts +11 -0
  208. package/dist/components/le-tabs.js +397 -0
  209. package/dist/components/le-tabs.js.map +1 -0
  210. package/dist/components/le-tag.d.ts +11 -0
  211. package/dist/components/le-tag.js +9 -0
  212. package/dist/components/le-tag.js.map +1 -0
  213. package/dist/components/le-tag2.js +141 -0
  214. package/dist/components/le-tag2.js.map +1 -0
  215. package/dist/{core/components → components}/le-text.js +22 -6
  216. package/dist/components/le-text.js.map +1 -0
  217. package/dist/{core/components → components}/le-turntable.js +1 -1
  218. package/dist/components/themes/base.css +4 -4
  219. package/dist/components/themes/dark.css +4 -1
  220. package/dist/components/themes/default.css +4 -1
  221. package/dist/components/themes/gradient.css +4 -1
  222. package/dist/components/themes/index.css +4 -341
  223. package/dist/components/themes/minimal.css +4 -1
  224. package/dist/components/themes/warm.css +4 -1
  225. package/dist/docs.d.ts +443 -0
  226. package/dist/docs.json +11547 -0
  227. package/dist/{core/esm/index-SKsXnjWI.js → esm/index-hmBwv43R.js} +10 -4
  228. package/dist/esm/index-hmBwv43R.js.map +1 -0
  229. package/dist/{core/esm → esm}/index.js +4 -3
  230. package/dist/esm/index.js.map +1 -0
  231. package/dist/{le-kit → esm}/le-box.entry.js +3 -3
  232. package/dist/esm/le-box.entry.js.map +1 -0
  233. package/dist/esm/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.js.map +1 -0
  234. package/dist/esm/le-button_13.entry.js +2565 -0
  235. package/dist/{le-kit → esm}/le-card.entry.js +3 -3
  236. package/dist/esm/le-card.entry.js.map +1 -0
  237. package/dist/esm/le-combobox.entry.js +235 -0
  238. package/dist/esm/le-combobox.entry.js.map +1 -0
  239. package/dist/esm/le-header-placeholder.entry.js +16 -0
  240. package/dist/esm/le-header-placeholder.entry.js.map +1 -0
  241. package/dist/esm/le-kit.js +21 -0
  242. package/dist/esm/le-multiselect.entry.js +304 -0
  243. package/dist/esm/le-multiselect.entry.js.map +1 -0
  244. package/dist/{le-kit → esm}/le-number-input.entry.js +6 -6
  245. package/dist/esm/le-number-input.entry.js.map +1 -0
  246. package/dist/{core/esm → esm}/le-round-progress.entry.js +2 -2
  247. package/dist/esm/le-round-progress.entry.js.map +1 -0
  248. package/dist/esm/le-segmented-control.entry.js +243 -0
  249. package/dist/esm/le-segmented-control.entry.js.map +1 -0
  250. package/dist/{le-kit → esm}/le-stack.entry.js +4 -4
  251. package/dist/esm/le-stack.entry.js.map +1 -0
  252. package/dist/esm/le-tab-bar.entry.js +240 -0
  253. package/dist/esm/le-tab-bar.entry.js.map +1 -0
  254. package/dist/esm/le-tab-panel.entry.js +98 -0
  255. package/dist/esm/le-tab-panel.entry.js.map +1 -0
  256. package/dist/esm/le-tab.entry.js +131 -0
  257. package/dist/esm/le-tab.entry.js.map +1 -0
  258. package/dist/esm/le-tabs.entry.js +305 -0
  259. package/dist/esm/le-tabs.entry.js.map +1 -0
  260. package/dist/esm/le-tag.entry.js +66 -0
  261. package/dist/esm/le-tag.entry.js.map +1 -0
  262. package/dist/{le-kit → esm}/le-text.entry.js +3 -3
  263. package/dist/esm/le-text.entry.js.map +1 -0
  264. package/dist/{core/esm → esm}/le-turntable.entry.js +2 -2
  265. package/dist/esm/le-turntable.entry.js.map +1 -0
  266. package/dist/esm/loader.js +11 -0
  267. package/dist/{le-kit/utils-cwSNy7ZS.js → esm/utils-DRTFlnxz.js} +3 -3
  268. package/dist/{le-kit/utils-cwSNy7ZS.js.map → esm/utils-DRTFlnxz.js.map} +1 -1
  269. package/dist/le-kit/dist/components/assets/.gitkeep +1 -0
  270. package/dist/le-kit/dist/components/assets/custom-elements.json +9234 -0
  271. package/dist/le-kit/dist/components/themes/base.css +4 -4
  272. package/dist/le-kit/dist/components/themes/dark.css +4 -1
  273. package/dist/le-kit/dist/components/themes/default.css +4 -1
  274. package/dist/le-kit/dist/components/themes/gradient.css +4 -1
  275. package/dist/le-kit/dist/components/themes/index.css +4 -341
  276. package/dist/le-kit/dist/components/themes/minimal.css +4 -1
  277. package/dist/le-kit/dist/components/themes/warm.css +4 -1
  278. package/dist/le-kit/index.esm.js +2 -116
  279. package/dist/le-kit/index.esm.js.map +1 -1
  280. package/dist/le-kit/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.esm.js.map +1 -0
  281. package/dist/le-kit/le-combobox.entry.esm.js.map +1 -0
  282. package/dist/le-kit/le-header-placeholder.entry.esm.js.map +1 -0
  283. package/dist/le-kit/le-kit.css +1 -1010
  284. package/dist/le-kit/le-kit.esm.js +2 -48
  285. package/dist/le-kit/le-kit.esm.js.map +1 -1
  286. package/dist/le-kit/le-multiselect.entry.esm.js.map +1 -0
  287. package/dist/le-kit/le-segmented-control.entry.esm.js.map +1 -0
  288. package/dist/le-kit/le-tab-bar.entry.esm.js.map +1 -0
  289. package/dist/le-kit/le-tab-panel.entry.esm.js.map +1 -0
  290. package/dist/le-kit/le-tab.entry.esm.js.map +1 -0
  291. package/dist/le-kit/le-tabs.entry.esm.js.map +1 -0
  292. package/dist/le-kit/le-tag.entry.esm.js.map +1 -0
  293. package/dist/le-kit/p-13a4dc1d.entry.js +2 -0
  294. package/dist/le-kit/p-13a4dc1d.entry.js.map +1 -0
  295. package/dist/{core/le-kit/p-55f70091.entry.js → le-kit/p-1a9e65d0.entry.js} +2 -2
  296. package/dist/le-kit/p-1a9e65d0.entry.js.map +1 -0
  297. package/dist/le-kit/p-2708dc65.entry.js +2 -0
  298. package/dist/le-kit/p-2708dc65.entry.js.map +1 -0
  299. package/dist/le-kit/p-2b96a5bd.entry.js +2 -0
  300. package/dist/le-kit/p-2b96a5bd.entry.js.map +1 -0
  301. package/dist/le-kit/p-32cbb683.entry.js +2 -0
  302. package/dist/le-kit/p-32cbb683.entry.js.map +1 -0
  303. package/dist/le-kit/p-476e1886.entry.js +2 -0
  304. package/dist/le-kit/p-476e1886.entry.js.map +1 -0
  305. package/dist/le-kit/p-67d702f9.entry.js +2 -0
  306. package/dist/le-kit/p-67d702f9.entry.js.map +1 -0
  307. package/dist/{core/le-kit/p-6e414a5c.entry.js → le-kit/p-6884e3e8.entry.js} +2 -2
  308. package/dist/le-kit/p-6884e3e8.entry.js.map +1 -0
  309. package/dist/le-kit/p-704ad5e0.entry.js +2 -0
  310. package/dist/le-kit/p-704ad5e0.entry.js.map +1 -0
  311. package/dist/le-kit/p-88f9aa40.entry.js +2 -0
  312. package/dist/le-kit/p-88f9aa40.entry.js.map +1 -0
  313. package/dist/le-kit/p-8dd8a487.entry.js +2 -0
  314. package/dist/le-kit/p-8dd8a487.entry.js.map +1 -0
  315. package/dist/le-kit/p-97b7658a.entry.js +2 -0
  316. package/dist/le-kit/p-97b7658a.entry.js.map +1 -0
  317. package/dist/le-kit/p-c0925e92.entry.js +2 -0
  318. package/dist/le-kit/p-c0925e92.entry.js.map +1 -0
  319. package/dist/le-kit/p-c2494a0d.entry.js +2 -0
  320. package/dist/le-kit/p-c2494a0d.entry.js.map +1 -0
  321. package/dist/le-kit/p-ded51018.entry.js +2 -0
  322. package/dist/le-kit/p-ded51018.entry.js.map +1 -0
  323. package/dist/{core/le-kit/p-a9d05ef6.entry.js → le-kit/p-e3db7974.entry.js} +2 -2
  324. package/dist/le-kit/p-e3db7974.entry.js.map +1 -0
  325. package/dist/{core/le-kit/p-4f133e72.entry.js → le-kit/p-f9b03aec.entry.js} +2 -2
  326. package/dist/le-kit/p-f9b03aec.entry.js.map +1 -0
  327. package/dist/le-kit/p-hmBwv43R.js +3 -0
  328. package/dist/le-kit/p-hmBwv43R.js.map +1 -0
  329. package/dist/le-kit/p-txKmCJHv.js +2 -0
  330. package/dist/le-kit/p-txKmCJHv.js.map +1 -0
  331. package/dist/themes/base.css +89 -0
  332. package/dist/themes/dark.css +103 -0
  333. package/dist/themes/default.css +111 -0
  334. package/dist/themes/gradient.css +103 -0
  335. package/dist/themes/index.css +76 -0
  336. package/dist/themes/minimal.css +103 -0
  337. package/dist/themes/warm.css +103 -0
  338. package/dist/types/components/le-button/le-button.d.ts +19 -4
  339. package/dist/types/components/le-collapse/le-collapse.d.ts +41 -0
  340. package/dist/types/components/le-combobox/le-combobox.d.ts +128 -0
  341. package/dist/types/components/le-current-heading/le-current-heading.d.ts +25 -0
  342. package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +118 -0
  343. package/dist/types/components/le-header/le-header.d.ts +115 -0
  344. package/dist/types/components/le-header-placeholder/le-header-placeholder.d.ts +13 -0
  345. package/dist/types/components/le-multiselect/le-multiselect.d.ts +143 -0
  346. package/dist/types/components/le-popover/le-popover.d.ts +22 -2
  347. package/dist/types/components/le-popup/le-popup.d.ts +5 -0
  348. package/dist/types/components/le-scroll-progress/le-scroll-progress.d.ts +40 -0
  349. package/dist/types/components/le-segmented-control/le-segmented-control.d.ts +82 -0
  350. package/dist/types/components/le-select/le-select.d.ts +125 -0
  351. package/dist/types/components/le-string-input/le-string-input.d.ts +8 -0
  352. package/dist/types/components/le-tab/le-tab.d.ts +116 -0
  353. package/dist/types/components/le-tab-bar/le-tab-bar.d.ts +88 -0
  354. package/dist/types/components/le-tab-panel/le-tab-panel.d.ts +75 -0
  355. package/dist/types/components/le-tabs/le-tabs.d.ts +108 -0
  356. package/dist/types/components/le-tag/le-tag.d.ts +78 -0
  357. package/dist/types/components.d.ts +3061 -273
  358. package/dist/types/types/options.d.ts +9 -0
  359. package/package.json +3 -18
  360. package/dist/core/cjs/index-B0mg71He.js.map +0 -1
  361. package/dist/core/cjs/index.cjs.js.map +0 -1
  362. package/dist/core/cjs/le-box.entry.cjs.js.map +0 -1
  363. package/dist/core/cjs/le-button.cjs.entry.js +0 -92
  364. package/dist/core/cjs/le-button.entry.cjs.js.map +0 -1
  365. package/dist/core/cjs/le-card.cjs.entry.js +0 -29
  366. package/dist/core/cjs/le-card.entry.cjs.js.map +0 -1
  367. package/dist/core/cjs/le-checkbox.cjs.entry.js +0 -61
  368. package/dist/core/cjs/le-checkbox.entry.cjs.js.map +0 -1
  369. package/dist/core/cjs/le-kit.cjs.js +0 -25
  370. package/dist/core/cjs/le-number-input.entry.cjs.js.map +0 -1
  371. package/dist/core/cjs/le-popover.cjs.entry.js +0 -348
  372. package/dist/core/cjs/le-popover.entry.cjs.js.map +0 -1
  373. package/dist/core/cjs/le-popup.cjs.entry.js +0 -212
  374. package/dist/core/cjs/le-popup.entry.cjs.js.map +0 -1
  375. package/dist/core/cjs/le-round-progress.entry.cjs.js.map +0 -1
  376. package/dist/core/cjs/le-stack.entry.cjs.js.map +0 -1
  377. package/dist/core/cjs/le-string-input.cjs.entry.js +0 -95
  378. package/dist/core/cjs/le-string-input.entry.cjs.js.map +0 -1
  379. package/dist/core/cjs/le-text.entry.cjs.js.map +0 -1
  380. package/dist/core/cjs/le-turntable.entry.cjs.js.map +0 -1
  381. package/dist/core/cjs/loader.cjs.js +0 -13
  382. package/dist/core/cjs/utils-jdqP71LP.js.map +0 -1
  383. package/dist/core/collection/collection-manifest.json +0 -24
  384. package/dist/core/collection/components/le-box/le-box.js.map +0 -1
  385. package/dist/core/collection/components/le-button/le-button.js.map +0 -1
  386. package/dist/core/collection/components/le-card/le-card.js.map +0 -1
  387. package/dist/core/collection/components/le-checkbox/le-checkbox.js.map +0 -1
  388. package/dist/core/collection/components/le-number-input/le-number-input.js.map +0 -1
  389. package/dist/core/collection/components/le-popover/le-popover.js.map +0 -1
  390. package/dist/core/collection/components/le-popup/le-popup.api.js.map +0 -1
  391. package/dist/core/collection/components/le-popup/le-popup.js.map +0 -1
  392. package/dist/core/collection/components/le-round-progress/le-round-progress.js.map +0 -1
  393. package/dist/core/collection/components/le-stack/le-stack.js.map +0 -1
  394. package/dist/core/collection/components/le-string-input/le-string-input.js.map +0 -1
  395. package/dist/core/collection/components/le-text/le-text.js.map +0 -1
  396. package/dist/core/collection/components/le-turntable/le-turntable.js.map +0 -1
  397. package/dist/core/collection/global/app.js.map +0 -1
  398. package/dist/core/collection/index.js.map +0 -1
  399. package/dist/core/collection/types/blocks.js.map +0 -1
  400. package/dist/core/collection/types/options.js.map +0 -1
  401. package/dist/core/collection/utils/utils.js.map +0 -1
  402. package/dist/core/components/index.d.ts +0 -33
  403. package/dist/core/components/index.js.map +0 -1
  404. package/dist/core/components/le-box.d.ts +0 -11
  405. package/dist/core/components/le-box.js.map +0 -1
  406. package/dist/core/components/le-button.d.ts +0 -11
  407. package/dist/core/components/le-button2.js.map +0 -1
  408. package/dist/core/components/le-card.d.ts +0 -11
  409. package/dist/core/components/le-card.js.map +0 -1
  410. package/dist/core/components/le-checkbox.d.ts +0 -11
  411. package/dist/core/components/le-component.d.ts +0 -11
  412. package/dist/core/components/le-number-input.d.ts +0 -11
  413. package/dist/core/components/le-number-input.js.map +0 -1
  414. package/dist/core/components/le-popover.d.ts +0 -11
  415. package/dist/core/components/le-popover2.js.map +0 -1
  416. package/dist/core/components/le-popup.d.ts +0 -11
  417. package/dist/core/components/le-popup.js +0 -279
  418. package/dist/core/components/le-popup.js.map +0 -1
  419. package/dist/core/components/le-round-progress.d.ts +0 -11
  420. package/dist/core/components/le-slot.d.ts +0 -11
  421. package/dist/core/components/le-stack.d.ts +0 -11
  422. package/dist/core/components/le-stack.js.map +0 -1
  423. package/dist/core/components/le-string-input.d.ts +0 -11
  424. package/dist/core/components/le-text.d.ts +0 -11
  425. package/dist/core/components/le-text.js.map +0 -1
  426. package/dist/core/components/le-turntable.d.ts +0 -11
  427. package/dist/core/esm/index-SKsXnjWI.js.map +0 -1
  428. package/dist/core/esm/index.js.map +0 -1
  429. package/dist/core/esm/le-box.entry.js +0 -182
  430. package/dist/core/esm/le-box.entry.js.map +0 -1
  431. package/dist/core/esm/le-button.entry.js +0 -90
  432. package/dist/core/esm/le-button.entry.js.map +0 -1
  433. package/dist/core/esm/le-card.entry.js +0 -27
  434. package/dist/core/esm/le-card.entry.js.map +0 -1
  435. package/dist/core/esm/le-checkbox.entry.js +0 -59
  436. package/dist/core/esm/le-checkbox.entry.js.map +0 -1
  437. package/dist/core/esm/le-kit.js +0 -21
  438. package/dist/core/esm/le-number-input.entry.js +0 -200
  439. package/dist/core/esm/le-number-input.entry.js.map +0 -1
  440. package/dist/core/esm/le-popover.entry.js +0 -346
  441. package/dist/core/esm/le-popover.entry.js.map +0 -1
  442. package/dist/core/esm/le-popup.entry.js +0 -210
  443. package/dist/core/esm/le-popup.entry.js.map +0 -1
  444. package/dist/core/esm/le-round-progress.entry.js.map +0 -1
  445. package/dist/core/esm/le-stack.entry.js +0 -133
  446. package/dist/core/esm/le-stack.entry.js.map +0 -1
  447. package/dist/core/esm/le-string-input.entry.js +0 -93
  448. package/dist/core/esm/le-string-input.entry.js.map +0 -1
  449. package/dist/core/esm/le-text.entry.js +0 -333
  450. package/dist/core/esm/le-text.entry.js.map +0 -1
  451. package/dist/core/esm/le-turntable.entry.js.map +0 -1
  452. package/dist/core/esm/loader.js +0 -11
  453. package/dist/core/esm/utils-DZdP1JiG.js +0 -146
  454. package/dist/core/esm/utils-DZdP1JiG.js.map +0 -1
  455. package/dist/core/le-kit/index.esm.js +0 -2
  456. package/dist/core/le-kit/index.esm.js.map +0 -1
  457. package/dist/core/le-kit/le-box.entry.esm.js.map +0 -1
  458. package/dist/core/le-kit/le-button.entry.esm.js.map +0 -1
  459. package/dist/core/le-kit/le-card.entry.esm.js.map +0 -1
  460. package/dist/core/le-kit/le-checkbox.entry.esm.js.map +0 -1
  461. package/dist/core/le-kit/le-kit.css +0 -1
  462. package/dist/core/le-kit/le-kit.esm.js +0 -2
  463. package/dist/core/le-kit/le-kit.esm.js.map +0 -1
  464. package/dist/core/le-kit/le-number-input.entry.esm.js.map +0 -1
  465. package/dist/core/le-kit/le-popover.entry.esm.js.map +0 -1
  466. package/dist/core/le-kit/le-popup.entry.esm.js.map +0 -1
  467. package/dist/core/le-kit/le-round-progress.entry.esm.js.map +0 -1
  468. package/dist/core/le-kit/le-stack.entry.esm.js.map +0 -1
  469. package/dist/core/le-kit/le-string-input.entry.esm.js.map +0 -1
  470. package/dist/core/le-kit/le-text.entry.esm.js.map +0 -1
  471. package/dist/core/le-kit/le-turntable.entry.esm.js.map +0 -1
  472. package/dist/core/le-kit/loader.esm.js.map +0 -1
  473. package/dist/core/le-kit/p--VxUdzYV.js +0 -2
  474. package/dist/core/le-kit/p--VxUdzYV.js.map +0 -1
  475. package/dist/core/le-kit/p-189cb775.entry.js +0 -2
  476. package/dist/core/le-kit/p-189cb775.entry.js.map +0 -1
  477. package/dist/core/le-kit/p-35c1d413.entry.js +0 -2
  478. package/dist/core/le-kit/p-35c1d413.entry.js.map +0 -1
  479. package/dist/core/le-kit/p-4f133e72.entry.js.map +0 -1
  480. package/dist/core/le-kit/p-55f70091.entry.js.map +0 -1
  481. package/dist/core/le-kit/p-5fd7b23a.entry.js +0 -2
  482. package/dist/core/le-kit/p-5fd7b23a.entry.js.map +0 -1
  483. package/dist/core/le-kit/p-6e414a5c.entry.js.map +0 -1
  484. package/dist/core/le-kit/p-7b121ca7.entry.js +0 -2
  485. package/dist/core/le-kit/p-7b121ca7.entry.js.map +0 -1
  486. package/dist/core/le-kit/p-8c81fa95.entry.js +0 -2
  487. package/dist/core/le-kit/p-8c81fa95.entry.js.map +0 -1
  488. package/dist/core/le-kit/p-9aa81442.entry.js +0 -2
  489. package/dist/core/le-kit/p-9aa81442.entry.js.map +0 -1
  490. package/dist/core/le-kit/p-SKsXnjWI.js +0 -3
  491. package/dist/core/le-kit/p-SKsXnjWI.js.map +0 -1
  492. package/dist/core/le-kit/p-a9d05ef6.entry.js.map +0 -1
  493. package/dist/core/le-kit/p-b2bd2a80.entry.js +0 -2
  494. package/dist/core/le-kit/p-b2bd2a80.entry.js.map +0 -1
  495. package/dist/core/le-kit/p-ccac9611.entry.js +0 -2
  496. package/dist/core/le-kit/p-ccac9611.entry.js.map +0 -1
  497. package/dist/core/loader/cdn.js +0 -1
  498. package/dist/core/loader/index.cjs.js +0 -1
  499. package/dist/core/loader/index.d.ts +0 -24
  500. package/dist/core/loader/index.es2017.js +0 -1
  501. package/dist/core/loader/index.js +0 -2
  502. package/dist/core/types/components/le-box/le-box.d.ts +0 -111
  503. package/dist/core/types/components/le-button/le-button.d.ts +0 -78
  504. package/dist/core/types/components/le-card/le-card.d.ts +0 -37
  505. package/dist/core/types/components/le-checkbox/le-checkbox.d.ts +0 -46
  506. package/dist/core/types/components/le-number-input/le-number-input.d.ts +0 -106
  507. package/dist/core/types/components/le-popover/le-popover.d.ts +0 -109
  508. package/dist/core/types/components/le-popup/le-popup.api.d.ts +0 -73
  509. package/dist/core/types/components/le-popup/le-popup.d.ts +0 -122
  510. package/dist/core/types/components/le-round-progress/le-round-progress.d.ts +0 -37
  511. package/dist/core/types/components/le-stack/le-stack.d.ts +0 -73
  512. package/dist/core/types/components/le-string-input/le-string-input.d.ts +0 -83
  513. package/dist/core/types/components/le-text/le-text.d.ts +0 -141
  514. package/dist/core/types/components/le-turntable/le-turntable.d.ts +0 -55
  515. package/dist/core/types/components.d.ts +0 -1752
  516. package/dist/core/types/global/app.d.ts +0 -73
  517. package/dist/core/types/index.d.ts +0 -15
  518. package/dist/core/types/stencil-public-runtime.d.ts +0 -1756
  519. package/dist/core/types/types/blocks.d.ts +0 -136
  520. package/dist/core/types/types/options.d.ts +0 -124
  521. package/dist/core/types/utils/utils.d.ts +0 -54
  522. package/dist/le-kit/assets/custom-elements.json +0 -4305
  523. package/dist/le-kit/index-CAY3Hk_i.js +0 -4559
  524. package/dist/le-kit/index-CAY3Hk_i.js.map +0 -1
  525. package/dist/le-kit/le-button.entry.esm.js.map +0 -1
  526. package/dist/le-kit/le-button.entry.js +0 -90
  527. package/dist/le-kit/le-checkbox.entry.esm.js.map +0 -1
  528. package/dist/le-kit/le-checkbox.entry.js +0 -59
  529. package/dist/le-kit/le-component.entry.esm.js.map +0 -1
  530. package/dist/le-kit/le-popover.entry.esm.js.map +0 -1
  531. package/dist/le-kit/le-popover.entry.js +0 -346
  532. package/dist/le-kit/le-popup.entry.esm.js.map +0 -1
  533. package/dist/le-kit/le-popup.entry.js +0 -210
  534. package/dist/le-kit/le-round-progress.entry.js +0 -104
  535. package/dist/le-kit/le-slot.entry.esm.js.map +0 -1
  536. package/dist/le-kit/le-string-input.entry.esm.js.map +0 -1
  537. package/dist/le-kit/le-string-input.entry.js +0 -93
  538. package/dist/le-kit/le-turntable.entry.js +0 -137
  539. /package/dist/{core/cjs → cjs}/le-kit.cjs.js.map +0 -0
  540. /package/dist/{core/cjs → cjs}/loader.cjs.js.map +0 -0
  541. /package/dist/{core/collection → collection}/components/le-box/le-box.default.css +0 -0
  542. /package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.css +0 -0
  543. /package/dist/{core/collection → collection}/components/le-number-input/le-number-input.css +0 -0
  544. /package/dist/{core/collection → collection}/components/le-popup/le-popup.css +0 -0
  545. /package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.css +0 -0
  546. /package/dist/{core/collection → collection}/components/le-stack/le-stack.default.css +0 -0
  547. /package/dist/{core/collection → collection}/components/le-text/le-text.default.css +0 -0
  548. /package/dist/{core/collection → collection}/components/le-turntable/le-turntable.css +0 -0
  549. /package/dist/{core/collection → collection}/global/app.js +0 -0
  550. /package/dist/{core/collection → collection}/index.js +0 -0
  551. /package/dist/{core/collection → collection}/types/blocks.js +0 -0
  552. /package/dist/{core/collection → collection}/types/options.js +0 -0
  553. /package/dist/{core/collection → collection}/utils/utils.js +0 -0
  554. /package/dist/{core/components → components}/le-button.js.map +0 -0
  555. /package/dist/{core/components → components}/le-checkbox.js.map +0 -0
  556. /package/dist/{core/components → components}/le-component.js.map +0 -0
  557. /package/dist/{core/components → components}/le-popover.js +0 -0
  558. /package/dist/{core/components → components}/le-popover.js.map +0 -0
  559. /package/dist/{core/components → components}/le-round-progress.js.map +0 -0
  560. /package/dist/{core/components → components}/le-slot.js.map +0 -0
  561. /package/dist/{core/components → components}/le-string-input.js.map +0 -0
  562. /package/dist/{core/components → components}/le-turntable.js.map +0 -0
  563. /package/dist/{core/components → components}/utils.js +0 -0
  564. /package/dist/{core/components → components}/utils.js.map +0 -0
  565. /package/dist/{core/esm → esm}/le-kit.js.map +0 -0
  566. /package/dist/{core/esm → esm}/loader.js.map +0 -0
  567. /package/dist/{core/index.cjs.js → index.cjs.js} +0 -0
  568. /package/dist/{core/index.js → index.js} +0 -0
@@ -0,0 +1,217 @@
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$4, e as defineCustomElement$7, f as defineCustomElement$8, g as defineCustomElement$9 } from './le-button2.js';
4
+ import { d as defineCustomElement$6 } from './le-dropdown-base2.js';
5
+ import { d as defineCustomElement$5 } from './le-popover2.js';
6
+
7
+ 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}";
8
+
9
+ const LeTab = /*@__PURE__*/ proxyCustomElement(class LeTab extends HTMLElement {
10
+ constructor(registerHost) {
11
+ super();
12
+ if (registerHost !== false) {
13
+ this.__registerHost();
14
+ }
15
+ this.__attachShadow();
16
+ this.leClick = createEvent(this, "click", 7);
17
+ }
18
+ get el() { return this; }
19
+ /**
20
+ * Mode of the popover should be 'default' for internal use
21
+ */
22
+ mode;
23
+ /**
24
+ * Label if it is not provided via slot
25
+ */
26
+ label;
27
+ /**
28
+ * Value of the tab, defaults to label if not provided
29
+ */
30
+ value;
31
+ /**
32
+ * Tab variant style
33
+ * @allowedValues solid | underlined | clear | enclosed | icon-only
34
+ */
35
+ variant = 'underlined';
36
+ /**
37
+ * Position of the tabs when used within a le-tabs component
38
+ * @allowedValues top | bottom | start | end
39
+ */
40
+ position = 'top';
41
+ /**
42
+ * Tab size
43
+ * @allowedValues small | medium | large
44
+ */
45
+ size = 'medium';
46
+ /**
47
+ * Whether the tab can get focus
48
+ * needed for accessibility when used in custom tab implementations
49
+ */
50
+ focusable = true;
51
+ /**
52
+ * Whether the tab is in a selected/active state
53
+ */
54
+ selected = false;
55
+ /**
56
+ * Whether the tab takes full width of its container
57
+ */
58
+ fullWidth = false;
59
+ /**
60
+ * Icon only tab image or emoji
61
+ * if this prop is set, the tab will render only the icon slot
62
+ */
63
+ icon;
64
+ /**
65
+ * Whether to show the label when in icon-only mode
66
+ */
67
+ showLabel = false;
68
+ /**
69
+ * Start icon image or emoji
70
+ */
71
+ iconStart;
72
+ /**
73
+ * End icon image or emoji
74
+ */
75
+ iconEnd;
76
+ /**
77
+ * Whether the tab is disabled
78
+ */
79
+ disabled = false;
80
+ /**
81
+ * Optional href to make the tab act as a link
82
+ */
83
+ href;
84
+ /**
85
+ * Link target when href is set
86
+ */
87
+ target;
88
+ /**
89
+ * Alignment of the tab label without the end icon
90
+ * @allowedValues start | center | space-between | end
91
+ */
92
+ align = 'center';
93
+ /**
94
+ * Get tab configuration for parent component
95
+ */
96
+ async getTabConfig() {
97
+ return {
98
+ label: this.label,
99
+ value: this.value ?? this.label,
100
+ icon: this.icon,
101
+ iconStart: this.iconStart,
102
+ iconEnd: this.iconEnd,
103
+ disabled: this.disabled,
104
+ };
105
+ }
106
+ /**
107
+ * Emitted when the tab is clicked.
108
+ * This is a custom event that wraps the native click but ensures the target is the le-tab.
109
+ */
110
+ leClick;
111
+ handleClick = (event) => {
112
+ // We stop the internal button click from bubbling up
113
+ event.stopPropagation();
114
+ if (this.disabled) {
115
+ event.preventDefault();
116
+ return;
117
+ }
118
+ // And emit our own click event from the host element
119
+ this.leClick.emit(event);
120
+ };
121
+ render() {
122
+ const classes = classnames(`variant-${this.variant}`, `size-${this.size}`, `position-${this.position}`, {
123
+ 'selected': this.selected,
124
+ 'full-width': this.fullWidth,
125
+ 'icon-only': this.icon !== undefined,
126
+ 'disabled': this.disabled,
127
+ });
128
+ const TagType = this.href ? 'a' : 'button';
129
+ const attrs = this.href
130
+ ? { href: this.href, target: this.target, role: 'button' }
131
+ : { disabled: this.disabled };
132
+ return (h(Host, { key: '6632a9b9df74dab0cb6bd638f35b55cc4a573e0e' }, h("le-component", { key: '3ed311094833d6e8819c35b1eaf69456dcb47773', component: "le-tab" }, h(TagType, { key: 'b9a3ca7a85e228da9a25ff9fc14a79cd9b4ffc41', 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))))))));
133
+ }
134
+ static get style() { return leTabCss; }
135
+ }, [769, "le-tab", {
136
+ "mode": [1537],
137
+ "label": [1],
138
+ "value": [1],
139
+ "variant": [1],
140
+ "position": [1],
141
+ "size": [1],
142
+ "focusable": [4],
143
+ "selected": [4],
144
+ "fullWidth": [516, "full-width"],
145
+ "icon": [1],
146
+ "showLabel": [4, "show-label"],
147
+ "iconStart": [1, "icon-start"],
148
+ "iconEnd": [1, "icon-end"],
149
+ "disabled": [4],
150
+ "href": [1],
151
+ "target": [1],
152
+ "align": [1],
153
+ "getTabConfig": [64]
154
+ }]);
155
+ function defineCustomElement() {
156
+ if (typeof customElements === "undefined") {
157
+ return;
158
+ }
159
+ const components = ["le-tab", "le-button", "le-checkbox", "le-component", "le-dropdown-base", "le-popover", "le-popup", "le-select", "le-slot", "le-string-input"];
160
+ components.forEach(tagName => { switch (tagName) {
161
+ case "le-tab":
162
+ if (!customElements.get(tagName)) {
163
+ customElements.define(tagName, LeTab);
164
+ }
165
+ break;
166
+ case "le-button":
167
+ if (!customElements.get(tagName)) {
168
+ defineCustomElement$9();
169
+ }
170
+ break;
171
+ case "le-checkbox":
172
+ if (!customElements.get(tagName)) {
173
+ defineCustomElement$8();
174
+ }
175
+ break;
176
+ case "le-component":
177
+ if (!customElements.get(tagName)) {
178
+ defineCustomElement$7();
179
+ }
180
+ break;
181
+ case "le-dropdown-base":
182
+ if (!customElements.get(tagName)) {
183
+ defineCustomElement$6();
184
+ }
185
+ break;
186
+ case "le-popover":
187
+ if (!customElements.get(tagName)) {
188
+ defineCustomElement$5();
189
+ }
190
+ break;
191
+ case "le-popup":
192
+ if (!customElements.get(tagName)) {
193
+ defineCustomElement$4();
194
+ }
195
+ break;
196
+ case "le-select":
197
+ if (!customElements.get(tagName)) {
198
+ defineCustomElement$3();
199
+ }
200
+ break;
201
+ case "le-slot":
202
+ if (!customElements.get(tagName)) {
203
+ defineCustomElement$2();
204
+ }
205
+ break;
206
+ case "le-string-input":
207
+ if (!customElements.get(tagName)) {
208
+ defineCustomElement$1();
209
+ }
210
+ break;
211
+ } });
212
+ }
213
+
214
+ export { LeTab as L, defineCustomElement as d };
215
+ //# sourceMappingURL=le-tab2.js.map
216
+
217
+ //# 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,397 @@
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$6, e as defineCustomElement$9, f as defineCustomElement$a, g as defineCustomElement$b } from './le-button2.js';
4
+ import { d as defineCustomElement$8 } from './le-dropdown-base2.js';
5
+ import { d as defineCustomElement$7 } from './le-popover2.js';
6
+ import { d as defineCustomElement$2 } from './le-tab2.js';
7
+
8
+ 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}";
9
+
10
+ const LeTabs$1 = /*@__PURE__*/ proxyCustomElement(class LeTabs extends HTMLElement {
11
+ constructor(registerHost) {
12
+ super();
13
+ if (registerHost !== false) {
14
+ this.__registerHost();
15
+ }
16
+ this.__attachShadow();
17
+ this.leTabChange = createEvent(this, "leTabChange", 7);
18
+ }
19
+ get el() { return this; }
20
+ /**
21
+ * Array of tab options (programmatic mode).
22
+ * If le-tab-panel children exist, they take precedence.
23
+ */
24
+ tabs = [];
25
+ /**
26
+ * The value of the currently selected tab.
27
+ * If not provided, defaults to the first tab.
28
+ */
29
+ selected;
30
+ /**
31
+ * Orientation of the tabs.
32
+ * @allowedValues horizontal | vertical
33
+ */
34
+ orientation = 'horizontal';
35
+ /**
36
+ * Position of the tabs relative to the panels.
37
+ * @allowedValues start | end
38
+ */
39
+ position = 'start';
40
+ /**
41
+ * Tab variant style.
42
+ * @allowedValues underlined | solid | pills | enclosed | icon-only
43
+ */
44
+ variant = 'underlined';
45
+ /**
46
+ * Whether tabs should stretch to fill available width.
47
+ */
48
+ fullWidth = false;
49
+ /**
50
+ * Size of the tabs.
51
+ * @allowedValues sm | md | lg
52
+ */
53
+ size = 'medium';
54
+ /**
55
+ * Wrap the tabs if they exceed container width.
56
+ */
57
+ wrap = false;
58
+ /**
59
+ * Scroll behavior for overflowing tabs.
60
+ * @allowedValues auto | hidden | visible | scroll
61
+ */
62
+ overflow = 'auto';
63
+ /**
64
+ * Internal tab configurations (built from children or tabs prop)
65
+ */
66
+ tabConfigs = [];
67
+ /**
68
+ * Internal state for focused tab index (for keyboard navigation)
69
+ */
70
+ focusedIndex = 0;
71
+ /**
72
+ * Whether we're using declarative mode (le-tab-panel children)
73
+ */
74
+ isDeclarativeMode = false;
75
+ /**
76
+ * Emitted when the selected tab changes.
77
+ */
78
+ leTabChange;
79
+ mutationObserver;
80
+ selectedChanged(newValue) {
81
+ const index = this.tabConfigs.findIndex(t => t.value === newValue);
82
+ if (index >= 0) {
83
+ this.focusedIndex = index;
84
+ }
85
+ this.updatePanelStates();
86
+ }
87
+ tabsChanged() {
88
+ if (!this.isDeclarativeMode) {
89
+ this.buildTabConfigs();
90
+ }
91
+ }
92
+ handleSlotChange() {
93
+ this.buildTabConfigs();
94
+ }
95
+ componentWillLoad() {
96
+ this.buildTabConfigs();
97
+ }
98
+ connectedCallback() {
99
+ // Watch for dynamic changes to children
100
+ this.mutationObserver = new MutationObserver(() => {
101
+ this.buildTabConfigs();
102
+ });
103
+ this.mutationObserver.observe(this.el, {
104
+ attributes: true,
105
+ childList: true,
106
+ subtree: true,
107
+ });
108
+ }
109
+ disconnectedCallback() {
110
+ this.mutationObserver?.disconnect();
111
+ }
112
+ async buildTabConfigs() {
113
+ // Check for le-tab-panel children
114
+ const panels = Array.from(this.el.querySelectorAll(':scope > le-tab-panel'));
115
+ if (panels.length > 0) {
116
+ // Declarative mode - build from children
117
+ this.isDeclarativeMode = true;
118
+ const configs = [];
119
+ for (const panel of panels) {
120
+ const config = await panel.getTabConfig();
121
+ configs.push({ ...config, panel });
122
+ }
123
+ this.tabConfigs = configs;
124
+ }
125
+ else if (this.tabs.length > 0) {
126
+ // Programmatic mode - use tabs prop
127
+ this.isDeclarativeMode = false;
128
+ this.tabConfigs = this.tabs.map(tab => ({
129
+ label: tab.label,
130
+ value: (tab.value !== undefined ? tab.value : tab.label),
131
+ iconStart: tab.iconStart,
132
+ iconEnd: tab.iconEnd,
133
+ disabled: tab.disabled ?? false,
134
+ }));
135
+ }
136
+ else {
137
+ this.tabConfigs = [];
138
+ }
139
+ // Set default selected
140
+ if (this.selected === undefined && this.tabConfigs.length > 0) {
141
+ const firstEnabled = this.tabConfigs.find(t => !t.disabled);
142
+ if (firstEnabled) {
143
+ this.selected = firstEnabled.value;
144
+ }
145
+ }
146
+ // Initialize focused index
147
+ if (this.selected !== undefined) {
148
+ const index = this.tabConfigs.findIndex(t => t.value === this.selected);
149
+ if (index >= 0) {
150
+ this.focusedIndex = index;
151
+ }
152
+ }
153
+ // Update panel active states
154
+ this.updatePanelStates();
155
+ }
156
+ async updatePanelStates() {
157
+ if (!this.isDeclarativeMode)
158
+ return;
159
+ for (const config of this.tabConfigs) {
160
+ if (config.panel) {
161
+ const isActive = config.value === this.selected;
162
+ await config.panel.setActive(isActive);
163
+ }
164
+ }
165
+ }
166
+ selectTab(config) {
167
+ if (config.disabled)
168
+ return;
169
+ this.selected = config.value;
170
+ this.leTabChange.emit({
171
+ value: config.value,
172
+ option: {
173
+ label: config.label,
174
+ value: config.value,
175
+ iconStart: config.iconStart,
176
+ iconEnd: config.iconEnd,
177
+ disabled: config.disabled,
178
+ },
179
+ });
180
+ }
181
+ handleTabClick = (config) => {
182
+ this.selectTab(config);
183
+ };
184
+ handleKeyDown = (event) => {
185
+ const { tabConfigs, orientation } = this;
186
+ const isHorizontal = orientation === 'horizontal';
187
+ let newIndex = this.focusedIndex;
188
+ switch (event.key) {
189
+ case 'ArrowLeft':
190
+ if (isHorizontal) {
191
+ event.preventDefault();
192
+ newIndex = this.findNextEnabledTab(-1);
193
+ }
194
+ break;
195
+ case 'ArrowRight':
196
+ if (isHorizontal) {
197
+ event.preventDefault();
198
+ newIndex = this.findNextEnabledTab(1);
199
+ }
200
+ break;
201
+ case 'ArrowUp':
202
+ if (!isHorizontal) {
203
+ event.preventDefault();
204
+ newIndex = this.findNextEnabledTab(-1);
205
+ }
206
+ break;
207
+ case 'ArrowDown':
208
+ if (!isHorizontal) {
209
+ event.preventDefault();
210
+ newIndex = this.findNextEnabledTab(1);
211
+ }
212
+ break;
213
+ case 'Home':
214
+ event.preventDefault();
215
+ newIndex = this.findFirstEnabledTab();
216
+ break;
217
+ case 'End':
218
+ event.preventDefault();
219
+ newIndex = this.findLastEnabledTab();
220
+ break;
221
+ case 'Enter':
222
+ case ' ':
223
+ event.preventDefault();
224
+ if (tabConfigs[this.focusedIndex]) {
225
+ this.selectTab(tabConfigs[this.focusedIndex]);
226
+ }
227
+ return;
228
+ default:
229
+ return;
230
+ }
231
+ if (newIndex !== this.focusedIndex) {
232
+ this.focusedIndex = newIndex;
233
+ this.focusTab(newIndex);
234
+ // Auto-select on focus (recommended for tabs)
235
+ if (tabConfigs[newIndex]) {
236
+ this.selectTab(tabConfigs[newIndex]);
237
+ }
238
+ }
239
+ };
240
+ findNextEnabledTab(direction) {
241
+ const { tabConfigs } = this;
242
+ let index = this.focusedIndex;
243
+ const length = tabConfigs.length;
244
+ for (let i = 0; i < length; i++) {
245
+ index = (index + direction + length) % length;
246
+ if (!tabConfigs[index].disabled) {
247
+ return index;
248
+ }
249
+ }
250
+ return this.focusedIndex;
251
+ }
252
+ findFirstEnabledTab() {
253
+ return this.tabConfigs.findIndex(t => !t.disabled);
254
+ }
255
+ findLastEnabledTab() {
256
+ for (let i = this.tabConfigs.length - 1; i >= 0; i--) {
257
+ if (!this.tabConfigs[i].disabled)
258
+ return i;
259
+ }
260
+ return 0;
261
+ }
262
+ focusTab(index) {
263
+ const tablist = this.el.shadowRoot?.querySelector('[role="tablist"]');
264
+ const tab = tablist?.querySelectorAll('[role="tab"]')[index];
265
+ tab?.focus();
266
+ }
267
+ render() {
268
+ const { tabConfigs, selected, orientation, variant, fullWidth, size, isDeclarativeMode } = this;
269
+ const classes = {
270
+ 'le-tabs': true,
271
+ [`orientation-${orientation}`]: true,
272
+ [`position-${this.position}`]: true,
273
+ [`variant-${variant}`]: true,
274
+ [`size-${size}`]: true,
275
+ 'full-width': fullWidth,
276
+ };
277
+ const tabPosition = this.orientation === 'vertical'
278
+ ? this.position
279
+ : this.position === 'start'
280
+ ? 'top'
281
+ : 'bottom';
282
+ return (h("le-component", { key: '27955ca3e6823a430cba21b8a3830dac4cbf23a9', component: "le-tabs", hostClass: classnames(classes) }, h("div", { key: 'f6f732307d85bd778fc5c0fc002a47aeb2c1e269', class: classes }, h("div", { key: '96908f34cd62d42915a80f3197fd32ef72a8ba93', class: {
283
+ 'tablist': true,
284
+ 'wrap-tabs': this.wrap,
285
+ [`overflow-${this.overflow}`]: true,
286
+ }, role: "tablist", "aria-orientation": orientation, part: "tablist", onKeyDown: this.handleKeyDown, tabIndex: 0 }, tabConfigs.map(config => {
287
+ const isSelected = config.value === selected;
288
+ const tabId = `tab-${config.value}`;
289
+ const panelId = `panel-${config.value}`;
290
+ 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)));
291
+ })), h("div", { key: '69a47db5fdad33cdcb17a4f21b8731c80e519933', class: "panels", part: "panels" }, isDeclarativeMode ? (
292
+ // Declarative mode - render slot for le-tab-panel children
293
+ h("le-slot", { name: "", description: "Tab panels", type: "slot", allowedComponents: "le-tab-panel" }, h("slot", null))) : (
294
+ // Programmatic mode - render named slots
295
+ tabConfigs.map(config => {
296
+ const isSelected = config.value === selected;
297
+ const tabId = `tab-${config.value}`;
298
+ const panelId = `panel-${config.value}`;
299
+ return (h("div", { key: config.value, id: panelId, class: {
300
+ 'panel': true,
301
+ 'panel-active': isSelected,
302
+ }, role: "tabpanel", part: "panel", "aria-labelledby": tabId, tabIndex: 0, hidden: !isSelected }, h("slot", { name: `panel-${config.value}` })));
303
+ }))))));
304
+ }
305
+ static get watchers() { return {
306
+ "selected": ["selectedChanged"],
307
+ "tabs": ["tabsChanged"]
308
+ }; }
309
+ static get style() { return leTabsCss; }
310
+ }, [769, "le-tabs", {
311
+ "tabs": [16],
312
+ "selected": [1032],
313
+ "orientation": [1],
314
+ "position": [1],
315
+ "variant": [1],
316
+ "fullWidth": [4, "full-width"],
317
+ "size": [1],
318
+ "wrap": [4],
319
+ "overflow": [1],
320
+ "tabConfigs": [32],
321
+ "focusedIndex": [32],
322
+ "isDeclarativeMode": [32]
323
+ }, [[0, "slotchange", "handleSlotChange"]], {
324
+ "selected": ["selectedChanged"],
325
+ "tabs": ["tabsChanged"]
326
+ }]);
327
+ function defineCustomElement$1() {
328
+ if (typeof customElements === "undefined") {
329
+ return;
330
+ }
331
+ const components = ["le-tabs", "le-button", "le-checkbox", "le-component", "le-dropdown-base", "le-popover", "le-popup", "le-select", "le-slot", "le-string-input", "le-tab"];
332
+ components.forEach(tagName => { switch (tagName) {
333
+ case "le-tabs":
334
+ if (!customElements.get(tagName)) {
335
+ customElements.define(tagName, LeTabs$1);
336
+ }
337
+ break;
338
+ case "le-button":
339
+ if (!customElements.get(tagName)) {
340
+ defineCustomElement$b();
341
+ }
342
+ break;
343
+ case "le-checkbox":
344
+ if (!customElements.get(tagName)) {
345
+ defineCustomElement$a();
346
+ }
347
+ break;
348
+ case "le-component":
349
+ if (!customElements.get(tagName)) {
350
+ defineCustomElement$9();
351
+ }
352
+ break;
353
+ case "le-dropdown-base":
354
+ if (!customElements.get(tagName)) {
355
+ defineCustomElement$8();
356
+ }
357
+ break;
358
+ case "le-popover":
359
+ if (!customElements.get(tagName)) {
360
+ defineCustomElement$7();
361
+ }
362
+ break;
363
+ case "le-popup":
364
+ if (!customElements.get(tagName)) {
365
+ defineCustomElement$6();
366
+ }
367
+ break;
368
+ case "le-select":
369
+ if (!customElements.get(tagName)) {
370
+ defineCustomElement$5();
371
+ }
372
+ break;
373
+ case "le-slot":
374
+ if (!customElements.get(tagName)) {
375
+ defineCustomElement$4();
376
+ }
377
+ break;
378
+ case "le-string-input":
379
+ if (!customElements.get(tagName)) {
380
+ defineCustomElement$3();
381
+ }
382
+ break;
383
+ case "le-tab":
384
+ if (!customElements.get(tagName)) {
385
+ defineCustomElement$2();
386
+ }
387
+ break;
388
+ } });
389
+ }
390
+
391
+ const LeTabs = LeTabs$1;
392
+ const defineCustomElement = defineCustomElement$1;
393
+
394
+ export { LeTabs, defineCustomElement };
395
+ //# sourceMappingURL=le-tabs.js.map
396
+
397
+ //# sourceMappingURL=le-tabs.js.map