@sekiui/elements 0.0.57 → 0.0.60

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 (405) hide show
  1. package/dist/cdn/index.js +140 -4
  2. package/dist/cdn/p-D1HYavDL.js +33 -0
  3. package/dist/{components/p-BzYKy7d3.js → cdn/p-D31scOlb.js} +49 -388
  4. package/dist/{components/p-DwTISp-i.js → cdn/p-E6SsIN_e.js} +3 -3
  5. package/dist/cdn/seki-badge.d.ts +11 -0
  6. package/dist/cdn/seki-badge.js +109 -0
  7. package/dist/cdn/seki-button.js +3 -3
  8. package/dist/cdn/seki-card-action.js +3 -3
  9. package/dist/cdn/seki-card-content.js +3 -3
  10. package/dist/cdn/seki-card-description.js +3 -3
  11. package/dist/cdn/seki-card-footer.js +3 -3
  12. package/dist/cdn/seki-card-header.js +3 -3
  13. package/dist/cdn/seki-card-title.js +2 -2
  14. package/dist/cdn/seki-card.js +3 -3
  15. package/dist/cdn/seki-field-description.js +3 -3
  16. package/dist/cdn/seki-field-error.js +3 -3
  17. package/dist/cdn/seki-field-group.js +3 -3
  18. package/dist/cdn/seki-field-label.js +3 -3
  19. package/dist/cdn/seki-field-legend.js +3 -3
  20. package/dist/cdn/seki-field.js +3 -3
  21. package/dist/cdn/seki-fieldset.js +3 -3
  22. package/dist/cdn/seki-input.js +3 -3
  23. package/dist/cdn/seki-select-content.js +2 -2
  24. package/dist/cdn/seki-select-group.js +3 -3
  25. package/dist/cdn/seki-select-option.js +3 -3
  26. package/dist/cdn/seki-select-trigger.js +2 -2
  27. package/dist/cdn/seki-select.js +3 -3
  28. package/dist/cdn/seki-sidebar-content.js +5 -7
  29. package/dist/cdn/seki-sidebar-footer.js +21 -7
  30. package/dist/cdn/seki-sidebar-group-action.d.ts +11 -0
  31. package/dist/cdn/seki-sidebar-group-action.js +43 -0
  32. package/dist/cdn/seki-sidebar-group-content.d.ts +11 -0
  33. package/dist/cdn/seki-sidebar-group-content.js +36 -0
  34. package/dist/cdn/seki-sidebar-group-label.d.ts +11 -0
  35. package/dist/cdn/seki-sidebar-group-label.js +6 -0
  36. package/dist/cdn/seki-sidebar-group.js +13 -100
  37. package/dist/cdn/seki-sidebar-header.js +21 -7
  38. package/dist/cdn/seki-sidebar-inset.d.ts +11 -0
  39. package/dist/cdn/seki-sidebar-inset.js +36 -0
  40. package/dist/cdn/seki-sidebar-menu-action.d.ts +11 -0
  41. package/dist/cdn/seki-sidebar-menu-action.js +42 -0
  42. package/dist/cdn/seki-sidebar-menu-badge.d.ts +11 -0
  43. package/dist/cdn/seki-sidebar-menu-badge.js +36 -0
  44. package/dist/cdn/seki-sidebar-menu-button.d.ts +11 -0
  45. package/dist/cdn/seki-sidebar-menu-button.js +109 -0
  46. package/dist/cdn/seki-sidebar-menu-item.js +6 -170
  47. package/dist/cdn/seki-sidebar-menu-skeleton.d.ts +11 -0
  48. package/dist/cdn/seki-sidebar-menu-skeleton.js +42 -0
  49. package/dist/cdn/seki-sidebar-menu-sub-button.d.ts +11 -0
  50. package/dist/cdn/seki-sidebar-menu-sub-button.js +50 -0
  51. package/dist/cdn/seki-sidebar-menu-sub-item.d.ts +11 -0
  52. package/dist/cdn/seki-sidebar-menu-sub-item.js +36 -0
  53. package/dist/cdn/seki-sidebar-menu-sub.js +78 -82
  54. package/dist/cdn/seki-sidebar-menu.js +5 -7
  55. package/dist/cdn/seki-sidebar-provider.d.ts +11 -0
  56. package/dist/cdn/seki-sidebar-provider.js +189 -0
  57. package/dist/cdn/seki-sidebar-rail.d.ts +11 -0
  58. package/dist/cdn/seki-sidebar-rail.js +43 -0
  59. package/dist/cdn/seki-sidebar-separator.d.ts +11 -0
  60. package/dist/cdn/seki-sidebar-separator.js +36 -0
  61. package/dist/cdn/seki-sidebar-trigger.js +26 -67
  62. package/dist/cdn/seki-sidebar.js +40 -329
  63. package/dist/cdn/seki-skeleton.js +3 -3
  64. package/dist/cdn/seki-switch.js +1 -1
  65. package/dist/cdn/seki-tooltip.js +3 -3
  66. package/dist/cjs/{index-tQYksITZ.js → index-DzoHqiUq.js} +48 -387
  67. package/dist/cjs/index.cjs.js +141 -5
  68. package/dist/cjs/loader.cjs.js +2 -2
  69. package/dist/cjs/seki-badge.cjs.entry.js +85 -0
  70. package/dist/cjs/seki-button.cjs.entry.js +3 -3
  71. package/dist/cjs/seki-card-action.cjs.entry.js +3 -3
  72. package/dist/cjs/seki-card-content.cjs.entry.js +3 -3
  73. package/dist/cjs/seki-card-description.cjs.entry.js +3 -3
  74. package/dist/cjs/seki-card-footer.cjs.entry.js +3 -3
  75. package/dist/cjs/seki-card-header.cjs.entry.js +3 -3
  76. package/dist/cjs/seki-card-title.cjs.entry.js +2 -2
  77. package/dist/cjs/seki-card.cjs.entry.js +3 -3
  78. package/dist/cjs/seki-field-description.cjs.entry.js +3 -3
  79. package/dist/cjs/seki-field-error.cjs.entry.js +3 -3
  80. package/dist/cjs/seki-field-group.cjs.entry.js +3 -3
  81. package/dist/cjs/seki-field-label.cjs.entry.js +3 -3
  82. package/dist/cjs/seki-field-legend.cjs.entry.js +3 -3
  83. package/dist/cjs/seki-field.cjs.entry.js +3 -3
  84. package/dist/cjs/seki-fieldset.cjs.entry.js +3 -3
  85. package/dist/cjs/seki-input.cjs.entry.js +3 -3
  86. package/dist/cjs/seki-select-content.cjs.entry.js +2 -2
  87. package/dist/cjs/seki-select-group.cjs.entry.js +3 -3
  88. package/dist/cjs/seki-select-option.cjs.entry.js +3 -3
  89. package/dist/cjs/seki-select-trigger.cjs.entry.js +2 -2
  90. package/dist/cjs/seki-select.cjs.entry.js +3 -3
  91. package/dist/cjs/seki-sidebar-content.cjs.entry.js +3 -6
  92. package/dist/cjs/seki-sidebar-footer.cjs.entry.js +17 -6
  93. package/dist/cjs/seki-sidebar-group-action.cjs.entry.js +21 -0
  94. package/dist/cjs/seki-sidebar-group-content.cjs.entry.js +17 -0
  95. package/dist/cjs/seki-sidebar-group-label.cjs.entry.js +17 -0
  96. package/dist/cjs/seki-sidebar-group.cjs.entry.js +3 -91
  97. package/dist/cjs/seki-sidebar-header.cjs.entry.js +17 -6
  98. package/dist/cjs/seki-sidebar-inset.cjs.entry.js +17 -0
  99. package/dist/cjs/seki-sidebar-menu-action.cjs.entry.js +21 -0
  100. package/dist/cjs/seki-sidebar-menu-badge.cjs.entry.js +17 -0
  101. package/dist/cjs/seki-sidebar-menu-button.cjs.entry.js +81 -0
  102. package/dist/cjs/seki-sidebar-menu-item.cjs.entry.js +4 -161
  103. package/dist/cjs/seki-sidebar-menu-skeleton.cjs.entry.js +21 -0
  104. package/dist/cjs/seki-sidebar-menu-sub-button.cjs.entry.js +28 -0
  105. package/dist/cjs/seki-sidebar-menu-sub-item.cjs.entry.js +17 -0
  106. package/dist/cjs/seki-sidebar-menu-sub.cjs.entry.js +70 -76
  107. package/dist/cjs/seki-sidebar-menu.cjs.entry.js +3 -6
  108. package/dist/cjs/seki-sidebar-provider.cjs.entry.js +153 -0
  109. package/dist/cjs/seki-sidebar-rail.cjs.entry.js +24 -0
  110. package/dist/cjs/seki-sidebar-separator.cjs.entry.js +17 -0
  111. package/dist/cjs/seki-sidebar-trigger.cjs.entry.js +22 -63
  112. package/dist/cjs/seki-sidebar.cjs.entry.js +35 -312
  113. package/dist/cjs/seki-skeleton.cjs.entry.js +3 -3
  114. package/dist/cjs/seki-switch.cjs.entry.js +3 -3
  115. package/dist/cjs/seki-tooltip.cjs.entry.js +3 -3
  116. package/dist/cjs/sekiui.cjs.js +3 -3
  117. package/dist/collection/collection-manifest.json +16 -2
  118. package/dist/collection/components/badge/seki-badge.css +140 -0
  119. package/dist/collection/components/badge/seki-badge.interface.js +1 -0
  120. package/dist/collection/components/badge/seki-badge.js +199 -0
  121. package/dist/collection/components/button/seki-button.css +74 -0
  122. package/dist/collection/components/button/seki-button.js +1 -1
  123. package/dist/collection/components/card/seki-card-action.js +1 -1
  124. package/dist/collection/components/card/seki-card-content.js +1 -1
  125. package/dist/collection/components/card/seki-card-description.js +1 -1
  126. package/dist/collection/components/card/seki-card-footer.js +1 -1
  127. package/dist/collection/components/card/seki-card-header.js +1 -1
  128. package/dist/collection/components/card/seki-card.css +74 -0
  129. package/dist/collection/components/card/seki-card.js +1 -1
  130. package/dist/collection/components/field/seki-field.css +74 -0
  131. package/dist/collection/components/field/seki-field.js +1 -1
  132. package/dist/collection/components/field-description/seki-field-description.css +74 -0
  133. package/dist/collection/components/field-description/seki-field-description.js +1 -1
  134. package/dist/collection/components/field-error/seki-field-error.css +74 -0
  135. package/dist/collection/components/field-error/seki-field-error.js +1 -1
  136. package/dist/collection/components/field-group/seki-field-group.css +74 -0
  137. package/dist/collection/components/field-group/seki-field-group.js +1 -1
  138. package/dist/collection/components/field-label/seki-field-label.css +74 -0
  139. package/dist/collection/components/field-label/seki-field-label.js +1 -1
  140. package/dist/collection/components/field-legend/seki-field-legend.css +74 -0
  141. package/dist/collection/components/field-legend/seki-field-legend.js +1 -1
  142. package/dist/collection/components/fieldset/seki-fieldset.css +74 -0
  143. package/dist/collection/components/fieldset/seki-fieldset.js +1 -1
  144. package/dist/collection/components/input/seki-input.css +74 -0
  145. package/dist/collection/components/input/seki-input.js +1 -1
  146. package/dist/collection/components/select/seki-select.css +74 -0
  147. package/dist/collection/components/select/seki-select.js +1 -1
  148. package/dist/collection/components/select-content/seki-select-content.css +74 -0
  149. package/dist/collection/components/select-group/seki-select-group.css +74 -0
  150. package/dist/collection/components/select-group/seki-select-group.js +1 -1
  151. package/dist/collection/components/select-option/seki-select-option.css +74 -0
  152. package/dist/collection/components/select-option/seki-select-option.js +1 -1
  153. package/dist/collection/components/select-trigger/seki-select-trigger.css +74 -0
  154. package/dist/collection/components/sidebar/seki-sidebar-content.css +470 -54
  155. package/dist/collection/components/sidebar/seki-sidebar-content.js +3 -18
  156. package/dist/collection/components/sidebar/seki-sidebar-footer.css +475 -30
  157. package/dist/collection/components/sidebar/seki-sidebar-footer.js +32 -15
  158. package/dist/collection/components/sidebar/seki-sidebar-group-action.css +509 -0
  159. package/dist/collection/components/sidebar/seki-sidebar-group-action.js +67 -0
  160. package/dist/collection/components/sidebar/seki-sidebar-group-content.js +18 -0
  161. package/dist/collection/components/sidebar/seki-sidebar-group-label.js +18 -0
  162. package/dist/collection/components/sidebar/seki-sidebar-group.css +455 -120
  163. package/dist/collection/components/sidebar/seki-sidebar-group.js +9 -268
  164. package/dist/collection/components/sidebar/seki-sidebar-header.css +474 -30
  165. package/dist/collection/components/sidebar/seki-sidebar-header.js +32 -16
  166. package/dist/collection/components/sidebar/seki-sidebar-inset.js +18 -0
  167. package/dist/collection/components/sidebar/seki-sidebar-menu-action.js +48 -0
  168. package/dist/collection/components/sidebar/seki-sidebar-menu-badge.js +18 -0
  169. package/dist/collection/components/sidebar/seki-sidebar-menu-button.js +240 -0
  170. package/dist/collection/components/sidebar/seki-sidebar-menu-item.js +5 -390
  171. package/dist/collection/components/sidebar/seki-sidebar-menu-skeleton.js +48 -0
  172. package/dist/collection/components/sidebar/seki-sidebar-menu-sub-button.js +75 -0
  173. package/dist/collection/components/sidebar/seki-sidebar-menu-sub-item.js +18 -0
  174. package/dist/collection/components/sidebar/seki-sidebar-menu-sub.css +520 -290
  175. package/dist/collection/components/sidebar/seki-sidebar-menu-sub.js +85 -194
  176. package/dist/collection/components/sidebar/seki-sidebar-menu.css +720 -9
  177. package/dist/collection/components/sidebar/seki-sidebar-menu.js +3 -17
  178. package/dist/collection/components/sidebar/seki-sidebar-provider.css +514 -0
  179. package/dist/collection/components/sidebar/seki-sidebar-provider.js +399 -0
  180. package/dist/collection/components/sidebar/seki-sidebar-rail.css +530 -0
  181. package/dist/collection/components/sidebar/seki-sidebar-rail.js +27 -0
  182. package/dist/collection/components/sidebar/seki-sidebar-separator.js +18 -0
  183. package/dist/collection/components/sidebar/seki-sidebar-trigger.css +492 -41
  184. package/dist/collection/components/sidebar/seki-sidebar-trigger.js +34 -122
  185. package/dist/collection/components/sidebar/seki-sidebar.css +554 -276
  186. package/dist/collection/components/sidebar/seki-sidebar.js +57 -721
  187. package/dist/collection/components/skeleton/seki-skeleton.css +74 -0
  188. package/dist/collection/components/skeleton/seki-skeleton.js +1 -1
  189. package/dist/collection/components/switch/seki-switch.css +74 -0
  190. package/dist/collection/components/switch/seki-switch.js +1 -1
  191. package/dist/collection/components/tooltip/seki-tooltip.css +74 -0
  192. package/dist/collection/components/tooltip/seki-tooltip.js +1 -1
  193. package/dist/components/index.js +140 -4
  194. package/dist/components/p-CYoVX0Ya.js +33 -0
  195. package/dist/{cdn/p-BfRJQMIU.js → components/p-CkICsFKR.js} +3 -3
  196. package/dist/{cdn/p-Bp7tjKwQ.js → components/p-D2lrrniN.js} +49 -388
  197. package/dist/components/seki-badge.d.ts +11 -0
  198. package/dist/components/seki-badge.js +109 -0
  199. package/dist/components/seki-button.js +3 -3
  200. package/dist/components/seki-card-action.js +3 -3
  201. package/dist/components/seki-card-content.js +3 -3
  202. package/dist/components/seki-card-description.js +3 -3
  203. package/dist/components/seki-card-footer.js +3 -3
  204. package/dist/components/seki-card-header.js +3 -3
  205. package/dist/components/seki-card-title.js +2 -2
  206. package/dist/components/seki-card.js +3 -3
  207. package/dist/components/seki-field-description.js +3 -3
  208. package/dist/components/seki-field-error.js +3 -3
  209. package/dist/components/seki-field-group.js +3 -3
  210. package/dist/components/seki-field-label.js +3 -3
  211. package/dist/components/seki-field-legend.js +3 -3
  212. package/dist/components/seki-field.js +3 -3
  213. package/dist/components/seki-fieldset.js +3 -3
  214. package/dist/components/seki-input.js +3 -3
  215. package/dist/components/seki-select-content.js +2 -2
  216. package/dist/components/seki-select-group.js +3 -3
  217. package/dist/components/seki-select-option.js +3 -3
  218. package/dist/components/seki-select-trigger.js +2 -2
  219. package/dist/components/seki-select.js +3 -3
  220. package/dist/components/seki-sidebar-content.js +5 -7
  221. package/dist/components/seki-sidebar-footer.js +21 -7
  222. package/dist/components/seki-sidebar-group-action.d.ts +11 -0
  223. package/dist/components/seki-sidebar-group-action.js +43 -0
  224. package/dist/components/seki-sidebar-group-content.d.ts +11 -0
  225. package/dist/components/seki-sidebar-group-content.js +36 -0
  226. package/dist/components/seki-sidebar-group-label.d.ts +11 -0
  227. package/dist/components/seki-sidebar-group-label.js +6 -0
  228. package/dist/components/seki-sidebar-group.js +13 -100
  229. package/dist/components/seki-sidebar-header.js +21 -7
  230. package/dist/components/seki-sidebar-inset.d.ts +11 -0
  231. package/dist/components/seki-sidebar-inset.js +36 -0
  232. package/dist/components/seki-sidebar-menu-action.d.ts +11 -0
  233. package/dist/components/seki-sidebar-menu-action.js +42 -0
  234. package/dist/components/seki-sidebar-menu-badge.d.ts +11 -0
  235. package/dist/components/seki-sidebar-menu-badge.js +36 -0
  236. package/dist/components/seki-sidebar-menu-button.d.ts +11 -0
  237. package/dist/components/seki-sidebar-menu-button.js +109 -0
  238. package/dist/components/seki-sidebar-menu-item.js +6 -170
  239. package/dist/components/seki-sidebar-menu-skeleton.d.ts +11 -0
  240. package/dist/components/seki-sidebar-menu-skeleton.js +42 -0
  241. package/dist/components/seki-sidebar-menu-sub-button.d.ts +11 -0
  242. package/dist/components/seki-sidebar-menu-sub-button.js +50 -0
  243. package/dist/components/seki-sidebar-menu-sub-item.d.ts +11 -0
  244. package/dist/components/seki-sidebar-menu-sub-item.js +36 -0
  245. package/dist/components/seki-sidebar-menu-sub.js +78 -82
  246. package/dist/components/seki-sidebar-menu.js +5 -7
  247. package/dist/components/seki-sidebar-provider.d.ts +11 -0
  248. package/dist/components/seki-sidebar-provider.js +189 -0
  249. package/dist/components/seki-sidebar-rail.d.ts +11 -0
  250. package/dist/components/seki-sidebar-rail.js +43 -0
  251. package/dist/components/seki-sidebar-separator.d.ts +11 -0
  252. package/dist/components/seki-sidebar-separator.js +36 -0
  253. package/dist/components/seki-sidebar-trigger.js +26 -67
  254. package/dist/components/seki-sidebar.js +40 -329
  255. package/dist/components/seki-skeleton.js +3 -3
  256. package/dist/components/seki-switch.js +1 -1
  257. package/dist/components/seki-tooltip.js +3 -3
  258. package/dist/esm/{index-Dfzpqq0a.js → index-BGmDiTq4.js} +48 -387
  259. package/dist/esm/index.js +139 -3
  260. package/dist/esm/loader.js +3 -3
  261. package/dist/esm/seki-badge.entry.js +83 -0
  262. package/dist/esm/seki-button.entry.js +3 -3
  263. package/dist/esm/seki-card-action.entry.js +3 -3
  264. package/dist/esm/seki-card-content.entry.js +3 -3
  265. package/dist/esm/seki-card-description.entry.js +3 -3
  266. package/dist/esm/seki-card-footer.entry.js +3 -3
  267. package/dist/esm/seki-card-header.entry.js +3 -3
  268. package/dist/esm/seki-card-title.entry.js +2 -2
  269. package/dist/esm/seki-card.entry.js +3 -3
  270. package/dist/esm/seki-field-description.entry.js +3 -3
  271. package/dist/esm/seki-field-error.entry.js +3 -3
  272. package/dist/esm/seki-field-group.entry.js +3 -3
  273. package/dist/esm/seki-field-label.entry.js +3 -3
  274. package/dist/esm/seki-field-legend.entry.js +3 -3
  275. package/dist/esm/seki-field.entry.js +3 -3
  276. package/dist/esm/seki-fieldset.entry.js +3 -3
  277. package/dist/esm/seki-input.entry.js +3 -3
  278. package/dist/esm/seki-select-content.entry.js +2 -2
  279. package/dist/esm/seki-select-group.entry.js +3 -3
  280. package/dist/esm/seki-select-option.entry.js +3 -3
  281. package/dist/esm/seki-select-trigger.entry.js +2 -2
  282. package/dist/esm/seki-select.entry.js +3 -3
  283. package/dist/esm/seki-sidebar-content.entry.js +3 -6
  284. package/dist/esm/seki-sidebar-footer.entry.js +17 -6
  285. package/dist/esm/seki-sidebar-group-action.entry.js +19 -0
  286. package/dist/esm/seki-sidebar-group-content.entry.js +15 -0
  287. package/dist/esm/seki-sidebar-group-label.entry.js +15 -0
  288. package/dist/esm/seki-sidebar-group.entry.js +3 -91
  289. package/dist/esm/seki-sidebar-header.entry.js +17 -6
  290. package/dist/esm/seki-sidebar-inset.entry.js +15 -0
  291. package/dist/esm/seki-sidebar-menu-action.entry.js +19 -0
  292. package/dist/esm/seki-sidebar-menu-badge.entry.js +15 -0
  293. package/dist/esm/seki-sidebar-menu-button.entry.js +79 -0
  294. package/dist/esm/seki-sidebar-menu-item.entry.js +4 -161
  295. package/dist/esm/seki-sidebar-menu-skeleton.entry.js +19 -0
  296. package/dist/esm/seki-sidebar-menu-sub-button.entry.js +26 -0
  297. package/dist/{sekiui/p-ff636955.entry.js → esm/seki-sidebar-menu-sub-item.entry.js} +15 -1
  298. package/dist/esm/seki-sidebar-menu-sub.entry.js +70 -76
  299. package/dist/esm/seki-sidebar-menu.entry.js +3 -6
  300. package/dist/esm/seki-sidebar-provider.entry.js +151 -0
  301. package/dist/esm/seki-sidebar-rail.entry.js +22 -0
  302. package/dist/esm/seki-sidebar-separator.entry.js +15 -0
  303. package/dist/esm/seki-sidebar-trigger.entry.js +22 -63
  304. package/dist/esm/seki-sidebar.entry.js +35 -312
  305. package/dist/esm/seki-skeleton.entry.js +3 -3
  306. package/dist/esm/seki-switch.entry.js +3 -3
  307. package/dist/esm/seki-tooltip.entry.js +3 -3
  308. package/dist/esm/sekiui.js +4 -4
  309. package/dist/sekiui/index.esm.js +1 -1
  310. package/dist/sekiui/{p-eecc18f3.entry.js → p-04352a21.entry.js} +1 -1
  311. package/dist/sekiui/p-06800a9a.entry.js +1 -0
  312. package/dist/sekiui/{p-8d9a4878.entry.js → p-0724ad85.entry.js} +1 -1
  313. package/dist/sekiui/{p-b365f5fb.entry.js → p-0eaf07d7.entry.js} +1 -1
  314. package/dist/sekiui/p-135ee708.entry.js +1 -0
  315. package/dist/sekiui/p-15fe2ae5.entry.js +1 -0
  316. package/dist/sekiui/p-16ad812c.entry.js +1 -0
  317. package/dist/sekiui/{p-743fc6d9.entry.js → p-19648074.entry.js} +1 -1
  318. package/dist/sekiui/{p-4423d621.entry.js → p-1991d025.entry.js} +1 -1
  319. package/dist/sekiui/p-1e3771b8.entry.js +1 -0
  320. package/dist/sekiui/{p-37c5f4d9.entry.js → p-2193ef70.entry.js} +1 -1
  321. package/dist/sekiui/{p-5bc0f5aa.entry.js → p-2428e77d.entry.js} +1 -1
  322. package/dist/sekiui/p-244aa3bd.entry.js +1 -0
  323. package/dist/sekiui/p-2e25d58f.entry.js +1 -0
  324. package/dist/sekiui/{p-c98b6d6a.entry.js → p-2ecbec83.entry.js} +1 -1
  325. package/dist/sekiui/{p-6164cd8a.entry.js → p-31687f4a.entry.js} +1 -1
  326. package/dist/sekiui/{p-042ec460.entry.js → p-418c6f7c.entry.js} +1 -1
  327. package/dist/sekiui/p-41f9342c.entry.js +1 -0
  328. package/dist/sekiui/p-4b36af55.entry.js +1 -0
  329. package/dist/sekiui/p-4e503004.entry.js +1 -0
  330. package/dist/sekiui/{p-d96e770e.entry.js → p-5598b850.entry.js} +1 -1
  331. package/dist/sekiui/p-597f460b.entry.js +1 -0
  332. package/dist/sekiui/p-5d68c092.entry.js +1 -0
  333. package/dist/sekiui/{p-4636588f.entry.js → p-6207e13a.entry.js} +1 -1
  334. package/dist/sekiui/{p-56f0d754.entry.js → p-65b878ad.entry.js} +1 -1
  335. package/dist/sekiui/{p-44191aed.entry.js → p-69abaa3d.entry.js} +1 -1
  336. package/dist/sekiui/{p-b387a2a5.entry.js → p-6e75b7c3.entry.js} +1 -1
  337. package/dist/sekiui/p-74b375a3.entry.js +1 -0
  338. package/dist/sekiui/p-74da4590.entry.js +1 -0
  339. package/dist/sekiui/{p-10c008fc.entry.js → p-79944f32.entry.js} +1 -1
  340. package/dist/sekiui/p-7a35a9dd.entry.js +1 -0
  341. package/dist/sekiui/p-87c05b57.entry.js +1 -0
  342. package/dist/sekiui/p-880ab4c3.entry.js +1 -0
  343. package/dist/sekiui/p-8912b3b5.entry.js +1 -0
  344. package/dist/sekiui/p-BGmDiTq4.js +2 -0
  345. package/dist/sekiui/{p-a71e0c55.entry.js → p-a56b43ab.entry.js} +1 -1
  346. package/dist/sekiui/p-a9ea4381.entry.js +1 -0
  347. package/dist/sekiui/{p-635f4098.entry.js → p-abcd4ab8.entry.js} +1 -1
  348. package/dist/sekiui/p-ac0cee96.entry.js +1 -0
  349. package/dist/sekiui/p-d7a568dc.entry.js +1 -0
  350. package/dist/sekiui/p-df1f29f5.entry.js +1 -0
  351. package/dist/sekiui/{p-352bd295.entry.js → p-e0480d9d.entry.js} +1 -1
  352. package/dist/sekiui/{p-a1a71958.entry.js → p-edd9902b.entry.js} +1 -1
  353. package/dist/sekiui/p-edddd260.entry.js +1 -0
  354. package/dist/sekiui/{p-e7bb140c.entry.js → p-f5b2ec4f.entry.js} +1 -1
  355. package/dist/sekiui/{p-ae227955.entry.js → p-f6d84839.entry.js} +1 -1
  356. package/dist/sekiui/p-f9755786.entry.js +1 -0
  357. package/dist/sekiui/{p-d73cdb9a.entry.js → p-fb446062.entry.js} +1 -1
  358. package/dist/sekiui/sekiui.css +1 -1
  359. package/dist/sekiui/sekiui.esm.js +1 -1
  360. package/dist/types/components/badge/seki-badge.d.ts +43 -0
  361. package/dist/types/components/badge/seki-badge.interface.d.ts +88 -0
  362. package/dist/types/components/sidebar/seki-sidebar-content.d.ts +0 -15
  363. package/dist/types/components/sidebar/seki-sidebar-footer.d.ts +5 -13
  364. package/dist/types/components/sidebar/seki-sidebar-group-action.d.ts +11 -0
  365. package/dist/types/components/sidebar/seki-sidebar-group-content.d.ts +3 -0
  366. package/dist/types/components/sidebar/seki-sidebar-group-label.d.ts +3 -0
  367. package/dist/types/components/sidebar/seki-sidebar-group.d.ts +2 -76
  368. package/dist/types/components/sidebar/seki-sidebar-header.d.ts +5 -14
  369. package/dist/types/components/sidebar/seki-sidebar-inset.d.ts +3 -0
  370. package/dist/types/components/sidebar/seki-sidebar-menu-action.d.ts +7 -0
  371. package/dist/types/components/sidebar/seki-sidebar-menu-badge.d.ts +3 -0
  372. package/dist/types/components/sidebar/seki-sidebar-menu-button.d.ts +37 -0
  373. package/dist/types/components/sidebar/seki-sidebar-menu-item.d.ts +0 -101
  374. package/dist/types/components/sidebar/seki-sidebar-menu-skeleton.d.ts +7 -0
  375. package/dist/types/components/sidebar/seki-sidebar-menu-sub-button.d.ts +11 -0
  376. package/dist/types/components/sidebar/seki-sidebar-menu-sub-item.d.ts +3 -0
  377. package/dist/types/components/sidebar/seki-sidebar-menu-sub.d.ts +12 -71
  378. package/dist/types/components/sidebar/seki-sidebar-menu.d.ts +0 -14
  379. package/dist/types/components/sidebar/seki-sidebar-provider.d.ts +59 -0
  380. package/dist/types/components/sidebar/seki-sidebar-rail.d.ts +5 -0
  381. package/dist/types/components/sidebar/seki-sidebar-separator.d.ts +3 -0
  382. package/dist/types/components/sidebar/seki-sidebar-trigger.d.ts +9 -46
  383. package/dist/types/components/sidebar/seki-sidebar.d.ts +13 -174
  384. package/dist/types/components.d.ts +435 -287
  385. package/dist/types/services/media-query.d.ts +1 -1
  386. package/dist/types/stencil-public-runtime.d.ts +19 -9
  387. package/package.json +10 -3
  388. package/dist/cdn/p-BJCq8m2o.js +0 -138
  389. package/dist/cjs/keyboard-Cjl5HYES.js +0 -142
  390. package/dist/collection/components/sidebar/seki-sidebar-menu-item.css +0 -196
  391. package/dist/collection/components/sidebar/types.js +0 -18
  392. package/dist/components/p-BJCq8m2o.js +0 -138
  393. package/dist/esm/keyboard-BJCq8m2o.js +0 -138
  394. package/dist/sekiui/p-01cfb4e7.entry.js +0 -1
  395. package/dist/sekiui/p-40fb71d6.entry.js +0 -1
  396. package/dist/sekiui/p-471b97a5.entry.js +0 -1
  397. package/dist/sekiui/p-83e65cbe.entry.js +0 -1
  398. package/dist/sekiui/p-8b7bd061.entry.js +0 -1
  399. package/dist/sekiui/p-9cb9cdfe.entry.js +0 -1
  400. package/dist/sekiui/p-9f2d95d7.entry.js +0 -1
  401. package/dist/sekiui/p-BJCq8m2o.js +0 -1
  402. package/dist/sekiui/p-Dfzpqq0a.js +0 -2
  403. package/dist/sekiui/p-b8590f4d.entry.js +0 -1
  404. package/dist/sekiui/p-e62dd89b.entry.js +0 -1
  405. package/dist/types/components/sidebar/types.d.ts +0 -245
@@ -46,7 +46,7 @@ export declare class MediaQueryService {
46
46
  * @param type - Type of match: 'min' (mobile-first) or 'max' (desktop-first)
47
47
  * @param handler - Callback when breakpoint matches
48
48
  */
49
- registerBreakpoint(id: string, breakpoint: keyof BreakpointConfig, type: ("min" | "max") | undefined, handler: (match: boolean) => void): void;
49
+ registerBreakpoint(id: string, breakpoint: keyof BreakpointConfig, type: "min" | "max" | undefined, handler: (match: boolean) => void): void;
50
50
  /**
51
51
  * Unregister a media query listener
52
52
  */
@@ -1,5 +1,6 @@
1
1
  type CustomMethodDecorator<T> = (target: object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
2
- type UnionToIntersection<U> = (U extends any ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
2
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
3
+ type MixinInstance<F> = F extends (base: MixedInCtor) => MixedInCtor<infer I> ? I : never;
3
4
  export interface ComponentDecorator {
4
5
  (opts?: ComponentOptions): ClassDecorator;
5
6
  }
@@ -364,18 +365,27 @@ export declare function readTask(task: RafCallback): void;
364
365
  * Unhandled exception raised while rendering, during event handling, or lifecycles will trigger the custom event handler.
365
366
  */
366
367
  export declare const setErrorHandler: (handler: ErrorHandler) => void;
367
- export type MixinFactory = <TBase extends new (...args: any[]) => any>(base: TBase) => abstract new (...args: ConstructorParameters<TBase>) => any;
368
+ /**
369
+ * @deprecated - Use `MixedInCtor` instead:
370
+ * ```ts
371
+ * import { MixedInCtor } from '@stencil/core';
372
+ *
373
+ * const AFactoryFn = <B extends MixedInCtor>(Base: B) => {class A extends Base { propA = A }; return A;}
374
+ * ```
375
+ */
376
+ export type MixinFactory = (base: MixedInCtor) => MixedInCtor;
377
+ export type MixedInCtor<T = {}> = new (...args: any[]) => T;
368
378
  /**
369
379
  * Compose multiple mixin classes into a single constructor.
370
380
  * The resulting class has the combined instance types of all mixed-in classes.
371
381
  *
372
382
  * Example:
373
- * ```
374
- * import { Mixin, MixinFactory } from '@stencil/core';
383
+ * ```ts
384
+ * import { Mixin, MixedInCtor } from '@stencil/core';
375
385
  *
376
- * const AWrap: MixinFactory = (Base) => {class A extends Base { propA = A }; return A;}
377
- * const BWrap: MixinFactory = (Base) => {class B extends Base { propB = B }; return B;}
378
- * const CWrap: MixinFactory = (Base) => {class C extends Base { propC = C }; return C;}
386
+ * const AWrap = <B extends MixedInCtor>(Base: B) => {class A extends Base { propA = A }; return A;}
387
+ * const BWrap = <B extends MixedInCtor>(Base: B) => {class B extends Base { propB = B }; return B;}
388
+ * const CWrap = <B extends MixedInCtor>(Base: B) => {class C extends Base { propC = C }; return C;}
379
389
  *
380
390
  * class X extends Mixin(AWrap, BWrap, CWrap) {
381
391
  * render() { return <div>{this.propA} {this.propB} {this.propC}</div>; }
@@ -383,9 +393,9 @@ export type MixinFactory = <TBase extends new (...args: any[]) => any>(base: TBa
383
393
  * ```
384
394
  *
385
395
  * @param mixinFactories mixin factory functions that return a class which extends from the provided class.
386
- * @returns a class that that is composed from extending each of the provided classes in the order they were provided.
396
+ * @returns a class that is composed from extending each of the provided classes in the order they were provided.
387
397
  */
388
- export declare function Mixin<TMixins extends readonly MixinFactory[]>(...mixinFactories: TMixins): abstract new (...args: any[]) => UnionToIntersection<InstanceType<ReturnType<TMixins[number]>>>;
398
+ export declare function Mixin<const TMixins extends readonly MixinFactory[]>(...mixinFactories: TMixins): abstract new (...args: any[]) => UnionToIntersection<MixinInstance<TMixins[number]>>;
389
399
  /**
390
400
  * This file gets copied to all distributions of stencil component collections.
391
401
  * - no imports
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sekiui/elements",
3
- "version": "0.0.57",
3
+ "version": "0.0.60",
4
4
  "description": "Modern, accessible Web Components with shadcn/ui-inspired design",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -47,6 +47,7 @@
47
47
  "@typescript-eslint/eslint-plugin": "^8.46.0",
48
48
  "@typescript-eslint/parser": "^8.46.0",
49
49
  "axe-core": "^4.10.3",
50
+ "babel-plugin-istanbul": "^7.0.1",
50
51
  "eslint": "^9.37.0",
51
52
  "eslint-config-prettier": "^10.1.8",
52
53
  "eslint-plugin-storybook": "9.1.10",
@@ -54,10 +55,16 @@
54
55
  "jest-cli": "^29.7.0",
55
56
  "lit": "^3.3.1",
56
57
  "prettier": "^3.6.2",
57
- "puppeteer": "^20.9.0",
58
- "storybook": "^9.1.10"
58
+ "puppeteer": "^24.29.0",
59
+ "storybook": "^9.1.10",
60
+ "test-exclude": "^7.0.1"
59
61
  },
60
62
  "dependencies": {
61
63
  "@floating-ui/dom": "^1.7.4"
64
+ },
65
+ "overrides": {
66
+ "glob": ">=10.0.0",
67
+ "inflight": "npm:lru-cache@^10.0.0",
68
+ "test-exclude": "^7.0.1"
62
69
  }
63
70
  }
@@ -1,138 +0,0 @@
1
- /**
2
- * Keyboard Service
3
- * Provides normalized keyboard event handling and shortcut management
4
- * Handles cross-platform shortcuts (Ctrl/Cmd combinations)
5
- */
6
- /**
7
- * KeyboardService - Centralized keyboard event management
8
- * Provides:
9
- * - Normalized keyboard shortcuts (handles Ctrl vs Cmd on Mac)
10
- * - Cross-platform shortcut registration
11
- * - Event cleanup and teardown
12
- */
13
- class KeyboardService {
14
- constructor() {
15
- this.shortcuts = new Map();
16
- this.listeners = new Map();
17
- }
18
- /**
19
- * Register a keyboard shortcut
20
- * @param id - Unique identifier for this shortcut
21
- * @param options - Shortcut configuration
22
- */
23
- registerShortcut(id, options) {
24
- if (typeof window === 'undefined')
25
- return;
26
- const { key, ctrl = false, shift = false, alt = false, meta = false, handler, preventDefault = true } = options;
27
- const handleKeyDown = (event) => {
28
- const keyboardEvent = event;
29
- const keyMatches = keyboardEvent.key.toLowerCase() === key.toLowerCase();
30
- const ctrlMatches = ctrl ? keyboardEvent.ctrlKey : true;
31
- const shiftMatches = shift ? keyboardEvent.shiftKey : !keyboardEvent.shiftKey;
32
- const altMatches = alt ? keyboardEvent.altKey : !keyboardEvent.altKey;
33
- // metaKey matches both metaKey (Mac Cmd) and ctrlKey (Windows/Linux) for cross-platform support
34
- const metaMatches = meta ? keyboardEvent.metaKey || keyboardEvent.ctrlKey : !keyboardEvent.metaKey && !keyboardEvent.ctrlKey;
35
- if (keyMatches && ctrlMatches && shiftMatches && altMatches && metaMatches) {
36
- if (preventDefault) {
37
- keyboardEvent.preventDefault();
38
- }
39
- handler(keyboardEvent);
40
- }
41
- };
42
- this.shortcuts.set(id, {
43
- key,
44
- ctrlKey: ctrl,
45
- shiftKey: shift,
46
- altKey: alt,
47
- metaKey: meta,
48
- handler: handleKeyDown,
49
- });
50
- this.listeners.set(id, handleKeyDown);
51
- window.addEventListener('keydown', handleKeyDown);
52
- }
53
- /**
54
- * Register a shortcut that works with Ctrl on Windows/Linux and Cmd on Mac
55
- * @param id - Unique identifier for this shortcut
56
- * @param key - The key to listen for
57
- * @param handler - Callback when shortcut is triggered
58
- * @param preventDefault - Whether to prevent default browser behavior
59
- */
60
- registerCtrlOrCmdShortcut(id, key, handler, preventDefault = true) {
61
- if (typeof window === 'undefined')
62
- return;
63
- const handleKeyDown = (event) => {
64
- const keyboardEvent = event;
65
- const keyMatches = keyboardEvent.key.toLowerCase() === key.toLowerCase();
66
- const modifierMatches = keyboardEvent.ctrlKey || keyboardEvent.metaKey;
67
- if (keyMatches && modifierMatches && !keyboardEvent.shiftKey && !keyboardEvent.altKey) {
68
- if (preventDefault) {
69
- keyboardEvent.preventDefault();
70
- }
71
- handler(keyboardEvent);
72
- }
73
- };
74
- this.listeners.set(id, handleKeyDown);
75
- window.addEventListener('keydown', handleKeyDown);
76
- }
77
- /**
78
- * Unregister a keyboard shortcut
79
- * @param id - The identifier of the shortcut to remove
80
- */
81
- unregisterShortcut(id) {
82
- if (typeof window === 'undefined')
83
- return;
84
- const listener = this.listeners.get(id);
85
- if (listener) {
86
- window.removeEventListener('keydown', listener);
87
- this.listeners.delete(id);
88
- }
89
- this.shortcuts.delete(id);
90
- }
91
- /**
92
- * Unregister all shortcuts and clean up
93
- */
94
- cleanup() {
95
- if (typeof window === 'undefined')
96
- return;
97
- this.listeners.forEach((listener) => {
98
- window.removeEventListener('keydown', listener);
99
- });
100
- this.listeners.clear();
101
- this.shortcuts.clear();
102
- }
103
- /**
104
- * Check if a keyboard event matches a specific key combination
105
- * @param event - The keyboard event to check
106
- * @param key - The key to match
107
- * @param ctrl - Whether Ctrl/Cmd should be pressed
108
- * @param shift - Whether Shift should be pressed
109
- * @param alt - Whether Alt should be pressed
110
- */
111
- matchesShortcut(event, key, ctrl = false, shift = false, alt = false) {
112
- const keyMatches = event.key.toLowerCase() === key.toLowerCase();
113
- const ctrlMatches = ctrl ? event.ctrlKey || event.metaKey : !event.ctrlKey && !event.metaKey;
114
- const shiftMatches = shift ? event.shiftKey : !event.shiftKey;
115
- const altMatches = alt ? event.altKey : !event.altKey;
116
- return keyMatches && ctrlMatches && shiftMatches && altMatches;
117
- }
118
- }
119
- // Singleton instance
120
- let keyboardServiceInstance = null;
121
- /**
122
- * Get the singleton KeyboardService instance
123
- */
124
- function getKeyboardService() {
125
- if (!keyboardServiceInstance) {
126
- keyboardServiceInstance = new KeyboardService();
127
- }
128
- return keyboardServiceInstance;
129
- }
130
- /**
131
- * Create a new isolated KeyboardService instance
132
- * Useful for testing or when you need independent event handling
133
- */
134
- function createKeyboardService() {
135
- return new KeyboardService();
136
- }
137
-
138
- export { KeyboardService as K, createKeyboardService as c, getKeyboardService as g };
@@ -1,142 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * Keyboard Service
5
- * Provides normalized keyboard event handling and shortcut management
6
- * Handles cross-platform shortcuts (Ctrl/Cmd combinations)
7
- */
8
- /**
9
- * KeyboardService - Centralized keyboard event management
10
- * Provides:
11
- * - Normalized keyboard shortcuts (handles Ctrl vs Cmd on Mac)
12
- * - Cross-platform shortcut registration
13
- * - Event cleanup and teardown
14
- */
15
- class KeyboardService {
16
- constructor() {
17
- this.shortcuts = new Map();
18
- this.listeners = new Map();
19
- }
20
- /**
21
- * Register a keyboard shortcut
22
- * @param id - Unique identifier for this shortcut
23
- * @param options - Shortcut configuration
24
- */
25
- registerShortcut(id, options) {
26
- if (typeof window === 'undefined')
27
- return;
28
- const { key, ctrl = false, shift = false, alt = false, meta = false, handler, preventDefault = true } = options;
29
- const handleKeyDown = (event) => {
30
- const keyboardEvent = event;
31
- const keyMatches = keyboardEvent.key.toLowerCase() === key.toLowerCase();
32
- const ctrlMatches = ctrl ? keyboardEvent.ctrlKey : true;
33
- const shiftMatches = shift ? keyboardEvent.shiftKey : !keyboardEvent.shiftKey;
34
- const altMatches = alt ? keyboardEvent.altKey : !keyboardEvent.altKey;
35
- // metaKey matches both metaKey (Mac Cmd) and ctrlKey (Windows/Linux) for cross-platform support
36
- const metaMatches = meta ? keyboardEvent.metaKey || keyboardEvent.ctrlKey : !keyboardEvent.metaKey && !keyboardEvent.ctrlKey;
37
- if (keyMatches && ctrlMatches && shiftMatches && altMatches && metaMatches) {
38
- if (preventDefault) {
39
- keyboardEvent.preventDefault();
40
- }
41
- handler(keyboardEvent);
42
- }
43
- };
44
- this.shortcuts.set(id, {
45
- key,
46
- ctrlKey: ctrl,
47
- shiftKey: shift,
48
- altKey: alt,
49
- metaKey: meta,
50
- handler: handleKeyDown,
51
- });
52
- this.listeners.set(id, handleKeyDown);
53
- window.addEventListener('keydown', handleKeyDown);
54
- }
55
- /**
56
- * Register a shortcut that works with Ctrl on Windows/Linux and Cmd on Mac
57
- * @param id - Unique identifier for this shortcut
58
- * @param key - The key to listen for
59
- * @param handler - Callback when shortcut is triggered
60
- * @param preventDefault - Whether to prevent default browser behavior
61
- */
62
- registerCtrlOrCmdShortcut(id, key, handler, preventDefault = true) {
63
- if (typeof window === 'undefined')
64
- return;
65
- const handleKeyDown = (event) => {
66
- const keyboardEvent = event;
67
- const keyMatches = keyboardEvent.key.toLowerCase() === key.toLowerCase();
68
- const modifierMatches = keyboardEvent.ctrlKey || keyboardEvent.metaKey;
69
- if (keyMatches && modifierMatches && !keyboardEvent.shiftKey && !keyboardEvent.altKey) {
70
- if (preventDefault) {
71
- keyboardEvent.preventDefault();
72
- }
73
- handler(keyboardEvent);
74
- }
75
- };
76
- this.listeners.set(id, handleKeyDown);
77
- window.addEventListener('keydown', handleKeyDown);
78
- }
79
- /**
80
- * Unregister a keyboard shortcut
81
- * @param id - The identifier of the shortcut to remove
82
- */
83
- unregisterShortcut(id) {
84
- if (typeof window === 'undefined')
85
- return;
86
- const listener = this.listeners.get(id);
87
- if (listener) {
88
- window.removeEventListener('keydown', listener);
89
- this.listeners.delete(id);
90
- }
91
- this.shortcuts.delete(id);
92
- }
93
- /**
94
- * Unregister all shortcuts and clean up
95
- */
96
- cleanup() {
97
- if (typeof window === 'undefined')
98
- return;
99
- this.listeners.forEach((listener) => {
100
- window.removeEventListener('keydown', listener);
101
- });
102
- this.listeners.clear();
103
- this.shortcuts.clear();
104
- }
105
- /**
106
- * Check if a keyboard event matches a specific key combination
107
- * @param event - The keyboard event to check
108
- * @param key - The key to match
109
- * @param ctrl - Whether Ctrl/Cmd should be pressed
110
- * @param shift - Whether Shift should be pressed
111
- * @param alt - Whether Alt should be pressed
112
- */
113
- matchesShortcut(event, key, ctrl = false, shift = false, alt = false) {
114
- const keyMatches = event.key.toLowerCase() === key.toLowerCase();
115
- const ctrlMatches = ctrl ? event.ctrlKey || event.metaKey : !event.ctrlKey && !event.metaKey;
116
- const shiftMatches = shift ? event.shiftKey : !event.shiftKey;
117
- const altMatches = alt ? event.altKey : !event.altKey;
118
- return keyMatches && ctrlMatches && shiftMatches && altMatches;
119
- }
120
- }
121
- // Singleton instance
122
- let keyboardServiceInstance = null;
123
- /**
124
- * Get the singleton KeyboardService instance
125
- */
126
- function getKeyboardService() {
127
- if (!keyboardServiceInstance) {
128
- keyboardServiceInstance = new KeyboardService();
129
- }
130
- return keyboardServiceInstance;
131
- }
132
- /**
133
- * Create a new isolated KeyboardService instance
134
- * Useful for testing or when you need independent event handling
135
- */
136
- function createKeyboardService() {
137
- return new KeyboardService();
138
- }
139
-
140
- exports.KeyboardService = KeyboardService;
141
- exports.createKeyboardService = createKeyboardService;
142
- exports.getKeyboardService = getKeyboardService;
@@ -1,196 +0,0 @@
1
- /**
2
- * SekiSidebarMenuItem CSS
3
- * Styling for individual menu items in the sidebar
4
- */
5
-
6
- :host {
7
- display: block;
8
- width: 100%;
9
- }
10
-
11
- .item-wrapper {
12
- display: flex;
13
- list-style: none;
14
- margin: 0;
15
- padding: 0;
16
- width: 100%;
17
- }
18
-
19
- .item-content {
20
- display: flex;
21
- align-items: center;
22
- justify-content: flex-start;
23
- gap: var(--sidebar-gap, 0.5rem);
24
- width: 100%;
25
- padding: var(--sidebar-item-padding, 0.5rem 0.75rem);
26
- text-decoration: none;
27
- color: var(--sidebar-item-foreground, var(--seki-color-text));
28
- background-color: transparent;
29
- border: none;
30
- border-radius: var(--sidebar-radius-sm, 0.25rem);
31
- cursor: pointer;
32
- transition: width 200ms ease-linear, height 200ms ease-linear, padding 200ms ease-linear;
33
- white-space: nowrap;
34
- overflow: hidden;
35
- text-overflow: ellipsis;
36
- /* Use built-in typography */
37
- font-size: var(--seki-font-size-sm);
38
- font-weight: var(--seki-font-weight-medium);
39
- font-family: var(--seki-font-sans);
40
- line-height: 1.25rem;
41
- }
42
-
43
- :host([data-theme="dark"]) .item-content {
44
- color: var(--sidebar-item-foreground-dark, #f1f5f9);
45
- }
46
-
47
- .item-content:hover:not([aria-disabled="true"]) {
48
- background-color: var(--sidebar-item-hover-bg, #f3f4f6);
49
- color: var(--sidebar-item-hover-foreground, #111827);
50
- }
51
-
52
- :host([data-theme="dark"]) .item-content:hover:not([aria-disabled="true"]) {
53
- background-color: var(--sidebar-item-hover-bg-dark, #27272a);
54
- color: var(--sidebar-item-hover-foreground-dark, #fafafa);
55
- }
56
-
57
- .item-content:focus-visible {
58
- outline: 2px solid var(--sidebar-primary, #3b82f6);
59
- outline-offset: -2px;
60
- }
61
-
62
- :host([data-active="true"]) .item-content {
63
- background-color: var(--sidebar-item-active-bg, #e0e7ff);
64
- color: var(--sidebar-item-active-foreground, #1e40af);
65
- font-weight: 600;
66
- }
67
-
68
- :host([data-theme="dark"][data-active="true"]) .item-content {
69
- background-color: var(--sidebar-item-active-bg-dark, #312e81);
70
- color: var(--sidebar-item-active-foreground-dark, #c7d2fe);
71
- }
72
-
73
- :host([data-disabled="true"]) .item-content {
74
- opacity: 0.5;
75
- cursor: not-allowed;
76
- pointer-events: none;
77
- }
78
-
79
- .item-icon {
80
- display: flex;
81
- align-items: center;
82
- justify-content: center;
83
- width: 1rem;
84
- height: 1rem;
85
- flex-shrink: 0;
86
- font-size: 1rem;
87
- color: inherit;
88
- }
89
-
90
- .item-label {
91
- flex: 1;
92
- overflow: hidden;
93
- text-overflow: ellipsis;
94
- white-space: nowrap;
95
- }
96
-
97
- .item-badge {
98
- display: inline-flex;
99
- align-items: center;
100
- justify-content: center;
101
- padding: 0.125rem 0.375rem;
102
- border-radius: var(--sidebar-radius-sm, 0.25rem);
103
- flex-shrink: 0;
104
- margin-left: auto;
105
- /* Use built-in typography */
106
- font-size: var(--seki-font-size-xs);
107
- font-weight: var(--seki-font-weight-semibold);
108
- font-family: var(--seki-font-sans);
109
- }
110
-
111
- .badge-default {
112
- background-color: var(--sidebar-badge-bg, #dbeafe);
113
- color: var(--sidebar-badge-foreground, #1e40af);
114
- }
115
-
116
- .badge-secondary {
117
- background-color: var(--sidebar-badge-secondary-bg, #e5e7eb);
118
- color: var(--sidebar-badge-secondary-foreground, #374151);
119
- }
120
-
121
- .badge-destructive {
122
- background-color: var(--sidebar-badge-destructive-bg, #fee2e2);
123
- color: var(--sidebar-badge-destructive-foreground, #991b1b);
124
- }
125
-
126
- :host([data-theme="dark"]) .badge-default {
127
- background-color: var(--sidebar-badge-bg-dark, #1e3a8a);
128
- color: var(--sidebar-badge-foreground-dark, #93c5fd);
129
- }
130
-
131
- :host([data-theme="dark"]) .badge-secondary {
132
- background-color: var(--sidebar-badge-secondary-bg-dark, #3f3f46);
133
- color: var(--sidebar-badge-secondary-foreground-dark, #d4d4d8);
134
- }
135
-
136
- :host([data-theme="dark"]) .badge-destructive {
137
- background-color: var(--sidebar-badge-destructive-bg-dark, #7f1d1d);
138
- color: var(--sidebar-badge-destructive-foreground-dark, #fca5a5);
139
- }
140
-
141
- /* Print styles */
142
- @media print {
143
- :host([data-active="true"]) .item-content {
144
- text-decoration: underline;
145
- font-weight: bold;
146
- }
147
- }
148
-
149
- /* High contrast mode support */
150
- @media (prefers-contrast: more) {
151
- .item-content {
152
- border: 1px solid transparent;
153
- }
154
-
155
- .item-content:focus-visible {
156
- border-color: var(--sidebar-primary, #3b82f6);
157
- }
158
- }
159
-
160
- /* Reduced motion support */
161
- @media (prefers-reduced-motion: reduce) {
162
- .item-content {
163
- transition: none;
164
- }
165
- }
166
-
167
- /* Collapsed icon mode - hide labels, show only icons with smooth transitions */
168
- :host-context(seki-sidebar[data-state="closed"][data-collapse-mode="icon"]) .item-label {
169
- margin-left: -0.5rem;
170
- opacity: 0;
171
- transition: margin-left 200ms ease-linear, opacity 200ms ease-linear;
172
- }
173
-
174
- :host-context(seki-sidebar[data-state="closed"][data-collapse-mode="icon"]) .item-badge {
175
- margin-left: -0.5rem;
176
- opacity: 0;
177
- transition: margin-left 200ms ease-linear, opacity 200ms ease-linear;
178
- }
179
-
180
- :host-context(seki-sidebar[data-state="closed"][data-collapse-mode="icon"]) .item-content {
181
- justify-content: center;
182
- padding: 0.5rem;
183
- }
184
-
185
- :host-context(seki-sidebar[data-state="closed"][data-collapse-mode="icon"]) .item-icon {
186
- width: 1rem;
187
- height: 1rem;
188
- }
189
-
190
- /* Expanded - show labels */
191
- :host-context(seki-sidebar[data-state="open"]) .item-label,
192
- :host-context(seki-sidebar:not([data-state="closed"])) .item-label {
193
- margin-left: 0;
194
- opacity: 1;
195
- transition: margin-left 200ms ease-linear, opacity 200ms ease-linear;
196
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Sidebar Component Type Definitions
3
- * @module sidebar/types
4
- *
5
- * Complete TypeScript interfaces and types for the sidebar component system.
6
- * These types are used throughout the component implementation, tests, and exported
7
- * to the npm package for consumer IDE autocomplete support.
8
- */
9
- /**
10
- * Default sidebar state values
11
- */
12
- export const DEFAULT_SIDEBAR_STATE = {
13
- isOpen: true,
14
- collapseMode: 'offcanvas',
15
- variant: 'sidebar',
16
- isMobile: typeof window !== 'undefined' ? window.innerWidth < 768 : false,
17
- persistenceKey: 'seki-sidebar-state',
18
- };