le-kit 0.5.2 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/LLM_CONTEXT.md +22 -33
  2. package/package.json +3 -1
  3. package/readme.md +2 -0
  4. package/dist/cjs/index-BzadfLTc.js +0 -1864
  5. package/dist/cjs/index-BzadfLTc.js.map +0 -1
  6. package/dist/cjs/index.cjs.js +0 -124
  7. package/dist/cjs/index.cjs.js.map +0 -1
  8. package/dist/cjs/le-bar_16.cjs.entry.js +0 -3709
  9. package/dist/cjs/le-box.cjs.entry.js +0 -184
  10. package/dist/cjs/le-card.cjs.entry.js +0 -29
  11. package/dist/cjs/le-code-input.cjs.entry.js +0 -181
  12. package/dist/cjs/le-combobox.cjs.entry.js +0 -237
  13. package/dist/cjs/le-header-placeholder.cjs.entry.js +0 -18
  14. package/dist/cjs/le-kit.cjs.js +0 -27
  15. package/dist/cjs/le-kit.cjs.js.map +0 -1
  16. package/dist/cjs/le-multiselect.cjs.entry.js +0 -306
  17. package/dist/cjs/le-number-input.cjs.entry.js +0 -202
  18. package/dist/cjs/le-round-progress.cjs.entry.js +0 -106
  19. package/dist/cjs/le-segmented-control.cjs.entry.js +0 -245
  20. package/dist/cjs/le-side-panel-toggle.cjs.entry.js +0 -229
  21. package/dist/cjs/le-side-panel.cjs.entry.js +0 -546
  22. package/dist/cjs/le-stack.cjs.entry.js +0 -135
  23. package/dist/cjs/le-tab-bar.cjs.entry.js +0 -242
  24. package/dist/cjs/le-tab-panel.cjs.entry.js +0 -100
  25. package/dist/cjs/le-tab.cjs.entry.js +0 -136
  26. package/dist/cjs/le-tabs.cjs.entry.js +0 -307
  27. package/dist/cjs/le-tag.cjs.entry.js +0 -68
  28. package/dist/cjs/le-text.cjs.entry.js +0 -335
  29. package/dist/cjs/le-turntable.cjs.entry.js +0 -139
  30. package/dist/cjs/loader.cjs.js +0 -15
  31. package/dist/cjs/loader.cjs.js.map +0 -1
  32. package/dist/cjs/utils-Dxx9WhWK.js +0 -152
  33. package/dist/cjs/utils-Dxx9WhWK.js.map +0 -1
  34. package/dist/collection/assets/icons/chevron-down.svg +0 -3
  35. package/dist/collection/collection-manifest.json +0 -47
  36. package/dist/collection/components/le-bar/le-bar.css +0 -255
  37. package/dist/collection/components/le-bar/le-bar.js +0 -680
  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 -614
  41. package/dist/collection/components/le-box/le-box.js.map +0 -1
  42. package/dist/collection/components/le-button/le-button.css +0 -290
  43. package/dist/collection/components/le-button/le-button.js +0 -460
  44. package/dist/collection/components/le-button/le-button.js.map +0 -1
  45. package/dist/collection/components/le-card/le-card.css +0 -74
  46. package/dist/collection/components/le-card/le-card.js +0 -102
  47. package/dist/collection/components/le-card/le-card.js.map +0 -1
  48. package/dist/collection/components/le-checkbox/le-checkbox.css +0 -93
  49. package/dist/collection/components/le-checkbox/le-checkbox.js +0 -192
  50. package/dist/collection/components/le-checkbox/le-checkbox.js.map +0 -1
  51. package/dist/collection/components/le-code-input/le-code-input.css +0 -106
  52. package/dist/collection/components/le-code-input/le-code-input.js +0 -466
  53. package/dist/collection/components/le-code-input/le-code-input.js.map +0 -1
  54. package/dist/collection/components/le-collapse/le-collapse.css +0 -31
  55. package/dist/collection/components/le-collapse/le-collapse.js +0 -184
  56. package/dist/collection/components/le-collapse/le-collapse.js.map +0 -1
  57. package/dist/collection/components/le-combobox/le-combobox.css +0 -144
  58. package/dist/collection/components/le-combobox/le-combobox.js +0 -659
  59. package/dist/collection/components/le-combobox/le-combobox.js.map +0 -1
  60. package/dist/collection/components/le-component/le-component.css +0 -189
  61. package/dist/collection/components/le-component/le-component.js +0 -367
  62. package/dist/collection/components/le-component/le-component.js.map +0 -1
  63. package/dist/collection/components/le-current-heading/le-current-heading.css +0 -13
  64. package/dist/collection/components/le-current-heading/le-current-heading.js +0 -130
  65. package/dist/collection/components/le-current-heading/le-current-heading.js.map +0 -1
  66. package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +0 -167
  67. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +0 -761
  68. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +0 -1
  69. package/dist/collection/components/le-header/le-header.css +0 -120
  70. package/dist/collection/components/le-header/le-header.js +0 -508
  71. package/dist/collection/components/le-header/le-header.js.map +0 -1
  72. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +0 -21
  73. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js.map +0 -1
  74. package/dist/collection/components/le-icon/le-icon.css +0 -13
  75. package/dist/collection/components/le-icon/le-icon.js +0 -185
  76. package/dist/collection/components/le-icon/le-icon.js.map +0 -1
  77. package/dist/collection/components/le-multiselect/le-multiselect.css +0 -163
  78. package/dist/collection/components/le-multiselect/le-multiselect.js +0 -734
  79. package/dist/collection/components/le-multiselect/le-multiselect.js.map +0 -1
  80. package/dist/collection/components/le-navigation/le-navigation.css +0 -330
  81. package/dist/collection/components/le-navigation/le-navigation.js +0 -700
  82. package/dist/collection/components/le-navigation/le-navigation.js.map +0 -1
  83. package/dist/collection/components/le-number-input/le-number-input.css +0 -135
  84. package/dist/collection/components/le-number-input/le-number-input.js +0 -515
  85. package/dist/collection/components/le-number-input/le-number-input.js.map +0 -1
  86. package/dist/collection/components/le-popover/le-popover.css +0 -163
  87. package/dist/collection/components/le-popover/le-popover.js +0 -853
  88. package/dist/collection/components/le-popover/le-popover.js.map +0 -1
  89. package/dist/collection/components/le-popup/le-popup.api.js +0 -102
  90. package/dist/collection/components/le-popup/le-popup.api.js.map +0 -1
  91. package/dist/collection/components/le-popup/le-popup.css +0 -222
  92. package/dist/collection/components/le-popup/le-popup.js +0 -626
  93. package/dist/collection/components/le-popup/le-popup.js.map +0 -1
  94. package/dist/collection/components/le-round-progress/le-round-progress.css +0 -34
  95. package/dist/collection/components/le-round-progress/le-round-progress.js +0 -184
  96. package/dist/collection/components/le-round-progress/le-round-progress.js.map +0 -1
  97. package/dist/collection/components/le-scroll-progress/le-scroll-progress.css +0 -29
  98. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +0 -186
  99. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js.map +0 -1
  100. package/dist/collection/components/le-segmented-control/le-segmented-control.css +0 -78
  101. package/dist/collection/components/le-segmented-control/le-segmented-control.js +0 -445
  102. package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +0 -1
  103. package/dist/collection/components/le-select/le-select.css +0 -121
  104. package/dist/collection/components/le-select/le-select.js +0 -578
  105. package/dist/collection/components/le-select/le-select.js.map +0 -1
  106. package/dist/collection/components/le-side-panel/le-side-panel.css +0 -193
  107. package/dist/collection/components/le-side-panel/le-side-panel.js +0 -953
  108. package/dist/collection/components/le-side-panel/le-side-panel.js.map +0 -1
  109. package/dist/collection/components/le-side-panel-toggle/le-side-panel-toggle.js +0 -610
  110. package/dist/collection/components/le-side-panel-toggle/le-side-panel-toggle.js.map +0 -1
  111. package/dist/collection/components/le-slot/le-slot.default.css +0 -222
  112. package/dist/collection/components/le-slot/le-slot.js +0 -638
  113. package/dist/collection/components/le-slot/le-slot.js.map +0 -1
  114. package/dist/collection/components/le-stack/le-stack.default.css +0 -37
  115. package/dist/collection/components/le-stack/le-stack.js +0 -389
  116. package/dist/collection/components/le-stack/le-stack.js.map +0 -1
  117. package/dist/collection/components/le-string-input/le-string-input.css +0 -83
  118. package/dist/collection/components/le-string-input/le-string-input.js +0 -413
  119. package/dist/collection/components/le-string-input/le-string-input.js.map +0 -1
  120. package/dist/collection/components/le-tab/le-tab.css +0 -289
  121. package/dist/collection/components/le-tab/le-tab.js +0 -565
  122. package/dist/collection/components/le-tab/le-tab.js.map +0 -1
  123. package/dist/collection/components/le-tab-bar/le-tab-bar.css +0 -89
  124. package/dist/collection/components/le-tab-bar/le-tab-bar.js +0 -467
  125. package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +0 -1
  126. package/dist/collection/components/le-tab-panel/le-tab-panel.css +0 -30
  127. package/dist/collection/components/le-tab-panel/le-tab-panel.js +0 -302
  128. package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +0 -1
  129. package/dist/collection/components/le-tabs/le-tabs.css +0 -146
  130. package/dist/collection/components/le-tabs/le-tabs.js +0 -588
  131. package/dist/collection/components/le-tabs/le-tabs.js.map +0 -1
  132. package/dist/collection/components/le-tag/le-tag.css +0 -139
  133. package/dist/collection/components/le-tag/le-tag.js +0 -266
  134. package/dist/collection/components/le-tag/le-tag.js.map +0 -1
  135. package/dist/collection/components/le-text/le-text.css +0 -169
  136. package/dist/collection/components/le-text/le-text.js +0 -475
  137. package/dist/collection/components/le-text/le-text.js.map +0 -1
  138. package/dist/collection/components/le-turntable/le-turntable.css +0 -10
  139. package/dist/collection/components/le-turntable/le-turntable.js +0 -210
  140. package/dist/collection/components/le-turntable/le-turntable.js.map +0 -1
  141. package/dist/collection/dist/components/assets/custom-elements.json +0 -11935
  142. package/dist/collection/dist/components/assets/icons/chevron-down.json +0 -13
  143. package/dist/collection/dist/components/assets/icons/chevron-down.svg +0 -3
  144. package/dist/collection/dist/components/assets/icons/ellipsis-horizontal.json +0 -14
  145. package/dist/collection/dist/components/assets/icons/ellipsis-vertical.json +0 -14
  146. package/dist/collection/dist/components/assets/icons/hamburger.json +0 -14
  147. package/dist/collection/dist/components/assets/icons/side-panel.json +0 -61
  148. package/dist/collection/dist/themes/base.css +0 -89
  149. package/dist/collection/dist/themes/dark.css +0 -104
  150. package/dist/collection/dist/themes/default.css +0 -112
  151. package/dist/collection/dist/themes/gradient.css +0 -104
  152. package/dist/collection/dist/themes/index.css +0 -76
  153. package/dist/collection/dist/themes/minimal.css +0 -104
  154. package/dist/collection/dist/themes/warm.css +0 -104
  155. package/dist/collection/global/app.js +0 -177
  156. package/dist/collection/global/app.js.map +0 -1
  157. package/dist/collection/index.js +0 -16
  158. package/dist/collection/index.js.map +0 -1
  159. package/dist/collection/types/blocks.js +0 -115
  160. package/dist/collection/types/blocks.js.map +0 -1
  161. package/dist/collection/types/options.js +0 -2
  162. package/dist/collection/types/options.js.map +0 -1
  163. package/dist/collection/utils/utils.js +0 -141
  164. package/dist/collection/utils/utils.js.map +0 -1
  165. package/dist/components/app.js +0 -180
  166. package/dist/components/app.js.map +0 -1
  167. package/dist/components/assets/custom-elements.json +0 -11935
  168. package/dist/components/assets/icons/chevron-down.json +0 -13
  169. package/dist/components/assets/icons/chevron-down.svg +0 -3
  170. package/dist/components/assets/icons/ellipsis-horizontal.json +0 -14
  171. package/dist/components/assets/icons/ellipsis-vertical.json +0 -14
  172. package/dist/components/assets/icons/hamburger.json +0 -14
  173. package/dist/components/assets/icons/side-panel.json +0 -61
  174. package/dist/components/index.d.ts +0 -33
  175. package/dist/components/index.js +0 -12
  176. package/dist/components/index.js.map +0 -1
  177. package/dist/components/le-bar.d.ts +0 -11
  178. package/dist/components/le-bar.js +0 -9
  179. package/dist/components/le-bar.js.map +0 -1
  180. package/dist/components/le-bar2.js +0 -506
  181. package/dist/components/le-bar2.js.map +0 -1
  182. package/dist/components/le-box.d.ts +0 -11
  183. package/dist/components/le-box.js +0 -273
  184. package/dist/components/le-box.js.map +0 -1
  185. package/dist/components/le-button.d.ts +0 -11
  186. package/dist/components/le-button.js +0 -9
  187. package/dist/components/le-button.js.map +0 -1
  188. package/dist/components/le-button2.js +0 -1791
  189. package/dist/components/le-button2.js.map +0 -1
  190. package/dist/components/le-card.d.ts +0 -11
  191. package/dist/components/le-card.js +0 -100
  192. package/dist/components/le-card.js.map +0 -1
  193. package/dist/components/le-checkbox.d.ts +0 -11
  194. package/dist/components/le-checkbox.js +0 -9
  195. package/dist/components/le-checkbox.js.map +0 -1
  196. package/dist/components/le-code-input.d.ts +0 -11
  197. package/dist/components/le-code-input.js +0 -265
  198. package/dist/components/le-code-input.js.map +0 -1
  199. package/dist/components/le-collapse.d.ts +0 -11
  200. package/dist/components/le-collapse.js +0 -9
  201. package/dist/components/le-collapse.js.map +0 -1
  202. package/dist/components/le-collapse2.js +0 -138
  203. package/dist/components/le-collapse2.js.map +0 -1
  204. package/dist/components/le-combobox.d.ts +0 -11
  205. package/dist/components/le-combobox.js +0 -326
  206. package/dist/components/le-combobox.js.map +0 -1
  207. package/dist/components/le-component.d.ts +0 -11
  208. package/dist/components/le-component.js +0 -9
  209. package/dist/components/le-component.js.map +0 -1
  210. package/dist/components/le-current-heading.d.ts +0 -11
  211. package/dist/components/le-current-heading.js +0 -93
  212. package/dist/components/le-current-heading.js.map +0 -1
  213. package/dist/components/le-dropdown-base.d.ts +0 -11
  214. package/dist/components/le-dropdown-base.js +0 -9
  215. package/dist/components/le-dropdown-base.js.map +0 -1
  216. package/dist/components/le-dropdown-base2.js +0 -393
  217. package/dist/components/le-dropdown-base2.js.map +0 -1
  218. package/dist/components/le-header-placeholder.d.ts +0 -11
  219. package/dist/components/le-header-placeholder.js +0 -37
  220. package/dist/components/le-header-placeholder.js.map +0 -1
  221. package/dist/components/le-header.d.ts +0 -11
  222. package/dist/components/le-header.js +0 -349
  223. package/dist/components/le-header.js.map +0 -1
  224. package/dist/components/le-icon.d.ts +0 -11
  225. package/dist/components/le-icon.js +0 -9
  226. package/dist/components/le-icon.js.map +0 -1
  227. package/dist/components/le-icon2.js +0 -150
  228. package/dist/components/le-icon2.js.map +0 -1
  229. package/dist/components/le-multiselect.d.ts +0 -11
  230. package/dist/components/le-multiselect.js +0 -405
  231. package/dist/components/le-multiselect.js.map +0 -1
  232. package/dist/components/le-navigation.d.ts +0 -11
  233. package/dist/components/le-navigation.js +0 -502
  234. package/dist/components/le-navigation.js.map +0 -1
  235. package/dist/components/le-number-input.d.ts +0 -11
  236. package/dist/components/le-number-input.js +0 -288
  237. package/dist/components/le-number-input.js.map +0 -1
  238. package/dist/components/le-popover.d.ts +0 -11
  239. package/dist/components/le-popover.js +0 -9
  240. package/dist/components/le-popover.js.map +0 -1
  241. package/dist/components/le-popover2.js +0 -667
  242. package/dist/components/le-popover2.js.map +0 -1
  243. package/dist/components/le-popup.api.js +0 -106
  244. package/dist/components/le-popup.api.js.map +0 -1
  245. package/dist/components/le-popup.d.ts +0 -11
  246. package/dist/components/le-popup.js +0 -9
  247. package/dist/components/le-popup.js.map +0 -1
  248. package/dist/components/le-round-progress.d.ts +0 -11
  249. package/dist/components/le-round-progress.js +0 -135
  250. package/dist/components/le-round-progress.js.map +0 -1
  251. package/dist/components/le-scroll-progress.d.ts +0 -11
  252. package/dist/components/le-scroll-progress.js +0 -142
  253. package/dist/components/le-scroll-progress.js.map +0 -1
  254. package/dist/components/le-segmented-control.d.ts +0 -11
  255. package/dist/components/le-segmented-control.js +0 -331
  256. package/dist/components/le-segmented-control.js.map +0 -1
  257. package/dist/components/le-select.d.ts +0 -11
  258. package/dist/components/le-select.js +0 -9
  259. package/dist/components/le-select.js.map +0 -1
  260. package/dist/components/le-side-panel-toggle.d.ts +0 -11
  261. package/dist/components/le-side-panel-toggle.js +0 -9
  262. package/dist/components/le-side-panel-toggle.js.map +0 -1
  263. package/dist/components/le-side-panel-toggle2.js +0 -311
  264. package/dist/components/le-side-panel-toggle2.js.map +0 -1
  265. package/dist/components/le-side-panel.d.ts +0 -11
  266. package/dist/components/le-side-panel.js +0 -660
  267. package/dist/components/le-side-panel.js.map +0 -1
  268. package/dist/components/le-slot.d.ts +0 -11
  269. package/dist/components/le-slot.js +0 -9
  270. package/dist/components/le-slot.js.map +0 -1
  271. package/dist/components/le-stack.d.ts +0 -11
  272. package/dist/components/le-stack.js +0 -215
  273. package/dist/components/le-stack.js.map +0 -1
  274. package/dist/components/le-string-input.d.ts +0 -11
  275. package/dist/components/le-string-input.js +0 -9
  276. package/dist/components/le-string-input.js.map +0 -1
  277. package/dist/components/le-tab-bar.d.ts +0 -11
  278. package/dist/components/le-tab-bar.js +0 -330
  279. package/dist/components/le-tab-bar.js.map +0 -1
  280. package/dist/components/le-tab-panel.d.ts +0 -11
  281. package/dist/components/le-tab-panel.js +0 -182
  282. package/dist/components/le-tab-panel.js.map +0 -1
  283. package/dist/components/le-tab.d.ts +0 -11
  284. package/dist/components/le-tab.js +0 -9
  285. package/dist/components/le-tab.js.map +0 -1
  286. package/dist/components/le-tab2.js +0 -220
  287. package/dist/components/le-tab2.js.map +0 -1
  288. package/dist/components/le-tabs.d.ts +0 -11
  289. package/dist/components/le-tabs.js +0 -397
  290. package/dist/components/le-tabs.js.map +0 -1
  291. package/dist/components/le-tag.d.ts +0 -11
  292. package/dist/components/le-tag.js +0 -9
  293. package/dist/components/le-tag.js.map +0 -1
  294. package/dist/components/le-tag2.js +0 -141
  295. package/dist/components/le-tag2.js.map +0 -1
  296. package/dist/components/le-text.d.ts +0 -11
  297. package/dist/components/le-text.js +0 -415
  298. package/dist/components/le-text.js.map +0 -1
  299. package/dist/components/le-turntable.d.ts +0 -11
  300. package/dist/components/le-turntable.js +0 -164
  301. package/dist/components/le-turntable.js.map +0 -1
  302. package/dist/components/utils.js +0 -146
  303. package/dist/components/utils.js.map +0 -1
  304. package/dist/docs.d.ts +0 -443
  305. package/dist/docs.json +0 -14289
  306. package/dist/esm/index-DFTm5BqT.js +0 -1844
  307. package/dist/esm/index-DFTm5BqT.js.map +0 -1
  308. package/dist/esm/index.js +0 -109
  309. package/dist/esm/index.js.map +0 -1
  310. package/dist/esm/le-bar_16.entry.js +0 -3692
  311. package/dist/esm/le-box.entry.js +0 -182
  312. package/dist/esm/le-box.entry.js.map +0 -1
  313. package/dist/esm/le-card.entry.js +0 -27
  314. package/dist/esm/le-card.entry.js.map +0 -1
  315. package/dist/esm/le-code-input.entry.js +0 -179
  316. package/dist/esm/le-code-input.entry.js.map +0 -1
  317. package/dist/esm/le-combobox.entry.js +0 -235
  318. package/dist/esm/le-combobox.entry.js.map +0 -1
  319. package/dist/esm/le-header-placeholder.entry.js +0 -16
  320. package/dist/esm/le-header-placeholder.entry.js.map +0 -1
  321. package/dist/esm/le-kit.js +0 -23
  322. package/dist/esm/le-kit.js.map +0 -1
  323. package/dist/esm/le-multiselect.entry.js +0 -304
  324. package/dist/esm/le-multiselect.entry.js.map +0 -1
  325. package/dist/esm/le-number-input.entry.js +0 -200
  326. package/dist/esm/le-number-input.entry.js.map +0 -1
  327. package/dist/esm/le-round-progress.entry.js +0 -104
  328. package/dist/esm/le-round-progress.entry.js.map +0 -1
  329. package/dist/esm/le-segmented-control.entry.js +0 -243
  330. package/dist/esm/le-segmented-control.entry.js.map +0 -1
  331. package/dist/esm/le-side-panel-toggle.entry.js +0 -227
  332. package/dist/esm/le-side-panel-toggle.entry.js.map +0 -1
  333. package/dist/esm/le-side-panel.entry.js +0 -544
  334. package/dist/esm/le-side-panel.entry.js.map +0 -1
  335. package/dist/esm/le-stack.entry.js +0 -133
  336. package/dist/esm/le-stack.entry.js.map +0 -1
  337. package/dist/esm/le-tab-bar.entry.js +0 -240
  338. package/dist/esm/le-tab-bar.entry.js.map +0 -1
  339. package/dist/esm/le-tab-panel.entry.js +0 -98
  340. package/dist/esm/le-tab-panel.entry.js.map +0 -1
  341. package/dist/esm/le-tab.entry.js +0 -134
  342. package/dist/esm/le-tab.entry.js.map +0 -1
  343. package/dist/esm/le-tabs.entry.js +0 -305
  344. package/dist/esm/le-tabs.entry.js.map +0 -1
  345. package/dist/esm/le-tag.entry.js +0 -66
  346. package/dist/esm/le-tag.entry.js.map +0 -1
  347. package/dist/esm/le-text.entry.js +0 -333
  348. package/dist/esm/le-text.entry.js.map +0 -1
  349. package/dist/esm/le-turntable.entry.js +0 -137
  350. package/dist/esm/le-turntable.entry.js.map +0 -1
  351. package/dist/esm/loader.js +0 -13
  352. package/dist/esm/loader.js.map +0 -1
  353. package/dist/esm/utils-DZYCZLrF.js +0 -146
  354. package/dist/esm/utils-DZYCZLrF.js.map +0 -1
  355. package/dist/index.cjs.js +0 -1
  356. package/dist/index.js +0 -1
  357. package/dist/le-kit/dist/components/assets/custom-elements.json +0 -11935
  358. package/dist/le-kit/dist/components/assets/icons/chevron-down.json +0 -13
  359. package/dist/le-kit/dist/components/assets/icons/chevron-down.svg +0 -3
  360. package/dist/le-kit/dist/components/assets/icons/ellipsis-horizontal.json +0 -14
  361. package/dist/le-kit/dist/components/assets/icons/ellipsis-vertical.json +0 -14
  362. package/dist/le-kit/dist/components/assets/icons/hamburger.json +0 -14
  363. package/dist/le-kit/dist/components/assets/icons/side-panel.json +0 -61
  364. package/dist/le-kit/dist/themes/base.css +0 -89
  365. package/dist/le-kit/dist/themes/dark.css +0 -104
  366. package/dist/le-kit/dist/themes/default.css +0 -112
  367. package/dist/le-kit/dist/themes/gradient.css +0 -104
  368. package/dist/le-kit/dist/themes/index.css +0 -76
  369. package/dist/le-kit/dist/themes/minimal.css +0 -104
  370. package/dist/le-kit/dist/themes/warm.css +0 -104
  371. package/dist/le-kit/index.esm.js +0 -2
  372. package/dist/le-kit/index.esm.js.map +0 -1
  373. package/dist/le-kit/le-kit.css +0 -1
  374. package/dist/le-kit/le-kit.esm.js +0 -2
  375. package/dist/le-kit/le-kit.esm.js.map +0 -1
  376. package/dist/le-kit/loader.esm.js.map +0 -1
  377. package/dist/le-kit/p-221d379a.entry.js +0 -2
  378. package/dist/le-kit/p-221d379a.entry.js.map +0 -1
  379. package/dist/le-kit/p-24112ca3.entry.js +0 -2
  380. package/dist/le-kit/p-24112ca3.entry.js.map +0 -1
  381. package/dist/le-kit/p-2c6d080d.entry.js +0 -2
  382. package/dist/le-kit/p-2c6d080d.entry.js.map +0 -1
  383. package/dist/le-kit/p-46276e77.entry.js +0 -2
  384. package/dist/le-kit/p-46276e77.entry.js.map +0 -1
  385. package/dist/le-kit/p-516c8531.entry.js +0 -2
  386. package/dist/le-kit/p-516c8531.entry.js.map +0 -1
  387. package/dist/le-kit/p-6ae60ba5.entry.js +0 -2
  388. package/dist/le-kit/p-6ae60ba5.entry.js.map +0 -1
  389. package/dist/le-kit/p-6b69f9a2.entry.js +0 -2
  390. package/dist/le-kit/p-6b69f9a2.entry.js.map +0 -1
  391. package/dist/le-kit/p-6d14306f.entry.js +0 -2
  392. package/dist/le-kit/p-6d14306f.entry.js.map +0 -1
  393. package/dist/le-kit/p-7bcdf2d4.entry.js +0 -2
  394. package/dist/le-kit/p-7bcdf2d4.entry.js.map +0 -1
  395. package/dist/le-kit/p-7cf1e23c.entry.js +0 -2
  396. package/dist/le-kit/p-7cf1e23c.entry.js.map +0 -1
  397. package/dist/le-kit/p-85f2fd4d.entry.js +0 -2
  398. package/dist/le-kit/p-85f2fd4d.entry.js.map +0 -1
  399. package/dist/le-kit/p-98242429.entry.js +0 -2
  400. package/dist/le-kit/p-98242429.entry.js.map +0 -1
  401. package/dist/le-kit/p-D8RYDS9p.js +0 -2
  402. package/dist/le-kit/p-D8RYDS9p.js.map +0 -1
  403. package/dist/le-kit/p-DFTm5BqT.js +0 -3
  404. package/dist/le-kit/p-DFTm5BqT.js.map +0 -1
  405. package/dist/le-kit/p-ab6c1def.entry.js +0 -2
  406. package/dist/le-kit/p-ab6c1def.entry.js.map +0 -1
  407. package/dist/le-kit/p-ae4ead64.entry.js +0 -2
  408. package/dist/le-kit/p-ae4ead64.entry.js.map +0 -1
  409. package/dist/le-kit/p-b05d4511.entry.js +0 -2
  410. package/dist/le-kit/p-b05d4511.entry.js.map +0 -1
  411. package/dist/le-kit/p-b6ac02ff.entry.js +0 -2
  412. package/dist/le-kit/p-b6ac02ff.entry.js.map +0 -1
  413. package/dist/le-kit/p-c24769e2.entry.js +0 -2
  414. package/dist/le-kit/p-c24769e2.entry.js.map +0 -1
  415. package/dist/le-kit/p-dc0445ad.entry.js +0 -2
  416. package/dist/le-kit/p-dc0445ad.entry.js.map +0 -1
  417. package/dist/le-kit/p-eb5286f2.entry.js +0 -2
  418. package/dist/le-kit/p-eb5286f2.entry.js.map +0 -1
  419. package/dist/le-kit/p-f78b1ee6.entry.js +0 -2
  420. package/dist/le-kit/p-f78b1ee6.entry.js.map +0 -1
  421. package/dist/themes/base.css +0 -89
  422. package/dist/themes/dark.css +0 -104
  423. package/dist/themes/default.css +0 -112
  424. package/dist/themes/gradient.css +0 -104
  425. package/dist/themes/index.css +0 -76
  426. package/dist/themes/minimal.css +0 -104
  427. package/dist/themes/warm.css +0 -104
  428. package/dist/types/components/le-bar/le-bar.d.ts +0 -131
  429. package/dist/types/components/le-box/le-box.d.ts +0 -111
  430. package/dist/types/components/le-button/le-button.d.ts +0 -93
  431. package/dist/types/components/le-card/le-card.d.ts +0 -37
  432. package/dist/types/components/le-checkbox/le-checkbox.d.ts +0 -46
  433. package/dist/types/components/le-code-input/le-code-input.d.ts +0 -102
  434. package/dist/types/components/le-collapse/le-collapse.d.ts +0 -43
  435. package/dist/types/components/le-combobox/le-combobox.d.ts +0 -128
  436. package/dist/types/components/le-component/le-component.d.ts +0 -115
  437. package/dist/types/components/le-current-heading/le-current-heading.d.ts +0 -25
  438. package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +0 -118
  439. package/dist/types/components/le-header/le-header.d.ts +0 -115
  440. package/dist/types/components/le-header-placeholder/le-header-placeholder.d.ts +0 -13
  441. package/dist/types/components/le-icon/le-icon.d.ts +0 -28
  442. package/dist/types/components/le-multiselect/le-multiselect.d.ts +0 -143
  443. package/dist/types/components/le-navigation/le-navigation.d.ts +0 -125
  444. package/dist/types/components/le-number-input/le-number-input.d.ts +0 -106
  445. package/dist/types/components/le-popover/le-popover.d.ts +0 -129
  446. package/dist/types/components/le-popup/le-popup.api.d.ts +0 -73
  447. package/dist/types/components/le-popup/le-popup.d.ts +0 -127
  448. package/dist/types/components/le-round-progress/le-round-progress.d.ts +0 -37
  449. package/dist/types/components/le-scroll-progress/le-scroll-progress.d.ts +0 -40
  450. package/dist/types/components/le-segmented-control/le-segmented-control.d.ts +0 -82
  451. package/dist/types/components/le-select/le-select.d.ts +0 -125
  452. package/dist/types/components/le-side-panel/le-side-panel.d.ts +0 -100
  453. package/dist/types/components/le-side-panel-toggle/le-side-panel-toggle.d.ts +0 -48
  454. package/dist/types/components/le-slot/le-slot.d.ts +0 -149
  455. package/dist/types/components/le-stack/le-stack.d.ts +0 -73
  456. package/dist/types/components/le-string-input/le-string-input.d.ts +0 -91
  457. package/dist/types/components/le-tab/le-tab.d.ts +0 -116
  458. package/dist/types/components/le-tab-bar/le-tab-bar.d.ts +0 -88
  459. package/dist/types/components/le-tab-panel/le-tab-panel.d.ts +0 -75
  460. package/dist/types/components/le-tabs/le-tabs.d.ts +0 -108
  461. package/dist/types/components/le-tag/le-tag.d.ts +0 -78
  462. package/dist/types/components/le-text/le-text.d.ts +0 -141
  463. package/dist/types/components/le-turntable/le-turntable.d.ts +0 -55
  464. package/dist/types/components.d.ts +0 -5716
  465. package/dist/types/global/app.d.ts +0 -96
  466. package/dist/types/index.d.ts +0 -16
  467. package/dist/types/stencil-public-runtime.d.ts +0 -1799
  468. package/dist/types/types/blocks.d.ts +0 -136
  469. package/dist/types/types/options.d.ts +0 -143
  470. package/dist/types/utils/utils.d.ts +0 -54
  471. package/loader/cdn.js +0 -1
  472. package/loader/index.cjs.js +0 -1
  473. package/loader/index.d.ts +0 -24
  474. package/loader/index.es2017.js +0 -1
  475. package/loader/index.js +0 -2
@@ -1,610 +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
- el;
50
- /** Optional id used to target a specific panel. */
51
- panelId;
52
- /** Action to emit. Default toggles the panel. */
53
- action = 'toggle';
54
- /** Optional keyboard shortcut like `Mod+B` or `Alt+N`. */
55
- shortcut;
56
- /** Disables the toggle. */
57
- disabled = false;
58
- // Pass-through props for le-button
59
- mode;
60
- variant = 'solid';
61
- color = 'primary';
62
- size = 'medium';
63
- selected = false;
64
- fullWidth = false;
65
- iconOnly;
66
- iconStart;
67
- iconEnd;
68
- type = 'button';
69
- href;
70
- target;
71
- align = 'center';
72
- leSidePanelRequestToggle;
73
- shortcutSpec;
74
- expanded;
75
- buttonEl;
76
- forwardedNodes;
77
- onShortcutChanged() {
78
- this.shortcutSpec = parseShortcut(this.shortcut);
79
- this.syncShortcutListener();
80
- }
81
- connectedCallback() {
82
- this.shortcutSpec = parseShortcut(this.shortcut);
83
- this.forwardedNodes = Array.from(this.el.childNodes);
84
- if (Build.isBrowser) {
85
- this.syncShortcutListener();
86
- document.addEventListener('leSidePanelOpenChange', this.onPanelStateChange);
87
- document.addEventListener('leSidePanelCollapsedChange', this.onPanelStateChange);
88
- }
89
- }
90
- componentDidLoad() {
91
- this.syncForwardedNodesIntoButton();
92
- this.syncAriaExpanded();
93
- }
94
- componentDidRender() {
95
- this.syncForwardedNodesIntoButton();
96
- this.syncAriaExpanded();
97
- }
98
- disconnectedCallback() {
99
- if (Build.isBrowser) {
100
- document.removeEventListener('keydown', this.onDocumentKeyDown, true);
101
- document.removeEventListener('leSidePanelOpenChange', this.onPanelStateChange);
102
- document.removeEventListener('leSidePanelCollapsedChange', this.onPanelStateChange);
103
- }
104
- }
105
- syncShortcutListener() {
106
- if (!Build.isBrowser) {
107
- return;
108
- }
109
- if (this.shortcutSpec) {
110
- document.addEventListener('keydown', this.onDocumentKeyDown, true);
111
- }
112
- else {
113
- document.removeEventListener('keydown', this.onDocumentKeyDown, true);
114
- }
115
- }
116
- getResolvedPanelId() {
117
- if (this.panelId) {
118
- return this.panelId;
119
- }
120
- const closestPanel = this.el?.closest?.('le-side-panel');
121
- if (closestPanel?.panelId) {
122
- return closestPanel.panelId;
123
- }
124
- return undefined;
125
- }
126
- emitRequest() {
127
- if (this.disabled) {
128
- return;
129
- }
130
- this.leSidePanelRequestToggle.emit({
131
- panelId: this.getResolvedPanelId(),
132
- action: this.action,
133
- });
134
- }
135
- onDocumentKeyDown = (ev) => {
136
- if (this.disabled) {
137
- return;
138
- }
139
- const spec = this.shortcutSpec;
140
- if (!spec) {
141
- return;
142
- }
143
- if (isEditableTarget(ev.target)) {
144
- return;
145
- }
146
- const key = (ev.key || '').toLowerCase();
147
- if (key !== spec.key) {
148
- return;
149
- }
150
- if (!!ev.altKey !== spec.alt) {
151
- return;
152
- }
153
- if (!!ev.ctrlKey !== spec.ctrl) {
154
- return;
155
- }
156
- if (!!ev.metaKey !== spec.meta) {
157
- return;
158
- }
159
- if (!!ev.shiftKey !== spec.shift) {
160
- return;
161
- }
162
- ev.preventDefault();
163
- this.emitRequest();
164
- };
165
- onPanelStateChange = (ev) => {
166
- const detail = ev.detail || {};
167
- const requestedId = this.getResolvedPanelId() || '';
168
- const eventId = detail.panelId || '';
169
- if (requestedId !== eventId) {
170
- return;
171
- }
172
- if (typeof detail.open === 'boolean') {
173
- this.expanded = detail.open;
174
- this.syncAriaExpanded();
175
- }
176
- if (typeof detail.collapsed === 'boolean') {
177
- this.expanded = !detail.collapsed;
178
- this.syncAriaExpanded();
179
- }
180
- };
181
- syncForwardedNodesIntoButton() {
182
- const btn = this.buttonEl;
183
- if (!btn || !this.forwardedNodes || this.forwardedNodes.length === 0) {
184
- return;
185
- }
186
- for (const node of this.forwardedNodes) {
187
- if (!node) {
188
- continue;
189
- }
190
- if (node.parentNode !== btn) {
191
- try {
192
- btn.appendChild(node);
193
- }
194
- catch {
195
- // ignore
196
- }
197
- }
198
- }
199
- }
200
- syncAriaExpanded() {
201
- const value = typeof this.expanded === 'boolean' ? String(this.expanded) : null;
202
- const hostBtn = this.buttonEl;
203
- if (!hostBtn) {
204
- return;
205
- }
206
- // Best-effort: set on the actual internal <button>/<a> inside le-button.
207
- const inner = hostBtn.shadowRoot?.querySelector?.('[part="button"]') || null;
208
- const target = inner || hostBtn;
209
- if (value) {
210
- target.setAttribute('aria-expanded', value);
211
- }
212
- else {
213
- target.removeAttribute('aria-expanded');
214
- }
215
- }
216
- render() {
217
- return (h("le-button", { key: '382be5b4b8c301dc1d5b8c2d8709bd83cfc08409', 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() }));
218
- }
219
- static get is() { return "le-side-panel-toggle"; }
220
- static get encapsulation() { return "shadow"; }
221
- static get properties() {
222
- return {
223
- "panelId": {
224
- "type": "string",
225
- "mutable": false,
226
- "complexType": {
227
- "original": "string",
228
- "resolved": "string",
229
- "references": {}
230
- },
231
- "required": false,
232
- "optional": true,
233
- "docs": {
234
- "tags": [],
235
- "text": "Optional id used to target a specific panel."
236
- },
237
- "getter": false,
238
- "setter": false,
239
- "reflect": false,
240
- "attribute": "panel-id"
241
- },
242
- "action": {
243
- "type": "string",
244
- "mutable": false,
245
- "complexType": {
246
- "original": "LeSidePanelToggleAction",
247
- "resolved": "\"close\" | \"open\" | \"toggle\"",
248
- "references": {
249
- "LeSidePanelToggleAction": {
250
- "location": "local",
251
- "path": "/home/runner/work/le-kit/le-kit/src/components/le-side-panel-toggle/le-side-panel-toggle.tsx",
252
- "id": "src/components/le-side-panel-toggle/le-side-panel-toggle.tsx::LeSidePanelToggleAction"
253
- }
254
- }
255
- },
256
- "required": false,
257
- "optional": false,
258
- "docs": {
259
- "tags": [],
260
- "text": "Action to emit. Default toggles the panel."
261
- },
262
- "getter": false,
263
- "setter": false,
264
- "reflect": false,
265
- "attribute": "action",
266
- "defaultValue": "'toggle'"
267
- },
268
- "shortcut": {
269
- "type": "string",
270
- "mutable": false,
271
- "complexType": {
272
- "original": "string",
273
- "resolved": "string",
274
- "references": {}
275
- },
276
- "required": false,
277
- "optional": true,
278
- "docs": {
279
- "tags": [],
280
- "text": "Optional keyboard shortcut like `Mod+B` or `Alt+N`."
281
- },
282
- "getter": false,
283
- "setter": false,
284
- "reflect": false,
285
- "attribute": "shortcut"
286
- },
287
- "disabled": {
288
- "type": "boolean",
289
- "mutable": false,
290
- "complexType": {
291
- "original": "boolean",
292
- "resolved": "boolean",
293
- "references": {}
294
- },
295
- "required": false,
296
- "optional": false,
297
- "docs": {
298
- "tags": [],
299
- "text": "Disables the toggle."
300
- },
301
- "getter": false,
302
- "setter": false,
303
- "reflect": false,
304
- "attribute": "disabled",
305
- "defaultValue": "false"
306
- },
307
- "mode": {
308
- "type": "string",
309
- "mutable": true,
310
- "complexType": {
311
- "original": "'default' | 'admin'",
312
- "resolved": "\"admin\" | \"default\"",
313
- "references": {}
314
- },
315
- "required": false,
316
- "optional": false,
317
- "docs": {
318
- "tags": [],
319
- "text": ""
320
- },
321
- "getter": false,
322
- "setter": false,
323
- "reflect": true,
324
- "attribute": "mode"
325
- },
326
- "variant": {
327
- "type": "string",
328
- "mutable": false,
329
- "complexType": {
330
- "original": "'solid' | 'outlined' | 'clear' | 'system'",
331
- "resolved": "\"clear\" | \"outlined\" | \"solid\" | \"system\"",
332
- "references": {}
333
- },
334
- "required": false,
335
- "optional": false,
336
- "docs": {
337
- "tags": [],
338
- "text": ""
339
- },
340
- "getter": false,
341
- "setter": false,
342
- "reflect": false,
343
- "attribute": "variant",
344
- "defaultValue": "'solid'"
345
- },
346
- "color": {
347
- "type": "string",
348
- "mutable": false,
349
- "complexType": {
350
- "original": "'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info'",
351
- "resolved": "\"danger\" | \"info\" | \"primary\" | \"secondary\" | \"success\" | \"warning\"",
352
- "references": {}
353
- },
354
- "required": false,
355
- "optional": false,
356
- "docs": {
357
- "tags": [],
358
- "text": ""
359
- },
360
- "getter": false,
361
- "setter": false,
362
- "reflect": false,
363
- "attribute": "color",
364
- "defaultValue": "'primary'"
365
- },
366
- "size": {
367
- "type": "string",
368
- "mutable": false,
369
- "complexType": {
370
- "original": "'small' | 'medium' | 'large'",
371
- "resolved": "\"large\" | \"medium\" | \"small\"",
372
- "references": {}
373
- },
374
- "required": false,
375
- "optional": false,
376
- "docs": {
377
- "tags": [],
378
- "text": ""
379
- },
380
- "getter": false,
381
- "setter": false,
382
- "reflect": false,
383
- "attribute": "size",
384
- "defaultValue": "'medium'"
385
- },
386
- "selected": {
387
- "type": "boolean",
388
- "mutable": false,
389
- "complexType": {
390
- "original": "boolean",
391
- "resolved": "boolean",
392
- "references": {}
393
- },
394
- "required": false,
395
- "optional": false,
396
- "docs": {
397
- "tags": [],
398
- "text": ""
399
- },
400
- "getter": false,
401
- "setter": false,
402
- "reflect": false,
403
- "attribute": "selected",
404
- "defaultValue": "false"
405
- },
406
- "fullWidth": {
407
- "type": "boolean",
408
- "mutable": false,
409
- "complexType": {
410
- "original": "boolean",
411
- "resolved": "boolean",
412
- "references": {}
413
- },
414
- "required": false,
415
- "optional": false,
416
- "docs": {
417
- "tags": [],
418
- "text": ""
419
- },
420
- "getter": false,
421
- "setter": false,
422
- "reflect": true,
423
- "attribute": "full-width",
424
- "defaultValue": "false"
425
- },
426
- "iconOnly": {
427
- "type": "string",
428
- "mutable": false,
429
- "complexType": {
430
- "original": "string | Node",
431
- "resolved": "Node | string",
432
- "references": {
433
- "Node": {
434
- "location": "global",
435
- "id": "global::Node"
436
- }
437
- }
438
- },
439
- "required": false,
440
- "optional": true,
441
- "docs": {
442
- "tags": [],
443
- "text": ""
444
- },
445
- "getter": false,
446
- "setter": false,
447
- "reflect": false,
448
- "attribute": "icon-only"
449
- },
450
- "iconStart": {
451
- "type": "string",
452
- "mutable": false,
453
- "complexType": {
454
- "original": "string | Node",
455
- "resolved": "Node | string",
456
- "references": {
457
- "Node": {
458
- "location": "global",
459
- "id": "global::Node"
460
- }
461
- }
462
- },
463
- "required": false,
464
- "optional": true,
465
- "docs": {
466
- "tags": [],
467
- "text": ""
468
- },
469
- "getter": false,
470
- "setter": false,
471
- "reflect": false,
472
- "attribute": "icon-start"
473
- },
474
- "iconEnd": {
475
- "type": "string",
476
- "mutable": false,
477
- "complexType": {
478
- "original": "string | Node",
479
- "resolved": "Node | string",
480
- "references": {
481
- "Node": {
482
- "location": "global",
483
- "id": "global::Node"
484
- }
485
- }
486
- },
487
- "required": false,
488
- "optional": true,
489
- "docs": {
490
- "tags": [],
491
- "text": ""
492
- },
493
- "getter": false,
494
- "setter": false,
495
- "reflect": false,
496
- "attribute": "icon-end"
497
- },
498
- "type": {
499
- "type": "string",
500
- "mutable": false,
501
- "complexType": {
502
- "original": "'button' | 'submit' | 'reset'",
503
- "resolved": "\"button\" | \"reset\" | \"submit\"",
504
- "references": {}
505
- },
506
- "required": false,
507
- "optional": false,
508
- "docs": {
509
- "tags": [],
510
- "text": ""
511
- },
512
- "getter": false,
513
- "setter": false,
514
- "reflect": false,
515
- "attribute": "type",
516
- "defaultValue": "'button'"
517
- },
518
- "href": {
519
- "type": "string",
520
- "mutable": false,
521
- "complexType": {
522
- "original": "string",
523
- "resolved": "string",
524
- "references": {}
525
- },
526
- "required": false,
527
- "optional": true,
528
- "docs": {
529
- "tags": [],
530
- "text": ""
531
- },
532
- "getter": false,
533
- "setter": false,
534
- "reflect": false,
535
- "attribute": "href"
536
- },
537
- "target": {
538
- "type": "string",
539
- "mutable": false,
540
- "complexType": {
541
- "original": "string",
542
- "resolved": "string",
543
- "references": {}
544
- },
545
- "required": false,
546
- "optional": true,
547
- "docs": {
548
- "tags": [],
549
- "text": ""
550
- },
551
- "getter": false,
552
- "setter": false,
553
- "reflect": false,
554
- "attribute": "target"
555
- },
556
- "align": {
557
- "type": "string",
558
- "mutable": false,
559
- "complexType": {
560
- "original": "'start' | 'center' | 'space-between' | 'end'",
561
- "resolved": "\"center\" | \"end\" | \"space-between\" | \"start\"",
562
- "references": {}
563
- },
564
- "required": false,
565
- "optional": false,
566
- "docs": {
567
- "tags": [],
568
- "text": ""
569
- },
570
- "getter": false,
571
- "setter": false,
572
- "reflect": false,
573
- "attribute": "align",
574
- "defaultValue": "'center'"
575
- }
576
- };
577
- }
578
- static get events() {
579
- return [{
580
- "method": "leSidePanelRequestToggle",
581
- "name": "leSidePanelRequestToggle",
582
- "bubbles": true,
583
- "cancelable": true,
584
- "composed": true,
585
- "docs": {
586
- "tags": [],
587
- "text": ""
588
- },
589
- "complexType": {
590
- "original": "LeSidePanelRequestToggleDetail",
591
- "resolved": "{ panelId?: string; action: LeSidePanelToggleAction; }",
592
- "references": {
593
- "LeSidePanelRequestToggleDetail": {
594
- "location": "local",
595
- "path": "/home/runner/work/le-kit/le-kit/src/components/le-side-panel-toggle/le-side-panel-toggle.tsx",
596
- "id": "src/components/le-side-panel-toggle/le-side-panel-toggle.tsx::LeSidePanelRequestToggleDetail"
597
- }
598
- }
599
- }
600
- }];
601
- }
602
- static get elementRef() { return "el"; }
603
- static get watchers() {
604
- return [{
605
- "propName": "shortcut",
606
- "methodName": "onShortcutChanged"
607
- }];
608
- }
609
- }
610
- //# 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"]}