@sekiui/elements 0.0.82 → 0.0.83

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 (471) 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-o_nleCju.js → p-Cs0DgQw5.js} +25 -8
  4. package/dist/cdn/p-D50kwTtW.js +160 -0
  5. package/dist/cdn/p-DuJp0Kp6.js +63 -0
  6. package/dist/cdn/seki-accordion-content.js +10 -8
  7. package/dist/cdn/seki-accordion-item.js +12 -10
  8. package/dist/cdn/seki-accordion-trigger.js +12 -10
  9. package/dist/cdn/seki-alert-dialog-action.js +1 -1
  10. package/dist/cdn/seki-alert-dialog-cancel.js +1 -1
  11. package/dist/cdn/seki-alert-dialog-content.js +23 -21
  12. package/dist/cdn/seki-alert-dialog.js +1 -1
  13. package/dist/cdn/seki-button.js +1 -1
  14. package/dist/cdn/seki-calendar.js +1 -1
  15. package/dist/cdn/seki-carousel-dots.js +3 -3
  16. package/dist/cdn/seki-carousel-next.js +3 -3
  17. package/dist/cdn/seki-carousel-previous.js +3 -3
  18. package/dist/cdn/seki-carousel.js +22 -4
  19. package/dist/cdn/seki-collapsible-content.js +9 -5
  20. package/dist/cdn/seki-combobox-item.js +9 -2
  21. package/dist/cdn/seki-command-group.js +9 -7
  22. package/dist/cdn/seki-context-menu-content.js +17 -15
  23. package/dist/cdn/seki-context-menu.js +11 -2
  24. package/dist/cdn/seki-data-table.js +19 -16
  25. package/dist/cdn/seki-date-picker.js +1 -1
  26. package/dist/cdn/seki-dialog-content.js +23 -21
  27. package/dist/cdn/seki-dialog-overlay.js +10 -8
  28. package/dist/cdn/seki-dialog.js +1 -1
  29. package/dist/cdn/seki-dropdown-menu-content.js +23 -68
  30. package/dist/cdn/seki-dropdown-menu-radio.js +11 -9
  31. package/dist/cdn/seki-dropdown-menu-trigger.js +11 -9
  32. package/dist/cdn/seki-dropdown-menu.js +11 -2
  33. package/dist/cdn/seki-menubar-content.js +24 -42
  34. package/dist/cdn/seki-menubar-radio.js +11 -9
  35. package/dist/cdn/seki-menubar-trigger.js +12 -10
  36. package/dist/cdn/seki-menubar.js +11 -2
  37. package/dist/cdn/seki-navigation-menu-content.js +8 -3
  38. package/dist/cdn/seki-navigation-menu-item.js +2 -2
  39. package/dist/cdn/seki-navigation-menu-link.js +8 -3
  40. package/dist/cdn/seki-navigation-menu-list.js +7 -2
  41. package/dist/cdn/seki-navigation-menu-trigger.js +3 -3
  42. package/dist/cdn/seki-navigation-menu.js +5 -5
  43. package/dist/cdn/seki-popover-content.js +20 -65
  44. package/dist/cdn/seki-popover.js +13 -3
  45. package/dist/cdn/seki-scroll-bar.js +6 -2
  46. package/dist/cdn/seki-select-option.js +29 -13
  47. package/dist/cdn/seki-select.js +79 -33
  48. package/dist/cdn/seki-sidebar-menu-sub.js +17 -16
  49. package/dist/cdn/seki-sidebar-provider.js +13 -4
  50. package/dist/cdn/seki-sidebar-rail.js +7 -2
  51. package/dist/cdn/seki-slider.js +36 -4
  52. package/dist/cdn/seki-spinner.js +2 -2
  53. package/dist/cdn/seki-table-body.js +1 -1
  54. package/dist/cdn/seki-table-caption.js +1 -1
  55. package/dist/cdn/seki-table-footer.js +1 -1
  56. package/dist/cdn/seki-table-header.js +1 -1
  57. package/dist/cdn/seki-table-row.js +2 -2
  58. package/dist/cdn/seki-table.js +1 -1
  59. package/dist/cdn/seki-tabs-content.js +12 -10
  60. package/dist/cdn/seki-tabs-list.js +2 -2
  61. package/dist/cdn/seki-tabs-trigger.js +12 -10
  62. package/dist/cdn/seki-tabs.js +2 -2
  63. package/dist/cdn/seki-textarea.js +1 -1
  64. package/dist/cdn/seki-toggle-group.js +1 -1
  65. package/dist/cdn/seki-toggle.js +1 -1
  66. package/dist/cdn/seki-tooltip.js +16 -3
  67. package/dist/cjs/ancestor-attrs-CnUfqtWw.js +47 -0
  68. package/dist/cjs/focus-trap-CFl79SjZ.js +165 -0
  69. package/dist/cjs/loader.cjs.js +1 -1
  70. package/dist/cjs/positioning-LQZBWMS6.js +65 -0
  71. package/dist/cjs/seki-accordion-content.cjs.entry.js +10 -8
  72. package/dist/cjs/seki-accordion-item.cjs.entry.js +12 -10
  73. package/dist/cjs/seki-accordion-trigger.cjs.entry.js +12 -10
  74. package/dist/cjs/seki-alert-dialog-action.cjs.entry.js +1 -1
  75. package/dist/cjs/seki-alert-dialog-cancel.cjs.entry.js +1 -1
  76. package/dist/cjs/seki-alert-dialog-content.cjs.entry.js +23 -21
  77. package/dist/cjs/seki-button.cjs.entry.js +1 -1
  78. package/dist/cjs/seki-calendar.cjs.entry.js +25 -8
  79. package/dist/cjs/seki-carousel-dots.cjs.entry.js +3 -3
  80. package/dist/cjs/seki-carousel-next.cjs.entry.js +3 -3
  81. package/dist/cjs/seki-carousel-previous.cjs.entry.js +3 -3
  82. package/dist/cjs/seki-carousel.cjs.entry.js +22 -4
  83. package/dist/cjs/seki-collapsible-content.cjs.entry.js +9 -5
  84. package/dist/cjs/seki-combobox-item.cjs.entry.js +9 -2
  85. package/dist/cjs/seki-command-group.cjs.entry.js +9 -7
  86. package/dist/cjs/seki-context-menu-content.cjs.entry.js +17 -15
  87. package/dist/cjs/seki-context-menu.cjs.entry.js +11 -2
  88. package/dist/cjs/seki-data-table.cjs.entry.js +19 -16
  89. package/dist/cjs/seki-dialog-content.cjs.entry.js +23 -21
  90. package/dist/cjs/seki-dialog-overlay.cjs.entry.js +10 -8
  91. package/dist/cjs/seki-dialog.cjs.entry.js +15 -2
  92. package/dist/cjs/seki-dropdown-menu-content.cjs.entry.js +23 -68
  93. package/dist/cjs/seki-dropdown-menu-radio.cjs.entry.js +11 -9
  94. package/dist/cjs/seki-dropdown-menu-trigger.cjs.entry.js +11 -9
  95. package/dist/cjs/seki-dropdown-menu.cjs.entry.js +11 -2
  96. package/dist/cjs/seki-menubar-content.cjs.entry.js +24 -42
  97. package/dist/cjs/seki-menubar-radio.cjs.entry.js +11 -9
  98. package/dist/cjs/seki-menubar-trigger.cjs.entry.js +12 -10
  99. package/dist/cjs/seki-menubar.cjs.entry.js +11 -2
  100. package/dist/cjs/seki-navigation-menu-content.cjs.entry.js +8 -3
  101. package/dist/cjs/seki-navigation-menu-item.cjs.entry.js +2 -2
  102. package/dist/cjs/seki-navigation-menu-link.cjs.entry.js +8 -3
  103. package/dist/cjs/seki-navigation-menu-list.cjs.entry.js +7 -2
  104. package/dist/cjs/seki-navigation-menu-trigger.cjs.entry.js +3 -3
  105. package/dist/cjs/seki-navigation-menu.cjs.entry.js +5 -5
  106. package/dist/cjs/seki-popover-content.cjs.entry.js +20 -65
  107. package/dist/cjs/seki-popover.cjs.entry.js +13 -3
  108. package/dist/cjs/seki-scroll-bar.cjs.entry.js +6 -2
  109. package/dist/cjs/seki-select-option.cjs.entry.js +29 -13
  110. package/dist/cjs/seki-select.cjs.entry.js +81 -30
  111. package/dist/cjs/seki-sidebar-menu-sub.cjs.entry.js +17 -16
  112. package/dist/cjs/seki-sidebar-provider.cjs.entry.js +13 -4
  113. package/dist/cjs/seki-sidebar-rail.cjs.entry.js +7 -2
  114. package/dist/cjs/seki-slider.cjs.entry.js +36 -1
  115. package/dist/cjs/seki-spinner.cjs.entry.js +2 -2
  116. package/dist/cjs/seki-table-body.cjs.entry.js +1 -1
  117. package/dist/cjs/seki-table-caption.cjs.entry.js +1 -1
  118. package/dist/cjs/seki-table-footer.cjs.entry.js +1 -1
  119. package/dist/cjs/seki-table-header.cjs.entry.js +1 -1
  120. package/dist/cjs/seki-table-row.cjs.entry.js +2 -2
  121. package/dist/cjs/seki-table.cjs.entry.js +1 -1
  122. package/dist/cjs/seki-tabs-content.cjs.entry.js +12 -10
  123. package/dist/cjs/seki-tabs-list.cjs.entry.js +2 -2
  124. package/dist/cjs/seki-tabs-trigger.cjs.entry.js +12 -10
  125. package/dist/cjs/seki-tabs.cjs.entry.js +2 -2
  126. package/dist/cjs/seki-textarea.cjs.entry.js +1 -1
  127. package/dist/cjs/seki-toggle-group.cjs.entry.js +1 -1
  128. package/dist/cjs/seki-toggle.cjs.entry.js +1 -1
  129. package/dist/cjs/seki-tooltip.cjs.entry.js +16 -3
  130. package/dist/cjs/sekiui.cjs.js +1 -1
  131. package/dist/collection/components/accordion/seki-accordion-content.js +10 -8
  132. package/dist/collection/components/accordion/seki-accordion-item.js +12 -10
  133. package/dist/collection/components/accordion/seki-accordion-trigger.js +12 -10
  134. package/dist/collection/components/alert-dialog/seki-alert-dialog-action.css +5 -5
  135. package/dist/collection/components/alert-dialog/seki-alert-dialog-cancel.css +4 -4
  136. package/dist/collection/components/alert-dialog/seki-alert-dialog-content.js +22 -20
  137. package/dist/collection/components/button/seki-button.css +9 -9
  138. package/dist/collection/components/calendar/seki-calendar.js +14 -5
  139. package/dist/collection/components/carousel/seki-carousel-dots.js +3 -3
  140. package/dist/collection/components/carousel/seki-carousel-next.js +3 -3
  141. package/dist/collection/components/carousel/seki-carousel-previous.js +3 -3
  142. package/dist/collection/components/carousel/seki-carousel.js +22 -4
  143. package/dist/collection/components/collapsible/seki-collapsible-content.js +9 -5
  144. package/dist/collection/components/combobox-item/seki-combobox-item.js +9 -2
  145. package/dist/collection/components/command/seki-command-group.js +9 -7
  146. package/dist/collection/components/context-menu/seki-context-menu-content.js +17 -15
  147. package/dist/collection/components/context-menu/seki-context-menu.js +11 -2
  148. package/dist/collection/components/data-table/seki-data-table.css +5 -5
  149. package/dist/collection/components/data-table/seki-data-table.js +18 -15
  150. package/dist/collection/components/dialog/seki-dialog-content.js +22 -20
  151. package/dist/collection/components/dialog/seki-dialog-overlay.js +10 -8
  152. package/dist/collection/components/dialog/seki-dialog.js +17 -1
  153. package/dist/collection/components/dropdown-menu/seki-dropdown-menu-content.js +23 -68
  154. package/dist/collection/components/dropdown-menu/seki-dropdown-menu-radio.js +11 -9
  155. package/dist/collection/components/dropdown-menu/seki-dropdown-menu-trigger.js +11 -9
  156. package/dist/collection/components/dropdown-menu/seki-dropdown-menu.js +11 -2
  157. package/dist/collection/components/menubar/seki-menubar-content.js +24 -42
  158. package/dist/collection/components/menubar/seki-menubar-radio.js +11 -9
  159. package/dist/collection/components/menubar/seki-menubar-trigger.js +12 -10
  160. package/dist/collection/components/menubar/seki-menubar.js +11 -2
  161. package/dist/collection/components/navigation-menu/seki-navigation-menu-content.css +1 -1
  162. package/dist/collection/components/navigation-menu/seki-navigation-menu-content.js +7 -2
  163. package/dist/collection/components/navigation-menu/seki-navigation-menu-item.js +2 -2
  164. package/dist/collection/components/navigation-menu/seki-navigation-menu-link.css +1 -1
  165. package/dist/collection/components/navigation-menu/seki-navigation-menu-link.js +7 -2
  166. package/dist/collection/components/navigation-menu/seki-navigation-menu-list.css +1 -1
  167. package/dist/collection/components/navigation-menu/seki-navigation-menu-list.js +6 -1
  168. package/dist/collection/components/navigation-menu/seki-navigation-menu-trigger.js +3 -3
  169. package/dist/collection/components/navigation-menu/seki-navigation-menu.js +5 -5
  170. package/dist/collection/components/popover/seki-popover-content.js +20 -65
  171. package/dist/collection/components/popover/seki-popover.js +13 -3
  172. package/dist/collection/components/scroll-area/seki-scroll-bar.css +5 -5
  173. package/dist/collection/components/scroll-area/seki-scroll-bar.js +5 -1
  174. package/dist/collection/components/select/seki-select.js +77 -30
  175. package/dist/collection/components/select-option/seki-select-option.js +29 -13
  176. package/dist/collection/components/sidebar/seki-sidebar-menu-sub.js +17 -16
  177. package/dist/collection/components/sidebar/seki-sidebar-provider.js +13 -4
  178. package/dist/collection/components/sidebar/seki-sidebar-rail.css +6 -6
  179. package/dist/collection/components/sidebar/seki-sidebar-rail.js +6 -1
  180. package/dist/collection/components/slider/seki-slider.js +36 -2
  181. package/dist/collection/components/spinner/seki-spinner.js +2 -2
  182. package/dist/collection/components/table/seki-table-body.js +1 -1
  183. package/dist/collection/components/table/seki-table-caption.js +1 -1
  184. package/dist/collection/components/table/seki-table-footer.js +1 -1
  185. package/dist/collection/components/table/seki-table-header.js +1 -1
  186. package/dist/collection/components/table/seki-table-row.js +2 -2
  187. package/dist/collection/components/table/seki-table.js +1 -1
  188. package/dist/collection/components/tabs/seki-tabs-content.js +12 -10
  189. package/dist/collection/components/tabs/seki-tabs-list.js +2 -2
  190. package/dist/collection/components/tabs/seki-tabs-trigger.js +12 -10
  191. package/dist/collection/components/tabs/seki-tabs.js +2 -2
  192. package/dist/collection/components/textarea/seki-textarea.js +1 -1
  193. package/dist/collection/components/toggle/seki-toggle.js +1 -1
  194. package/dist/collection/components/toggle-group/seki-toggle-group.js +1 -1
  195. package/dist/collection/components/tooltip/seki-tooltip.js +16 -3
  196. package/dist/collection/utils/ancestor-attrs.js +43 -0
  197. package/dist/collection/utils/calendar/date-utils.js +12 -4
  198. package/dist/collection/utils/dialog/focus-trap.js +110 -21
  199. package/dist/collection/utils/positioning.js +61 -0
  200. package/dist/components/p-BgtjDG0h.js +45 -0
  201. package/dist/components/{p-tgCyk_Am.js → p-C87BOunl.js} +18 -3
  202. package/dist/components/p-D50kwTtW.js +160 -0
  203. package/dist/components/{p-DKbSEP4m.js → p-DFfIiiRa.js} +25 -8
  204. package/dist/components/p-DuJp0Kp6.js +63 -0
  205. package/dist/components/seki-accordion-content.js +10 -8
  206. package/dist/components/seki-accordion-item.js +12 -10
  207. package/dist/components/seki-accordion-trigger.js +12 -10
  208. package/dist/components/seki-alert-dialog-action.js +1 -1
  209. package/dist/components/seki-alert-dialog-cancel.js +1 -1
  210. package/dist/components/seki-alert-dialog-content.js +23 -21
  211. package/dist/components/seki-alert-dialog.js +1 -1
  212. package/dist/components/seki-button.js +1 -1
  213. package/dist/components/seki-calendar.js +1 -1
  214. package/dist/components/seki-carousel-dots.js +3 -3
  215. package/dist/components/seki-carousel-next.js +3 -3
  216. package/dist/components/seki-carousel-previous.js +3 -3
  217. package/dist/components/seki-carousel.js +22 -4
  218. package/dist/components/seki-collapsible-content.js +9 -5
  219. package/dist/components/seki-combobox-item.js +9 -2
  220. package/dist/components/seki-command-group.js +9 -7
  221. package/dist/components/seki-context-menu-content.js +17 -15
  222. package/dist/components/seki-context-menu.js +11 -2
  223. package/dist/components/seki-data-table.js +19 -16
  224. package/dist/components/seki-date-picker.js +1 -1
  225. package/dist/components/seki-dialog-content.js +23 -21
  226. package/dist/components/seki-dialog-overlay.js +10 -8
  227. package/dist/components/seki-dialog.js +1 -1
  228. package/dist/components/seki-dropdown-menu-content.js +23 -68
  229. package/dist/components/seki-dropdown-menu-radio.js +11 -9
  230. package/dist/components/seki-dropdown-menu-trigger.js +11 -9
  231. package/dist/components/seki-dropdown-menu.js +11 -2
  232. package/dist/components/seki-menubar-content.js +24 -42
  233. package/dist/components/seki-menubar-radio.js +11 -9
  234. package/dist/components/seki-menubar-trigger.js +12 -10
  235. package/dist/components/seki-menubar.js +11 -2
  236. package/dist/components/seki-navigation-menu-content.js +8 -3
  237. package/dist/components/seki-navigation-menu-item.js +2 -2
  238. package/dist/components/seki-navigation-menu-link.js +8 -3
  239. package/dist/components/seki-navigation-menu-list.js +7 -2
  240. package/dist/components/seki-navigation-menu-trigger.js +3 -3
  241. package/dist/components/seki-navigation-menu.js +5 -5
  242. package/dist/components/seki-popover-content.js +20 -65
  243. package/dist/components/seki-popover.js +13 -3
  244. package/dist/components/seki-scroll-bar.js +6 -2
  245. package/dist/components/seki-select-option.js +29 -13
  246. package/dist/components/seki-select.js +79 -33
  247. package/dist/components/seki-sidebar-menu-sub.js +17 -16
  248. package/dist/components/seki-sidebar-provider.js +13 -4
  249. package/dist/components/seki-sidebar-rail.js +7 -2
  250. package/dist/components/seki-slider.js +36 -4
  251. package/dist/components/seki-spinner.js +2 -2
  252. package/dist/components/seki-table-body.js +1 -1
  253. package/dist/components/seki-table-caption.js +1 -1
  254. package/dist/components/seki-table-footer.js +1 -1
  255. package/dist/components/seki-table-header.js +1 -1
  256. package/dist/components/seki-table-row.js +2 -2
  257. package/dist/components/seki-table.js +1 -1
  258. package/dist/components/seki-tabs-content.js +12 -10
  259. package/dist/components/seki-tabs-list.js +2 -2
  260. package/dist/components/seki-tabs-trigger.js +12 -10
  261. package/dist/components/seki-tabs.js +2 -2
  262. package/dist/components/seki-textarea.js +1 -1
  263. package/dist/components/seki-toggle-group.js +1 -1
  264. package/dist/components/seki-toggle.js +1 -1
  265. package/dist/components/seki-tooltip.js +16 -3
  266. package/dist/esm/ancestor-attrs-BgtjDG0h.js +45 -0
  267. package/dist/esm/focus-trap-D50kwTtW.js +160 -0
  268. package/dist/esm/loader.js +1 -1
  269. package/dist/esm/positioning-DuJp0Kp6.js +63 -0
  270. package/dist/esm/seki-accordion-content.entry.js +10 -8
  271. package/dist/esm/seki-accordion-item.entry.js +12 -10
  272. package/dist/esm/seki-accordion-trigger.entry.js +12 -10
  273. package/dist/esm/seki-alert-dialog-action.entry.js +1 -1
  274. package/dist/esm/seki-alert-dialog-cancel.entry.js +1 -1
  275. package/dist/esm/seki-alert-dialog-content.entry.js +23 -21
  276. package/dist/esm/seki-button.entry.js +1 -1
  277. package/dist/esm/seki-calendar.entry.js +25 -8
  278. package/dist/esm/seki-carousel-dots.entry.js +3 -3
  279. package/dist/esm/seki-carousel-next.entry.js +3 -3
  280. package/dist/esm/seki-carousel-previous.entry.js +3 -3
  281. package/dist/esm/seki-carousel.entry.js +22 -4
  282. package/dist/esm/seki-collapsible-content.entry.js +9 -5
  283. package/dist/esm/seki-combobox-item.entry.js +9 -2
  284. package/dist/esm/seki-command-group.entry.js +9 -7
  285. package/dist/esm/seki-context-menu-content.entry.js +17 -15
  286. package/dist/esm/seki-context-menu.entry.js +11 -2
  287. package/dist/esm/seki-data-table.entry.js +19 -16
  288. package/dist/esm/seki-dialog-content.entry.js +23 -21
  289. package/dist/esm/seki-dialog-overlay.entry.js +10 -8
  290. package/dist/esm/seki-dialog.entry.js +15 -2
  291. package/dist/esm/seki-dropdown-menu-content.entry.js +23 -68
  292. package/dist/esm/seki-dropdown-menu-radio.entry.js +11 -9
  293. package/dist/esm/seki-dropdown-menu-trigger.entry.js +11 -9
  294. package/dist/esm/seki-dropdown-menu.entry.js +11 -2
  295. package/dist/esm/seki-menubar-content.entry.js +24 -42
  296. package/dist/esm/seki-menubar-radio.entry.js +11 -9
  297. package/dist/esm/seki-menubar-trigger.entry.js +12 -10
  298. package/dist/esm/seki-menubar.entry.js +11 -2
  299. package/dist/esm/seki-navigation-menu-content.entry.js +8 -3
  300. package/dist/esm/seki-navigation-menu-item.entry.js +2 -2
  301. package/dist/esm/seki-navigation-menu-link.entry.js +8 -3
  302. package/dist/esm/seki-navigation-menu-list.entry.js +7 -2
  303. package/dist/esm/seki-navigation-menu-trigger.entry.js +3 -3
  304. package/dist/esm/seki-navigation-menu.entry.js +5 -5
  305. package/dist/esm/seki-popover-content.entry.js +20 -65
  306. package/dist/esm/seki-popover.entry.js +13 -3
  307. package/dist/esm/seki-scroll-bar.entry.js +6 -2
  308. package/dist/esm/seki-select-option.entry.js +29 -13
  309. package/dist/esm/seki-select.entry.js +81 -30
  310. package/dist/esm/seki-sidebar-menu-sub.entry.js +17 -16
  311. package/dist/esm/seki-sidebar-provider.entry.js +13 -4
  312. package/dist/esm/seki-sidebar-rail.entry.js +7 -2
  313. package/dist/esm/seki-slider.entry.js +36 -1
  314. package/dist/esm/seki-spinner.entry.js +2 -2
  315. package/dist/esm/seki-table-body.entry.js +1 -1
  316. package/dist/esm/seki-table-caption.entry.js +1 -1
  317. package/dist/esm/seki-table-footer.entry.js +1 -1
  318. package/dist/esm/seki-table-header.entry.js +1 -1
  319. package/dist/esm/seki-table-row.entry.js +2 -2
  320. package/dist/esm/seki-table.entry.js +1 -1
  321. package/dist/esm/seki-tabs-content.entry.js +12 -10
  322. package/dist/esm/seki-tabs-list.entry.js +2 -2
  323. package/dist/esm/seki-tabs-trigger.entry.js +12 -10
  324. package/dist/esm/seki-tabs.entry.js +2 -2
  325. package/dist/esm/seki-textarea.entry.js +1 -1
  326. package/dist/esm/seki-toggle-group.entry.js +1 -1
  327. package/dist/esm/seki-toggle.entry.js +1 -1
  328. package/dist/esm/seki-tooltip.entry.js +16 -3
  329. package/dist/esm/sekiui.js +1 -1
  330. package/dist/sekiui/{p-40458a33.entry.js → p-01420aec.entry.js} +1 -1
  331. package/dist/sekiui/{p-9643e1d8.entry.js → p-021cb880.entry.js} +1 -1
  332. package/dist/sekiui/p-0ab43c7f.entry.js +1 -0
  333. package/dist/sekiui/p-14b6774a.entry.js +1 -0
  334. package/dist/sekiui/{p-d02efcf2.entry.js → p-1b8d2288.entry.js} +1 -1
  335. package/dist/sekiui/{p-67fffcd0.entry.js → p-1eb709fb.entry.js} +1 -1
  336. package/dist/sekiui/{p-24ea0d3d.entry.js → p-2de73747.entry.js} +1 -1
  337. package/dist/sekiui/p-32569d7d.entry.js +1 -0
  338. package/dist/sekiui/p-367d9a7f.entry.js +1 -0
  339. package/dist/sekiui/p-40c40d4f.entry.js +1 -0
  340. package/dist/sekiui/p-4572d290.entry.js +1 -0
  341. package/dist/sekiui/p-49024e9e.entry.js +1 -0
  342. package/dist/sekiui/{p-0c2344d1.entry.js → p-4bf8c2fa.entry.js} +1 -1
  343. package/dist/sekiui/p-4e60d2d0.entry.js +1 -0
  344. package/dist/sekiui/{p-5a853b23.entry.js → p-51b11242.entry.js} +1 -1
  345. package/dist/sekiui/{p-541f1dbb.entry.js → p-57e7685a.entry.js} +1 -1
  346. package/dist/sekiui/p-677a1751.entry.js +1 -0
  347. package/dist/sekiui/{p-66b1c2ac.entry.js → p-695a4986.entry.js} +1 -1
  348. package/dist/sekiui/p-71f6da8b.entry.js +1 -0
  349. package/dist/sekiui/{p-96073eae.entry.js → p-75d46bc7.entry.js} +1 -1
  350. package/dist/sekiui/p-7cd76bbb.entry.js +1 -0
  351. package/dist/sekiui/p-80b79cc0.entry.js +1 -0
  352. package/dist/sekiui/p-835f723b.entry.js +1 -0
  353. package/dist/sekiui/p-851d1c50.entry.js +1 -0
  354. package/dist/sekiui/{p-b664489e.entry.js → p-887b559d.entry.js} +1 -1
  355. package/dist/sekiui/{p-7bf379c4.entry.js → p-8c369957.entry.js} +1 -1
  356. package/dist/sekiui/{p-41f5488e.entry.js → p-8c57364a.entry.js} +1 -1
  357. package/dist/sekiui/p-8d888e3d.entry.js +1 -0
  358. package/dist/sekiui/{p-4c1b29de.entry.js → p-92b0241d.entry.js} +1 -1
  359. package/dist/sekiui/{p-fc6d6133.entry.js → p-966b2358.entry.js} +1 -1
  360. package/dist/sekiui/p-9a00c59c.entry.js +1 -0
  361. package/dist/sekiui/{p-b14ba603.entry.js → p-9af630c4.entry.js} +1 -1
  362. package/dist/sekiui/p-BgtjDG0h.js +1 -0
  363. package/dist/sekiui/p-D50kwTtW.js +1 -0
  364. package/dist/sekiui/p-DuJp0Kp6.js +1 -0
  365. package/dist/sekiui/p-a29160bc.entry.js +1 -0
  366. package/dist/sekiui/p-a6ae5c4b.entry.js +1 -0
  367. package/dist/sekiui/{p-c1bf976b.entry.js → p-b0d1e077.entry.js} +1 -1
  368. package/dist/sekiui/{p-73cbd067.entry.js → p-b2a60e91.entry.js} +1 -1
  369. package/dist/sekiui/{p-a5edaf79.entry.js → p-b43f9720.entry.js} +1 -1
  370. package/dist/sekiui/p-b5c242a0.entry.js +1 -0
  371. package/dist/sekiui/{p-d5b616c5.entry.js → p-bac67676.entry.js} +1 -1
  372. package/dist/sekiui/p-bc611a3d.entry.js +1 -0
  373. package/dist/sekiui/p-c004f467.entry.js +1 -0
  374. package/dist/sekiui/{p-41fae140.entry.js → p-cb657adb.entry.js} +1 -1
  375. package/dist/sekiui/{p-fa9a68be.entry.js → p-cfac56e7.entry.js} +1 -1
  376. package/dist/sekiui/{p-bf52433b.entry.js → p-d1a06cbc.entry.js} +1 -1
  377. package/dist/sekiui/p-d1f6efac.entry.js +1 -0
  378. package/dist/sekiui/{p-67aaf0f1.entry.js → p-d4ed816d.entry.js} +1 -1
  379. package/dist/sekiui/p-eaf626e5.entry.js +1 -0
  380. package/dist/sekiui/p-ed9034e4.entry.js +1 -0
  381. package/dist/sekiui/p-edd02332.entry.js +1 -0
  382. package/dist/sekiui/{p-bd9d106a.entry.js → p-ee40575b.entry.js} +1 -1
  383. package/dist/sekiui/{p-8344563b.entry.js → p-ef3679b0.entry.js} +1 -1
  384. package/dist/sekiui/p-f07b430e.entry.js +1 -0
  385. package/dist/sekiui/p-f3c69359.entry.js +1 -0
  386. package/dist/sekiui/p-f53b37e2.entry.js +1 -0
  387. package/dist/sekiui/p-f587cd57.entry.js +1 -0
  388. package/dist/sekiui/p-f7e1fdf0.entry.js +1 -0
  389. package/dist/sekiui/p-fb1370a9.entry.js +1 -0
  390. package/dist/sekiui/p-fde2877f.entry.js +1 -0
  391. package/dist/sekiui/p-fed3a547.entry.js +1 -0
  392. package/dist/sekiui/sekiui.esm.js +1 -1
  393. package/dist/types/components/accordion/seki-accordion-content.d.ts +2 -0
  394. package/dist/types/components/accordion/seki-accordion-item.d.ts +2 -0
  395. package/dist/types/components/accordion/seki-accordion-trigger.d.ts +2 -0
  396. package/dist/types/components/alert-dialog/seki-alert-dialog-content.d.ts +2 -0
  397. package/dist/types/components/carousel/seki-carousel.d.ts +3 -0
  398. package/dist/types/components/collapsible/seki-collapsible-content.d.ts +2 -0
  399. package/dist/types/components/combobox-item/seki-combobox-item.d.ts +1 -0
  400. package/dist/types/components/command/seki-command-group.d.ts +2 -0
  401. package/dist/types/components/context-menu/seki-context-menu-content.d.ts +2 -0
  402. package/dist/types/components/context-menu/seki-context-menu.d.ts +1 -0
  403. package/dist/types/components/dialog/seki-dialog-content.d.ts +2 -0
  404. package/dist/types/components/dialog/seki-dialog-overlay.d.ts +2 -0
  405. package/dist/types/components/dialog/seki-dialog.d.ts +1 -0
  406. package/dist/types/components/dropdown-menu/seki-dropdown-menu-content.d.ts +2 -0
  407. package/dist/types/components/dropdown-menu/seki-dropdown-menu-radio.d.ts +2 -0
  408. package/dist/types/components/dropdown-menu/seki-dropdown-menu-trigger.d.ts +2 -0
  409. package/dist/types/components/dropdown-menu/seki-dropdown-menu.d.ts +1 -0
  410. package/dist/types/components/menubar/seki-menubar-content.d.ts +2 -0
  411. package/dist/types/components/menubar/seki-menubar-radio.d.ts +2 -0
  412. package/dist/types/components/menubar/seki-menubar-trigger.d.ts +2 -0
  413. package/dist/types/components/menubar/seki-menubar.d.ts +1 -0
  414. package/dist/types/components/navigation-menu/seki-navigation-menu-content.d.ts +1 -0
  415. package/dist/types/components/navigation-menu/seki-navigation-menu-link.d.ts +1 -0
  416. package/dist/types/components/navigation-menu/seki-navigation-menu-list.d.ts +1 -0
  417. package/dist/types/components/popover/seki-popover-content.d.ts +2 -0
  418. package/dist/types/components/popover/seki-popover.d.ts +1 -0
  419. package/dist/types/components/scroll-area/seki-scroll-bar.d.ts +1 -0
  420. package/dist/types/components/select/seki-select.d.ts +8 -1
  421. package/dist/types/components/select-option/seki-select-option.d.ts +3 -1
  422. package/dist/types/components/sidebar/seki-sidebar-menu-sub.d.ts +2 -0
  423. package/dist/types/components/sidebar/seki-sidebar-rail.d.ts +1 -0
  424. package/dist/types/components/slider/seki-slider.d.ts +9 -0
  425. package/dist/types/components/tabs/seki-tabs-content.d.ts +2 -0
  426. package/dist/types/components/tabs/seki-tabs-trigger.d.ts +2 -0
  427. package/dist/types/components/tooltip/seki-tooltip.d.ts +1 -0
  428. package/dist/types/components.d.ts +32 -32
  429. package/dist/types/utils/ancestor-attrs.d.ts +18 -0
  430. package/dist/types/utils/calendar/date-utils.d.ts +9 -0
  431. package/dist/types/utils/dialog/focus-trap.d.ts +18 -7
  432. package/dist/types/utils/positioning.d.ts +34 -0
  433. package/package.json +25 -2
  434. package/dist/cdn/p-CP7ZtKCE.js +0 -71
  435. package/dist/cjs/focus-trap-C7ukllRZ.js +0 -76
  436. package/dist/components/p-CP7ZtKCE.js +0 -71
  437. package/dist/esm/focus-trap-CP7ZtKCE.js +0 -71
  438. package/dist/sekiui/p-107bdce6.entry.js +0 -1
  439. package/dist/sekiui/p-2548d7c3.entry.js +0 -1
  440. package/dist/sekiui/p-307a0de3.entry.js +0 -1
  441. package/dist/sekiui/p-397fb20e.entry.js +0 -1
  442. package/dist/sekiui/p-3e01b3c9.entry.js +0 -1
  443. package/dist/sekiui/p-4617d9c5.entry.js +0 -1
  444. package/dist/sekiui/p-4896a497.entry.js +0 -1
  445. package/dist/sekiui/p-4a47ea19.entry.js +0 -1
  446. package/dist/sekiui/p-4b0ee9e5.entry.js +0 -1
  447. package/dist/sekiui/p-598f9c5b.entry.js +0 -1
  448. package/dist/sekiui/p-635ca5ab.entry.js +0 -1
  449. package/dist/sekiui/p-63b3a53c.entry.js +0 -1
  450. package/dist/sekiui/p-63ffc38a.entry.js +0 -1
  451. package/dist/sekiui/p-6416552b.entry.js +0 -1
  452. package/dist/sekiui/p-66b59a4c.entry.js +0 -1
  453. package/dist/sekiui/p-70f149c3.entry.js +0 -1
  454. package/dist/sekiui/p-79062829.entry.js +0 -1
  455. package/dist/sekiui/p-7bf7ee5f.entry.js +0 -1
  456. package/dist/sekiui/p-8067a8f3.entry.js +0 -1
  457. package/dist/sekiui/p-884bde18.entry.js +0 -1
  458. package/dist/sekiui/p-91d532fa.entry.js +0 -1
  459. package/dist/sekiui/p-95749f03.entry.js +0 -1
  460. package/dist/sekiui/p-9d5b807f.entry.js +0 -1
  461. package/dist/sekiui/p-CP7ZtKCE.js +0 -1
  462. package/dist/sekiui/p-ac321aeb.entry.js +0 -1
  463. package/dist/sekiui/p-adc3cfff.entry.js +0 -1
  464. package/dist/sekiui/p-b945fc54.entry.js +0 -1
  465. package/dist/sekiui/p-bdb2d304.entry.js +0 -1
  466. package/dist/sekiui/p-c0ce45c3.entry.js +0 -1
  467. package/dist/sekiui/p-d2951ab4.entry.js +0 -1
  468. package/dist/sekiui/p-db37e4d2.entry.js +0 -1
  469. package/dist/sekiui/p-e51d76de.entry.js +0 -1
  470. package/dist/sekiui/p-f0bb516d.entry.js +0 -1
  471. package/dist/sekiui/p-f82ead84.entry.js +0 -1
@@ -9,6 +9,8 @@ import { EventEmitter } from '../../stencil-public-runtime';
9
9
  export declare class SekiDropdownMenuTrigger {
10
10
  el: HTMLElement;
11
11
  _isOpen: boolean;
12
+ private menuEl?;
13
+ private onMenuOpenChange;
12
14
  triggerClick: EventEmitter<void>;
13
15
  private getContext;
14
16
  componentDidLoad(): void;
@@ -54,6 +54,7 @@ export declare class SekiDropdownMenu {
54
54
  */
55
55
  sekiSelect: EventEmitter<string>;
56
56
  private clickOutsideHandler?;
57
+ private clickOutsideTimeout?;
57
58
  componentWillLoad(): void;
58
59
  openChanged(newValue: boolean): void;
59
60
  /**
@@ -29,6 +29,8 @@ export declare class SekiMenubarContent {
29
29
  _focusedIndex: number;
30
30
  private typeaheadBuffer;
31
31
  private typeaheadTimer?;
32
+ private menubarEl?;
33
+ private onMenubarOpenChange;
32
34
  private getMenubarContext;
33
35
  private getMenuId;
34
36
  private getMenuItems;
@@ -18,6 +18,8 @@ export declare class SekiMenubarRadio {
18
18
  */
19
19
  disabled: boolean;
20
20
  _isChecked: boolean;
21
+ private radioGroupEl?;
22
+ private onRadioGroupValueChange;
21
23
  /**
22
24
  * Emitted when radio is selected
23
25
  */
@@ -12,6 +12,8 @@ export declare class SekiMenubarTrigger {
12
12
  */
13
13
  disabled: boolean;
14
14
  _isOpen: boolean;
15
+ private menubarEl?;
16
+ private onMenubarOpenChange;
15
17
  private getContext;
16
18
  private getMenuId;
17
19
  componentDidLoad(): void;
@@ -24,6 +24,7 @@ export declare class SekiMenubar {
24
24
  */
25
25
  sekiOpenChange: EventEmitter<string | null>;
26
26
  private clickOutsideHandler?;
27
+ private clickOutsideTimeout?;
27
28
  /**
28
29
  * Context for child components
29
30
  */
@@ -16,6 +16,7 @@ export declare class SekiNavigationMenuContent {
16
16
  private parentMenu?;
17
17
  componentWillLoad(): void;
18
18
  componentDidLoad(): void;
19
+ private itemAttrMirror?;
19
20
  connectedCallback(): void;
20
21
  disconnectedCallback(): void;
21
22
  onOpenChange(newValue: boolean): void;
@@ -17,6 +17,7 @@ export declare class SekiNavigationMenuLink {
17
17
  private checkIfInContent;
18
18
  private handleClick;
19
19
  private handleKeyDown;
20
+ private attrMirror?;
20
21
  connectedCallback(): void;
21
22
  disconnectedCallback(): void;
22
23
  render(): any;
@@ -4,6 +4,7 @@ export declare class SekiNavigationMenuList {
4
4
  isMobile: boolean;
5
5
  /** Current focused trigger index */
6
6
  private focusedIndex;
7
+ private attrMirror?;
7
8
  componentDidLoad(): void;
8
9
  connectedCallback(): void;
9
10
  disconnectedCallback(): void;
@@ -9,6 +9,8 @@ import type { PopoverSide, PopoverAlign } from './seki-popover';
9
9
  export declare class SekiPopoverContent {
10
10
  el: HTMLElement;
11
11
  private contentRef?;
12
+ private popoverEl?;
13
+ private onPopoverOpenChange;
12
14
  /**
13
15
  * Override side from parent
14
16
  */
@@ -58,6 +58,7 @@ export declare class SekiPopover {
58
58
  */
59
59
  sekiOpenChange: EventEmitter<boolean>;
60
60
  private clickOutsideHandler?;
61
+ private clickOutsideTimeout?;
61
62
  componentWillLoad(): void;
62
63
  openChanged(newValue: boolean): void;
63
64
  /**
@@ -17,6 +17,7 @@ export declare class SekiScrollBar {
17
17
  private resizeObserver?;
18
18
  private scrollAreaRef?;
19
19
  private scrollHandler;
20
+ private attrMirror?;
20
21
  /**
21
22
  * Scrollbar orientation
22
23
  */
@@ -5,6 +5,7 @@ import type { SelectValue, SelectChangeEventDetail, SelectOpenChangeEventDetail,
5
5
  */
6
6
  export declare class SekiSelect {
7
7
  el: HTMLElement;
8
+ internals: ElementInternals;
8
9
  /** Current selected value (controlled mode) */
9
10
  value?: SelectValue;
10
11
  /** Initial selected value (uncontrolled mode) */
@@ -62,7 +63,14 @@ export declare class SekiSelect {
62
63
  handleOpenPropChange(newOpen: boolean): void;
63
64
  handleIsOpenChange(): void;
64
65
  handleInternalValueChange(): void;
66
+ handleDisabledChange(): void;
65
67
  private updateContextOnElement;
68
+ /**
69
+ * Mirror the current selection into the associated form via ElementInternals.
70
+ * Replaces the previous hidden native control, which lived inside the shadow
71
+ * root and therefore never participated in form submission.
72
+ */
73
+ private syncFormValue;
66
74
  private handleClickOutside;
67
75
  /** Programmatically open the dropdown */
68
76
  openDropdown(): Promise<void>;
@@ -89,5 +97,4 @@ export declare class SekiSelect {
89
97
  handleValidate: (valid: boolean, errorMessage?: string) => void;
90
98
  get selectContext(): SelectContext;
91
99
  render(): any;
92
- private renderHiddenNativeElement;
93
100
  }
@@ -19,10 +19,12 @@ export declare class SekiSelectOption {
19
19
  sekiOptionFocus: EventEmitter<{
20
20
  value: string | number;
21
21
  }>;
22
- private optionId;
22
+ private get optionId();
23
+ private hasRegistered;
23
24
  componentDidLoad(): void;
24
25
  connectedCallback(): void;
25
26
  disconnectedCallback(): void;
27
+ private registerWithParent;
26
28
  private handleOptionClick;
27
29
  private handleOptionFocus;
28
30
  private handleOptionKeyDown;
@@ -12,7 +12,9 @@ export declare class SekiSidebarMenuSub {
12
12
  _open: boolean;
13
13
  componentWillLoad(): void;
14
14
  openChanged(newValue: boolean): void;
15
+ private triggerSlotEl?;
15
16
  private handleTriggerClick;
17
+ private onTriggerSlotChange;
16
18
  componentDidLoad(): void;
17
19
  connectedCallback(): void;
18
20
  disconnectedCallback(): void;
@@ -1,5 +1,6 @@
1
1
  export declare class SekiSidebarRail {
2
2
  el: HTMLElement;
3
+ private attrMirror?;
3
4
  private handleClick;
4
5
  connectedCallback(): void;
5
6
  disconnectedCallback(): void;
@@ -10,6 +10,7 @@ import { EventEmitter } from '../../stencil-public-runtime';
10
10
  */
11
11
  export declare class SekiSlider {
12
12
  el: HTMLElement;
13
+ internals: ElementInternals;
13
14
  private trackEl?;
14
15
  private thumbEl?;
15
16
  private isDragging;
@@ -70,6 +71,14 @@ export declare class SekiSlider {
70
71
  value: number;
71
72
  }>;
72
73
  componentWillLoad(): void;
74
+ handleValueChange(): void;
75
+ handleDisabledChange(): void;
76
+ /**
77
+ * Mirror the current value into the associated form via ElementInternals.
78
+ * Replaces the previous hidden input, which lived inside the shadow root and
79
+ * therefore never participated in form submission.
80
+ */
81
+ private syncFormValue;
73
82
  /**
74
83
  * Get current value (controlled vs uncontrolled), clamped to valid range
75
84
  */
@@ -14,6 +14,8 @@ export declare class SekiTabsContent {
14
14
  */
15
15
  value: string;
16
16
  _isSelected: boolean;
17
+ private tabsEl?;
18
+ private onTabsValueChange;
17
19
  constructor();
18
20
  private getContext;
19
21
  private get panelId();
@@ -18,6 +18,8 @@ export declare class SekiTabsTrigger {
18
18
  */
19
19
  disabled: boolean;
20
20
  _isSelected: boolean;
21
+ private tabsEl?;
22
+ private onTabsValueChange;
21
23
  constructor();
22
24
  private getContext;
23
25
  private get panelId();
@@ -78,6 +78,7 @@ export declare class SekiTooltip {
78
78
  private longPressTimer;
79
79
  private touchStartX;
80
80
  private touchStartY;
81
+ private hasLoaded;
81
82
  /**
82
83
  * Show tooltip programmatically
83
84
  * @returns Promise resolves when tooltip is visible
@@ -4448,7 +4448,7 @@ declare global {
4448
4448
  new (): HTMLSekiCardTitleElement;
4449
4449
  };
4450
4450
  interface HTMLSekiCarouselElementEventMap {
4451
- "seki-slide-change": { index: number; total: number };
4451
+ "sekiSlideChange": { index: number; total: number };
4452
4452
  }
4453
4453
  interface HTMLSekiCarouselElement extends Components.SekiCarousel, HTMLStencilElement {
4454
4454
  addEventListener<K extends keyof HTMLSekiCarouselElementEventMap>(type: K, listener: (this: HTMLSekiCarouselElement, ev: SekiCarouselCustomEvent<HTMLSekiCarouselElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -4802,15 +4802,15 @@ declare global {
4802
4802
  new (): HTMLSekiContextMenuTriggerElement;
4803
4803
  };
4804
4804
  interface HTMLSekiDataTableElementEventMap {
4805
- "seki-selection-change": SelectionChangeDetail;
4806
- "seki-row-expand": RowExpandDetail;
4807
- "seki-row-click": RowClickDetail;
4808
- "seki-column-resize": ColumnResizeDetail;
4809
- "seki-column-reorder": ColumnReorderDetail;
4810
- "seki-columns-change": ColumnsChangeDetail;
4811
- "seki-sort-change": SortChangeDetail;
4812
- "seki-filter-change": FilterChangeDetail;
4813
- "seki-page-change": PageChangeDetail;
4805
+ "sekiSelectionChange": SelectionChangeDetail;
4806
+ "sekiRowExpand": RowExpandDetail;
4807
+ "sekiRowClick": RowClickDetail;
4808
+ "sekiColumnResize": ColumnResizeDetail;
4809
+ "sekiColumnReorder": ColumnReorderDetail;
4810
+ "sekiColumnsChange": ColumnsChangeDetail;
4811
+ "sekiSortChange": SortChangeDetail;
4812
+ "sekiFilterChange": FilterChangeDetail;
4813
+ "sekiPageChange": PageChangeDetail;
4814
4814
  }
4815
4815
  interface HTMLSekiDataTableElement extends Components.SekiDataTable, HTMLStencilElement {
4816
4816
  addEventListener<K extends keyof HTMLSekiDataTableElementEventMap>(type: K, listener: (this: HTMLSekiDataTableElement, ev: SekiDataTableCustomEvent<HTMLSekiDataTableElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -5706,9 +5706,9 @@ declare global {
5706
5706
  new (): HTMLSekiNativeSelectElement;
5707
5707
  };
5708
5708
  interface HTMLSekiNavigationMenuElementEventMap {
5709
- "seki-menu-open": { triggerId: string };
5710
- "seki-menu-close": { triggerId: string };
5711
- "seki-mobile-toggle": { open: boolean };
5709
+ "sekiMenuOpen": { triggerId: string };
5710
+ "sekiMenuClose": { triggerId: string };
5711
+ "sekiMobileToggle": { open: boolean };
5712
5712
  }
5713
5713
  interface HTMLSekiNavigationMenuElement extends Components.SekiNavigationMenu, HTMLStencilElement {
5714
5714
  addEventListener<K extends keyof HTMLSekiNavigationMenuElementEventMap>(type: K, listener: (this: HTMLSekiNavigationMenuElement, ev: SekiNavigationMenuCustomEvent<HTMLSekiNavigationMenuElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -5749,7 +5749,7 @@ declare global {
5749
5749
  new (): HTMLSekiNavigationMenuListElement;
5750
5750
  };
5751
5751
  interface HTMLSekiNavigationMenuTriggerElementEventMap {
5752
- "seki-trigger-activate": { itemId: string };
5752
+ "sekiTriggerActivate": { itemId: string };
5753
5753
  }
5754
5754
  interface HTMLSekiNavigationMenuTriggerElement extends Components.SekiNavigationMenuTrigger, HTMLStencilElement {
5755
5755
  addEventListener<K extends keyof HTMLSekiNavigationMenuTriggerElementEventMap>(type: K, listener: (this: HTMLSekiNavigationMenuTriggerElement, ev: SekiNavigationMenuTriggerCustomEvent<HTMLSekiNavigationMenuTriggerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -6373,7 +6373,7 @@ declare global {
6373
6373
  new (): HTMLSekiSidebarMenuSkeletonElement;
6374
6374
  };
6375
6375
  interface HTMLSekiSidebarMenuSubElementEventMap {
6376
- "openChange": boolean;
6376
+ "sekiOpenChange": boolean;
6377
6377
  }
6378
6378
  interface HTMLSekiSidebarMenuSubElement extends Components.SekiSidebarMenuSub, HTMLStencilElement {
6379
6379
  addEventListener<K extends keyof HTMLSekiSidebarMenuSubElementEventMap>(type: K, listener: (this: HTMLSekiSidebarMenuSubElement, ev: SekiSidebarMenuSubCustomEvent<HTMLSekiSidebarMenuSubElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -6402,7 +6402,7 @@ declare global {
6402
6402
  new (): HTMLSekiSidebarMenuSubItemElement;
6403
6403
  };
6404
6404
  interface HTMLSekiSidebarProviderElementEventMap {
6405
- "openChange": boolean;
6405
+ "sekiOpenChange": boolean;
6406
6406
  "sekiSidebarStateChange": SidebarStateChangeDetail;
6407
6407
  }
6408
6408
  interface HTMLSekiSidebarProviderElement extends Components.SekiSidebarProvider, HTMLStencilElement {
@@ -7587,7 +7587,7 @@ declare namespace LocalJSX {
7587
7587
  /**
7588
7588
  * Emitted when the selected slide changes
7589
7589
  */
7590
- "onSeki-slide-change"?: (event: SekiCarouselCustomEvent<{ index: number; total: number }>) => void;
7590
+ "onSekiSlideChange"?: (event: SekiCarouselCustomEvent<{ index: number; total: number }>) => void;
7591
7591
  /**
7592
7592
  * Pause autoplay on hover
7593
7593
  * @default true
@@ -8117,39 +8117,39 @@ declare namespace LocalJSX {
8117
8117
  /**
8118
8118
  * Emitted when columns are reordered
8119
8119
  */
8120
- "onSeki-column-reorder"?: (event: SekiDataTableCustomEvent<ColumnReorderDetail>) => void;
8120
+ "onSekiColumnReorder"?: (event: SekiDataTableCustomEvent<ColumnReorderDetail>) => void;
8121
8121
  /**
8122
8122
  * Emitted when a column is resized
8123
8123
  */
8124
- "onSeki-column-resize"?: (event: SekiDataTableCustomEvent<ColumnResizeDetail>) => void;
8124
+ "onSekiColumnResize"?: (event: SekiDataTableCustomEvent<ColumnResizeDetail>) => void;
8125
8125
  /**
8126
8126
  * Emitted when column visibility/order changes
8127
8127
  */
8128
- "onSeki-columns-change"?: (event: SekiDataTableCustomEvent<ColumnsChangeDetail>) => void;
8128
+ "onSekiColumnsChange"?: (event: SekiDataTableCustomEvent<ColumnsChangeDetail>) => void;
8129
8129
  /**
8130
8130
  * Emitted when filters change
8131
8131
  */
8132
- "onSeki-filter-change"?: (event: SekiDataTableCustomEvent<FilterChangeDetail>) => void;
8132
+ "onSekiFilterChange"?: (event: SekiDataTableCustomEvent<FilterChangeDetail>) => void;
8133
8133
  /**
8134
8134
  * Emitted when page/page size changes
8135
8135
  */
8136
- "onSeki-page-change"?: (event: SekiDataTableCustomEvent<PageChangeDetail>) => void;
8136
+ "onSekiPageChange"?: (event: SekiDataTableCustomEvent<PageChangeDetail>) => void;
8137
8137
  /**
8138
8138
  * Emitted when a row is clicked
8139
8139
  */
8140
- "onSeki-row-click"?: (event: SekiDataTableCustomEvent<RowClickDetail>) => void;
8140
+ "onSekiRowClick"?: (event: SekiDataTableCustomEvent<RowClickDetail>) => void;
8141
8141
  /**
8142
8142
  * Emitted when a row is expanded/collapsed
8143
8143
  */
8144
- "onSeki-row-expand"?: (event: SekiDataTableCustomEvent<RowExpandDetail>) => void;
8144
+ "onSekiRowExpand"?: (event: SekiDataTableCustomEvent<RowExpandDetail>) => void;
8145
8145
  /**
8146
8146
  * Emitted when row selection changes
8147
8147
  */
8148
- "onSeki-selection-change"?: (event: SekiDataTableCustomEvent<SelectionChangeDetail>) => void;
8148
+ "onSekiSelectionChange"?: (event: SekiDataTableCustomEvent<SelectionChangeDetail>) => void;
8149
8149
  /**
8150
8150
  * Emitted when sort changes
8151
8151
  */
8152
- "onSeki-sort-change"?: (event: SekiDataTableCustomEvent<SortChangeDetail>) => void;
8152
+ "onSekiSortChange"?: (event: SekiDataTableCustomEvent<SortChangeDetail>) => void;
8153
8153
  /**
8154
8154
  * Rows per page
8155
8155
  * @default 50
@@ -9326,15 +9326,15 @@ declare namespace LocalJSX {
9326
9326
  /**
9327
9327
  * Emitted when a menu item closes
9328
9328
  */
9329
- "onSeki-menu-close"?: (event: SekiNavigationMenuCustomEvent<{ triggerId: string }>) => void;
9329
+ "onSekiMenuClose"?: (event: SekiNavigationMenuCustomEvent<{ triggerId: string }>) => void;
9330
9330
  /**
9331
9331
  * Emitted when a menu item opens
9332
9332
  */
9333
- "onSeki-menu-open"?: (event: SekiNavigationMenuCustomEvent<{ triggerId: string }>) => void;
9333
+ "onSekiMenuOpen"?: (event: SekiNavigationMenuCustomEvent<{ triggerId: string }>) => void;
9334
9334
  /**
9335
9335
  * Emitted when mobile sheet toggles
9336
9336
  */
9337
- "onSeki-mobile-toggle"?: (event: SekiNavigationMenuCustomEvent<{ open: boolean }>) => void;
9337
+ "onSekiMobileToggle"?: (event: SekiNavigationMenuCustomEvent<{ open: boolean }>) => void;
9338
9338
  }
9339
9339
  interface SekiNavigationMenuContent {
9340
9340
  /**
@@ -9403,7 +9403,7 @@ declare namespace LocalJSX {
9403
9403
  /**
9404
9404
  * Emitted when trigger is activated
9405
9405
  */
9406
- "onSeki-trigger-activate"?: (event: SekiNavigationMenuTriggerCustomEvent<{ itemId: string }>) => void;
9406
+ "onSekiTriggerActivate"?: (event: SekiNavigationMenuTriggerCustomEvent<{ itemId: string }>) => void;
9407
9407
  }
9408
9408
  interface SekiNavigationMenuViewport {
9409
9409
  /**
@@ -10128,7 +10128,7 @@ declare namespace LocalJSX {
10128
10128
  /**
10129
10129
  * Event emitted when open state changes
10130
10130
  */
10131
- "onOpenChange"?: (event: SekiSidebarMenuSubCustomEvent<boolean>) => void;
10131
+ "onSekiOpenChange"?: (event: SekiSidebarMenuSubCustomEvent<boolean>) => void;
10132
10132
  /**
10133
10133
  * Whether the submenu is open
10134
10134
  * @default false
@@ -10158,7 +10158,7 @@ declare namespace LocalJSX {
10158
10158
  /**
10159
10159
  * Event emitted when open state changes
10160
10160
  */
10161
- "onOpenChange"?: (event: SekiSidebarProviderCustomEvent<boolean>) => void;
10161
+ "onSekiOpenChange"?: (event: SekiSidebarProviderCustomEvent<boolean>) => void;
10162
10162
  /**
10163
10163
  * Event emitted when sidebar state changes (for child components)
10164
10164
  */
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Mirror selected attributes from an ancestor element onto a component host so
3
+ * styling can use standards-compliant `:host([attr])` selectors instead of the
4
+ * non-standard, Safari/Firefox-incompatible `:host-context()`.
5
+ *
6
+ * Optionally tracks the ancestor's hover state and reflects it as a
7
+ * `data-parent-hover` attribute on the host (a stand-in for
8
+ * `:host-context(<ancestor>:hover)`).
9
+ */
10
+ export interface AncestorAttrMirror {
11
+ /** Stop observing and remove all listeners. Call from disconnectedCallback. */
12
+ disconnect(): void;
13
+ }
14
+ export interface MirrorAncestorOptions {
15
+ /** Reflect the ancestor's :hover state as `data-parent-hover` on the host. */
16
+ trackHover?: boolean;
17
+ }
18
+ export declare function mirrorAncestorAttributes(host: HTMLElement, ancestorSelector: string, attributes: string[], options?: MirrorAncestorOptions): AncestorAttrMirror;
@@ -21,6 +21,15 @@ export interface CalendarMonth {
21
21
  * Get the days of the week labels based on week start
22
22
  */
23
23
  export declare function getWeekDays(weekStartsOn?: WeekStartsOn): string[];
24
+ /**
25
+ * Whether a date is disabled by the min/max bounds or the explicit disabled list.
26
+ * Single source of truth shared by the grid generator and keyboard handlers.
27
+ */
28
+ export declare function isDateDisabled(date: Date, options?: {
29
+ minDate?: Date | null;
30
+ maxDate?: Date | null;
31
+ disabledDates?: Date[];
32
+ }): boolean;
24
33
  /**
25
34
  * Get all days to display in a calendar month grid (6 weeks)
26
35
  */
@@ -1,27 +1,38 @@
1
1
  /**
2
- * Focus trap utility for dialog and modal components
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.
3
10
  */
4
11
  /**
5
- * Get all focusable elements within a container
12
+ * Get all focusable elements within a container, crossing shadow-DOM and slot
13
+ * boundaries so projected content and nested web components are included.
6
14
  */
7
15
  export declare function getFocusableElements(container: HTMLElement): HTMLElement[];
8
16
  /**
9
- * Focus the first focusable element in a container
17
+ * Focus the first focusable element in a container.
10
18
  */
11
19
  export declare function focusFirst(container: HTMLElement): void;
12
20
  /**
13
- * Focus the last focusable element in a container
21
+ * Focus the last focusable element in a container.
14
22
  */
15
23
  export declare function focusLast(container: HTMLElement): void;
16
24
  /**
17
- * Trap focus within a container during Tab key navigation
25
+ * Trap focus within a container during Tab key navigation.
18
26
  */
19
27
  export declare function trapFocus(container: HTMLElement, event: KeyboardEvent): void;
20
28
  /**
21
- * Lock body scroll when modal is open
29
+ * Lock body scroll when a modal opens. Safe to nest: the lock is only applied
30
+ * on the first call and the original inline styles are restored on the last
31
+ * matching unlock.
22
32
  */
23
33
  export declare function lockBodyScroll(): void;
24
34
  /**
25
- * Unlock body scroll when modal is closed
35
+ * Unlock body scroll when a modal closes. Only the final unlock restores the
36
+ * original inline styles.
26
37
  */
27
38
  export declare function unlockBodyScroll(): void;
@@ -0,0 +1,34 @@
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
+ export type Side = 'top' | 'bottom' | 'left' | 'right';
12
+ export type Align = 'start' | 'center' | 'end';
13
+ export interface Size {
14
+ width: number;
15
+ height: number;
16
+ }
17
+ export interface AnchoredPositionOptions {
18
+ side: Side;
19
+ align: Align;
20
+ /** Gap between trigger and content along the side axis. */
21
+ sideOffset?: number;
22
+ /** Shift along the alignment axis. */
23
+ alignOffset?: number;
24
+ /** Viewport size; defaults to the window. */
25
+ viewport?: Size;
26
+ /** Minimum gap to keep from the viewport edges. */
27
+ margin?: number;
28
+ }
29
+ export interface AnchoredPosition {
30
+ top: number;
31
+ left: number;
32
+ side: Side;
33
+ }
34
+ export declare function computeAnchoredPosition(triggerRect: DOMRect, contentRect: Size, options: AnchoredPositionOptions): AnchoredPosition;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sekiui/elements",
3
- "version": "0.0.82",
3
+ "version": "0.0.83",
4
4
  "description": "Modern, accessible Web Components with shadcn/ui-inspired design",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -10,6 +10,30 @@
10
10
  "collection": "dist/collection/collection-manifest.json",
11
11
  "collection:main": "dist/collection/index.js",
12
12
  "unpkg": "dist/sekiui/sekiui.esm.js",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/types/index.d.ts",
16
+ "import": "./dist/index.js",
17
+ "require": "./dist/index.cjs.js"
18
+ },
19
+ "./loader": {
20
+ "types": "./loader/index.d.ts",
21
+ "import": "./loader/index.js",
22
+ "require": "./loader/index.cjs.js"
23
+ },
24
+ "./dist/*": "./dist/*",
25
+ "./package.json": "./package.json"
26
+ },
27
+ "sideEffects": [
28
+ "**/*.css",
29
+ "./dist/sekiui/**",
30
+ "./dist/cdn/**",
31
+ "./dist/esm/**",
32
+ "./dist/cjs/**",
33
+ "./dist/index.js",
34
+ "./dist/index.cjs.js",
35
+ "./loader/**"
36
+ ],
13
37
  "files": [
14
38
  "dist/",
15
39
  "loader/"
@@ -63,7 +87,6 @@
63
87
  "test-exclude": "^7.0.1"
64
88
  },
65
89
  "dependencies": {
66
- "@floating-ui/dom": "^1.7.4",
67
90
  "chart.js": "^4.5.1",
68
91
  "date-fns": "^4.1.0",
69
92
  "embla-carousel": "^8.6.0"
@@ -1,71 +0,0 @@
1
- /**
2
- * Focus trap utility for dialog and modal components
3
- */
4
- const FOCUSABLE_SELECTOR = [
5
- 'button:not([disabled])',
6
- '[href]',
7
- 'input:not([disabled])',
8
- 'select:not([disabled])',
9
- 'textarea:not([disabled])',
10
- '[tabindex]:not([tabindex="-1"])',
11
- ].join(', ');
12
- /**
13
- * Get all focusable elements within a container
14
- */
15
- function getFocusableElements(container) {
16
- const elements = Array.from(container.querySelectorAll(FOCUSABLE_SELECTOR));
17
- return elements.filter(el => !el.closest('[hidden]') && !el.closest('[aria-hidden="true"]'));
18
- }
19
- /**
20
- * Focus the first focusable element in a container
21
- */
22
- function focusFirst(container) {
23
- const focusables = getFocusableElements(container);
24
- if (focusables.length > 0) {
25
- focusables[0].focus();
26
- }
27
- }
28
- /**
29
- * Trap focus within a container during Tab key navigation
30
- */
31
- function trapFocus(container, event) {
32
- if (event.key !== 'Tab')
33
- return;
34
- const focusables = getFocusableElements(container);
35
- if (focusables.length === 0)
36
- return;
37
- const first = focusables[0];
38
- const last = focusables[focusables.length - 1];
39
- const active = document.activeElement;
40
- if (event.shiftKey) {
41
- // Shift+Tab: if on first element, go to last
42
- if (active === first || !container.contains(active)) {
43
- event.preventDefault();
44
- last.focus();
45
- }
46
- }
47
- else {
48
- // Tab: if on last element, go to first
49
- if (active === last || !container.contains(active)) {
50
- event.preventDefault();
51
- first.focus();
52
- }
53
- }
54
- }
55
- /**
56
- * Lock body scroll when modal is open
57
- */
58
- function lockBodyScroll() {
59
- const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
60
- document.body.style.overflow = 'hidden';
61
- document.body.style.paddingRight = `${scrollbarWidth}px`;
62
- }
63
- /**
64
- * Unlock body scroll when modal is closed
65
- */
66
- function unlockBodyScroll() {
67
- document.body.style.overflow = '';
68
- document.body.style.paddingRight = '';
69
- }
70
-
71
- export { focusFirst as f, lockBodyScroll as l, trapFocus as t, unlockBodyScroll as u };