@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,499 @@
1
+ import { c as compareDocumentOrder, d as readBoolean, f as readLabel, l as indicatorFor, m as validateKey, p as validateCallbacks, t as createDragAndDrop, u as measureRect } from "./drag-and-drop-BjYgWGcG.mjs";
2
+ import { r as eventElement } from "./press-event-xlWYF9py.mjs";
3
+ import { getCurrentScope, onScopeDispose, shallowReadonly, shallowRef, toValue } from "vue";
4
+ //#region src/families/interaction/sortable/sortable-internal.ts
5
+ const invalidOptionDiagnostic = "VIZE_UI_SORTABLE_OPTION";
6
+ const orientations = new Set([
7
+ "grid",
8
+ "horizontal",
9
+ "vertical"
10
+ ]);
11
+ const directions = new Set(["ltr", "rtl"]);
12
+ /** Resolve the closed orientation union without accepting mistyped JavaScript. */
13
+ function readOrientation(value) {
14
+ const resolved = toValue(value) ?? "vertical";
15
+ if (!orientations.has(resolved)) throw new TypeError(`${invalidOptionDiagnostic}: orientation must resolve to grid, horizontal, or vertical`);
16
+ return resolved;
17
+ }
18
+ /** Resolve the closed direction union without accepting mistyped JavaScript. */
19
+ function readDirection(value) {
20
+ const resolved = toValue(value) ?? "ltr";
21
+ if (!directions.has(resolved)) throw new TypeError(`${invalidOptionDiagnostic}: direction must resolve to ltr or rtl`);
22
+ return resolved;
23
+ }
24
+ /** Resolve a positive integer column count for grid arrow-key geometry. */
25
+ function readColumns(value) {
26
+ const resolved = toValue(value) ?? 1;
27
+ if (!Number.isInteger(resolved) || resolved < 1) throw new TypeError(`${invalidOptionDiagnostic}: columns must resolve to an integer >= 1`);
28
+ return resolved;
29
+ }
30
+ /** Drop edges one item target resolves for an orientation. */
31
+ function edgesFor(orientation, nesting) {
32
+ const directional = orientation === "vertical" ? ["top", "bottom"] : ["left", "right"];
33
+ return nesting ? [...directional, "inside"] : directional;
34
+ }
35
+ /** Map a logical position back onto the physical edge for an orientation. */
36
+ function edgeForPosition(position, orientation, direction) {
37
+ if (position === "inside") return "inside";
38
+ if (orientation === "vertical") return position === "before" ? "top" : "bottom";
39
+ return position === "before" ? direction === "rtl" ? "right" : "left" : direction === "rtl" ? "left" : "right";
40
+ }
41
+ /** Build a frozen lifecycle snapshot for sortable callbacks. */
42
+ function createSortableEvent(type, pointerType, key, fromIndex, toIndex, overKey, position, originalEvent) {
43
+ return Object.freeze({
44
+ type,
45
+ pointerType,
46
+ key,
47
+ fromIndex,
48
+ toIndex,
49
+ overKey,
50
+ position,
51
+ originalEvent
52
+ });
53
+ }
54
+ /** Map a physical drop edge onto the logical position for an orientation. */
55
+ function positionForEdge(edge, orientation, direction) {
56
+ if (edge === "inside") return "inside";
57
+ if (orientation === "vertical") return edge === "top" ? "before" : "after";
58
+ return edge === (direction === "rtl" ? "right" : "left") ? "before" : "after";
59
+ }
60
+ /**
61
+ * Compute the insertion index for moving `fromIndex` relative to `overIndex`.
62
+ *
63
+ * `"inside"` moves report the receiving item's index unchanged.
64
+ */
65
+ function computeToIndex(fromIndex, overIndex, position) {
66
+ if (position === "inside" || fromIndex === overIndex) return overIndex;
67
+ if (fromIndex < overIndex) return position === "before" ? overIndex - 1 : overIndex;
68
+ return position === "before" ? overIndex : overIndex + 1;
69
+ }
70
+ /** Signed index step for one arrow key, or `null` when the key is not owned. */
71
+ function keyboardDelta(key, orientation, direction, columns) {
72
+ const forward = direction === "rtl" ? "ArrowLeft" : "ArrowRight";
73
+ const backward = direction === "rtl" ? "ArrowRight" : "ArrowLeft";
74
+ if (orientation === "vertical") {
75
+ if (key === "ArrowUp") return -1;
76
+ if (key === "ArrowDown") return 1;
77
+ return null;
78
+ }
79
+ if (orientation === "grid") {
80
+ if (key === "ArrowUp") return -columns;
81
+ if (key === "ArrowDown") return columns;
82
+ }
83
+ if (key === backward) return -1;
84
+ if (key === forward) return 1;
85
+ return null;
86
+ }
87
+ /** Dispatch one lifecycle snapshot to the matching consumer callback. */
88
+ function dispatchSortableEvent(options, event) {
89
+ if (event.type === "sortstart") options.onSortStart?.(event);
90
+ else if (event.type === "sortpreview") options.onSortPreview?.(event);
91
+ else if (event.type === "sortcommit") options.onSortCommit?.(event);
92
+ else options.onSortCancel?.(event);
93
+ }
94
+ /** Project a drag-and-drop context onto sortable indexes and positions. */
95
+ function projectDragContext(keys, orientation, direction, dragContext) {
96
+ const currentIndex = Math.max(keys.indexOf(dragContext.sourceKey), 0);
97
+ const overIndex = dragContext.targetKey === null ? -1 : keys.indexOf(dragContext.targetKey);
98
+ const position = dragContext.edge === null ? null : positionForEdge(dragContext.edge, orientation, direction);
99
+ return {
100
+ currentIndex,
101
+ overIndex,
102
+ toIndex: overIndex >= 0 && position !== null ? computeToIndex(currentIndex, overIndex, position) : currentIndex,
103
+ position
104
+ };
105
+ }
106
+ /** Build the sortable announcement context for one drag announcement phase. */
107
+ function sortableContextFor(phase, dragContext, projection, count, originIndex) {
108
+ const { currentIndex, toIndex, position } = projection;
109
+ const settled = phase === "cancel" || phase === "drop";
110
+ return {
111
+ pointerType: dragContext.pointerType,
112
+ key: dragContext.sourceKey,
113
+ label: dragContext.sourceLabel,
114
+ fromIndex: settled ? originIndex ?? currentIndex : currentIndex,
115
+ toIndex: phase === "cancel" ? originIndex ?? currentIndex : toIndex,
116
+ count,
117
+ overKey: phase === "cancel" ? null : dragContext.targetKey,
118
+ overLabel: phase === "cancel" ? null : dragContext.targetLabel,
119
+ position: phase === "cancel" ? null : position
120
+ };
121
+ }
122
+ function human(index) {
123
+ return index + 1;
124
+ }
125
+ /** Built-in English announcement builders; consumers override to localize. */
126
+ const defaultSortableAnnouncements = Object.freeze({
127
+ grab: (context) => {
128
+ const start = `Picked up ${context.label}, position ${human(context.fromIndex)} of ${context.count}.`;
129
+ return context.pointerType === "keyboard" ? `${start} Use the arrow keys to move, Enter to drop, Escape to cancel.` : start;
130
+ },
131
+ move: (context) => context.position === "inside" ? `${context.label} placed inside ${context.overLabel ?? "the item"}.` : `${context.label} moved to position ${human(context.toIndex)} of ${context.count}.`,
132
+ drop: (context) => context.position === "inside" ? `${context.label} dropped inside ${context.overLabel ?? "the item"}.` : `${context.label} dropped, final position ${human(context.toIndex)} of ${context.count}.`,
133
+ cancel: (context) => `Sorting canceled. ${context.label} returned to position ${human(context.toIndex)} of ${context.count}.`
134
+ });
135
+ //#endregion
136
+ //#region src/families/interaction/sortable/sortable-keyboard.ts
137
+ function context(host, session, fromIndex, toIndex) {
138
+ return {
139
+ pointerType: session.pointerType,
140
+ key: session.key,
141
+ label: host.labelOf(session.key),
142
+ fromIndex,
143
+ toIndex,
144
+ count: host.orderedKeys().length,
145
+ overKey: session.overKey,
146
+ overLabel: session.overKey === null ? null : host.labelOf(session.overKey),
147
+ position: session.position
148
+ };
149
+ }
150
+ function setIndicator(host, referenceKey, position, toIndex) {
151
+ const shape = indicatorFor(referenceKey, edgeForPosition(position, readOrientation(host.options.orientation), readDirection(host.options.direction)), host.measureItem(referenceKey));
152
+ host.indicator.value = {
153
+ key: referenceKey,
154
+ position,
155
+ toIndex,
156
+ rect: shape.rect,
157
+ line: shape.line
158
+ };
159
+ }
160
+ function moveTo(host, event, requested) {
161
+ const session = host.getSession();
162
+ if (!session) return;
163
+ const keys = host.orderedKeys();
164
+ const next = Math.min(Math.max(requested, 0), keys.length - 1);
165
+ const changed = next !== session.toIndex || session.position !== null;
166
+ session.toIndex = next;
167
+ session.overKey = null;
168
+ session.position = null;
169
+ const currentIndex = Math.max(keys.indexOf(session.key), 0);
170
+ const referenceKey = keys[next];
171
+ if (referenceKey !== void 0) setIndicator(host, referenceKey, next >= currentIndex ? "after" : "before", next);
172
+ if (!changed) return;
173
+ host.emit(createSortableEvent("sortpreview", session.pointerType, session.key, currentIndex, next, null, null, event));
174
+ host.announce(host.announcements.move(context(host, session, currentIndex, next)));
175
+ }
176
+ function nest(host, event) {
177
+ const session = host.getSession();
178
+ if (!session || session.position === "inside") return;
179
+ const keys = host.orderedKeys();
180
+ let referenceIndex = session.toIndex - 1;
181
+ while (referenceIndex >= 0 && keys[referenceIndex] === session.key) referenceIndex -= 1;
182
+ const referenceKey = referenceIndex >= 0 ? keys[referenceIndex] : void 0;
183
+ if (referenceKey === void 0) return;
184
+ session.overKey = referenceKey;
185
+ session.position = "inside";
186
+ setIndicator(host, referenceKey, "inside", referenceIndex);
187
+ const currentIndex = Math.max(keys.indexOf(session.key), 0);
188
+ host.emit(createSortableEvent("sortpreview", session.pointerType, session.key, currentIndex, referenceIndex, referenceKey, "inside", event));
189
+ host.announce(host.announcements.move(context(host, session, currentIndex, referenceIndex)));
190
+ }
191
+ function settle(host, event, canceled) {
192
+ const session = host.getSession();
193
+ if (!session) return;
194
+ const keys = host.orderedKeys();
195
+ const currentIndex = Math.max(keys.indexOf(session.key), 0);
196
+ const toIndex = session.position === "inside" && session.overKey !== null ? Math.max(keys.indexOf(session.overKey), 0) : session.toIndex;
197
+ host.clearSession();
198
+ if (canceled) {
199
+ host.emit(createSortableEvent("sortcancel", session.pointerType, session.key, currentIndex, session.originIndex, null, null, event));
200
+ const restored = {
201
+ ...session,
202
+ toIndex: session.originIndex,
203
+ overKey: null,
204
+ position: null
205
+ };
206
+ host.announce(host.announcements.cancel(context(host, restored, currentIndex, session.originIndex)));
207
+ } else {
208
+ host.emit(createSortableEvent("sortcommit", session.pointerType, session.key, session.originIndex, toIndex, session.overKey, session.position, event));
209
+ host.announce(host.announcements.drop(context(host, session, session.originIndex, toIndex)));
210
+ }
211
+ }
212
+ function grab(host, event, key) {
213
+ if (event.altKey || event.ctrlKey || event.metaKey || event.isComposing) return;
214
+ if (readBoolean(host.options.isDisabled, "isDisabled") || host.isItemDisabled(key)) return;
215
+ const target = eventElement(event);
216
+ if (!target || event.target !== target) return;
217
+ const index = host.orderedKeys().indexOf(key);
218
+ if (index < 0) return;
219
+ event.preventDefault();
220
+ event.stopPropagation();
221
+ const session = {
222
+ key,
223
+ pointerType: "keyboard",
224
+ originIndex: index,
225
+ toIndex: index,
226
+ overKey: null,
227
+ position: null
228
+ };
229
+ host.startSession(session);
230
+ host.emit(createSortableEvent("sortstart", "keyboard", key, index, index, null, null, event));
231
+ host.announce(host.announcements.grab(context(host, session, index, index)));
232
+ }
233
+ /** Handle one keydown from an item: grab, move, nest, drop, or cancel. */
234
+ function handleSortableKeydown(host, event, key) {
235
+ const session = host.getSession();
236
+ if (session?.pointerType === "keyboard" && session.key === key) {
237
+ if (readBoolean(host.options.isDisabled, "isDisabled")) {
238
+ settle(host, event, true);
239
+ return;
240
+ }
241
+ const orientation = readOrientation(host.options.orientation);
242
+ const nesting = readBoolean(host.options.nesting, "nesting");
243
+ switch (event.key) {
244
+ case "Enter":
245
+ case " ":
246
+ settle(host, event, false);
247
+ break;
248
+ case "Escape":
249
+ settle(host, event, true);
250
+ break;
251
+ case "Home":
252
+ moveTo(host, event, 0);
253
+ break;
254
+ case "End":
255
+ moveTo(host, event, host.orderedKeys().length - 1);
256
+ break;
257
+ case "Tab":
258
+ settle(host, event, true);
259
+ return;
260
+ default: {
261
+ if (nesting && orientation === "vertical" && event.key === "ArrowRight") {
262
+ nest(host, event);
263
+ break;
264
+ }
265
+ if (nesting && orientation === "vertical" && event.key === "ArrowLeft") {
266
+ moveTo(host, event, session.toIndex);
267
+ break;
268
+ }
269
+ const delta = keyboardDelta(event.key, orientation, readDirection(host.options.direction), readColumns(host.options.columns));
270
+ if (delta === null) return;
271
+ moveTo(host, event, session.toIndex + delta);
272
+ break;
273
+ }
274
+ }
275
+ event.preventDefault();
276
+ event.stopPropagation();
277
+ } else if (!session && (event.key === "Enter" || event.key === " ")) grab(host, event, key);
278
+ }
279
+ /** Cancel an owned keyboard sort from focus loss or programmatic teardown. */
280
+ function cancelSortableKeyboard(host, event) {
281
+ if (host.getSession()?.pointerType !== "keyboard") return false;
282
+ settle(host, event, true);
283
+ return true;
284
+ }
285
+ //#endregion
286
+ //#region src/families/interaction/sortable/sortable.ts
287
+ const disposedDiagnostic = "VIZE_UI_SORTABLE_DISPOSED";
288
+ const setupDiagnostic = "VIZE_UI_SORTABLE_SETUP";
289
+ /** Create an SSR-safe sortable coordinator for lists, grids, and trees. */
290
+ function createSortable(options = {}) {
291
+ validateCallbacks(options, [
292
+ "onSortStart",
293
+ "onSortPreview",
294
+ "onSortCommit",
295
+ "onSortCancel"
296
+ ]);
297
+ if (typeof options.orientation !== "function") readOrientation(options.orientation);
298
+ if (typeof options.direction !== "function") readDirection(options.direction);
299
+ if (typeof options.columns !== "function") readColumns(options.columns);
300
+ const announcements = {
301
+ ...defaultSortableAnnouncements,
302
+ ...options.announcements
303
+ };
304
+ const items = /* @__PURE__ */ new Map();
305
+ const sorting = shallowRef(false);
306
+ const activeKey = shallowRef(null);
307
+ const indicator = shallowRef(null);
308
+ let session = null;
309
+ let disposed = false;
310
+ const orderedKeys = () => {
311
+ const list = [...items.entries()].map(([key, record]) => ({
312
+ key,
313
+ element: toValue(record.options.element) ?? null
314
+ }));
315
+ list.sort((left, right) => left.element && right.element ? compareDocumentOrder(left.element, right.element) : 0);
316
+ return list.map((entry) => entry.key);
317
+ };
318
+ const labelOf = (key) => readLabel(items.get(key)?.options.label, key);
319
+ const emit = (event) => dispatchSortableEvent(options, event);
320
+ const projection = (dragContext) => projectDragContext(orderedKeys(), readOrientation(options.orientation), readDirection(options.direction), dragContext);
321
+ const sortableContext = (phase, dragContext) => sortableContextFor(phase, dragContext, projection(dragContext), orderedKeys().length, session?.originIndex ?? null);
322
+ const dnd = createDragAndDrop({
323
+ isDisabled: options.isDisabled,
324
+ startDistance: options.startDistance,
325
+ announcements: {
326
+ grab: (context) => announcements.grab(sortableContext("grab", context)),
327
+ move: (context) => announcements.move(sortableContext("move", context)),
328
+ drop: (context) => announcements.drop(sortableContext("drop", context)),
329
+ cancel: (context) => announcements.cancel(sortableContext("cancel", context))
330
+ },
331
+ onDragStart(event) {
332
+ const index = Math.max(orderedKeys().indexOf(event.sourceKey), 0);
333
+ session = {
334
+ key: event.sourceKey,
335
+ pointerType: event.pointerType,
336
+ originIndex: index,
337
+ toIndex: index,
338
+ overKey: null,
339
+ position: null
340
+ };
341
+ sorting.value = true;
342
+ activeKey.value = event.sourceKey;
343
+ emit(createSortableEvent("sortstart", event.pointerType, event.sourceKey, index, index, null, null, event.originalEvent));
344
+ },
345
+ onDragMove(event) {
346
+ const current = session;
347
+ if (!current) return;
348
+ if (event.targetKey === null || event.edge === null) {
349
+ indicator.value = null;
350
+ current.overKey = null;
351
+ current.position = null;
352
+ return;
353
+ }
354
+ const { currentIndex, overIndex, toIndex, position } = projection(event);
355
+ if (overIndex < 0 || position === null) return;
356
+ if (position !== "inside" && toIndex === currentIndex) {
357
+ indicator.value = null;
358
+ current.overKey = null;
359
+ current.position = null;
360
+ current.toIndex = currentIndex;
361
+ return;
362
+ }
363
+ const changed = current.overKey !== event.targetKey || current.position !== position || current.toIndex !== toIndex;
364
+ current.overKey = event.targetKey;
365
+ current.position = position;
366
+ current.toIndex = toIndex;
367
+ const shape = dnd.indicator.value;
368
+ indicator.value = {
369
+ key: event.targetKey,
370
+ position,
371
+ toIndex,
372
+ rect: shape?.targetKey === event.targetKey ? shape.rect : null,
373
+ line: shape?.targetKey === event.targetKey ? shape.line : null
374
+ };
375
+ if (changed) emit(createSortableEvent("sortpreview", current.pointerType, current.key, currentIndex, toIndex, event.targetKey, position, event.originalEvent));
376
+ },
377
+ onDragEnd(event) {
378
+ const current = session;
379
+ if (!current) return;
380
+ session = null;
381
+ sorting.value = false;
382
+ activeKey.value = null;
383
+ indicator.value = null;
384
+ const keys = orderedKeys();
385
+ const currentIndex = Math.max(keys.indexOf(current.key), 0);
386
+ if (event.isCanceled || event.targetKey === null) {
387
+ emit(createSortableEvent("sortcancel", current.pointerType, current.key, currentIndex, current.originIndex, null, null, event.originalEvent));
388
+ return;
389
+ }
390
+ const { overIndex, toIndex, position } = projection(event);
391
+ const insideIndex = position === "inside" ? Math.max(overIndex, 0) : toIndex;
392
+ emit(createSortableEvent("sortcommit", current.pointerType, current.key, current.originIndex, insideIndex, event.targetKey, position, event.originalEvent));
393
+ }
394
+ });
395
+ const keyboardHost = {
396
+ options,
397
+ announcements,
398
+ indicator,
399
+ getSession: () => session,
400
+ startSession: (next) => {
401
+ session = next;
402
+ sorting.value = true;
403
+ activeKey.value = next.key;
404
+ },
405
+ clearSession: () => {
406
+ session = null;
407
+ sorting.value = false;
408
+ activeKey.value = null;
409
+ indicator.value = null;
410
+ },
411
+ orderedKeys,
412
+ labelOf,
413
+ measureItem: (key) => {
414
+ const record = items.get(key);
415
+ if (!record) return null;
416
+ return measureRect(toValue(record.options.element) ?? null, record.options.getRect);
417
+ },
418
+ isItemDisabled: (key) => readBoolean(items.get(key)?.options.isDisabled, "isDisabled"),
419
+ announce: (message) => {
420
+ if (message !== null) dnd.announce(message);
421
+ },
422
+ emit
423
+ };
424
+ return Object.freeze({
425
+ isSorting: shallowReadonly(sorting),
426
+ activeKey: shallowReadonly(activeKey),
427
+ indicator: shallowReadonly(indicator),
428
+ registerItem(itemOptions) {
429
+ if (disposed) throw new Error(`${disposedDiagnostic}: the controller has been disposed`);
430
+ const key = validateKey(itemOptions.key, items);
431
+ validateCallbacks(itemOptions, ["getRect"]);
432
+ const source = dnd.registerSource({
433
+ key,
434
+ element: itemOptions.element,
435
+ label: itemOptions.label,
436
+ isDisabled: itemOptions.isDisabled,
437
+ keyboard: false
438
+ });
439
+ const target = dnd.registerTarget({
440
+ key,
441
+ element: itemOptions.element,
442
+ label: itemOptions.label,
443
+ edges: () => edgesFor(readOrientation(options.orientation), readBoolean(options.nesting, "nesting")),
444
+ ...itemOptions.getRect ? { getRect: itemOptions.getRect } : {}
445
+ });
446
+ const record = {
447
+ options: itemOptions,
448
+ source,
449
+ target
450
+ };
451
+ items.set(key, record);
452
+ const itemProps = Object.freeze({
453
+ ...source.sourceProps,
454
+ onKeydown: (event) => {
455
+ if (!disposed) handleSortableKeydown(keyboardHost, event, key);
456
+ },
457
+ onFocusout: (event) => {
458
+ if (disposed) return;
459
+ if (session?.pointerType === "keyboard" && session.key === key) cancelSortableKeyboard(keyboardHost, event);
460
+ }
461
+ });
462
+ return Object.freeze({
463
+ key,
464
+ isDragging: source.isDragging,
465
+ itemProps,
466
+ dispose: () => {
467
+ if (items.get(key) !== record) return;
468
+ if (session?.pointerType === "keyboard" && session.key === key) cancelSortableKeyboard(keyboardHost, null);
469
+ source.dispose();
470
+ target.dispose();
471
+ items.delete(key);
472
+ }
473
+ });
474
+ },
475
+ cancel: () => {
476
+ if (disposed) throw new Error(`${disposedDiagnostic}: the controller has been disposed`);
477
+ if (cancelSortableKeyboard(keyboardHost, null)) return true;
478
+ return dnd.cancel();
479
+ },
480
+ dispose: () => {
481
+ if (disposed) return;
482
+ disposed = true;
483
+ session = null;
484
+ sorting.value = false;
485
+ activeKey.value = null;
486
+ indicator.value = null;
487
+ dnd.dispose();
488
+ }
489
+ });
490
+ }
491
+ /** Create a sortable coordinator disposed with the current Vue effect scope. */
492
+ function useSortable(options = {}) {
493
+ if (!getCurrentScope()) throw new Error(`${setupDiagnostic}: use inside component setup or an active effect scope`);
494
+ const controller = createSortable(options);
495
+ onScopeDispose(controller.dispose);
496
+ return controller;
497
+ }
498
+ //#endregion
499
+ export { useSortable as n, defaultSortableAnnouncements as r, createSortable as t };