le-kit 0.5.3 → 0.5.4

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 +0 -33
  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,673 +0,0 @@
1
- import { h, Host, } from "@stencil/core";
2
- import { classnames, generateId } from "../../utils/utils";
3
- /**
4
- * A flexible bar component that handles overflow gracefully.
5
- *
6
- * Items are slotted children. The bar measures which items fit on the first
7
- * row and handles overflow according to the `overflow` prop.
8
- *
9
- * @slot - Bar items (children will be measured for overflow)
10
- * @slot more - Custom "more" button content
11
- * @slot hamburger - Custom hamburger button content
12
- * @slot start-arrow - Custom left scroll arrow
13
- * @slot end-arrow - Custom right scroll arrow
14
- * @slot all-menu - Custom "show all" menu button
15
- *
16
- * @csspart container - The main bar container
17
- * @csspart item - Individual items in the bar
18
- * @csspart more-button - The "more" overflow button
19
- * @csspart hamburger-button - The hamburger menu button
20
- * @csspart arrow-start - The start (left) scroll arrow
21
- * @csspart arrow-end - The end (right) scroll arrow
22
- * @csspart all-menu-button - The "show all" menu button
23
- * @csspart popover-content - The popover content wrapper
24
- *
25
- * @cmsEditable true
26
- * @cmsCategory Layout
27
- */
28
- export class LeBar {
29
- constructor() {
30
- /**
31
- * Overflow behavior when items don't fit on one row.
32
- * - `more`: Overflow items appear in a "more" dropdown
33
- * - `scroll`: Items scroll horizontally with optional arrows
34
- * - `hamburger`: All items go into a hamburger menu if any overflow
35
- * - `wrap`: Items wrap to additional rows
36
- */
37
- this.overflow = 'more';
38
- /**
39
- * Alignment of items within the bar (maps to justify-content).
40
- */
41
- this.alignItems = 'start';
42
- /**
43
- * Show scroll arrows when overflow is "scroll".
44
- */
45
- this.arrows = false;
46
- /**
47
- * Disable the internal overflow popover.
48
- * When true, the bar still detects overflow and hides items,
49
- * but doesn't render its own popover. Use this when providing
50
- * custom overflow handling via the leBarOverflowChange event.
51
- */
52
- this.disablePopover = false;
53
- /**
54
- * Minimum number of visible items required when using "more" overflow mode.
55
- * If fewer items would be visible, the bar falls back to hamburger mode.
56
- * Only applies when overflow is "more".
57
- */
58
- this.minVisibleItems = 0;
59
- /**
60
- * Show an "all items" menu button.
61
- * - `false`: Don't show
62
- * - `true` or `'end'`: Show at end
63
- * - `'start'`: Show at start
64
- */
65
- this.showAllMenu = false;
66
- /** Whether the hamburger/more popover is open */
67
- this.popoverOpen = false;
68
- /** Whether hamburger mode is active (for hamburger overflow) */
69
- this.hamburgerActive = false;
70
- /** IDs of items that are overflowing */
71
- this.overflowingIds = new Set();
72
- /** Whether we can scroll left */
73
- this.canScrollStart = false;
74
- /** Whether we can scroll right */
75
- this.canScrollEnd = false;
76
- /** Whether the all-menu popover is open */
77
- this.allMenuOpen = false;
78
- /** Current height of the items container (for overflow handling) */
79
- this.containerHeight = null;
80
- this.instanceId = generateId('le-bar');
81
- // Map to track item elements and their IDs
82
- this.itemMap = new Map();
83
- // Prevent multiple recalculations in the same frame
84
- this.pendingRecalc = null;
85
- this.handleScroll = () => {
86
- this.updateScrollState();
87
- };
88
- this.scrollToStart = () => {
89
- if (!this.itemsContainerEl)
90
- return;
91
- const items = this.getSlottedItems();
92
- const container = this.itemsContainerEl;
93
- // Find the scroll position of the previous item
94
- const currentScroll = container.scrollLeft;
95
- let targetScroll = 0;
96
- for (let i = items.length - 1; i >= 0; i--) {
97
- const item = items[i];
98
- // Calculate item's left edge relative to container's scroll position
99
- const itemLeft = item.offsetLeft - container.offsetLeft;
100
- // If this item starts before current scroll position, scroll to it
101
- if (itemLeft < currentScroll - 1) {
102
- targetScroll = itemLeft;
103
- break;
104
- }
105
- }
106
- container.scrollTo({ left: targetScroll, behavior: 'smooth' });
107
- // Update scroll state after animation
108
- setTimeout(() => this.updateScrollState(), 300);
109
- };
110
- this.scrollToEnd = () => {
111
- if (!this.itemsContainerEl)
112
- return;
113
- const container = this.itemsContainerEl;
114
- const items = this.getSlottedItems();
115
- if (items.length === 0)
116
- return;
117
- const containerWidth = container.clientWidth;
118
- const currentScroll = container.scrollLeft;
119
- let targetScroll = container.scrollWidth - containerWidth;
120
- for (const item of items) {
121
- // Calculate item's right edge relative to container
122
- const itemLeft = item.offsetLeft - container.offsetLeft;
123
- // If this is the next item to scroll to from left to right then scroll to it
124
- if (itemLeft > currentScroll + 1) {
125
- targetScroll = itemLeft;
126
- break;
127
- }
128
- }
129
- container.scrollTo({ left: Math.max(0, targetScroll), behavior: 'smooth' });
130
- // Update scroll state after animation
131
- setTimeout(() => this.updateScrollState(), 300);
132
- };
133
- this.togglePopover = () => {
134
- this.popoverOpen = !this.popoverOpen;
135
- };
136
- this.closePopover = () => {
137
- this.popoverOpen = false;
138
- };
139
- this.toggleAllMenu = () => {
140
- this.allMenuOpen = !this.allMenuOpen;
141
- };
142
- this.closeAllMenu = () => {
143
- this.allMenuOpen = false;
144
- };
145
- this.handleItemClick = (_e, id) => {
146
- // Close popover when an item inside is clicked
147
- const originalItem = this.itemMap.get(id);
148
- if (originalItem) {
149
- // Clone the click to the original item
150
- const cloneEvent = new MouseEvent('click', {
151
- bubbles: true,
152
- cancelable: true,
153
- view: window,
154
- });
155
- originalItem.dispatchEvent(cloneEvent);
156
- }
157
- this.closePopover();
158
- this.closeAllMenu();
159
- };
160
- }
161
- handleOverflowChange() {
162
- this.resetOverflowState();
163
- this.scheduleOverflowRecalc();
164
- }
165
- handleSlotChange() {
166
- this.scheduleOverflowRecalc();
167
- }
168
- connectedCallback() {
169
- this.setupObservers();
170
- }
171
- componentDidLoad() {
172
- this.scheduleOverflowRecalc();
173
- }
174
- componentDidRender() {
175
- // Recalculate after render in case children changed
176
- this.scheduleOverflowRecalc();
177
- }
178
- disconnectedCallback() {
179
- this.resizeObserver?.disconnect();
180
- this.mutationObserver?.disconnect();
181
- }
182
- /**
183
- * Force recalculation of overflow state.
184
- */
185
- async recalculate() {
186
- this.computeOverflow();
187
- }
188
- setupObservers() {
189
- // ResizeObserver for container size changes
190
- if (typeof ResizeObserver !== 'undefined') {
191
- this.resizeObserver = new ResizeObserver(() => {
192
- this.computeOverflow();
193
- this.updateScrollState();
194
- });
195
- }
196
- // MutationObserver for child changes
197
- this.mutationObserver = new MutationObserver(() => {
198
- this.scheduleOverflowRecalc();
199
- });
200
- this.mutationObserver.observe(this.el, {
201
- childList: true,
202
- subtree: false,
203
- });
204
- }
205
- observeContainer(el) {
206
- if (!this.resizeObserver)
207
- return;
208
- this.resizeObserver.disconnect();
209
- if (el)
210
- this.resizeObserver.observe(el);
211
- }
212
- scheduleOverflowRecalc() {
213
- // Debounce recalculations to prevent infinite loops
214
- if (this.pendingRecalc !== null) {
215
- cancelAnimationFrame(this.pendingRecalc);
216
- }
217
- this.pendingRecalc = requestAnimationFrame(() => {
218
- this.pendingRecalc = null;
219
- this.computeOverflow();
220
- });
221
- }
222
- resetOverflowState() {
223
- this.hamburgerActive = false;
224
- this.overflowingIds = new Set();
225
- this.containerHeight = null;
226
- this.popoverOpen = false;
227
- }
228
- getSlottedItems() {
229
- // Get direct children from the light DOM (excluding named slot elements)
230
- return Array.from(this.el.children).filter((el) => el instanceof HTMLElement && !el.hasAttribute('slot'));
231
- }
232
- getItemId(el, index) {
233
- return el.id || el.dataset.barId || `${this.instanceId}-item-${index}`;
234
- }
235
- computeOverflow() {
236
- if (this.overflow === 'wrap' || this.overflow === 'scroll') {
237
- // No overflow handling needed for wrap/scroll modes
238
- this.resetOverflowState();
239
- this.updateScrollState();
240
- return;
241
- }
242
- const container = this.itemsContainerEl;
243
- if (!container)
244
- return;
245
- const items = this.getSlottedItems();
246
- if (items.length === 0) {
247
- this.resetOverflowState();
248
- return;
249
- }
250
- // Force a layout recalc
251
- container.offsetHeight;
252
- // Build item map
253
- this.itemMap.clear();
254
- items.forEach((item, index) => {
255
- const id = this.getItemId(item, index);
256
- this.itemMap.set(id, item);
257
- });
258
- // Get the position of items to determine which are on the first row
259
- const itemRects = items.map((item, index) => ({
260
- item,
261
- id: this.getItemId(item, index),
262
- rect: item.getBoundingClientRect(),
263
- }));
264
- if (itemRects.length === 0) {
265
- return;
266
- }
267
- // Find the first row's top position (accounting for vertical alignment)
268
- const containerRect = container.getBoundingClientRect();
269
- const topValues = itemRects.map(i => i.rect.top - containerRect.top);
270
- const minTop = Math.min(...topValues);
271
- // Items are on the first row if their top is close to minTop
272
- // Allow some tolerance for alignment differences
273
- const tolerance = 15;
274
- const firstRowItems = itemRects.filter(i => i.rect.top - containerRect.top <= minTop + tolerance);
275
- const overflowItems = itemRects.filter(i => i.rect.top - containerRect.top > minTop + tolerance);
276
- // Calculate the height of the first row
277
- const firstRowBottom = firstRowItems.length > 0
278
- ? Math.max(...firstRowItems.map(i => i.rect.bottom - containerRect.top))
279
- : 0;
280
- if (this.overflow === 'hamburger') {
281
- // In hamburger mode, if ANY item overflows, all go into the menu
282
- const shouldHamburger = overflowItems.length > 0;
283
- if (shouldHamburger !== this.hamburgerActive) {
284
- this.hamburgerActive = shouldHamburger;
285
- this.emitOverflowChange();
286
- }
287
- // Set height to show only first row (or hide all if hamburger is active)
288
- if (shouldHamburger && firstRowBottom > 0) {
289
- this.containerHeight = firstRowBottom;
290
- }
291
- else {
292
- this.containerHeight = null;
293
- }
294
- }
295
- else {
296
- // 'more' mode
297
- let newOverflowingIds = new Set(overflowItems.map(i => i.id));
298
- // Check if we need to make room for the "more" button
299
- if (newOverflowingIds.size > 0 && this.moreButtonEl) {
300
- const moreRect = this.moreButtonEl.getBoundingClientRect();
301
- const moreTop = moreRect.top - containerRect.top;
302
- // If "more" button is not on the first row, we need to hide one more item
303
- if (moreTop > minTop + tolerance) {
304
- // Find the last visible item and move it to overflow
305
- const lastVisible = firstRowItems[firstRowItems.length - 1];
306
- if (lastVisible) {
307
- newOverflowingIds.add(lastVisible.id);
308
- }
309
- }
310
- }
311
- // Check if we should fallback to hamburger mode
312
- // This happens when minVisibleItems is set and fewer items would be visible
313
- const visibleCount = items.length - newOverflowingIds.size;
314
- const shouldFallbackToHamburger = this.minVisibleItems > 0 &&
315
- newOverflowingIds.size > 0 &&
316
- visibleCount < this.minVisibleItems;
317
- if (shouldFallbackToHamburger) {
318
- // Switch to hamburger mode - all items go into the menu
319
- if (!this.hamburgerActive) {
320
- this.hamburgerActive = true;
321
- this.overflowingIds = new Set();
322
- this.emitOverflowChange();
323
- }
324
- // Set height to show only first row
325
- if (firstRowBottom > 0) {
326
- this.containerHeight = firstRowBottom;
327
- }
328
- else {
329
- this.containerHeight = null;
330
- }
331
- return;
332
- }
333
- // Not falling back to hamburger - ensure hamburgerActive is false
334
- if (this.hamburgerActive) {
335
- this.hamburgerActive = false;
336
- }
337
- // Check if overflow state changed
338
- const hasChanged = (newOverflowingIds?.size ?? 0) !== (this.overflowingIds?.size ?? 0) ||
339
- ![...newOverflowingIds].every(id => this.overflowingIds?.has(id));
340
- if (hasChanged) {
341
- this.overflowingIds = newOverflowingIds;
342
- this.emitOverflowChange();
343
- }
344
- // Set container height to show only first row
345
- if ((newOverflowingIds?.size ?? 0) > 0 && firstRowBottom > 0) {
346
- this.containerHeight = firstRowBottom;
347
- }
348
- else {
349
- this.containerHeight = null;
350
- }
351
- }
352
- }
353
- emitOverflowChange() {
354
- this.leBarOverflowChange.emit({
355
- overflowingIds: [...(this.overflowingIds ?? [])],
356
- hamburgerActive: this.hamburgerActive,
357
- });
358
- }
359
- updateScrollState() {
360
- if (this.overflow !== 'scroll' || !this.itemsContainerEl) {
361
- this.canScrollStart = false;
362
- this.canScrollEnd = false;
363
- return;
364
- }
365
- const el = this.itemsContainerEl;
366
- this.canScrollStart = el.scrollLeft > 0;
367
- this.canScrollEnd = el.scrollLeft < el.scrollWidth - el.clientWidth - 1;
368
- }
369
- renderMoreButton() {
370
- const hasSlottedMore = this.el.querySelector('[slot="more"]');
371
- return (h("button", { class: "bar-more-button", part: "more-button", ref: el => (this.moreButtonEl = el), onClick: this.togglePopover, "aria-expanded": String(this.popoverOpen), "aria-haspopup": "true" }, hasSlottedMore ? h("slot", { name: "more" }) : h("le-icon", { name: "ellipsis-horizontal" })));
372
- }
373
- renderHamburgerButton() {
374
- const hasSlottedHamburger = this.el.querySelector('[slot="hamburger"]');
375
- return (h("button", { class: "bar-hamburger-button", part: "hamburger-button", onClick: this.togglePopover, "aria-expanded": String(this.popoverOpen), "aria-haspopup": "true" }, hasSlottedHamburger ? h("slot", { name: "hamburger" }) : h("le-icon", { name: "hamburger" })));
376
- }
377
- renderScrollArrows() {
378
- if (!this.arrows || this.overflow !== 'scroll')
379
- return null;
380
- const hasSlottedStartArrow = this.el.querySelector('[slot="start-arrow"]');
381
- const hasSlottedEndArrow = this.el.querySelector('[slot="end-arrow"]');
382
- return [
383
- h("button", { class: classnames('bar-arrow', 'bar-arrow-start', {
384
- disabled: !this.canScrollStart,
385
- }), part: "arrow-start", onClick: this.scrollToStart, disabled: !this.canScrollStart, "aria-label": "Scroll to start" }, hasSlottedStartArrow ? (h("slot", { name: "start-arrow" })) : (h("le-icon", { name: "chevron-down", class: "arrow-icon-start" }))),
386
- h("button", { class: classnames('bar-arrow', 'bar-arrow-end', {
387
- disabled: !this.canScrollEnd,
388
- }), part: "arrow-end", onClick: this.scrollToEnd, disabled: !this.canScrollEnd, "aria-label": "Scroll to end" }, hasSlottedEndArrow ? (h("slot", { name: "end-arrow" })) : (h("le-icon", { name: "chevron-down", class: "arrow-icon-end" }))),
389
- ];
390
- }
391
- renderAllMenuButton() {
392
- if (!this.showAllMenu)
393
- return null;
394
- const hasSlottedAllMenu = this.el.querySelector('[slot="all-menu"]');
395
- return (h("button", { class: "bar-all-menu-button", part: "all-menu-button", onClick: this.toggleAllMenu, "aria-expanded": String(this.allMenuOpen), "aria-haspopup": "true" }, hasSlottedAllMenu ? h("slot", { name: "all-menu" }) : h("le-icon", { name: "hamburger" })));
396
- }
397
- renderPopoverContent(itemsToShow) {
398
- return (h("div", { class: "bar-popover-content", part: "popover-content" }, itemsToShow.map(({ id, item }) => (h("div", { class: "bar-popover-item", key: id, onClick: (e) => this.handleItemClick(e, id), innerHTML: item.outerHTML })))));
399
- }
400
- renderOverflowPopover() {
401
- if (this.overflow !== 'more' && this.overflow !== 'hamburger')
402
- return null;
403
- const items = this.getSlottedItems();
404
- let itemsToShow = [];
405
- if (this.overflow === 'hamburger' && this.hamburgerActive) {
406
- // Show all items in hamburger mode
407
- itemsToShow = items.map((item, index) => ({
408
- id: this.getItemId(item, index),
409
- item,
410
- }));
411
- }
412
- else if (this.overflow === 'more' && (this.overflowingIds?.size ?? 0) > 0) {
413
- // Show only overflowing items
414
- itemsToShow = items
415
- .map((item, index) => ({
416
- id: this.getItemId(item, index),
417
- item,
418
- }))
419
- .filter(({ id }) => this.overflowingIds?.has(id));
420
- }
421
- if (itemsToShow.length === 0)
422
- return null;
423
- return (h("le-popover", { mode: "default", open: this.popoverOpen, position: "bottom", align: "end", showClose: false, closeOnClickOutside: true, closeOnEscape: true, onLePopoverClose: this.closePopover }, h("div", { slot: "trigger", class: "bar-overflow-trigger" }, this.overflow === 'hamburger' ? this.renderHamburgerButton() : this.renderMoreButton()), this.renderPopoverContent(itemsToShow)));
424
- }
425
- renderAllMenuPopover() {
426
- if (!this.showAllMenu)
427
- return null;
428
- const items = this.getSlottedItems();
429
- const itemsToShow = items.map((item, index) => ({
430
- id: this.getItemId(item, index),
431
- item,
432
- }));
433
- const position = this.showAllMenu === 'start' ? 'start' : 'end';
434
- return (h("le-popover", { mode: "default", open: this.allMenuOpen, position: "bottom", align: position, showClose: false, closeOnClickOutside: true, closeOnEscape: true, onLePopoverClose: this.closeAllMenu }, h("div", { slot: "trigger", class: "bar-all-menu-trigger" }, this.renderAllMenuButton()), this.renderPopoverContent(itemsToShow)));
435
- }
436
- render() {
437
- const showOverflowButton = !this.disablePopover &&
438
- ((this.overflow === 'more' && (this.overflowingIds?.size ?? 0) > 0) ||
439
- (this.overflow === 'hamburger' && this.hamburgerActive));
440
- const containerStyle = {};
441
- if (this.containerHeight !== null &&
442
- (this.overflow === 'more' || this.overflow === 'hamburger')) {
443
- containerStyle.height = `${this.containerHeight}px`;
444
- }
445
- const showAllMenuAtStart = this.showAllMenu === 'start';
446
- const showAllMenuAtEnd = this.showAllMenu === true || this.showAllMenu === 'end';
447
- return (h(Host, { key: '56d04e4504ed7ce1d8e78a825c71c71c074d0b62', class: classnames({
448
- 'overflow-more': this.overflow === 'more',
449
- 'overflow-scroll': this.overflow === 'scroll',
450
- 'overflow-hamburger': this.overflow === 'hamburger',
451
- 'overflow-wrap': this.overflow === 'wrap',
452
- 'hamburger-active': this.hamburgerActive,
453
- 'has-overflow': (this.overflowingIds?.size ?? 0) > 0 || this.hamburgerActive,
454
- }) }, h("div", { key: '4e7aeb4c84a9964e19012c3d05827fa8406988b0', class: classnames('bar-container', {
455
- [`align-${this.alignItems}`]: true,
456
- }), part: "container" }, this.overflow === 'scroll' && this.arrows && (h("div", { key: '2e3ae04c00e88e5055216dbc5b6d53574c450470', class: "bar-controls bar-controls-start" }, this.renderScrollArrows()?.[0])), showAllMenuAtStart && (h("div", { key: '9628c8dc2b15d9358baad63b19c75fd933eeb19a', class: "bar-controls bar-controls-start" }, this.renderAllMenuPopover())), h("div", { key: 'd1feb9603d0ff4247852aadb62cb920a5f5a1921', class: classnames('bar-items', {
457
- 'is-scrollable': this.overflow === 'scroll',
458
- 'is-wrapping': this.overflow === 'wrap',
459
- }), style: containerStyle, ref: el => {
460
- this.itemsContainerEl = el;
461
- this.observeContainer(el);
462
- }, onScroll: this.overflow === 'scroll' ? this.handleScroll : undefined }, h("slot", { key: '338698e038b9df4c7b163017ceb0675b834160e4' })), showOverflowButton && (h("div", { key: 'd619fcda1b0c28247af60899f73cc076b0517787', class: "bar-controls bar-controls-end" }, this.renderOverflowPopover())), showAllMenuAtEnd && (h("div", { key: 'fd9fef90194aabb8d48e77c8f7615daa5d7297ac', class: "bar-controls bar-controls-end" }, this.renderAllMenuPopover())), this.overflow === 'scroll' && this.arrows && (h("div", { key: 'bcffb914e2788767c3765351a3eeae771f3e115f', class: "bar-controls bar-controls-end" }, this.renderScrollArrows()?.[1])))));
463
- }
464
- static get is() { return "le-bar"; }
465
- static get encapsulation() { return "shadow"; }
466
- static get originalStyleUrls() {
467
- return {
468
- "$": ["le-bar.css"]
469
- };
470
- }
471
- static get styleUrls() {
472
- return {
473
- "$": ["le-bar.css"]
474
- };
475
- }
476
- static get properties() {
477
- return {
478
- "overflow": {
479
- "type": "string",
480
- "mutable": false,
481
- "complexType": {
482
- "original": "'more' | 'scroll' | 'hamburger' | 'wrap'",
483
- "resolved": "\"hamburger\" | \"more\" | \"scroll\" | \"wrap\"",
484
- "references": {}
485
- },
486
- "required": false,
487
- "optional": false,
488
- "docs": {
489
- "tags": [],
490
- "text": "Overflow behavior when items don't fit on one row.\n- `more`: Overflow items appear in a \"more\" dropdown\n- `scroll`: Items scroll horizontally with optional arrows\n- `hamburger`: All items go into a hamburger menu if any overflow\n- `wrap`: Items wrap to additional rows"
491
- },
492
- "getter": false,
493
- "setter": false,
494
- "reflect": true,
495
- "attribute": "overflow",
496
- "defaultValue": "'more'"
497
- },
498
- "alignItems": {
499
- "type": "string",
500
- "mutable": false,
501
- "complexType": {
502
- "original": "'start' | 'end' | 'center' | 'stretch'",
503
- "resolved": "\"center\" | \"end\" | \"start\" | \"stretch\"",
504
- "references": {}
505
- },
506
- "required": false,
507
- "optional": false,
508
- "docs": {
509
- "tags": [],
510
- "text": "Alignment of items within the bar (maps to justify-content)."
511
- },
512
- "getter": false,
513
- "setter": false,
514
- "reflect": true,
515
- "attribute": "align-items",
516
- "defaultValue": "'start'"
517
- },
518
- "arrows": {
519
- "type": "boolean",
520
- "mutable": false,
521
- "complexType": {
522
- "original": "boolean",
523
- "resolved": "boolean",
524
- "references": {}
525
- },
526
- "required": false,
527
- "optional": false,
528
- "docs": {
529
- "tags": [],
530
- "text": "Show scroll arrows when overflow is \"scroll\"."
531
- },
532
- "getter": false,
533
- "setter": false,
534
- "reflect": false,
535
- "attribute": "arrows",
536
- "defaultValue": "false"
537
- },
538
- "disablePopover": {
539
- "type": "boolean",
540
- "mutable": false,
541
- "complexType": {
542
- "original": "boolean",
543
- "resolved": "boolean",
544
- "references": {}
545
- },
546
- "required": false,
547
- "optional": false,
548
- "docs": {
549
- "tags": [],
550
- "text": "Disable the internal overflow popover.\nWhen true, the bar still detects overflow and hides items,\nbut doesn't render its own popover. Use this when providing\ncustom overflow handling via the leBarOverflowChange event."
551
- },
552
- "getter": false,
553
- "setter": false,
554
- "reflect": false,
555
- "attribute": "disable-popover",
556
- "defaultValue": "false"
557
- },
558
- "minVisibleItems": {
559
- "type": "number",
560
- "mutable": false,
561
- "complexType": {
562
- "original": "number",
563
- "resolved": "number",
564
- "references": {}
565
- },
566
- "required": false,
567
- "optional": false,
568
- "docs": {
569
- "tags": [],
570
- "text": "Minimum number of visible items required when using \"more\" overflow mode.\nIf fewer items would be visible, the bar falls back to hamburger mode.\nOnly applies when overflow is \"more\"."
571
- },
572
- "getter": false,
573
- "setter": false,
574
- "reflect": false,
575
- "attribute": "min-visible-items",
576
- "defaultValue": "0"
577
- },
578
- "showAllMenu": {
579
- "type": "any",
580
- "mutable": false,
581
- "complexType": {
582
- "original": "boolean | 'start' | 'end'",
583
- "resolved": "\"end\" | \"start\" | boolean",
584
- "references": {}
585
- },
586
- "required": false,
587
- "optional": false,
588
- "docs": {
589
- "tags": [],
590
- "text": "Show an \"all items\" menu button.\n- `false`: Don't show\n- `true` or `'end'`: Show at end\n- `'start'`: Show at start"
591
- },
592
- "getter": false,
593
- "setter": false,
594
- "reflect": false,
595
- "attribute": "show-all-menu",
596
- "defaultValue": "false"
597
- }
598
- };
599
- }
600
- static get states() {
601
- return {
602
- "popoverOpen": {},
603
- "hamburgerActive": {},
604
- "overflowingIds": {},
605
- "canScrollStart": {},
606
- "canScrollEnd": {},
607
- "allMenuOpen": {},
608
- "containerHeight": {}
609
- };
610
- }
611
- static get events() {
612
- return [{
613
- "method": "leBarOverflowChange",
614
- "name": "leBarOverflowChange",
615
- "bubbles": true,
616
- "cancelable": true,
617
- "composed": true,
618
- "docs": {
619
- "tags": [],
620
- "text": "Emitted when overflow state changes."
621
- },
622
- "complexType": {
623
- "original": "LeBarOverflowChangeDetail",
624
- "resolved": "LeBarOverflowChangeDetail",
625
- "references": {
626
- "LeBarOverflowChangeDetail": {
627
- "location": "local",
628
- "path": "/home/runner/work/le-kit/le-kit/src/components/le-bar/le-bar.tsx",
629
- "id": "src/components/le-bar/le-bar.tsx::LeBarOverflowChangeDetail"
630
- }
631
- }
632
- }
633
- }];
634
- }
635
- static get methods() {
636
- return {
637
- "recalculate": {
638
- "complexType": {
639
- "signature": "() => Promise<void>",
640
- "parameters": [],
641
- "references": {
642
- "Promise": {
643
- "location": "global",
644
- "id": "global::Promise"
645
- }
646
- },
647
- "return": "Promise<void>"
648
- },
649
- "docs": {
650
- "text": "Force recalculation of overflow state.",
651
- "tags": []
652
- }
653
- }
654
- };
655
- }
656
- static get elementRef() { return "el"; }
657
- static get watchers() {
658
- return [{
659
- "propName": "overflow",
660
- "methodName": "handleOverflowChange"
661
- }];
662
- }
663
- static get listeners() {
664
- return [{
665
- "name": "slotchange",
666
- "method": "handleSlotChange",
667
- "target": undefined,
668
- "capture": false,
669
- "passive": false
670
- }];
671
- }
672
- }
673
- //# sourceMappingURL=le-bar.js.map