@sekiui/elements 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/dist/cdn/index.js +1 -1
  2. package/dist/{components/p-Bml9QXVd.js → cdn/p--1ROPZet.js} +22 -12
  3. package/dist/cdn/p-B4SOpX_A.js +155 -0
  4. package/dist/cdn/{p-B7jKUvZz.js → p-C3WFySZp.js} +29 -3
  5. package/dist/cdn/p-COBvV3Rw.js +201 -0
  6. package/dist/cdn/seki-alert-dialog-content.js +10 -24
  7. package/dist/cdn/seki-alert-dialog.js +8 -10
  8. package/dist/cdn/seki-carousel-dots.js +1 -1
  9. package/dist/cdn/seki-carousel-next.js +1 -1
  10. package/dist/cdn/seki-carousel-previous.js +1 -1
  11. package/dist/cdn/seki-collapsible-content.js +23 -40
  12. package/dist/cdn/seki-collapsible-trigger.js +21 -5
  13. package/dist/cdn/seki-collapsible.js +18 -11
  14. package/dist/cdn/seki-combobox-content.js +15 -22
  15. package/dist/cdn/seki-combobox-input.js +1 -1
  16. package/dist/cdn/seki-combobox-item.js +1 -1
  17. package/dist/cdn/seki-combobox.js +1 -1
  18. package/dist/cdn/seki-command-empty.js +6 -22
  19. package/dist/cdn/seki-command-group.js +11 -13
  20. package/dist/cdn/seki-command-input.js +23 -8
  21. package/dist/cdn/seki-command-item.js +17 -0
  22. package/dist/cdn/seki-command.js +58 -57
  23. package/dist/cdn/seki-data-table.js +13 -6
  24. package/dist/cdn/seki-dialog-content.js +10 -25
  25. package/dist/cdn/seki-dialog-description.js +13 -7
  26. package/dist/cdn/seki-dialog-overlay.js +6 -15
  27. package/dist/cdn/seki-dialog-title.js +13 -7
  28. package/dist/cdn/seki-dialog.js +1 -1
  29. package/dist/cdn/seki-drawer-content.js +21 -24
  30. package/dist/cdn/seki-drawer.js +8 -7
  31. package/dist/cdn/seki-field-label.js +28 -2
  32. package/dist/cdn/seki-label.js +1 -1
  33. package/dist/cdn/seki-navigation-menu-content.js +1 -1
  34. package/dist/cdn/seki-navigation-menu-item.js +1 -1
  35. package/dist/cdn/seki-navigation-menu-trigger.js +1 -1
  36. package/dist/cdn/seki-navigation-menu.js +1 -1
  37. package/dist/cdn/seki-popover-content.js +14 -20
  38. package/dist/cdn/seki-popover.js +27 -17
  39. package/dist/cdn/seki-resizable-handle.js +1 -1
  40. package/dist/cdn/seki-resizable-panel-group.js +1 -1
  41. package/dist/cdn/seki-resizable-panel.js +1 -1
  42. package/dist/cdn/seki-select-content.js +14 -17
  43. package/dist/cdn/seki-select-option.js +23 -25
  44. package/dist/cdn/seki-select-trigger.js +32 -38
  45. package/dist/cdn/seki-select.js +30 -7
  46. package/dist/cdn/seki-sheet-content.js +24 -24
  47. package/dist/cdn/seki-sheet.js +8 -7
  48. package/dist/cdn/seki-toggle-group.js +1 -1
  49. package/dist/cdn/seki-toggle.js +1 -1
  50. package/dist/cjs/context-bridge-t3FBhOrW.js +159 -0
  51. package/dist/cjs/index.cjs.js +1 -0
  52. package/dist/cjs/label-association-sgmb4sai.js +203 -0
  53. package/dist/cjs/loader.cjs.js +1 -1
  54. package/dist/cjs/seki-alert-dialog-content.cjs.entry.js +10 -24
  55. package/dist/cjs/seki-alert-dialog.cjs.entry.js +7 -9
  56. package/dist/cjs/seki-carousel-dots.cjs.entry.js +1 -1
  57. package/dist/cjs/seki-carousel-next.cjs.entry.js +1 -1
  58. package/dist/cjs/seki-carousel-previous.cjs.entry.js +1 -1
  59. package/dist/cjs/seki-collapsible-content.cjs.entry.js +20 -39
  60. package/dist/cjs/seki-collapsible-trigger.cjs.entry.js +19 -4
  61. package/dist/cjs/seki-collapsible.cjs.entry.js +16 -10
  62. package/dist/cjs/seki-combobox-content.cjs.entry.js +15 -22
  63. package/dist/cjs/seki-combobox-input.cjs.entry.js +1 -1
  64. package/dist/cjs/seki-combobox-item.cjs.entry.js +1 -1
  65. package/dist/cjs/seki-combobox.cjs.entry.js +1 -1
  66. package/dist/cjs/seki-command-empty.cjs.entry.js +6 -22
  67. package/dist/cjs/seki-command-group.cjs.entry.js +11 -13
  68. package/dist/cjs/seki-command-input.cjs.entry.js +22 -8
  69. package/dist/cjs/seki-command-item.cjs.entry.js +17 -0
  70. package/dist/cjs/seki-command.cjs.entry.js +56 -56
  71. package/dist/cjs/seki-data-table.cjs.entry.js +10 -6
  72. package/dist/cjs/seki-dialog-content.cjs.entry.js +10 -25
  73. package/dist/cjs/seki-dialog-description.cjs.entry.js +10 -6
  74. package/dist/cjs/seki-dialog-overlay.cjs.entry.js +6 -15
  75. package/dist/cjs/seki-dialog-title.cjs.entry.js +10 -6
  76. package/dist/cjs/seki-dialog.cjs.entry.js +21 -12
  77. package/dist/cjs/seki-drawer-content.cjs.entry.js +20 -24
  78. package/dist/cjs/seki-drawer.cjs.entry.js +8 -7
  79. package/dist/cjs/seki-field-label.cjs.entry.js +26 -2
  80. package/dist/cjs/seki-label.cjs.entry.js +27 -3
  81. package/dist/cjs/seki-navigation-menu-content.cjs.entry.js +1 -1
  82. package/dist/cjs/seki-navigation-menu-item.cjs.entry.js +1 -1
  83. package/dist/cjs/seki-navigation-menu-trigger.cjs.entry.js +1 -1
  84. package/dist/cjs/seki-navigation-menu.cjs.entry.js +1 -1
  85. package/dist/cjs/seki-popover-content.cjs.entry.js +14 -20
  86. package/dist/cjs/seki-popover.cjs.entry.js +24 -16
  87. package/dist/cjs/seki-resizable-handle.cjs.entry.js +1 -1
  88. package/dist/cjs/seki-resizable-panel-group.cjs.entry.js +1 -1
  89. package/dist/cjs/seki-resizable-panel.cjs.entry.js +1 -1
  90. package/dist/cjs/seki-select-content.cjs.entry.js +14 -17
  91. package/dist/cjs/seki-select-option.cjs.entry.js +23 -25
  92. package/dist/cjs/seki-select-trigger.cjs.entry.js +32 -38
  93. package/dist/cjs/seki-select.cjs.entry.js +29 -7
  94. package/dist/cjs/seki-sheet-content.cjs.entry.js +22 -24
  95. package/dist/cjs/seki-sheet.cjs.entry.js +8 -7
  96. package/dist/cjs/seki-toggle-group.cjs.entry.js +1 -1
  97. package/dist/cjs/seki-toggle.cjs.entry.js +1 -1
  98. package/dist/cjs/sekiui.cjs.js +1 -1
  99. package/dist/collection/components/alert-dialog/seki-alert-dialog-content.js +10 -24
  100. package/dist/collection/components/alert-dialog/seki-alert-dialog.js +21 -9
  101. package/dist/collection/components/collapsible/seki-collapsible-content.js +23 -40
  102. package/dist/collection/components/collapsible/seki-collapsible-trigger.js +24 -4
  103. package/dist/collection/components/collapsible/seki-collapsible.js +31 -9
  104. package/dist/collection/components/combobox-content/seki-combobox-content.js +15 -22
  105. package/dist/collection/components/command/seki-command-empty.js +6 -22
  106. package/dist/collection/components/command/seki-command-group.js +11 -13
  107. package/dist/collection/components/command/seki-command-input.js +27 -8
  108. package/dist/collection/components/command/seki-command-item.js +17 -0
  109. package/dist/collection/components/command/seki-command.js +71 -55
  110. package/dist/collection/components/data-table/seki-data-table.js +64 -6
  111. package/dist/collection/components/dialog/seki-dialog-content.js +10 -25
  112. package/dist/collection/components/dialog/seki-dialog-description.js +17 -6
  113. package/dist/collection/components/dialog/seki-dialog-overlay.js +6 -15
  114. package/dist/collection/components/dialog/seki-dialog-title.js +17 -6
  115. package/dist/collection/components/dialog/seki-dialog.js +37 -12
  116. package/dist/collection/components/drawer/seki-drawer-content.js +22 -24
  117. package/dist/collection/components/drawer/seki-drawer.js +22 -7
  118. package/dist/collection/components/field-label/seki-field-label.js +39 -3
  119. package/dist/collection/components/label/seki-label.js +40 -4
  120. package/dist/collection/components/popover/seki-popover-content.js +14 -20
  121. package/dist/collection/components/popover/seki-popover.js +41 -15
  122. package/dist/collection/components/select/seki-select.js +30 -6
  123. package/dist/collection/components/select-content/seki-select-content.js +14 -17
  124. package/dist/collection/components/select-option/seki-select-option.js +23 -25
  125. package/dist/collection/components/select-trigger/seki-select-trigger.js +32 -38
  126. package/dist/collection/components/sheet/seki-sheet-content.js +25 -24
  127. package/dist/collection/components/sheet/seki-sheet.js +22 -7
  128. package/dist/collection/utils/context-bridge.js +105 -4
  129. package/dist/collection/utils/label-association.js +199 -0
  130. package/dist/components/index.js +1 -1
  131. package/dist/{cdn/p-Bml9QXVd.js → components/p--1ROPZet.js} +22 -12
  132. package/dist/components/p-B4SOpX_A.js +155 -0
  133. package/dist/components/{p-B7jKUvZz.js → p-C3WFySZp.js} +29 -3
  134. package/dist/components/p-COBvV3Rw.js +201 -0
  135. package/dist/components/seki-alert-dialog-content.js +10 -24
  136. package/dist/components/seki-alert-dialog.js +8 -10
  137. package/dist/components/seki-carousel-dots.js +1 -1
  138. package/dist/components/seki-carousel-next.js +1 -1
  139. package/dist/components/seki-carousel-previous.js +1 -1
  140. package/dist/components/seki-collapsible-content.js +23 -40
  141. package/dist/components/seki-collapsible-trigger.js +21 -5
  142. package/dist/components/seki-collapsible.js +18 -11
  143. package/dist/components/seki-combobox-content.js +15 -22
  144. package/dist/components/seki-combobox-input.js +1 -1
  145. package/dist/components/seki-combobox-item.js +1 -1
  146. package/dist/components/seki-combobox.js +1 -1
  147. package/dist/components/seki-command-empty.js +6 -22
  148. package/dist/components/seki-command-group.js +11 -13
  149. package/dist/components/seki-command-input.js +23 -8
  150. package/dist/components/seki-command-item.js +17 -0
  151. package/dist/components/seki-command.js +58 -57
  152. package/dist/components/seki-data-table.js +13 -6
  153. package/dist/components/seki-dialog-content.js +10 -25
  154. package/dist/components/seki-dialog-description.js +13 -7
  155. package/dist/components/seki-dialog-overlay.js +6 -15
  156. package/dist/components/seki-dialog-title.js +13 -7
  157. package/dist/components/seki-dialog.js +1 -1
  158. package/dist/components/seki-drawer-content.js +21 -24
  159. package/dist/components/seki-drawer.js +8 -7
  160. package/dist/components/seki-field-label.js +28 -2
  161. package/dist/components/seki-label.js +1 -1
  162. package/dist/components/seki-navigation-menu-content.js +1 -1
  163. package/dist/components/seki-navigation-menu-item.js +1 -1
  164. package/dist/components/seki-navigation-menu-trigger.js +1 -1
  165. package/dist/components/seki-navigation-menu.js +1 -1
  166. package/dist/components/seki-popover-content.js +14 -20
  167. package/dist/components/seki-popover.js +27 -17
  168. package/dist/components/seki-resizable-handle.js +1 -1
  169. package/dist/components/seki-resizable-panel-group.js +1 -1
  170. package/dist/components/seki-resizable-panel.js +1 -1
  171. package/dist/components/seki-select-content.js +14 -17
  172. package/dist/components/seki-select-option.js +23 -25
  173. package/dist/components/seki-select-trigger.js +32 -38
  174. package/dist/components/seki-select.js +30 -7
  175. package/dist/components/seki-sheet-content.js +24 -24
  176. package/dist/components/seki-sheet.js +8 -7
  177. package/dist/components/seki-toggle-group.js +1 -1
  178. package/dist/components/seki-toggle.js +1 -1
  179. package/dist/esm/context-bridge-B4SOpX_A.js +155 -0
  180. package/dist/esm/index.js +1 -0
  181. package/dist/esm/label-association-COBvV3Rw.js +201 -0
  182. package/dist/esm/loader.js +1 -1
  183. package/dist/esm/seki-alert-dialog-content.entry.js +10 -24
  184. package/dist/esm/seki-alert-dialog.entry.js +7 -9
  185. package/dist/esm/seki-carousel-dots.entry.js +1 -1
  186. package/dist/esm/seki-carousel-next.entry.js +1 -1
  187. package/dist/esm/seki-carousel-previous.entry.js +1 -1
  188. package/dist/esm/seki-collapsible-content.entry.js +20 -39
  189. package/dist/esm/seki-collapsible-trigger.entry.js +19 -4
  190. package/dist/esm/seki-collapsible.entry.js +16 -10
  191. package/dist/esm/seki-combobox-content.entry.js +15 -22
  192. package/dist/esm/seki-combobox-input.entry.js +1 -1
  193. package/dist/esm/seki-combobox-item.entry.js +1 -1
  194. package/dist/esm/seki-combobox.entry.js +1 -1
  195. package/dist/esm/seki-command-empty.entry.js +6 -22
  196. package/dist/esm/seki-command-group.entry.js +11 -13
  197. package/dist/esm/seki-command-input.entry.js +22 -8
  198. package/dist/esm/seki-command-item.entry.js +17 -0
  199. package/dist/esm/seki-command.entry.js +56 -56
  200. package/dist/esm/seki-data-table.entry.js +10 -6
  201. package/dist/esm/seki-dialog-content.entry.js +10 -25
  202. package/dist/esm/seki-dialog-description.entry.js +10 -6
  203. package/dist/esm/seki-dialog-overlay.entry.js +6 -15
  204. package/dist/esm/seki-dialog-title.entry.js +10 -6
  205. package/dist/esm/seki-dialog.entry.js +21 -12
  206. package/dist/esm/seki-drawer-content.entry.js +20 -24
  207. package/dist/esm/seki-drawer.entry.js +8 -7
  208. package/dist/esm/seki-field-label.entry.js +26 -2
  209. package/dist/esm/seki-label.entry.js +27 -3
  210. package/dist/esm/seki-navigation-menu-content.entry.js +1 -1
  211. package/dist/esm/seki-navigation-menu-item.entry.js +1 -1
  212. package/dist/esm/seki-navigation-menu-trigger.entry.js +1 -1
  213. package/dist/esm/seki-navigation-menu.entry.js +1 -1
  214. package/dist/esm/seki-popover-content.entry.js +14 -20
  215. package/dist/esm/seki-popover.entry.js +24 -16
  216. package/dist/esm/seki-resizable-handle.entry.js +1 -1
  217. package/dist/esm/seki-resizable-panel-group.entry.js +1 -1
  218. package/dist/esm/seki-resizable-panel.entry.js +1 -1
  219. package/dist/esm/seki-select-content.entry.js +14 -17
  220. package/dist/esm/seki-select-option.entry.js +23 -25
  221. package/dist/esm/seki-select-trigger.entry.js +32 -38
  222. package/dist/esm/seki-select.entry.js +29 -7
  223. package/dist/esm/seki-sheet-content.entry.js +22 -24
  224. package/dist/esm/seki-sheet.entry.js +8 -7
  225. package/dist/esm/seki-toggle-group.entry.js +1 -1
  226. package/dist/esm/seki-toggle.entry.js +1 -1
  227. package/dist/esm/sekiui.js +1 -1
  228. package/dist/sekiui/index.esm.js +1 -1
  229. package/dist/sekiui/{p-2459de33.entry.js → p-09131578.entry.js} +1 -1
  230. package/dist/sekiui/p-14ca64d7.entry.js +1 -0
  231. package/dist/sekiui/p-1564ab34.entry.js +1 -0
  232. package/dist/sekiui/p-1b7681eb.entry.js +1 -0
  233. package/dist/sekiui/{p-573fcf7e.entry.js → p-20e5e17a.entry.js} +1 -1
  234. package/dist/sekiui/p-2bd3c250.entry.js +1 -0
  235. package/dist/sekiui/p-2d50d0c2.entry.js +1 -0
  236. package/dist/sekiui/p-31db5c3f.entry.js +1 -0
  237. package/dist/sekiui/p-33dd3d17.entry.js +1 -0
  238. package/dist/sekiui/p-360d7dea.entry.js +1 -0
  239. package/dist/sekiui/p-3c6d6845.entry.js +1 -0
  240. package/dist/sekiui/{p-731740ec.entry.js → p-3cd3f36e.entry.js} +1 -1
  241. package/dist/sekiui/{p-1d173026.entry.js → p-3e456430.entry.js} +1 -1
  242. package/dist/sekiui/{p-e287c9b0.entry.js → p-4191a2cf.entry.js} +1 -1
  243. package/dist/sekiui/{p-b75f801b.entry.js → p-48fe9b46.entry.js} +1 -1
  244. package/dist/sekiui/{p-5a60c7f5.entry.js → p-5132d055.entry.js} +1 -1
  245. package/dist/sekiui/p-5700ac69.entry.js +1 -0
  246. package/dist/sekiui/{p-d2592287.entry.js → p-57e7170b.entry.js} +1 -1
  247. package/dist/sekiui/{p-edac50c7.entry.js → p-5dbd46b4.entry.js} +1 -1
  248. package/dist/sekiui/p-6923d926.entry.js +1 -0
  249. package/dist/sekiui/{p-22daeb37.entry.js → p-6c2e4ae8.entry.js} +1 -1
  250. package/dist/sekiui/p-6edbced1.entry.js +1 -0
  251. package/dist/sekiui/p-7dac94b2.entry.js +1 -0
  252. package/dist/sekiui/p-80dbf1f5.entry.js +1 -0
  253. package/dist/sekiui/p-817af69a.entry.js +1 -0
  254. package/dist/sekiui/{p-ddcdc3da.entry.js → p-8b3bc7c2.entry.js} +1 -1
  255. package/dist/sekiui/p-8fb55d56.entry.js +1 -0
  256. package/dist/sekiui/{p-a575f386.entry.js → p-92b800a2.entry.js} +1 -1
  257. package/dist/sekiui/{p-63e922dc.entry.js → p-938ce866.entry.js} +1 -1
  258. package/dist/sekiui/{p-d0533172.entry.js → p-95501e60.entry.js} +1 -1
  259. package/dist/sekiui/p-979708a0.entry.js +1 -0
  260. package/dist/sekiui/{p-faf09566.entry.js → p-9c921a6c.entry.js} +1 -1
  261. package/dist/sekiui/p-B4SOpX_A.js +1 -0
  262. package/dist/sekiui/p-COBvV3Rw.js +1 -0
  263. package/dist/sekiui/{p-fc6b3691.entry.js → p-a4fc4f1a.entry.js} +1 -1
  264. package/dist/sekiui/{p-d7bd5d5e.entry.js → p-b94e0f1b.entry.js} +1 -1
  265. package/dist/sekiui/{p-1c5fe316.entry.js → p-c6efedab.entry.js} +1 -1
  266. package/dist/sekiui/p-c8da7923.entry.js +1 -0
  267. package/dist/sekiui/p-c97fbaf2.entry.js +1 -0
  268. package/dist/sekiui/p-cb28d764.entry.js +1 -0
  269. package/dist/sekiui/{p-5f52b52d.entry.js → p-cc2ac0f0.entry.js} +1 -1
  270. package/dist/sekiui/{p-acebf429.entry.js → p-d32614a4.entry.js} +1 -1
  271. package/dist/sekiui/p-d3449109.entry.js +1 -0
  272. package/dist/sekiui/p-ddbf98ca.entry.js +1 -0
  273. package/dist/sekiui/p-eb03eb37.entry.js +1 -0
  274. package/dist/sekiui/{p-c57bbe35.entry.js → p-fc9e8583.entry.js} +1 -1
  275. package/dist/sekiui/sekiui.esm.js +1 -1
  276. package/dist/types/components/alert-dialog/seki-alert-dialog-content.d.ts +6 -3
  277. package/dist/types/components/alert-dialog/seki-alert-dialog.d.ts +5 -2
  278. package/dist/types/components/collapsible/seki-collapsible-content.d.ts +4 -5
  279. package/dist/types/components/collapsible/seki-collapsible-trigger.d.ts +11 -0
  280. package/dist/types/components/collapsible/seki-collapsible.d.ts +6 -2
  281. package/dist/types/components/combobox-content/seki-combobox-content.d.ts +3 -4
  282. package/dist/types/components/command/seki-command-empty.d.ts +2 -4
  283. package/dist/types/components/command/seki-command-group.d.ts +2 -3
  284. package/dist/types/components/command/seki-command-input.d.ts +5 -1
  285. package/dist/types/components/command/seki-command-item.d.ts +3 -0
  286. package/dist/types/components/command/seki-command.d.ts +19 -1
  287. package/dist/types/components/command/types.d.ts +9 -1
  288. package/dist/types/components/data-table/seki-data-table.d.ts +7 -2
  289. package/dist/types/components/dialog/seki-dialog-content.d.ts +6 -3
  290. package/dist/types/components/dialog/seki-dialog-description.d.ts +5 -1
  291. package/dist/types/components/dialog/seki-dialog-overlay.d.ts +2 -3
  292. package/dist/types/components/dialog/seki-dialog-title.d.ts +5 -1
  293. package/dist/types/components/dialog/seki-dialog.d.ts +9 -2
  294. package/dist/types/components/drawer/seki-drawer-content.d.ts +8 -3
  295. package/dist/types/components/drawer/seki-drawer.d.ts +5 -1
  296. package/dist/types/components/field-label/seki-field-label.d.ts +9 -1
  297. package/dist/types/components/label/seki-label.d.ts +11 -2
  298. package/dist/types/components/popover/seki-popover-content.d.ts +6 -3
  299. package/dist/types/components/popover/seki-popover.d.ts +7 -1
  300. package/dist/types/components/select/seki-select.d.ts +8 -0
  301. package/dist/types/components/select-content/seki-select-content.d.ts +3 -2
  302. package/dist/types/components/select-option/seki-select-option.d.ts +9 -3
  303. package/dist/types/components/select-trigger/seki-select-trigger.d.ts +10 -4
  304. package/dist/types/components/sheet/seki-sheet-content.d.ts +8 -4
  305. package/dist/types/components/sheet/seki-sheet.d.ts +5 -1
  306. package/dist/types/components.d.ts +61 -6
  307. package/dist/types/utils/context-bridge.d.ts +68 -4
  308. package/dist/types/utils/label-association.d.ts +58 -0
  309. package/package.json +1 -1
  310. package/dist/cdn/p-DJMgrCw3.js +0 -54
  311. package/dist/cjs/context-bridge-CywF7uJm.js +0 -57
  312. package/dist/components/p-DJMgrCw3.js +0 -54
  313. package/dist/esm/context-bridge-DJMgrCw3.js +0 -54
  314. package/dist/sekiui/p-063951fe.entry.js +0 -1
  315. package/dist/sekiui/p-326909c5.entry.js +0 -1
  316. package/dist/sekiui/p-3511d6e5.entry.js +0 -1
  317. package/dist/sekiui/p-4253845a.entry.js +0 -1
  318. package/dist/sekiui/p-565acaf2.entry.js +0 -1
  319. package/dist/sekiui/p-5a55a239.entry.js +0 -1
  320. package/dist/sekiui/p-5fd3b090.entry.js +0 -1
  321. package/dist/sekiui/p-6466865a.entry.js +0 -1
  322. package/dist/sekiui/p-9324d212.entry.js +0 -1
  323. package/dist/sekiui/p-959fef36.entry.js +0 -1
  324. package/dist/sekiui/p-DJMgrCw3.js +0 -1
  325. package/dist/sekiui/p-a55bc3d3.entry.js +0 -1
  326. package/dist/sekiui/p-ab56de7a.entry.js +0 -1
  327. package/dist/sekiui/p-ad62e316.entry.js +0 -1
  328. package/dist/sekiui/p-b8d3aa31.entry.js +0 -1
  329. package/dist/sekiui/p-b99c6433.entry.js +0 -1
  330. package/dist/sekiui/p-c15c21b4.entry.js +0 -1
  331. package/dist/sekiui/p-c529a6b8.entry.js +0 -1
  332. package/dist/sekiui/p-c99961a7.entry.js +0 -1
  333. package/dist/sekiui/p-d61319d6.entry.js +0 -1
  334. package/dist/sekiui/p-da9b3eaa.entry.js +0 -1
  335. package/dist/sekiui/p-eb50f8d5.entry.js +0 -1
  336. package/dist/sekiui/p-f886fe62.entry.js +0 -1
  337. package/dist/sekiui/p-fc288df2.entry.js +0 -1
@@ -1,4 +1,5 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, h } from './p-jMliCqbB.js';
2
+ import { p as publishContext } from './p-B4SOpX_A.js';
2
3
 
3
4
  const sekiSheetCss = ":host{--seki-sheet-bg:var(--seki-background, hsl(0 0% 100%));--seki-sheet-border:var(--seki-border, hsl(240 5.9% 90%));--seki-sheet-text:var(--seki-foreground, hsl(240 10% 3.9%));--seki-sheet-text-muted:var(--seki-muted-foreground, hsl(240 3.8% 46.1%));--seki-sheet-overlay-bg:light-dark(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7));--seki-sheet-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);--seki-sheet-font-family:var(--seki-font-sans, system-ui, -apple-system, sans-serif);--seki-sheet-width:24rem;--seki-sheet-height:24rem;--seki-sheet-z-index:50;--seki-sheet-animation-duration:0.3s;display:contents}.seki-sheet{display:contents}.seki-sheet-overlay{position:fixed;inset:0;background:var(--seki-sheet-overlay-bg);z-index:var(--seki-sheet-z-index);animation:fadeIn var(--seki-sheet-animation-duration) ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.seki-sheet-trigger{display:inline-flex;cursor:pointer}.seki-sheet-content{position:fixed;z-index:calc(var(--seki-sheet-z-index) + 1);background:var(--seki-sheet-bg);box-shadow:var(--seki-sheet-shadow);font-family:var(--seki-sheet-font-family);display:flex;flex-direction:column;overflow:auto}.seki-sheet-content--right{top:0;right:0;height:100%;width:var(--seki-sheet-width);max-width:100%;border-left:1px solid var(--seki-sheet-border);animation:slideInRight var(--seki-sheet-animation-duration) ease}@keyframes slideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}.seki-sheet-content--left{top:0;left:0;height:100%;width:var(--seki-sheet-width);max-width:100%;border-right:1px solid var(--seki-sheet-border);animation:slideInLeft var(--seki-sheet-animation-duration) ease}@keyframes slideInLeft{from{transform:translateX(-100%)}to{transform:translateX(0)}}.seki-sheet-content--top{top:0;left:0;right:0;width:100%;height:var(--seki-sheet-height);max-height:100%;border-bottom:1px solid var(--seki-sheet-border);animation:slideInTop var(--seki-sheet-animation-duration) ease}@keyframes slideInTop{from{transform:translateY(-100%)}to{transform:translateY(0)}}.seki-sheet-content--bottom{bottom:0;left:0;right:0;width:100%;height:var(--seki-sheet-height);max-height:100%;border-top:1px solid var(--seki-sheet-border);animation:slideInBottom var(--seki-sheet-animation-duration) ease}@keyframes slideInBottom{from{transform:translateY(100%)}to{transform:translateY(0)}}.seki-sheet-close-button{position:absolute;top:1rem;right:1rem;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:var(--seki-radius-sm, 4px);background:transparent;color:var(--seki-sheet-text-muted);cursor:pointer;opacity:0.7;transition:opacity 0.15s ease}.seki-sheet-close-button:hover{opacity:1}.seki-sheet-close-button:focus-visible{outline:2px solid var(--seki-ring, hsl(240 5.9% 10%));outline-offset:2px}.seki-sheet-close-button svg{width:1rem;height:1rem}.seki-sheet-header{display:flex;flex-direction:column;gap:0.375rem;padding:1.5rem;padding-right:3rem;}.seki-sheet-title{margin:0;font-size:var(--seki-font-size-lg, 18px);font-weight:var(--seki-font-weight-semibold, 600);color:var(--seki-sheet-text);line-height:var(--seki-line-height-tight, 1.25)}.seki-sheet-description{margin:0;font-size:var(--seki-font-size-sm, 14px);color:var(--seki-sheet-text-muted);line-height:var(--seki-line-height-normal, 1.5)}.seki-sheet-footer{display:flex;flex-direction:column;gap:0.5rem;padding:1.5rem;margin-top:auto}@media (min-width: 640px){.seki-sheet-footer{flex-direction:row;justify-content:flex-end}}.seki-sheet-close{display:inline-flex;cursor:pointer}@media (prefers-reduced-motion: reduce){.seki-sheet-overlay,.seki-sheet-content--right,.seki-sheet-content--left,.seki-sheet-content--top,.seki-sheet-content--bottom,.seki-sheet-close-button{animation:none;transition:none}}";
4
5
 
@@ -12,6 +13,7 @@ const SekiSheet$1 = /*@__PURE__*/ proxyCustomElement(class SekiSheet extends H {
12
13
  this.sheetOpen = createEvent(this, "sheetOpen");
13
14
  this.sheetClose = createEvent(this, "sheetClose");
14
15
  this.sekiOpenChange = createEvent(this, "sekiOpenChange");
16
+ this.sheetContextChange = createEvent(this, "sekiContextChange");
15
17
  /**
16
18
  * Controlled open state. Also readable/writable as the `open` attribute, so
17
19
  * `<seki-sheet open>` renders open with no script involved.
@@ -29,8 +31,8 @@ const SekiSheet$1 = /*@__PURE__*/ proxyCustomElement(class SekiSheet extends H {
29
31
  componentWillLoad() {
30
32
  this._isOpen = this.open || this.defaultOpen;
31
33
  this.open = this._isOpen;
32
- }
33
- componentDidLoad() {
34
+ // Publish before the first render so `<seki-sheet open>` shows its content
35
+ // at first paint (#323).
34
36
  this.updateContext();
35
37
  }
36
38
  handleOpenPropChange(newValue) {
@@ -82,9 +84,8 @@ const SekiSheet$1 = /*@__PURE__*/ proxyCustomElement(class SekiSheet extends H {
82
84
  }
83
85
  updateContext() {
84
86
  // seki-sheet-content has no other way to know this sheet's open state — it
85
- // reads this off the host element via closest('seki-sheet').
86
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
87
- this.el._sheetContext = { isOpen: this._isOpen };
87
+ // reads this off the host element (see consumeContext in context-bridge).
88
+ publishContext(this.el, '_sheetContext', { isOpen: this._isOpen }, this.sheetContextChange);
88
89
  }
89
90
  handleTriggerClick() {
90
91
  this.toggleSheet();
@@ -98,10 +99,10 @@ const SekiSheet$1 = /*@__PURE__*/ proxyCustomElement(class SekiSheet extends H {
98
99
  }
99
100
  }
100
101
  render() {
101
- return (h("div", { key: 'a368d95081a628a104171c11b046a5acaf0c5a61', class: {
102
+ return (h("div", { key: 'dda645ffb1445b876a53d3713777ed25e7f85998', class: {
102
103
  'seki-sheet': true,
103
104
  'seki-sheet--open': this._isOpen,
104
- }, part: "sheet" }, h("slot", { key: '29b5012870238b5859216c681db33b13e88185d0' }), this._isOpen && (h("div", { key: '6914c57abd54a1d3b02458708955d9c13ba98db1', class: "seki-sheet-overlay", part: "overlay", onClick: () => this.closeSheet() }))));
105
+ }, part: "sheet" }, h("slot", { key: '8c7fca42b42eb4c81ce3a4ab7f01d9ddf284a469' }), this._isOpen && (h("div", { key: '2fc1c0d783f8f39656ace7f065d326d4a70c2da6', class: "seki-sheet-overlay", part: "overlay", onClick: () => this.closeSheet() }))));
105
106
  }
106
107
  get el() { return this; }
107
108
  static get watchers() { return {
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, h, e as Host } from './p-jMliCqbB.js';
2
- import { p as publishContext } from './p-DJMgrCw3.js';
2
+ import { p as publishContext } from './p-B4SOpX_A.js';
3
3
 
4
4
  const sekiToggleGroupCss = ":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([data-theme='dark']){color-scheme:dark}:host([data-theme='light']){color-scheme:light}:host{--seki-background:light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 3.9%));--seki-foreground:light-dark(hsl(0, 0%, 3.9%), hsl(0, 0%, 98%));--seki-muted:light-dark(hsl(0, 0%, 96.1%), hsl(0, 0%, 14.9%));--seki-muted-foreground:light-dark(hsl(0, 0%, 42%), hsl(0, 0%, 63.9%));--seki-card:light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 3.9%));--seki-card-foreground:light-dark(hsl(0, 0%, 3.9%), hsl(0, 0%, 98%));--seki-popover:light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 3.9%));--seki-popover-foreground:light-dark(hsl(0, 0%, 3.9%), hsl(0, 0%, 98%));--seki-border:light-dark(hsl(0, 0%, 89.8%), hsl(0, 0%, 14.9%));--seki-input:light-dark(hsl(0, 0%, 89.8%), hsl(0, 0%, 14.9%));--seki-primary:light-dark(hsl(0, 0%, 9%), hsl(0, 0%, 98%));--seki-primary-foreground:light-dark(hsl(0, 0%, 98%), hsl(0, 0%, 9%));--seki-primary-tint:light-dark(hsl(0, 0%, 9%, 0.06), hsl(0, 0%, 98%, 0.1));--seki-primary-tint-foreground:var(--seki-foreground);--seki-secondary:light-dark(hsl(0, 0%, 96.1%), hsl(0, 0%, 14.9%));--seki-secondary-foreground:light-dark(hsl(0, 0%, 9%), hsl(0, 0%, 98%));--seki-accent:light-dark(hsl(0, 0%, 96.1%), hsl(0, 0%, 14.9%));--seki-accent-foreground:light-dark(hsl(0, 0%, 9%), hsl(0, 0%, 98%));--seki-destructive:light-dark(hsl(0, 84.2%, 60.2%), hsl(0, 62.8%, 30.6%));--seki-destructive-foreground:hsl(0, 0%, 98%);--seki-destructive-bg:light-dark(hsl(0, 86%, 97%), rgba(239, 68, 68, 0.1));--seki-destructive-soft-foreground:light-dark(hsl(0, 63%, 31%), hsl(0, 91%, 71%));--seki-success:light-dark(hsl(142, 71%, 45%), hsl(142, 69%, 58%));--seki-success-foreground:light-dark(hsl(142, 64%, 24%), hsl(142, 69%, 58%));--seki-success-bg:light-dark(hsl(142, 76%, 97%), rgba(34, 197, 94, 0.1));--seki-warning:light-dark(hsl(38, 92%, 50%), hsl(43, 96%, 56%));--seki-warning-foreground:light-dark(hsl(21, 77%, 27%), hsl(43, 96%, 56%));--seki-warning-bg:light-dark(hsl(48, 96%, 96%), rgba(245, 158, 11, 0.1));--seki-info:light-dark(hsl(217, 91%, 60%), hsl(217, 92%, 68%));--seki-info-foreground:light-dark(hsl(224, 64%, 33%), hsl(217, 92%, 68%));--seki-info-bg:light-dark(hsl(214, 100%, 97%), rgba(59, 130, 246, 0.1));--seki-ring:light-dark(hsl(0, 0%, 3.9%), hsl(0, 0%, 83.1%));--seki-ring-shadow:hsl(0, 0%, 3.9%, 0.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:light-dark(var(--seki-neutral-400), var(--seki-neutral-600));--seki-border-default:var(--seki-border);--seki-border-emphasis:light-dark(var(--seki-neutral-300), var(--seki-neutral-700))}: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:light-dark(hsl(0, 0%, 9%, 0.9), hsl(0, 0%, 98%, 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:light-dark(hsl(0, 0%, 96.1%, 0.8), hsl(0, 0%, 14.9%, 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);--seki-shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px 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;--seki-radius-full:9999px;}:host{--seki-sidebar-width:16rem;--seki-sidebar-width-icon:3rem;--seki-sidebar-width-mobile:18rem;--seki-sidebar-background:light-dark(hsl(0, 0%, 98%), hsl(240, 5.9%, 10%));--seki-sidebar-foreground:light-dark(hsl(240, 5.3%, 26.1%), hsl(240, 4.8%, 95.9%));--seki-sidebar-primary:light-dark(hsl(240, 5.9%, 10%), hsl(0, 0%, 98%));--seki-sidebar-primary-foreground:light-dark(hsl(0, 0%, 98%), hsl(240, 5.9%, 10%));--seki-sidebar-accent:light-dark(hsl(240, 4.8%, 95.9%), hsl(240, 3.7%, 15.9%));--seki-sidebar-accent-foreground:light-dark(hsl(240, 5.9%, 10%), hsl(240, 4.8%, 95.9%));--seki-sidebar-border:light-dark(hsl(220, 13%, 91%), hsl(240, 3.7%, 15.9%));--seki-sidebar-ring:hsl(217.2, 91.2%, 59.8%);--seki-sidebar-muted-foreground:light-dark(hsl(240, 3.8%, 46.1%), hsl(240, 5%, 64.9%));--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{--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}}[data-theme='dark']{color-scheme:dark}[data-theme='light']{color-scheme:light}:host{display:inline-flex;gap:var(--seki-spacing-1, 0.25rem)}:host([orientation=\"vertical\"]){flex-direction:column}:host([orientation=\"horizontal\"]){flex-direction:row}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, h, e as Host } from './p-jMliCqbB.js';
2
- import { s as subscribeToContextChange } from './p-DJMgrCw3.js';
2
+ import { s as subscribeToContextChange } from './p-B4SOpX_A.js';
3
3
 
4
4
  const sekiToggleCss = ":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([data-theme='dark']){color-scheme:dark}:host([data-theme='light']){color-scheme:light}:host{--seki-background:light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 3.9%));--seki-foreground:light-dark(hsl(0, 0%, 3.9%), hsl(0, 0%, 98%));--seki-muted:light-dark(hsl(0, 0%, 96.1%), hsl(0, 0%, 14.9%));--seki-muted-foreground:light-dark(hsl(0, 0%, 42%), hsl(0, 0%, 63.9%));--seki-card:light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 3.9%));--seki-card-foreground:light-dark(hsl(0, 0%, 3.9%), hsl(0, 0%, 98%));--seki-popover:light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 3.9%));--seki-popover-foreground:light-dark(hsl(0, 0%, 3.9%), hsl(0, 0%, 98%));--seki-border:light-dark(hsl(0, 0%, 89.8%), hsl(0, 0%, 14.9%));--seki-input:light-dark(hsl(0, 0%, 89.8%), hsl(0, 0%, 14.9%));--seki-primary:light-dark(hsl(0, 0%, 9%), hsl(0, 0%, 98%));--seki-primary-foreground:light-dark(hsl(0, 0%, 98%), hsl(0, 0%, 9%));--seki-primary-tint:light-dark(hsl(0, 0%, 9%, 0.06), hsl(0, 0%, 98%, 0.1));--seki-primary-tint-foreground:var(--seki-foreground);--seki-secondary:light-dark(hsl(0, 0%, 96.1%), hsl(0, 0%, 14.9%));--seki-secondary-foreground:light-dark(hsl(0, 0%, 9%), hsl(0, 0%, 98%));--seki-accent:light-dark(hsl(0, 0%, 96.1%), hsl(0, 0%, 14.9%));--seki-accent-foreground:light-dark(hsl(0, 0%, 9%), hsl(0, 0%, 98%));--seki-destructive:light-dark(hsl(0, 84.2%, 60.2%), hsl(0, 62.8%, 30.6%));--seki-destructive-foreground:hsl(0, 0%, 98%);--seki-destructive-bg:light-dark(hsl(0, 86%, 97%), rgba(239, 68, 68, 0.1));--seki-destructive-soft-foreground:light-dark(hsl(0, 63%, 31%), hsl(0, 91%, 71%));--seki-success:light-dark(hsl(142, 71%, 45%), hsl(142, 69%, 58%));--seki-success-foreground:light-dark(hsl(142, 64%, 24%), hsl(142, 69%, 58%));--seki-success-bg:light-dark(hsl(142, 76%, 97%), rgba(34, 197, 94, 0.1));--seki-warning:light-dark(hsl(38, 92%, 50%), hsl(43, 96%, 56%));--seki-warning-foreground:light-dark(hsl(21, 77%, 27%), hsl(43, 96%, 56%));--seki-warning-bg:light-dark(hsl(48, 96%, 96%), rgba(245, 158, 11, 0.1));--seki-info:light-dark(hsl(217, 91%, 60%), hsl(217, 92%, 68%));--seki-info-foreground:light-dark(hsl(224, 64%, 33%), hsl(217, 92%, 68%));--seki-info-bg:light-dark(hsl(214, 100%, 97%), rgba(59, 130, 246, 0.1));--seki-ring:light-dark(hsl(0, 0%, 3.9%), hsl(0, 0%, 83.1%));--seki-ring-shadow:hsl(0, 0%, 3.9%, 0.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:light-dark(var(--seki-neutral-400), var(--seki-neutral-600));--seki-border-default:var(--seki-border);--seki-border-emphasis:light-dark(var(--seki-neutral-300), var(--seki-neutral-700))}: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:light-dark(hsl(0, 0%, 9%, 0.9), hsl(0, 0%, 98%, 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:light-dark(hsl(0, 0%, 96.1%, 0.8), hsl(0, 0%, 14.9%, 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);--seki-shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px 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;--seki-radius-full:9999px;}:host{--seki-sidebar-width:16rem;--seki-sidebar-width-icon:3rem;--seki-sidebar-width-mobile:18rem;--seki-sidebar-background:light-dark(hsl(0, 0%, 98%), hsl(240, 5.9%, 10%));--seki-sidebar-foreground:light-dark(hsl(240, 5.3%, 26.1%), hsl(240, 4.8%, 95.9%));--seki-sidebar-primary:light-dark(hsl(240, 5.9%, 10%), hsl(0, 0%, 98%));--seki-sidebar-primary-foreground:light-dark(hsl(0, 0%, 98%), hsl(240, 5.9%, 10%));--seki-sidebar-accent:light-dark(hsl(240, 4.8%, 95.9%), hsl(240, 3.7%, 15.9%));--seki-sidebar-accent-foreground:light-dark(hsl(240, 5.9%, 10%), hsl(240, 4.8%, 95.9%));--seki-sidebar-border:light-dark(hsl(220, 13%, 91%), hsl(240, 3.7%, 15.9%));--seki-sidebar-ring:hsl(217.2, 91.2%, 59.8%);--seki-sidebar-muted-foreground:light-dark(hsl(240, 3.8%, 46.1%), hsl(240, 5%, 64.9%));--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{--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}}[data-theme='dark']{color-scheme:dark}[data-theme='light']{color-scheme:light}:host{display:inline-block}.toggle{box-sizing:border-box;font-family:var(--seki-font-sans);font-weight:var(--seki-font-weight-medium, 500);font-size:var(--seki-font-size-sm, 14px);line-height:var(--seki-line-height-tight, 1.25);border-radius:var(--seki-radius-md, 0.375rem);cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;transition:background-color 150ms ease,\n color 150ms ease,\n border-color 150ms ease}.toggle:focus-visible{outline:2px solid var(--seki-ring, hsl(240 5% 64.9%));outline-offset:2px}.toggle:disabled{pointer-events:none;opacity:0.5}.toggle--default{background:transparent;color:var(--seki-foreground, hsl(240 10% 3.9%))}.toggle--default:hover:not(:disabled){background:var(--seki-muted, hsl(240 4.8% 95.9%));color:var(--seki-muted-foreground, hsl(240 3.8% 46.1%))}:host([data-state=\"on\"]) .toggle--default{background:var(--seki-accent, hsl(240 4.8% 95.9%));color:var(--seki-accent-foreground, hsl(240 5.9% 10%))}.toggle--outline{background:transparent;color:var(--seki-foreground, hsl(240 10% 3.9%));border-color:var(--seki-border, hsl(240 5.9% 90%))}.toggle--outline:hover:not(:disabled){background:var(--seki-accent, hsl(240 4.8% 95.9%));color:var(--seki-accent-foreground, hsl(240 5.9% 10%))}:host([data-state=\"on\"]) .toggle--outline{background:var(--seki-accent, hsl(240 4.8% 95.9%));color:var(--seki-accent-foreground, hsl(240 5.9% 10%))}.toggle--sm{height:2.25rem;padding:0 0.625rem;min-width:2.25rem}.toggle--md{height:2.5rem;padding:0 0.75rem;min-width:2.5rem}.toggle--lg{height:2.75rem;padding:0 1.25rem;min-width:2.75rem}@media (prefers-reduced-motion: reduce){.toggle{transition:none}}";
5
5
 
@@ -0,0 +1,159 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Context Bridge Utility
5
+ *
6
+ * Generalizes the "parent publishes state onto its host element + child
7
+ * subscribes via closest()" pattern used by compound components (select,
8
+ * toggle-group, combobox, dialog, popover, ...).
9
+ *
10
+ * Parent (provider) contract:
11
+ * - call publishContext() from componentWillLoad(), so the context exists
12
+ * before any child renders for the first time, and
13
+ * - call it again on every state change, including changes that arrive as a
14
+ * @Prop assignment (@Watch) rather than through a @Method or user input.
15
+ *
16
+ * Child (consumer) contract — use a ContextConsumer:
17
+ * - call connect(this.el) from connectedCallback() (runs before the first
18
+ * render, and again after the element is moved to a new parent), and
19
+ * - call disconnect() from disconnectedCallback().
20
+ * connect() invokes the callback once immediately, so a child that
21
+ * upgrades after its parent already published still starts from the current
22
+ * state; a child that upgrades before its parent (one-module-per-tag
23
+ * loading, #314) hears the parent's first publish from componentWillLoad().
24
+ *
25
+ * subscribeToContextChange() is the older listener-only form (no immediate
26
+ * read, light-DOM closest() only); prefer ContextConsumer for new code.
27
+ *
28
+ * Extracted after the same bug (child freezes at mount-time state because
29
+ * nothing told it the parent changed) was independently fixed three times
30
+ * for select (#244/#253), toggle-group (#255/#257), and combobox (#258/#259).
31
+ */
32
+ /**
33
+ * One event name shared by every compound-component family. Stencil's
34
+ * @Event() emits with { bubbles: true, composed: true } by default, so a
35
+ * nested compound (e.g. a toggle-group rendered inside a select) can cause an
36
+ * inner parent's event to bubble past an outer parent's own children. This is
37
+ * harmless today only because subscribeToContextChange()'s callback takes no
38
+ * payload and every handler re-reads its own closest() parent's live context
39
+ * rather than trusting event.detail — do not add a payload to this event or
40
+ * that bubbling becomes a real cross-family bug.
41
+ */
42
+ const SEKI_CONTEXT_CHANGE_EVENT = 'sekiContextChange';
43
+ /**
44
+ * Parent-side: publish a fresh context object onto the host element and
45
+ * notify subscribed children. Must assign a plain property, not a class
46
+ * accessor of the same name — in the dist-custom-elements build the class
47
+ * IS the host element, so an accessor collision throws (#254).
48
+ */
49
+ function publishContext(el, propertyName, context, emitter) {
50
+ el[propertyName] = context;
51
+ emitter.emit();
52
+ }
53
+ /**
54
+ * Child-side: find the nearest ancestor matching parentSelector and listen
55
+ * for context-change notifications. onChange is called with no payload by
56
+ * design — children re-read the live context property via closest() rather
57
+ * than trusting a stale event.detail snapshot. No-ops safely (null parent,
58
+ * no-op unsubscribe) if no matching parent is found.
59
+ */
60
+ function subscribeToContextChange(el, parentSelector, onChange) {
61
+ const parent = el.closest(parentSelector);
62
+ if (parent) {
63
+ parent.addEventListener(SEKI_CONTEXT_CHANGE_EVENT, onChange);
64
+ }
65
+ return {
66
+ parent,
67
+ unsubscribe: () => parent === null || parent === void 0 ? void 0 : parent.removeEventListener(SEKI_CONTEXT_CHANGE_EVENT, onChange),
68
+ };
69
+ }
70
+ /**
71
+ * Nearest ancestor matching `selector`, continuing past shadow roots: when the
72
+ * element's own tree has no match, the search resumes from the shadow host.
73
+ * This lets a part rendered inside another component's shadow tree still find
74
+ * the provider that wraps that component.
75
+ */
76
+ function findContextProvider(el, selector) {
77
+ var _a;
78
+ let node = el;
79
+ while (node) {
80
+ const match = node.closest(selector);
81
+ if (match)
82
+ return match;
83
+ const root = node.getRootNode();
84
+ // A shadow root is a document fragment with a host (no global ShadowRoot
85
+ // reference, so this also runs under mock-doc / hydrate).
86
+ node = root.nodeType === 11 ? ((_a = root.host) !== null && _a !== void 0 ? _a : null) : null;
87
+ }
88
+ return null;
89
+ }
90
+ /**
91
+ * Child-side: tracks one provider (see findContextProvider) for a part.
92
+ *
93
+ * private dialog = new ContextConsumer<DialogContext>('seki-dialog', '_dialogContext', () => this.sync());
94
+ * connectedCallback() { this.dialog.connect(this.el); }
95
+ * disconnectedCallback() { this.dialog.disconnect(); }
96
+ *
97
+ * connect() finds the provider, starts listening for its context-change
98
+ * notifications and calls `onChange` once right away, so the part starts from
99
+ * whatever is already published. `parent` and `context` are already set when
100
+ * that first call happens. Calling connect() from connectedCallback runs it
101
+ * before the first render and again after the part is moved to another
102
+ * provider.
103
+ *
104
+ * `onChange` gets no event payload by design (see SEKI_CONTEXT_CHANGE_EVENT):
105
+ * it reads the live `context`. Notifications bubbling up from a nested
106
+ * provider are ignored; only events dispatched by this part's own provider
107
+ * host (or retargeted to it from that host's shadow tree) count.
108
+ *
109
+ * Works whether or not the provider element has been upgraded yet: the
110
+ * listener sits on the element itself, so the provider's first
111
+ * publishContext() from componentWillLoad() reaches it.
112
+ */
113
+ class ContextConsumer {
114
+ constructor(parentSelector, propertyName, onChange) {
115
+ this.parentSelector = parentSelector;
116
+ this.propertyName = propertyName;
117
+ this.onChange = onChange;
118
+ this.provider = null;
119
+ this.handleEvent = (event) => {
120
+ if (event.target === this.provider) {
121
+ this.onChange(this.context);
122
+ }
123
+ };
124
+ }
125
+ /** The provider element found by the last connect(), or null. */
126
+ get parent() {
127
+ return this.provider;
128
+ }
129
+ /** The provider's current context, or null when there is none yet. */
130
+ get context() {
131
+ return readContext(this.provider, this.propertyName);
132
+ }
133
+ connect(host) {
134
+ var _a;
135
+ this.disconnect();
136
+ this.provider = findContextProvider(host, this.parentSelector);
137
+ (_a = this.provider) === null || _a === void 0 ? void 0 : _a.addEventListener(SEKI_CONTEXT_CHANGE_EVENT, this.handleEvent);
138
+ this.onChange(this.context);
139
+ }
140
+ disconnect() {
141
+ var _a;
142
+ (_a = this.provider) === null || _a === void 0 ? void 0 : _a.removeEventListener(SEKI_CONTEXT_CHANGE_EVENT, this.handleEvent);
143
+ this.provider = null;
144
+ }
145
+ }
146
+ /**
147
+ * Read a context object a provider published with publishContext(). Returns
148
+ * null when there is no provider or it has not published yet.
149
+ */
150
+ function readContext(parent, propertyName) {
151
+ var _a;
152
+ if (!parent)
153
+ return null;
154
+ return ((_a = parent[propertyName]) !== null && _a !== void 0 ? _a : null);
155
+ }
156
+
157
+ exports.ContextConsumer = ContextConsumer;
158
+ exports.publishContext = publishContext;
159
+ exports.subscribeToContextChange = subscribeToContextChange;
@@ -5,6 +5,7 @@ var sekiLabel_entry = require('./seki-label.cjs.entry.js');
5
5
  var sekiSonner_entry = require('./seki-sonner-BST6Carv.js');
6
6
  require('./index-VnD8dsXW.js');
7
7
  require('./form-control-BTioA2f8.js');
8
+ require('./label-association-sgmb4sai.js');
8
9
 
9
10
  /**
10
11
  * Keyboard Service
@@ -0,0 +1,203 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Label association for `seki-label` and `seki-field-label`.
5
+ *
6
+ * ## Why this exists
7
+ *
8
+ * Both labels render their text inside a shadow root. A native `<label for>`
9
+ * resolves its `for` id inside the tree the `<label>` lives in, so a `<label>`
10
+ * in our shadow root can never reach a control in the page's light DOM: clicks
11
+ * did nothing and the control had no accessible name (#329).
12
+ *
13
+ * The host element (`<seki-label>`) *does* live in the consumer's tree, so the
14
+ * wiring is done from the host in script, resolving the id against
15
+ * `host.getRootNode()` (the label's own root, which is where an author expects
16
+ * `for` to point, also when the label sits inside another component's shadow
17
+ * root together with its control).
18
+ *
19
+ * ## Behaviour
20
+ *
21
+ * - **Activation**: a click on the label forwards to the target the way a native
22
+ * label would. Toggles (checkbox, switch, radio) are clicked, text-like
23
+ * controls are focused. A click that originated on the control itself (the
24
+ * wrapping form `<seki-label><seki-checkbox/> Text</seki-label>`) is ignored so
25
+ * the control never toggles twice.
26
+ * - **Accessible name**: a shadow-DOM control hides its real focusable element
27
+ * (`<button role="checkbox">`, `<input>`, ...) inside its own shadow root, and
28
+ * an `aria-labelledby` id reference cannot cross a shadow boundary, so
29
+ * pointing the host at the label would not name the inner element. SekiUI
30
+ * controls all forward their `aria-label` attribute to that inner element, so
31
+ * for them the label text is passed through as `aria-label`. For native
32
+ * elements the reference does resolve, so we use `aria-labelledby` and the
33
+ * name tracks the label's live content.
34
+ * Anything the author set explicitly (`aria-label`, `aria-labelledby`) is
35
+ * never overwritten; we only manage values we wrote ourselves, tracked with a
36
+ * marker attribute so they can be updated and cleaned up.
37
+ * `ElementInternals.ariaLabelledByElements` is deliberately not used: it is
38
+ * unavailable in Firefox and older Safari, and cannot reach the inner element
39
+ * of a shadow-DOM control either.
40
+ */
41
+ /* global Document */
42
+ const MANAGED_ATTR = 'data-seki-label-managed';
43
+ /** SekiUI form controls that render their focusable element in a shadow root. */
44
+ const SEKI_CONTROLS = [
45
+ 'seki-input',
46
+ 'seki-textarea',
47
+ 'seki-checkbox',
48
+ 'seki-switch',
49
+ 'seki-select',
50
+ 'seki-slider',
51
+ 'seki-radio-group',
52
+ 'seki-input-otp',
53
+ 'seki-date-picker',
54
+ 'seki-combobox',
55
+ ].join(',');
56
+ const NATIVE_CONTROLS = 'input:not([type="hidden"]), select, textarea, button';
57
+ let uid = 0;
58
+ function focusInside(target) {
59
+ var _a, _b, _c;
60
+ const inner = (_a = target.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]');
61
+ (_c = (_b = (inner !== null && inner !== void 0 ? inner : target)).focus) === null || _c === void 0 ? void 0 : _c.call(_b);
62
+ }
63
+ class LabelBinding {
64
+ constructor(host, getFor) {
65
+ this.host = host;
66
+ this.getFor = getFor;
67
+ this.target = null;
68
+ }
69
+ /** Resolve the control this label is for, in the label's own root. */
70
+ resolveTarget() {
71
+ var _a, _b, _c;
72
+ const id = this.getFor();
73
+ if (id) {
74
+ const root = this.host.getRootNode();
75
+ return (_b = (_a = root.getElementById) === null || _a === void 0 ? void 0 : _a.call(root, id)) !== null && _b !== void 0 ? _b : null;
76
+ }
77
+ const controls = `${SEKI_CONTROLS}, ${NATIVE_CONTROLS}`;
78
+ // Implicit association: <seki-label><seki-checkbox></seki-checkbox> Text</seki-label>
79
+ const nested = this.host.querySelector(controls);
80
+ if (nested)
81
+ return nested;
82
+ // Inside <seki-field>, a label without `for` names the field's control.
83
+ if (this.host.getAttribute('slot') === 'label') {
84
+ const field = this.host.closest('seki-field');
85
+ return (_c = field === null || field === void 0 ? void 0 : field.querySelector(`:scope > :not([slot]):is(${controls})`)) !== null && _c !== void 0 ? _c : null;
86
+ }
87
+ return null;
88
+ }
89
+ /** Label text, without the text of a control nested inside the label. */
90
+ labelText(skip) {
91
+ const parts = [];
92
+ const walk = (node) => {
93
+ var _a;
94
+ if (node === skip)
95
+ return;
96
+ if (node.nodeType === Node.TEXT_NODE)
97
+ parts.push((_a = node.textContent) !== null && _a !== void 0 ? _a : '');
98
+ else
99
+ node.childNodes.forEach(walk);
100
+ };
101
+ this.host.childNodes.forEach(walk);
102
+ return parts.join(' ').replace(/\s+/g, ' ').trim();
103
+ }
104
+ /** (Re)apply the accessible name. Call on load, `for` change and slot change. */
105
+ sync() {
106
+ const next = this.resolveTarget();
107
+ if (next !== this.target) {
108
+ this.release();
109
+ this.target = next;
110
+ }
111
+ const target = this.target;
112
+ if (!target)
113
+ return;
114
+ const managed = target.getAttribute(MANAGED_ATTR);
115
+ const authored = (name) => target.hasAttribute(name) && managed !== name;
116
+ if (target.tagName.includes('-')) {
117
+ if (authored('aria-label'))
118
+ return;
119
+ const text = this.labelText(this.host.contains(target) ? target : null);
120
+ if (text) {
121
+ target.setAttribute('aria-label', text);
122
+ target.setAttribute(MANAGED_ATTR, 'aria-label');
123
+ }
124
+ return;
125
+ }
126
+ if (authored('aria-labelledby') || authored('aria-label'))
127
+ return;
128
+ if (!this.host.id)
129
+ this.host.id = `seki-label-${++uid}`;
130
+ target.setAttribute('aria-labelledby', this.host.id);
131
+ target.setAttribute(MANAGED_ATTR, 'aria-labelledby');
132
+ }
133
+ /** Remove anything this binding wrote on the current target. */
134
+ release() {
135
+ const target = this.target;
136
+ const managed = target === null || target === void 0 ? void 0 : target.getAttribute(MANAGED_ATTR);
137
+ if (target && managed) {
138
+ target.removeAttribute(managed);
139
+ target.removeAttribute(MANAGED_ATTR);
140
+ }
141
+ this.target = null;
142
+ }
143
+ /** Re-sync when the control is added after the label (async rendering). */
144
+ observe() {
145
+ if (this.observer || typeof MutationObserver === 'undefined')
146
+ return;
147
+ this.observer = new MutationObserver(() => {
148
+ if (this.resolveTarget() !== this.target)
149
+ this.sync();
150
+ });
151
+ this.observer.observe(this.host.getRootNode(), { childList: true, subtree: true });
152
+ }
153
+ disconnect() {
154
+ var _a;
155
+ (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
156
+ this.observer = undefined;
157
+ this.release();
158
+ }
159
+ /** Forward a click on the label to its control, as a native label would. */
160
+ handleClick(event) {
161
+ var _a, _b;
162
+ if (event.defaultPrevented)
163
+ return;
164
+ const target = this.resolveTarget();
165
+ if (!target)
166
+ return;
167
+ const path = event.composedPath();
168
+ // The click came from the control itself: it already handled it.
169
+ if (path.includes(target))
170
+ return;
171
+ // Don't hijack clicks on other interactive content placed inside the label.
172
+ for (const node of path) {
173
+ if (node === this.host)
174
+ break;
175
+ if (node instanceof HTMLElement && node.matches('a[href], button, input, select, textarea'))
176
+ return;
177
+ }
178
+ if (target.hasAttribute('disabled') || target.getAttribute('aria-disabled') === 'true')
179
+ return;
180
+ const toggle = (_a = target.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[role="checkbox"], [role="switch"]');
181
+ if (toggle) {
182
+ toggle.focus();
183
+ toggle.click();
184
+ return;
185
+ }
186
+ if (target instanceof HTMLInputElement &&
187
+ ['checkbox', 'radio', 'button', 'submit', 'reset'].includes(target.type)) {
188
+ target.focus();
189
+ target.click();
190
+ return;
191
+ }
192
+ if (target instanceof HTMLButtonElement) {
193
+ target.click();
194
+ return;
195
+ }
196
+ if (target.shadowRoot)
197
+ focusInside(target);
198
+ else
199
+ (_b = target.focus) === null || _b === void 0 ? void 0 : _b.call(target);
200
+ }
201
+ }
202
+
203
+ exports.LabelBinding = LabelBinding;