@sekiui/elements 0.0.59 → 0.0.61

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 (609) hide show
  1. package/dist/cdn/index.js +140 -4
  2. package/dist/cdn/p-BHbxurmj.js +33 -0
  3. package/dist/{components/p-BU1kuAZS.js → cdn/p-D31scOlb.js} +9 -386
  4. package/dist/{components/p-wQy1sEm6.js → cdn/p-DB0EE9zX.js} +3 -3
  5. package/dist/cdn/seki-badge.js +1 -1
  6. package/dist/cdn/seki-breadcrumb-ellipsis.d.ts +11 -0
  7. package/dist/cdn/seki-breadcrumb-ellipsis.js +36 -0
  8. package/dist/cdn/seki-breadcrumb-item.d.ts +11 -0
  9. package/dist/cdn/seki-breadcrumb-item.js +36 -0
  10. package/dist/cdn/seki-breadcrumb-link.d.ts +11 -0
  11. package/dist/cdn/seki-breadcrumb-link.js +39 -0
  12. package/dist/cdn/seki-breadcrumb-list.d.ts +11 -0
  13. package/dist/cdn/seki-breadcrumb-list.js +36 -0
  14. package/dist/cdn/seki-breadcrumb-page.d.ts +11 -0
  15. package/dist/cdn/seki-breadcrumb-page.js +36 -0
  16. package/dist/cdn/seki-breadcrumb-separator.d.ts +11 -0
  17. package/dist/cdn/seki-breadcrumb-separator.js +41 -0
  18. package/dist/cdn/seki-breadcrumb.d.ts +11 -0
  19. package/dist/cdn/seki-breadcrumb.js +43 -0
  20. package/dist/cdn/seki-button.js +3 -3
  21. package/dist/cdn/seki-card-action.js +3 -3
  22. package/dist/cdn/seki-card-content.js +3 -3
  23. package/dist/cdn/seki-card-description.js +3 -3
  24. package/dist/cdn/seki-card-footer.js +3 -3
  25. package/dist/cdn/seki-card-header.js +3 -3
  26. package/dist/cdn/seki-card-title.js +2 -2
  27. package/dist/cdn/seki-card.js +3 -3
  28. package/dist/cdn/seki-field-description.js +3 -3
  29. package/dist/cdn/seki-field-error.js +3 -3
  30. package/dist/cdn/seki-field-group.js +3 -3
  31. package/dist/cdn/seki-field-label.js +3 -3
  32. package/dist/cdn/seki-field-legend.js +3 -3
  33. package/dist/cdn/seki-field.js +3 -3
  34. package/dist/cdn/seki-fieldset.js +3 -3
  35. package/dist/cdn/seki-input.js +3 -3
  36. package/dist/cdn/seki-pagination-content.d.ts +11 -0
  37. package/dist/cdn/seki-pagination-content.js +36 -0
  38. package/dist/cdn/seki-pagination-ellipsis.d.ts +11 -0
  39. package/dist/cdn/seki-pagination-ellipsis.js +36 -0
  40. package/dist/cdn/seki-pagination-item.d.ts +11 -0
  41. package/dist/cdn/seki-pagination-item.js +36 -0
  42. package/dist/cdn/seki-pagination-link.d.ts +11 -0
  43. package/dist/cdn/seki-pagination-link.js +53 -0
  44. package/dist/cdn/seki-pagination-next.d.ts +11 -0
  45. package/dist/cdn/seki-pagination-next.js +48 -0
  46. package/dist/cdn/seki-pagination-previous.d.ts +11 -0
  47. package/dist/cdn/seki-pagination-previous.js +48 -0
  48. package/dist/cdn/seki-pagination.d.ts +11 -0
  49. package/dist/cdn/seki-pagination.js +36 -0
  50. package/dist/cdn/seki-select-content.js +2 -2
  51. package/dist/cdn/seki-select-group.js +3 -3
  52. package/dist/cdn/seki-select-option.js +3 -3
  53. package/dist/cdn/seki-select-trigger.js +2 -2
  54. package/dist/cdn/seki-select.js +3 -3
  55. package/dist/cdn/seki-separator.d.ts +11 -0
  56. package/dist/cdn/seki-separator.js +55 -0
  57. package/dist/cdn/seki-sheet-close.d.ts +11 -0
  58. package/dist/cdn/seki-sheet-close.js +40 -0
  59. package/dist/cdn/seki-sheet-content.d.ts +11 -0
  60. package/dist/cdn/seki-sheet-content.js +58 -0
  61. package/dist/cdn/seki-sheet-description.d.ts +11 -0
  62. package/dist/cdn/seki-sheet-description.js +36 -0
  63. package/dist/cdn/seki-sheet-footer.d.ts +11 -0
  64. package/dist/cdn/seki-sheet-footer.js +36 -0
  65. package/dist/cdn/seki-sheet-header.d.ts +11 -0
  66. package/dist/cdn/seki-sheet-header.js +36 -0
  67. package/dist/cdn/seki-sheet-title.d.ts +11 -0
  68. package/dist/cdn/seki-sheet-title.js +36 -0
  69. package/dist/cdn/seki-sheet-trigger.d.ts +11 -0
  70. package/dist/cdn/seki-sheet-trigger.js +40 -0
  71. package/dist/cdn/seki-sheet.d.ts +11 -0
  72. package/dist/cdn/seki-sheet.js +86 -0
  73. package/dist/cdn/seki-sidebar-content.js +5 -7
  74. package/dist/cdn/seki-sidebar-footer.js +21 -7
  75. package/dist/cdn/seki-sidebar-group-action.d.ts +11 -0
  76. package/dist/cdn/seki-sidebar-group-action.js +43 -0
  77. package/dist/cdn/seki-sidebar-group-content.d.ts +11 -0
  78. package/dist/cdn/seki-sidebar-group-content.js +36 -0
  79. package/dist/cdn/seki-sidebar-group-label.d.ts +11 -0
  80. package/dist/cdn/seki-sidebar-group-label.js +6 -0
  81. package/dist/cdn/seki-sidebar-group.js +13 -100
  82. package/dist/cdn/seki-sidebar-header.js +21 -7
  83. package/dist/cdn/seki-sidebar-inset.d.ts +11 -0
  84. package/dist/cdn/seki-sidebar-inset.js +36 -0
  85. package/dist/cdn/seki-sidebar-menu-action.d.ts +11 -0
  86. package/dist/cdn/seki-sidebar-menu-action.js +42 -0
  87. package/dist/cdn/seki-sidebar-menu-badge.d.ts +11 -0
  88. package/dist/cdn/seki-sidebar-menu-badge.js +36 -0
  89. package/dist/cdn/seki-sidebar-menu-button.d.ts +11 -0
  90. package/dist/cdn/seki-sidebar-menu-button.js +109 -0
  91. package/dist/cdn/seki-sidebar-menu-item.js +6 -170
  92. package/dist/cdn/seki-sidebar-menu-skeleton.d.ts +11 -0
  93. package/dist/cdn/seki-sidebar-menu-skeleton.js +42 -0
  94. package/dist/cdn/seki-sidebar-menu-sub-button.d.ts +11 -0
  95. package/dist/cdn/seki-sidebar-menu-sub-button.js +50 -0
  96. package/dist/cdn/seki-sidebar-menu-sub-item.d.ts +11 -0
  97. package/dist/cdn/seki-sidebar-menu-sub-item.js +36 -0
  98. package/dist/cdn/seki-sidebar-menu-sub.js +78 -82
  99. package/dist/cdn/seki-sidebar-menu.js +5 -7
  100. package/dist/cdn/seki-sidebar-provider.d.ts +11 -0
  101. package/dist/cdn/seki-sidebar-provider.js +189 -0
  102. package/dist/cdn/seki-sidebar-rail.d.ts +11 -0
  103. package/dist/cdn/seki-sidebar-rail.js +43 -0
  104. package/dist/cdn/seki-sidebar-separator.d.ts +11 -0
  105. package/dist/cdn/seki-sidebar-separator.js +36 -0
  106. package/dist/cdn/seki-sidebar-trigger.js +26 -67
  107. package/dist/cdn/seki-sidebar.js +40 -329
  108. package/dist/cdn/seki-skeleton.js +3 -3
  109. package/dist/cdn/seki-switch.js +1 -1
  110. package/dist/cdn/seki-tooltip.js +3 -3
  111. package/dist/cjs/{index-D4RM3EID.js → index-DzoHqiUq.js} +8 -385
  112. package/dist/cjs/index.cjs.js +141 -5
  113. package/dist/cjs/loader.cjs.js +2 -2
  114. package/dist/cjs/seki-badge.cjs.entry.js +1 -1
  115. package/dist/cjs/seki-breadcrumb-ellipsis.cjs.entry.js +17 -0
  116. package/dist/cjs/seki-breadcrumb-item.cjs.entry.js +17 -0
  117. package/dist/cjs/seki-breadcrumb-link.cjs.entry.js +17 -0
  118. package/dist/cjs/seki-breadcrumb-list.cjs.entry.js +17 -0
  119. package/dist/cjs/seki-breadcrumb-page.cjs.entry.js +17 -0
  120. package/dist/cjs/seki-breadcrumb-separator.cjs.entry.js +22 -0
  121. package/dist/cjs/seki-breadcrumb.cjs.entry.js +22 -0
  122. package/dist/cjs/seki-button.cjs.entry.js +3 -3
  123. package/dist/cjs/seki-card-action.cjs.entry.js +3 -3
  124. package/dist/cjs/seki-card-content.cjs.entry.js +3 -3
  125. package/dist/cjs/seki-card-description.cjs.entry.js +3 -3
  126. package/dist/cjs/seki-card-footer.cjs.entry.js +3 -3
  127. package/dist/cjs/seki-card-header.cjs.entry.js +3 -3
  128. package/dist/cjs/seki-card-title.cjs.entry.js +2 -2
  129. package/dist/cjs/seki-card.cjs.entry.js +3 -3
  130. package/dist/cjs/seki-field-description.cjs.entry.js +3 -3
  131. package/dist/cjs/seki-field-error.cjs.entry.js +3 -3
  132. package/dist/cjs/seki-field-group.cjs.entry.js +3 -3
  133. package/dist/cjs/seki-field-label.cjs.entry.js +3 -3
  134. package/dist/cjs/seki-field-legend.cjs.entry.js +3 -3
  135. package/dist/cjs/seki-field.cjs.entry.js +3 -3
  136. package/dist/cjs/seki-fieldset.cjs.entry.js +3 -3
  137. package/dist/cjs/seki-input.cjs.entry.js +3 -3
  138. package/dist/cjs/seki-pagination-content.cjs.entry.js +17 -0
  139. package/dist/cjs/seki-pagination-ellipsis.cjs.entry.js +17 -0
  140. package/dist/cjs/seki-pagination-item.cjs.entry.js +17 -0
  141. package/dist/cjs/seki-pagination-link.cjs.entry.js +30 -0
  142. package/dist/cjs/seki-pagination-next.cjs.entry.js +26 -0
  143. package/dist/cjs/seki-pagination-previous.cjs.entry.js +26 -0
  144. package/dist/cjs/seki-pagination.cjs.entry.js +17 -0
  145. package/dist/cjs/seki-select-content.cjs.entry.js +2 -2
  146. package/dist/cjs/seki-select-group.cjs.entry.js +3 -3
  147. package/dist/cjs/seki-select-option.cjs.entry.js +3 -3
  148. package/dist/cjs/seki-select-trigger.cjs.entry.js +2 -2
  149. package/dist/cjs/seki-select.cjs.entry.js +3 -3
  150. package/dist/cjs/seki-separator.cjs.entry.js +33 -0
  151. package/dist/cjs/seki-sheet-close.cjs.entry.js +21 -0
  152. package/dist/cjs/seki-sheet-content.cjs.entry.js +37 -0
  153. package/dist/cjs/seki-sheet-description.cjs.entry.js +17 -0
  154. package/dist/cjs/seki-sheet-footer.cjs.entry.js +17 -0
  155. package/dist/cjs/seki-sheet-header.cjs.entry.js +17 -0
  156. package/dist/cjs/seki-sheet-title.cjs.entry.js +17 -0
  157. package/dist/cjs/seki-sheet-trigger.cjs.entry.js +21 -0
  158. package/dist/cjs/seki-sheet.cjs.entry.js +62 -0
  159. package/dist/cjs/seki-sidebar-content.cjs.entry.js +3 -6
  160. package/dist/cjs/seki-sidebar-footer.cjs.entry.js +17 -6
  161. package/dist/cjs/seki-sidebar-group-action.cjs.entry.js +21 -0
  162. package/dist/cjs/seki-sidebar-group-content.cjs.entry.js +17 -0
  163. package/dist/cjs/seki-sidebar-group-label.cjs.entry.js +17 -0
  164. package/dist/cjs/seki-sidebar-group.cjs.entry.js +3 -91
  165. package/dist/cjs/seki-sidebar-header.cjs.entry.js +17 -6
  166. package/dist/cjs/seki-sidebar-inset.cjs.entry.js +17 -0
  167. package/dist/cjs/seki-sidebar-menu-action.cjs.entry.js +21 -0
  168. package/dist/cjs/seki-sidebar-menu-badge.cjs.entry.js +17 -0
  169. package/dist/cjs/seki-sidebar-menu-button.cjs.entry.js +81 -0
  170. package/dist/cjs/seki-sidebar-menu-item.cjs.entry.js +4 -161
  171. package/dist/cjs/seki-sidebar-menu-skeleton.cjs.entry.js +21 -0
  172. package/dist/cjs/seki-sidebar-menu-sub-button.cjs.entry.js +28 -0
  173. package/dist/cjs/seki-sidebar-menu-sub-item.cjs.entry.js +17 -0
  174. package/dist/cjs/seki-sidebar-menu-sub.cjs.entry.js +70 -76
  175. package/dist/cjs/seki-sidebar-menu.cjs.entry.js +3 -6
  176. package/dist/cjs/seki-sidebar-provider.cjs.entry.js +153 -0
  177. package/dist/cjs/seki-sidebar-rail.cjs.entry.js +24 -0
  178. package/dist/cjs/seki-sidebar-separator.cjs.entry.js +17 -0
  179. package/dist/cjs/seki-sidebar-trigger.cjs.entry.js +22 -63
  180. package/dist/cjs/seki-sidebar.cjs.entry.js +35 -312
  181. package/dist/cjs/seki-skeleton.cjs.entry.js +3 -3
  182. package/dist/cjs/seki-switch.cjs.entry.js +3 -3
  183. package/dist/cjs/seki-tooltip.cjs.entry.js +3 -3
  184. package/dist/cjs/sekiui.cjs.js +2 -2
  185. package/dist/collection/collection-manifest.json +36 -0
  186. package/dist/collection/components/breadcrumb/seki-breadcrumb-ellipsis.js +23 -0
  187. package/dist/collection/components/breadcrumb/seki-breadcrumb-item.js +23 -0
  188. package/dist/collection/components/breadcrumb/seki-breadcrumb-link.js +65 -0
  189. package/dist/collection/components/breadcrumb/seki-breadcrumb-list.js +23 -0
  190. package/dist/collection/components/breadcrumb/seki-breadcrumb-page.js +23 -0
  191. package/dist/collection/components/breadcrumb/seki-breadcrumb-separator.js +28 -0
  192. package/dist/collection/components/breadcrumb/seki-breadcrumb.css +125 -0
  193. package/dist/collection/components/breadcrumb/seki-breadcrumb.js +69 -0
  194. package/dist/collection/components/button/seki-button.css +74 -0
  195. package/dist/collection/components/button/seki-button.js +1 -1
  196. package/dist/collection/components/card/seki-card-action.js +1 -1
  197. package/dist/collection/components/card/seki-card-content.js +1 -1
  198. package/dist/collection/components/card/seki-card-description.js +1 -1
  199. package/dist/collection/components/card/seki-card-footer.js +1 -1
  200. package/dist/collection/components/card/seki-card-header.js +1 -1
  201. package/dist/collection/components/card/seki-card.css +74 -0
  202. package/dist/collection/components/card/seki-card.js +1 -1
  203. package/dist/collection/components/field/seki-field.css +74 -0
  204. package/dist/collection/components/field/seki-field.js +1 -1
  205. package/dist/collection/components/field-description/seki-field-description.css +74 -0
  206. package/dist/collection/components/field-description/seki-field-description.js +1 -1
  207. package/dist/collection/components/field-error/seki-field-error.css +74 -0
  208. package/dist/collection/components/field-error/seki-field-error.js +1 -1
  209. package/dist/collection/components/field-group/seki-field-group.css +74 -0
  210. package/dist/collection/components/field-group/seki-field-group.js +1 -1
  211. package/dist/collection/components/field-label/seki-field-label.css +74 -0
  212. package/dist/collection/components/field-label/seki-field-label.js +1 -1
  213. package/dist/collection/components/field-legend/seki-field-legend.css +74 -0
  214. package/dist/collection/components/field-legend/seki-field-legend.js +1 -1
  215. package/dist/collection/components/fieldset/seki-fieldset.css +74 -0
  216. package/dist/collection/components/fieldset/seki-fieldset.js +1 -1
  217. package/dist/collection/components/input/seki-input.css +74 -0
  218. package/dist/collection/components/input/seki-input.js +1 -1
  219. package/dist/collection/components/pagination/seki-pagination-content.js +23 -0
  220. package/dist/collection/components/pagination/seki-pagination-ellipsis.js +23 -0
  221. package/dist/collection/components/pagination/seki-pagination-item.js +23 -0
  222. package/dist/collection/components/pagination/seki-pagination-link.js +101 -0
  223. package/dist/collection/components/pagination/seki-pagination-next.js +77 -0
  224. package/dist/collection/components/pagination/seki-pagination-previous.js +77 -0
  225. package/dist/collection/components/pagination/seki-pagination.css +151 -0
  226. package/dist/collection/components/pagination/seki-pagination.js +37 -0
  227. package/dist/collection/components/select/seki-select.css +74 -0
  228. package/dist/collection/components/select/seki-select.js +1 -1
  229. package/dist/collection/components/select-content/seki-select-content.css +74 -0
  230. package/dist/collection/components/select-group/seki-select-group.css +74 -0
  231. package/dist/collection/components/select-group/seki-select-group.js +1 -1
  232. package/dist/collection/components/select-option/seki-select-option.css +74 -0
  233. package/dist/collection/components/select-option/seki-select-option.js +1 -1
  234. package/dist/collection/components/select-trigger/seki-select-trigger.css +74 -0
  235. package/dist/collection/components/separator/seki-separator.css +48 -0
  236. package/dist/collection/components/separator/seki-separator.interface.js +1 -0
  237. package/dist/collection/components/separator/seki-separator.js +100 -0
  238. package/dist/collection/components/sheet/seki-sheet-close.js +46 -0
  239. package/dist/collection/components/sheet/seki-sheet-content.js +95 -0
  240. package/dist/collection/components/sheet/seki-sheet-description.js +23 -0
  241. package/dist/collection/components/sheet/seki-sheet-footer.js +23 -0
  242. package/dist/collection/components/sheet/seki-sheet-header.js +23 -0
  243. package/dist/collection/components/sheet/seki-sheet-title.js +23 -0
  244. package/dist/collection/components/sheet/seki-sheet-trigger.js +46 -0
  245. package/dist/collection/components/sheet/seki-sheet.css +244 -0
  246. package/dist/collection/components/sheet/seki-sheet.js +195 -0
  247. package/dist/collection/components/sidebar/seki-sidebar-content.css +470 -54
  248. package/dist/collection/components/sidebar/seki-sidebar-content.js +3 -18
  249. package/dist/collection/components/sidebar/seki-sidebar-footer.css +475 -30
  250. package/dist/collection/components/sidebar/seki-sidebar-footer.js +32 -15
  251. package/dist/collection/components/sidebar/seki-sidebar-group-action.css +509 -0
  252. package/dist/collection/components/sidebar/seki-sidebar-group-action.js +67 -0
  253. package/dist/collection/components/sidebar/seki-sidebar-group-content.js +18 -0
  254. package/dist/collection/components/sidebar/seki-sidebar-group-label.js +18 -0
  255. package/dist/collection/components/sidebar/seki-sidebar-group.css +455 -120
  256. package/dist/collection/components/sidebar/seki-sidebar-group.js +9 -268
  257. package/dist/collection/components/sidebar/seki-sidebar-header.css +474 -30
  258. package/dist/collection/components/sidebar/seki-sidebar-header.js +32 -16
  259. package/dist/collection/components/sidebar/seki-sidebar-inset.js +18 -0
  260. package/dist/collection/components/sidebar/seki-sidebar-menu-action.js +48 -0
  261. package/dist/collection/components/sidebar/seki-sidebar-menu-badge.js +18 -0
  262. package/dist/collection/components/sidebar/seki-sidebar-menu-button.js +240 -0
  263. package/dist/collection/components/sidebar/seki-sidebar-menu-item.js +5 -390
  264. package/dist/collection/components/sidebar/seki-sidebar-menu-skeleton.js +48 -0
  265. package/dist/collection/components/sidebar/seki-sidebar-menu-sub-button.js +75 -0
  266. package/dist/collection/components/sidebar/seki-sidebar-menu-sub-item.js +18 -0
  267. package/dist/collection/components/sidebar/seki-sidebar-menu-sub.css +520 -290
  268. package/dist/collection/components/sidebar/seki-sidebar-menu-sub.js +85 -194
  269. package/dist/collection/components/sidebar/seki-sidebar-menu.css +720 -9
  270. package/dist/collection/components/sidebar/seki-sidebar-menu.js +3 -17
  271. package/dist/collection/components/sidebar/seki-sidebar-provider.css +514 -0
  272. package/dist/collection/components/sidebar/seki-sidebar-provider.js +399 -0
  273. package/dist/collection/components/sidebar/seki-sidebar-rail.css +530 -0
  274. package/dist/collection/components/sidebar/seki-sidebar-rail.js +27 -0
  275. package/dist/collection/components/sidebar/seki-sidebar-separator.js +18 -0
  276. package/dist/collection/components/sidebar/seki-sidebar-trigger.css +492 -41
  277. package/dist/collection/components/sidebar/seki-sidebar-trigger.js +34 -122
  278. package/dist/collection/components/sidebar/seki-sidebar.css +554 -276
  279. package/dist/collection/components/sidebar/seki-sidebar.js +57 -721
  280. package/dist/collection/components/skeleton/seki-skeleton.css +74 -0
  281. package/dist/collection/components/skeleton/seki-skeleton.js +1 -1
  282. package/dist/collection/components/switch/seki-switch.css +74 -0
  283. package/dist/collection/components/switch/seki-switch.js +1 -1
  284. package/dist/collection/components/tooltip/seki-tooltip.css +74 -0
  285. package/dist/collection/components/tooltip/seki-tooltip.js +1 -1
  286. package/dist/components/index.js +140 -4
  287. package/dist/{cdn/p-Cpa2leXN.js → components/p-BwXR4cDh.js} +3 -3
  288. package/dist/components/p-COLDALVZ.js +33 -0
  289. package/dist/{cdn/p-DxUZSKfL.js → components/p-D2lrrniN.js} +9 -386
  290. package/dist/components/seki-badge.js +1 -1
  291. package/dist/components/seki-breadcrumb-ellipsis.d.ts +11 -0
  292. package/dist/components/seki-breadcrumb-ellipsis.js +36 -0
  293. package/dist/components/seki-breadcrumb-item.d.ts +11 -0
  294. package/dist/components/seki-breadcrumb-item.js +36 -0
  295. package/dist/components/seki-breadcrumb-link.d.ts +11 -0
  296. package/dist/components/seki-breadcrumb-link.js +39 -0
  297. package/dist/components/seki-breadcrumb-list.d.ts +11 -0
  298. package/dist/components/seki-breadcrumb-list.js +36 -0
  299. package/dist/components/seki-breadcrumb-page.d.ts +11 -0
  300. package/dist/components/seki-breadcrumb-page.js +36 -0
  301. package/dist/components/seki-breadcrumb-separator.d.ts +11 -0
  302. package/dist/components/seki-breadcrumb-separator.js +41 -0
  303. package/dist/components/seki-breadcrumb.d.ts +11 -0
  304. package/dist/components/seki-breadcrumb.js +43 -0
  305. package/dist/components/seki-button.js +3 -3
  306. package/dist/components/seki-card-action.js +3 -3
  307. package/dist/components/seki-card-content.js +3 -3
  308. package/dist/components/seki-card-description.js +3 -3
  309. package/dist/components/seki-card-footer.js +3 -3
  310. package/dist/components/seki-card-header.js +3 -3
  311. package/dist/components/seki-card-title.js +2 -2
  312. package/dist/components/seki-card.js +3 -3
  313. package/dist/components/seki-field-description.js +3 -3
  314. package/dist/components/seki-field-error.js +3 -3
  315. package/dist/components/seki-field-group.js +3 -3
  316. package/dist/components/seki-field-label.js +3 -3
  317. package/dist/components/seki-field-legend.js +3 -3
  318. package/dist/components/seki-field.js +3 -3
  319. package/dist/components/seki-fieldset.js +3 -3
  320. package/dist/components/seki-input.js +3 -3
  321. package/dist/components/seki-pagination-content.d.ts +11 -0
  322. package/dist/components/seki-pagination-content.js +36 -0
  323. package/dist/components/seki-pagination-ellipsis.d.ts +11 -0
  324. package/dist/components/seki-pagination-ellipsis.js +36 -0
  325. package/dist/components/seki-pagination-item.d.ts +11 -0
  326. package/dist/components/seki-pagination-item.js +36 -0
  327. package/dist/components/seki-pagination-link.d.ts +11 -0
  328. package/dist/components/seki-pagination-link.js +53 -0
  329. package/dist/components/seki-pagination-next.d.ts +11 -0
  330. package/dist/components/seki-pagination-next.js +48 -0
  331. package/dist/components/seki-pagination-previous.d.ts +11 -0
  332. package/dist/components/seki-pagination-previous.js +48 -0
  333. package/dist/components/seki-pagination.d.ts +11 -0
  334. package/dist/components/seki-pagination.js +36 -0
  335. package/dist/components/seki-select-content.js +2 -2
  336. package/dist/components/seki-select-group.js +3 -3
  337. package/dist/components/seki-select-option.js +3 -3
  338. package/dist/components/seki-select-trigger.js +2 -2
  339. package/dist/components/seki-select.js +3 -3
  340. package/dist/components/seki-separator.d.ts +11 -0
  341. package/dist/components/seki-separator.js +55 -0
  342. package/dist/components/seki-sheet-close.d.ts +11 -0
  343. package/dist/components/seki-sheet-close.js +40 -0
  344. package/dist/components/seki-sheet-content.d.ts +11 -0
  345. package/dist/components/seki-sheet-content.js +58 -0
  346. package/dist/components/seki-sheet-description.d.ts +11 -0
  347. package/dist/components/seki-sheet-description.js +36 -0
  348. package/dist/components/seki-sheet-footer.d.ts +11 -0
  349. package/dist/components/seki-sheet-footer.js +36 -0
  350. package/dist/components/seki-sheet-header.d.ts +11 -0
  351. package/dist/components/seki-sheet-header.js +36 -0
  352. package/dist/components/seki-sheet-title.d.ts +11 -0
  353. package/dist/components/seki-sheet-title.js +36 -0
  354. package/dist/components/seki-sheet-trigger.d.ts +11 -0
  355. package/dist/components/seki-sheet-trigger.js +40 -0
  356. package/dist/components/seki-sheet.d.ts +11 -0
  357. package/dist/components/seki-sheet.js +86 -0
  358. package/dist/components/seki-sidebar-content.js +5 -7
  359. package/dist/components/seki-sidebar-footer.js +21 -7
  360. package/dist/components/seki-sidebar-group-action.d.ts +11 -0
  361. package/dist/components/seki-sidebar-group-action.js +43 -0
  362. package/dist/components/seki-sidebar-group-content.d.ts +11 -0
  363. package/dist/components/seki-sidebar-group-content.js +36 -0
  364. package/dist/components/seki-sidebar-group-label.d.ts +11 -0
  365. package/dist/components/seki-sidebar-group-label.js +6 -0
  366. package/dist/components/seki-sidebar-group.js +13 -100
  367. package/dist/components/seki-sidebar-header.js +21 -7
  368. package/dist/components/seki-sidebar-inset.d.ts +11 -0
  369. package/dist/components/seki-sidebar-inset.js +36 -0
  370. package/dist/components/seki-sidebar-menu-action.d.ts +11 -0
  371. package/dist/components/seki-sidebar-menu-action.js +42 -0
  372. package/dist/components/seki-sidebar-menu-badge.d.ts +11 -0
  373. package/dist/components/seki-sidebar-menu-badge.js +36 -0
  374. package/dist/components/seki-sidebar-menu-button.d.ts +11 -0
  375. package/dist/components/seki-sidebar-menu-button.js +109 -0
  376. package/dist/components/seki-sidebar-menu-item.js +6 -170
  377. package/dist/components/seki-sidebar-menu-skeleton.d.ts +11 -0
  378. package/dist/components/seki-sidebar-menu-skeleton.js +42 -0
  379. package/dist/components/seki-sidebar-menu-sub-button.d.ts +11 -0
  380. package/dist/components/seki-sidebar-menu-sub-button.js +50 -0
  381. package/dist/components/seki-sidebar-menu-sub-item.d.ts +11 -0
  382. package/dist/components/seki-sidebar-menu-sub-item.js +36 -0
  383. package/dist/components/seki-sidebar-menu-sub.js +78 -82
  384. package/dist/components/seki-sidebar-menu.js +5 -7
  385. package/dist/components/seki-sidebar-provider.d.ts +11 -0
  386. package/dist/components/seki-sidebar-provider.js +189 -0
  387. package/dist/components/seki-sidebar-rail.d.ts +11 -0
  388. package/dist/components/seki-sidebar-rail.js +43 -0
  389. package/dist/components/seki-sidebar-separator.d.ts +11 -0
  390. package/dist/components/seki-sidebar-separator.js +36 -0
  391. package/dist/components/seki-sidebar-trigger.js +26 -67
  392. package/dist/components/seki-sidebar.js +40 -329
  393. package/dist/components/seki-skeleton.js +3 -3
  394. package/dist/components/seki-switch.js +1 -1
  395. package/dist/components/seki-tooltip.js +3 -3
  396. package/dist/esm/{index-DI_YjzRi.js → index-BGmDiTq4.js} +8 -385
  397. package/dist/esm/index.js +139 -3
  398. package/dist/esm/loader.js +3 -3
  399. package/dist/esm/seki-badge.entry.js +1 -1
  400. package/dist/esm/seki-breadcrumb-ellipsis.entry.js +15 -0
  401. package/dist/esm/seki-breadcrumb-item.entry.js +15 -0
  402. package/dist/esm/seki-breadcrumb-link.entry.js +15 -0
  403. package/dist/esm/seki-breadcrumb-list.entry.js +15 -0
  404. package/dist/esm/seki-breadcrumb-page.entry.js +15 -0
  405. package/dist/esm/seki-breadcrumb-separator.entry.js +20 -0
  406. package/dist/esm/seki-breadcrumb.entry.js +20 -0
  407. package/dist/esm/seki-button.entry.js +3 -3
  408. package/dist/esm/seki-card-action.entry.js +3 -3
  409. package/dist/esm/seki-card-content.entry.js +3 -3
  410. package/dist/esm/seki-card-description.entry.js +3 -3
  411. package/dist/esm/seki-card-footer.entry.js +3 -3
  412. package/dist/esm/seki-card-header.entry.js +3 -3
  413. package/dist/esm/seki-card-title.entry.js +2 -2
  414. package/dist/esm/seki-card.entry.js +3 -3
  415. package/dist/esm/seki-field-description.entry.js +3 -3
  416. package/dist/esm/seki-field-error.entry.js +3 -3
  417. package/dist/esm/seki-field-group.entry.js +3 -3
  418. package/dist/esm/seki-field-label.entry.js +3 -3
  419. package/dist/esm/seki-field-legend.entry.js +3 -3
  420. package/dist/esm/seki-field.entry.js +3 -3
  421. package/dist/esm/seki-fieldset.entry.js +3 -3
  422. package/dist/esm/seki-input.entry.js +3 -3
  423. package/dist/esm/seki-pagination-content.entry.js +15 -0
  424. package/dist/esm/seki-pagination-ellipsis.entry.js +15 -0
  425. package/dist/esm/seki-pagination-item.entry.js +15 -0
  426. package/dist/esm/seki-pagination-link.entry.js +28 -0
  427. package/dist/esm/seki-pagination-next.entry.js +24 -0
  428. package/dist/esm/seki-pagination-previous.entry.js +24 -0
  429. package/dist/esm/seki-pagination.entry.js +15 -0
  430. package/dist/esm/seki-select-content.entry.js +2 -2
  431. package/dist/esm/seki-select-group.entry.js +3 -3
  432. package/dist/esm/seki-select-option.entry.js +3 -3
  433. package/dist/esm/seki-select-trigger.entry.js +2 -2
  434. package/dist/esm/seki-select.entry.js +3 -3
  435. package/dist/esm/seki-separator.entry.js +31 -0
  436. package/dist/esm/seki-sheet-close.entry.js +19 -0
  437. package/dist/esm/seki-sheet-content.entry.js +35 -0
  438. package/dist/esm/seki-sheet-description.entry.js +15 -0
  439. package/dist/esm/seki-sheet-footer.entry.js +15 -0
  440. package/dist/esm/seki-sheet-header.entry.js +15 -0
  441. package/dist/esm/seki-sheet-title.entry.js +15 -0
  442. package/dist/esm/seki-sheet-trigger.entry.js +19 -0
  443. package/dist/esm/seki-sheet.entry.js +60 -0
  444. package/dist/esm/seki-sidebar-content.entry.js +3 -6
  445. package/dist/esm/seki-sidebar-footer.entry.js +17 -6
  446. package/dist/esm/seki-sidebar-group-action.entry.js +19 -0
  447. package/dist/esm/seki-sidebar-group-content.entry.js +15 -0
  448. package/dist/esm/seki-sidebar-group-label.entry.js +15 -0
  449. package/dist/esm/seki-sidebar-group.entry.js +3 -91
  450. package/dist/esm/seki-sidebar-header.entry.js +17 -6
  451. package/dist/esm/seki-sidebar-inset.entry.js +15 -0
  452. package/dist/esm/seki-sidebar-menu-action.entry.js +19 -0
  453. package/dist/esm/seki-sidebar-menu-badge.entry.js +15 -0
  454. package/dist/esm/seki-sidebar-menu-button.entry.js +79 -0
  455. package/dist/esm/seki-sidebar-menu-item.entry.js +4 -161
  456. package/dist/esm/seki-sidebar-menu-skeleton.entry.js +19 -0
  457. package/dist/esm/seki-sidebar-menu-sub-button.entry.js +26 -0
  458. package/dist/{sekiui/p-6f5bf5af.entry.js → esm/seki-sidebar-menu-sub-item.entry.js} +15 -1
  459. package/dist/esm/seki-sidebar-menu-sub.entry.js +70 -76
  460. package/dist/esm/seki-sidebar-menu.entry.js +3 -6
  461. package/dist/esm/seki-sidebar-provider.entry.js +151 -0
  462. package/dist/esm/seki-sidebar-rail.entry.js +22 -0
  463. package/dist/esm/seki-sidebar-separator.entry.js +15 -0
  464. package/dist/esm/seki-sidebar-trigger.entry.js +22 -63
  465. package/dist/esm/seki-sidebar.entry.js +35 -312
  466. package/dist/esm/seki-skeleton.entry.js +3 -3
  467. package/dist/esm/seki-switch.entry.js +3 -3
  468. package/dist/esm/seki-tooltip.entry.js +3 -3
  469. package/dist/esm/sekiui.js +3 -3
  470. package/dist/sekiui/index.esm.js +1 -1
  471. package/dist/sekiui/{p-b7f2b568.entry.js → p-04352a21.entry.js} +1 -1
  472. package/dist/sekiui/p-05d32c2b.entry.js +1 -0
  473. package/dist/sekiui/p-07c068ab.entry.js +1 -0
  474. package/dist/sekiui/p-0a2eeae8.entry.js +1 -0
  475. package/dist/sekiui/p-10964d26.entry.js +1 -0
  476. package/dist/sekiui/p-11986f7b.entry.js +1 -0
  477. package/dist/sekiui/{p-40ba3ad6.entry.js → p-11fb8623.entry.js} +1 -1
  478. package/dist/sekiui/{p-4867d02d.entry.js → p-18f4b5ac.entry.js} +1 -1
  479. package/dist/sekiui/p-1bab20f5.entry.js +1 -0
  480. package/dist/sekiui/p-1d130353.entry.js +1 -0
  481. package/dist/sekiui/{p-68b1fa1a.entry.js → p-243d94e7.entry.js} +1 -1
  482. package/dist/sekiui/p-246f7350.entry.js +1 -0
  483. package/dist/sekiui/p-24c190b3.entry.js +1 -0
  484. package/dist/sekiui/{p-6a922121.entry.js → p-25d33102.entry.js} +1 -1
  485. package/dist/sekiui/p-28d88915.entry.js +1 -0
  486. package/dist/sekiui/p-33d00106.entry.js +1 -0
  487. package/dist/sekiui/p-3faad89c.entry.js +1 -0
  488. package/dist/sekiui/p-443bc85e.entry.js +1 -0
  489. package/dist/sekiui/p-4e0d1d81.entry.js +1 -0
  490. package/dist/sekiui/p-50802600.entry.js +1 -0
  491. package/dist/sekiui/{p-f863f36b.entry.js → p-581ada61.entry.js} +1 -1
  492. package/dist/sekiui/p-5a06dd77.entry.js +1 -0
  493. package/dist/sekiui/p-610ee94a.entry.js +1 -0
  494. package/dist/sekiui/p-638802c3.entry.js +1 -0
  495. package/dist/sekiui/{p-b64e7007.entry.js → p-64586664.entry.js} +1 -1
  496. package/dist/sekiui/{p-c74bd925.entry.js → p-69abaa3d.entry.js} +1 -1
  497. package/dist/sekiui/p-6cbd155d.entry.js +1 -0
  498. package/dist/sekiui/{p-f1ffc3fa.entry.js → p-7605bbc2.entry.js} +1 -1
  499. package/dist/sekiui/p-791aa8d4.entry.js +1 -0
  500. package/dist/sekiui/p-7b1e1352.entry.js +1 -0
  501. package/dist/sekiui/p-83a7d43a.entry.js +1 -0
  502. package/dist/sekiui/{p-587fd313.entry.js → p-885cd0b6.entry.js} +1 -1
  503. package/dist/sekiui/p-89caba18.entry.js +1 -0
  504. package/dist/sekiui/{p-84d47cab.entry.js → p-8c7b00ef.entry.js} +1 -1
  505. package/dist/sekiui/p-8fb5d3ee.entry.js +1 -0
  506. package/dist/sekiui/{p-cf552ff9.entry.js → p-962db19e.entry.js} +1 -1
  507. package/dist/sekiui/{p-58ab95eb.entry.js → p-96b0b777.entry.js} +1 -1
  508. package/dist/sekiui/p-997def36.entry.js +1 -0
  509. package/dist/sekiui/p-BGmDiTq4.js +2 -0
  510. package/dist/sekiui/{p-d194caf1.entry.js → p-a72e57e7.entry.js} +1 -1
  511. package/dist/sekiui/p-a9c3a1eb.entry.js +1 -0
  512. package/dist/sekiui/{p-402a5db6.entry.js → p-ac1d1faa.entry.js} +1 -1
  513. package/dist/sekiui/p-ac32edd9.entry.js +1 -0
  514. package/dist/sekiui/{p-e6d5f56e.entry.js → p-b0fa7367.entry.js} +1 -1
  515. package/dist/sekiui/{p-dfa2f8cd.entry.js → p-b2886975.entry.js} +1 -1
  516. package/dist/sekiui/{p-1685e673.entry.js → p-b4aae4b5.entry.js} +1 -1
  517. package/dist/sekiui/{p-27deb555.entry.js → p-bdf13ed4.entry.js} +1 -1
  518. package/dist/sekiui/p-c42e6264.entry.js +1 -0
  519. package/dist/sekiui/p-c5cc3f3e.entry.js +1 -0
  520. package/dist/sekiui/{p-c642ab55.entry.js → p-c91f9078.entry.js} +1 -1
  521. package/dist/sekiui/{p-1480b41a.entry.js → p-cec52ed7.entry.js} +1 -1
  522. package/dist/sekiui/p-cf84e1fe.entry.js +1 -0
  523. package/dist/sekiui/p-d12b6412.entry.js +1 -0
  524. package/dist/sekiui/{p-ab9d1ba5.entry.js → p-d7a568dc.entry.js} +1 -1
  525. package/dist/sekiui/p-dd4eb7a1.entry.js +1 -0
  526. package/dist/sekiui/p-ddb1d6bb.entry.js +1 -0
  527. package/dist/sekiui/p-e14fd923.entry.js +1 -0
  528. package/dist/sekiui/p-e15ad7b9.entry.js +1 -0
  529. package/dist/sekiui/{p-ce1bbe04.entry.js → p-e3945122.entry.js} +1 -1
  530. package/dist/sekiui/p-e4d3d274.entry.js +1 -0
  531. package/dist/sekiui/p-e825d1ef.entry.js +1 -0
  532. package/dist/sekiui/{p-161be4d4.entry.js → p-e91724f5.entry.js} +1 -1
  533. package/dist/sekiui/p-edddd260.entry.js +1 -0
  534. package/dist/sekiui/p-ee507a57.entry.js +1 -0
  535. package/dist/sekiui/p-ee85d935.entry.js +1 -0
  536. package/dist/sekiui/p-f015db9f.entry.js +1 -0
  537. package/dist/sekiui/p-f10ca04d.entry.js +1 -0
  538. package/dist/sekiui/p-f5f61b67.entry.js +1 -0
  539. package/dist/sekiui/p-f78f3bd1.entry.js +1 -0
  540. package/dist/sekiui/p-fc221992.entry.js +1 -0
  541. package/dist/sekiui/p-fe18f971.entry.js +1 -0
  542. package/dist/sekiui/sekiui.css +1 -1
  543. package/dist/sekiui/sekiui.esm.js +1 -1
  544. package/dist/types/components/breadcrumb/seki-breadcrumb-ellipsis.d.ts +8 -0
  545. package/dist/types/components/breadcrumb/seki-breadcrumb-item.d.ts +8 -0
  546. package/dist/types/components/breadcrumb/seki-breadcrumb-link.d.ts +16 -0
  547. package/dist/types/components/breadcrumb/seki-breadcrumb-list.d.ts +8 -0
  548. package/dist/types/components/breadcrumb/seki-breadcrumb-page.d.ts +8 -0
  549. package/dist/types/components/breadcrumb/seki-breadcrumb-separator.d.ts +10 -0
  550. package/dist/types/components/breadcrumb/seki-breadcrumb.d.ts +25 -0
  551. package/dist/types/components/pagination/seki-pagination-content.d.ts +8 -0
  552. package/dist/types/components/pagination/seki-pagination-ellipsis.d.ts +8 -0
  553. package/dist/types/components/pagination/seki-pagination-item.d.ts +8 -0
  554. package/dist/types/components/pagination/seki-pagination-link.d.ts +20 -0
  555. package/dist/types/components/pagination/seki-pagination-next.d.ts +16 -0
  556. package/dist/types/components/pagination/seki-pagination-previous.d.ts +16 -0
  557. package/dist/types/components/pagination/seki-pagination.d.ts +22 -0
  558. package/dist/types/components/separator/seki-separator.d.ts +23 -0
  559. package/dist/types/components/separator/seki-separator.interface.d.ts +9 -0
  560. package/dist/types/components/sheet/seki-sheet-close.d.ts +14 -0
  561. package/dist/types/components/sheet/seki-sheet-content.d.ts +22 -0
  562. package/dist/types/components/sheet/seki-sheet-description.d.ts +8 -0
  563. package/dist/types/components/sheet/seki-sheet-footer.d.ts +8 -0
  564. package/dist/types/components/sheet/seki-sheet-header.d.ts +8 -0
  565. package/dist/types/components/sheet/seki-sheet-title.d.ts +8 -0
  566. package/dist/types/components/sheet/seki-sheet-trigger.d.ts +14 -0
  567. package/dist/types/components/sheet/seki-sheet.d.ts +49 -0
  568. package/dist/types/components/sidebar/seki-sidebar-content.d.ts +0 -15
  569. package/dist/types/components/sidebar/seki-sidebar-footer.d.ts +5 -13
  570. package/dist/types/components/sidebar/seki-sidebar-group-action.d.ts +11 -0
  571. package/dist/types/components/sidebar/seki-sidebar-group-content.d.ts +3 -0
  572. package/dist/types/components/sidebar/seki-sidebar-group-label.d.ts +3 -0
  573. package/dist/types/components/sidebar/seki-sidebar-group.d.ts +2 -76
  574. package/dist/types/components/sidebar/seki-sidebar-header.d.ts +5 -14
  575. package/dist/types/components/sidebar/seki-sidebar-inset.d.ts +3 -0
  576. package/dist/types/components/sidebar/seki-sidebar-menu-action.d.ts +7 -0
  577. package/dist/types/components/sidebar/seki-sidebar-menu-badge.d.ts +3 -0
  578. package/dist/types/components/sidebar/seki-sidebar-menu-button.d.ts +37 -0
  579. package/dist/types/components/sidebar/seki-sidebar-menu-item.d.ts +0 -101
  580. package/dist/types/components/sidebar/seki-sidebar-menu-skeleton.d.ts +7 -0
  581. package/dist/types/components/sidebar/seki-sidebar-menu-sub-button.d.ts +11 -0
  582. package/dist/types/components/sidebar/seki-sidebar-menu-sub-item.d.ts +3 -0
  583. package/dist/types/components/sidebar/seki-sidebar-menu-sub.d.ts +12 -71
  584. package/dist/types/components/sidebar/seki-sidebar-menu.d.ts +0 -14
  585. package/dist/types/components/sidebar/seki-sidebar-provider.d.ts +59 -0
  586. package/dist/types/components/sidebar/seki-sidebar-rail.d.ts +5 -0
  587. package/dist/types/components/sidebar/seki-sidebar-separator.d.ts +3 -0
  588. package/dist/types/components/sidebar/seki-sidebar-trigger.d.ts +9 -46
  589. package/dist/types/components/sidebar/seki-sidebar.d.ts +13 -174
  590. package/dist/types/components.d.ts +1353 -260
  591. package/package.json +1 -1
  592. package/dist/cdn/p-BJCq8m2o.js +0 -138
  593. package/dist/cjs/keyboard-Cjl5HYES.js +0 -142
  594. package/dist/collection/components/sidebar/seki-sidebar-menu-item.css +0 -196
  595. package/dist/collection/components/sidebar/types.js +0 -18
  596. package/dist/components/p-BJCq8m2o.js +0 -138
  597. package/dist/esm/keyboard-BJCq8m2o.js +0 -138
  598. package/dist/sekiui/p-0af1b81a.entry.js +0 -1
  599. package/dist/sekiui/p-0ca6b9f0.entry.js +0 -1
  600. package/dist/sekiui/p-26b629bc.entry.js +0 -1
  601. package/dist/sekiui/p-37fa684c.entry.js +0 -1
  602. package/dist/sekiui/p-4b29dbda.entry.js +0 -1
  603. package/dist/sekiui/p-60ff3543.entry.js +0 -1
  604. package/dist/sekiui/p-9dcd07b2.entry.js +0 -1
  605. package/dist/sekiui/p-BJCq8m2o.js +0 -1
  606. package/dist/sekiui/p-DI_YjzRi.js +0 -2
  607. package/dist/sekiui/p-b525d85a.entry.js +0 -1
  608. package/dist/sekiui/p-c83d94c4.entry.js +0 -1
  609. package/dist/types/components/sidebar/types.d.ts +0 -245
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sekiui/elements",
3
- "version": "0.0.59",
3
+ "version": "0.0.61",
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",
@@ -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
- };
@@ -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 };