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,948 +0,0 @@
1
- import { Build, h, } from "@stencil/core";
2
- function clamp(value, min, max) {
3
- return Math.min(max, Math.max(min, value));
4
- }
5
- function readCssVariablePixels(varName) {
6
- if (!Build.isBrowser) {
7
- return undefined;
8
- }
9
- const v = getComputedStyle(document.documentElement).getPropertyValue(varName).trim();
10
- if (!v) {
11
- return undefined;
12
- }
13
- const parsed = Number.parseFloat(v);
14
- return Number.isFinite(parsed) ? parsed : undefined;
15
- }
16
- function parseCollapseAtPx(value) {
17
- if (!value) {
18
- return undefined;
19
- }
20
- const trimmed = value.trim();
21
- if (!trimmed) {
22
- return undefined;
23
- }
24
- if (trimmed.startsWith('--')) {
25
- const fromVar = readCssVariablePixels(trimmed);
26
- return fromVar;
27
- }
28
- const numeric = Number.parseFloat(trimmed);
29
- return Number.isFinite(numeric) ? numeric : undefined;
30
- }
31
- export class LeSidePanel {
32
- constructor() {
33
- /** Which side the panel is attached to. */
34
- this.side = 'start';
35
- /** Behavior when in narrow mode. */
36
- this.narrowBehavior = 'overlay';
37
- /**
38
- * Panel open state for narrow mode.
39
- * - overlay: controls modal drawer visibility
40
- * - push: controls whether panel is shown (non-modal)
41
- */
42
- this.open = false;
43
- /** Panel collapsed state for wide mode (fully hidden). */
44
- this.collapsed = false;
45
- /** Default panel width in pixels. */
46
- this.panelWidth = 280;
47
- /** Minimum allowed width when resizable. */
48
- this.minPanelWidth = 220;
49
- /** Maximum allowed width when resizable. */
50
- this.maxPanelWidth = 420;
51
- /** Allows users to resize the panel by dragging its edge. */
52
- this.resizable = false;
53
- /** Show a close button inside the panel (primarily used in narrow overlay mode). */
54
- this.showCloseButton = true;
55
- /** When crossing to wide mode, automatically show the panel (collapsed=false). */
56
- this.autoShowOnWide = true;
57
- /** When crossing to narrow mode, automatically hide the panel (open=false). */
58
- this.autoHideOnNarrow = true;
59
- /** Accessible label for the panel navigation region. */
60
- this.panelLabel = 'Navigation';
61
- this.isNarrow = false;
62
- this.responsiveReady = false;
63
- this.overlayMounted = false;
64
- this.overlayVisible = false;
65
- this.resizing = false;
66
- this.suppressAnimation = false;
67
- this.firstLayoutComplete = false;
68
- this.onOverlayTransitionEnd = (ev) => {
69
- if (ev.target !== this.overlayWrapEl) {
70
- return;
71
- }
72
- if (ev.propertyName !== 'transform') {
73
- return;
74
- }
75
- const shouldUseOverlay = this.isNarrow && this.narrowBehavior === 'overlay';
76
- if (!shouldUseOverlay) {
77
- return;
78
- }
79
- if (!this.open && !this.overlayVisible) {
80
- this.overlayMounted = false;
81
- }
82
- };
83
- this.onOverlayPointerDown = (ev) => {
84
- // Close on any click outside the panel.
85
- const panel = this.panelEl;
86
- if (!panel) {
87
- return;
88
- }
89
- const path = ev.composedPath();
90
- if (!path.includes(panel)) {
91
- this.open = false;
92
- }
93
- };
94
- this.startResizeDrag = (ev) => {
95
- if (!this.resizable) {
96
- return;
97
- }
98
- // No resizing if fully hidden.
99
- if (!this.isNarrow && this.collapsed) {
100
- return;
101
- }
102
- if (this.isNarrow && this.narrowBehavior === 'overlay' && !this.open) {
103
- return;
104
- }
105
- if (this.isNarrow && this.narrowBehavior === 'push' && !this.open) {
106
- return;
107
- }
108
- this.resizing = true;
109
- this.dragPointerId = ev.pointerId;
110
- this.dragStartX = ev.clientX;
111
- this.dragStartWidth = this.currentWidthPx;
112
- ev.currentTarget?.setPointerCapture?.(ev.pointerId);
113
- window.addEventListener('pointermove', this.onResizeDragMove, { passive: false });
114
- window.addEventListener('pointerup', this.onResizeDragEnd, { passive: true });
115
- window.addEventListener('pointercancel', this.onResizeDragEnd, { passive: true });
116
- };
117
- this.onResizeDragMove = (ev) => {
118
- if (!this.resizing || this.dragPointerId !== ev.pointerId) {
119
- return;
120
- }
121
- ev.preventDefault();
122
- const startX = this.dragStartX ?? ev.clientX;
123
- const startWidth = this.dragStartWidth ?? this.currentWidthPx;
124
- const delta = ev.clientX - startX;
125
- const dir = this.side === 'start' ? 1 : -1;
126
- const nextWidth = clamp(startWidth + delta * dir, this.minPanelWidth, this.maxPanelWidth);
127
- this.currentWidthPx = nextWidth;
128
- this.leSidePanelWidthChange.emit({ width: this.currentWidthPx, panelId: this.panelId });
129
- };
130
- this.onResizeDragEnd = (ev) => {
131
- if (!this.resizing || this.dragPointerId !== ev.pointerId) {
132
- return;
133
- }
134
- this.resizing = false;
135
- this.dragPointerId = undefined;
136
- this.dragStartX = undefined;
137
- this.dragStartWidth = undefined;
138
- this.teardownDragListeners();
139
- this.persistState();
140
- this.leSidePanelWidthChange.emit({ width: this.currentWidthPx, panelId: this.panelId });
141
- };
142
- }
143
- connectedCallback() {
144
- this.restorePersistedState();
145
- this.currentWidthPx = clamp(this.currentWidthPx || this.panelWidth, this.minPanelWidth, this.maxPanelWidth);
146
- if (Build.isBrowser && 'ResizeObserver' in window) {
147
- this.resizeObserver = new ResizeObserver(() => {
148
- this.recomputeNarrow();
149
- });
150
- this.resizeObserver.observe(this.el);
151
- }
152
- // Ensure we get at least one post-layout measurement.
153
- if (Build.isBrowser) {
154
- requestAnimationFrame(() => this.recomputeNarrow());
155
- }
156
- }
157
- componentWillLoad() {
158
- this.recomputeNarrow();
159
- }
160
- disconnectedCallback() {
161
- this.resizeObserver?.disconnect();
162
- this.teardownDragListeners();
163
- }
164
- isModalOverlayActive() {
165
- return this.isNarrow && this.narrowBehavior === 'overlay' && this.open;
166
- }
167
- syncOverlayToState() {
168
- const shouldUseOverlay = this.isNarrow && this.narrowBehavior === 'overlay';
169
- if (!shouldUseOverlay) {
170
- this.overlayVisible = false;
171
- this.overlayMounted = false;
172
- return;
173
- }
174
- if (this.open) {
175
- if (!this.overlayMounted) {
176
- this.overlayMounted = true;
177
- this.overlayVisible = false;
178
- requestAnimationFrame(() => {
179
- if (this.isNarrow && this.narrowBehavior === 'overlay' && this.open) {
180
- this.overlayVisible = true;
181
- this.focusFirstInsidePanel();
182
- }
183
- });
184
- }
185
- return;
186
- }
187
- // Closed: allow unmount to be handled by transition end / fallback timeout.
188
- this.overlayVisible = false;
189
- }
190
- onPanelWidthChanged() {
191
- if (!Number.isFinite(this.panelWidth)) {
192
- return;
193
- }
194
- if (!this.resizing) {
195
- this.currentWidthPx = clamp(this.panelWidth || 280, this.minPanelWidth || 220, this.maxPanelWidth || 800);
196
- this.persistState();
197
- }
198
- }
199
- onCollapsedChanged() {
200
- this.persistState();
201
- this.leSidePanelCollapsedChange.emit({ collapsed: this.collapsed, panelId: this.panelId });
202
- }
203
- onOpenChanged(newValue) {
204
- const shouldUseOverlay = this.isNarrow && this.narrowBehavior === 'overlay';
205
- if (!shouldUseOverlay) {
206
- this.persistState();
207
- this.leSidePanelOpenChange.emit({ open: this.open, panelId: this.panelId });
208
- return;
209
- }
210
- if (newValue) {
211
- this.focusedBeforeOpen = document.activeElement || null;
212
- this.overlayMounted = true;
213
- this.overlayVisible = false;
214
- requestAnimationFrame(() => {
215
- this.overlayVisible = true;
216
- this.focusFirstInsidePanel();
217
- });
218
- }
219
- else {
220
- this.overlayVisible = false;
221
- this.persistState();
222
- this.restoreFocusAfterClose();
223
- // Fallback: if transitionend doesn't fire, ensure overlay unmounts.
224
- // (e.g. interrupted transitions or unusual browser behavior)
225
- window.setTimeout(() => {
226
- const shouldUseOverlay = this.isNarrow && this.narrowBehavior === 'overlay';
227
- if (shouldUseOverlay && !this.open && !this.overlayVisible) {
228
- this.overlayMounted = false;
229
- }
230
- }, 350);
231
- }
232
- this.leSidePanelOpenChange.emit({ open: this.open, panelId: this.panelId });
233
- }
234
- onResponsivePropChanged() {
235
- this.recomputeNarrow();
236
- }
237
- onDocumentKeyDown(ev) {
238
- if (!Build.isBrowser) {
239
- return;
240
- }
241
- if (!this.isModalOverlayActive()) {
242
- return;
243
- }
244
- if (ev.key === 'Escape') {
245
- ev.preventDefault();
246
- ev.stopPropagation();
247
- this.open = false;
248
- return;
249
- }
250
- if (ev.key !== 'Tab') {
251
- return;
252
- }
253
- const panel = this.panelEl;
254
- if (!panel) {
255
- return;
256
- }
257
- const focusables = this.getFocusableElements(panel);
258
- if (focusables.length === 0) {
259
- ev.preventDefault();
260
- try {
261
- panel.focus();
262
- }
263
- catch {
264
- // ignore
265
- }
266
- return;
267
- }
268
- const first = focusables[0];
269
- const last = focusables[focusables.length - 1];
270
- const active = document.activeElement;
271
- if (ev.shiftKey) {
272
- if (!active || active === first || !panel.contains(active)) {
273
- ev.preventDefault();
274
- try {
275
- last.focus();
276
- }
277
- catch {
278
- // ignore
279
- }
280
- }
281
- }
282
- else {
283
- if (active === last) {
284
- ev.preventDefault();
285
- try {
286
- first.focus();
287
- }
288
- catch {
289
- // ignore
290
- }
291
- }
292
- }
293
- }
294
- onToggleRequest(ev) {
295
- const detail = ev.detail;
296
- if (!detail || !detail.action) {
297
- return;
298
- }
299
- // panelId matching rules:
300
- // - If this panel has panelId: respond only when detail.panelId matches.
301
- // - If this panel has no panelId: respond only when detail.panelId is empty.
302
- const requestedId = detail.panelId || '';
303
- const myId = this.panelId || '';
304
- if (myId !== requestedId) {
305
- return;
306
- }
307
- if (this.isNarrow) {
308
- this.applyActionToOpen(detail.action);
309
- }
310
- else {
311
- this.applyActionToCollapsed(detail.action);
312
- }
313
- }
314
- applyActionToOpen(action) {
315
- if (action === 'open') {
316
- this.open = true;
317
- return;
318
- }
319
- if (action === 'close') {
320
- this.open = false;
321
- return;
322
- }
323
- this.open = !this.open;
324
- }
325
- applyActionToCollapsed(action) {
326
- if (action === 'open') {
327
- this.collapsed = false;
328
- return;
329
- }
330
- if (action === 'close') {
331
- this.collapsed = true;
332
- return;
333
- }
334
- this.collapsed = !this.collapsed;
335
- }
336
- recomputeNarrow() {
337
- const collapseAtPx = parseCollapseAtPx(this.collapseAt);
338
- if (!collapseAtPx) {
339
- this.isNarrow = false;
340
- this.responsiveReady = true;
341
- this.syncOverlayToState();
342
- return;
343
- }
344
- const width = this.el.clientWidth;
345
- // If we can't measure yet (common on first paint), don't guess a mode.
346
- // This prevents a brief "wide" flash before ResizeObserver kicks in.
347
- if (!(width > 0)) {
348
- this.responsiveReady = false;
349
- return;
350
- }
351
- this.responsiveReady = true;
352
- // Suppress animation on the very first successful layout
353
- if (!this.firstLayoutComplete) {
354
- this.suppressAnimation = true;
355
- this.firstLayoutComplete = true;
356
- setTimeout(() => {
357
- // We need a timeout to ensure the paint
358
- // has happened without transition
359
- this.suppressAnimation = false;
360
- }, 1000);
361
- }
362
- const nextIsNarrow = width < collapseAtPx;
363
- const prevIsNarrow = this.isNarrow;
364
- this.isNarrow = nextIsNarrow;
365
- if (prevIsNarrow !== nextIsNarrow) {
366
- if (nextIsNarrow) {
367
- if (this.autoHideOnNarrow) {
368
- this.open = false;
369
- }
370
- }
371
- else {
372
- // entering wide mode
373
- this.open = false;
374
- this.overlayVisible = false;
375
- this.overlayMounted = false;
376
- if (this.autoShowOnWide) {
377
- this.collapsed = false;
378
- }
379
- }
380
- }
381
- this.syncOverlayToState();
382
- }
383
- restorePersistedState() {
384
- if (!Build.isBrowser || !this.persistKey) {
385
- return;
386
- }
387
- try {
388
- const raw = window.localStorage.getItem(this.persistKey);
389
- if (!raw) {
390
- return;
391
- }
392
- const parsed = JSON.parse(raw);
393
- if (typeof parsed.width === 'number' && Number.isFinite(parsed.width)) {
394
- this.currentWidthPx = parsed.width;
395
- }
396
- if (typeof parsed.collapsed === 'boolean') {
397
- this.collapsed = parsed.collapsed;
398
- }
399
- }
400
- catch {
401
- // ignore
402
- }
403
- }
404
- persistState() {
405
- if (!Build.isBrowser || !this.persistKey) {
406
- return;
407
- }
408
- const payload = {
409
- width: this.currentWidthPx,
410
- collapsed: this.collapsed,
411
- };
412
- try {
413
- window.localStorage.setItem(this.persistKey, JSON.stringify(payload));
414
- }
415
- catch {
416
- // ignore
417
- }
418
- }
419
- focusFirstInsidePanel() {
420
- if (!Build.isBrowser) {
421
- return;
422
- }
423
- const root = this.panelEl;
424
- if (!root) {
425
- return;
426
- }
427
- const candidates = this.getFocusableElements(root);
428
- for (const el of candidates) {
429
- if (el.hasAttribute('disabled')) {
430
- continue;
431
- }
432
- const tabindex = el.getAttribute('tabindex');
433
- if (tabindex === '-1') {
434
- continue;
435
- }
436
- try {
437
- el.focus();
438
- return;
439
- }
440
- catch {
441
- // ignore
442
- }
443
- }
444
- }
445
- getFocusableElements(root) {
446
- const selector = 'button,[href],input,select,textarea,[tabindex]:not([tabindex="-1"])';
447
- const all = Array.from(root.querySelectorAll(selector));
448
- return all.filter(el => {
449
- if (el.hasAttribute('disabled')) {
450
- return false;
451
- }
452
- const tabindex = el.getAttribute('tabindex');
453
- if (tabindex === '-1') {
454
- return false;
455
- }
456
- return true;
457
- });
458
- }
459
- restoreFocusAfterClose() {
460
- if (!Build.isBrowser) {
461
- return;
462
- }
463
- const prev = this.focusedBeforeOpen;
464
- this.focusedBeforeOpen = null;
465
- if (prev && document.contains(prev)) {
466
- try {
467
- prev.focus();
468
- }
469
- catch {
470
- // ignore
471
- }
472
- }
473
- }
474
- teardownDragListeners() {
475
- window.removeEventListener('pointermove', this.onResizeDragMove);
476
- window.removeEventListener('pointerup', this.onResizeDragEnd);
477
- window.removeEventListener('pointercancel', this.onResizeDragEnd);
478
- }
479
- renderPanelInner(opts) {
480
- const renderPanelSlot = opts?.renderPanelSlot ?? true;
481
- const showClose = this.showCloseButton && this.isNarrow && this.narrowBehavior === 'overlay';
482
- const tabIndex = this.isNarrow && this.narrowBehavior === 'overlay' ? -1 : null;
483
- return (h("div", { class: {
484
- panel: true,
485
- start: this.side === 'start',
486
- end: this.side === 'end',
487
- resizing: this.resizing,
488
- }, part: "panel", ref: el => (this.panelEl = el), role: "navigation", "aria-label": this.panelLabel, tabindex: tabIndex }, showClose ? (h("le-side-panel-toggle", { "panel-id": "demo-side", action: "toggle", shortcut: "Mod+B", variant: "clear", class: "close", part: "close-button", "aria-label": "Close panel", "icon-only": "true", style: {
489
- '--le-button-icon-only-padding': 'var(--le-space-sm)',
490
- }, onClick: () => (this.open = false) }, h("slot", { name: "close-icon", slot: "icon-only" }, h("le-icon", { name: "side-panel" })))) : null, h("div", { class: "panel-scroller", part: "panel-scroller" }, renderPanelSlot ? h("slot", { name: "panel" }) : null), this.resizable ? (h("div", { class: {
491
- handle: true,
492
- start: this.side === 'start',
493
- end: this.side === 'end',
494
- }, part: "resize-handle", role: "separator", "aria-orientation": "vertical", tabindex: -1, onPointerDown: this.startResizeDrag })) : null));
495
- }
496
- render() {
497
- const widthStyle = {
498
- '--le-side-panel-width': `${this.currentWidthPx}px`,
499
- };
500
- const isOverlay = this.isNarrow && this.narrowBehavior === 'overlay';
501
- const isModalOverlayOpen = isOverlay && this.open;
502
- const allowPanel = this.responsiveReady;
503
- const showWidePanel = allowPanel && !this.isNarrow && !this.collapsed;
504
- const showNarrowPushPanel = allowPanel && this.isNarrow && this.narrowBehavior === 'push' && this.open;
505
- const layoutHasInlinePanel = showWidePanel || showNarrowPushPanel;
506
- return (h("div", { key: 'd4524327e7e13541b27c0fd13a5ec4c4605a4796', class: {
507
- host: true,
508
- narrow: this.isNarrow,
509
- wide: !this.isNarrow,
510
- overlay: isOverlay,
511
- push: !isOverlay,
512
- collapsed: !this.isNarrow && this.collapsed,
513
- }, style: widthStyle, "data-resizing": this.resizing ? 'true' : null }, h("div", { key: 'f3c174390306054397a9627cad446d99c183251b', class: {
514
- 'layout': true,
515
- 'has-panel': layoutHasInlinePanel,
516
- 'start': this.side === 'start',
517
- 'end': this.side === 'end',
518
- } }, h("div", { key: 'b679883619cbe69bac251cd5f246634f48ddffdf', class: {
519
- 'inlinePanel': true,
520
- 'hidden': !layoutHasInlinePanel,
521
- 'no-transition': this.suppressAnimation,
522
- }, "aria-hidden": !layoutHasInlinePanel ? 'true' : null }, this.renderPanelInner({ renderPanelSlot: !isOverlay })), h("div", { key: 'a7a3b2ee5001c5cf550becd872dc621095fff877', class: "content", part: "content", "aria-hidden": isModalOverlayOpen ? 'true' : null }, h("slot", { key: '60ea6042d270ae9dd887034fc44da4fb91e394ec' }))), allowPanel && isOverlay && this.overlayMounted ? (h("div", { class: { overlayRoot: true, visible: this.overlayVisible }, part: "scrim", role: "presentation", onPointerDown: this.onOverlayPointerDown, "aria-hidden": isModalOverlayOpen ? null : 'true' }, h("div", { class: {
523
- overlayPanelWrap: true,
524
- visible: this.overlayVisible,
525
- start: this.side === 'start',
526
- end: this.side === 'end',
527
- }, part: "overlay", ref: el => (this.overlayWrapEl = el), onTransitionEnd: this.onOverlayTransitionEnd, role: "dialog", "aria-modal": "true" }, this.renderPanelInner({ renderPanelSlot: true })))) : null));
528
- }
529
- static get is() { return "le-side-panel"; }
530
- static get encapsulation() { return "shadow"; }
531
- static get originalStyleUrls() {
532
- return {
533
- "$": ["le-side-panel.css"]
534
- };
535
- }
536
- static get styleUrls() {
537
- return {
538
- "$": ["le-side-panel.css"]
539
- };
540
- }
541
- static get properties() {
542
- return {
543
- "panelId": {
544
- "type": "string",
545
- "mutable": false,
546
- "complexType": {
547
- "original": "string",
548
- "resolved": "string",
549
- "references": {}
550
- },
551
- "required": false,
552
- "optional": true,
553
- "docs": {
554
- "tags": [],
555
- "text": "Optional id used to match toggle requests.\nIf set, the panel only responds to toggle events with the same `panelId`."
556
- },
557
- "getter": false,
558
- "setter": false,
559
- "reflect": false,
560
- "attribute": "panel-id"
561
- },
562
- "side": {
563
- "type": "string",
564
- "mutable": false,
565
- "complexType": {
566
- "original": "LeSidePanelSide",
567
- "resolved": "\"end\" | \"start\"",
568
- "references": {
569
- "LeSidePanelSide": {
570
- "location": "local",
571
- "path": "/home/runner/work/le-kit/le-kit/src/components/le-side-panel/le-side-panel.tsx",
572
- "id": "src/components/le-side-panel/le-side-panel.tsx::LeSidePanelSide"
573
- }
574
- }
575
- },
576
- "required": false,
577
- "optional": false,
578
- "docs": {
579
- "tags": [],
580
- "text": "Which side the panel is attached to."
581
- },
582
- "getter": false,
583
- "setter": false,
584
- "reflect": false,
585
- "attribute": "side",
586
- "defaultValue": "'start'"
587
- },
588
- "collapseAt": {
589
- "type": "string",
590
- "mutable": false,
591
- "complexType": {
592
- "original": "string",
593
- "resolved": "string",
594
- "references": {}
595
- },
596
- "required": false,
597
- "optional": true,
598
- "docs": {
599
- "tags": [],
600
- "text": "Width breakpoint (in px or a CSS var like `--le-breakpoint-md`) below which the panel enters \"narrow\" mode."
601
- },
602
- "getter": false,
603
- "setter": false,
604
- "reflect": false,
605
- "attribute": "collapse-at"
606
- },
607
- "narrowBehavior": {
608
- "type": "string",
609
- "mutable": false,
610
- "complexType": {
611
- "original": "LeSidePanelNarrowBehavior",
612
- "resolved": "\"overlay\" | \"push\"",
613
- "references": {
614
- "LeSidePanelNarrowBehavior": {
615
- "location": "local",
616
- "path": "/home/runner/work/le-kit/le-kit/src/components/le-side-panel/le-side-panel.tsx",
617
- "id": "src/components/le-side-panel/le-side-panel.tsx::LeSidePanelNarrowBehavior"
618
- }
619
- }
620
- },
621
- "required": false,
622
- "optional": false,
623
- "docs": {
624
- "tags": [],
625
- "text": "Behavior when in narrow mode."
626
- },
627
- "getter": false,
628
- "setter": false,
629
- "reflect": false,
630
- "attribute": "narrow-behavior",
631
- "defaultValue": "'overlay'"
632
- },
633
- "open": {
634
- "type": "boolean",
635
- "mutable": true,
636
- "complexType": {
637
- "original": "boolean",
638
- "resolved": "boolean",
639
- "references": {}
640
- },
641
- "required": false,
642
- "optional": false,
643
- "docs": {
644
- "tags": [],
645
- "text": "Panel open state for narrow mode.\n- overlay: controls modal drawer visibility\n- push: controls whether panel is shown (non-modal)"
646
- },
647
- "getter": false,
648
- "setter": false,
649
- "reflect": true,
650
- "attribute": "open",
651
- "defaultValue": "false"
652
- },
653
- "collapsed": {
654
- "type": "boolean",
655
- "mutable": true,
656
- "complexType": {
657
- "original": "boolean",
658
- "resolved": "boolean",
659
- "references": {}
660
- },
661
- "required": false,
662
- "optional": false,
663
- "docs": {
664
- "tags": [],
665
- "text": "Panel collapsed state for wide mode (fully hidden)."
666
- },
667
- "getter": false,
668
- "setter": false,
669
- "reflect": true,
670
- "attribute": "collapsed",
671
- "defaultValue": "false"
672
- },
673
- "panelWidth": {
674
- "type": "number",
675
- "mutable": false,
676
- "complexType": {
677
- "original": "number",
678
- "resolved": "number",
679
- "references": {}
680
- },
681
- "required": false,
682
- "optional": false,
683
- "docs": {
684
- "tags": [],
685
- "text": "Default panel width in pixels."
686
- },
687
- "getter": false,
688
- "setter": false,
689
- "reflect": false,
690
- "attribute": "panel-width",
691
- "defaultValue": "280"
692
- },
693
- "minPanelWidth": {
694
- "type": "number",
695
- "mutable": false,
696
- "complexType": {
697
- "original": "number",
698
- "resolved": "number",
699
- "references": {}
700
- },
701
- "required": false,
702
- "optional": false,
703
- "docs": {
704
- "tags": [],
705
- "text": "Minimum allowed width when resizable."
706
- },
707
- "getter": false,
708
- "setter": false,
709
- "reflect": false,
710
- "attribute": "min-panel-width",
711
- "defaultValue": "220"
712
- },
713
- "maxPanelWidth": {
714
- "type": "number",
715
- "mutable": false,
716
- "complexType": {
717
- "original": "number",
718
- "resolved": "number",
719
- "references": {}
720
- },
721
- "required": false,
722
- "optional": false,
723
- "docs": {
724
- "tags": [],
725
- "text": "Maximum allowed width when resizable."
726
- },
727
- "getter": false,
728
- "setter": false,
729
- "reflect": false,
730
- "attribute": "max-panel-width",
731
- "defaultValue": "420"
732
- },
733
- "resizable": {
734
- "type": "boolean",
735
- "mutable": false,
736
- "complexType": {
737
- "original": "boolean",
738
- "resolved": "boolean",
739
- "references": {}
740
- },
741
- "required": false,
742
- "optional": false,
743
- "docs": {
744
- "tags": [],
745
- "text": "Allows users to resize the panel by dragging its edge."
746
- },
747
- "getter": false,
748
- "setter": false,
749
- "reflect": false,
750
- "attribute": "resizable",
751
- "defaultValue": "false"
752
- },
753
- "persistKey": {
754
- "type": "string",
755
- "mutable": false,
756
- "complexType": {
757
- "original": "string",
758
- "resolved": "string",
759
- "references": {}
760
- },
761
- "required": false,
762
- "optional": true,
763
- "docs": {
764
- "tags": [],
765
- "text": "When set, panel width + collapsed state are persisted in localStorage."
766
- },
767
- "getter": false,
768
- "setter": false,
769
- "reflect": false,
770
- "attribute": "persist-key"
771
- },
772
- "showCloseButton": {
773
- "type": "boolean",
774
- "mutable": false,
775
- "complexType": {
776
- "original": "boolean",
777
- "resolved": "boolean",
778
- "references": {}
779
- },
780
- "required": false,
781
- "optional": false,
782
- "docs": {
783
- "tags": [],
784
- "text": "Show a close button inside the panel (primarily used in narrow overlay mode)."
785
- },
786
- "getter": false,
787
- "setter": false,
788
- "reflect": false,
789
- "attribute": "show-close-button",
790
- "defaultValue": "true"
791
- },
792
- "autoShowOnWide": {
793
- "type": "boolean",
794
- "mutable": false,
795
- "complexType": {
796
- "original": "boolean",
797
- "resolved": "boolean",
798
- "references": {}
799
- },
800
- "required": false,
801
- "optional": false,
802
- "docs": {
803
- "tags": [],
804
- "text": "When crossing to wide mode, automatically show the panel (collapsed=false)."
805
- },
806
- "getter": false,
807
- "setter": false,
808
- "reflect": false,
809
- "attribute": "auto-show-on-wide",
810
- "defaultValue": "true"
811
- },
812
- "autoHideOnNarrow": {
813
- "type": "boolean",
814
- "mutable": false,
815
- "complexType": {
816
- "original": "boolean",
817
- "resolved": "boolean",
818
- "references": {}
819
- },
820
- "required": false,
821
- "optional": false,
822
- "docs": {
823
- "tags": [],
824
- "text": "When crossing to narrow mode, automatically hide the panel (open=false)."
825
- },
826
- "getter": false,
827
- "setter": false,
828
- "reflect": false,
829
- "attribute": "auto-hide-on-narrow",
830
- "defaultValue": "true"
831
- },
832
- "panelLabel": {
833
- "type": "string",
834
- "mutable": false,
835
- "complexType": {
836
- "original": "string",
837
- "resolved": "string",
838
- "references": {}
839
- },
840
- "required": false,
841
- "optional": false,
842
- "docs": {
843
- "tags": [],
844
- "text": "Accessible label for the panel navigation region."
845
- },
846
- "getter": false,
847
- "setter": false,
848
- "reflect": false,
849
- "attribute": "panel-label",
850
- "defaultValue": "'Navigation'"
851
- }
852
- };
853
- }
854
- static get states() {
855
- return {
856
- "isNarrow": {},
857
- "responsiveReady": {},
858
- "overlayMounted": {},
859
- "overlayVisible": {},
860
- "currentWidthPx": {},
861
- "resizing": {},
862
- "suppressAnimation": {}
863
- };
864
- }
865
- static get events() {
866
- return [{
867
- "method": "leSidePanelOpenChange",
868
- "name": "leSidePanelOpenChange",
869
- "bubbles": true,
870
- "cancelable": true,
871
- "composed": true,
872
- "docs": {
873
- "tags": [],
874
- "text": ""
875
- },
876
- "complexType": {
877
- "original": "{ open: boolean; panelId?: string }",
878
- "resolved": "{ open: boolean; panelId?: string; }",
879
- "references": {}
880
- }
881
- }, {
882
- "method": "leSidePanelCollapsedChange",
883
- "name": "leSidePanelCollapsedChange",
884
- "bubbles": true,
885
- "cancelable": true,
886
- "composed": true,
887
- "docs": {
888
- "tags": [],
889
- "text": ""
890
- },
891
- "complexType": {
892
- "original": "{ collapsed: boolean; panelId?: string }",
893
- "resolved": "{ collapsed: boolean; panelId?: string; }",
894
- "references": {}
895
- }
896
- }, {
897
- "method": "leSidePanelWidthChange",
898
- "name": "leSidePanelWidthChange",
899
- "bubbles": true,
900
- "cancelable": true,
901
- "composed": true,
902
- "docs": {
903
- "tags": [],
904
- "text": ""
905
- },
906
- "complexType": {
907
- "original": "{ width: number; panelId?: string }",
908
- "resolved": "{ width: number; panelId?: string; }",
909
- "references": {}
910
- }
911
- }];
912
- }
913
- static get elementRef() { return "el"; }
914
- static get watchers() {
915
- return [{
916
- "propName": "panelWidth",
917
- "methodName": "onPanelWidthChanged"
918
- }, {
919
- "propName": "collapsed",
920
- "methodName": "onCollapsedChanged"
921
- }, {
922
- "propName": "open",
923
- "methodName": "onOpenChanged"
924
- }, {
925
- "propName": "collapseAt",
926
- "methodName": "onResponsivePropChanged"
927
- }, {
928
- "propName": "narrowBehavior",
929
- "methodName": "onResponsivePropChanged"
930
- }];
931
- }
932
- static get listeners() {
933
- return [{
934
- "name": "keydown",
935
- "method": "onDocumentKeyDown",
936
- "target": "document",
937
- "capture": true,
938
- "passive": false
939
- }, {
940
- "name": "leSidePanelRequestToggle",
941
- "method": "onToggleRequest",
942
- "target": "document",
943
- "capture": false,
944
- "passive": false
945
- }];
946
- }
947
- }
948
- //# sourceMappingURL=le-side-panel.js.map