@vizejs/ui 0.387.0 → 0.388.0

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 (411) hide show
  1. package/dist/alert-BX93FNvj.d.mts +92 -0
  2. package/dist/alert-DvhiFK_R.mjs +92 -0
  3. package/dist/alert-dialog-D9tqXQ_Q.mjs +176 -0
  4. package/dist/alert-dialog.d.mts +2 -0
  5. package/dist/alert-dialog.mjs +3 -0
  6. package/dist/alert.d.mts +2 -0
  7. package/dist/alert.mjs +2 -0
  8. package/dist/announcer-CW079p2E.mjs +258 -0
  9. package/dist/announcer-DGr2Iz0i.d.mts +6829 -0
  10. package/dist/announcer.d.mts +2 -0
  11. package/dist/announcer.mjs +2 -0
  12. package/dist/aspect-ratio-DDqVT6Hg.d.mts +62 -0
  13. package/dist/aspect-ratio-_HLW6_5i.mjs +63 -0
  14. package/dist/aspect-ratio.d.mts +2 -0
  15. package/dist/aspect-ratio.mjs +2 -0
  16. package/dist/avatar-6fQfQ-1x.mjs +195 -0
  17. package/dist/avatar.d.mts +2 -0
  18. package/dist/avatar.mjs +2 -0
  19. package/dist/badge-BTOyu4i6.mjs +53 -0
  20. package/dist/badge.d.mts +2 -0
  21. package/dist/badge.mjs +2 -0
  22. package/dist/banner-CYiSiZJW.mjs +288 -0
  23. package/dist/banner.d.mts +2 -0
  24. package/dist/banner.mjs +2 -0
  25. package/dist/block-ui-Bd2m1m3K.mjs +111 -0
  26. package/dist/block-ui.d.mts +2 -0
  27. package/dist/block-ui.mjs +2 -0
  28. package/dist/blockquote-eTqp3b_r.mjs +65 -0
  29. package/dist/blockquote.d.mts +2 -0
  30. package/dist/blockquote.mjs +2 -0
  31. package/dist/breadcrumb-BvuPBfkj.mjs +212 -0
  32. package/dist/breadcrumb-Cdyh20z-.d.mts +202 -0
  33. package/dist/breadcrumb.d.mts +2 -0
  34. package/dist/breadcrumb.mjs +2 -0
  35. package/dist/{button-DYg1mIIq.d.mts → button-Dye0M41O.d.mts} +3 -3
  36. package/dist/{button-DT8AKlds.mjs → button-VVxUavbS.mjs} +6 -6
  37. package/dist/button-group-C_mR0Jfw.d.mts +137 -0
  38. package/dist/button-group-DyQbTCnY.mjs +418 -0
  39. package/dist/button-group.d.mts +2 -0
  40. package/dist/button-group.mjs +2 -0
  41. package/dist/button.d.mts +1 -1
  42. package/dist/button.mjs +2 -2
  43. package/dist/callout-DAu-98Ti.mjs +277 -0
  44. package/dist/callout.d.mts +2 -0
  45. package/dist/callout.mjs +2 -0
  46. package/dist/card-D94n04s5.mjs +66 -0
  47. package/dist/card.d.mts +2 -0
  48. package/dist/card.mjs +2 -0
  49. package/dist/catalog.d.mts +2112 -302
  50. package/dist/catalog.mjs +3831 -433
  51. package/dist/{checkbox-BgIvwjyC.mjs → checkbox-bM5y7vH8.mjs} +8 -8
  52. package/dist/checkbox.d.mts +1 -1
  53. package/dist/checkbox.mjs +2 -2
  54. package/dist/cluster-BWF028Xt.d.mts +133 -0
  55. package/dist/cluster-BydJTp9X.mjs +149 -0
  56. package/dist/cluster.d.mts +2 -0
  57. package/dist/cluster.mjs +2 -0
  58. package/dist/code-D93YXaeJ.mjs +66 -0
  59. package/dist/code.d.mts +2 -0
  60. package/dist/code.mjs +2 -0
  61. package/dist/collapsible-Cra5y_if.mjs +269 -0
  62. package/dist/collapsible.d.mts +2 -0
  63. package/dist/collapsible.mjs +2 -0
  64. package/dist/{collection-B_dFZOHO.d.mts → collection-BaPf8lgw.d.mts} +3 -3
  65. package/dist/{collection-eHN150dT.mjs → collection-Cncgrq4U.mjs} +5 -5
  66. package/dist/collection.d.mts +1 -1
  67. package/dist/collection.mjs +1 -1
  68. package/dist/command-CAH0yrMT.d.mts +105 -0
  69. package/dist/command.d.mts +2 -0
  70. package/dist/command.mjs +123 -0
  71. package/dist/{composite-navigation-Skx3LZsv.mjs → composite-navigation-D6WKS_BY.mjs} +4 -4
  72. package/dist/{composite-navigation-QINW9GLy.d.mts → composite-navigation-i7ocwmio.d.mts} +4 -4
  73. package/dist/composite-navigation.d.mts +1 -1
  74. package/dist/composite-navigation.mjs +1 -1
  75. package/dist/container-5lSCSbeX.mjs +113 -0
  76. package/dist/container-CYSiwCA-.d.mts +99 -0
  77. package/dist/container.d.mts +2 -0
  78. package/dist/container.mjs +2 -0
  79. package/dist/context-7SpwFHtK.d.mts +25 -0
  80. package/dist/context.d.mts +1 -24
  81. package/dist/context.mjs +1 -1
  82. package/dist/{controllable-state-BtoxKahh.d.mts → controllable-state-CZZF9Pw5.d.mts} +1 -1
  83. package/dist/controllable-state.d.mts +1 -1
  84. package/dist/controllable-state.mjs +1 -1
  85. package/dist/copy-button-BH2em7nG.mjs +212 -0
  86. package/dist/copy-button.d.mts +2 -0
  87. package/dist/copy-button.mjs +2 -0
  88. package/dist/{id-BV9AJ3cm.d.mts → deterministic-id-DYQJ7KzM.d.mts} +2 -35
  89. package/dist/{id-mziSyAse.mjs → deterministic-id-yMq4HfmS.mjs} +3 -46
  90. package/dist/dialog-trigger-ppGKikEP.mjs +717 -0
  91. package/dist/dialog.d.mts +2 -0
  92. package/dist/dialog.mjs +2 -0
  93. package/dist/{dismissable-layer-4icKahVs.d.mts → dismissable-layer-CTWSFZwj.d.mts} +2 -2
  94. package/dist/{dismissable-layer-CwG1gtdz.mjs → dismissable-layer-CpS07KUV.mjs} +3 -3
  95. package/dist/dismissable-layer.d.mts +1 -1
  96. package/dist/dismissable-layer.mjs +1 -1
  97. package/dist/drag-and-drop-BjYgWGcG.mjs +918 -0
  98. package/dist/drag-and-drop-CagE25Kt.d.mts +47 -0
  99. package/dist/drag-and-drop-controller-types-DoTSR_aM.d.mts +304 -0
  100. package/dist/drag-and-drop.d.mts +3 -0
  101. package/dist/drag-and-drop.mjs +2 -0
  102. package/dist/empty-state-DtyOxCA4.mjs +73 -0
  103. package/dist/empty-state.d.mts +2 -0
  104. package/dist/empty-state.mjs +2 -0
  105. package/dist/error-summary-6Xis_769.d.mts +65 -0
  106. package/dist/error-summary-DMe4IlM9.mjs +209 -0
  107. package/dist/error-summary-types-5ePaC9O3.d.mts +74 -0
  108. package/dist/error-summary.d.mts +3 -0
  109. package/dist/error-summary.mjs +2 -0
  110. package/dist/field-CBs2-Z9B.mjs +254 -0
  111. package/dist/field-WWPaJT1x.d.mts +235 -0
  112. package/dist/field-wiring-9Fy-G1rf.d.mts +14 -0
  113. package/dist/field-wiring-runtime-fQ3GoLuG.mjs +64 -0
  114. package/dist/field-wiring-types-Bfyis5hO.d.mts +73 -0
  115. package/dist/field-wiring.d.mts +3 -0
  116. package/dist/field-wiring.mjs +2 -0
  117. package/dist/field.d.mts +2 -0
  118. package/dist/field.mjs +2 -0
  119. package/dist/{focus-CAWi_I-0.mjs → focus-XxVWOwbs.mjs} +3 -3
  120. package/dist/{focus-K6dOifoZ.d.mts → focus-eObxGOtP.d.mts} +2 -2
  121. package/dist/{focus-guards-Bt0C-0qS.d.mts → focus-guards-BZa7vm6O.d.mts} +2 -2
  122. package/dist/{focus-guards-DhMPQAT8.mjs → focus-guards-DSxiemx7.mjs} +4 -4
  123. package/dist/focus-guards.d.mts +1 -1
  124. package/dist/focus-guards.mjs +1 -1
  125. package/dist/{focus-scope-CavhKWx0.d.mts → focus-scope-CsnioDR4.d.mts} +3 -3
  126. package/dist/{focus-scope-dom-DBwNEWxG.mjs → focus-scope-dom-L_EC5GsX.mjs} +2 -2
  127. package/dist/{focus-scope-D9U1aj67.mjs → focus-scope-mEg8UoeE.mjs} +5 -5
  128. package/dist/focus-scope.d.mts +1 -1
  129. package/dist/focus-scope.mjs +1 -1
  130. package/dist/focus.d.mts +1 -1
  131. package/dist/focus.mjs +1 -1
  132. package/dist/form-1V2V30Sv.d.mts +20 -0
  133. package/dist/form-runtime-CcMDY0Iq.mjs +166 -0
  134. package/dist/form-types-DXwZRLcs.d.mts +183 -0
  135. package/dist/form.d.mts +3 -0
  136. package/dist/form.mjs +2 -0
  137. package/dist/fullscreen-button-NTbC4R0W.mjs +276 -0
  138. package/dist/fullscreen-button.d.mts +2 -0
  139. package/dist/fullscreen-button.mjs +2 -0
  140. package/dist/grid-BSM9h2dL.d.mts +154 -0
  141. package/dist/grid-DeC4Wn7Y.mjs +157 -0
  142. package/dist/grid.d.mts +2 -0
  143. package/dist/grid.mjs +2 -0
  144. package/dist/heading-DToVOKV3.mjs +86 -0
  145. package/dist/heading.d.mts +2 -0
  146. package/dist/heading.mjs +2 -0
  147. package/dist/history-BDgNOjcV.mjs +304 -0
  148. package/dist/history-BkcOSOWb.d.mts +157 -0
  149. package/dist/history.d.mts +2 -0
  150. package/dist/history.mjs +2 -0
  151. package/dist/{hover-BXwwbSaO.d.mts → hover-ZiPRiZkb.d.mts} +2 -2
  152. package/dist/hover.d.mts +1 -1
  153. package/dist/hover.mjs +1 -1
  154. package/dist/icon-DhTTndMu.mjs +233 -0
  155. package/dist/icon-button-BuXquME1.mjs +188 -0
  156. package/dist/icon-button.d.mts +2 -0
  157. package/dist/icon-button.mjs +2 -0
  158. package/dist/icon.d.mts +2 -0
  159. package/dist/icon.mjs +2 -0
  160. package/dist/id-BYG8aXPF.mjs +47 -0
  161. package/dist/id-Ba8FHjAo.d.mts +34 -0
  162. package/dist/id.d.mts +2 -1
  163. package/dist/id.mjs +3 -2
  164. package/dist/index.d.mts +74 -24
  165. package/dist/index.mjs +113 -21
  166. package/dist/{inert-outside-tuHRmaqJ.d.mts → inert-outside-B6KdwAHY.d.mts} +2 -2
  167. package/dist/{inert-outside-CyqtoKQ4.mjs → inert-outside-DOufBTyy.mjs} +4 -4
  168. package/dist/inert-outside.d.mts +1 -1
  169. package/dist/inert-outside.mjs +1 -1
  170. package/dist/input-Blyx59CR.mjs +256 -0
  171. package/dist/input-C0fgeRnS.d.mts +159 -0
  172. package/dist/input.d.mts +2 -0
  173. package/dist/input.mjs +2 -0
  174. package/dist/{interaction-modality-DOZK0BpZ.mjs → interaction-modality-BHnjtU4S.mjs} +3 -3
  175. package/dist/{interaction-modality-jgHKjPFB.d.mts → interaction-modality-BTiZ7j98.d.mts} +2 -2
  176. package/dist/interaction-modality.d.mts +1 -1
  177. package/dist/interaction-modality.mjs +1 -1
  178. package/dist/kbd-sJdXIdIm.mjs +66 -0
  179. package/dist/kbd.d.mts +2 -0
  180. package/dist/kbd.mjs +2 -0
  181. package/dist/link-DDaCjrI5.mjs +154 -0
  182. package/dist/link-MbRDN6wJ.d.mts +94 -0
  183. package/dist/link.d.mts +2 -0
  184. package/dist/link.mjs +2 -0
  185. package/dist/list-DjyCLVfG.mjs +66 -0
  186. package/dist/list.d.mts +2 -0
  187. package/dist/list.mjs +2 -0
  188. package/dist/listbox-IaqaoiRn.mjs +549 -0
  189. package/dist/listbox.d.mts +2 -0
  190. package/dist/listbox.mjs +2 -0
  191. package/dist/live-region-DYSpwCTk.mjs +48 -0
  192. package/dist/live-region-G1iobPK5.d.mts +67 -0
  193. package/dist/live-region-runtime-DVUch8Lu.mjs +62 -0
  194. package/dist/live-region.d.mts +2 -0
  195. package/dist/live-region.mjs +3 -0
  196. package/dist/locale-DzWqhJZs.mjs +206 -0
  197. package/dist/locale.d.mts +2 -0
  198. package/dist/locale.mjs +2 -0
  199. package/dist/{long-press-cll6z2K9.d.mts → long-press-DyYxp191.d.mts} +3 -3
  200. package/dist/{long-press-Dsul69gk.mjs → long-press-yJk5zK0j.mjs} +4 -4
  201. package/dist/long-press.d.mts +1 -1
  202. package/dist/long-press.mjs +1 -1
  203. package/dist/measure-4I0YOAXD.d.mts +97 -0
  204. package/dist/measure-runtime-C4qYJp3_.mjs +170 -0
  205. package/dist/measure.d.mts +2 -0
  206. package/dist/measure.mjs +2 -0
  207. package/dist/media-pdf.d.mts +1 -1
  208. package/dist/media-pdf.mjs +1 -1
  209. package/dist/media-source.d.mts +1 -1
  210. package/dist/media-source.mjs +1 -1
  211. package/dist/media.d.mts +1 -1
  212. package/dist/media.mjs +1 -1
  213. package/dist/meter-B3m17_8g.d.mts +174 -0
  214. package/dist/meter-BwOXVWH8.mjs +243 -0
  215. package/dist/meter.d.mts +2 -0
  216. package/dist/meter.mjs +2 -0
  217. package/dist/motion-OdERKfZR.mjs +174 -0
  218. package/dist/motion-iUSBdWaI.d.mts +98 -0
  219. package/dist/motion.d.mts +2 -0
  220. package/dist/motion.mjs +2 -0
  221. package/dist/{move-BOmXDYbh.d.mts → move-BJGaV7Y9.d.mts} +2 -2
  222. package/dist/move-internal-BM_7g70h.mjs +172 -0
  223. package/dist/move.d.mts +1 -1
  224. package/dist/move.mjs +216 -1
  225. package/dist/native-select-H9qvaqQH.mjs +309 -0
  226. package/dist/native-select.d.mts +2 -0
  227. package/dist/native-select.mjs +2 -0
  228. package/dist/pagination-Bs4SBSE4.mjs +791 -0
  229. package/dist/pagination.d.mts +2 -0
  230. package/dist/pagination.mjs +2 -0
  231. package/dist/{pdf-source-zu1LkCeE.mjs → pdf-source-B5JSDKkQ.mjs} +1 -1
  232. package/dist/{pdf-source-BYFK2Pks.d.mts → pdf-source-adS6ZSmR.d.mts} +1 -1
  233. package/dist/pointer-grace-CAFcO4om.d.mts +57 -0
  234. package/dist/pointer-grace-DI0G3oRJ.mjs +162 -0
  235. package/dist/pointer-grace.d.mts +2 -0
  236. package/dist/pointer-grace.mjs +2 -0
  237. package/dist/popover-DeENBKXE.mjs +714 -0
  238. package/dist/popover.d.mts +2 -0
  239. package/dist/popover.mjs +2 -0
  240. package/dist/portal-DeHaLxGL.mjs +114 -0
  241. package/dist/portal-DhWXejr1.d.mts +71 -0
  242. package/dist/portal.d.mts +2 -0
  243. package/dist/portal.mjs +2 -0
  244. package/dist/positioner-BYJVA3Uy.d.mts +477 -0
  245. package/dist/positioner-BYmQk86M.mjs +38 -0
  246. package/dist/positioner-DaPo2YxM.mjs +708 -0
  247. package/dist/positioner.d.mts +2 -0
  248. package/dist/positioner.mjs +3 -0
  249. package/dist/presence-Bhv1qtvn.d.mts +57 -0
  250. package/dist/presence-CTG1EV3w.mjs +62 -0
  251. package/dist/presence-runtime-CYwCafSh.mjs +105 -0
  252. package/dist/presence-types-CRB4HbML.d.mts +45 -0
  253. package/dist/presence.d.mts +3 -0
  254. package/dist/presence.mjs +3 -0
  255. package/dist/{press-N_mE3Mgx.mjs → press-BjLm6bKg.mjs} +6 -6
  256. package/dist/press-R0_juZq2.d.mts +14 -0
  257. package/dist/{press-event-Cd2OPpmw.mjs → press-event-xlWYF9py.mjs} +1 -1
  258. package/dist/{press-types-CNqStzJf.d.mts → press-types-DfTNpqby.d.mts} +1 -1
  259. package/dist/press.d.mts +2 -13
  260. package/dist/press.mjs +1 -1
  261. package/dist/{primitive-C8jW7DLd.d.mts → primitive-BE2mdUcw.d.mts} +2 -2
  262. package/dist/{primitive-BX31dogp.mjs → primitive-beb2EEOc.mjs} +5 -5
  263. package/dist/primitive.d.mts +1 -1
  264. package/dist/primitive.mjs +2 -2
  265. package/dist/print-button-FqD5HqTV.mjs +206 -0
  266. package/dist/print-button.d.mts +2 -0
  267. package/dist/print-button.mjs +2 -0
  268. package/dist/progress--vbV2wTx.mjs +145 -0
  269. package/dist/progress-C4PlKwWq.d.mts +128 -0
  270. package/dist/progress-bar-BqS94auR.mjs +301 -0
  271. package/dist/progress-bar.d.mts +2 -0
  272. package/dist/progress-bar.mjs +2 -0
  273. package/dist/progress.d.mts +2 -0
  274. package/dist/progress.mjs +2 -0
  275. package/dist/radio-group-DbTmWcxl.mjs +317 -0
  276. package/dist/radio-group.d.mts +2 -0
  277. package/dist/radio-group.mjs +2 -0
  278. package/dist/rating-BjKLGPP6.mjs +569 -0
  279. package/dist/rating-souDdL9t.d.mts +273 -0
  280. package/dist/rating.d.mts +2 -0
  281. package/dist/rating.mjs +2 -0
  282. package/dist/scroll-area-BRSwoi9w.mjs +338 -0
  283. package/dist/scroll-area.d.mts +2 -0
  284. package/dist/scroll-area.mjs +2 -0
  285. package/dist/{scroll-lock-Ckbmm0-J.mjs → scroll-lock-BcmK0baN.mjs} +4 -4
  286. package/dist/{scroll-lock-BgVtX4wT.d.mts → scroll-lock-OfSQnfi0.d.mts} +2 -2
  287. package/dist/scroll-lock.d.mts +1 -1
  288. package/dist/scroll-lock.mjs +1 -1
  289. package/dist/search-field-70Kr2616.mjs +319 -0
  290. package/dist/search-field-Biw9vApG.d.mts +158 -0
  291. package/dist/search-field.d.mts +2 -0
  292. package/dist/search-field.mjs +2 -0
  293. package/dist/separator-CnNDqbdR.d.mts +59 -0
  294. package/dist/separator-DDj3tEAz.mjs +66 -0
  295. package/dist/separator.d.mts +2 -0
  296. package/dist/separator.mjs +2 -0
  297. package/dist/share-button-DfvUDFC-.mjs +243 -0
  298. package/dist/share-button.d.mts +2 -0
  299. package/dist/share-button.mjs +2 -0
  300. package/dist/shortcut-CvA_o0_F.mjs +631 -0
  301. package/dist/shortcut-DAZJ9LEd.d.mts +231 -0
  302. package/dist/shortcut.d.mts +2 -0
  303. package/dist/shortcut.mjs +2 -0
  304. package/dist/skeleton-BYXXcwTH.mjs +101 -0
  305. package/dist/skeleton-CQW-Tsnt.d.mts +99 -0
  306. package/dist/skeleton.d.mts +2 -0
  307. package/dist/skeleton.mjs +2 -0
  308. package/dist/skip-link-BUp9HXXt.mjs +164 -0
  309. package/dist/skip-link-DHDrtnP2.d.mts +98 -0
  310. package/dist/skip-link.d.mts +2 -0
  311. package/dist/skip-link.mjs +2 -0
  312. package/dist/slider-BiZSZLDp.mjs +475 -0
  313. package/dist/slider-CYBbxeNy.d.mts +246 -0
  314. package/dist/slider.d.mts +2 -0
  315. package/dist/slider.mjs +2 -0
  316. package/dist/sortable-BntjgYra.mjs +499 -0
  317. package/dist/sortable-DQl92bwo.d.mts +206 -0
  318. package/dist/sortable.d.mts +2 -0
  319. package/dist/sortable.mjs +2 -0
  320. package/dist/spacer-Bc0dInvi.mjs +117 -0
  321. package/dist/spacer-DFstG4G-.d.mts +105 -0
  322. package/dist/spacer.d.mts +2 -0
  323. package/dist/spacer.mjs +2 -0
  324. package/dist/{spatial-navigation-CHj9mDZH.d.mts → spatial-navigation-BPVJGSiJ.d.mts} +3 -3
  325. package/dist/{spatial-navigation-D6-UDavU.mjs → spatial-navigation-DwcUYMyc.mjs} +2 -2
  326. package/dist/spatial-navigation.d.mts +1 -1
  327. package/dist/spatial-navigation.mjs +1 -1
  328. package/dist/spinner-JnRs8fp-.d.mts +155 -0
  329. package/dist/spinner-bizL-oOg.mjs +200 -0
  330. package/dist/spinner.d.mts +2 -0
  331. package/dist/spinner.mjs +2 -0
  332. package/dist/stack-C7DOIxo-.mjs +137 -0
  333. package/dist/stack-CPtBckZB.d.mts +127 -0
  334. package/dist/stack.d.mts +2 -0
  335. package/dist/stack.mjs +2 -0
  336. package/dist/status-light-BGWgQRRf.mjs +125 -0
  337. package/dist/status-light.d.mts +2 -0
  338. package/dist/status-light.mjs +2 -0
  339. package/dist/stepper-CwX6BZaN.mjs +912 -0
  340. package/dist/stepper.d.mts +2 -0
  341. package/dist/stepper.mjs +2 -0
  342. package/dist/style.css +1 -1
  343. package/dist/surface-C2fnxL3g.mjs +102 -0
  344. package/dist/surface.d.mts +2 -0
  345. package/dist/surface.mjs +2 -0
  346. package/dist/switch-Ck5YmfXb.mjs +197 -0
  347. package/dist/switch.d.mts +2 -0
  348. package/dist/switch.mjs +2 -0
  349. package/dist/table-BxU7htxc.mjs +349 -0
  350. package/dist/table-Ce3yWwlH.d.mts +415 -0
  351. package/dist/table.d.mts +2 -0
  352. package/dist/table.mjs +2 -0
  353. package/dist/tabs-DSXIomI_.mjs +595 -0
  354. package/dist/tabs.d.mts +2 -0
  355. package/dist/tabs.mjs +2 -0
  356. package/dist/text-BVeNKPiv.mjs +76 -0
  357. package/dist/text.d.mts +2 -0
  358. package/dist/text.mjs +2 -0
  359. package/dist/textarea-4eIDNcvv.d.mts +175 -0
  360. package/dist/textarea-BZimEPBR.mjs +279 -0
  361. package/dist/textarea.d.mts +2 -0
  362. package/dist/textarea.mjs +2 -0
  363. package/dist/theme-C8Crmb8V.mjs +139 -0
  364. package/dist/theme-CNK06Pja.d.mts +38 -0
  365. package/dist/theme-constants-DAwnxG-P.mjs +29 -0
  366. package/dist/theme-preset-atelier.css +1 -0
  367. package/dist/theme-preset-headless.css +1 -0
  368. package/dist/theme-preset-high-contrast.css +1 -0
  369. package/dist/theme-preset-midnight.css +1 -0
  370. package/dist/theme-preset-paper.css +1 -0
  371. package/dist/theme-preset-play.css +1 -0
  372. package/dist/theme-preset-signal.css +1 -0
  373. package/dist/theme-scope.d.mts +25 -0
  374. package/dist/theme-scope.mjs +89 -0
  375. package/dist/theme-types-CkIa4Sa3.d.mts +71 -0
  376. package/dist/theme.css +1 -0
  377. package/dist/theme.d.mts +3 -0
  378. package/dist/theme.mjs +3 -0
  379. package/dist/toggle-CBTXzwze.mjs +141 -0
  380. package/dist/toggle-group-DO7eGEs3.d.mts +147 -0
  381. package/dist/toggle-group-DybU9N7k.mjs +523 -0
  382. package/dist/toggle-group.d.mts +2 -0
  383. package/dist/toggle-group.mjs +2 -0
  384. package/dist/toggle.d.mts +2 -0
  385. package/dist/toggle.mjs +2 -0
  386. package/dist/toolbar-CIU1bor0.d.mts +259 -0
  387. package/dist/toolbar-CXE8YCX-.mjs +425 -0
  388. package/dist/toolbar.d.mts +2 -0
  389. package/dist/toolbar.mjs +2 -0
  390. package/dist/tooltip-Cgii5xMx.mjs +485 -0
  391. package/dist/tooltip.d.mts +2 -0
  392. package/dist/tooltip.mjs +2 -0
  393. package/dist/transition-BmgFyzA6.mjs +168 -0
  394. package/dist/transition-BtIWNEFU.d.mts +82 -0
  395. package/dist/transition.d.mts +2 -0
  396. package/dist/transition.mjs +2 -0
  397. package/dist/{typeahead-B7KDxE_u.mjs → typeahead-DZSBI5m5.mjs} +2 -2
  398. package/dist/{typeahead-BbgUB2Bj.d.mts → typeahead-Dl6w5PAN.d.mts} +3 -3
  399. package/dist/typeahead.d.mts +1 -1
  400. package/dist/typeahead.mjs +1 -1
  401. package/dist/virtualizer-BlxKjT3W.mjs +793 -0
  402. package/dist/virtualizer-D9qfT4wS.d.mts +349 -0
  403. package/dist/virtualizer.d.mts +2 -0
  404. package/dist/virtualizer.mjs +2 -0
  405. package/dist/{visually-hidden-BOqfqBFt.d.mts → visually-hidden-CUr9BX0K.d.mts} +1 -1
  406. package/dist/{visually-hidden-BwDOx5yf.mjs → visually-hidden-SDjRJYRK.mjs} +5 -5
  407. package/dist/visually-hidden.d.mts +1 -1
  408. package/dist/visually-hidden.mjs +2 -2
  409. package/package.json +426 -7
  410. package/dist/checkbox-DP3_ko7D.d.mts +0 -61
  411. package/dist/move-BVvMHzxr.mjs +0 -386
@@ -0,0 +1,92 @@
1
+ import { ShallowRef } from "vue";
2
+
3
+ //#region src/families/feedback/alert/alert-types.d.ts
4
+ /** ARIA live-region roles accepted by the Alert primitive. */
5
+ type AlertRole = "alert" | "status";
6
+ /** Consumer styling variants exposed only through data attributes and slot state. */
7
+ type AlertVariant = "danger" | "info" | "success" | "warning";
8
+ /** Visibility state exposed to data attributes and slot consumers. */
9
+ type AlertState = "closed" | "open";
10
+ /** State exposed to the default slot for external chrome and dismissal composition. */
11
+ interface AlertSlotState {
12
+ /** Whether the alert is currently visible and announceable. */
13
+ readonly open: boolean;
14
+ /** ARIA role used by the alert root. */
15
+ readonly role: AlertRole;
16
+ /** Visibility state mirrored to `data-state`. */
17
+ readonly state: AlertState;
18
+ /** Styling variant mirrored to `data-variant`. */
19
+ readonly variant: AlertVariant;
20
+ }
21
+ /** Methods and state exposed by the alert component instance. */
22
+ interface AlertExpose {
23
+ /** Rendered alert root for composition with application-owned effects. */
24
+ readonly element: Readonly<ShallowRef<HTMLDivElement | null>>;
25
+ }
26
+ //#endregion
27
+ //#region src/families/feedback/alert/alert.vue.d.ts
28
+ type __VLS_Props = {
29
+ /**
30
+ * Consumer-owned root id for labels, descriptions, or anchors.
31
+ *
32
+ * @default undefined
33
+ */
34
+ readonly id?: string;
35
+ /**
36
+ * Live-region role: `alert` is assertive, `status` is polite.
37
+ *
38
+ * @default "alert"
39
+ */
40
+ readonly role?: AlertRole;
41
+ /**
42
+ * Styling variant mirrored to `data-variant`; no CSS is emitted.
43
+ *
44
+ * @default "info"
45
+ */
46
+ readonly variant?: AlertVariant;
47
+ /**
48
+ * Whether the alert is visible and announceable.
49
+ *
50
+ * @default true
51
+ */
52
+ readonly open?: boolean;
53
+ /**
54
+ * Whether assistive technology should present the whole region on updates.
55
+ *
56
+ * @default true
57
+ */
58
+ readonly atomic?: boolean;
59
+ /**
60
+ * Accessible name when no visible label or `aria-labelledby` supplies one.
61
+ *
62
+ * @default undefined
63
+ */
64
+ readonly ariaLabel?: string;
65
+ /**
66
+ * Space-separated ids that label the alert.
67
+ *
68
+ * @default undefined
69
+ */
70
+ readonly ariaLabelledby?: string;
71
+ /**
72
+ * Space-separated ids that describe the alert.
73
+ *
74
+ * @default undefined
75
+ */
76
+ readonly ariaDescribedby?: string;
77
+ };
78
+ type __VLS_Slots = {
79
+ /** Renders alert content with current role, variant, and visibility state. */default(props: AlertSlotState): unknown;
80
+ };
81
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
82
+ element: Readonly<import("vue").ShallowRef<HTMLDivElement | null>>;
83
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
84
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
85
+ declare const _default: typeof __VLS_export;
86
+ type __VLS_WithSlots<T, S> = T & {
87
+ new (): {
88
+ $slots: S;
89
+ };
90
+ };
91
+ //#endregion
92
+ export { AlertState as a, AlertSlotState as i, AlertExpose as n, AlertVariant as o, AlertRole as r, _default as t };
@@ -0,0 +1,92 @@
1
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
+ import { computed, createElementBlock, defineComponent, openBlock, renderSlot, useTemplateRef } from "vue";
3
+ //#region src/families/feedback/alert/alert.vue?vue&type=script&setup=true&lang.ts
4
+ const _hoisted_1 = [
5
+ "id",
6
+ "role",
7
+ "hidden",
8
+ "aria-label",
9
+ "aria-labelledby",
10
+ "aria-describedby",
11
+ "aria-live",
12
+ "aria-atomic",
13
+ "data-state",
14
+ "data-variant"
15
+ ];
16
+ //#endregion
17
+ //#region src/families/feedback/alert/alert.vue
18
+ var alert_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
19
+ __name: "alert",
20
+ props: {
21
+ id: {
22
+ type: String,
23
+ required: false,
24
+ default: () => void 0
25
+ },
26
+ role: {
27
+ type: String,
28
+ required: false,
29
+ default: "alert"
30
+ },
31
+ variant: {
32
+ type: String,
33
+ required: false,
34
+ default: "info"
35
+ },
36
+ open: {
37
+ type: Boolean,
38
+ required: false,
39
+ default: true
40
+ },
41
+ atomic: {
42
+ type: Boolean,
43
+ required: false,
44
+ default: true
45
+ },
46
+ ariaLabel: {
47
+ type: String,
48
+ required: false,
49
+ default: () => void 0
50
+ },
51
+ ariaLabelledby: {
52
+ type: String,
53
+ required: false,
54
+ default: () => void 0
55
+ },
56
+ ariaDescribedby: {
57
+ type: String,
58
+ required: false,
59
+ default: () => void 0
60
+ }
61
+ },
62
+ setup(__props, { expose: __expose }) {
63
+ const element = useTemplateRef("element");
64
+ const live = computed(() => __props.role === "alert" ? "assertive" : "polite");
65
+ const state = computed(() => __props.open ? "open" : "closed");
66
+ __expose({ element });
67
+ return (_ctx, _cache) => {
68
+ return openBlock(), createElementBlock("div", {
69
+ id: __props.id,
70
+ ref_key: "element",
71
+ ref: element,
72
+ role: __props.role,
73
+ hidden: __props.open ? void 0 : true,
74
+ "aria-label": __props.ariaLabel,
75
+ "aria-labelledby": __props.ariaLabelledby,
76
+ "aria-describedby": __props.ariaDescribedby,
77
+ "aria-live": live.value,
78
+ "aria-atomic": __props.atomic ? "true" : "false",
79
+ "data-vize-ui": "alert",
80
+ "data-state": state.value,
81
+ "data-variant": __props.variant
82
+ }, [renderSlot(_ctx.$slots, "default", {
83
+ open: __props.open,
84
+ role: __props.role,
85
+ state: state.value,
86
+ variant: __props.variant
87
+ }, void 0, true)], 8, _hoisted_1);
88
+ };
89
+ }
90
+ }), [["__scopeId", "data-v-308a7e89"]]);
91
+ //#endregion
92
+ export { alert_default as t };
@@ -0,0 +1,176 @@
1
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
+ import { l as dialogContext, o as dialog_content_default } from "./dialog-trigger-ppGKikEP.mjs";
3
+ import { computed, createElementBlock, createVNode, defineComponent, guardReactiveProps, normalizeProps, openBlock, renderSlot, useTemplateRef, withCtx } from "vue";
4
+ //#region src/families/overlays/alert-dialog/alert-dialog-content.vue?vue&type=script&setup=true&lang.ts
5
+ const _hoisted_1 = ["data-state", "data-modal"];
6
+ //#endregion
7
+ //#region src/families/overlays/alert-dialog/alert-dialog-content.vue
8
+ var alert_dialog_content_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
9
+ __name: "alert-dialog-content",
10
+ props: {
11
+ forceMount: {
12
+ type: Boolean,
13
+ required: false,
14
+ default: false
15
+ },
16
+ trapFocus: {
17
+ type: Boolean,
18
+ required: false,
19
+ default: true
20
+ },
21
+ autoFocus: {
22
+ type: Boolean,
23
+ required: false,
24
+ default: true
25
+ },
26
+ restoreFocus: {
27
+ type: Boolean,
28
+ required: false,
29
+ default: true
30
+ },
31
+ inertOutside: {
32
+ type: Boolean,
33
+ required: false,
34
+ default: true
35
+ },
36
+ lockScroll: {
37
+ type: Boolean,
38
+ required: false,
39
+ default: true
40
+ },
41
+ closeOnEscape: {
42
+ type: Boolean,
43
+ required: false,
44
+ default: true
45
+ },
46
+ closeOnPointerDownOutside: {
47
+ type: Boolean,
48
+ required: false,
49
+ default: false
50
+ },
51
+ closeOnFocusOutside: {
52
+ type: Boolean,
53
+ required: false,
54
+ default: false
55
+ },
56
+ ariaLabel: {
57
+ type: String,
58
+ required: false,
59
+ default: () => void 0
60
+ },
61
+ ariaLabelledby: {
62
+ type: [String, null],
63
+ required: false,
64
+ default: () => void 0
65
+ },
66
+ ariaDescribedby: {
67
+ type: [String, null],
68
+ required: false,
69
+ default: () => void 0
70
+ }
71
+ },
72
+ emits: [
73
+ "open-auto-focus",
74
+ "close-auto-focus",
75
+ "escape-key-down",
76
+ "pointer-down-outside",
77
+ "focus-outside",
78
+ "interact-outside",
79
+ "dismiss"
80
+ ],
81
+ setup(__props, { expose: __expose, emit: __emit }) {
82
+ const emit = __emit;
83
+ const context = dialogContext.use();
84
+ const content = useTemplateRef("content");
85
+ const element = computed(() => content.value?.element ?? null);
86
+ const open = computed(() => context.open.value);
87
+ const modal = computed(() => context.modal.value);
88
+ const state = computed(() => context.state.value);
89
+ const slotState = computed(() => ({
90
+ modal: modal.value,
91
+ open: open.value,
92
+ state: state.value
93
+ }));
94
+ function focusContent(options) {
95
+ content.value?.focusContent(options);
96
+ }
97
+ __expose({
98
+ element,
99
+ focusContent,
100
+ focusFirst: () => content.value?.focusFirst() ?? null,
101
+ modal,
102
+ open,
103
+ state
104
+ });
105
+ function onOpenAutoFocus(event) {
106
+ emit("open-auto-focus", event);
107
+ }
108
+ function onCloseAutoFocus(event) {
109
+ emit("close-auto-focus", event);
110
+ }
111
+ function onEscapeKeyDown(event) {
112
+ emit("escape-key-down", event);
113
+ }
114
+ function onPointerDownOutside(event) {
115
+ emit("pointer-down-outside", event);
116
+ }
117
+ function onFocusOutside(event) {
118
+ emit("focus-outside", event);
119
+ }
120
+ function onInteractOutside(event) {
121
+ emit("interact-outside", event);
122
+ }
123
+ function onDismiss(event) {
124
+ emit("dismiss", event);
125
+ }
126
+ return (_ctx, _cache) => {
127
+ return openBlock(), createElementBlock("div", {
128
+ "data-vize-ui": "alert-dialog-content",
129
+ part: "root",
130
+ "data-state": state.value,
131
+ "data-modal": modal.value ? "true" : "false"
132
+ }, [createVNode(dialog_content_default, {
133
+ ref_key: "content",
134
+ ref: content,
135
+ role: "alertdialog",
136
+ "force-mount": __props.forceMount,
137
+ "trap-focus": __props.trapFocus,
138
+ "auto-focus": __props.autoFocus,
139
+ "restore-focus": __props.restoreFocus,
140
+ "inert-outside": __props.inertOutside,
141
+ "lock-scroll": __props.lockScroll,
142
+ "close-on-escape": __props.closeOnEscape,
143
+ "close-on-pointer-down-outside": __props.closeOnPointerDownOutside,
144
+ "close-on-focus-outside": __props.closeOnFocusOutside,
145
+ "aria-label": __props.ariaLabel,
146
+ "aria-labelledby": __props.ariaLabelledby,
147
+ "aria-describedby": __props.ariaDescribedby,
148
+ onOpenAutoFocus,
149
+ onCloseAutoFocus,
150
+ onEscapeKeyDown,
151
+ onPointerDownOutside,
152
+ onFocusOutside,
153
+ onInteractOutside,
154
+ onDismiss
155
+ }, {
156
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotState.value)), void 0, true)]),
157
+ _: 3
158
+ }, 8, [
159
+ "force-mount",
160
+ "trap-focus",
161
+ "auto-focus",
162
+ "restore-focus",
163
+ "inert-outside",
164
+ "lock-scroll",
165
+ "close-on-escape",
166
+ "close-on-pointer-down-outside",
167
+ "close-on-focus-outside",
168
+ "aria-label",
169
+ "aria-labelledby",
170
+ "aria-describedby"
171
+ ])], 8, _hoisted_1);
172
+ };
173
+ }
174
+ }), [["__scopeId", "data-v-03cd685d"]]);
175
+ //#endregion
176
+ export { alert_dialog_content_default as t };
@@ -0,0 +1,2 @@
1
+ import { Ao as AlertDialogDescriptionExpose, Bo as _default$5, Do as AlertDialogAutoFocusEvent, Eo as AlertDialogActionExpose, Fo as AlertDialogState, Go as _default, Ho as _default$3, Io as AlertDialogTitleExpose, Lo as AlertDialogTriggerExpose, Mo as AlertDialogPortalExpose, No as AlertDialogRootExpose, Oo as AlertDialogCancelExpose, Po as AlertDialogSlotState, Ro as _default$7, To as _default$2, Vo as _default$4, Wo as _default$1, jo as AlertDialogOverlayExpose, ko as AlertDialogContentExpose, zo as _default$6 } from "./announcer-DGr2Iz0i.mjs";
2
+ export { _default as AlertDialog, _default as AlertDialogRoot, _default$1 as AlertDialogAction, _default$1 as AlertDialogCancel, type AlertDialogActionExpose, type AlertDialogAutoFocusEvent, type AlertDialogCancelExpose, _default$2 as AlertDialogContent, type AlertDialogContentExpose, _default$3 as AlertDialogDescription, type AlertDialogDescriptionExpose, _default$4 as AlertDialogOverlay, type AlertDialogOverlayExpose, _default$5 as AlertDialogPortal, type AlertDialogPortalExpose, type AlertDialogRootExpose, type AlertDialogSlotState, type AlertDialogState, _default$6 as AlertDialogTitle, type AlertDialogTitleExpose, _default$7 as AlertDialogTrigger, type AlertDialogTriggerExpose };
@@ -0,0 +1,3 @@
1
+ import { a as dialog_description_default, c as dialog_root_default, i as dialog_overlay_default, n as dialog_title_default, r as dialog_portal_default, s as dialog_close_default, t as dialog_trigger_default } from "./dialog-trigger-ppGKikEP.mjs";
2
+ import { t as alert_dialog_content_default } from "./alert-dialog-D9tqXQ_Q.mjs";
3
+ export { dialog_root_default as AlertDialog, dialog_root_default as AlertDialogRoot, dialog_close_default as AlertDialogAction, dialog_close_default as AlertDialogCancel, alert_dialog_content_default as AlertDialogContent, dialog_description_default as AlertDialogDescription, dialog_overlay_default as AlertDialogOverlay, dialog_portal_default as AlertDialogPortal, dialog_title_default as AlertDialogTitle, dialog_trigger_default as AlertDialogTrigger };
@@ -0,0 +1,2 @@
1
+ import { a as AlertState, i as AlertSlotState, n as AlertExpose, o as AlertVariant, r as AlertRole, t as _default } from "./alert-BX93FNvj.mjs";
2
+ export { _default as Alert, type AlertExpose, type AlertRole, type AlertSlotState, type AlertState, type AlertVariant };
package/dist/alert.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import { t as alert_default } from "./alert-DvhiFK_R.mjs";
2
+ export { alert_default as Alert };
@@ -0,0 +1,258 @@
1
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
+ import { createContext } from "./context.mjs";
3
+ import { t as createLiveRegion } from "./live-region-runtime-DVUch8Lu.mjs";
4
+ import { createCommentVNode, createElementBlock, defineComponent, getCurrentScope, nextTick, onScopeDispose, openBlock, renderSlot, shallowReadonly, shallowRef, toDisplayString, toRef, toValue, unref } from "vue";
5
+ //#region src/families/accessibility/announcer/announcer-runtime.ts
6
+ const invalidOptionDiagnostic = "VIZE_UI_ANNOUNCER_OPTION";
7
+ const disposedDiagnostic = "VIZE_UI_ANNOUNCER_DISPOSED";
8
+ const setupDiagnostic$1 = "VIZE_UI_ANNOUNCER_SETUP";
9
+ const politenessValues = new Set(["assertive", "polite"]);
10
+ /** Typed announcer context provided by AnnouncerProvider. */
11
+ const announcerContext = createContext("Announcer");
12
+ function readPoliteness(value, fallback) {
13
+ const resolved = toValue(value);
14
+ if (resolved === void 0) return fallback;
15
+ if (!politenessValues.has(resolved)) throw new TypeError(`${invalidOptionDiagnostic}: politeness must resolve to polite or assertive`);
16
+ return resolved;
17
+ }
18
+ function validateMessage(text, options) {
19
+ if (typeof text !== "string") throw new TypeError(`${invalidOptionDiagnostic}: announcement text must be a string`);
20
+ if (options.politeness !== void 0) readPoliteness(options.politeness, "polite");
21
+ if (options.key !== void 0 && (typeof options.key !== "string" || options.key.length === 0)) throw new TypeError(`${invalidOptionDiagnostic}: a coalescing key must be a non-empty string`);
22
+ }
23
+ /**
24
+ * Create an SSR-safe announcement queue.
25
+ *
26
+ * Announcements flush sequentially into one polite and one assertive
27
+ * live-region channel, so status updates and errors never overwrite each
28
+ * other mid-announcement. The server renders both channels empty: queued text
29
+ * only ever reaches the DOM after client-side ticks.
30
+ */
31
+ function createAnnouncer(options = {}) {
32
+ if (typeof options.politeness !== "function") readPoliteness(options.politeness, "polite");
33
+ const polite = createLiveRegion({ politeness: "polite" });
34
+ const assertive = createLiveRegion({ politeness: "assertive" });
35
+ const queue = [];
36
+ const pendingCount = shallowRef(0);
37
+ let inFlight;
38
+ let disposed = false;
39
+ let flushing = false;
40
+ const assertAlive = () => {
41
+ if (disposed) throw new Error(`${disposedDiagnostic}: the controller has been disposed`);
42
+ };
43
+ const syncPending = () => {
44
+ pendingCount.value = queue.length;
45
+ };
46
+ const flush = async () => {
47
+ while (!disposed) {
48
+ const next = queue.shift();
49
+ if (next === void 0) break;
50
+ inFlight = next;
51
+ syncPending();
52
+ (next.politeness === "assertive" ? assertive : polite).announce(next.text);
53
+ await nextTick();
54
+ await nextTick();
55
+ }
56
+ inFlight = void 0;
57
+ flushing = false;
58
+ };
59
+ const scheduleFlush = () => {
60
+ if (flushing) return;
61
+ flushing = true;
62
+ flush();
63
+ };
64
+ const isDuplicate = (text, politeness) => {
65
+ if (inFlight !== void 0 && inFlight.text === text && inFlight.politeness === politeness) return true;
66
+ return queue.some((pending) => pending.text === text && pending.politeness === politeness);
67
+ };
68
+ return Object.freeze({
69
+ politeMessage: polite.message,
70
+ assertiveMessage: assertive.message,
71
+ pendingCount: shallowReadonly(pendingCount),
72
+ announce: (text, messageOptions = {}) => {
73
+ assertAlive();
74
+ validateMessage(text, messageOptions);
75
+ const politeness = messageOptions.politeness ?? readPoliteness(options.politeness, "polite");
76
+ const keyed = messageOptions.key === void 0 ? void 0 : queue.find((pending) => pending.key === messageOptions.key);
77
+ if (keyed !== void 0) {
78
+ keyed.text = text;
79
+ keyed.politeness = politeness;
80
+ return true;
81
+ }
82
+ if (isDuplicate(text, politeness)) return false;
83
+ const message = {
84
+ text,
85
+ politeness,
86
+ key: messageOptions.key
87
+ };
88
+ if (politeness === "assertive") {
89
+ const firstPolite = queue.findIndex((pending) => pending.politeness === "polite");
90
+ queue.splice(firstPolite === -1 ? queue.length : firstPolite, 0, message);
91
+ } else queue.push(message);
92
+ syncPending();
93
+ scheduleFlush();
94
+ return true;
95
+ },
96
+ cancel: (key) => {
97
+ assertAlive();
98
+ const index = queue.findIndex((pending) => pending.key === key);
99
+ if (index === -1) return false;
100
+ queue.splice(index, 1);
101
+ syncPending();
102
+ return true;
103
+ },
104
+ clear: () => {
105
+ assertAlive();
106
+ queue.length = 0;
107
+ syncPending();
108
+ polite.clear();
109
+ assertive.clear();
110
+ },
111
+ dispose: () => {
112
+ if (disposed) return;
113
+ disposed = true;
114
+ queue.length = 0;
115
+ pendingCount.value = 0;
116
+ polite.dispose();
117
+ assertive.dispose();
118
+ }
119
+ });
120
+ }
121
+ /** Create an announcer disposed with the current Vue effect scope. */
122
+ function useAnnouncer(options = {}) {
123
+ if (!getCurrentScope()) throw new Error(`${setupDiagnostic$1}: use inside component setup or an active effect scope`);
124
+ const controller = createAnnouncer(options);
125
+ onScopeDispose(controller.dispose);
126
+ return controller;
127
+ }
128
+ /**
129
+ * Resolve provider ownership during component setup.
130
+ *
131
+ * The outermost provider creates and owns the announcement queue; nested
132
+ * providers reuse it, so a document never renders duplicate live regions no
133
+ * matter how many islands or layout shells declare their own provider.
134
+ */
135
+ function useAnnouncerOwnership(options = {}) {
136
+ if (!getCurrentScope()) throw new Error(`${setupDiagnostic$1}: use inside component setup or an active effect scope`);
137
+ const existing = announcerContext.useOptional();
138
+ if (existing !== void 0) return Object.freeze({
139
+ announcer: existing,
140
+ isOwner: false
141
+ });
142
+ const announcer = useAnnouncer(options);
143
+ announcerContext.provide(announcer);
144
+ return Object.freeze({
145
+ announcer,
146
+ isOwner: true
147
+ });
148
+ }
149
+ //#endregion
150
+ //#region src/families/accessibility/announcer/announcer-busy.ts
151
+ const busyDiagnostic = "VIZE_UI_ANNOUNCER_BUSY";
152
+ const setupDiagnostic = "VIZE_UI_ANNOUNCER_SETUP";
153
+ const busyKeySequences = /* @__PURE__ */ new WeakMap();
154
+ function nextBusyKey(announcer) {
155
+ const sequence = (busyKeySequences.get(announcer) ?? 0) + 1;
156
+ busyKeySequences.set(announcer, sequence);
157
+ return `vize-ui-busy-${sequence}`;
158
+ }
159
+ function readLabel(value) {
160
+ if (typeof value !== "string" || value.trim().length === 0) throw new TypeError(`${busyDiagnostic}: a busy announcement needs a non-empty label`);
161
+ return value;
162
+ }
163
+ /**
164
+ * Begin announcing one busy task: loading, streaming, or background work.
165
+ *
166
+ * The label is announced immediately. Progress updates coalesce onto one
167
+ * queue slot so a stream cannot flood assistive technology, and `end` cancels
168
+ * unspoken progress before optionally announcing the outcome. Bind the
169
+ * busy scope's `aria-busy` to `isBusy` so partial content is not read early.
170
+ */
171
+ function createBusyAnnouncement(announcer, options) {
172
+ const label = readLabel(options.label);
173
+ const politeness = options.politeness ?? "polite";
174
+ const key = nextBusyKey(announcer);
175
+ const isBusy = shallowRef(true);
176
+ announcer.announce(label, {
177
+ key,
178
+ politeness
179
+ });
180
+ return Object.freeze({
181
+ isBusy: shallowReadonly(isBusy),
182
+ update: (text) => {
183
+ if (!isBusy.value) throw new Error(`${busyDiagnostic}: the busy announcement has already ended`);
184
+ announcer.announce(text, {
185
+ key,
186
+ politeness
187
+ });
188
+ },
189
+ end: (text) => {
190
+ if (!isBusy.value) return;
191
+ isBusy.value = false;
192
+ announcer.cancel(key);
193
+ if (text !== void 0) announcer.announce(text, { politeness });
194
+ }
195
+ });
196
+ }
197
+ /** Begin a busy announcement that silently ends with the current effect scope. */
198
+ function useBusyAnnouncement(announcer, options) {
199
+ if (!getCurrentScope()) throw new Error(`${setupDiagnostic}: use inside component setup or an active effect scope`);
200
+ const busy = createBusyAnnouncement(announcer, options);
201
+ onScopeDispose(() => busy.end());
202
+ return busy;
203
+ }
204
+ //#endregion
205
+ //#region src/families/accessibility/announcer/announcer-provider.vue?vue&type=script&setup=true&lang.ts
206
+ const _hoisted_1 = ["data-vize-announcer"];
207
+ const _hoisted_2 = ["aria-atomic"];
208
+ const _hoisted_3 = ["aria-atomic"];
209
+ //#endregion
210
+ //#region src/families/accessibility/announcer/announcer-provider.vue
211
+ var announcer_provider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
212
+ __name: "announcer-provider",
213
+ props: {
214
+ politeness: {
215
+ type: String,
216
+ required: false,
217
+ default: "polite"
218
+ },
219
+ atomic: {
220
+ type: Boolean,
221
+ required: false,
222
+ default: true
223
+ }
224
+ },
225
+ setup(__props, { expose: __expose }) {
226
+ const ownership = useAnnouncerOwnership({ politeness: toRef(() => __props.politeness) });
227
+ __expose({
228
+ announcer: ownership.announcer,
229
+ isOwner: ownership.isOwner,
230
+ announce: ownership.announcer.announce,
231
+ clear: ownership.announcer.clear
232
+ });
233
+ return (_ctx, _cache) => {
234
+ return openBlock(), createElementBlock("div", {
235
+ "data-vize-ui": "announcer",
236
+ "data-vize-announcer": unref(ownership).isOwner ? "owner" : "delegate"
237
+ }, [
238
+ unref(ownership).isOwner ? (openBlock(), createElementBlock("div", {
239
+ key: 0,
240
+ "data-vize-ui": "announcer-region",
241
+ "aria-live": "polite",
242
+ role: "status",
243
+ "aria-atomic": __props.atomic ? "true" : "false"
244
+ }, toDisplayString(unref(ownership).announcer.politeMessage.value), 9, _hoisted_2)) : createCommentVNode("v-if", true),
245
+ unref(ownership).isOwner ? (openBlock(), createElementBlock("div", {
246
+ key: 1,
247
+ "data-vize-ui": "announcer-region",
248
+ "aria-live": "assertive",
249
+ role: "alert",
250
+ "aria-atomic": __props.atomic ? "true" : "false"
251
+ }, toDisplayString(unref(ownership).announcer.assertiveMessage.value), 9, _hoisted_3)) : createCommentVNode("v-if", true),
252
+ renderSlot(_ctx.$slots, "default", { announcer: unref(ownership).announcer }, void 0, true)
253
+ ], 8, _hoisted_1);
254
+ };
255
+ }
256
+ }), [["__scopeId", "data-v-56d8d13d"]]);
257
+ //#endregion
258
+ export { createAnnouncer as a, announcerContext as i, createBusyAnnouncement as n, useAnnouncer as o, useBusyAnnouncement as r, useAnnouncerOwnership as s, announcer_provider_default as t };