le-kit 0.5.3 → 0.6.0

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 (503) hide show
  1. package/LLM_CONTEXT.md +95 -34
  2. package/package.json +3 -1
  3. package/readme.md +2 -0
  4. package/dist/cjs/index-BzadfLTc.js +0 -1864
  5. package/dist/cjs/index-BzadfLTc.js.map +0 -1
  6. package/dist/cjs/index.cjs.js +0 -124
  7. package/dist/cjs/index.cjs.js.map +0 -1
  8. package/dist/cjs/le-bar_16.cjs.entry.js +0 -3397
  9. package/dist/cjs/le-box.cjs.entry.js +0 -136
  10. package/dist/cjs/le-breadcrumbs.cjs.entry.js +0 -223
  11. package/dist/cjs/le-card.cjs.entry.js +0 -29
  12. package/dist/cjs/le-code-input.cjs.entry.js +0 -147
  13. package/dist/cjs/le-combobox.cjs.entry.js +0 -210
  14. package/dist/cjs/le-header-placeholder.cjs.entry.js +0 -18
  15. package/dist/cjs/le-kit.cjs.js +0 -27
  16. package/dist/cjs/le-kit.cjs.js.map +0 -1
  17. package/dist/cjs/le-multiselect.cjs.entry.js +0 -284
  18. package/dist/cjs/le-number-input.cjs.entry.js +0 -162
  19. package/dist/cjs/le-round-progress.cjs.entry.js +0 -101
  20. package/dist/cjs/le-segmented-control.cjs.entry.js +0 -235
  21. package/dist/cjs/le-side-panel-toggle.cjs.entry.js +0 -213
  22. package/dist/cjs/le-side-panel.cjs.entry.js +0 -539
  23. package/dist/cjs/le-stack.cjs.entry.js +0 -122
  24. package/dist/cjs/le-tab-bar.cjs.entry.js +0 -233
  25. package/dist/cjs/le-tab-panel.cjs.entry.js +0 -82
  26. package/dist/cjs/le-tab.cjs.entry.js +0 -98
  27. package/dist/cjs/le-tabs.cjs.entry.js +0 -297
  28. package/dist/cjs/le-tag.cjs.entry.js +0 -51
  29. package/dist/cjs/le-text.cjs.entry.js +0 -318
  30. package/dist/cjs/le-turntable.cjs.entry.js +0 -131
  31. package/dist/cjs/loader.cjs.js +0 -15
  32. package/dist/cjs/loader.cjs.js.map +0 -1
  33. package/dist/cjs/utils-Dxx9WhWK.js +0 -152
  34. package/dist/cjs/utils-Dxx9WhWK.js.map +0 -1
  35. package/dist/collection/collection-manifest.json +0 -48
  36. package/dist/collection/components/le-bar/le-bar.css +0 -255
  37. package/dist/collection/components/le-bar/le-bar.js +0 -673
  38. package/dist/collection/components/le-bar/le-bar.js.map +0 -1
  39. package/dist/collection/components/le-box/le-box.css +0 -37
  40. package/dist/collection/components/le-box/le-box.js +0 -567
  41. package/dist/collection/components/le-box/le-box.js.map +0 -1
  42. package/dist/collection/components/le-breadcrumbs/le-breadcrumbs.css +0 -72
  43. package/dist/collection/components/le-breadcrumbs/le-breadcrumbs.js +0 -372
  44. package/dist/collection/components/le-breadcrumbs/le-breadcrumbs.js.map +0 -1
  45. package/dist/collection/components/le-button/le-button.css +0 -290
  46. package/dist/collection/components/le-button/le-button.js +0 -431
  47. package/dist/collection/components/le-button/le-button.js.map +0 -1
  48. package/dist/collection/components/le-card/le-card.css +0 -74
  49. package/dist/collection/components/le-card/le-card.js +0 -103
  50. package/dist/collection/components/le-card/le-card.js.map +0 -1
  51. package/dist/collection/components/le-checkbox/le-checkbox.css +0 -93
  52. package/dist/collection/components/le-checkbox/le-checkbox.js +0 -177
  53. package/dist/collection/components/le-checkbox/le-checkbox.js.map +0 -1
  54. package/dist/collection/components/le-code-input/le-code-input.css +0 -106
  55. package/dist/collection/components/le-code-input/le-code-input.js +0 -433
  56. package/dist/collection/components/le-code-input/le-code-input.js.map +0 -1
  57. package/dist/collection/components/le-collapse/le-collapse.css +0 -31
  58. package/dist/collection/components/le-collapse/le-collapse.js +0 -185
  59. package/dist/collection/components/le-collapse/le-collapse.js.map +0 -1
  60. package/dist/collection/components/le-combobox/le-combobox.css +0 -144
  61. package/dist/collection/components/le-combobox/le-combobox.js +0 -633
  62. package/dist/collection/components/le-combobox/le-combobox.js.map +0 -1
  63. package/dist/collection/components/le-component/le-component.css +0 -189
  64. package/dist/collection/components/le-component/le-component.js +0 -343
  65. package/dist/collection/components/le-component/le-component.js.map +0 -1
  66. package/dist/collection/components/le-current-heading/le-current-heading.css +0 -13
  67. package/dist/collection/components/le-current-heading/le-current-heading.js +0 -131
  68. package/dist/collection/components/le-current-heading/le-current-heading.js.map +0 -1
  69. package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +0 -167
  70. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +0 -735
  71. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +0 -1
  72. package/dist/collection/components/le-header/le-header.css +0 -120
  73. package/dist/collection/components/le-header/le-header.js +0 -485
  74. package/dist/collection/components/le-header/le-header.js.map +0 -1
  75. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +0 -21
  76. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js.map +0 -1
  77. package/dist/collection/components/le-icon/le-icon.css +0 -13
  78. package/dist/collection/components/le-icon/le-icon.js +0 -185
  79. package/dist/collection/components/le-icon/le-icon.js.map +0 -1
  80. package/dist/collection/components/le-multiselect/le-multiselect.css +0 -163
  81. package/dist/collection/components/le-multiselect/le-multiselect.js +0 -713
  82. package/dist/collection/components/le-multiselect/le-multiselect.js.map +0 -1
  83. package/dist/collection/components/le-navigation/le-navigation.css +0 -330
  84. package/dist/collection/components/le-navigation/le-navigation.js +0 -690
  85. package/dist/collection/components/le-navigation/le-navigation.js.map +0 -1
  86. package/dist/collection/components/le-number-input/le-number-input.css +0 -135
  87. package/dist/collection/components/le-number-input/le-number-input.js +0 -476
  88. package/dist/collection/components/le-number-input/le-number-input.js.map +0 -1
  89. package/dist/collection/components/le-popover/le-popover.css +0 -164
  90. package/dist/collection/components/le-popover/le-popover.js +0 -828
  91. package/dist/collection/components/le-popover/le-popover.js.map +0 -1
  92. package/dist/collection/components/le-popup/le-popup.api.js +0 -102
  93. package/dist/collection/components/le-popup/le-popup.api.js.map +0 -1
  94. package/dist/collection/components/le-popup/le-popup.css +0 -222
  95. package/dist/collection/components/le-popup/le-popup.js +0 -600
  96. package/dist/collection/components/le-popup/le-popup.js.map +0 -1
  97. package/dist/collection/components/le-round-progress/le-round-progress.css +0 -34
  98. package/dist/collection/components/le-round-progress/le-round-progress.js +0 -179
  99. package/dist/collection/components/le-round-progress/le-round-progress.js.map +0 -1
  100. package/dist/collection/components/le-scroll-progress/le-scroll-progress.css +0 -29
  101. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +0 -185
  102. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js.map +0 -1
  103. package/dist/collection/components/le-segmented-control/le-segmented-control.css +0 -78
  104. package/dist/collection/components/le-segmented-control/le-segmented-control.js +0 -436
  105. package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +0 -1
  106. package/dist/collection/components/le-select/le-select.css +0 -121
  107. package/dist/collection/components/le-select/le-select.js +0 -556
  108. package/dist/collection/components/le-select/le-select.js.map +0 -1
  109. package/dist/collection/components/le-side-panel/le-side-panel.css +0 -202
  110. package/dist/collection/components/le-side-panel/le-side-panel.js +0 -948
  111. package/dist/collection/components/le-side-panel/le-side-panel.js.map +0 -1
  112. package/dist/collection/components/le-side-panel-toggle/le-side-panel-toggle.js +0 -595
  113. package/dist/collection/components/le-side-panel-toggle/le-side-panel-toggle.js.map +0 -1
  114. package/dist/collection/components/le-slot/le-slot.default.css +0 -222
  115. package/dist/collection/components/le-slot/le-slot.js +0 -590
  116. package/dist/collection/components/le-slot/le-slot.js.map +0 -1
  117. package/dist/collection/components/le-stack/le-stack.default.css +0 -37
  118. package/dist/collection/components/le-stack/le-stack.js +0 -377
  119. package/dist/collection/components/le-stack/le-stack.js.map +0 -1
  120. package/dist/collection/components/le-string-input/le-string-input.css +0 -83
  121. package/dist/collection/components/le-string-input/le-string-input.js +0 -370
  122. package/dist/collection/components/le-string-input/le-string-input.js.map +0 -1
  123. package/dist/collection/components/le-tab/le-tab.css +0 -289
  124. package/dist/collection/components/le-tab/le-tab.js +0 -528
  125. package/dist/collection/components/le-tab/le-tab.js.map +0 -1
  126. package/dist/collection/components/le-tab-bar/le-tab-bar.css +0 -89
  127. package/dist/collection/components/le-tab-bar/le-tab-bar.js +0 -459
  128. package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +0 -1
  129. package/dist/collection/components/le-tab-panel/le-tab-panel.css +0 -30
  130. package/dist/collection/components/le-tab-panel/le-tab-panel.js +0 -285
  131. package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +0 -1
  132. package/dist/collection/components/le-tabs/le-tabs.css +0 -146
  133. package/dist/collection/components/le-tabs/le-tabs.js +0 -579
  134. package/dist/collection/components/le-tabs/le-tabs.js.map +0 -1
  135. package/dist/collection/components/le-tag/le-tag.css +0 -139
  136. package/dist/collection/components/le-tag/le-tag.js +0 -251
  137. package/dist/collection/components/le-tag/le-tag.js.map +0 -1
  138. package/dist/collection/components/le-text/le-text.css +0 -169
  139. package/dist/collection/components/le-text/le-text.js +0 -459
  140. package/dist/collection/components/le-text/le-text.js.map +0 -1
  141. package/dist/collection/components/le-turntable/le-turntable.css +0 -10
  142. package/dist/collection/components/le-turntable/le-turntable.js +0 -202
  143. package/dist/collection/components/le-turntable/le-turntable.js.map +0 -1
  144. package/dist/collection/dist/components/assets/custom-elements.json +0 -12263
  145. package/dist/collection/dist/components/assets/icons/arrow-left.json +0 -21
  146. package/dist/collection/dist/components/assets/icons/arrow-right.json +0 -21
  147. package/dist/collection/dist/components/assets/icons/check.json +0 -12
  148. package/dist/collection/dist/components/assets/icons/chevron-down.json +0 -12
  149. package/dist/collection/dist/components/assets/icons/chevron-left.json +0 -12
  150. package/dist/collection/dist/components/assets/icons/chevron-right.json +0 -12
  151. package/dist/collection/dist/components/assets/icons/chevron-up.json +0 -12
  152. package/dist/collection/dist/components/assets/icons/ellipsis-horizontal.json +0 -14
  153. package/dist/collection/dist/components/assets/icons/ellipsis-vertical.json +0 -14
  154. package/dist/collection/dist/components/assets/icons/hamburger.json +0 -14
  155. package/dist/collection/dist/components/assets/icons/side-panel.json +0 -61
  156. package/dist/collection/dist/themes/base.css +0 -89
  157. package/dist/collection/dist/themes/dark.css +0 -104
  158. package/dist/collection/dist/themes/default.css +0 -112
  159. package/dist/collection/dist/themes/gradient.css +0 -104
  160. package/dist/collection/dist/themes/index.css +0 -76
  161. package/dist/collection/dist/themes/minimal.css +0 -104
  162. package/dist/collection/dist/themes/warm.css +0 -104
  163. package/dist/collection/global/app.js +0 -177
  164. package/dist/collection/global/app.js.map +0 -1
  165. package/dist/collection/index.js +0 -16
  166. package/dist/collection/index.js.map +0 -1
  167. package/dist/collection/types/blocks.js +0 -115
  168. package/dist/collection/types/blocks.js.map +0 -1
  169. package/dist/collection/types/options.js +0 -2
  170. package/dist/collection/types/options.js.map +0 -1
  171. package/dist/collection/utils/utils.js +0 -141
  172. package/dist/collection/utils/utils.js.map +0 -1
  173. package/dist/components/app.js +0 -180
  174. package/dist/components/app.js.map +0 -1
  175. package/dist/components/assets/custom-elements.json +0 -12263
  176. package/dist/components/assets/icons/arrow-left.json +0 -21
  177. package/dist/components/assets/icons/arrow-right.json +0 -21
  178. package/dist/components/assets/icons/check.json +0 -12
  179. package/dist/components/assets/icons/chevron-down.json +0 -12
  180. package/dist/components/assets/icons/chevron-left.json +0 -12
  181. package/dist/components/assets/icons/chevron-right.json +0 -12
  182. package/dist/components/assets/icons/chevron-up.json +0 -12
  183. package/dist/components/assets/icons/ellipsis-horizontal.json +0 -14
  184. package/dist/components/assets/icons/ellipsis-vertical.json +0 -14
  185. package/dist/components/assets/icons/hamburger.json +0 -14
  186. package/dist/components/assets/icons/side-panel.json +0 -61
  187. package/dist/components/index.d.ts +0 -33
  188. package/dist/components/index.js +0 -12
  189. package/dist/components/index.js.map +0 -1
  190. package/dist/components/le-bar.d.ts +0 -11
  191. package/dist/components/le-bar.js +0 -9
  192. package/dist/components/le-bar.js.map +0 -1
  193. package/dist/components/le-bar2.js +0 -498
  194. package/dist/components/le-bar2.js.map +0 -1
  195. package/dist/components/le-box.d.ts +0 -11
  196. package/dist/components/le-box.js +0 -225
  197. package/dist/components/le-box.js.map +0 -1
  198. package/dist/components/le-breadcrumbs.d.ts +0 -11
  199. package/dist/components/le-breadcrumbs.js +0 -327
  200. package/dist/components/le-breadcrumbs.js.map +0 -1
  201. package/dist/components/le-button.d.ts +0 -11
  202. package/dist/components/le-button.js +0 -9
  203. package/dist/components/le-button.js.map +0 -1
  204. package/dist/components/le-button2.js +0 -1577
  205. package/dist/components/le-button2.js.map +0 -1
  206. package/dist/components/le-card.d.ts +0 -11
  207. package/dist/components/le-card.js +0 -100
  208. package/dist/components/le-card.js.map +0 -1
  209. package/dist/components/le-checkbox.d.ts +0 -11
  210. package/dist/components/le-checkbox.js +0 -9
  211. package/dist/components/le-checkbox.js.map +0 -1
  212. package/dist/components/le-code-input.d.ts +0 -11
  213. package/dist/components/le-code-input.js +0 -231
  214. package/dist/components/le-code-input.js.map +0 -1
  215. package/dist/components/le-collapse.d.ts +0 -11
  216. package/dist/components/le-collapse.js +0 -9
  217. package/dist/components/le-collapse.js.map +0 -1
  218. package/dist/components/le-collapse2.js +0 -138
  219. package/dist/components/le-collapse2.js.map +0 -1
  220. package/dist/components/le-combobox.d.ts +0 -11
  221. package/dist/components/le-combobox.js +0 -299
  222. package/dist/components/le-combobox.js.map +0 -1
  223. package/dist/components/le-component.d.ts +0 -11
  224. package/dist/components/le-component.js +0 -9
  225. package/dist/components/le-component.js.map +0 -1
  226. package/dist/components/le-current-heading.d.ts +0 -11
  227. package/dist/components/le-current-heading.js +0 -93
  228. package/dist/components/le-current-heading.js.map +0 -1
  229. package/dist/components/le-dropdown-base.d.ts +0 -11
  230. package/dist/components/le-dropdown-base.js +0 -9
  231. package/dist/components/le-dropdown-base.js.map +0 -1
  232. package/dist/components/le-dropdown-base2.js +0 -366
  233. package/dist/components/le-dropdown-base2.js.map +0 -1
  234. package/dist/components/le-header-placeholder.d.ts +0 -11
  235. package/dist/components/le-header-placeholder.js +0 -37
  236. package/dist/components/le-header-placeholder.js.map +0 -1
  237. package/dist/components/le-header.d.ts +0 -11
  238. package/dist/components/le-header.js +0 -325
  239. package/dist/components/le-header.js.map +0 -1
  240. package/dist/components/le-icon.d.ts +0 -11
  241. package/dist/components/le-icon.js +0 -9
  242. package/dist/components/le-icon.js.map +0 -1
  243. package/dist/components/le-icon2.js +0 -149
  244. package/dist/components/le-icon2.js.map +0 -1
  245. package/dist/components/le-multiselect.d.ts +0 -11
  246. package/dist/components/le-multiselect.js +0 -383
  247. package/dist/components/le-multiselect.js.map +0 -1
  248. package/dist/components/le-navigation.d.ts +0 -11
  249. package/dist/components/le-navigation.js +0 -9
  250. package/dist/components/le-navigation.js.map +0 -1
  251. package/dist/components/le-navigation2.js +0 -488
  252. package/dist/components/le-navigation2.js.map +0 -1
  253. package/dist/components/le-number-input.d.ts +0 -11
  254. package/dist/components/le-number-input.js +0 -248
  255. package/dist/components/le-number-input.js.map +0 -1
  256. package/dist/components/le-popover.d.ts +0 -11
  257. package/dist/components/le-popover.js +0 -9
  258. package/dist/components/le-popover.js.map +0 -1
  259. package/dist/components/le-popover2.js +0 -642
  260. package/dist/components/le-popover2.js.map +0 -1
  261. package/dist/components/le-popup.api.js +0 -106
  262. package/dist/components/le-popup.api.js.map +0 -1
  263. package/dist/components/le-popup.d.ts +0 -11
  264. package/dist/components/le-popup.js +0 -9
  265. package/dist/components/le-popup.js.map +0 -1
  266. package/dist/components/le-round-progress.d.ts +0 -11
  267. package/dist/components/le-round-progress.js +0 -130
  268. package/dist/components/le-round-progress.js.map +0 -1
  269. package/dist/components/le-scroll-progress.d.ts +0 -11
  270. package/dist/components/le-scroll-progress.js +0 -140
  271. package/dist/components/le-scroll-progress.js.map +0 -1
  272. package/dist/components/le-segmented-control.d.ts +0 -11
  273. package/dist/components/le-segmented-control.js +0 -321
  274. package/dist/components/le-segmented-control.js.map +0 -1
  275. package/dist/components/le-select.d.ts +0 -11
  276. package/dist/components/le-select.js +0 -9
  277. package/dist/components/le-select.js.map +0 -1
  278. package/dist/components/le-side-panel-toggle.d.ts +0 -11
  279. package/dist/components/le-side-panel-toggle.js +0 -9
  280. package/dist/components/le-side-panel-toggle.js.map +0 -1
  281. package/dist/components/le-side-panel-toggle2.js +0 -295
  282. package/dist/components/le-side-panel-toggle2.js.map +0 -1
  283. package/dist/components/le-side-panel.d.ts +0 -11
  284. package/dist/components/le-side-panel.js +0 -654
  285. package/dist/components/le-side-panel.js.map +0 -1
  286. package/dist/components/le-slot.d.ts +0 -11
  287. package/dist/components/le-slot.js +0 -9
  288. package/dist/components/le-slot.js.map +0 -1
  289. package/dist/components/le-stack.d.ts +0 -11
  290. package/dist/components/le-stack.js +0 -202
  291. package/dist/components/le-stack.js.map +0 -1
  292. package/dist/components/le-string-input.d.ts +0 -11
  293. package/dist/components/le-string-input.js +0 -9
  294. package/dist/components/le-string-input.js.map +0 -1
  295. package/dist/components/le-tab-bar.d.ts +0 -11
  296. package/dist/components/le-tab-bar.js +0 -321
  297. package/dist/components/le-tab-bar.js.map +0 -1
  298. package/dist/components/le-tab-panel.d.ts +0 -11
  299. package/dist/components/le-tab-panel.js +0 -164
  300. package/dist/components/le-tab-panel.js.map +0 -1
  301. package/dist/components/le-tab.d.ts +0 -11
  302. package/dist/components/le-tab.js +0 -9
  303. package/dist/components/le-tab.js.map +0 -1
  304. package/dist/components/le-tab2.js +0 -182
  305. package/dist/components/le-tab2.js.map +0 -1
  306. package/dist/components/le-tabs.d.ts +0 -11
  307. package/dist/components/le-tabs.js +0 -387
  308. package/dist/components/le-tabs.js.map +0 -1
  309. package/dist/components/le-tag.d.ts +0 -11
  310. package/dist/components/le-tag.js +0 -9
  311. package/dist/components/le-tag.js.map +0 -1
  312. package/dist/components/le-tag2.js +0 -124
  313. package/dist/components/le-tag2.js.map +0 -1
  314. package/dist/components/le-text.d.ts +0 -11
  315. package/dist/components/le-text.js +0 -398
  316. package/dist/components/le-text.js.map +0 -1
  317. package/dist/components/le-turntable.d.ts +0 -11
  318. package/dist/components/le-turntable.js +0 -156
  319. package/dist/components/le-turntable.js.map +0 -1
  320. package/dist/components/utils.js +0 -146
  321. package/dist/components/utils.js.map +0 -1
  322. package/dist/docs.d.ts +0 -443
  323. package/dist/docs.json +0 -14581
  324. package/dist/esm/index-DFTm5BqT.js +0 -1844
  325. package/dist/esm/index-DFTm5BqT.js.map +0 -1
  326. package/dist/esm/index.js +0 -109
  327. package/dist/esm/index.js.map +0 -1
  328. package/dist/esm/le-bar_16.entry.js +0 -3380
  329. package/dist/esm/le-box.entry.js +0 -134
  330. package/dist/esm/le-box.entry.js.map +0 -1
  331. package/dist/esm/le-breadcrumbs.entry.js +0 -221
  332. package/dist/esm/le-breadcrumbs.entry.js.map +0 -1
  333. package/dist/esm/le-card.entry.js +0 -27
  334. package/dist/esm/le-card.entry.js.map +0 -1
  335. package/dist/esm/le-code-input.entry.js +0 -145
  336. package/dist/esm/le-code-input.entry.js.map +0 -1
  337. package/dist/esm/le-combobox.entry.js +0 -208
  338. package/dist/esm/le-combobox.entry.js.map +0 -1
  339. package/dist/esm/le-header-placeholder.entry.js +0 -16
  340. package/dist/esm/le-header-placeholder.entry.js.map +0 -1
  341. package/dist/esm/le-kit.js +0 -23
  342. package/dist/esm/le-kit.js.map +0 -1
  343. package/dist/esm/le-multiselect.entry.js +0 -282
  344. package/dist/esm/le-multiselect.entry.js.map +0 -1
  345. package/dist/esm/le-number-input.entry.js +0 -160
  346. package/dist/esm/le-number-input.entry.js.map +0 -1
  347. package/dist/esm/le-round-progress.entry.js +0 -99
  348. package/dist/esm/le-round-progress.entry.js.map +0 -1
  349. package/dist/esm/le-segmented-control.entry.js +0 -233
  350. package/dist/esm/le-segmented-control.entry.js.map +0 -1
  351. package/dist/esm/le-side-panel-toggle.entry.js +0 -211
  352. package/dist/esm/le-side-panel-toggle.entry.js.map +0 -1
  353. package/dist/esm/le-side-panel.entry.js +0 -537
  354. package/dist/esm/le-side-panel.entry.js.map +0 -1
  355. package/dist/esm/le-stack.entry.js +0 -120
  356. package/dist/esm/le-stack.entry.js.map +0 -1
  357. package/dist/esm/le-tab-bar.entry.js +0 -231
  358. package/dist/esm/le-tab-bar.entry.js.map +0 -1
  359. package/dist/esm/le-tab-panel.entry.js +0 -80
  360. package/dist/esm/le-tab-panel.entry.js.map +0 -1
  361. package/dist/esm/le-tab.entry.js +0 -96
  362. package/dist/esm/le-tab.entry.js.map +0 -1
  363. package/dist/esm/le-tabs.entry.js +0 -295
  364. package/dist/esm/le-tabs.entry.js.map +0 -1
  365. package/dist/esm/le-tag.entry.js +0 -49
  366. package/dist/esm/le-tag.entry.js.map +0 -1
  367. package/dist/esm/le-text.entry.js +0 -316
  368. package/dist/esm/le-text.entry.js.map +0 -1
  369. package/dist/esm/le-turntable.entry.js +0 -129
  370. package/dist/esm/le-turntable.entry.js.map +0 -1
  371. package/dist/esm/loader.js +0 -13
  372. package/dist/esm/loader.js.map +0 -1
  373. package/dist/esm/utils-DZYCZLrF.js +0 -146
  374. package/dist/esm/utils-DZYCZLrF.js.map +0 -1
  375. package/dist/index.cjs.js +0 -1
  376. package/dist/index.js +0 -1
  377. package/dist/le-kit/dist/components/assets/custom-elements.json +0 -12263
  378. package/dist/le-kit/dist/components/assets/icons/arrow-left.json +0 -21
  379. package/dist/le-kit/dist/components/assets/icons/arrow-right.json +0 -21
  380. package/dist/le-kit/dist/components/assets/icons/check.json +0 -12
  381. package/dist/le-kit/dist/components/assets/icons/chevron-down.json +0 -12
  382. package/dist/le-kit/dist/components/assets/icons/chevron-left.json +0 -12
  383. package/dist/le-kit/dist/components/assets/icons/chevron-right.json +0 -12
  384. package/dist/le-kit/dist/components/assets/icons/chevron-up.json +0 -12
  385. package/dist/le-kit/dist/components/assets/icons/ellipsis-horizontal.json +0 -14
  386. package/dist/le-kit/dist/components/assets/icons/ellipsis-vertical.json +0 -14
  387. package/dist/le-kit/dist/components/assets/icons/hamburger.json +0 -14
  388. package/dist/le-kit/dist/components/assets/icons/side-panel.json +0 -61
  389. package/dist/le-kit/dist/themes/base.css +0 -89
  390. package/dist/le-kit/dist/themes/dark.css +0 -104
  391. package/dist/le-kit/dist/themes/default.css +0 -112
  392. package/dist/le-kit/dist/themes/gradient.css +0 -104
  393. package/dist/le-kit/dist/themes/index.css +0 -76
  394. package/dist/le-kit/dist/themes/minimal.css +0 -104
  395. package/dist/le-kit/dist/themes/warm.css +0 -104
  396. package/dist/le-kit/index.esm.js +0 -2
  397. package/dist/le-kit/index.esm.js.map +0 -1
  398. package/dist/le-kit/le-kit.css +0 -1
  399. package/dist/le-kit/le-kit.esm.js +0 -2
  400. package/dist/le-kit/le-kit.esm.js.map +0 -1
  401. package/dist/le-kit/loader.esm.js.map +0 -1
  402. package/dist/le-kit/p-3067b18f.entry.js +0 -2
  403. package/dist/le-kit/p-3067b18f.entry.js.map +0 -1
  404. package/dist/le-kit/p-34c4d97d.entry.js +0 -2
  405. package/dist/le-kit/p-34c4d97d.entry.js.map +0 -1
  406. package/dist/le-kit/p-45182541.entry.js +0 -2
  407. package/dist/le-kit/p-45182541.entry.js.map +0 -1
  408. package/dist/le-kit/p-52a41c96.entry.js +0 -2
  409. package/dist/le-kit/p-52a41c96.entry.js.map +0 -1
  410. package/dist/le-kit/p-55fb5dd2.entry.js +0 -2
  411. package/dist/le-kit/p-55fb5dd2.entry.js.map +0 -1
  412. package/dist/le-kit/p-649025f4.entry.js +0 -2
  413. package/dist/le-kit/p-649025f4.entry.js.map +0 -1
  414. package/dist/le-kit/p-67930309.entry.js +0 -2
  415. package/dist/le-kit/p-67930309.entry.js.map +0 -1
  416. package/dist/le-kit/p-6d222705.entry.js +0 -2
  417. package/dist/le-kit/p-6d222705.entry.js.map +0 -1
  418. package/dist/le-kit/p-8049e0c2.entry.js +0 -2
  419. package/dist/le-kit/p-8049e0c2.entry.js.map +0 -1
  420. package/dist/le-kit/p-884f57bd.entry.js +0 -2
  421. package/dist/le-kit/p-884f57bd.entry.js.map +0 -1
  422. package/dist/le-kit/p-88c70f9d.entry.js +0 -2
  423. package/dist/le-kit/p-88c70f9d.entry.js.map +0 -1
  424. package/dist/le-kit/p-96610729.entry.js +0 -2
  425. package/dist/le-kit/p-96610729.entry.js.map +0 -1
  426. package/dist/le-kit/p-D8RYDS9p.js +0 -2
  427. package/dist/le-kit/p-D8RYDS9p.js.map +0 -1
  428. package/dist/le-kit/p-DFTm5BqT.js +0 -3
  429. package/dist/le-kit/p-DFTm5BqT.js.map +0 -1
  430. package/dist/le-kit/p-a34054e0.entry.js +0 -2
  431. package/dist/le-kit/p-a34054e0.entry.js.map +0 -1
  432. package/dist/le-kit/p-a388e46a.entry.js +0 -2
  433. package/dist/le-kit/p-a388e46a.entry.js.map +0 -1
  434. package/dist/le-kit/p-c0c53650.entry.js +0 -2
  435. package/dist/le-kit/p-c0c53650.entry.js.map +0 -1
  436. package/dist/le-kit/p-cbf17514.entry.js +0 -2
  437. package/dist/le-kit/p-cbf17514.entry.js.map +0 -1
  438. package/dist/le-kit/p-d934de74.entry.js +0 -2
  439. package/dist/le-kit/p-d934de74.entry.js.map +0 -1
  440. package/dist/le-kit/p-de72c8b5.entry.js +0 -2
  441. package/dist/le-kit/p-de72c8b5.entry.js.map +0 -1
  442. package/dist/le-kit/p-e3dd0f2a.entry.js +0 -2
  443. package/dist/le-kit/p-e3dd0f2a.entry.js.map +0 -1
  444. package/dist/le-kit/p-ee170967.entry.js +0 -2
  445. package/dist/le-kit/p-ee170967.entry.js.map +0 -1
  446. package/dist/le-kit/p-eedb2f75.entry.js +0 -2
  447. package/dist/le-kit/p-eedb2f75.entry.js.map +0 -1
  448. package/dist/themes/base.css +0 -89
  449. package/dist/themes/dark.css +0 -104
  450. package/dist/themes/default.css +0 -112
  451. package/dist/themes/gradient.css +0 -104
  452. package/dist/themes/index.css +0 -76
  453. package/dist/themes/minimal.css +0 -104
  454. package/dist/themes/warm.css +0 -104
  455. package/dist/types/components/le-bar/le-bar.d.ts +0 -131
  456. package/dist/types/components/le-box/le-box.d.ts +0 -111
  457. package/dist/types/components/le-breadcrumbs/le-breadcrumbs.d.ts +0 -57
  458. package/dist/types/components/le-button/le-button.d.ts +0 -93
  459. package/dist/types/components/le-card/le-card.d.ts +0 -37
  460. package/dist/types/components/le-checkbox/le-checkbox.d.ts +0 -46
  461. package/dist/types/components/le-code-input/le-code-input.d.ts +0 -102
  462. package/dist/types/components/le-collapse/le-collapse.d.ts +0 -43
  463. package/dist/types/components/le-combobox/le-combobox.d.ts +0 -128
  464. package/dist/types/components/le-component/le-component.d.ts +0 -115
  465. package/dist/types/components/le-current-heading/le-current-heading.d.ts +0 -25
  466. package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +0 -118
  467. package/dist/types/components/le-header/le-header.d.ts +0 -115
  468. package/dist/types/components/le-header-placeholder/le-header-placeholder.d.ts +0 -13
  469. package/dist/types/components/le-icon/le-icon.d.ts +0 -28
  470. package/dist/types/components/le-multiselect/le-multiselect.d.ts +0 -143
  471. package/dist/types/components/le-navigation/le-navigation.d.ts +0 -125
  472. package/dist/types/components/le-number-input/le-number-input.d.ts +0 -106
  473. package/dist/types/components/le-popover/le-popover.d.ts +0 -129
  474. package/dist/types/components/le-popup/le-popup.api.d.ts +0 -73
  475. package/dist/types/components/le-popup/le-popup.d.ts +0 -127
  476. package/dist/types/components/le-round-progress/le-round-progress.d.ts +0 -37
  477. package/dist/types/components/le-scroll-progress/le-scroll-progress.d.ts +0 -40
  478. package/dist/types/components/le-segmented-control/le-segmented-control.d.ts +0 -82
  479. package/dist/types/components/le-select/le-select.d.ts +0 -125
  480. package/dist/types/components/le-side-panel/le-side-panel.d.ts +0 -102
  481. package/dist/types/components/le-side-panel-toggle/le-side-panel-toggle.d.ts +0 -48
  482. package/dist/types/components/le-slot/le-slot.d.ts +0 -149
  483. package/dist/types/components/le-stack/le-stack.d.ts +0 -73
  484. package/dist/types/components/le-string-input/le-string-input.d.ts +0 -91
  485. package/dist/types/components/le-tab/le-tab.d.ts +0 -116
  486. package/dist/types/components/le-tab-bar/le-tab-bar.d.ts +0 -88
  487. package/dist/types/components/le-tab-panel/le-tab-panel.d.ts +0 -75
  488. package/dist/types/components/le-tabs/le-tabs.d.ts +0 -108
  489. package/dist/types/components/le-tag/le-tag.d.ts +0 -78
  490. package/dist/types/components/le-text/le-text.d.ts +0 -141
  491. package/dist/types/components/le-turntable/le-turntable.d.ts +0 -55
  492. package/dist/types/components.d.ts +0 -5800
  493. package/dist/types/global/app.d.ts +0 -96
  494. package/dist/types/index.d.ts +0 -16
  495. package/dist/types/stencil-public-runtime.d.ts +0 -1799
  496. package/dist/types/types/blocks.d.ts +0 -136
  497. package/dist/types/types/options.d.ts +0 -143
  498. package/dist/types/utils/utils.d.ts +0 -54
  499. package/loader/cdn.js +0 -1
  500. package/loader/index.cjs.js +0 -1
  501. package/loader/index.d.ts +0 -24
  502. package/loader/index.es2017.js +0 -1
  503. package/loader/index.js +0 -2
@@ -1,297 +0,0 @@
1
- 'use strict';
2
-
3
- var index = require('./index-BzadfLTc.js');
4
- var utils = require('./utils-Dxx9WhWK.js');
5
-
6
- 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}`;
7
-
8
- const LeTabs = class {
9
- constructor(hostRef) {
10
- index.registerInstance(this, hostRef);
11
- this.leTabChange = index.createEvent(this, "leTabChange");
12
- /**
13
- * Array of tab options (programmatic mode).
14
- * If le-tab-panel children exist, they take precedence.
15
- */
16
- this.tabs = [];
17
- /**
18
- * Orientation of the tabs.
19
- * @allowedValues horizontal | vertical
20
- */
21
- this.orientation = 'horizontal';
22
- /**
23
- * Position of the tabs relative to the panels.
24
- * @allowedValues start | end
25
- */
26
- this.position = 'start';
27
- /**
28
- * Tab variant style.
29
- * @allowedValues underlined | solid | pills | enclosed | icon-only
30
- */
31
- this.variant = 'underlined';
32
- /**
33
- * Whether tabs should stretch to fill available width.
34
- */
35
- this.fullWidth = false;
36
- /**
37
- * Size of the tabs.
38
- * @allowedValues sm | md | lg
39
- */
40
- this.size = 'medium';
41
- /**
42
- * Wrap the tabs if they exceed container width.
43
- */
44
- this.wrap = false;
45
- /**
46
- * Scroll behavior for overflowing tabs.
47
- * @allowedValues auto | hidden | visible | scroll
48
- */
49
- this.overflow = 'auto';
50
- /**
51
- * Internal tab configurations (built from children or tabs prop)
52
- */
53
- this.tabConfigs = [];
54
- /**
55
- * Internal state for focused tab index (for keyboard navigation)
56
- */
57
- this.focusedIndex = 0;
58
- /**
59
- * Whether we're using declarative mode (le-tab-panel children)
60
- */
61
- this.isDeclarativeMode = false;
62
- this.handleTabClick = (config) => {
63
- this.selectTab(config);
64
- };
65
- this.handleKeyDown = (event) => {
66
- const { tabConfigs, orientation } = this;
67
- const isHorizontal = orientation === 'horizontal';
68
- let newIndex = this.focusedIndex;
69
- switch (event.key) {
70
- case 'ArrowLeft':
71
- if (isHorizontal) {
72
- event.preventDefault();
73
- newIndex = this.findNextEnabledTab(-1);
74
- }
75
- break;
76
- case 'ArrowRight':
77
- if (isHorizontal) {
78
- event.preventDefault();
79
- newIndex = this.findNextEnabledTab(1);
80
- }
81
- break;
82
- case 'ArrowUp':
83
- if (!isHorizontal) {
84
- event.preventDefault();
85
- newIndex = this.findNextEnabledTab(-1);
86
- }
87
- break;
88
- case 'ArrowDown':
89
- if (!isHorizontal) {
90
- event.preventDefault();
91
- newIndex = this.findNextEnabledTab(1);
92
- }
93
- break;
94
- case 'Home':
95
- event.preventDefault();
96
- newIndex = this.findFirstEnabledTab();
97
- break;
98
- case 'End':
99
- event.preventDefault();
100
- newIndex = this.findLastEnabledTab();
101
- break;
102
- case 'Enter':
103
- case ' ':
104
- event.preventDefault();
105
- if (tabConfigs[this.focusedIndex]) {
106
- this.selectTab(tabConfigs[this.focusedIndex]);
107
- }
108
- return;
109
- default:
110
- return;
111
- }
112
- if (newIndex !== this.focusedIndex) {
113
- this.focusedIndex = newIndex;
114
- this.focusTab(newIndex);
115
- // Auto-select on focus (recommended for tabs)
116
- if (tabConfigs[newIndex]) {
117
- this.selectTab(tabConfigs[newIndex]);
118
- }
119
- }
120
- };
121
- }
122
- selectedChanged(newValue) {
123
- const index = this.tabConfigs.findIndex(t => t.value === newValue);
124
- if (index >= 0) {
125
- this.focusedIndex = index;
126
- }
127
- this.updatePanelStates();
128
- }
129
- tabsChanged() {
130
- if (!this.isDeclarativeMode) {
131
- this.buildTabConfigs();
132
- }
133
- }
134
- handleSlotChange() {
135
- this.buildTabConfigs();
136
- }
137
- componentWillLoad() {
138
- this.buildTabConfigs();
139
- }
140
- connectedCallback() {
141
- // Watch for dynamic changes to children
142
- this.mutationObserver = new MutationObserver(() => {
143
- this.buildTabConfigs();
144
- });
145
- this.mutationObserver.observe(this.el, {
146
- attributes: true,
147
- childList: true,
148
- subtree: true,
149
- });
150
- }
151
- disconnectedCallback() {
152
- this.mutationObserver?.disconnect();
153
- }
154
- async buildTabConfigs() {
155
- // Check for le-tab-panel children
156
- const panels = Array.from(this.el.querySelectorAll(':scope > le-tab-panel'));
157
- if (panels.length > 0) {
158
- // Declarative mode - build from children
159
- this.isDeclarativeMode = true;
160
- const configs = [];
161
- for (const panel of panels) {
162
- const config = await panel.getTabConfig();
163
- configs.push({ ...config, panel });
164
- }
165
- this.tabConfigs = configs;
166
- }
167
- else if (this.tabs.length > 0) {
168
- // Programmatic mode - use tabs prop
169
- this.isDeclarativeMode = false;
170
- this.tabConfigs = this.tabs.map(tab => ({
171
- label: tab.label,
172
- value: (tab.value !== undefined ? tab.value : tab.label),
173
- iconStart: tab.iconStart,
174
- iconEnd: tab.iconEnd,
175
- disabled: tab.disabled ?? false,
176
- }));
177
- }
178
- else {
179
- this.tabConfigs = [];
180
- }
181
- // Set default selected
182
- if (this.selected === undefined && this.tabConfigs.length > 0) {
183
- const firstEnabled = this.tabConfigs.find(t => !t.disabled);
184
- if (firstEnabled) {
185
- this.selected = firstEnabled.value;
186
- }
187
- }
188
- // Initialize focused index
189
- if (this.selected !== undefined) {
190
- const index = this.tabConfigs.findIndex(t => t.value === this.selected);
191
- if (index >= 0) {
192
- this.focusedIndex = index;
193
- }
194
- }
195
- // Update panel active states
196
- this.updatePanelStates();
197
- }
198
- async updatePanelStates() {
199
- if (!this.isDeclarativeMode)
200
- return;
201
- for (const config of this.tabConfigs) {
202
- if (config.panel) {
203
- const isActive = config.value === this.selected;
204
- await config.panel.setActive(isActive);
205
- }
206
- }
207
- }
208
- selectTab(config) {
209
- if (config.disabled)
210
- return;
211
- this.selected = config.value;
212
- this.leTabChange.emit({
213
- value: config.value,
214
- option: {
215
- label: config.label,
216
- value: config.value,
217
- iconStart: config.iconStart,
218
- iconEnd: config.iconEnd,
219
- disabled: config.disabled,
220
- },
221
- });
222
- }
223
- findNextEnabledTab(direction) {
224
- const { tabConfigs } = this;
225
- let index = this.focusedIndex;
226
- const length = tabConfigs.length;
227
- for (let i = 0; i < length; i++) {
228
- index = (index + direction + length) % length;
229
- if (!tabConfigs[index].disabled) {
230
- return index;
231
- }
232
- }
233
- return this.focusedIndex;
234
- }
235
- findFirstEnabledTab() {
236
- return this.tabConfigs.findIndex(t => !t.disabled);
237
- }
238
- findLastEnabledTab() {
239
- for (let i = this.tabConfigs.length - 1; i >= 0; i--) {
240
- if (!this.tabConfigs[i].disabled)
241
- return i;
242
- }
243
- return 0;
244
- }
245
- focusTab(index) {
246
- const tablist = this.el.shadowRoot?.querySelector('[role="tablist"]');
247
- const tab = tablist?.querySelectorAll('[role="tab"]')[index];
248
- tab?.focus();
249
- }
250
- render() {
251
- const { tabConfigs, selected, orientation, variant, fullWidth, size, isDeclarativeMode } = this;
252
- const classes = {
253
- 'le-tabs': true,
254
- [`orientation-${orientation}`]: true,
255
- [`position-${this.position}`]: true,
256
- [`variant-${variant}`]: true,
257
- [`size-${size}`]: true,
258
- 'full-width': fullWidth,
259
- };
260
- const tabPosition = this.orientation === 'vertical'
261
- ? this.position
262
- : this.position === 'start'
263
- ? 'top'
264
- : 'bottom';
265
- return (index.h("le-component", { key: '0240e0ae8c8b2513e80e8a032101df47a2041e3d', component: "le-tabs", hostClass: utils.classnames(classes) }, index.h("div", { key: 'b063db57a29d4c212ed81a738c41d7e395f5618c', class: classes }, index.h("div", { key: '01ba40aac8cb13357c668d82daf7c34f7fb104e6', class: {
266
- 'tablist': true,
267
- 'wrap-tabs': this.wrap,
268
- [`overflow-${this.overflow}`]: true,
269
- }, role: "tablist", "aria-orientation": orientation, part: "tablist", onKeyDown: this.handleKeyDown, tabIndex: 0 }, tabConfigs.map(config => {
270
- const isSelected = config.value === selected;
271
- const tabId = `tab-${config.value}`;
272
- const panelId = `panel-${config.value}`;
273
- return (index.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 }, index.h("span", { class: "tab-label" }, config.label)));
274
- })), index.h("div", { key: 'b1e16928f27f5083e94674e80b0ad397eb3e8fec', class: "panels", part: "panels" }, isDeclarativeMode ? (
275
- // Declarative mode - render slot for le-tab-panel children
276
- index.h("le-slot", { name: "", description: "Tab panels", type: "slot", allowedComponents: "le-tab-panel" }, index.h("slot", null))) : (
277
- // Programmatic mode - render named slots
278
- tabConfigs.map(config => {
279
- const isSelected = config.value === selected;
280
- const tabId = `tab-${config.value}`;
281
- const panelId = `panel-${config.value}`;
282
- return (index.h("div", { key: config.value, id: panelId, class: {
283
- 'panel': true,
284
- 'panel-active': isSelected,
285
- }, role: "tabpanel", part: "panel", "aria-labelledby": tabId, tabIndex: 0, hidden: !isSelected }, index.h("slot", { name: `panel-${config.value}` })));
286
- }))))));
287
- }
288
- get el() { return index.getElement(this); }
289
- static get watchers() { return {
290
- "selected": ["selectedChanged"],
291
- "tabs": ["tabsChanged"]
292
- }; }
293
- };
294
- LeTabs.style = leTabsCss();
295
-
296
- exports.le_tabs = LeTabs;
297
- //# sourceMappingURL=le-tabs.entry.cjs.js.map
@@ -1,51 +0,0 @@
1
- 'use strict';
2
-
3
- var index = require('./index-BzadfLTc.js');
4
-
5
- const leTagCss = () => `:host{display:inline-flex;--le-tag-font-size:var(--le-font-size-sm);--le-tag-font-weight:var(--le-font-weight-medium);--le-tag-color:var(--le-color-text);--le-tag-bg:var(--le-color-surface-alt);--le-tag-dismiss-size:1.75em}:host([disabled]){opacity:0.5;pointer-events:none}.tag{display:inline-flex;align-items:center;gap:var(--le-tag-gap, 0.375rem);padding:var(--le-tag-padding-y, 0.25rem) var(--le-tag-padding-x, 0.625rem);font-size:var(--le-tag-font-size);font-weight:var(--le-tag-font-weight);line-height:1.4;color:var(--le-tag-color, var(--le-color-text, #1f2937));background:var(--le-tag-bg, var(--le-color-surface-alt, #f3f4f6));border:1px solid var(--le-tag-border-color, transparent);border-radius:var(--le-tag-border-radius, 9999px);white-space:nowrap;user-select:none}:host([size='small']) .tag{--le-tag-font-size:0.75rem;--le-tag-padding-x:0.5rem;--le-tag-padding-y:0.125rem;--le-tag-gap:0.25rem;--le-tag-dismiss-size:1.25em}:host([size='large']) .tag{--le-tag-font-size:1rem;--le-tag-padding-x:0.875rem;--le-tag-padding-y:0.375rem;--le-tag-gap:0.5rem;--le-tag-dismiss-size:2em}:host([variant='primary']) .tag{--le-tag-bg:var(--le-color-primary, #dbeafe);--le-tag-color:var(--le-color-primary-contrast, #1e40af)}:host([variant='success']) .tag{--le-tag-bg:var(--le-color-success, #dcfce7);--le-tag-color:var(--le-color-success-contrast, #166534)}:host([variant='warning']) .tag{--le-tag-bg:var(--le-color-warning-light, #fef3c7);--le-tag-color:var(--le-color-warning-contrast, #92400e)}:host([variant='danger']) .tag{--le-tag-bg:var(--le-color-danger, #fee2e2);--le-tag-color:var(--le-color-danger-contrast, #991b1b)}.tag-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tag-icon img{width:1em;height:1em;object-fit:contain}.tag-label{display:inline-block}.tag-dismiss{display:inline-flex;align-items:center;justify-content:center;width:var(--le-tag-dismiss-size);height:var(--le-tag-dismiss-size);padding:0;margin-block:calc(var(--le-tag-dismiss-size) * -1);margin-right:calc(var(--le-tag-dismiss-size) / 3 * -1);border:none;background:transparent;color:currentColor;opacity:0.6;cursor:pointer;border-radius:50%;transition:opacity 0.15s ease, background-color 0.15s ease}.tag-dismiss:hover{opacity:1;background:rgba(0, 0, 0, 0.1)}.tag-dismiss:focus-visible{outline:2px solid var(--le-color-primary, #3b82f6);outline-offset:1px}.tag-dismiss svg{width:0.75em;height:0.75em}.tag-dismiss:disabled{cursor:not-allowed}`;
6
-
7
- const LeTag = class {
8
- constructor(hostRef) {
9
- index.registerInstance(this, hostRef);
10
- this.leDismiss = index.createEvent(this, "leDismiss");
11
- /**
12
- * Whether the tag can be dismissed (shows close button).
13
- */
14
- this.dismissible = false;
15
- /**
16
- * Whether the tag is disabled.
17
- */
18
- this.disabled = false;
19
- /**
20
- * The size of the tag.
21
- */
22
- this.size = 'medium';
23
- /**
24
- * The visual variant of the tag.
25
- */
26
- this.variant = 'default';
27
- this.handleDismiss = (e) => {
28
- e.stopPropagation();
29
- if (!this.disabled) {
30
- this.leDismiss.emit();
31
- }
32
- };
33
- }
34
- renderIcon() {
35
- if (!this.icon)
36
- return null;
37
- // Check if it's a URL (starts with http, https, or /)
38
- if (this.icon.startsWith('http') || this.icon.startsWith('/')) {
39
- return index.h("img", { class: "tag-icon", src: this.icon, alt: "" });
40
- }
41
- // Otherwise render as text (emoji or icon font)
42
- return index.h("span", { class: "tag-icon" }, this.icon);
43
- }
44
- render() {
45
- return (index.h("le-component", { key: '6903620dec3042a396c4e39ed378f59e4889fb5f', component: "le-tag" }, index.h("span", { key: '23a31349e50aeb8a38bfdf22e6151562eaa16a6e', class: "tag" }, this.renderIcon(), index.h("span", { key: '8505dd5c9ed47baf702d947bf687875dd7c8283e', class: "tag-label" }, index.h("le-slot", { key: '1f7b44714f1f1b4f1a1a5af6925b15d6026cc7e4', name: "", tag: "span", type: "text" }, index.h("slot", { key: '7722a7f387284cbc3c8ef38deeff69c7a02282a8' }, this.label))), this.dismissible && (index.h("button", { key: 'ae937d67c269ef0ff504926623ed95061c750232', type: "button", class: "tag-dismiss", onClick: this.handleDismiss, disabled: this.disabled, "aria-label": "Remove" }, index.h("svg", { key: '9cf11ec361d62de7b6ef524c40edad13c1da9c06', viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, index.h("path", { key: 'e919bccb3fa4679f7e808960195d670685f1e0df', d: "M4 4l8 8M12 4l-8 8" })))))));
46
- }
47
- };
48
- LeTag.style = leTagCss();
49
-
50
- exports.le_tag = LeTag;
51
- //# sourceMappingURL=le-tag.entry.cjs.js.map
@@ -1,318 +0,0 @@
1
- 'use strict';
2
-
3
- var index = require('./index-BzadfLTc.js');
4
- var utils = require('./utils-Dxx9WhWK.js');
5
-
6
- const leTextCss = () => `:host{display:block}:host([hidden]){display:none}.le-text{margin:0;color:var(--le-text-color, var(--le-color-text));font-family:var(--le-font-family);line-height:var(--le-text-line-height, 1.5)}.variant-p{font-size:var(--le-font-size-base, 1rem);font-weight:var(--le-font-weight-normal, 400);color:var(--le-color-text)}.variant-h1{font-size:var(--le-font-size-4xl, 2.5rem);font-weight:var(--le-font-weight-bold, 700);line-height:1.2;color:var(--le-color-text);letter-spacing:-0.02em}.variant-h2{font-size:var(--le-font-size-3xl, 2rem);font-weight:var(--le-font-weight-bold, 700);line-height:1.25;color:var(--le-color-text);letter-spacing:-0.01em}.variant-h3{font-size:var(--le-font-size-2xl, 1.5rem);font-weight:var(--le-font-weight-semibold, 600);line-height:1.3;color:var(--le-color-text)}.variant-h4{font-size:var(--le-font-size-xl, 1.25rem);font-weight:var(--le-font-weight-semibold, 600);line-height:1.35;color:var(--le-color-text)}.variant-h5{font-size:var(--le-font-size-lg, 1.125rem);font-weight:var(--le-font-weight-medium, 500);line-height:1.4;color:var(--le-color-text)}.variant-h6{font-size:var(--le-font-size-base, 1rem);font-weight:var(--le-font-weight-medium, 500);line-height:1.45;color:var(--le-color-text);text-transform:uppercase;letter-spacing:0.05em}.variant-code{font-family:var(--le-font-family-mono, 'SF Mono', 'Fira Code', 'Consolas', monospace);font-size:var(--le-font-size-sm, 0.875rem);background:var(--le-color-surface-alt, #f5f5f5);padding:var(--le-space-md);border-radius:var(--le-radius-md);overflow-x:auto;white-space:pre-wrap;color:var(--le-color-text)}.variant-quote{font-size:var(--le-font-size-lg, 1.125rem);font-style:italic;color:var(--le-color-text-secondary);border-left:4px solid var(--le-color-primary);padding-left:var(--le-space-lg);margin-left:0;margin-right:0}.variant-label{font-size:var(--le-font-size-sm, 0.875rem);font-weight:var(--le-font-weight-medium, 500);color:var(--le-color-text-secondary);text-transform:uppercase;letter-spacing:0.05em}.variant-small{font-size:var(--le-font-size-sm, 0.875rem);color:var(--le-color-text-secondary)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.truncate.max-lines-2,.truncate.max-lines-3,.truncate.max-lines-4,.truncate.max-lines-5{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical}.truncate.max-lines-2{-webkit-line-clamp:2;line-clamp:2}.truncate.max-lines-3{-webkit-line-clamp:3;line-clamp:3}.truncate.max-lines-4{-webkit-line-clamp:4;line-clamp:4}.truncate.max-lines-5{-webkit-line-clamp:5;line-clamp:5}:host([align="center"]) .le-text{text-align:center}:host([align="right"]) .le-text{text-align:right}:host([align="justify"]) .le-text{text-align:justify}.le-text a{color:var(--le-color-primary);text-decoration:underline}.le-text a:hover{color:var(--le-color-primary-dark)}.le-text strong,.le-text b{font-weight:var(--le-font-weight-bold, 700)}.le-text em,.le-text i{font-style:italic}.le-text u{text-decoration:underline}.le-text s,.le-text strike{text-decoration:line-through}`;
7
-
8
- const LeText = class {
9
- constructor(hostRef) {
10
- index.registerInstance(this, hostRef);
11
- /**
12
- * The semantic variant/type of text element
13
- * @allowedValues p | h1 | h2 | h3 | h4 | h5 | h6 | code | quote | label | small
14
- */
15
- this.variant = 'p';
16
- /**
17
- * Text alignment
18
- * @allowedValues left | center | right | justify
19
- */
20
- this.align = 'left';
21
- /**
22
- * Whether the text should truncate with ellipsis
23
- */
24
- this.truncate = false;
25
- /**
26
- * Internal state to track admin mode
27
- */
28
- this.adminMode = false;
29
- /**
30
- * The HTML content being edited
31
- */
32
- this.content = '';
33
- /**
34
- * Whether the editor is focused (shows toolbar)
35
- */
36
- this.isFocused = false;
37
- /**
38
- * Current selection state for toolbar button highlighting
39
- */
40
- this.selectionState = {
41
- isBold: false,
42
- isItalic: false,
43
- isUnderline: false,
44
- isStrikethrough: false,
45
- isLink: false,
46
- blockType: 'p',
47
- };
48
- /**
49
- * Handle input in the contenteditable
50
- */
51
- this.handleInput = () => {
52
- if (this.editorRef) {
53
- this.content = this.editorRef.innerHTML;
54
- this.updateSelectionState();
55
- }
56
- };
57
- /**
58
- * Handle focus on the editor
59
- */
60
- this.handleFocus = () => {
61
- this.isFocused = true;
62
- this.updateSelectionState();
63
- };
64
- /**
65
- * Handle blur on the editor
66
- */
67
- this.handleBlur = (e) => {
68
- // Check if focus moved to toolbar
69
- const relatedTarget = e.relatedTarget;
70
- const toolbar = this.el.shadowRoot?.querySelector('.le-text-toolbar');
71
- if (toolbar?.contains(relatedTarget)) {
72
- // Focus moved to toolbar, keep it open
73
- return;
74
- }
75
- // Small delay to allow toolbar clicks to register
76
- setTimeout(() => {
77
- if (!this.el.shadowRoot?.activeElement) {
78
- this.isFocused = false;
79
- this.syncContentToSlot();
80
- }
81
- }, 150);
82
- };
83
- /**
84
- * Handle selection change to update toolbar state
85
- */
86
- this.handleSelectionChange = () => {
87
- this.updateSelectionState();
88
- };
89
- /**
90
- * Toggle bold formatting
91
- */
92
- this.toggleBold = (e) => {
93
- e.preventDefault();
94
- this.execCommand('bold');
95
- };
96
- /**
97
- * Toggle italic formatting
98
- */
99
- this.toggleItalic = (e) => {
100
- e.preventDefault();
101
- this.execCommand('italic');
102
- };
103
- /**
104
- * Toggle underline formatting
105
- */
106
- this.toggleUnderline = (e) => {
107
- e.preventDefault();
108
- this.execCommand('underline');
109
- };
110
- /**
111
- * Toggle strikethrough formatting
112
- */
113
- this.toggleStrikethrough = (e) => {
114
- e.preventDefault();
115
- this.execCommand('strikeThrough');
116
- };
117
- /**
118
- * Add or edit a link
119
- */
120
- this.toggleLink = (e) => {
121
- e.preventDefault();
122
- if (this.selectionState.isLink) {
123
- // Remove link
124
- this.execCommand('unlink');
125
- }
126
- else {
127
- // Add link
128
- const url = prompt('Enter URL:', 'https://');
129
- if (url) {
130
- this.execCommand('createLink', url);
131
- }
132
- }
133
- };
134
- /**
135
- * Change the block type/variant
136
- */
137
- this.changeVariant = (e) => {
138
- const select = e.target;
139
- this.variant = select.value;
140
- };
141
- }
142
- connectedCallback() {
143
- this.disconnectModeObserver = utils.observeModeChanges(this.el, mode => {
144
- const wasAdmin = this.adminMode;
145
- this.adminMode = mode === 'admin';
146
- if (this.adminMode && !wasAdmin) {
147
- // Entering admin mode - read content from slot
148
- requestAnimationFrame(() => this.readSlottedContent());
149
- }
150
- else if (!this.adminMode && wasAdmin) {
151
- // Leaving admin mode - sync content back to slot
152
- this.syncContentToSlot();
153
- }
154
- });
155
- }
156
- disconnectedCallback() {
157
- this.disconnectModeObserver?.();
158
- }
159
- onVariantChange() {
160
- // When variant changes in admin mode, update the content wrapper
161
- if (this.adminMode && this.editorRef) {
162
- this.syncContentToSlot();
163
- }
164
- }
165
- /**
166
- * Read content from slotted elements
167
- */
168
- readSlottedContent() {
169
- if (!this.slotRef)
170
- return;
171
- const assignedNodes = this.slotRef.assignedNodes({ flatten: true });
172
- // Collect all content from assigned nodes
173
- let html = '';
174
- assignedNodes.forEach(node => {
175
- if (node.nodeType === Node.TEXT_NODE) {
176
- html += node.textContent;
177
- }
178
- else if (node.nodeType === Node.ELEMENT_NODE) {
179
- html += node.innerHTML || node.textContent;
180
- }
181
- });
182
- this.content = html.trim();
183
- }
184
- /**
185
- * Sync edited content back to the slot
186
- */
187
- syncContentToSlot() {
188
- if (!this.editorRef)
189
- return;
190
- const newContent = this.editorRef.innerHTML;
191
- // Update the light DOM content
192
- // We need to update the actual slotted content
193
- const slot = this.slotRef;
194
- if (slot) {
195
- const assignedNodes = slot.assignedNodes({ flatten: true });
196
- if (assignedNodes.length > 0) {
197
- const firstNode = assignedNodes[0];
198
- if (firstNode.nodeType === Node.ELEMENT_NODE) {
199
- firstNode.innerHTML = newContent;
200
- }
201
- else if (firstNode.nodeType === Node.TEXT_NODE) {
202
- // Replace text node with the new content
203
- const parent = firstNode.parentNode;
204
- if (parent) {
205
- // Create a temporary element to parse HTML
206
- const temp = document.createElement('span');
207
- temp.innerHTML = newContent;
208
- // Replace the text node
209
- parent.replaceChild(temp, firstNode);
210
- // Unwrap the span if it only contains text
211
- if (temp.childNodes.length === 1 && temp.firstChild?.nodeType === Node.TEXT_NODE) {
212
- parent.replaceChild(temp.firstChild, temp);
213
- }
214
- }
215
- }
216
- }
217
- else {
218
- // No assigned nodes, set innerHTML on the host's light DOM
219
- this.el.innerHTML = newContent;
220
- }
221
- }
222
- }
223
- /**
224
- * Update the selection state for toolbar highlighting
225
- */
226
- updateSelectionState() {
227
- const selection = window.getSelection();
228
- if (!selection || selection.rangeCount === 0)
229
- return;
230
- this.selectionState = {
231
- isBold: document.queryCommandState('bold'),
232
- isItalic: document.queryCommandState('italic'),
233
- isUnderline: document.queryCommandState('underline'),
234
- isStrikethrough: document.queryCommandState('strikeThrough'),
235
- isLink: this.isSelectionInLink(selection),
236
- blockType: this.variant,
237
- };
238
- }
239
- /**
240
- * Check if current selection is within a link
241
- */
242
- isSelectionInLink(selection) {
243
- if (!selection.anchorNode)
244
- return false;
245
- let node = selection.anchorNode;
246
- while (node && node !== this.editorRef) {
247
- if (node.nodeName === 'A')
248
- return true;
249
- node = node.parentNode;
250
- }
251
- return false;
252
- }
253
- /**
254
- * Execute a formatting command
255
- */
256
- execCommand(command, value) {
257
- // Focus the editor first
258
- this.editorRef?.focus();
259
- // Execute the command
260
- document.execCommand(command, false, value);
261
- // Update state
262
- this.handleInput();
263
- this.updateSelectionState();
264
- }
265
- /**
266
- * Render the formatting toolbar
267
- */
268
- renderToolbar() {
269
- return (index.h("div", { class: "le-text-toolbar" }, index.h("select", { class: "le-text-toolbar-select", onChange: this.changeVariant, onMouseDown: e => e.preventDefault() }, index.h("option", { value: "p", selected: this.variant === 'p' }, "Paragraph"), index.h("option", { value: "h1", selected: this.variant === 'h1' }, "Heading 1"), index.h("option", { value: "h2", selected: this.variant === 'h2' }, "Heading 2"), index.h("option", { value: "h3", selected: this.variant === 'h3' }, "Heading 3"), index.h("option", { value: "h4", selected: this.variant === 'h4' }, "Heading 4"), index.h("option", { value: "h5", selected: this.variant === 'h5' }, "Heading 5"), index.h("option", { value: "h6", selected: this.variant === 'h6' }, "Heading 6"), index.h("option", { value: "quote", selected: this.variant === 'quote' }, "Quote"), index.h("option", { value: "code", selected: this.variant === 'code' }, "Code"), index.h("option", { value: "label", selected: this.variant === 'label' }, "Label"), index.h("option", { value: "small", selected: this.variant === 'small' }, "Small")), index.h("div", { class: "le-text-toolbar-divider" }), index.h("button", { type: "button", class: { 'le-text-toolbar-btn': true, 'active': this.selectionState.isBold }, onMouseDown: this.toggleBold, title: "Bold (Ctrl+B)" }, index.h("strong", null, "B")), index.h("button", { type: "button", class: { 'le-text-toolbar-btn': true, 'active': this.selectionState.isItalic }, onMouseDown: this.toggleItalic, title: "Italic (Ctrl+I)" }, index.h("em", null, "I")), index.h("button", { type: "button", class: { 'le-text-toolbar-btn': true, 'active': this.selectionState.isUnderline }, onMouseDown: this.toggleUnderline, title: "Underline (Ctrl+U)" }, index.h("span", { style: { textDecoration: 'underline' } }, "U")), index.h("button", { type: "button", class: { 'le-text-toolbar-btn': true, 'active': this.selectionState.isStrikethrough }, onMouseDown: this.toggleStrikethrough, title: "Strikethrough" }, index.h("span", { style: { textDecoration: 'line-through' } }, "S")), index.h("div", { class: "le-text-toolbar-divider" }), index.h("button", { type: "button", class: { 'le-text-toolbar-btn': true, 'active': this.selectionState.isLink }, onMouseDown: this.toggleLink, title: this.selectionState.isLink ? 'Remove link' : 'Add link' }, "\uD83D\uDD17")));
270
- }
271
- /**
272
- * Get the semantic tag for the current variant
273
- */
274
- getTag() {
275
- switch (this.variant) {
276
- case 'quote':
277
- return 'blockquote';
278
- case 'code':
279
- return 'pre';
280
- case 'label':
281
- return 'label';
282
- case 'small':
283
- return 'small';
284
- default:
285
- return this.variant; // h1-h6, p
286
- }
287
- }
288
- render() {
289
- const Tag = this.getTag();
290
- const textStyle = {};
291
- if (this.color) {
292
- textStyle.color = this.color;
293
- }
294
- if (this.align) {
295
- textStyle.textAlign = this.align;
296
- }
297
- const textClass = {
298
- 'le-text': true,
299
- [`variant-${this.variant}`]: true,
300
- 'truncate': this.truncate,
301
- [`max-lines-${this.maxLines}`]: this.truncate && this.maxLines,
302
- };
303
- // Admin mode - show rich text editor
304
- if (this.adminMode) {
305
- return (index.h(index.Host, { class: "admin-mode" }, index.h("le-component", { component: "le-text" }, index.h("div", { class: "le-text-editor-wrapper" }, this.isFocused && this.renderToolbar(), index.h(Tag, { class: textClass, part: "text", style: textStyle }, index.h("div", { ref: el => (this.editorRef = el), class: "le-text-editor", contentEditable: true, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyUp: this.handleSelectionChange, onMouseUp: this.handleSelectionChange, innerHTML: this.content })), index.h("div", { class: "hidden-slot" }, index.h("slot", { ref: el => (this.slotRef = el), onSlotchange: () => this.readSlottedContent() }))))));
306
- }
307
- // Default mode - render semantic element with slotted content
308
- return (index.h(index.Host, null, index.h(Tag, { class: textClass, part: "text", style: textStyle }, index.h("slot", { ref: el => (this.slotRef = el) }))));
309
- }
310
- get el() { return index.getElement(this); }
311
- static get watchers() { return {
312
- "variant": ["onVariantChange"]
313
- }; }
314
- };
315
- LeText.style = leTextCss();
316
-
317
- exports.le_text = LeText;
318
- //# sourceMappingURL=le-text.entry.cjs.js.map