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,595 +0,0 @@
1
- import { Build, h } from "@stencil/core";
2
- function parseShortcut(input) {
3
- if (!input) {
4
- return undefined;
5
- }
6
- const trimmed = input.trim();
7
- if (!trimmed) {
8
- return undefined;
9
- }
10
- const parts = trimmed
11
- .split('+')
12
- .map(p => p.trim())
13
- .filter(Boolean);
14
- if (parts.length === 0) {
15
- return undefined;
16
- }
17
- const key = parts[parts.length - 1];
18
- const mods = parts.slice(0, -1).map(m => m.toLowerCase());
19
- const spec = {
20
- key: key.toLowerCase(),
21
- alt: mods.includes('alt') || mods.includes('option'),
22
- ctrl: mods.includes('ctrl') || mods.includes('control'),
23
- meta: mods.includes('meta') || mods.includes('cmd') || mods.includes('command'),
24
- shift: mods.includes('shift'),
25
- };
26
- if (mods.includes('mod')) {
27
- // mac: Cmd, others: Ctrl
28
- const isMac = typeof navigator !== 'undefined' && /mac/i.test(navigator.platform);
29
- if (isMac) {
30
- spec.meta = true;
31
- }
32
- else {
33
- spec.ctrl = true;
34
- }
35
- }
36
- return spec;
37
- }
38
- function isEditableTarget(target) {
39
- if (!(target instanceof HTMLElement)) {
40
- return false;
41
- }
42
- const tag = target.tagName.toLowerCase();
43
- if (tag === 'input' || tag === 'textarea' || tag === 'select') {
44
- return true;
45
- }
46
- return target.isContentEditable;
47
- }
48
- export class LeSidePanelToggle {
49
- constructor() {
50
- /** Action to emit. Default toggles the panel. */
51
- this.action = 'toggle';
52
- /** Disables the toggle. */
53
- this.disabled = false;
54
- this.variant = 'solid';
55
- this.color = 'primary';
56
- this.size = 'medium';
57
- this.selected = false;
58
- this.fullWidth = false;
59
- this.type = 'button';
60
- this.align = 'center';
61
- this.onDocumentKeyDown = (ev) => {
62
- if (this.disabled) {
63
- return;
64
- }
65
- const spec = this.shortcutSpec;
66
- if (!spec) {
67
- return;
68
- }
69
- if (isEditableTarget(ev.target)) {
70
- return;
71
- }
72
- const key = (ev.key || '').toLowerCase();
73
- if (key !== spec.key) {
74
- return;
75
- }
76
- if (!!ev.altKey !== spec.alt) {
77
- return;
78
- }
79
- if (!!ev.ctrlKey !== spec.ctrl) {
80
- return;
81
- }
82
- if (!!ev.metaKey !== spec.meta) {
83
- return;
84
- }
85
- if (!!ev.shiftKey !== spec.shift) {
86
- return;
87
- }
88
- ev.preventDefault();
89
- this.emitRequest();
90
- };
91
- this.onPanelStateChange = (ev) => {
92
- const detail = ev.detail || {};
93
- const requestedId = this.getResolvedPanelId() || '';
94
- const eventId = detail.panelId || '';
95
- if (requestedId !== eventId) {
96
- return;
97
- }
98
- if (typeof detail.open === 'boolean') {
99
- this.expanded = detail.open;
100
- this.syncAriaExpanded();
101
- }
102
- if (typeof detail.collapsed === 'boolean') {
103
- this.expanded = !detail.collapsed;
104
- this.syncAriaExpanded();
105
- }
106
- };
107
- }
108
- onShortcutChanged() {
109
- this.shortcutSpec = parseShortcut(this.shortcut);
110
- this.syncShortcutListener();
111
- }
112
- connectedCallback() {
113
- this.shortcutSpec = parseShortcut(this.shortcut);
114
- this.forwardedNodes = Array.from(this.el.childNodes);
115
- if (Build.isBrowser) {
116
- this.syncShortcutListener();
117
- document.addEventListener('leSidePanelOpenChange', this.onPanelStateChange);
118
- document.addEventListener('leSidePanelCollapsedChange', this.onPanelStateChange);
119
- }
120
- }
121
- componentDidLoad() {
122
- this.syncForwardedNodesIntoButton();
123
- this.syncAriaExpanded();
124
- }
125
- componentDidRender() {
126
- this.syncForwardedNodesIntoButton();
127
- this.syncAriaExpanded();
128
- }
129
- disconnectedCallback() {
130
- if (Build.isBrowser) {
131
- document.removeEventListener('keydown', this.onDocumentKeyDown, true);
132
- document.removeEventListener('leSidePanelOpenChange', this.onPanelStateChange);
133
- document.removeEventListener('leSidePanelCollapsedChange', this.onPanelStateChange);
134
- }
135
- }
136
- syncShortcutListener() {
137
- if (!Build.isBrowser) {
138
- return;
139
- }
140
- if (this.shortcutSpec) {
141
- document.addEventListener('keydown', this.onDocumentKeyDown, true);
142
- }
143
- else {
144
- document.removeEventListener('keydown', this.onDocumentKeyDown, true);
145
- }
146
- }
147
- getResolvedPanelId() {
148
- if (this.panelId) {
149
- return this.panelId;
150
- }
151
- const closestPanel = this.el?.closest?.('le-side-panel');
152
- if (closestPanel?.panelId) {
153
- return closestPanel.panelId;
154
- }
155
- return undefined;
156
- }
157
- emitRequest() {
158
- if (this.disabled) {
159
- return;
160
- }
161
- this.leSidePanelRequestToggle.emit({
162
- panelId: this.getResolvedPanelId(),
163
- action: this.action,
164
- });
165
- }
166
- syncForwardedNodesIntoButton() {
167
- const btn = this.buttonEl;
168
- if (!btn || !this.forwardedNodes || this.forwardedNodes.length === 0) {
169
- return;
170
- }
171
- for (const node of this.forwardedNodes) {
172
- if (!node) {
173
- continue;
174
- }
175
- if (node.parentNode !== btn) {
176
- try {
177
- btn.appendChild(node);
178
- }
179
- catch {
180
- // ignore
181
- }
182
- }
183
- }
184
- }
185
- syncAriaExpanded() {
186
- const value = typeof this.expanded === 'boolean' ? String(this.expanded) : null;
187
- const hostBtn = this.buttonEl;
188
- if (!hostBtn) {
189
- return;
190
- }
191
- // Best-effort: set on the actual internal <button>/<a> inside le-button.
192
- const inner = hostBtn.shadowRoot?.querySelector?.('[part="button"]') || null;
193
- const target = inner || hostBtn;
194
- if (value) {
195
- target.setAttribute('aria-expanded', value);
196
- }
197
- else {
198
- target.removeAttribute('aria-expanded');
199
- }
200
- }
201
- render() {
202
- return (h("le-button", { key: '172c8abec7d24a91974626d9bd083c7227400a2a', ref: el => (this.buttonEl = el), mode: this.mode, variant: this.variant, color: this.color, size: this.size, selected: this.selected, fullWidth: this.fullWidth, iconOnly: this.iconOnly, iconStart: this.iconStart, iconEnd: this.iconEnd, disabled: this.disabled, type: this.type, href: this.href, target: this.target, align: this.align, onClick: () => this.emitRequest() }));
203
- }
204
- static get is() { return "le-side-panel-toggle"; }
205
- static get encapsulation() { return "shadow"; }
206
- static get properties() {
207
- return {
208
- "panelId": {
209
- "type": "string",
210
- "mutable": false,
211
- "complexType": {
212
- "original": "string",
213
- "resolved": "string",
214
- "references": {}
215
- },
216
- "required": false,
217
- "optional": true,
218
- "docs": {
219
- "tags": [],
220
- "text": "Optional id used to target a specific panel."
221
- },
222
- "getter": false,
223
- "setter": false,
224
- "reflect": false,
225
- "attribute": "panel-id"
226
- },
227
- "action": {
228
- "type": "string",
229
- "mutable": false,
230
- "complexType": {
231
- "original": "LeSidePanelToggleAction",
232
- "resolved": "\"close\" | \"open\" | \"toggle\"",
233
- "references": {
234
- "LeSidePanelToggleAction": {
235
- "location": "local",
236
- "path": "/home/runner/work/le-kit/le-kit/src/components/le-side-panel-toggle/le-side-panel-toggle.tsx",
237
- "id": "src/components/le-side-panel-toggle/le-side-panel-toggle.tsx::LeSidePanelToggleAction"
238
- }
239
- }
240
- },
241
- "required": false,
242
- "optional": false,
243
- "docs": {
244
- "tags": [],
245
- "text": "Action to emit. Default toggles the panel."
246
- },
247
- "getter": false,
248
- "setter": false,
249
- "reflect": false,
250
- "attribute": "action",
251
- "defaultValue": "'toggle'"
252
- },
253
- "shortcut": {
254
- "type": "string",
255
- "mutable": false,
256
- "complexType": {
257
- "original": "string",
258
- "resolved": "string",
259
- "references": {}
260
- },
261
- "required": false,
262
- "optional": true,
263
- "docs": {
264
- "tags": [],
265
- "text": "Optional keyboard shortcut like `Mod+B` or `Alt+N`."
266
- },
267
- "getter": false,
268
- "setter": false,
269
- "reflect": false,
270
- "attribute": "shortcut"
271
- },
272
- "disabled": {
273
- "type": "boolean",
274
- "mutable": false,
275
- "complexType": {
276
- "original": "boolean",
277
- "resolved": "boolean",
278
- "references": {}
279
- },
280
- "required": false,
281
- "optional": false,
282
- "docs": {
283
- "tags": [],
284
- "text": "Disables the toggle."
285
- },
286
- "getter": false,
287
- "setter": false,
288
- "reflect": false,
289
- "attribute": "disabled",
290
- "defaultValue": "false"
291
- },
292
- "mode": {
293
- "type": "string",
294
- "mutable": true,
295
- "complexType": {
296
- "original": "'default' | 'admin'",
297
- "resolved": "\"admin\" | \"default\"",
298
- "references": {}
299
- },
300
- "required": false,
301
- "optional": false,
302
- "docs": {
303
- "tags": [],
304
- "text": ""
305
- },
306
- "getter": false,
307
- "setter": false,
308
- "reflect": true,
309
- "attribute": "mode"
310
- },
311
- "variant": {
312
- "type": "string",
313
- "mutable": false,
314
- "complexType": {
315
- "original": "'solid' | 'outlined' | 'clear' | 'system'",
316
- "resolved": "\"clear\" | \"outlined\" | \"solid\" | \"system\"",
317
- "references": {}
318
- },
319
- "required": false,
320
- "optional": false,
321
- "docs": {
322
- "tags": [],
323
- "text": ""
324
- },
325
- "getter": false,
326
- "setter": false,
327
- "reflect": false,
328
- "attribute": "variant",
329
- "defaultValue": "'solid'"
330
- },
331
- "color": {
332
- "type": "string",
333
- "mutable": false,
334
- "complexType": {
335
- "original": "'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info'",
336
- "resolved": "\"danger\" | \"info\" | \"primary\" | \"secondary\" | \"success\" | \"warning\"",
337
- "references": {}
338
- },
339
- "required": false,
340
- "optional": false,
341
- "docs": {
342
- "tags": [],
343
- "text": ""
344
- },
345
- "getter": false,
346
- "setter": false,
347
- "reflect": false,
348
- "attribute": "color",
349
- "defaultValue": "'primary'"
350
- },
351
- "size": {
352
- "type": "string",
353
- "mutable": false,
354
- "complexType": {
355
- "original": "'small' | 'medium' | 'large'",
356
- "resolved": "\"large\" | \"medium\" | \"small\"",
357
- "references": {}
358
- },
359
- "required": false,
360
- "optional": false,
361
- "docs": {
362
- "tags": [],
363
- "text": ""
364
- },
365
- "getter": false,
366
- "setter": false,
367
- "reflect": false,
368
- "attribute": "size",
369
- "defaultValue": "'medium'"
370
- },
371
- "selected": {
372
- "type": "boolean",
373
- "mutable": false,
374
- "complexType": {
375
- "original": "boolean",
376
- "resolved": "boolean",
377
- "references": {}
378
- },
379
- "required": false,
380
- "optional": false,
381
- "docs": {
382
- "tags": [],
383
- "text": ""
384
- },
385
- "getter": false,
386
- "setter": false,
387
- "reflect": false,
388
- "attribute": "selected",
389
- "defaultValue": "false"
390
- },
391
- "fullWidth": {
392
- "type": "boolean",
393
- "mutable": false,
394
- "complexType": {
395
- "original": "boolean",
396
- "resolved": "boolean",
397
- "references": {}
398
- },
399
- "required": false,
400
- "optional": false,
401
- "docs": {
402
- "tags": [],
403
- "text": ""
404
- },
405
- "getter": false,
406
- "setter": false,
407
- "reflect": true,
408
- "attribute": "full-width",
409
- "defaultValue": "false"
410
- },
411
- "iconOnly": {
412
- "type": "string",
413
- "mutable": false,
414
- "complexType": {
415
- "original": "string | Node",
416
- "resolved": "Node | string",
417
- "references": {
418
- "Node": {
419
- "location": "global",
420
- "id": "global::Node"
421
- }
422
- }
423
- },
424
- "required": false,
425
- "optional": true,
426
- "docs": {
427
- "tags": [],
428
- "text": ""
429
- },
430
- "getter": false,
431
- "setter": false,
432
- "reflect": false,
433
- "attribute": "icon-only"
434
- },
435
- "iconStart": {
436
- "type": "string",
437
- "mutable": false,
438
- "complexType": {
439
- "original": "string | Node",
440
- "resolved": "Node | string",
441
- "references": {
442
- "Node": {
443
- "location": "global",
444
- "id": "global::Node"
445
- }
446
- }
447
- },
448
- "required": false,
449
- "optional": true,
450
- "docs": {
451
- "tags": [],
452
- "text": ""
453
- },
454
- "getter": false,
455
- "setter": false,
456
- "reflect": false,
457
- "attribute": "icon-start"
458
- },
459
- "iconEnd": {
460
- "type": "string",
461
- "mutable": false,
462
- "complexType": {
463
- "original": "string | Node",
464
- "resolved": "Node | string",
465
- "references": {
466
- "Node": {
467
- "location": "global",
468
- "id": "global::Node"
469
- }
470
- }
471
- },
472
- "required": false,
473
- "optional": true,
474
- "docs": {
475
- "tags": [],
476
- "text": ""
477
- },
478
- "getter": false,
479
- "setter": false,
480
- "reflect": false,
481
- "attribute": "icon-end"
482
- },
483
- "type": {
484
- "type": "string",
485
- "mutable": false,
486
- "complexType": {
487
- "original": "'button' | 'submit' | 'reset'",
488
- "resolved": "\"button\" | \"reset\" | \"submit\"",
489
- "references": {}
490
- },
491
- "required": false,
492
- "optional": false,
493
- "docs": {
494
- "tags": [],
495
- "text": ""
496
- },
497
- "getter": false,
498
- "setter": false,
499
- "reflect": false,
500
- "attribute": "type",
501
- "defaultValue": "'button'"
502
- },
503
- "href": {
504
- "type": "string",
505
- "mutable": false,
506
- "complexType": {
507
- "original": "string",
508
- "resolved": "string",
509
- "references": {}
510
- },
511
- "required": false,
512
- "optional": true,
513
- "docs": {
514
- "tags": [],
515
- "text": ""
516
- },
517
- "getter": false,
518
- "setter": false,
519
- "reflect": false,
520
- "attribute": "href"
521
- },
522
- "target": {
523
- "type": "string",
524
- "mutable": false,
525
- "complexType": {
526
- "original": "string",
527
- "resolved": "string",
528
- "references": {}
529
- },
530
- "required": false,
531
- "optional": true,
532
- "docs": {
533
- "tags": [],
534
- "text": ""
535
- },
536
- "getter": false,
537
- "setter": false,
538
- "reflect": false,
539
- "attribute": "target"
540
- },
541
- "align": {
542
- "type": "string",
543
- "mutable": false,
544
- "complexType": {
545
- "original": "'start' | 'center' | 'space-between' | 'end'",
546
- "resolved": "\"center\" | \"end\" | \"space-between\" | \"start\"",
547
- "references": {}
548
- },
549
- "required": false,
550
- "optional": false,
551
- "docs": {
552
- "tags": [],
553
- "text": ""
554
- },
555
- "getter": false,
556
- "setter": false,
557
- "reflect": false,
558
- "attribute": "align",
559
- "defaultValue": "'center'"
560
- }
561
- };
562
- }
563
- static get events() {
564
- return [{
565
- "method": "leSidePanelRequestToggle",
566
- "name": "leSidePanelRequestToggle",
567
- "bubbles": true,
568
- "cancelable": true,
569
- "composed": true,
570
- "docs": {
571
- "tags": [],
572
- "text": ""
573
- },
574
- "complexType": {
575
- "original": "LeSidePanelRequestToggleDetail",
576
- "resolved": "{ panelId?: string; action: LeSidePanelToggleAction; }",
577
- "references": {
578
- "LeSidePanelRequestToggleDetail": {
579
- "location": "local",
580
- "path": "/home/runner/work/le-kit/le-kit/src/components/le-side-panel-toggle/le-side-panel-toggle.tsx",
581
- "id": "src/components/le-side-panel-toggle/le-side-panel-toggle.tsx::LeSidePanelRequestToggleDetail"
582
- }
583
- }
584
- }
585
- }];
586
- }
587
- static get elementRef() { return "el"; }
588
- static get watchers() {
589
- return [{
590
- "propName": "shortcut",
591
- "methodName": "onShortcutChanged"
592
- }];
593
- }
594
- }
595
- //# sourceMappingURL=le-side-panel-toggle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"le-side-panel-toggle.js","sourceRoot":"","sources":["../../../src/components/le-side-panel-toggle/le-side-panel-toggle.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Build, Component, Element, Event, EventEmitter, Prop, Watch, h } from '@stencil/core';\n\nexport type LeSidePanelToggleAction = 'toggle' | 'open' | 'close';\n\nexport type LeSidePanelRequestToggleDetail = {\n panelId?: string;\n action: LeSidePanelToggleAction;\n};\n\ntype ShortcutSpec = {\n key: string;\n alt: boolean;\n ctrl: boolean;\n meta: boolean;\n shift: boolean;\n};\n\nfunction parseShortcut(input?: string): ShortcutSpec | undefined {\n if (!input) {\n return undefined;\n }\n const trimmed = input.trim();\n if (!trimmed) {\n return undefined;\n }\n\n const parts = trimmed\n .split('+')\n .map(p => p.trim())\n .filter(Boolean);\n if (parts.length === 0) {\n return undefined;\n }\n\n const key = parts[parts.length - 1];\n const mods = parts.slice(0, -1).map(m => m.toLowerCase());\n\n const spec: ShortcutSpec = {\n key: key.toLowerCase(),\n alt: mods.includes('alt') || mods.includes('option'),\n ctrl: mods.includes('ctrl') || mods.includes('control'),\n meta: mods.includes('meta') || mods.includes('cmd') || mods.includes('command'),\n shift: mods.includes('shift'),\n };\n\n if (mods.includes('mod')) {\n // mac: Cmd, others: Ctrl\n const isMac = typeof navigator !== 'undefined' && /mac/i.test(navigator.platform);\n if (isMac) {\n spec.meta = true;\n } else {\n spec.ctrl = true;\n }\n }\n\n return spec;\n}\n\nfunction isEditableTarget(target: EventTarget | null): boolean {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n const tag = target.tagName.toLowerCase();\n if (tag === 'input' || tag === 'textarea' || tag === 'select') {\n return true;\n }\n return target.isContentEditable;\n}\n\n@Component({\n tag: 'le-side-panel-toggle',\n shadow: true,\n})\nexport class LeSidePanelToggle {\n @Element() el: HTMLElement;\n\n /** Optional id used to target a specific panel. */\n @Prop() panelId?: string;\n\n /** Action to emit. Default toggles the panel. */\n @Prop() action: LeSidePanelToggleAction = 'toggle';\n\n /** Optional keyboard shortcut like `Mod+B` or `Alt+N`. */\n @Prop() shortcut?: string;\n\n /** Disables the toggle. */\n @Prop() disabled: boolean = false;\n\n // Pass-through props for le-button\n @Prop({ mutable: true, reflect: true }) mode: 'default' | 'admin';\n @Prop() variant: 'solid' | 'outlined' | 'clear' | 'system' = 'solid';\n @Prop() color: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' = 'primary';\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n @Prop() selected: boolean = false;\n @Prop({ reflect: true }) fullWidth: boolean = false;\n @Prop() iconOnly?: string | Node;\n @Prop() iconStart?: string | Node;\n @Prop() iconEnd?: string | Node;\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n @Prop() href?: string;\n @Prop() target?: string;\n @Prop() align: 'start' | 'center' | 'space-between' | 'end' = 'center';\n\n @Event({\n eventName: 'leSidePanelRequestToggle',\n bubbles: true,\n composed: true,\n })\n leSidePanelRequestToggle: EventEmitter<LeSidePanelRequestToggleDetail>;\n\n private shortcutSpec?: ShortcutSpec;\n private expanded: boolean | undefined;\n\n private buttonEl?: HTMLElement;\n private forwardedNodes?: ChildNode[];\n\n @Watch('shortcut')\n protected onShortcutChanged() {\n this.shortcutSpec = parseShortcut(this.shortcut);\n this.syncShortcutListener();\n }\n\n connectedCallback() {\n this.shortcutSpec = parseShortcut(this.shortcut);\n this.forwardedNodes = Array.from(this.el.childNodes);\n\n if (Build.isBrowser) {\n this.syncShortcutListener();\n document.addEventListener('leSidePanelOpenChange', this.onPanelStateChange as any);\n document.addEventListener('leSidePanelCollapsedChange', this.onPanelStateChange as any);\n }\n }\n\n componentDidLoad() {\n this.syncForwardedNodesIntoButton();\n this.syncAriaExpanded();\n }\n\n componentDidRender() {\n this.syncForwardedNodesIntoButton();\n this.syncAriaExpanded();\n }\n\n disconnectedCallback() {\n if (Build.isBrowser) {\n document.removeEventListener('keydown', this.onDocumentKeyDown, true);\n document.removeEventListener('leSidePanelOpenChange', this.onPanelStateChange as any);\n document.removeEventListener('leSidePanelCollapsedChange', this.onPanelStateChange as any);\n }\n }\n\n private syncShortcutListener() {\n if (!Build.isBrowser) {\n return;\n }\n if (this.shortcutSpec) {\n document.addEventListener('keydown', this.onDocumentKeyDown, true);\n } else {\n document.removeEventListener('keydown', this.onDocumentKeyDown, true);\n }\n }\n\n private getResolvedPanelId(): string | undefined {\n if (this.panelId) {\n return this.panelId;\n }\n const closestPanel = this.el?.closest?.('le-side-panel') as any;\n if (closestPanel?.panelId) {\n return closestPanel.panelId;\n }\n return undefined;\n }\n\n private emitRequest() {\n if (this.disabled) {\n return;\n }\n\n this.leSidePanelRequestToggle.emit({\n panelId: this.getResolvedPanelId(),\n action: this.action,\n });\n }\n\n private onDocumentKeyDown = (ev: KeyboardEvent) => {\n if (this.disabled) {\n return;\n }\n const spec = this.shortcutSpec;\n if (!spec) {\n return;\n }\n\n if (isEditableTarget(ev.target)) {\n return;\n }\n\n const key = (ev.key || '').toLowerCase();\n if (key !== spec.key) {\n return;\n }\n\n if (!!ev.altKey !== spec.alt) {\n return;\n }\n if (!!ev.ctrlKey !== spec.ctrl) {\n return;\n }\n if (!!ev.metaKey !== spec.meta) {\n return;\n }\n if (!!ev.shiftKey !== spec.shift) {\n return;\n }\n\n ev.preventDefault();\n this.emitRequest();\n };\n\n private onPanelStateChange = (ev: CustomEvent<any>) => {\n const detail = ev.detail || {};\n const requestedId = this.getResolvedPanelId() || '';\n const eventId = detail.panelId || '';\n\n if (requestedId !== eventId) {\n return;\n }\n\n if (typeof detail.open === 'boolean') {\n this.expanded = detail.open;\n this.syncAriaExpanded();\n }\n if (typeof detail.collapsed === 'boolean') {\n this.expanded = !detail.collapsed;\n this.syncAriaExpanded();\n }\n };\n\n private syncForwardedNodesIntoButton() {\n const btn = this.buttonEl as any;\n if (!btn || !this.forwardedNodes || this.forwardedNodes.length === 0) {\n return;\n }\n\n for (const node of this.forwardedNodes) {\n if (!node) {\n continue;\n }\n if (node.parentNode !== btn) {\n try {\n btn.appendChild(node);\n } catch {\n // ignore\n }\n }\n }\n }\n\n private syncAriaExpanded() {\n const value = typeof this.expanded === 'boolean' ? String(this.expanded) : null;\n const hostBtn = this.buttonEl as any;\n if (!hostBtn) {\n return;\n }\n\n // Best-effort: set on the actual internal <button>/<a> inside le-button.\n const inner = (hostBtn.shadowRoot?.querySelector?.('[part=\"button\"]') as HTMLElement) || null;\n const target = inner || hostBtn;\n if (value) {\n target.setAttribute('aria-expanded', value);\n } else {\n target.removeAttribute('aria-expanded');\n }\n }\n\n render() {\n return (\n <le-button\n ref={el => (this.buttonEl = el as HTMLElement)}\n mode={this.mode}\n variant={this.variant}\n color={this.color}\n size={this.size}\n selected={this.selected}\n fullWidth={this.fullWidth}\n iconOnly={this.iconOnly as any}\n iconStart={this.iconStart as any}\n iconEnd={this.iconEnd as any}\n disabled={this.disabled}\n type={this.type}\n href={this.href}\n target={this.target}\n align={this.align}\n onClick={() => this.emitRequest()}\n />\n );\n }\n}\n"]}