@sekiui/elements 0.0.82 → 0.0.84

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 (846) hide show
  1. package/dist/cdn/p-BgtjDG0h.js +45 -0
  2. package/dist/cdn/{p-BgpxFAwm.js → p-BuBiWSGh.js} +18 -3
  3. package/dist/cdn/{p-Dj6GD4nq.js → p-CM3W2ecZ.js} +1 -1
  4. package/dist/cdn/{p-o_nleCju.js → p-Cs0DgQw5.js} +25 -8
  5. package/dist/cdn/p-D50kwTtW.js +160 -0
  6. package/dist/cdn/{p-m-89tckl.js → p-Df_mX3oj.js} +2 -2
  7. package/dist/cdn/p-DuJp0Kp6.js +63 -0
  8. package/dist/cdn/seki-accordion-content.js +10 -8
  9. package/dist/cdn/seki-accordion-item.js +12 -10
  10. package/dist/cdn/seki-accordion-trigger.js +12 -10
  11. package/dist/cdn/seki-alert-dialog-action.js +1 -1
  12. package/dist/cdn/seki-alert-dialog-cancel.js +1 -1
  13. package/dist/cdn/seki-alert-dialog-content.js +23 -21
  14. package/dist/cdn/seki-alert-dialog.js +1 -1
  15. package/dist/cdn/seki-button.js +1 -1
  16. package/dist/cdn/seki-calendar.js +1 -1
  17. package/dist/cdn/seki-carousel-dots.js +3 -3
  18. package/dist/cdn/seki-carousel-next.js +3 -3
  19. package/dist/cdn/seki-carousel-previous.js +3 -3
  20. package/dist/cdn/seki-carousel.js +22 -4
  21. package/dist/cdn/seki-collapsible-content.js +9 -5
  22. package/dist/cdn/seki-combobox-item.js +9 -2
  23. package/dist/cdn/seki-command-group.js +9 -7
  24. package/dist/cdn/seki-context-menu-content.js +17 -15
  25. package/dist/cdn/seki-context-menu.js +11 -2
  26. package/dist/cdn/seki-data-table.js +19 -16
  27. package/dist/cdn/seki-date-picker.js +1 -1
  28. package/dist/cdn/seki-dialog-content.js +23 -21
  29. package/dist/cdn/seki-dialog-overlay.js +10 -8
  30. package/dist/cdn/seki-dialog.js +1 -1
  31. package/dist/cdn/seki-dropdown-menu-content.js +23 -68
  32. package/dist/cdn/seki-dropdown-menu-radio.js +11 -9
  33. package/dist/cdn/seki-dropdown-menu-trigger.js +11 -9
  34. package/dist/cdn/seki-dropdown-menu.js +11 -2
  35. package/dist/cdn/seki-marker-content.d.ts +11 -0
  36. package/dist/cdn/seki-marker-content.js +55 -0
  37. package/dist/cdn/seki-marker-icon.d.ts +11 -0
  38. package/dist/cdn/seki-marker-icon.js +43 -0
  39. package/dist/cdn/seki-marker.d.ts +11 -0
  40. package/dist/cdn/seki-marker.js +60 -0
  41. package/dist/cdn/seki-menubar-checkbox.js +2 -2
  42. package/dist/cdn/seki-menubar-content.js +24 -42
  43. package/dist/cdn/seki-menubar-group.js +1 -1
  44. package/dist/cdn/seki-menubar-item.js +2 -2
  45. package/dist/cdn/seki-menubar-menu.js +1 -1
  46. package/dist/cdn/seki-menubar-radio-group.js +1 -1
  47. package/dist/cdn/seki-menubar-radio.js +11 -9
  48. package/dist/cdn/seki-menubar-separator.js +1 -1
  49. package/dist/cdn/seki-menubar-shortcut.js +1 -1
  50. package/dist/cdn/seki-menubar-sub-trigger.js +2 -2
  51. package/dist/cdn/seki-menubar-sub.js +1 -1
  52. package/dist/cdn/seki-menubar-trigger.js +12 -10
  53. package/dist/cdn/seki-menubar.js +11 -2
  54. package/dist/cdn/seki-native-select.js +1 -1
  55. package/dist/cdn/seki-navigation-menu-content.js +8 -3
  56. package/dist/cdn/seki-navigation-menu-item.js +2 -2
  57. package/dist/cdn/seki-navigation-menu-link.js +8 -3
  58. package/dist/cdn/seki-navigation-menu-list.js +7 -2
  59. package/dist/cdn/seki-navigation-menu-trigger.js +3 -3
  60. package/dist/cdn/seki-navigation-menu-viewport.js +1 -1
  61. package/dist/cdn/seki-navigation-menu.js +6 -6
  62. package/dist/cdn/seki-pagination-content.js +1 -1
  63. package/dist/cdn/seki-pagination-ellipsis.js +1 -1
  64. package/dist/cdn/seki-pagination-item.js +1 -1
  65. package/dist/cdn/seki-pagination-link.js +2 -2
  66. package/dist/cdn/seki-pagination-next.js +2 -2
  67. package/dist/cdn/seki-pagination-previous.js +2 -2
  68. package/dist/cdn/seki-pagination.js +1 -1
  69. package/dist/cdn/seki-popover-close.js +1 -1
  70. package/dist/cdn/seki-popover-content.js +20 -65
  71. package/dist/cdn/seki-popover-trigger.js +1 -1
  72. package/dist/cdn/seki-popover.js +13 -3
  73. package/dist/cdn/seki-progress.js +1 -1
  74. package/dist/cdn/seki-radio-group-item.js +1 -1
  75. package/dist/cdn/seki-radio-group.js +1 -1
  76. package/dist/cdn/seki-resizable-handle.js +2 -2
  77. package/dist/cdn/seki-resizable-panel-group.js +2 -2
  78. package/dist/cdn/seki-resizable-panel.js +3 -3
  79. package/dist/cdn/seki-scroll-area.js +1 -1
  80. package/dist/cdn/seki-scroll-bar.js +6 -2
  81. package/dist/cdn/seki-select-group.js +1 -1
  82. package/dist/cdn/seki-select-option.js +29 -13
  83. package/dist/cdn/seki-select.js +79 -33
  84. package/dist/cdn/seki-separator.js +1 -1
  85. package/dist/cdn/seki-sheet-close.js +1 -1
  86. package/dist/cdn/seki-sheet-description.js +1 -1
  87. package/dist/cdn/seki-sheet-footer.js +1 -1
  88. package/dist/cdn/seki-sheet-header.js +1 -1
  89. package/dist/cdn/seki-sheet-title.js +1 -1
  90. package/dist/cdn/seki-sheet-trigger.js +1 -1
  91. package/dist/cdn/seki-sheet.js +2 -2
  92. package/dist/cdn/seki-sidebar-content.js +1 -1
  93. package/dist/cdn/seki-sidebar-footer.js +1 -1
  94. package/dist/cdn/seki-sidebar-group-action.js +1 -1
  95. package/dist/cdn/seki-sidebar-group-content.js +1 -1
  96. package/dist/cdn/seki-sidebar-group-label.js +1 -1
  97. package/dist/cdn/seki-sidebar-group.js +2 -2
  98. package/dist/cdn/seki-sidebar-header.js +1 -1
  99. package/dist/cdn/seki-sidebar-inset.js +1 -1
  100. package/dist/cdn/seki-sidebar-menu-action.js +1 -1
  101. package/dist/cdn/seki-sidebar-menu-badge.js +1 -1
  102. package/dist/cdn/seki-sidebar-menu-button.js +1 -1
  103. package/dist/cdn/seki-sidebar-menu-item.js +1 -1
  104. package/dist/cdn/seki-sidebar-menu-skeleton.js +1 -1
  105. package/dist/cdn/seki-sidebar-menu-sub-button.js +2 -2
  106. package/dist/cdn/seki-sidebar-menu-sub-item.js +1 -1
  107. package/dist/cdn/seki-sidebar-menu-sub.js +17 -16
  108. package/dist/cdn/seki-sidebar-menu.js +1 -1
  109. package/dist/cdn/seki-sidebar-provider.js +13 -4
  110. package/dist/cdn/seki-sidebar-rail.js +7 -2
  111. package/dist/cdn/seki-sidebar-separator.js +1 -1
  112. package/dist/cdn/seki-sidebar-trigger.js +1 -1
  113. package/dist/cdn/seki-sidebar.js +2 -2
  114. package/dist/cdn/seki-skeleton.js +1 -1
  115. package/dist/cdn/seki-slider.js +36 -4
  116. package/dist/cdn/seki-spinner.js +2 -2
  117. package/dist/cdn/seki-table-body.js +1 -1
  118. package/dist/cdn/seki-table-caption.js +1 -1
  119. package/dist/cdn/seki-table-footer.js +1 -1
  120. package/dist/cdn/seki-table-header.js +1 -1
  121. package/dist/cdn/seki-table-row.js +2 -2
  122. package/dist/cdn/seki-table.js +1 -1
  123. package/dist/cdn/seki-tabs-content.js +12 -10
  124. package/dist/cdn/seki-tabs-list.js +2 -2
  125. package/dist/cdn/seki-tabs-trigger.js +12 -10
  126. package/dist/cdn/seki-tabs.js +2 -2
  127. package/dist/cdn/seki-textarea.js +1 -1
  128. package/dist/cdn/seki-toggle-group.js +1 -1
  129. package/dist/cdn/seki-toggle.js +1 -1
  130. package/dist/cdn/seki-tooltip.js +16 -3
  131. package/dist/cjs/ancestor-attrs-CnUfqtWw.js +47 -0
  132. package/dist/cjs/focus-trap-CFl79SjZ.js +165 -0
  133. package/dist/cjs/loader.cjs.js +1 -1
  134. package/dist/cjs/positioning-LQZBWMS6.js +65 -0
  135. package/dist/cjs/seki-accordion-content.cjs.entry.js +10 -8
  136. package/dist/cjs/seki-accordion-item.cjs.entry.js +12 -10
  137. package/dist/cjs/seki-accordion-trigger.cjs.entry.js +12 -10
  138. package/dist/cjs/seki-alert-dialog-action.cjs.entry.js +1 -1
  139. package/dist/cjs/seki-alert-dialog-cancel.cjs.entry.js +1 -1
  140. package/dist/cjs/seki-alert-dialog-content.cjs.entry.js +23 -21
  141. package/dist/cjs/seki-button.cjs.entry.js +1 -1
  142. package/dist/cjs/seki-calendar.cjs.entry.js +25 -8
  143. package/dist/cjs/seki-carousel-dots.cjs.entry.js +3 -3
  144. package/dist/cjs/seki-carousel-next.cjs.entry.js +3 -3
  145. package/dist/cjs/seki-carousel-previous.cjs.entry.js +3 -3
  146. package/dist/cjs/seki-carousel.cjs.entry.js +22 -4
  147. package/dist/cjs/seki-collapsible-content.cjs.entry.js +9 -5
  148. package/dist/cjs/seki-combobox-item.cjs.entry.js +9 -2
  149. package/dist/cjs/seki-command-group.cjs.entry.js +9 -7
  150. package/dist/cjs/seki-context-menu-content.cjs.entry.js +17 -15
  151. package/dist/cjs/seki-context-menu.cjs.entry.js +11 -2
  152. package/dist/cjs/seki-data-table.cjs.entry.js +19 -16
  153. package/dist/cjs/seki-dialog-content.cjs.entry.js +23 -21
  154. package/dist/cjs/seki-dialog-overlay.cjs.entry.js +10 -8
  155. package/dist/cjs/seki-dialog.cjs.entry.js +15 -2
  156. package/dist/cjs/seki-dropdown-menu-content.cjs.entry.js +23 -68
  157. package/dist/cjs/seki-dropdown-menu-radio.cjs.entry.js +11 -9
  158. package/dist/cjs/seki-dropdown-menu-trigger.cjs.entry.js +11 -9
  159. package/dist/cjs/seki-dropdown-menu.cjs.entry.js +11 -2
  160. package/dist/cjs/seki-marker-content.cjs.entry.js +35 -0
  161. package/dist/cjs/seki-marker-icon.cjs.entry.js +25 -0
  162. package/dist/cjs/seki-marker.cjs.entry.js +40 -0
  163. package/dist/cjs/seki-menubar-checkbox.cjs.entry.js +2 -2
  164. package/dist/cjs/seki-menubar-content.cjs.entry.js +24 -42
  165. package/dist/cjs/seki-menubar-group.cjs.entry.js +1 -1
  166. package/dist/cjs/seki-menubar-item.cjs.entry.js +2 -2
  167. package/dist/cjs/seki-menubar-menu.cjs.entry.js +1 -1
  168. package/dist/cjs/seki-menubar-radio-group.cjs.entry.js +1 -1
  169. package/dist/cjs/seki-menubar-radio.cjs.entry.js +11 -9
  170. package/dist/cjs/seki-menubar-separator.cjs.entry.js +1 -1
  171. package/dist/cjs/seki-menubar-shortcut.cjs.entry.js +1 -1
  172. package/dist/cjs/seki-menubar-sub-trigger.cjs.entry.js +2 -2
  173. package/dist/cjs/seki-menubar-sub.cjs.entry.js +1 -1
  174. package/dist/cjs/seki-menubar-trigger.cjs.entry.js +12 -10
  175. package/dist/cjs/seki-menubar.cjs.entry.js +11 -2
  176. package/dist/cjs/seki-native-select.cjs.entry.js +1 -1
  177. package/dist/cjs/seki-navigation-menu-content.cjs.entry.js +8 -3
  178. package/dist/cjs/seki-navigation-menu-item.cjs.entry.js +2 -2
  179. package/dist/cjs/seki-navigation-menu-link.cjs.entry.js +8 -3
  180. package/dist/cjs/seki-navigation-menu-list.cjs.entry.js +7 -2
  181. package/dist/cjs/seki-navigation-menu-trigger.cjs.entry.js +3 -3
  182. package/dist/cjs/seki-navigation-menu-viewport.cjs.entry.js +2 -2
  183. package/dist/cjs/seki-navigation-menu.cjs.entry.js +5 -5
  184. package/dist/cjs/seki-pagination-content.cjs.entry.js +1 -1
  185. package/dist/cjs/seki-pagination-ellipsis.cjs.entry.js +1 -1
  186. package/dist/cjs/seki-pagination-item.cjs.entry.js +1 -1
  187. package/dist/cjs/seki-pagination-link.cjs.entry.js +2 -2
  188. package/dist/cjs/seki-pagination-next.cjs.entry.js +2 -2
  189. package/dist/cjs/seki-pagination-previous.cjs.entry.js +2 -2
  190. package/dist/cjs/seki-pagination.cjs.entry.js +1 -1
  191. package/dist/cjs/seki-popover-close.cjs.entry.js +1 -1
  192. package/dist/cjs/seki-popover-content.cjs.entry.js +20 -65
  193. package/dist/cjs/seki-popover-trigger.cjs.entry.js +1 -1
  194. package/dist/cjs/seki-popover.cjs.entry.js +13 -3
  195. package/dist/cjs/seki-progress.cjs.entry.js +1 -1
  196. package/dist/cjs/seki-radio-group-item.cjs.entry.js +1 -1
  197. package/dist/cjs/seki-radio-group.cjs.entry.js +1 -1
  198. package/dist/cjs/seki-resizable-handle.cjs.entry.js +2 -2
  199. package/dist/cjs/seki-resizable-panel-group.cjs.entry.js +2 -2
  200. package/dist/cjs/seki-resizable-panel.cjs.entry.js +3 -3
  201. package/dist/cjs/seki-scroll-area.cjs.entry.js +1 -1
  202. package/dist/cjs/seki-scroll-bar.cjs.entry.js +6 -2
  203. package/dist/cjs/seki-select-group.cjs.entry.js +1 -1
  204. package/dist/cjs/seki-select-option.cjs.entry.js +29 -13
  205. package/dist/cjs/seki-select.cjs.entry.js +81 -30
  206. package/dist/cjs/seki-separator.cjs.entry.js +1 -1
  207. package/dist/cjs/seki-sheet-close.cjs.entry.js +1 -1
  208. package/dist/cjs/seki-sheet-description.cjs.entry.js +1 -1
  209. package/dist/cjs/seki-sheet-footer.cjs.entry.js +1 -1
  210. package/dist/cjs/seki-sheet-header.cjs.entry.js +1 -1
  211. package/dist/cjs/seki-sheet-title.cjs.entry.js +1 -1
  212. package/dist/cjs/seki-sheet-trigger.cjs.entry.js +1 -1
  213. package/dist/cjs/seki-sheet.cjs.entry.js +2 -2
  214. package/dist/cjs/seki-sidebar-content.cjs.entry.js +1 -1
  215. package/dist/cjs/seki-sidebar-footer.cjs.entry.js +1 -1
  216. package/dist/cjs/seki-sidebar-group-action.cjs.entry.js +1 -1
  217. package/dist/cjs/seki-sidebar-group-content.cjs.entry.js +1 -1
  218. package/dist/cjs/seki-sidebar-group-label.cjs.entry.js +1 -1
  219. package/dist/cjs/seki-sidebar-group.cjs.entry.js +1 -1
  220. package/dist/cjs/seki-sidebar-header.cjs.entry.js +1 -1
  221. package/dist/cjs/seki-sidebar-inset.cjs.entry.js +1 -1
  222. package/dist/cjs/seki-sidebar-menu-action.cjs.entry.js +1 -1
  223. package/dist/cjs/seki-sidebar-menu-badge.cjs.entry.js +1 -1
  224. package/dist/cjs/seki-sidebar-menu-button.cjs.entry.js +1 -1
  225. package/dist/cjs/seki-sidebar-menu-item.cjs.entry.js +1 -1
  226. package/dist/cjs/seki-sidebar-menu-skeleton.cjs.entry.js +1 -1
  227. package/dist/cjs/seki-sidebar-menu-sub-button.cjs.entry.js +2 -2
  228. package/dist/cjs/seki-sidebar-menu-sub-item.cjs.entry.js +1 -1
  229. package/dist/cjs/seki-sidebar-menu-sub.cjs.entry.js +17 -16
  230. package/dist/cjs/seki-sidebar-menu.cjs.entry.js +1 -1
  231. package/dist/cjs/seki-sidebar-provider.cjs.entry.js +13 -4
  232. package/dist/cjs/seki-sidebar-rail.cjs.entry.js +7 -2
  233. package/dist/cjs/seki-sidebar-separator.cjs.entry.js +1 -1
  234. package/dist/cjs/seki-sidebar-trigger.cjs.entry.js +1 -1
  235. package/dist/cjs/seki-sidebar.cjs.entry.js +2 -2
  236. package/dist/cjs/seki-skeleton.cjs.entry.js +1 -1
  237. package/dist/cjs/seki-slider.cjs.entry.js +36 -1
  238. package/dist/cjs/seki-spinner.cjs.entry.js +2 -2
  239. package/dist/cjs/seki-table-body.cjs.entry.js +1 -1
  240. package/dist/cjs/seki-table-caption.cjs.entry.js +1 -1
  241. package/dist/cjs/seki-table-footer.cjs.entry.js +1 -1
  242. package/dist/cjs/seki-table-header.cjs.entry.js +1 -1
  243. package/dist/cjs/seki-table-row.cjs.entry.js +2 -2
  244. package/dist/cjs/seki-table.cjs.entry.js +1 -1
  245. package/dist/cjs/seki-tabs-content.cjs.entry.js +12 -10
  246. package/dist/cjs/seki-tabs-list.cjs.entry.js +2 -2
  247. package/dist/cjs/seki-tabs-trigger.cjs.entry.js +12 -10
  248. package/dist/cjs/seki-tabs.cjs.entry.js +2 -2
  249. package/dist/cjs/seki-textarea.cjs.entry.js +1 -1
  250. package/dist/cjs/seki-toggle-group.cjs.entry.js +1 -1
  251. package/dist/cjs/seki-toggle.cjs.entry.js +1 -1
  252. package/dist/cjs/seki-tooltip.cjs.entry.js +16 -3
  253. package/dist/cjs/sekiui.cjs.js +1 -1
  254. package/dist/collection/collection-manifest.json +3 -0
  255. package/dist/collection/components/accordion/seki-accordion-content.js +10 -8
  256. package/dist/collection/components/accordion/seki-accordion-item.js +12 -10
  257. package/dist/collection/components/accordion/seki-accordion-trigger.js +12 -10
  258. package/dist/collection/components/alert-dialog/seki-alert-dialog-action.css +5 -5
  259. package/dist/collection/components/alert-dialog/seki-alert-dialog-cancel.css +4 -4
  260. package/dist/collection/components/alert-dialog/seki-alert-dialog-content.js +22 -20
  261. package/dist/collection/components/button/seki-button.css +9 -9
  262. package/dist/collection/components/calendar/seki-calendar.js +14 -5
  263. package/dist/collection/components/carousel/seki-carousel-dots.js +3 -3
  264. package/dist/collection/components/carousel/seki-carousel-next.js +3 -3
  265. package/dist/collection/components/carousel/seki-carousel-previous.js +3 -3
  266. package/dist/collection/components/carousel/seki-carousel.js +22 -4
  267. package/dist/collection/components/collapsible/seki-collapsible-content.js +9 -5
  268. package/dist/collection/components/combobox-item/seki-combobox-item.js +9 -2
  269. package/dist/collection/components/command/seki-command-group.js +9 -7
  270. package/dist/collection/components/context-menu/seki-context-menu-content.js +17 -15
  271. package/dist/collection/components/context-menu/seki-context-menu.js +11 -2
  272. package/dist/collection/components/data-table/seki-data-table.css +5 -5
  273. package/dist/collection/components/data-table/seki-data-table.js +18 -15
  274. package/dist/collection/components/dialog/seki-dialog-content.js +22 -20
  275. package/dist/collection/components/dialog/seki-dialog-overlay.js +10 -8
  276. package/dist/collection/components/dialog/seki-dialog.js +17 -1
  277. package/dist/collection/components/dropdown-menu/seki-dropdown-menu-content.js +23 -68
  278. package/dist/collection/components/dropdown-menu/seki-dropdown-menu-radio.js +11 -9
  279. package/dist/collection/components/dropdown-menu/seki-dropdown-menu-trigger.js +11 -9
  280. package/dist/collection/components/dropdown-menu/seki-dropdown-menu.js +11 -2
  281. package/dist/collection/components/marker/seki-marker-content.css +819 -0
  282. package/dist/collection/components/marker/seki-marker-content.js +74 -0
  283. package/dist/collection/components/marker/seki-marker-icon.css +781 -0
  284. package/dist/collection/components/marker/seki-marker-icon.js +36 -0
  285. package/dist/collection/components/marker/seki-marker.css +828 -0
  286. package/dist/collection/components/marker/seki-marker.interface.js +1 -0
  287. package/dist/collection/components/marker/seki-marker.js +94 -0
  288. package/dist/collection/components/menubar/seki-menubar-checkbox.js +2 -2
  289. package/dist/collection/components/menubar/seki-menubar-content.js +24 -42
  290. package/dist/collection/components/menubar/seki-menubar-group.js +1 -1
  291. package/dist/collection/components/menubar/seki-menubar-item.js +2 -2
  292. package/dist/collection/components/menubar/seki-menubar-menu.js +1 -1
  293. package/dist/collection/components/menubar/seki-menubar-radio-group.js +1 -1
  294. package/dist/collection/components/menubar/seki-menubar-radio.js +11 -9
  295. package/dist/collection/components/menubar/seki-menubar-separator.js +1 -1
  296. package/dist/collection/components/menubar/seki-menubar-shortcut.js +1 -1
  297. package/dist/collection/components/menubar/seki-menubar-sub-trigger.js +2 -2
  298. package/dist/collection/components/menubar/seki-menubar-sub.js +1 -1
  299. package/dist/collection/components/menubar/seki-menubar-trigger.js +12 -10
  300. package/dist/collection/components/menubar/seki-menubar.js +11 -2
  301. package/dist/collection/components/native-select/seki-native-select.js +1 -1
  302. package/dist/collection/components/navigation-menu/seki-navigation-menu-content.css +1 -1
  303. package/dist/collection/components/navigation-menu/seki-navigation-menu-content.js +7 -2
  304. package/dist/collection/components/navigation-menu/seki-navigation-menu-item.js +2 -2
  305. package/dist/collection/components/navigation-menu/seki-navigation-menu-link.css +1 -1
  306. package/dist/collection/components/navigation-menu/seki-navigation-menu-link.js +7 -2
  307. package/dist/collection/components/navigation-menu/seki-navigation-menu-list.css +1 -1
  308. package/dist/collection/components/navigation-menu/seki-navigation-menu-list.js +6 -1
  309. package/dist/collection/components/navigation-menu/seki-navigation-menu-trigger.js +3 -3
  310. package/dist/collection/components/navigation-menu/seki-navigation-menu-viewport.js +2 -2
  311. package/dist/collection/components/navigation-menu/seki-navigation-menu.js +5 -5
  312. package/dist/collection/components/pagination/seki-pagination-content.js +1 -1
  313. package/dist/collection/components/pagination/seki-pagination-ellipsis.js +1 -1
  314. package/dist/collection/components/pagination/seki-pagination-item.js +1 -1
  315. package/dist/collection/components/pagination/seki-pagination-link.js +2 -2
  316. package/dist/collection/components/pagination/seki-pagination-next.js +2 -2
  317. package/dist/collection/components/pagination/seki-pagination-previous.js +2 -2
  318. package/dist/collection/components/pagination/seki-pagination.js +1 -1
  319. package/dist/collection/components/popover/seki-popover-close.js +1 -1
  320. package/dist/collection/components/popover/seki-popover-content.js +20 -65
  321. package/dist/collection/components/popover/seki-popover-trigger.js +1 -1
  322. package/dist/collection/components/popover/seki-popover.js +13 -3
  323. package/dist/collection/components/progress/seki-progress.js +1 -1
  324. package/dist/collection/components/radio-group/seki-radio-group-item.js +1 -1
  325. package/dist/collection/components/radio-group/seki-radio-group.js +1 -1
  326. package/dist/collection/components/resizable/seki-resizable-handle.js +2 -2
  327. package/dist/collection/components/resizable/seki-resizable-panel-group.js +2 -2
  328. package/dist/collection/components/resizable/seki-resizable-panel.js +3 -3
  329. package/dist/collection/components/scroll-area/seki-scroll-area.js +1 -1
  330. package/dist/collection/components/scroll-area/seki-scroll-bar.css +5 -5
  331. package/dist/collection/components/scroll-area/seki-scroll-bar.js +5 -1
  332. package/dist/collection/components/select/seki-select.js +77 -30
  333. package/dist/collection/components/select-group/seki-select-group.js +1 -1
  334. package/dist/collection/components/select-option/seki-select-option.js +29 -13
  335. package/dist/collection/components/separator/seki-separator.js +1 -1
  336. package/dist/collection/components/sheet/seki-sheet-close.js +1 -1
  337. package/dist/collection/components/sheet/seki-sheet-description.js +1 -1
  338. package/dist/collection/components/sheet/seki-sheet-footer.js +1 -1
  339. package/dist/collection/components/sheet/seki-sheet-header.js +1 -1
  340. package/dist/collection/components/sheet/seki-sheet-title.js +1 -1
  341. package/dist/collection/components/sheet/seki-sheet-trigger.js +1 -1
  342. package/dist/collection/components/sheet/seki-sheet.js +2 -2
  343. package/dist/collection/components/sidebar/seki-sidebar-content.js +1 -1
  344. package/dist/collection/components/sidebar/seki-sidebar-footer.js +1 -1
  345. package/dist/collection/components/sidebar/seki-sidebar-group-action.js +1 -1
  346. package/dist/collection/components/sidebar/seki-sidebar-group-content.js +1 -1
  347. package/dist/collection/components/sidebar/seki-sidebar-group-label.js +1 -1
  348. package/dist/collection/components/sidebar/seki-sidebar-group.js +1 -1
  349. package/dist/collection/components/sidebar/seki-sidebar-header.js +1 -1
  350. package/dist/collection/components/sidebar/seki-sidebar-inset.js +1 -1
  351. package/dist/collection/components/sidebar/seki-sidebar-menu-action.js +1 -1
  352. package/dist/collection/components/sidebar/seki-sidebar-menu-badge.js +1 -1
  353. package/dist/collection/components/sidebar/seki-sidebar-menu-button.js +1 -1
  354. package/dist/collection/components/sidebar/seki-sidebar-menu-item.js +1 -1
  355. package/dist/collection/components/sidebar/seki-sidebar-menu-skeleton.js +1 -1
  356. package/dist/collection/components/sidebar/seki-sidebar-menu-sub-button.js +2 -2
  357. package/dist/collection/components/sidebar/seki-sidebar-menu-sub-item.js +1 -1
  358. package/dist/collection/components/sidebar/seki-sidebar-menu-sub.js +17 -16
  359. package/dist/collection/components/sidebar/seki-sidebar-menu.js +1 -1
  360. package/dist/collection/components/sidebar/seki-sidebar-provider.js +13 -4
  361. package/dist/collection/components/sidebar/seki-sidebar-rail.css +6 -6
  362. package/dist/collection/components/sidebar/seki-sidebar-rail.js +6 -1
  363. package/dist/collection/components/sidebar/seki-sidebar-separator.js +1 -1
  364. package/dist/collection/components/sidebar/seki-sidebar-trigger.js +1 -1
  365. package/dist/collection/components/sidebar/seki-sidebar.js +2 -2
  366. package/dist/collection/components/skeleton/seki-skeleton.js +1 -1
  367. package/dist/collection/components/slider/seki-slider.js +36 -2
  368. package/dist/collection/components/spinner/seki-spinner.js +2 -2
  369. package/dist/collection/components/table/seki-table-body.js +1 -1
  370. package/dist/collection/components/table/seki-table-caption.js +1 -1
  371. package/dist/collection/components/table/seki-table-footer.js +1 -1
  372. package/dist/collection/components/table/seki-table-header.js +1 -1
  373. package/dist/collection/components/table/seki-table-row.js +2 -2
  374. package/dist/collection/components/table/seki-table.js +1 -1
  375. package/dist/collection/components/tabs/seki-tabs-content.js +12 -10
  376. package/dist/collection/components/tabs/seki-tabs-list.js +2 -2
  377. package/dist/collection/components/tabs/seki-tabs-trigger.js +12 -10
  378. package/dist/collection/components/tabs/seki-tabs.js +2 -2
  379. package/dist/collection/components/textarea/seki-textarea.js +1 -1
  380. package/dist/collection/components/toggle/seki-toggle.js +1 -1
  381. package/dist/collection/components/toggle-group/seki-toggle-group.js +1 -1
  382. package/dist/collection/components/tooltip/seki-tooltip.js +16 -3
  383. package/dist/collection/utils/ancestor-attrs.js +43 -0
  384. package/dist/collection/utils/calendar/date-utils.js +12 -4
  385. package/dist/collection/utils/dialog/focus-trap.js +110 -21
  386. package/dist/collection/utils/positioning.js +61 -0
  387. package/dist/components/p-BgtjDG0h.js +45 -0
  388. package/dist/components/{p-tgCyk_Am.js → p-C87BOunl.js} +18 -3
  389. package/dist/components/{p-JT4r_mV0.js → p-CSf6znuo.js} +2 -2
  390. package/dist/components/p-D50kwTtW.js +160 -0
  391. package/dist/components/{p-DKbSEP4m.js → p-DFfIiiRa.js} +25 -8
  392. package/dist/components/p-DuJp0Kp6.js +63 -0
  393. package/dist/components/{p-XaV1Vzwc.js → p-N19kpeHI.js} +1 -1
  394. package/dist/components/seki-accordion-content.js +10 -8
  395. package/dist/components/seki-accordion-item.js +12 -10
  396. package/dist/components/seki-accordion-trigger.js +12 -10
  397. package/dist/components/seki-alert-dialog-action.js +1 -1
  398. package/dist/components/seki-alert-dialog-cancel.js +1 -1
  399. package/dist/components/seki-alert-dialog-content.js +23 -21
  400. package/dist/components/seki-alert-dialog.js +1 -1
  401. package/dist/components/seki-button.js +1 -1
  402. package/dist/components/seki-calendar.js +1 -1
  403. package/dist/components/seki-carousel-dots.js +3 -3
  404. package/dist/components/seki-carousel-next.js +3 -3
  405. package/dist/components/seki-carousel-previous.js +3 -3
  406. package/dist/components/seki-carousel.js +22 -4
  407. package/dist/components/seki-collapsible-content.js +9 -5
  408. package/dist/components/seki-combobox-item.js +9 -2
  409. package/dist/components/seki-command-group.js +9 -7
  410. package/dist/components/seki-context-menu-content.js +17 -15
  411. package/dist/components/seki-context-menu.js +11 -2
  412. package/dist/components/seki-data-table.js +19 -16
  413. package/dist/components/seki-date-picker.js +1 -1
  414. package/dist/components/seki-dialog-content.js +23 -21
  415. package/dist/components/seki-dialog-overlay.js +10 -8
  416. package/dist/components/seki-dialog.js +1 -1
  417. package/dist/components/seki-dropdown-menu-content.js +23 -68
  418. package/dist/components/seki-dropdown-menu-radio.js +11 -9
  419. package/dist/components/seki-dropdown-menu-trigger.js +11 -9
  420. package/dist/components/seki-dropdown-menu.js +11 -2
  421. package/dist/components/seki-marker-content.d.ts +11 -0
  422. package/dist/components/seki-marker-content.js +55 -0
  423. package/dist/components/seki-marker-icon.d.ts +11 -0
  424. package/dist/components/seki-marker-icon.js +43 -0
  425. package/dist/components/seki-marker.d.ts +11 -0
  426. package/dist/components/seki-marker.js +60 -0
  427. package/dist/components/seki-menubar-checkbox.js +2 -2
  428. package/dist/components/seki-menubar-content.js +24 -42
  429. package/dist/components/seki-menubar-group.js +1 -1
  430. package/dist/components/seki-menubar-item.js +2 -2
  431. package/dist/components/seki-menubar-menu.js +1 -1
  432. package/dist/components/seki-menubar-radio-group.js +1 -1
  433. package/dist/components/seki-menubar-radio.js +11 -9
  434. package/dist/components/seki-menubar-separator.js +1 -1
  435. package/dist/components/seki-menubar-shortcut.js +1 -1
  436. package/dist/components/seki-menubar-sub-trigger.js +2 -2
  437. package/dist/components/seki-menubar-sub.js +1 -1
  438. package/dist/components/seki-menubar-trigger.js +12 -10
  439. package/dist/components/seki-menubar.js +11 -2
  440. package/dist/components/seki-native-select.js +1 -1
  441. package/dist/components/seki-navigation-menu-content.js +8 -3
  442. package/dist/components/seki-navigation-menu-item.js +2 -2
  443. package/dist/components/seki-navigation-menu-link.js +8 -3
  444. package/dist/components/seki-navigation-menu-list.js +7 -2
  445. package/dist/components/seki-navigation-menu-trigger.js +3 -3
  446. package/dist/components/seki-navigation-menu-viewport.js +1 -1
  447. package/dist/components/seki-navigation-menu.js +6 -6
  448. package/dist/components/seki-pagination-content.js +1 -1
  449. package/dist/components/seki-pagination-ellipsis.js +1 -1
  450. package/dist/components/seki-pagination-item.js +1 -1
  451. package/dist/components/seki-pagination-link.js +2 -2
  452. package/dist/components/seki-pagination-next.js +2 -2
  453. package/dist/components/seki-pagination-previous.js +2 -2
  454. package/dist/components/seki-pagination.js +1 -1
  455. package/dist/components/seki-popover-close.js +1 -1
  456. package/dist/components/seki-popover-content.js +20 -65
  457. package/dist/components/seki-popover-trigger.js +1 -1
  458. package/dist/components/seki-popover.js +13 -3
  459. package/dist/components/seki-progress.js +1 -1
  460. package/dist/components/seki-radio-group-item.js +1 -1
  461. package/dist/components/seki-radio-group.js +1 -1
  462. package/dist/components/seki-resizable-handle.js +2 -2
  463. package/dist/components/seki-resizable-panel-group.js +2 -2
  464. package/dist/components/seki-resizable-panel.js +3 -3
  465. package/dist/components/seki-scroll-area.js +1 -1
  466. package/dist/components/seki-scroll-bar.js +6 -2
  467. package/dist/components/seki-select-group.js +1 -1
  468. package/dist/components/seki-select-option.js +29 -13
  469. package/dist/components/seki-select.js +79 -33
  470. package/dist/components/seki-separator.js +1 -1
  471. package/dist/components/seki-sheet-close.js +1 -1
  472. package/dist/components/seki-sheet-description.js +1 -1
  473. package/dist/components/seki-sheet-footer.js +1 -1
  474. package/dist/components/seki-sheet-header.js +1 -1
  475. package/dist/components/seki-sheet-title.js +1 -1
  476. package/dist/components/seki-sheet-trigger.js +1 -1
  477. package/dist/components/seki-sheet.js +2 -2
  478. package/dist/components/seki-sidebar-content.js +1 -1
  479. package/dist/components/seki-sidebar-footer.js +1 -1
  480. package/dist/components/seki-sidebar-group-action.js +1 -1
  481. package/dist/components/seki-sidebar-group-content.js +1 -1
  482. package/dist/components/seki-sidebar-group-label.js +1 -1
  483. package/dist/components/seki-sidebar-group.js +2 -2
  484. package/dist/components/seki-sidebar-header.js +1 -1
  485. package/dist/components/seki-sidebar-inset.js +1 -1
  486. package/dist/components/seki-sidebar-menu-action.js +1 -1
  487. package/dist/components/seki-sidebar-menu-badge.js +1 -1
  488. package/dist/components/seki-sidebar-menu-button.js +1 -1
  489. package/dist/components/seki-sidebar-menu-item.js +1 -1
  490. package/dist/components/seki-sidebar-menu-skeleton.js +1 -1
  491. package/dist/components/seki-sidebar-menu-sub-button.js +2 -2
  492. package/dist/components/seki-sidebar-menu-sub-item.js +1 -1
  493. package/dist/components/seki-sidebar-menu-sub.js +17 -16
  494. package/dist/components/seki-sidebar-menu.js +1 -1
  495. package/dist/components/seki-sidebar-provider.js +13 -4
  496. package/dist/components/seki-sidebar-rail.js +7 -2
  497. package/dist/components/seki-sidebar-separator.js +1 -1
  498. package/dist/components/seki-sidebar-trigger.js +1 -1
  499. package/dist/components/seki-sidebar.js +2 -2
  500. package/dist/components/seki-skeleton.js +1 -1
  501. package/dist/components/seki-slider.js +36 -4
  502. package/dist/components/seki-spinner.js +2 -2
  503. package/dist/components/seki-table-body.js +1 -1
  504. package/dist/components/seki-table-caption.js +1 -1
  505. package/dist/components/seki-table-footer.js +1 -1
  506. package/dist/components/seki-table-header.js +1 -1
  507. package/dist/components/seki-table-row.js +2 -2
  508. package/dist/components/seki-table.js +1 -1
  509. package/dist/components/seki-tabs-content.js +12 -10
  510. package/dist/components/seki-tabs-list.js +2 -2
  511. package/dist/components/seki-tabs-trigger.js +12 -10
  512. package/dist/components/seki-tabs.js +2 -2
  513. package/dist/components/seki-textarea.js +1 -1
  514. package/dist/components/seki-toggle-group.js +1 -1
  515. package/dist/components/seki-toggle.js +1 -1
  516. package/dist/components/seki-tooltip.js +16 -3
  517. package/dist/esm/ancestor-attrs-BgtjDG0h.js +45 -0
  518. package/dist/esm/focus-trap-D50kwTtW.js +160 -0
  519. package/dist/esm/loader.js +1 -1
  520. package/dist/esm/positioning-DuJp0Kp6.js +63 -0
  521. package/dist/esm/seki-accordion-content.entry.js +10 -8
  522. package/dist/esm/seki-accordion-item.entry.js +12 -10
  523. package/dist/esm/seki-accordion-trigger.entry.js +12 -10
  524. package/dist/esm/seki-alert-dialog-action.entry.js +1 -1
  525. package/dist/esm/seki-alert-dialog-cancel.entry.js +1 -1
  526. package/dist/esm/seki-alert-dialog-content.entry.js +23 -21
  527. package/dist/esm/seki-button.entry.js +1 -1
  528. package/dist/esm/seki-calendar.entry.js +25 -8
  529. package/dist/esm/seki-carousel-dots.entry.js +3 -3
  530. package/dist/esm/seki-carousel-next.entry.js +3 -3
  531. package/dist/esm/seki-carousel-previous.entry.js +3 -3
  532. package/dist/esm/seki-carousel.entry.js +22 -4
  533. package/dist/esm/seki-collapsible-content.entry.js +9 -5
  534. package/dist/esm/seki-combobox-item.entry.js +9 -2
  535. package/dist/esm/seki-command-group.entry.js +9 -7
  536. package/dist/esm/seki-context-menu-content.entry.js +17 -15
  537. package/dist/esm/seki-context-menu.entry.js +11 -2
  538. package/dist/esm/seki-data-table.entry.js +19 -16
  539. package/dist/esm/seki-dialog-content.entry.js +23 -21
  540. package/dist/esm/seki-dialog-overlay.entry.js +10 -8
  541. package/dist/esm/seki-dialog.entry.js +15 -2
  542. package/dist/esm/seki-dropdown-menu-content.entry.js +23 -68
  543. package/dist/esm/seki-dropdown-menu-radio.entry.js +11 -9
  544. package/dist/esm/seki-dropdown-menu-trigger.entry.js +11 -9
  545. package/dist/esm/seki-dropdown-menu.entry.js +11 -2
  546. package/dist/esm/seki-marker-content.entry.js +33 -0
  547. package/dist/esm/seki-marker-icon.entry.js +23 -0
  548. package/dist/esm/seki-marker.entry.js +38 -0
  549. package/dist/esm/seki-menubar-checkbox.entry.js +2 -2
  550. package/dist/esm/seki-menubar-content.entry.js +24 -42
  551. package/dist/esm/seki-menubar-group.entry.js +1 -1
  552. package/dist/esm/seki-menubar-item.entry.js +2 -2
  553. package/dist/esm/seki-menubar-menu.entry.js +1 -1
  554. package/dist/esm/seki-menubar-radio-group.entry.js +1 -1
  555. package/dist/esm/seki-menubar-radio.entry.js +11 -9
  556. package/dist/esm/seki-menubar-separator.entry.js +1 -1
  557. package/dist/esm/seki-menubar-shortcut.entry.js +1 -1
  558. package/dist/esm/seki-menubar-sub-trigger.entry.js +2 -2
  559. package/dist/esm/seki-menubar-sub.entry.js +1 -1
  560. package/dist/esm/seki-menubar-trigger.entry.js +12 -10
  561. package/dist/esm/seki-menubar.entry.js +11 -2
  562. package/dist/esm/seki-native-select.entry.js +1 -1
  563. package/dist/esm/seki-navigation-menu-content.entry.js +8 -3
  564. package/dist/esm/seki-navigation-menu-item.entry.js +2 -2
  565. package/dist/esm/seki-navigation-menu-link.entry.js +8 -3
  566. package/dist/esm/seki-navigation-menu-list.entry.js +7 -2
  567. package/dist/esm/seki-navigation-menu-trigger.entry.js +3 -3
  568. package/dist/esm/seki-navigation-menu-viewport.entry.js +2 -2
  569. package/dist/esm/seki-navigation-menu.entry.js +5 -5
  570. package/dist/esm/seki-pagination-content.entry.js +1 -1
  571. package/dist/esm/seki-pagination-ellipsis.entry.js +1 -1
  572. package/dist/esm/seki-pagination-item.entry.js +1 -1
  573. package/dist/esm/seki-pagination-link.entry.js +2 -2
  574. package/dist/esm/seki-pagination-next.entry.js +2 -2
  575. package/dist/esm/seki-pagination-previous.entry.js +2 -2
  576. package/dist/esm/seki-pagination.entry.js +1 -1
  577. package/dist/esm/seki-popover-close.entry.js +1 -1
  578. package/dist/esm/seki-popover-content.entry.js +20 -65
  579. package/dist/esm/seki-popover-trigger.entry.js +1 -1
  580. package/dist/esm/seki-popover.entry.js +13 -3
  581. package/dist/esm/seki-progress.entry.js +1 -1
  582. package/dist/esm/seki-radio-group-item.entry.js +1 -1
  583. package/dist/esm/seki-radio-group.entry.js +1 -1
  584. package/dist/esm/seki-resizable-handle.entry.js +2 -2
  585. package/dist/esm/seki-resizable-panel-group.entry.js +2 -2
  586. package/dist/esm/seki-resizable-panel.entry.js +3 -3
  587. package/dist/esm/seki-scroll-area.entry.js +1 -1
  588. package/dist/esm/seki-scroll-bar.entry.js +6 -2
  589. package/dist/esm/seki-select-group.entry.js +1 -1
  590. package/dist/esm/seki-select-option.entry.js +29 -13
  591. package/dist/esm/seki-select.entry.js +81 -30
  592. package/dist/esm/seki-separator.entry.js +1 -1
  593. package/dist/esm/seki-sheet-close.entry.js +1 -1
  594. package/dist/esm/seki-sheet-description.entry.js +1 -1
  595. package/dist/esm/seki-sheet-footer.entry.js +1 -1
  596. package/dist/esm/seki-sheet-header.entry.js +1 -1
  597. package/dist/esm/seki-sheet-title.entry.js +1 -1
  598. package/dist/esm/seki-sheet-trigger.entry.js +1 -1
  599. package/dist/esm/seki-sheet.entry.js +2 -2
  600. package/dist/esm/seki-sidebar-content.entry.js +1 -1
  601. package/dist/esm/seki-sidebar-footer.entry.js +1 -1
  602. package/dist/esm/seki-sidebar-group-action.entry.js +1 -1
  603. package/dist/esm/seki-sidebar-group-content.entry.js +1 -1
  604. package/dist/esm/seki-sidebar-group-label.entry.js +1 -1
  605. package/dist/esm/seki-sidebar-group.entry.js +1 -1
  606. package/dist/esm/seki-sidebar-header.entry.js +1 -1
  607. package/dist/esm/seki-sidebar-inset.entry.js +1 -1
  608. package/dist/esm/seki-sidebar-menu-action.entry.js +1 -1
  609. package/dist/esm/seki-sidebar-menu-badge.entry.js +1 -1
  610. package/dist/esm/seki-sidebar-menu-button.entry.js +1 -1
  611. package/dist/esm/seki-sidebar-menu-item.entry.js +1 -1
  612. package/dist/esm/seki-sidebar-menu-skeleton.entry.js +1 -1
  613. package/dist/esm/seki-sidebar-menu-sub-button.entry.js +2 -2
  614. package/dist/esm/seki-sidebar-menu-sub-item.entry.js +1 -1
  615. package/dist/esm/seki-sidebar-menu-sub.entry.js +17 -16
  616. package/dist/esm/seki-sidebar-menu.entry.js +1 -1
  617. package/dist/esm/seki-sidebar-provider.entry.js +13 -4
  618. package/dist/esm/seki-sidebar-rail.entry.js +7 -2
  619. package/dist/esm/seki-sidebar-separator.entry.js +1 -1
  620. package/dist/esm/seki-sidebar-trigger.entry.js +1 -1
  621. package/dist/esm/seki-sidebar.entry.js +2 -2
  622. package/dist/esm/seki-skeleton.entry.js +1 -1
  623. package/dist/esm/seki-slider.entry.js +36 -1
  624. package/dist/esm/seki-spinner.entry.js +2 -2
  625. package/dist/esm/seki-table-body.entry.js +1 -1
  626. package/dist/esm/seki-table-caption.entry.js +1 -1
  627. package/dist/esm/seki-table-footer.entry.js +1 -1
  628. package/dist/esm/seki-table-header.entry.js +1 -1
  629. package/dist/esm/seki-table-row.entry.js +2 -2
  630. package/dist/esm/seki-table.entry.js +1 -1
  631. package/dist/esm/seki-tabs-content.entry.js +12 -10
  632. package/dist/esm/seki-tabs-list.entry.js +2 -2
  633. package/dist/esm/seki-tabs-trigger.entry.js +12 -10
  634. package/dist/esm/seki-tabs.entry.js +2 -2
  635. package/dist/esm/seki-textarea.entry.js +1 -1
  636. package/dist/esm/seki-toggle-group.entry.js +1 -1
  637. package/dist/esm/seki-toggle.entry.js +1 -1
  638. package/dist/esm/seki-tooltip.entry.js +16 -3
  639. package/dist/esm/sekiui.js +1 -1
  640. package/dist/sekiui/{p-9643e1d8.entry.js → p-021cb880.entry.js} +1 -1
  641. package/dist/sekiui/p-066335d1.entry.js +1 -0
  642. package/dist/sekiui/{p-91d532fa.entry.js → p-0814fbc8.entry.js} +1 -1
  643. package/dist/sekiui/{p-e5b6e371.entry.js → p-08692454.entry.js} +1 -1
  644. package/dist/sekiui/p-0ab43c7f.entry.js +1 -0
  645. package/dist/sekiui/{p-9f686359.entry.js → p-0bbfe090.entry.js} +1 -1
  646. package/dist/sekiui/{p-e8fb6780.entry.js → p-0f551417.entry.js} +1 -1
  647. package/dist/sekiui/{p-41f5488e.entry.js → p-106d6d5d.entry.js} +1 -1
  648. package/dist/sekiui/{p-b664489e.entry.js → p-10fb3df9.entry.js} +1 -1
  649. package/dist/sekiui/p-1322c161.entry.js +1 -0
  650. package/dist/sekiui/{p-c2084566.entry.js → p-166024da.entry.js} +1 -1
  651. package/dist/sekiui/{p-3059ebb5.entry.js → p-1aecea25.entry.js} +1 -1
  652. package/dist/sekiui/{p-d02efcf2.entry.js → p-1b8d2288.entry.js} +1 -1
  653. package/dist/sekiui/{p-ab3f43f4.entry.js → p-1db10de9.entry.js} +1 -1
  654. package/dist/sekiui/{p-08a65cc0.entry.js → p-1dfe4e59.entry.js} +1 -1
  655. package/dist/sekiui/{p-430350fa.entry.js → p-1efbd2cc.entry.js} +1 -1
  656. package/dist/sekiui/{p-9889afcd.entry.js → p-27ff2f8a.entry.js} +1 -1
  657. package/dist/sekiui/p-29403139.entry.js +1 -0
  658. package/dist/sekiui/{p-173c36ae.entry.js → p-2a9e0bbb.entry.js} +1 -1
  659. package/dist/sekiui/{p-e6631daa.entry.js → p-2cb4156a.entry.js} +1 -1
  660. package/dist/sekiui/{p-a60699ea.entry.js → p-2d2194ee.entry.js} +1 -1
  661. package/dist/sekiui/p-2de73747.entry.js +1 -0
  662. package/dist/sekiui/{p-5968bc31.entry.js → p-306728c1.entry.js} +1 -1
  663. package/dist/sekiui/{p-a5edaf79.entry.js → p-320bb24e.entry.js} +1 -1
  664. package/dist/sekiui/p-32569d7d.entry.js +1 -0
  665. package/dist/sekiui/p-367d9a7f.entry.js +1 -0
  666. package/dist/sekiui/p-3892c6af.entry.js +1 -0
  667. package/dist/sekiui/p-4267d0fc.entry.js +1 -0
  668. package/dist/sekiui/{p-f05f830a.entry.js → p-42e1f027.entry.js} +1 -1
  669. package/dist/sekiui/{p-894d0adc.entry.js → p-44aed379.entry.js} +1 -1
  670. package/dist/sekiui/p-49024e9e.entry.js +1 -0
  671. package/dist/sekiui/p-4a2843e3.entry.js +1 -0
  672. package/dist/sekiui/{p-0c2344d1.entry.js → p-4bf8c2fa.entry.js} +1 -1
  673. package/dist/sekiui/{p-b14ba603.entry.js → p-4cd3eb61.entry.js} +1 -1
  674. package/dist/sekiui/p-4ce03f18.entry.js +1 -0
  675. package/dist/sekiui/p-4e60d2d0.entry.js +1 -0
  676. package/dist/sekiui/p-5230348b.entry.js +1 -0
  677. package/dist/sekiui/{p-61bc6d26.entry.js → p-56ea6a48.entry.js} +1 -1
  678. package/dist/sekiui/{p-541f1dbb.entry.js → p-57e7685a.entry.js} +1 -1
  679. package/dist/sekiui/p-5bb3aeb5.entry.js +1 -0
  680. package/dist/sekiui/{p-3003d573.entry.js → p-5cd6cb04.entry.js} +1 -1
  681. package/dist/sekiui/{p-2c763d0e.entry.js → p-60c7a8af.entry.js} +1 -1
  682. package/dist/sekiui/{p-d88390d7.entry.js → p-62fd375a.entry.js} +1 -1
  683. package/dist/sekiui/{p-c3d1dc4c.entry.js → p-66f986d4.entry.js} +1 -1
  684. package/dist/sekiui/{p-e2ca8e81.entry.js → p-6767bd6c.entry.js} +1 -1
  685. package/dist/sekiui/{p-c1bf976b.entry.js → p-692a285f.entry.js} +1 -1
  686. package/dist/sekiui/{p-3a7b862a.entry.js → p-6ada6c09.entry.js} +1 -1
  687. package/dist/sekiui/{p-bd9d106a.entry.js → p-6c516e05.entry.js} +1 -1
  688. package/dist/sekiui/{p-85e0ad8d.entry.js → p-7110a631.entry.js} +1 -1
  689. package/dist/sekiui/{p-96073eae.entry.js → p-75d46bc7.entry.js} +1 -1
  690. package/dist/sekiui/{p-a4a5f457.entry.js → p-7657eae6.entry.js} +1 -1
  691. package/dist/sekiui/{p-6288801d.entry.js → p-7826af1f.entry.js} +1 -1
  692. package/dist/sekiui/p-7a264cf2.entry.js +1 -0
  693. package/dist/sekiui/p-7cd76bbb.entry.js +1 -0
  694. package/dist/sekiui/p-80b79cc0.entry.js +1 -0
  695. package/dist/sekiui/p-835f723b.entry.js +1 -0
  696. package/dist/sekiui/{p-f5c7a1fb.entry.js → p-84ac24a3.entry.js} +1 -1
  697. package/dist/sekiui/{p-c2e6ca4d.entry.js → p-87db7107.entry.js} +1 -1
  698. package/dist/sekiui/{p-8344563b.entry.js → p-8877c41b.entry.js} +1 -1
  699. package/dist/sekiui/{p-9dfa69b2.entry.js → p-88a81c85.entry.js} +1 -1
  700. package/dist/sekiui/{p-84a8301f.entry.js → p-8b96a324.entry.js} +1 -1
  701. package/dist/sekiui/{p-7bf379c4.entry.js → p-8c369957.entry.js} +1 -1
  702. package/dist/sekiui/p-8d888e3d.entry.js +1 -0
  703. package/dist/sekiui/{p-3e01b3c9.entry.js → p-92b0241d.entry.js} +1 -1
  704. package/dist/sekiui/{p-30aa2790.entry.js → p-932b9be7.entry.js} +1 -1
  705. package/dist/sekiui/{p-4e7809d4.entry.js → p-94257ae8.entry.js} +1 -1
  706. package/dist/sekiui/p-945f6c37.entry.js +1 -0
  707. package/dist/sekiui/{p-646de69e.entry.js → p-948403e2.entry.js} +1 -1
  708. package/dist/sekiui/{p-fc6d6133.entry.js → p-966b2358.entry.js} +1 -1
  709. package/dist/sekiui/{p-40458a33.entry.js → p-97490dae.entry.js} +1 -1
  710. package/dist/sekiui/{p-4c9ab985.entry.js → p-98e730ec.entry.js} +1 -1
  711. package/dist/sekiui/{p-5ccd6a77.entry.js → p-9a6332aa.entry.js} +1 -1
  712. package/dist/sekiui/{p-3e3b7706.entry.js → p-9aa6ff08.entry.js} +1 -1
  713. package/dist/sekiui/p-BgtjDG0h.js +1 -0
  714. package/dist/sekiui/p-D50kwTtW.js +1 -0
  715. package/dist/sekiui/p-DuJp0Kp6.js +1 -0
  716. package/dist/sekiui/{p-044401c6.entry.js → p-a22bbd5d.entry.js} +1 -1
  717. package/dist/sekiui/p-a29160bc.entry.js +1 -0
  718. package/dist/sekiui/p-a2e2356a.entry.js +1 -0
  719. package/dist/sekiui/p-a6ae5c4b.entry.js +1 -0
  720. package/dist/sekiui/{p-7b13dd19.entry.js → p-a7d64ac6.entry.js} +1 -1
  721. package/dist/sekiui/p-b195501f.entry.js +1 -0
  722. package/dist/sekiui/{p-73cbd067.entry.js → p-b2a60e91.entry.js} +1 -1
  723. package/dist/sekiui/{p-6d052d09.entry.js → p-b83366e6.entry.js} +1 -1
  724. package/dist/sekiui/{p-66b1c2ac.entry.js → p-ba77c385.entry.js} +1 -1
  725. package/dist/sekiui/{p-d5b616c5.entry.js → p-bac67676.entry.js} +1 -1
  726. package/dist/sekiui/{p-2716f5fc.entry.js → p-c5b5908d.entry.js} +1 -1
  727. package/dist/sekiui/{p-1e69968f.entry.js → p-c6740b25.entry.js} +1 -1
  728. package/dist/sekiui/{p-c39f1cc0.entry.js → p-c8098bcc.entry.js} +1 -1
  729. package/dist/sekiui/{p-41fae140.entry.js → p-cb657adb.entry.js} +1 -1
  730. package/dist/sekiui/{p-13cbff44.entry.js → p-ccaaddff.entry.js} +1 -1
  731. package/dist/sekiui/p-cf63f5a6.entry.js +1 -0
  732. package/dist/sekiui/{p-fa9a68be.entry.js → p-cfac56e7.entry.js} +1 -1
  733. package/dist/sekiui/{p-ddb4b545.entry.js → p-d0389d4f.entry.js} +1 -1
  734. package/dist/sekiui/p-d112d16c.entry.js +1 -0
  735. package/dist/sekiui/p-d1338ac4.entry.js +1 -0
  736. package/dist/sekiui/p-d1f6efac.entry.js +1 -0
  737. package/dist/sekiui/p-d4d88be4.entry.js +1 -0
  738. package/dist/sekiui/{p-0ec8b378.entry.js → p-d68f4cef.entry.js} +1 -1
  739. package/dist/sekiui/{p-d973c5cc.entry.js → p-d8bcb9e9.entry.js} +1 -1
  740. package/dist/sekiui/{p-877dec15.entry.js → p-d918ec38.entry.js} +1 -1
  741. package/dist/sekiui/{p-fd508d82.entry.js → p-da58d699.entry.js} +1 -1
  742. package/dist/sekiui/{p-a0578037.entry.js → p-df3d0679.entry.js} +1 -1
  743. package/dist/sekiui/p-e1e0e982.entry.js +1 -0
  744. package/dist/sekiui/{p-bf52433b.entry.js → p-e2401619.entry.js} +1 -1
  745. package/dist/sekiui/{p-6a8cc4b5.entry.js → p-e2e20093.entry.js} +1 -1
  746. package/dist/sekiui/{p-7ef4fb97.entry.js → p-e35b8b6e.entry.js} +1 -1
  747. package/dist/sekiui/{p-7592fd90.entry.js → p-e7b8973e.entry.js} +1 -1
  748. package/dist/sekiui/{p-5a853b23.entry.js → p-ea2a01dd.entry.js} +1 -1
  749. package/dist/sekiui/p-eaf626e5.entry.js +1 -0
  750. package/dist/sekiui/p-ed9034e4.entry.js +1 -0
  751. package/dist/sekiui/p-edd02332.entry.js +1 -0
  752. package/dist/sekiui/p-f07b430e.entry.js +1 -0
  753. package/dist/sekiui/{p-0a2b760b.entry.js → p-f0e4d07c.entry.js} +1 -1
  754. package/dist/sekiui/{p-b9db3fb8.entry.js → p-f161655d.entry.js} +1 -1
  755. package/dist/sekiui/{p-67fffcd0.entry.js → p-f2859501.entry.js} +1 -1
  756. package/dist/sekiui/p-f3c69359.entry.js +1 -0
  757. package/dist/sekiui/p-f587cd57.entry.js +1 -0
  758. package/dist/sekiui/{p-eb0440ec.entry.js → p-fa27d255.entry.js} +1 -1
  759. package/dist/sekiui/p-fde2877f.entry.js +1 -0
  760. package/dist/sekiui/{p-d7589960.entry.js → p-fe067937.entry.js} +1 -1
  761. package/dist/sekiui/sekiui.esm.js +1 -1
  762. package/dist/types/components/accordion/seki-accordion-content.d.ts +2 -0
  763. package/dist/types/components/accordion/seki-accordion-item.d.ts +2 -0
  764. package/dist/types/components/accordion/seki-accordion-trigger.d.ts +2 -0
  765. package/dist/types/components/alert-dialog/seki-alert-dialog-content.d.ts +2 -0
  766. package/dist/types/components/carousel/seki-carousel.d.ts +3 -0
  767. package/dist/types/components/collapsible/seki-collapsible-content.d.ts +2 -0
  768. package/dist/types/components/combobox-item/seki-combobox-item.d.ts +1 -0
  769. package/dist/types/components/command/seki-command-group.d.ts +2 -0
  770. package/dist/types/components/context-menu/seki-context-menu-content.d.ts +2 -0
  771. package/dist/types/components/context-menu/seki-context-menu.d.ts +1 -0
  772. package/dist/types/components/dialog/seki-dialog-content.d.ts +2 -0
  773. package/dist/types/components/dialog/seki-dialog-overlay.d.ts +2 -0
  774. package/dist/types/components/dialog/seki-dialog.d.ts +1 -0
  775. package/dist/types/components/dropdown-menu/seki-dropdown-menu-content.d.ts +2 -0
  776. package/dist/types/components/dropdown-menu/seki-dropdown-menu-radio.d.ts +2 -0
  777. package/dist/types/components/dropdown-menu/seki-dropdown-menu-trigger.d.ts +2 -0
  778. package/dist/types/components/dropdown-menu/seki-dropdown-menu.d.ts +1 -0
  779. package/dist/types/components/marker/seki-marker-content.d.ts +22 -0
  780. package/dist/types/components/marker/seki-marker-icon.d.ts +16 -0
  781. package/dist/types/components/marker/seki-marker.d.ts +32 -0
  782. package/dist/types/components/marker/seki-marker.interface.d.ts +7 -0
  783. package/dist/types/components/menubar/seki-menubar-content.d.ts +2 -0
  784. package/dist/types/components/menubar/seki-menubar-radio.d.ts +2 -0
  785. package/dist/types/components/menubar/seki-menubar-trigger.d.ts +2 -0
  786. package/dist/types/components/menubar/seki-menubar.d.ts +1 -0
  787. package/dist/types/components/navigation-menu/seki-navigation-menu-content.d.ts +1 -0
  788. package/dist/types/components/navigation-menu/seki-navigation-menu-link.d.ts +1 -0
  789. package/dist/types/components/navigation-menu/seki-navigation-menu-list.d.ts +1 -0
  790. package/dist/types/components/popover/seki-popover-content.d.ts +2 -0
  791. package/dist/types/components/popover/seki-popover.d.ts +1 -0
  792. package/dist/types/components/scroll-area/seki-scroll-bar.d.ts +1 -0
  793. package/dist/types/components/select/seki-select.d.ts +8 -1
  794. package/dist/types/components/select-option/seki-select-option.d.ts +3 -1
  795. package/dist/types/components/sidebar/seki-sidebar-menu-sub.d.ts +2 -0
  796. package/dist/types/components/sidebar/seki-sidebar-rail.d.ts +1 -0
  797. package/dist/types/components/slider/seki-slider.d.ts +9 -0
  798. package/dist/types/components/tabs/seki-tabs-content.d.ts +2 -0
  799. package/dist/types/components/tabs/seki-tabs-trigger.d.ts +2 -0
  800. package/dist/types/components/tooltip/seki-tooltip.d.ts +1 -0
  801. package/dist/types/components.d.ts +213 -32
  802. package/dist/types/utils/ancestor-attrs.d.ts +18 -0
  803. package/dist/types/utils/calendar/date-utils.d.ts +9 -0
  804. package/dist/types/utils/dialog/focus-trap.d.ts +18 -7
  805. package/dist/types/utils/positioning.d.ts +34 -0
  806. package/package.json +25 -2
  807. package/dist/cdn/p-CP7ZtKCE.js +0 -71
  808. package/dist/cjs/focus-trap-C7ukllRZ.js +0 -76
  809. package/dist/components/p-CP7ZtKCE.js +0 -71
  810. package/dist/esm/focus-trap-CP7ZtKCE.js +0 -71
  811. package/dist/sekiui/p-107bdce6.entry.js +0 -1
  812. package/dist/sekiui/p-24ea0d3d.entry.js +0 -1
  813. package/dist/sekiui/p-2548d7c3.entry.js +0 -1
  814. package/dist/sekiui/p-307a0de3.entry.js +0 -1
  815. package/dist/sekiui/p-397fb20e.entry.js +0 -1
  816. package/dist/sekiui/p-4617d9c5.entry.js +0 -1
  817. package/dist/sekiui/p-4896a497.entry.js +0 -1
  818. package/dist/sekiui/p-4a47ea19.entry.js +0 -1
  819. package/dist/sekiui/p-4b0ee9e5.entry.js +0 -1
  820. package/dist/sekiui/p-4c1b29de.entry.js +0 -1
  821. package/dist/sekiui/p-598f9c5b.entry.js +0 -1
  822. package/dist/sekiui/p-635ca5ab.entry.js +0 -1
  823. package/dist/sekiui/p-63b3a53c.entry.js +0 -1
  824. package/dist/sekiui/p-63ffc38a.entry.js +0 -1
  825. package/dist/sekiui/p-6416552b.entry.js +0 -1
  826. package/dist/sekiui/p-66b59a4c.entry.js +0 -1
  827. package/dist/sekiui/p-67aaf0f1.entry.js +0 -1
  828. package/dist/sekiui/p-70f149c3.entry.js +0 -1
  829. package/dist/sekiui/p-79062829.entry.js +0 -1
  830. package/dist/sekiui/p-7bf7ee5f.entry.js +0 -1
  831. package/dist/sekiui/p-8067a8f3.entry.js +0 -1
  832. package/dist/sekiui/p-884bde18.entry.js +0 -1
  833. package/dist/sekiui/p-95749f03.entry.js +0 -1
  834. package/dist/sekiui/p-9d5b807f.entry.js +0 -1
  835. package/dist/sekiui/p-CP7ZtKCE.js +0 -1
  836. package/dist/sekiui/p-a24ea8af.entry.js +0 -1
  837. package/dist/sekiui/p-ac321aeb.entry.js +0 -1
  838. package/dist/sekiui/p-adc3cfff.entry.js +0 -1
  839. package/dist/sekiui/p-b945fc54.entry.js +0 -1
  840. package/dist/sekiui/p-bdb2d304.entry.js +0 -1
  841. package/dist/sekiui/p-c0ce45c3.entry.js +0 -1
  842. package/dist/sekiui/p-d2951ab4.entry.js +0 -1
  843. package/dist/sekiui/p-db37e4d2.entry.js +0 -1
  844. package/dist/sekiui/p-e51d76de.entry.js +0 -1
  845. package/dist/sekiui/p-f0bb516d.entry.js +0 -1
  846. package/dist/sekiui/p-f82ead84.entry.js +0 -1
@@ -0,0 +1,45 @@
1
+ const NOOP_MIRROR = { disconnect() { } };
2
+ function mirrorAncestorAttributes(host, ancestorSelector, attributes, options = {}) {
3
+ const ancestor = host.closest(ancestorSelector);
4
+ if (!ancestor)
5
+ return NOOP_MIRROR;
6
+ const sync = () => {
7
+ for (const attr of attributes) {
8
+ const value = ancestor.getAttribute(attr);
9
+ if (value === null) {
10
+ host.removeAttribute(attr);
11
+ }
12
+ else {
13
+ host.setAttribute(attr, value);
14
+ }
15
+ }
16
+ };
17
+ // Reflect current state, then keep it in sync with future attribute changes.
18
+ sync();
19
+ // MutationObserver is absent in non-DOM/test environments; the initial sync
20
+ // still runs, we just skip live updates there.
21
+ let observer;
22
+ if (typeof MutationObserver !== 'undefined') {
23
+ observer = new MutationObserver(sync);
24
+ observer.observe(ancestor, { attributes: true, attributeFilter: attributes });
25
+ }
26
+ let onEnter;
27
+ let onLeave;
28
+ if (options.trackHover) {
29
+ onEnter = () => host.setAttribute('data-parent-hover', '');
30
+ onLeave = () => host.removeAttribute('data-parent-hover');
31
+ ancestor.addEventListener('mouseenter', onEnter);
32
+ ancestor.addEventListener('mouseleave', onLeave);
33
+ }
34
+ return {
35
+ disconnect() {
36
+ observer === null || observer === void 0 ? void 0 : observer.disconnect();
37
+ if (onEnter)
38
+ ancestor.removeEventListener('mouseenter', onEnter);
39
+ if (onLeave)
40
+ ancestor.removeEventListener('mouseleave', onLeave);
41
+ },
42
+ };
43
+ }
44
+
45
+ export { mirrorAncestorAttributes as m };
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, d as registerThemeSync, u as unregisterThemeSync, h, e as Host } from './p-DpCiMzzg.js';
2
- import { l as lockBodyScroll, u as unlockBodyScroll } from './p-CP7ZtKCE.js';
2
+ import { l as lockBodyScroll, u as unlockBodyScroll } from './p-D50kwTtW.js';
3
3
 
4
4
  const sekiDialogCss = ":host{--seki-neutral-50:hsl(0, 0%, 98%);--seki-neutral-100:hsl(0, 0%, 96.1%);--seki-neutral-200:hsl(0, 0%, 89.8%);--seki-neutral-300:hsl(0, 0%, 83.1%);--seki-neutral-400:hsl(0, 0%, 63.9%);--seki-neutral-500:hsl(0, 0%, 45.1%);--seki-neutral-600:hsl(0, 0%, 32.2%);--seki-neutral-700:hsl(0, 0%, 25.1%);--seki-neutral-800:hsl(0, 0%, 14.9%);--seki-neutral-900:hsl(0, 0%, 9%);--seki-neutral-950:hsl(0, 0%, 3.9%);--seki-primary-50:hsl(210, 100%, 97%);--seki-primary-100:hsl(210, 95%, 93%);--seki-primary-200:hsl(210, 95%, 85%);--seki-primary-300:hsl(210, 90%, 73%);--seki-primary-400:hsl(210, 85%, 58%);--seki-primary-500:hsl(210, 80%, 48%);--seki-primary-600:hsl(210, 75%, 40%);--seki-primary-700:hsl(210, 70%, 32%);--seki-primary-800:hsl(210, 65%, 25%);--seki-primary-900:hsl(210, 60%, 18%);--seki-primary-950:hsl(210, 55%, 10%);--seki-success-500:hsl(142, 71%, 45%);--seki-success-600:hsl(142, 71%, 35%);--seki-warning-500:hsl(38, 92%, 50%);--seki-warning-600:hsl(38, 92%, 40%);--seki-destructive-500:hsl(0, 84.2%, 60.2%);--seki-destructive-600:hsl(0, 72%, 41%);--seki-chart-1:hsl(12, 76%, 61%);--seki-chart-2:hsl(173, 58%, 39%);--seki-chart-3:hsl(197, 37%, 24%);--seki-chart-4:hsl(43, 74%, 66%);--seki-chart-5:hsl(27, 87%, 67%)}:host{--seki-background:hsl(0, 0%, 100%);--seki-foreground:hsl(0, 0%, 3.9%);--seki-muted:hsl(0, 0%, 96.1%);--seki-muted-foreground:hsl(0, 0%, 45.1%);--seki-card:hsl(0, 0%, 100%);--seki-card-foreground:hsl(0, 0%, 3.9%);--seki-popover:hsl(0, 0%, 100%);--seki-popover-foreground:hsl(0, 0%, 3.9%);--seki-border:hsl(0, 0%, 89.8%);--seki-input:hsl(0, 0%, 89.8%);--seki-primary:hsl(0, 0%, 9%);--seki-primary-foreground:hsl(0, 0%, 98%);--seki-secondary:hsl(0, 0%, 96.1%);--seki-secondary-foreground:hsl(0, 0%, 9%);--seki-accent:hsl(0, 0%, 96.1%);--seki-accent-foreground:hsl(0, 0%, 9%);--seki-destructive:hsl(0, 84.2%, 60.2%);--seki-destructive-foreground:hsl(0, 0%, 98%);--seki-ring:hsl(0, 0%, 3.9%);--seki-bg-primary:var(--seki-background);--seki-bg-secondary:var(--seki-muted);--seki-bg-tertiary:var(--seki-accent);--seki-text-primary:var(--seki-foreground);--seki-text-secondary:var(--seki-muted-foreground);--seki-text-tertiary:var(--seki-neutral-400);--seki-border-default:var(--seki-border);--seki-border-emphasis:var(--seki-neutral-300)}:host([data-theme='dark']){--seki-background:hsl(0, 0%, 3.9%);--seki-foreground:hsl(0, 0%, 98%);--seki-muted:hsl(0, 0%, 14.9%);--seki-muted-foreground:hsl(0, 0%, 63.9%);--seki-card:hsl(0, 0%, 3.9%);--seki-card-foreground:hsl(0, 0%, 98%);--seki-popover:hsl(0, 0%, 3.9%);--seki-popover-foreground:hsl(0, 0%, 98%);--seki-border:hsl(0, 0%, 14.9%);--seki-input:hsl(0, 0%, 14.9%);--seki-primary:hsl(0, 0%, 98%);--seki-primary-foreground:hsl(0, 0%, 9%);--seki-secondary:hsl(0, 0%, 14.9%);--seki-secondary-foreground:hsl(0, 0%, 98%);--seki-accent:hsl(0, 0%, 14.9%);--seki-accent-foreground:hsl(0, 0%, 98%);--seki-destructive:hsl(0, 62.8%, 30.6%);--seki-destructive-foreground:hsl(0, 0%, 98%);--seki-ring:hsl(0, 0%, 83.1%);--seki-bg-primary:var(--seki-background);--seki-bg-secondary:var(--seki-muted);--seki-bg-tertiary:var(--seki-accent);--seki-text-primary:var(--seki-foreground);--seki-text-secondary:var(--seki-muted-foreground);--seki-text-tertiary:var(--seki-neutral-600);--seki-border-default:var(--seki-border);--seki-border-emphasis:var(--seki-neutral-700);--seki-button-primary-hover-bg:hsl(0, 0%, 98%, 0.9);--seki-button-secondary-hover-bg:hsl(0, 0%, 14.9%, 0.8)}:host{--seki-button-primary-bg:var(--seki-primary);--seki-button-primary-text:var(--seki-primary-foreground);--seki-button-primary-border:transparent;--seki-button-primary-hover-bg:hsl(0, 0%, 9%, 0.9);--seki-button-primary-hover-text:var(--seki-primary-foreground);--seki-button-primary-hover-border:transparent;--seki-button-secondary-bg:var(--seki-secondary);--seki-button-secondary-text:var(--seki-secondary-foreground);--seki-button-secondary-border:transparent;--seki-button-secondary-hover-bg:hsl(0, 0%, 96.1%, 0.8);--seki-button-secondary-hover-text:var(--seki-secondary-foreground);--seki-button-secondary-hover-border:transparent;--seki-button-outline-bg:transparent;--seki-button-outline-text:var(--seki-foreground);--seki-button-outline-border:var(--seki-input);--seki-button-outline-hover-bg:var(--seki-accent);--seki-button-outline-hover-text:var(--seki-accent-foreground);--seki-button-outline-hover-border:var(--seki-input);--seki-button-ghost-bg:transparent;--seki-button-ghost-text:var(--seki-foreground);--seki-button-ghost-border:transparent;--seki-button-ghost-hover-bg:var(--seki-accent);--seki-button-ghost-hover-text:var(--seki-accent-foreground);--seki-button-ghost-hover-border:transparent;--seki-button-destructive-bg:var(--seki-destructive);--seki-button-destructive-text:var(--seki-destructive-foreground);--seki-button-destructive-border:transparent;--seki-button-destructive-hover-bg:hsl(0, 84.2%, 60.2%, 0.9);--seki-button-destructive-hover-border:transparent;--seki-button-sm-padding-x:var(--seki-spacing-3, 0.75rem);--seki-button-sm-padding-y:0.375rem;--seki-button-sm-font-size:var(--seki-text-sm, 0.875rem);--seki-button-sm-height:2.25rem;--seki-button-md-padding-x:var(--seki-spacing-4, 1rem);--seki-button-md-padding-y:var(--seki-spacing-2, 0.5rem);--seki-button-md-font-size:var(--seki-text-base, 1rem);--seki-button-md-height:2.5rem;--seki-button-lg-padding-x:2rem;--seki-button-lg-padding-y:0.5rem;--seki-button-lg-font-size:1rem;--seki-button-lg-height:2.75rem;--seki-button-icon-sm-size:2rem;--seki-button-icon-size:2.5rem;--seki-button-icon-lg-size:3rem;--seki-button-icon-gap:0.5rem;--seki-button-link-bg:transparent;--seki-button-link-text:var(--seki-primary);--seki-button-link-border:transparent;--seki-button-link-hover-bg:transparent;--seki-button-link-hover-text:var(--seki-primary);--seki-button-link-hover-border:transparent;--seki-button-radius:var(--seki-radius-md, 0.375rem);--seki-button-font-weight:var(--seki-font-medium, 500);--seki-button-transition-duration:150ms;--seki-button-transition-timing:ease-in-out;--seki-button-shadow:var(--seki-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05));--seki-button-shadow-hover:var(--seki-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1));--seki-button-disabled-opacity:0.5;--seki-input-bg:var(--seki-background);--seki-input-border:var(--seki-border);--seki-input-text:var(--seki-foreground);--seki-input-placeholder:var(--seki-muted-foreground);--seki-input-ring:var(--seki-ring);--seki-input-invalid-border:var(--seki-destructive);--seki-input-invalid-ring:var(--seki-destructive);--seki-input-disabled-opacity:0.5;--seki-input-radius:var(--seki-radius-md);--seki-input-ring-offset:2px;--seki-select-trigger-bg:var(--seki-background);--seki-select-trigger-border:1px solid var(--seki-border);--seki-select-trigger-bg-hover:var(--seki-muted);--seki-select-trigger-radius:var(--seki-radius-md);--seki-select-trigger-min-height:2.5rem;--seki-select-trigger-padding:0.5rem 0.75rem;--seki-select-trigger-gap:0.5rem;--seki-select-content-bg:var(--seki-popover);--seki-select-content-border:1px solid var(--seki-border);--seki-select-content-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1);--seki-select-content-radius:var(--seki-radius-md);--seki-select-content-padding:0.5rem 0;--seki-select-option-padding:0.5rem 0.75rem;--seki-select-option-gap:0.5rem;--seki-select-option-radius:var(--seki-radius-sm);--seki-select-option-bg-hover:var(--seki-muted);--seki-select-option-bg-selected:var(--seki-muted);--seki-select-group-label-padding:0.5rem 0.75rem;--seki-select-group-label-font-size:var(--seki-font-size-xs);--seki-select-group-label-font-weight:var(--seki-font-semibold);--seki-select-group-label-color:var(--seki-muted-foreground);--seki-select-group-separator:1px solid var(--seki-border)}:host{--seki-spacing-0:0;--seki-spacing-0-5:0.125rem;--seki-spacing-1:0.25rem;--seki-spacing-1-5:0.375rem;--seki-spacing-2:0.5rem;--seki-spacing-2-5:0.625rem;--seki-spacing-3:0.75rem;--seki-spacing-3-5:0.875rem;--seki-spacing-4:1rem;--seki-spacing-5:1.25rem;--seki-spacing-6:1.5rem;--seki-spacing-8:2rem;--seki-spacing-10:2.5rem;--seki-spacing-12:3rem;--seki-spacing-16:4rem;--seki-spacing-20:5rem;--seki-spacing-24:6rem;--seki-input-height-sm:2rem;--seki-input-height-md:2.5rem;--seki-input-height-lg:3rem;--seki-input-padding-x:0.75rem;--seki-input-padding-y:0.5rem;--seki-input-font-size:0.875rem;--seki-input-ring-offset:2px}:host{--seki-shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--seki-shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--seki-shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.15), 0 4px 6px -4px rgb(0 0 0 / 0.1)}:host{--seki-font-sans:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',\n Arial, sans-serif;--seki-font-mono:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;--seki-text-xs:0.75rem;--seki-text-sm:0.875rem;--seki-text-base:1rem;--seki-text-lg:1.125rem;--seki-text-xl:1.25rem;--seki-text-2xl:1.5rem;--seki-text-3xl:1.875rem;--seki-text-4xl:2.25rem;--seki-font-normal:400;--seki-font-medium:500;--seki-font-semibold:600;--seki-font-bold:700;--seki-leading-none:1;--seki-leading-tight:1.25;--seki-leading-normal:1.5;--seki-leading-relaxed:1.75}:host{--seki-radius-sm:0.25rem;--seki-radius-md:0.375rem;--seki-radius-lg:0.5rem;--seki-radius-xl:1rem;}:host{--seki-sidebar-width:16rem;--seki-sidebar-width-icon:3rem;--seki-sidebar-width-mobile:18rem;--seki-sidebar-background:hsl(0, 0%, 98%);--seki-sidebar-foreground:hsl(240, 5.3%, 26.1%);--seki-sidebar-primary:hsl(240, 5.9%, 10%);--seki-sidebar-primary-foreground:hsl(0, 0%, 98%);--seki-sidebar-accent:hsl(240, 4.8%, 95.9%);--seki-sidebar-accent-foreground:hsl(240, 5.9%, 10%);--seki-sidebar-border:hsl(220, 13%, 91%);--seki-sidebar-ring:hsl(217.2, 91.2%, 59.8%);--seki-sidebar-muted-foreground:hsl(240, 3.8%, 46.1%);--seki-sidebar-menu-button-height:2rem;--seki-sidebar-menu-button-height-lg:3rem;--seki-sidebar-menu-button-padding:0.5rem;--seki-sidebar-menu-button-gap:0.5rem;--seki-sidebar-menu-button-radius:var(--seki-radius-md, 0.375rem);--seki-sidebar-menu-sub-padding-left:1.75rem;--seki-sidebar-menu-sub-border-width:1px;--seki-sidebar-group-padding:0.5rem;--seki-sidebar-group-label-height:2rem;--seki-sidebar-group-label-padding:0.5rem;--seki-sidebar-header-height:auto;--seki-sidebar-footer-height:auto;--seki-sidebar-header-padding:0.5rem;--seki-sidebar-footer-padding:0.5rem;--seki-sidebar-content-padding:0.5rem;--seki-sidebar-rail-width:1rem;--seki-sidebar-transition-duration:200ms;--seki-sidebar-transition-timing:ease-in-out;--seki-sidebar-mobile-breakpoint:768px;--seki-sidebar-overlay-bg:hsla(0, 0%, 0%, 0.8)}:host([data-theme='dark']){--seki-sidebar-background:hsl(240, 5.9%, 10%);--seki-sidebar-foreground:hsl(240, 4.8%, 95.9%);--seki-sidebar-primary:hsl(0, 0%, 98%);--seki-sidebar-primary-foreground:hsl(240, 5.9%, 10%);--seki-sidebar-accent:hsl(240, 3.7%, 15.9%);--seki-sidebar-accent-foreground:hsl(240, 4.8%, 95.9%);--seki-sidebar-border:hsl(240, 3.7%, 15.9%);--seki-sidebar-ring:hsl(217.2, 91.2%, 59.8%);--seki-sidebar-muted-foreground:hsl(240, 5%, 64.9%)}:host{--seki-animation-fast:150ms;--seki-animation-normal:200ms;--seki-animation-slow:300ms;--seki-ease-in:cubic-bezier(0.4, 0, 1, 1);--seki-ease-out:cubic-bezier(0, 0, 0.2, 1);--seki-ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--seki-accordion-content-height:auto}@keyframes seki-fade-in{from{opacity:0}to{opacity:1}}@keyframes seki-fade-out{from{opacity:1}to{opacity:0}}@keyframes seki-scale-in{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes seki-scale-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0.95)}}@keyframes seki-slide-in-from-top{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes seki-slide-out-to-top{from{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes seki-slide-in-from-bottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes seki-slide-out-to-bottom{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes seki-slide-in-from-left{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes seki-slide-out-to-left{from{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes seki-slide-in-from-right{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes seki-slide-out-to-right{from{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes seki-accordion-down{from{height:0;opacity:0}to{height:var(--seki-accordion-content-height);opacity:1}}@keyframes seki-accordion-up{from{height:var(--seki-accordion-content-height);opacity:1}to{height:0;opacity:0}}@keyframes seki-zoom-in{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}@keyframes seki-zoom-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0.96)}}@keyframes seki-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes seki-pulse{0%,100%{opacity:1}50%{opacity:0.5}}@keyframes seki-bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8, 0, 1, 1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}}@keyframes seki-collapsible-open{from{height:0;overflow:hidden}to{height:var(--seki-collapsible-content-height, auto)}}@keyframes seki-collapsible-close{from{height:var(--seki-collapsible-content-height, auto)}to{height:0;overflow:hidden}}@keyframes seki-toast-slide-in-right{from{transform:translateX(calc(100% + 1rem))}to{transform:translateX(0)}}@keyframes seki-toast-slide-out-right{from{transform:translateX(0)}to{transform:translateX(calc(100% + 1rem))}}@keyframes seki-toast-swipe-out{from{transform:translateX(var(--seki-toast-swipe-end-x, 0))}to{transform:translateX(calc(100% + 1rem))}}.seki-animate-fade-in{animation:seki-fade-in var(--seki-animation-normal) var(--seki-ease-out)}.seki-animate-fade-out{animation:seki-fade-out var(--seki-animation-normal) var(--seki-ease-in)}.seki-animate-scale-in{animation:seki-scale-in var(--seki-animation-normal) var(--seki-ease-out)}.seki-animate-scale-out{animation:seki-scale-out var(--seki-animation-normal) var(--seki-ease-in)}.seki-animate-spin{animation:seki-spin 1s linear infinite}.seki-animate-pulse{animation:seki-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.seki-animate-bounce{animation:seki-bounce 1s infinite}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}:host{display:contents}.dialog{display:contents}";
5
5
 
@@ -32,6 +32,16 @@ const SekiDialog = /*@__PURE__*/ proxyCustomElement(class SekiDialog extends H {
32
32
  componentWillLoad() {
33
33
  this._isOpen = this.open || this.defaultOpen;
34
34
  }
35
+ handleOpenPropChange(newValue) {
36
+ // Honour controlled `open` updates after first render. Without this, setting
37
+ // dialog.open = true later did nothing (open was only read in componentWillLoad).
38
+ if (newValue && !this._isOpen) {
39
+ this.openDialog();
40
+ }
41
+ else if (!newValue && this._isOpen) {
42
+ this.closeDialog();
43
+ }
44
+ }
35
45
  get titleId() {
36
46
  return `seki-dialog-title-${this.instanceId}`;
37
47
  }
@@ -105,9 +115,12 @@ const SekiDialog = /*@__PURE__*/ proxyCustomElement(class SekiDialog extends H {
105
115
  }
106
116
  }
107
117
  render() {
108
- return (h(Host, { key: 'b26d6665d7cbd7cb94f53e78855c7e0018c38c8d', "data-state": this._isOpen ? 'open' : 'closed' }, h("div", { key: '416347fc9cd44970c3a5dec4bc562692f36562d4', part: "dialog", class: "dialog" }, h("slot", { key: '116af2368448782b7c65af0bf039a8f2186d508c' }))));
118
+ return (h(Host, { key: '185a05b13663a81dc152b76009f9befd201ec8db', "data-state": this._isOpen ? 'open' : 'closed' }, h("div", { key: 'b172f05f25d1ee05dc43e2b50e95a6c1c0e8ad60', part: "dialog", class: "dialog" }, h("slot", { key: '5d73235cd76ea9b95b793661940553bc0685ed96' }))));
109
119
  }
110
120
  get el() { return this; }
121
+ static get watchers() { return {
122
+ "open": ["handleOpenPropChange"]
123
+ }; }
111
124
  static get style() { return sekiDialogCss; }
112
125
  }, [257, "seki-dialog", {
113
126
  "open": [1540],
@@ -116,7 +129,9 @@ const SekiDialog = /*@__PURE__*/ proxyCustomElement(class SekiDialog extends H {
116
129
  "_isOpen": [32],
117
130
  "openDialog": [64],
118
131
  "closeDialog": [64]
119
- }, [[0, "sekiDialogTriggerClick", "handleTriggerClick"], [0, "sekiDialogClose", "handleCloseRequest"]]]);
132
+ }, [[0, "sekiDialogTriggerClick", "handleTriggerClick"], [0, "sekiDialogClose", "handleCloseRequest"]], {
133
+ "open": ["handleOpenPropChange"]
134
+ }]);
120
135
  SekiDialog.instanceCount = 0;
121
136
  function defineCustomElement() {
122
137
  if (typeof customElements === "undefined") {
@@ -17,7 +17,7 @@ const SekiSidebarGroupLabel = /*@__PURE__*/ proxyCustomElement(class SekiSidebar
17
17
  unregisterThemeSync(this.el);
18
18
  }
19
19
  render() {
20
- return (h("div", { key: 'a3f5d1d810c990c84570abb1131ec7d7ab7ae7bf', class: "sidebar-group-label" }, h("slot", { key: '3d494ea1b43a7ab858e2cd1a99d8ecae3379855d' })));
20
+ return (h("div", { key: 'b4a500dc386a3333272a90ab43ace88ba8176fe2', class: "sidebar-group-label" }, h("slot", { key: 'ae0568dcb2cba975c086408e2ea3cd3ed8815c22' })));
21
21
  }
22
22
  get el() { return this; }
23
23
  static get style() { return sekiSidebarGroupCss; }
@@ -22152,6 +22152,17 @@ function getWeekDays(weekStartsOn = 0) {
22152
22152
  }
22153
22153
  return days;
22154
22154
  }
22155
+ /**
22156
+ * Whether a date is disabled by the min/max bounds or the explicit disabled list.
22157
+ * Single source of truth shared by the grid generator and keyboard handlers.
22158
+ */
22159
+ function isDateDisabled(date, options = {}) {
22160
+ const { minDate = null, maxDate = null, disabledDates = [] } = options;
22161
+ const disabledByRange = (minDate && dateFnsExports.isBefore(date, dateFnsExports.startOfDay(minDate))) ||
22162
+ (maxDate && dateFnsExports.isAfter(date, dateFnsExports.startOfDay(maxDate)));
22163
+ const disabledByList = disabledDates.some(d => dateFnsExports.isSameDay(date, d));
22164
+ return Boolean(disabledByRange || disabledByList);
22165
+ }
22155
22166
  /**
22156
22167
  * Get all days to display in a calendar month grid (6 weeks)
22157
22168
  */
@@ -22165,9 +22176,6 @@ function getCalendarDays(month, options = {}) {
22165
22176
  const weeks = [];
22166
22177
  let currentWeek = [];
22167
22178
  for (const date of allDays) {
22168
- const isDisabledByRange = (minDate && dateFnsExports.isBefore(date, dateFnsExports.startOfDay(minDate))) ||
22169
- (maxDate && dateFnsExports.isAfter(date, dateFnsExports.startOfDay(maxDate)));
22170
- const isDisabledByList = disabledDates.some(d => dateFnsExports.isSameDay(date, d));
22171
22179
  const isSelected = selectedDate ? dateFnsExports.isSameDay(date, selectedDate) : false;
22172
22180
  let isInRange = false;
22173
22181
  let isRangeStart = false;
@@ -22191,7 +22199,7 @@ function getCalendarDays(month, options = {}) {
22191
22199
  isInRange,
22192
22200
  isRangeStart,
22193
22201
  isRangeEnd,
22194
- isDisabled: isDisabledByRange || isDisabledByList,
22202
+ isDisabled: isDateDisabled(date, { minDate, maxDate, disabledDates }),
22195
22203
  };
22196
22204
  currentWeek.push(day);
22197
22205
  if (currentWeek.length === 7) {
@@ -22338,9 +22346,11 @@ const SekiCalendar = /*@__PURE__*/ proxyCustomElement(class SekiCalendar extends
22338
22346
  }
22339
22347
  };
22340
22348
  this.handleKeyDown = (event) => {
22341
- const selectedDate = this.parseDate(this.selected) ||
22349
+ // Anchor navigation on the currently focused day first so arrow keys move
22350
+ // the focus freely instead of snapping back to the selected date each press.
22351
+ const selectedDate = this.focusedDate ||
22352
+ this.parseDate(this.selected) ||
22342
22353
  this.parseDate(this.rangeFrom) ||
22343
- this.focusedDate ||
22344
22354
  new Date();
22345
22355
  let newDate = null;
22346
22356
  switch (event.key) {
@@ -22360,6 +22370,13 @@ const SekiCalendar = /*@__PURE__*/ proxyCustomElement(class SekiCalendar extends
22360
22370
  case ' ':
22361
22371
  if (this.focusedDate) {
22362
22372
  event.preventDefault();
22373
+ // Compute the real disabled state so keyboard selection honours
22374
+ // min/max bounds and disabledDates, matching mouse behaviour.
22375
+ const isDisabled = isDateDisabled(this.focusedDate, {
22376
+ minDate: this.parseDate(this.minDate),
22377
+ maxDate: this.parseDate(this.maxDate),
22378
+ disabledDates: this.parseDateArray(this.disabledDates),
22379
+ });
22363
22380
  this.handleDayClick({
22364
22381
  date: this.focusedDate,
22365
22382
  dayOfMonth: this.focusedDate.getDate(),
@@ -22369,7 +22386,7 @@ const SekiCalendar = /*@__PURE__*/ proxyCustomElement(class SekiCalendar extends
22369
22386
  isInRange: false,
22370
22387
  isRangeStart: false,
22371
22388
  isRangeEnd: false,
22372
- isDisabled: false,
22389
+ isDisabled,
22373
22390
  });
22374
22391
  }
22375
22392
  return;
@@ -22467,7 +22484,7 @@ const SekiCalendar = /*@__PURE__*/ proxyCustomElement(class SekiCalendar extends
22467
22484
  });
22468
22485
  const monthLabel = getMonthLabel(this.displayMonth);
22469
22486
  const yearLabel = getYearLabel(this.displayMonth);
22470
- return (h("div", { key: '6dd085167df7ebde0ea2b2a78cb69c0cb08d189f', class: "seki-calendar", role: "application", "aria-label": "Calendar", onKeyDown: this.handleKeyDown }, h("div", { key: '2039c31e71ac75793b76b9a232494d93a0728ff2', class: "seki-calendar__header" }, h("button", { key: '12cf036cd14c37c50e8fedf34e0dde5bdfca9097', type: "button", class: "seki-calendar__nav-button", "aria-label": "Go to previous month", onClick: this.handlePreviousMonth }, h("svg", { key: 'a670a544036a499a6c50e3b2c2d7c04bd25890af', xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: '44d54670790caf5a4028cbaf035840838689bb8b', d: "m15 18-6-6 6-6" }))), h("div", { key: 'ca6bdde6daa3f73aed96fcbaa1757f7ba6fd6231', class: "seki-calendar__heading" }, h("span", { key: 'ae1329a37c9b455d2bf1ee4e1c76dd497503ea46', class: "seki-calendar__month" }, monthLabel), h("span", { key: '886f09bd67d3b6616d57a109fce4777ae6198f26', class: "seki-calendar__year" }, yearLabel)), h("button", { key: '2eb3cd2d5285ee950f5d68085f168bf574c0b687', type: "button", class: "seki-calendar__nav-button", "aria-label": "Go to next month", onClick: this.handleNextMonth }, h("svg", { key: '1c0b77760c152a1a10fba28354e7187526451174', xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: '9dbc344dff2b49deb80439b65f73af6033169a53', d: "m9 18 6-6-6-6" })))), h("table", { key: '39ade9c223d0c5304ce100aafcbb9788a798696a', class: "seki-calendar__table", role: "grid", "aria-label": `${monthLabel} ${yearLabel}` }, h("thead", { key: '7607c9956a0a9e447ecdd9f845c0ddf0db4fc168' }, h("tr", { key: '7fbde7681b884ccf802350372b050d05901ff0ed', class: "seki-calendar__weekdays" }, this.weekDays.map(day => (h("th", { class: "seki-calendar__weekday", scope: "col", "aria-label": day }, day.slice(0, 2)))))), h("tbody", { key: '029dd32bf9fd76f170d59318a60f1ab54d144e2a' }, weeks.map((week, weekIndex) => (h("tr", { key: weekIndex, class: "seki-calendar__week" }, week.map((day, dayIndex) => (h("td", { key: dayIndex, class: "seki-calendar__cell", role: "gridcell", "aria-selected": day.isSelected || day.isRangeStart || day.isRangeEnd, "aria-disabled": day.isDisabled }, h("button", { type: "button", class: this.getDayClasses(day), tabIndex: day.isSelected || day.isToday ? 0 : -1, disabled: day.isDisabled, onClick: () => this.handleDayClick(day), "aria-label": day.date.toDateString() }, day.dayOfMonth)))))))))));
22487
+ return (h("div", { key: '02f3870b94d5acf0966ee58f6df9c454debf0504', class: "seki-calendar", role: "application", "aria-label": "Calendar", onKeyDown: this.handleKeyDown }, h("div", { key: '79966e3b0ddbe472309a4a93925efb39a71f7553', class: "seki-calendar__header" }, h("button", { key: '0defe4096d1c5e42e49c25e2b932fd90468b2314', type: "button", class: "seki-calendar__nav-button", "aria-label": "Go to previous month", onClick: this.handlePreviousMonth }, h("svg", { key: '58496bf79b7acf41619d722013639ff3ad7620e4', xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: 'f631919367d32c2f64d83237225c1405d287b7ec', d: "m15 18-6-6 6-6" }))), h("div", { key: '42ce8be0497074129c0cbc418962e8cd16aa421e', class: "seki-calendar__heading" }, h("span", { key: 'd8af2466b5593af31e1dfcac7aac63423ca89439', class: "seki-calendar__month" }, monthLabel), h("span", { key: '00d175575d2e077f4a748b15cddc2ad32a59f42d', class: "seki-calendar__year" }, yearLabel)), h("button", { key: 'd42e541f90f6f64a16dee27f0bd3b141cc51b09d', type: "button", class: "seki-calendar__nav-button", "aria-label": "Go to next month", onClick: this.handleNextMonth }, h("svg", { key: 'e22466278dc8b5c843423bc5e4d1919be87697ad', xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: '7d45d7db43e300697412862dcb1a983ba7e2114e', d: "m9 18 6-6-6-6" })))), h("table", { key: '21a3537b31cc36f175f29f5187df536ef7f13d47', class: "seki-calendar__table", role: "grid", "aria-label": `${monthLabel} ${yearLabel}` }, h("thead", { key: '976bf05093602c5297a295614bab28980c9929fb' }, h("tr", { key: '362733daf798b535d94a03e1c30d52c75aeac421', class: "seki-calendar__weekdays" }, this.weekDays.map(day => (h("th", { class: "seki-calendar__weekday", scope: "col", "aria-label": day }, day.slice(0, 2)))))), h("tbody", { key: '2764ea48c5e32439655f1990702ba8eb5b6eb3e3' }, weeks.map((week, weekIndex) => (h("tr", { key: weekIndex, class: "seki-calendar__week" }, week.map((day, dayIndex) => (h("td", { key: dayIndex, class: "seki-calendar__cell", role: "gridcell", "aria-selected": day.isSelected || day.isRangeStart || day.isRangeEnd, "aria-disabled": day.isDisabled }, h("button", { type: "button", class: this.getDayClasses(day), tabIndex: day.isSelected || day.isToday ? 0 : -1, disabled: day.isDisabled, onClick: () => this.handleDayClick(day), "aria-label": day.date.toDateString() }, day.dayOfMonth)))))))))));
22471
22488
  }
22472
22489
  get el() { return this; }
22473
22490
  static get watchers() { return {
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Focus trap utility for dialog and modal components.
3
+ *
4
+ * These helpers walk the *composed* (flattened) tree rather than a single
5
+ * shadow root. Dialog content is projected through a `<slot>`, so the actual
6
+ * focusable elements live in the host's light DOM — and custom elements like
7
+ * `seki-button` keep their focusable `<button>` inside their own shadow root.
8
+ * A plain `container.querySelectorAll()` never sees either, which is why the
9
+ * trap previously matched nothing.
10
+ */
11
+ const FOCUSABLE_SELECTOR = [
12
+ 'a[href]',
13
+ 'button:not([disabled])',
14
+ 'input:not([disabled])',
15
+ 'select:not([disabled])',
16
+ 'textarea:not([disabled])',
17
+ '[tabindex]:not([tabindex="-1"])',
18
+ 'audio[controls]',
19
+ 'video[controls]',
20
+ '[contenteditable]:not([contenteditable="false"])',
21
+ ].join(', ');
22
+ function isFocusableCandidate(el) {
23
+ return el instanceof HTMLElement && el.matches(FOCUSABLE_SELECTOR);
24
+ }
25
+ function isHidden(el) {
26
+ return (el.hidden === true ||
27
+ el.getAttribute('aria-hidden') === 'true');
28
+ }
29
+ /**
30
+ * Recursively collect focusable elements in composed-tree (DOM) order,
31
+ * descending through shadow roots and resolving `<slot>` assignments.
32
+ */
33
+ function collectFocusable(node, out) {
34
+ // Resolve slots to their assigned (projected) elements.
35
+ if (node.tagName === 'SLOT') {
36
+ const assigned = node.assignedElements({ flatten: true });
37
+ for (const el of assigned) {
38
+ collectFocusable(el, out);
39
+ }
40
+ return;
41
+ }
42
+ // Skip hidden subtrees entirely.
43
+ if (isHidden(node))
44
+ return;
45
+ if (isFocusableCandidate(node)) {
46
+ out.push(node);
47
+ }
48
+ // When an element hosts a shadow root, its rendered subtree is the shadow
49
+ // tree (light children only surface via slots inside it). Otherwise walk
50
+ // the light children directly.
51
+ const children = node.shadowRoot
52
+ ? Array.from(node.shadowRoot.children)
53
+ : Array.from(node.children);
54
+ for (const child of children) {
55
+ collectFocusable(child, out);
56
+ }
57
+ }
58
+ /**
59
+ * Get all focusable elements within a container, crossing shadow-DOM and slot
60
+ * boundaries so projected content and nested web components are included.
61
+ */
62
+ function getFocusableElements(container) {
63
+ var _a;
64
+ const out = [];
65
+ const root = (_a = container.shadowRoot) !== null && _a !== void 0 ? _a : container;
66
+ for (const child of Array.from(root.children)) {
67
+ collectFocusable(child, out);
68
+ }
69
+ return out;
70
+ }
71
+ /**
72
+ * Resolve the deepest active element, descending into nested shadow roots.
73
+ * `document.activeElement` only reports the outermost shadow host.
74
+ */
75
+ function getDeepActiveElement() {
76
+ var _a;
77
+ let active = document.activeElement;
78
+ while ((_a = active === null || active === void 0 ? void 0 : active.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) {
79
+ active = active.shadowRoot.activeElement;
80
+ }
81
+ return active;
82
+ }
83
+ /**
84
+ * Focus the first focusable element in a container.
85
+ */
86
+ function focusFirst(container) {
87
+ const focusables = getFocusableElements(container);
88
+ if (focusables.length > 0) {
89
+ focusables[0].focus();
90
+ }
91
+ }
92
+ /**
93
+ * Trap focus within a container during Tab key navigation.
94
+ */
95
+ function trapFocus(container, event) {
96
+ if (event.key !== 'Tab')
97
+ return;
98
+ const focusables = getFocusableElements(container);
99
+ if (focusables.length === 0) {
100
+ // Nothing focusable inside — keep focus from escaping the modal.
101
+ event.preventDefault();
102
+ return;
103
+ }
104
+ const first = focusables[0];
105
+ const last = focusables[focusables.length - 1];
106
+ const active = getDeepActiveElement();
107
+ // `contains()` does not cross shadow boundaries, so detect "escaped" focus by
108
+ // membership in the composed focusables list instead.
109
+ const isInside = active !== null && focusables.indexOf(active) !== -1;
110
+ if (event.shiftKey) {
111
+ if (active === first || !isInside) {
112
+ event.preventDefault();
113
+ last.focus();
114
+ }
115
+ }
116
+ else {
117
+ if (active === last || !isInside) {
118
+ event.preventDefault();
119
+ first.focus();
120
+ }
121
+ }
122
+ }
123
+ // ---------------------------------------------------------------------------
124
+ // Body scroll lock (reference-counted so stacked modals don't unlock early).
125
+ // ---------------------------------------------------------------------------
126
+ let scrollLockCount = 0;
127
+ let savedOverflow = '';
128
+ let savedPaddingRight = '';
129
+ /**
130
+ * Lock body scroll when a modal opens. Safe to nest: the lock is only applied
131
+ * on the first call and the original inline styles are restored on the last
132
+ * matching unlock.
133
+ */
134
+ function lockBodyScroll() {
135
+ if (scrollLockCount === 0) {
136
+ savedOverflow = document.body.style.overflow;
137
+ savedPaddingRight = document.body.style.paddingRight;
138
+ const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
139
+ document.body.style.overflow = 'hidden';
140
+ if (scrollbarWidth > 0) {
141
+ document.body.style.paddingRight = `${scrollbarWidth}px`;
142
+ }
143
+ }
144
+ scrollLockCount++;
145
+ }
146
+ /**
147
+ * Unlock body scroll when a modal closes. Only the final unlock restores the
148
+ * original inline styles.
149
+ */
150
+ function unlockBodyScroll() {
151
+ if (scrollLockCount === 0)
152
+ return;
153
+ scrollLockCount--;
154
+ if (scrollLockCount === 0) {
155
+ document.body.style.overflow = savedOverflow;
156
+ document.body.style.paddingRight = savedPaddingRight;
157
+ }
158
+ }
159
+
160
+ export { focusFirst as f, lockBodyScroll as l, trapFocus as t, unlockBodyScroll as u };
@@ -150,14 +150,14 @@ const SekiNavigationMenuViewport = /*@__PURE__*/ proxyCustomElement(class SekiNa
150
150
  return h("slot", null);
151
151
  }
152
152
  render() {
153
- return (h(Host, { key: 'd6488e7ee474b8a5c14bda3c4354a18c8f95e2bd', class: {
153
+ return (h(Host, { key: 'c863186fc1f5fa38f62d722497f1eca6564175ff', class: {
154
154
  'navigation-menu-viewport': true,
155
155
  'navigation-menu-viewport--visible': this.isVisible,
156
156
  }, style: {
157
157
  '--indicator-left': `${this.indicatorLeft}px`,
158
158
  '--content-offset': `${this.contentOffset}px`,
159
159
  '--content-height': `${this.contentHeight}px`,
160
- } }, h("div", { key: 'c154a11e43e35c612c8516ce48e90ce963f120cd', class: "navigation-menu-viewport__indicator" }, h("svg", { key: '20963cf39499036ed89db44f1b34cf6b3064e3c8', width: "20", height: "10", viewBox: "0 0 20 10", fill: "currentColor" }, h("polygon", { key: 'd69af8e0581c22acf673595deef3bdce3aa12189', points: "10,0 20,10 0,10" }))), h("div", { key: '558cd698c2a894070a80b137e36dc62d25977043', ref: el => (this.contentRef = el), class: "navigation-menu-viewport__content" }, this.renderContent())));
160
+ } }, h("div", { key: '558ad311e9ee87bce50b1caaebbd438ef4f4ffa0', class: "navigation-menu-viewport__indicator" }, h("svg", { key: '187cb7822a78f9ec991c403c1c0d255ef1c93434', width: "20", height: "10", viewBox: "0 0 20 10", fill: "currentColor" }, h("polygon", { key: '6a2cb9eb92b18a5815dfc433066f24bc4bb80d76', points: "10,0 20,10 0,10" }))), h("div", { key: '2aaa62ba0e22c828ef21bc4196b78ef78f60faf9', ref: el => (this.contentRef = el), class: "navigation-menu-viewport__content" }, this.renderContent())));
161
161
  }
162
162
  get el() { return this; }
163
163
  static get watchers() { return {
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Shared anchored-positioning math for popover-like overlays (popover,
3
+ * dropdown-menu, menubar content). Computes a fixed-position {top,left} for a
4
+ * floating element relative to a trigger, given a side + alignment + offsets,
5
+ * then clamps the result into the viewport.
6
+ *
7
+ * This is the simple "place + clamp" strategy (no side flipping). Components
8
+ * that flip based on available space (e.g. hover-card, tooltip 'auto') keep
9
+ * their own collision logic.
10
+ */
11
+ function computeAnchoredPosition(triggerRect, contentRect, options) {
12
+ const { side, align, sideOffset = 0, alignOffset = 0, viewport = { width: window.innerWidth, height: window.innerHeight }, margin = 8, } = options;
13
+ let top = 0;
14
+ let left = 0;
15
+ // Position along the side axis.
16
+ switch (side) {
17
+ case 'top':
18
+ top = triggerRect.top - contentRect.height - sideOffset;
19
+ break;
20
+ case 'bottom':
21
+ top = triggerRect.bottom + sideOffset;
22
+ break;
23
+ case 'left':
24
+ left = triggerRect.left - contentRect.width - sideOffset;
25
+ break;
26
+ case 'right':
27
+ left = triggerRect.right + sideOffset;
28
+ break;
29
+ }
30
+ // Position along the alignment (cross) axis.
31
+ if (side === 'top' || side === 'bottom') {
32
+ switch (align) {
33
+ case 'start':
34
+ left = triggerRect.left + alignOffset;
35
+ break;
36
+ case 'center':
37
+ left = triggerRect.left + (triggerRect.width - contentRect.width) / 2 + alignOffset;
38
+ break;
39
+ case 'end':
40
+ left = triggerRect.right - contentRect.width + alignOffset;
41
+ break;
42
+ }
43
+ }
44
+ else {
45
+ switch (align) {
46
+ case 'start':
47
+ top = triggerRect.top + alignOffset;
48
+ break;
49
+ case 'center':
50
+ top = triggerRect.top + (triggerRect.height - contentRect.height) / 2 + alignOffset;
51
+ break;
52
+ case 'end':
53
+ top = triggerRect.bottom - contentRect.height + alignOffset;
54
+ break;
55
+ }
56
+ }
57
+ // Clamp into the viewport.
58
+ left = Math.max(margin, Math.min(left, viewport.width - contentRect.width - margin));
59
+ top = Math.max(margin, Math.min(top, viewport.height - contentRect.height - margin));
60
+ return { top, left, side };
61
+ }
62
+
63
+ export { computeAnchoredPosition as c };
@@ -9,6 +9,9 @@ const SekiAccordionContent$1 = /*@__PURE__*/ proxyCustomElement(class SekiAccord
9
9
  this.__registerHost();
10
10
  }
11
11
  this.__attachShadow();
12
+ this.onAccordionValueChange = () => {
13
+ this.syncWithContext();
14
+ };
12
15
  this._isOpen = false;
13
16
  this._isAnimating = false;
14
17
  this._contentHeight = 0;
@@ -35,17 +38,14 @@ const SekiAccordionContent$1 = /*@__PURE__*/ proxyCustomElement(class SekiAccord
35
38
  this._isOpen = this.isItemOpen();
36
39
  }
37
40
  componentDidLoad() {
41
+ var _a, _b;
38
42
  // Initial height measurement
39
43
  if (this.contentRef && this._isOpen) {
40
44
  this._contentHeight = this.contentRef.scrollHeight;
41
45
  }
42
46
  // Listen for value changes from parent accordion
43
- const accordion = this.el.closest('seki-accordion');
44
- if (accordion) {
45
- accordion.addEventListener('sekiValueChange', () => {
46
- this.syncWithContext();
47
- });
48
- }
47
+ this.accordionEl = (_a = this.el.closest('seki-accordion')) !== null && _a !== void 0 ? _a : undefined;
48
+ (_b = this.accordionEl) === null || _b === void 0 ? void 0 : _b.addEventListener('sekiValueChange', this.onAccordionValueChange);
49
49
  }
50
50
  syncWithContext() {
51
51
  const wasOpen = this._isOpen;
@@ -67,7 +67,9 @@ const SekiAccordionContent$1 = /*@__PURE__*/ proxyCustomElement(class SekiAccord
67
67
  registerThemeSync(this.el);
68
68
  }
69
69
  disconnectedCallback() {
70
+ var _a;
70
71
  unregisterThemeSync(this.el);
72
+ (_a = this.accordionEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiValueChange', this.onAccordionValueChange);
71
73
  }
72
74
  render() {
73
75
  var _a, _b;
@@ -85,11 +87,11 @@ const SekiAccordionContent$1 = /*@__PURE__*/ proxyCustomElement(class SekiAccord
85
87
  else {
86
88
  contentStyle.height = '0';
87
89
  }
88
- return (h(Host, { key: '45aaa327040b83da03306236a469ec65deb4f0f7', "data-state": this._isOpen ? 'open' : 'closed' }, h("div", { key: '2beac20fdb77111367215708fb7fddb68fb03044', ref: (el) => (this.contentRef = el), part: "content", id: contentId, role: "region", "aria-labelledby": triggerId, "aria-hidden": !this._isOpen, class: {
90
+ return (h(Host, { key: 'e95c55a56f9203ff129d4f8b9191b1f4984c1cfc', "data-state": this._isOpen ? 'open' : 'closed' }, h("div", { key: 'ba74da322f5551d41a64baac8fc027a871976da3', ref: (el) => (this.contentRef = el), part: "content", id: contentId, role: "region", "aria-labelledby": triggerId, "aria-hidden": !this._isOpen, class: {
89
91
  'accordion-content': true,
90
92
  'accordion-content--open': this._isOpen,
91
93
  'accordion-content--animating': this._isAnimating,
92
- }, style: contentStyle }, h("div", { key: '4c4aeff4e120ee774fef222f8e608fbb89269cc2', class: "accordion-content-inner" }, h("slot", { key: 'c32130dbbfe7890cfb22f42a60fb22cd80be0439' })))));
94
+ }, style: contentStyle }, h("div", { key: '469f6016f89345c4b38a54baf2c3692c8b7fb643', class: "accordion-content-inner" }, h("slot", { key: 'b4d628cefb0967a5a2dab1b015c10f303f3bb386' })))));
93
95
  }
94
96
  get el() { return this; }
95
97
  static get style() { return sekiAccordionContentCss; }
@@ -14,6 +14,12 @@ const SekiAccordionItem$1 = /*@__PURE__*/ proxyCustomElement(class SekiAccordion
14
14
  */
15
15
  this.disabled = false;
16
16
  this._isOpen = false;
17
+ this.onAccordionValueChange = () => {
18
+ var _a, _b;
19
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
+ this.el._accordionItemContext = this.getItemContext();
21
+ this._isOpen = (_b = (_a = this.getAccordionContext()) === null || _a === void 0 ? void 0 : _a.isItemOpen(this.value)) !== null && _b !== void 0 ? _b : false;
22
+ };
17
23
  this.instanceId = ++SekiAccordionItem.instanceCount;
18
24
  }
19
25
  getAccordionContext() {
@@ -45,18 +51,12 @@ const SekiAccordionItem$1 = /*@__PURE__*/ proxyCustomElement(class SekiAccordion
45
51
  };
46
52
  }
47
53
  componentDidLoad() {
54
+ var _a, _b;
48
55
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
56
  this.el._accordionItemContext = this.getItemContext();
50
57
  // Listen for value changes from parent
51
- const accordion = this.el.closest('seki-accordion');
52
- if (accordion) {
53
- accordion.addEventListener('sekiValueChange', () => {
54
- var _a, _b;
55
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
- this.el._accordionItemContext = this.getItemContext();
57
- this._isOpen = (_b = (_a = this.getAccordionContext()) === null || _a === void 0 ? void 0 : _a.isItemOpen(this.value)) !== null && _b !== void 0 ? _b : false;
58
- });
59
- }
58
+ this.accordionEl = (_a = this.el.closest('seki-accordion')) !== null && _a !== void 0 ? _a : undefined;
59
+ (_b = this.accordionEl) === null || _b === void 0 ? void 0 : _b.addEventListener('sekiValueChange', this.onAccordionValueChange);
60
60
  }
61
61
  componentWillRender() {
62
62
  var _a, _b;
@@ -66,13 +66,15 @@ const SekiAccordionItem$1 = /*@__PURE__*/ proxyCustomElement(class SekiAccordion
66
66
  registerThemeSync(this.el);
67
67
  }
68
68
  disconnectedCallback() {
69
+ var _a;
69
70
  unregisterThemeSync(this.el);
71
+ (_a = this.accordionEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiValueChange', this.onAccordionValueChange);
70
72
  }
71
73
  render() {
72
74
  var _a, _b, _c, _d;
73
75
  const isOpen = (_b = (_a = this.getAccordionContext()) === null || _a === void 0 ? void 0 : _a.isItemOpen(this.value)) !== null && _b !== void 0 ? _b : false;
74
76
  const isDisabled = this.disabled || ((_d = (_c = this.getAccordionContext()) === null || _c === void 0 ? void 0 : _c.disabled) !== null && _d !== void 0 ? _d : false);
75
- return (h(Host, { key: '7378587697de097b3bd177355ee5ece412b82e62', "data-state": isOpen ? 'open' : 'closed', "data-disabled": isDisabled ? '' : undefined }, h("div", { key: '90182cfa390a4ab9d73f04842fbc7de8a2428bdc', part: "item", class: "accordion-item" }, h("slot", { key: 'a98cb6faaa6808f1229862bdc884c500a955a532' }))));
77
+ return (h(Host, { key: 'd1e647bc3516632eb7aecc18fa1c901bf4e51558', "data-state": isOpen ? 'open' : 'closed', "data-disabled": isDisabled ? '' : undefined }, h("div", { key: '02a0f357a13f45fbdbe28042e8ad1132c501fb08', part: "item", class: "accordion-item" }, h("slot", { key: '362de8e8b50c8ccd61fa308e3c54cd5798b685b7' }))));
76
78
  }
77
79
  get el() { return this; }
78
80
  static get style() { return sekiAccordionItemCss; }
@@ -10,6 +10,11 @@ const SekiAccordionTrigger$1 = /*@__PURE__*/ proxyCustomElement(class SekiAccord
10
10
  }
11
11
  this.__attachShadow();
12
12
  this._isOpen = false;
13
+ this.onAccordionValueChange = () => {
14
+ var _a;
15
+ const context = this.getItemContext();
16
+ this._isOpen = (_a = context === null || context === void 0 ? void 0 : context.isOpen) !== null && _a !== void 0 ? _a : false;
17
+ };
13
18
  }
14
19
  getItemContext() {
15
20
  const item = this.el.closest('seki-accordion-item');
@@ -101,21 +106,18 @@ const SekiAccordionTrigger$1 = /*@__PURE__*/ proxyCustomElement(class SekiAccord
101
106
  (_a = triggers[triggers.length - 1]) === null || _a === void 0 ? void 0 : _a.focus();
102
107
  }
103
108
  componentDidLoad() {
109
+ var _a, _b;
104
110
  // Listen for value changes from parent accordion
105
- const accordion = this.el.closest('seki-accordion');
106
- if (accordion) {
107
- accordion.addEventListener('sekiValueChange', () => {
108
- var _a;
109
- const context = this.getItemContext();
110
- this._isOpen = (_a = context === null || context === void 0 ? void 0 : context.isOpen) !== null && _a !== void 0 ? _a : false;
111
- });
112
- }
111
+ this.accordionEl = (_a = this.el.closest('seki-accordion')) !== null && _a !== void 0 ? _a : undefined;
112
+ (_b = this.accordionEl) === null || _b === void 0 ? void 0 : _b.addEventListener('sekiValueChange', this.onAccordionValueChange);
113
113
  }
114
114
  connectedCallback() {
115
115
  registerThemeSync(this.el);
116
116
  }
117
117
  disconnectedCallback() {
118
+ var _a;
118
119
  unregisterThemeSync(this.el);
120
+ (_a = this.accordionEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiValueChange', this.onAccordionValueChange);
119
121
  }
120
122
  render() {
121
123
  var _a, _b, _c, _d;
@@ -124,10 +126,10 @@ const SekiAccordionTrigger$1 = /*@__PURE__*/ proxyCustomElement(class SekiAccord
124
126
  const disabled = (_b = context === null || context === void 0 ? void 0 : context.disabled) !== null && _b !== void 0 ? _b : false;
125
127
  const contentId = (_c = context === null || context === void 0 ? void 0 : context.contentId) !== null && _c !== void 0 ? _c : '';
126
128
  const triggerId = (_d = context === null || context === void 0 ? void 0 : context.triggerId) !== null && _d !== void 0 ? _d : '';
127
- return (h(Host, { key: '44fcd10d45ab787dcb03d6bc57e3c89ebc412ff8', "data-state": isOpen ? 'open' : 'closed', "data-disabled": disabled ? '' : undefined, tabindex: disabled ? -1 : 0, role: "button" }, h("button", { key: '0ab062b895453fe219e19d352b61ca19672085a7', part: "trigger", type: "button", id: triggerId, class: "accordion-trigger", "aria-expanded": isOpen ? 'true' : 'false', "aria-controls": contentId, disabled: disabled }, h("slot", { key: '50fd364f17ce45fd7fb93fe6b12d5b6cce1567fa' }), h("svg", { key: '828b1bc00165636aa88f10e1813c65307999330a', part: "icon", class: {
129
+ return (h(Host, { key: 'a4879d95097f708cd6a87e41a36ecbdfb4754403', "data-state": isOpen ? 'open' : 'closed', "data-disabled": disabled ? '' : undefined, tabindex: disabled ? -1 : 0, role: "button" }, h("button", { key: 'd45f5212cbc84c026d58da757737b9747f8579ff', part: "trigger", type: "button", id: triggerId, class: "accordion-trigger", "aria-expanded": isOpen ? 'true' : 'false', "aria-controls": contentId, disabled: disabled }, h("slot", { key: '1bb8c751340e8752950d72f049d8e789e7de0e98' }), h("svg", { key: 'a652521c0952d5ae55b6e368d909406c32dd59ac', part: "icon", class: {
128
130
  'accordion-chevron': true,
129
131
  'accordion-chevron--open': isOpen,
130
- }, xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: '18b8051269c78e0bed8be89bb1382f55f8b6b1c5', d: "m6 9 6 6 6-6" })))));
132
+ }, xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: '5bd366a53e48dbf59945453f1191a65b7f1bc815', d: "m6 9 6 6 6-6" })))));
131
133
  }
132
134
  get el() { return this; }
133
135
  static get style() { return sekiAccordionTriggerCss; }