@hina-ui/vue 1.7.5 → 1.7.7

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 (1186) hide show
  1. package/README.md +37 -0
  2. package/dist/index.js +8844 -1084
  3. package/dist/index.js.map +1 -1
  4. package/dist/shared/behavior/anchor-follow.ts +95 -0
  5. package/dist/shared/behavior/form.ts +187 -0
  6. package/dist/shared/behavior/ripple.ts +222 -0
  7. package/dist/shared/behavior/spoiler/painter.ts +197 -0
  8. package/dist/shared/behavior/spoiler/worklet.ts +199 -0
  9. package/dist/shared/behavior/toast.ts +243 -0
  10. package/dist/shared/lib/anchor.ts +83 -0
  11. package/dist/shared/lib/banner.ts +10 -0
  12. package/dist/shared/lib/calendar/format.ts +23 -0
  13. package/dist/shared/lib/caret.ts +48 -0
  14. package/dist/shared/lib/collapse.ts +29 -0
  15. package/dist/shared/lib/command-palette/hotkey.ts +27 -0
  16. package/dist/shared/lib/command-palette/match.ts +92 -0
  17. package/dist/shared/lib/data-list.ts +40 -0
  18. package/dist/shared/lib/data-table/column-sizing-styles.ts +41 -0
  19. package/dist/shared/lib/data-table/column-sizing.ts +101 -0
  20. package/dist/shared/lib/data-table/csv.ts +51 -0
  21. package/dist/shared/lib/data-table/layout.ts +199 -0
  22. package/dist/shared/lib/data-table/resize.ts +66 -0
  23. package/dist/shared/lib/data-table/state.ts +226 -0
  24. package/dist/shared/lib/data-table/utils.ts +80 -0
  25. package/dist/shared/lib/date-range-field/validity.ts +21 -0
  26. package/dist/shared/lib/date.ts +111 -0
  27. package/dist/shared/lib/field-focus.ts +36 -0
  28. package/dist/shared/lib/file-upload/select.ts +58 -0
  29. package/dist/shared/lib/file-upload/size.ts +16 -0
  30. package/dist/shared/lib/float-button.ts +14 -0
  31. package/dist/shared/lib/form/errors.ts +48 -0
  32. package/dist/shared/lib/form/focus.ts +10 -0
  33. package/dist/shared/lib/form/standard-schema.ts +26 -0
  34. package/dist/shared/lib/form/values.ts +23 -0
  35. package/dist/shared/lib/highlighter.ts +98 -0
  36. package/dist/shared/lib/iris-origin.ts +40 -0
  37. package/dist/shared/lib/lightbox/clip.ts +117 -0
  38. package/dist/shared/lib/lightbox/download.ts +29 -0
  39. package/dist/shared/lib/lightbox/gesture.ts +54 -0
  40. package/dist/shared/lib/lightbox/paging.ts +33 -0
  41. package/dist/shared/lib/lightbox/pose.ts +142 -0
  42. package/dist/shared/lib/lightbox/source.ts +17 -0
  43. package/dist/shared/lib/lightbox/types.ts +14 -0
  44. package/dist/shared/lib/lightbox/zoom.ts +127 -0
  45. package/dist/shared/lib/meter-group.ts +16 -0
  46. package/dist/shared/lib/overlay-anchor.ts +42 -0
  47. package/dist/shared/lib/pagination.ts +16 -0
  48. package/dist/shared/lib/pointer-corridor.ts +26 -0
  49. package/dist/shared/lib/qr-code-export.ts +68 -0
  50. package/dist/shared/lib/range-calendar/limit.ts +11 -0
  51. package/dist/shared/lib/rating.ts +4 -0
  52. package/dist/shared/lib/relative-time.ts +20 -0
  53. package/dist/shared/lib/scroll-area.ts +77 -0
  54. package/dist/shared/lib/scroll-restore.ts +148 -0
  55. package/dist/shared/lib/toast-layout.ts +42 -0
  56. package/dist/shared/lib/tree/selection.ts +131 -0
  57. package/dist/shared/lib/tree-select/filter.ts +19 -0
  58. package/dist/shared/lib/virtual/choices.ts +193 -0
  59. package/dist/shared/lib/virtual/collection.ts +71 -0
  60. package/dist/shared/lib/virtual/filter.ts +26 -0
  61. package/dist/shared/lib/virtual/flow.ts +32 -0
  62. package/dist/shared/lib/virtual/list.ts +63 -0
  63. package/dist/shared/lib/virtual/navigation.ts +26 -0
  64. package/dist/shared/lib/virtual/tree.ts +98 -0
  65. package/dist/shared/locale/en-US.ts +220 -0
  66. package/dist/shared/locale/index.ts +52 -0
  67. package/dist/shared/locale/types.ts +225 -0
  68. package/dist/shared/locale/zh-CN.ts +215 -0
  69. package/dist/shared/primitives/accordion/LICENSE +21 -0
  70. package/dist/shared/primitives/accordion/index.ts +34 -0
  71. package/dist/shared/primitives/arrow-navigation/LICENSE +21 -0
  72. package/dist/shared/primitives/arrow-navigation/index.ts +90 -0
  73. package/dist/shared/primitives/body-scroll-lock/LICENSE +21 -0
  74. package/dist/shared/primitives/body-scroll-lock/index.ts +115 -0
  75. package/dist/shared/primitives/checkbox/LICENSE +21 -0
  76. package/dist/shared/primitives/checkbox/index.ts +23 -0
  77. package/dist/shared/primitives/collapsible/LICENSE +21 -0
  78. package/dist/shared/primitives/collapsible/index.ts +31 -0
  79. package/dist/shared/primitives/collection/LICENSE +21 -0
  80. package/dist/shared/primitives/collection/index.ts +19 -0
  81. package/dist/shared/primitives/dismissable-layer/LICENSE +21 -0
  82. package/dist/shared/primitives/dismissable-layer/index.ts +203 -0
  83. package/dist/shared/primitives/focus-guards/LICENSE +21 -0
  84. package/dist/shared/primitives/focus-guards/index.ts +24 -0
  85. package/dist/shared/primitives/focus-scope/LICENSE +21 -0
  86. package/dist/shared/primitives/focus-scope/index.ts +216 -0
  87. package/dist/shared/primitives/label/LICENSE +21 -0
  88. package/dist/shared/primitives/label/index.ts +4 -0
  89. package/dist/shared/primitives/number-field/LICENSE +21 -0
  90. package/dist/shared/primitives/number-field/index.ts +407 -0
  91. package/dist/shared/primitives/pagination/LICENSE +21 -0
  92. package/dist/shared/primitives/pagination/index.ts +99 -0
  93. package/dist/shared/primitives/pin-input/LICENSE +21 -0
  94. package/dist/shared/primitives/pin-input/index.ts +126 -0
  95. package/dist/shared/primitives/presence/LICENSE +21 -0
  96. package/dist/shared/primitives/presence/index.ts +135 -0
  97. package/dist/shared/primitives/progress/LICENSE +21 -0
  98. package/dist/shared/primitives/progress/index.ts +41 -0
  99. package/dist/shared/primitives/radio-group/LICENSE +21 -0
  100. package/dist/shared/primitives/radio-group/index.ts +46 -0
  101. package/dist/shared/primitives/rating/LICENSE +21 -0
  102. package/dist/shared/primitives/rating/index.ts +37 -0
  103. package/dist/shared/primitives/roving-focus/LICENSE +21 -0
  104. package/dist/shared/primitives/roving-focus/index.ts +44 -0
  105. package/dist/shared/primitives/separator/LICENSE +21 -0
  106. package/dist/shared/primitives/separator/index.ts +14 -0
  107. package/dist/shared/primitives/size/LICENSE +21 -0
  108. package/dist/shared/primitives/size/index.ts +19 -0
  109. package/dist/shared/primitives/slider/LICENSE +21 -0
  110. package/dist/shared/primitives/slider/index.ts +183 -0
  111. package/dist/shared/primitives/splitter/LICENSE +21 -0
  112. package/dist/shared/primitives/splitter/arrays.ts +6 -0
  113. package/dist/shared/primitives/splitter/assert.ts +9 -0
  114. package/dist/shared/primitives/splitter/calculate.ts +139 -0
  115. package/dist/shared/primitives/splitter/callPanelCallbacks.ts +40 -0
  116. package/dist/shared/primitives/splitter/compare.ts +13 -0
  117. package/dist/shared/primitives/splitter/constants.ts +1 -0
  118. package/dist/shared/primitives/splitter/debounce.ts +10 -0
  119. package/dist/shared/primitives/splitter/dom.ts +64 -0
  120. package/dist/shared/primitives/splitter/events.ts +29 -0
  121. package/dist/shared/primitives/splitter/flags.ts +4 -0
  122. package/dist/shared/primitives/splitter/layout.ts +153 -0
  123. package/dist/shared/primitives/splitter/pivot.ts +10 -0
  124. package/dist/shared/primitives/splitter/rects.ts +24 -0
  125. package/dist/shared/primitives/splitter/registry.ts +231 -0
  126. package/dist/shared/primitives/splitter/resizePanel.ts +30 -0
  127. package/dist/shared/primitives/splitter/stackingOrder.ts +88 -0
  128. package/dist/shared/primitives/splitter/storage.ts +95 -0
  129. package/dist/shared/primitives/splitter/style.ts +95 -0
  130. package/dist/shared/primitives/splitter/types.ts +48 -0
  131. package/dist/shared/primitives/splitter/units.ts +123 -0
  132. package/dist/shared/primitives/splitter/validation.ts +55 -0
  133. package/dist/shared/primitives/stepper/LICENSE +21 -0
  134. package/dist/shared/primitives/stepper/index.ts +58 -0
  135. package/dist/shared/primitives/tabs/LICENSE +21 -0
  136. package/dist/shared/primitives/tabs/index.ts +18 -0
  137. package/dist/shared/primitives/toggle/LICENSE +21 -0
  138. package/dist/shared/primitives/toggle/index.ts +5 -0
  139. package/dist/shared/primitives/value/LICENSE +21 -0
  140. package/dist/shared/primitives/value/index.ts +80 -0
  141. package/dist/shared/primitives/visually-hidden/LICENSE +21 -0
  142. package/dist/shared/primitives/visually-hidden/index.ts +25 -0
  143. package/dist/shared/styles/float-button.css +20 -6
  144. package/dist/shared/styles/semantic.css +10 -2
  145. package/dist/shared/types/autocomplete.ts +16 -0
  146. package/dist/shared/types/data-table.ts +170 -0
  147. package/dist/shared/types/pagination.ts +19 -0
  148. package/dist/shared/types/select.ts +23 -0
  149. package/dist/shared/types/tree-select.ts +34 -0
  150. package/dist/shared/types/tree.ts +20 -0
  151. package/dist/shared/variants/panel.ts +5 -0
  152. package/dist/types/shared/src/behavior/anchor-follow.d.ts +13 -0
  153. package/dist/types/shared/src/behavior/anchor-follow.d.ts.map +1 -0
  154. package/dist/types/shared/src/behavior/form.d.ts +24 -0
  155. package/dist/types/shared/src/behavior/form.d.ts.map +1 -0
  156. package/dist/types/shared/src/behavior/ripple.d.ts +11 -0
  157. package/dist/types/shared/src/behavior/ripple.d.ts.map +1 -0
  158. package/dist/types/shared/src/behavior/spoiler/painter.d.ts +35 -0
  159. package/dist/types/shared/src/behavior/spoiler/painter.d.ts.map +1 -0
  160. package/dist/types/shared/src/behavior/spoiler/worklet.d.ts +2 -0
  161. package/dist/types/shared/src/behavior/spoiler/worklet.d.ts.map +1 -0
  162. package/dist/types/shared/src/behavior/toast.d.ts +72 -0
  163. package/dist/types/shared/src/behavior/toast.d.ts.map +1 -0
  164. package/dist/types/shared/src/lib/anchor.d.ts +31 -0
  165. package/dist/types/shared/src/lib/anchor.d.ts.map +1 -0
  166. package/dist/types/shared/src/lib/banner.d.ts +3 -0
  167. package/dist/types/shared/src/lib/banner.d.ts.map +1 -0
  168. package/dist/types/shared/src/lib/calendar/format.d.ts +7 -0
  169. package/dist/types/shared/src/lib/calendar/format.d.ts.map +1 -0
  170. package/dist/types/shared/src/lib/caret.d.ts +2 -0
  171. package/dist/types/shared/src/lib/caret.d.ts.map +1 -0
  172. package/dist/types/shared/src/lib/collapse.d.ts +9 -0
  173. package/dist/types/shared/src/lib/collapse.d.ts.map +1 -0
  174. package/dist/types/shared/src/lib/command-palette/hotkey.d.ts +9 -0
  175. package/dist/types/shared/src/lib/command-palette/hotkey.d.ts.map +1 -0
  176. package/dist/types/shared/src/lib/command-palette/match.d.ts +21 -0
  177. package/dist/types/shared/src/lib/command-palette/match.d.ts.map +1 -0
  178. package/dist/types/shared/src/lib/data-list.d.ts +7 -0
  179. package/dist/types/shared/src/lib/data-list.d.ts.map +1 -0
  180. package/dist/types/shared/src/lib/data-table/column-sizing-styles.d.ts +8 -0
  181. package/dist/types/shared/src/lib/data-table/column-sizing-styles.d.ts.map +1 -0
  182. package/dist/types/shared/src/lib/data-table/column-sizing.d.ts +22 -0
  183. package/dist/types/shared/src/lib/data-table/column-sizing.d.ts.map +1 -0
  184. package/dist/types/shared/src/lib/data-table/csv.d.ts +5 -0
  185. package/dist/types/shared/src/lib/data-table/csv.d.ts.map +1 -0
  186. package/dist/types/shared/src/lib/data-table/layout.d.ts +28 -0
  187. package/dist/types/shared/src/lib/data-table/layout.d.ts.map +1 -0
  188. package/dist/types/shared/src/lib/data-table/resize.d.ts +15 -0
  189. package/dist/types/shared/src/lib/data-table/resize.d.ts.map +1 -0
  190. package/dist/types/shared/src/lib/data-table/state.d.ts +103 -0
  191. package/dist/types/shared/src/lib/data-table/state.d.ts.map +1 -0
  192. package/dist/types/shared/src/lib/data-table/utils.d.ts +11 -0
  193. package/dist/types/shared/src/lib/data-table/utils.d.ts.map +1 -0
  194. package/dist/types/shared/src/lib/date-range-field/validity.d.ts +12 -0
  195. package/dist/types/shared/src/lib/date-range-field/validity.d.ts.map +1 -0
  196. package/dist/types/shared/src/lib/date.d.ts +28 -0
  197. package/dist/types/shared/src/lib/date.d.ts.map +1 -0
  198. package/dist/types/shared/src/lib/field-focus.d.ts +2 -0
  199. package/dist/types/shared/src/lib/field-focus.d.ts.map +1 -0
  200. package/dist/types/shared/src/lib/file-upload/select.d.ts +17 -0
  201. package/dist/types/shared/src/lib/file-upload/select.d.ts.map +1 -0
  202. package/dist/types/shared/src/lib/file-upload/size.d.ts +2 -0
  203. package/dist/types/shared/src/lib/file-upload/size.d.ts.map +1 -0
  204. package/dist/types/shared/src/lib/float-button.d.ts +15 -0
  205. package/dist/types/shared/src/lib/float-button.d.ts.map +1 -0
  206. package/dist/types/shared/src/lib/form/errors.d.ts +7 -0
  207. package/dist/types/shared/src/lib/form/errors.d.ts.map +1 -0
  208. package/dist/types/shared/src/lib/form/focus.d.ts +2 -0
  209. package/dist/types/shared/src/lib/form/focus.d.ts.map +1 -0
  210. package/dist/types/shared/src/lib/form/standard-schema.d.ts +23 -0
  211. package/dist/types/shared/src/lib/form/standard-schema.d.ts.map +1 -0
  212. package/dist/types/shared/src/lib/form/values.d.ts +3 -0
  213. package/dist/types/shared/src/lib/form/values.d.ts.map +1 -0
  214. package/dist/types/shared/src/lib/highlighter.d.ts +4 -0
  215. package/dist/types/shared/src/lib/highlighter.d.ts.map +1 -0
  216. package/dist/types/shared/src/lib/iris-origin.d.ts +6 -0
  217. package/dist/types/shared/src/lib/iris-origin.d.ts.map +1 -0
  218. package/dist/types/shared/src/lib/lightbox/clip.d.ts +16 -0
  219. package/dist/types/shared/src/lib/lightbox/clip.d.ts.map +1 -0
  220. package/dist/types/shared/src/lib/lightbox/download.d.ts +3 -0
  221. package/dist/types/shared/src/lib/lightbox/download.d.ts.map +1 -0
  222. package/dist/types/shared/src/lib/lightbox/gesture.d.ts +26 -0
  223. package/dist/types/shared/src/lib/lightbox/gesture.d.ts.map +1 -0
  224. package/dist/types/shared/src/lib/lightbox/paging.d.ts +9 -0
  225. package/dist/types/shared/src/lib/lightbox/paging.d.ts.map +1 -0
  226. package/dist/types/shared/src/lib/lightbox/pose.d.ts +38 -0
  227. package/dist/types/shared/src/lib/lightbox/pose.d.ts.map +1 -0
  228. package/dist/types/shared/src/lib/lightbox/source.d.ts +4 -0
  229. package/dist/types/shared/src/lib/lightbox/source.d.ts.map +1 -0
  230. package/dist/types/shared/src/lib/lightbox/types.d.ts +16 -0
  231. package/dist/types/shared/src/lib/lightbox/types.d.ts.map +1 -0
  232. package/dist/types/shared/src/lib/lightbox/zoom.d.ts +40 -0
  233. package/dist/types/shared/src/lib/lightbox/zoom.d.ts.map +1 -0
  234. package/dist/types/shared/src/lib/meter-group.d.ts +5 -0
  235. package/dist/types/shared/src/lib/meter-group.d.ts.map +1 -0
  236. package/dist/types/shared/src/lib/overlay-anchor.d.ts +10 -0
  237. package/dist/types/shared/src/lib/overlay-anchor.d.ts.map +1 -0
  238. package/dist/types/shared/src/lib/pagination.d.ts +4 -0
  239. package/dist/types/shared/src/lib/pagination.d.ts.map +1 -0
  240. package/dist/types/shared/src/lib/pointer-corridor.d.ts +7 -0
  241. package/dist/types/shared/src/lib/pointer-corridor.d.ts.map +1 -0
  242. package/dist/types/shared/src/lib/qr-code-export.d.ts +6 -0
  243. package/dist/types/shared/src/lib/qr-code-export.d.ts.map +1 -0
  244. package/dist/types/shared/src/lib/range-calendar/limit.d.ts +3 -0
  245. package/dist/types/shared/src/lib/range-calendar/limit.d.ts.map +1 -0
  246. package/dist/types/shared/src/lib/rating.d.ts +2 -0
  247. package/dist/types/shared/src/lib/rating.d.ts.map +1 -0
  248. package/dist/types/shared/src/lib/relative-time.d.ts +2 -0
  249. package/dist/types/shared/src/lib/relative-time.d.ts.map +1 -0
  250. package/dist/types/shared/src/lib/scroll-area.d.ts +50 -0
  251. package/dist/types/shared/src/lib/scroll-area.d.ts.map +1 -0
  252. package/dist/types/shared/src/lib/scroll-restore.d.ts +34 -0
  253. package/dist/types/shared/src/lib/scroll-restore.d.ts.map +1 -0
  254. package/dist/types/shared/src/lib/toast-layout.d.ts +13 -0
  255. package/dist/types/shared/src/lib/toast-layout.d.ts.map +1 -0
  256. package/dist/types/shared/src/lib/tree/selection.d.ts +23 -0
  257. package/dist/types/shared/src/lib/tree/selection.d.ts.map +1 -0
  258. package/dist/types/shared/src/lib/tree-select/filter.d.ts +7 -0
  259. package/dist/types/shared/src/lib/tree-select/filter.d.ts.map +1 -0
  260. package/dist/types/shared/src/lib/virtual/choices.d.ts +59 -0
  261. package/dist/types/shared/src/lib/virtual/choices.d.ts.map +1 -0
  262. package/dist/types/shared/src/lib/virtual/collection.d.ts +25 -0
  263. package/dist/types/shared/src/lib/virtual/collection.d.ts.map +1 -0
  264. package/dist/types/shared/src/lib/virtual/flow.d.ts +18 -0
  265. package/dist/types/shared/src/lib/virtual/flow.d.ts.map +1 -0
  266. package/dist/types/shared/src/lib/virtual/list.d.ts +46 -0
  267. package/dist/types/shared/src/lib/virtual/list.d.ts.map +1 -0
  268. package/dist/types/shared/src/lib/virtual/navigation.d.ts +3 -0
  269. package/dist/types/shared/src/lib/virtual/navigation.d.ts.map +1 -0
  270. package/dist/types/shared/src/lib/virtual/tree.d.ts +31 -0
  271. package/dist/types/shared/src/lib/virtual/tree.d.ts.map +1 -0
  272. package/dist/types/shared/src/locale/en-US.d.ts +3 -0
  273. package/dist/types/shared/src/locale/en-US.d.ts.map +1 -0
  274. package/dist/types/shared/src/locale/index.d.ts +6 -0
  275. package/dist/types/shared/src/locale/index.d.ts.map +1 -0
  276. package/dist/types/shared/src/locale/types.d.ts +235 -0
  277. package/dist/types/shared/src/locale/types.d.ts.map +1 -0
  278. package/dist/types/shared/src/locale/zh-CN.d.ts +3 -0
  279. package/dist/types/shared/src/locale/zh-CN.d.ts.map +1 -0
  280. package/dist/types/shared/src/primitives/accordion/index.d.ts +9 -0
  281. package/dist/types/shared/src/primitives/accordion/index.d.ts.map +1 -0
  282. package/dist/types/shared/src/primitives/arrow-navigation/index.d.ts +12 -0
  283. package/dist/types/shared/src/primitives/arrow-navigation/index.d.ts.map +1 -0
  284. package/dist/types/shared/src/primitives/checkbox/index.d.ts +6 -0
  285. package/dist/types/shared/src/primitives/checkbox/index.d.ts.map +1 -0
  286. package/dist/types/shared/src/primitives/collapsible/index.d.ts +12 -0
  287. package/dist/types/shared/src/primitives/collapsible/index.d.ts.map +1 -0
  288. package/dist/types/shared/src/primitives/collection/index.d.ts +6 -0
  289. package/dist/types/shared/src/primitives/collection/index.d.ts.map +1 -0
  290. package/dist/types/shared/src/primitives/dismissable-layer/index.d.ts +41 -0
  291. package/dist/types/shared/src/primitives/dismissable-layer/index.d.ts.map +1 -0
  292. package/dist/types/shared/src/primitives/focus-scope/index.d.ts +51 -0
  293. package/dist/types/shared/src/primitives/focus-scope/index.d.ts.map +1 -0
  294. package/dist/types/shared/src/primitives/label/index.d.ts +2 -0
  295. package/dist/types/shared/src/primitives/label/index.d.ts.map +1 -0
  296. package/dist/types/shared/src/primitives/number-field/index.d.ts +155 -0
  297. package/dist/types/shared/src/primitives/number-field/index.d.ts.map +1 -0
  298. package/dist/types/shared/src/primitives/pagination/index.d.ts +17 -0
  299. package/dist/types/shared/src/primitives/pagination/index.d.ts.map +1 -0
  300. package/dist/types/shared/src/primitives/pin-input/index.d.ts +31 -0
  301. package/dist/types/shared/src/primitives/pin-input/index.d.ts.map +1 -0
  302. package/dist/types/shared/src/primitives/presence/index.d.ts +14 -0
  303. package/dist/types/shared/src/primitives/presence/index.d.ts.map +1 -0
  304. package/dist/types/shared/src/primitives/progress/index.d.ts +10 -0
  305. package/dist/types/shared/src/primitives/progress/index.d.ts.map +1 -0
  306. package/dist/types/shared/src/primitives/radio-group/index.d.ts +12 -0
  307. package/dist/types/shared/src/primitives/radio-group/index.d.ts.map +1 -0
  308. package/dist/types/shared/src/primitives/rating/index.d.ts +8 -0
  309. package/dist/types/shared/src/primitives/rating/index.d.ts.map +1 -0
  310. package/dist/types/shared/src/primitives/roving-focus/index.d.ts +13 -0
  311. package/dist/types/shared/src/primitives/roving-focus/index.d.ts.map +1 -0
  312. package/dist/types/shared/src/primitives/separator/index.d.ts +10 -0
  313. package/dist/types/shared/src/primitives/separator/index.d.ts.map +1 -0
  314. package/dist/types/shared/src/primitives/size/index.d.ts +7 -0
  315. package/dist/types/shared/src/primitives/size/index.d.ts.map +1 -0
  316. package/dist/types/shared/src/primitives/slider/index.d.ts +60 -0
  317. package/dist/types/shared/src/primitives/slider/index.d.ts.map +1 -0
  318. package/dist/types/shared/src/primitives/splitter/arrays.d.ts +2 -0
  319. package/dist/types/shared/src/primitives/splitter/arrays.d.ts.map +1 -0
  320. package/dist/types/shared/src/primitives/splitter/assert.d.ts +2 -0
  321. package/dist/types/shared/src/primitives/splitter/assert.d.ts.map +1 -0
  322. package/dist/types/shared/src/primitives/splitter/calculate.d.ts +15 -0
  323. package/dist/types/shared/src/primitives/splitter/calculate.d.ts.map +1 -0
  324. package/dist/types/shared/src/primitives/splitter/callPanelCallbacks.d.ts +3 -0
  325. package/dist/types/shared/src/primitives/splitter/callPanelCallbacks.d.ts.map +1 -0
  326. package/dist/types/shared/src/primitives/splitter/compare.d.ts +3 -0
  327. package/dist/types/shared/src/primitives/splitter/compare.d.ts.map +1 -0
  328. package/dist/types/shared/src/primitives/splitter/constants.d.ts +2 -0
  329. package/dist/types/shared/src/primitives/splitter/constants.d.ts.map +1 -0
  330. package/dist/types/shared/src/primitives/splitter/debounce.d.ts +2 -0
  331. package/dist/types/shared/src/primitives/splitter/debounce.d.ts.map +1 -0
  332. package/dist/types/shared/src/primitives/splitter/dom.d.ts +8 -0
  333. package/dist/types/shared/src/primitives/splitter/dom.d.ts.map +1 -0
  334. package/dist/types/shared/src/primitives/splitter/events.d.ts +10 -0
  335. package/dist/types/shared/src/primitives/splitter/events.d.ts.map +1 -0
  336. package/dist/types/shared/src/primitives/splitter/flags.d.ts +5 -0
  337. package/dist/types/shared/src/primitives/splitter/flags.d.ts.map +1 -0
  338. package/dist/types/shared/src/primitives/splitter/layout.d.ts +10 -0
  339. package/dist/types/shared/src/primitives/splitter/layout.d.ts.map +1 -0
  340. package/dist/types/shared/src/primitives/splitter/pivot.d.ts +2 -0
  341. package/dist/types/shared/src/primitives/splitter/pivot.d.ts.map +1 -0
  342. package/dist/types/shared/src/primitives/splitter/rects.d.ts +8 -0
  343. package/dist/types/shared/src/primitives/splitter/rects.d.ts.map +1 -0
  344. package/dist/types/shared/src/primitives/splitter/registry.d.ts +5 -0
  345. package/dist/types/shared/src/primitives/splitter/registry.d.ts.map +1 -0
  346. package/dist/types/shared/src/primitives/splitter/resizePanel.d.ts +7 -0
  347. package/dist/types/shared/src/primitives/splitter/resizePanel.d.ts.map +1 -0
  348. package/dist/types/shared/src/primitives/splitter/stackingOrder.d.ts +2 -0
  349. package/dist/types/shared/src/primitives/splitter/stackingOrder.d.ts.map +1 -0
  350. package/dist/types/shared/src/primitives/splitter/storage.d.ts +9 -0
  351. package/dist/types/shared/src/primitives/splitter/storage.d.ts.map +1 -0
  352. package/dist/types/shared/src/primitives/splitter/style.d.ts +21 -0
  353. package/dist/types/shared/src/primitives/splitter/style.d.ts.map +1 -0
  354. package/dist/types/shared/src/primitives/splitter/types.d.ts +42 -0
  355. package/dist/types/shared/src/primitives/splitter/types.d.ts.map +1 -0
  356. package/dist/types/shared/src/primitives/splitter/units.d.ts +13 -0
  357. package/dist/types/shared/src/primitives/splitter/units.d.ts.map +1 -0
  358. package/dist/types/shared/src/primitives/splitter/validation.d.ts +6 -0
  359. package/dist/types/shared/src/primitives/splitter/validation.d.ts.map +1 -0
  360. package/dist/types/shared/src/primitives/stepper/index.d.ts +21 -0
  361. package/dist/types/shared/src/primitives/stepper/index.d.ts.map +1 -0
  362. package/dist/types/shared/src/primitives/tabs/index.d.ts +7 -0
  363. package/dist/types/shared/src/primitives/tabs/index.d.ts.map +1 -0
  364. package/dist/types/shared/src/primitives/toggle/index.d.ts +3 -0
  365. package/dist/types/shared/src/primitives/toggle/index.d.ts.map +1 -0
  366. package/dist/types/shared/src/primitives/value/index.d.ts +15 -0
  367. package/dist/types/shared/src/primitives/value/index.d.ts.map +1 -0
  368. package/dist/types/shared/src/primitives/visually-hidden/index.d.ts +19 -0
  369. package/dist/types/shared/src/primitives/visually-hidden/index.d.ts.map +1 -0
  370. package/dist/types/shared/src/types/autocomplete.d.ts +14 -0
  371. package/dist/types/shared/src/types/autocomplete.d.ts.map +1 -0
  372. package/dist/types/shared/src/types/data-table.d.ts +169 -0
  373. package/dist/types/shared/src/types/data-table.d.ts.map +1 -0
  374. package/dist/types/shared/src/types/pagination.d.ts +23 -0
  375. package/dist/types/shared/src/types/pagination.d.ts.map +1 -0
  376. package/dist/types/shared/src/types/select.d.ts +14 -0
  377. package/dist/types/shared/src/types/select.d.ts.map +1 -0
  378. package/dist/types/shared/src/types/tree-select.d.ts +10 -0
  379. package/dist/types/shared/src/types/tree-select.d.ts.map +1 -0
  380. package/dist/types/shared/src/types/tree.d.ts +18 -0
  381. package/dist/types/shared/src/types/tree.d.ts.map +1 -0
  382. package/dist/types/shared/src/variants/autocomplete.d.ts +3 -0
  383. package/dist/types/shared/src/variants/autocomplete.d.ts.map +1 -0
  384. package/dist/types/shared/src/variants/editable.d.ts +52 -0
  385. package/dist/types/shared/src/variants/editable.d.ts.map +1 -0
  386. package/dist/types/shared/src/variants/float-button.d.ts +74 -0
  387. package/dist/types/shared/src/variants/float-button.d.ts.map +1 -0
  388. package/dist/types/shared/src/variants/panel.d.ts +13 -1
  389. package/dist/types/shared/src/variants/panel.d.ts.map +1 -1
  390. package/dist/types/shared/src/variants/split-button.d.ts +18 -0
  391. package/dist/types/shared/src/variants/split-button.d.ts.map +1 -0
  392. package/dist/types/vue/src/components/accordion/Accordion.vue.d.ts.map +1 -1
  393. package/dist/types/vue/src/components/accordion/AccordionTrigger.vue.d.ts.map +1 -1
  394. package/dist/types/vue/src/components/anchor/composables/useAnchor.d.ts +2 -7
  395. package/dist/types/vue/src/components/anchor/composables/useAnchor.d.ts.map +1 -1
  396. package/dist/types/vue/src/components/anchor/composables/useAnchorFollow.d.ts.map +1 -1
  397. package/dist/types/vue/src/components/anchor/composables/useScrollSpy.d.ts +2 -5
  398. package/dist/types/vue/src/components/anchor/composables/useScrollSpy.d.ts.map +1 -1
  399. package/dist/types/vue/src/components/anchor/types.d.ts +1 -8
  400. package/dist/types/vue/src/components/anchor/types.d.ts.map +1 -1
  401. package/dist/types/vue/src/components/autocomplete/autocomplete.variants.d.ts +1 -1
  402. package/dist/types/vue/src/components/autocomplete/autocomplete.variants.d.ts.map +1 -1
  403. package/dist/types/vue/src/components/autocomplete/types.d.ts +1 -13
  404. package/dist/types/vue/src/components/autocomplete/types.d.ts.map +1 -1
  405. package/dist/types/vue/src/components/banner/utils/direction.d.ts +1 -2
  406. package/dist/types/vue/src/components/banner/utils/direction.d.ts.map +1 -1
  407. package/dist/types/vue/src/components/breadcrumb/BreadcrumbItem.vue.d.ts +2 -2
  408. package/dist/types/vue/src/components/breadcrumb/BreadcrumbItem.vue.d.ts.map +1 -1
  409. package/dist/types/vue/src/components/button/Button.vue.d.ts +2 -2
  410. package/dist/types/vue/src/components/button/Button.vue.d.ts.map +1 -1
  411. package/dist/types/vue/src/components/calendar/utils/format.d.ts +1 -6
  412. package/dist/types/vue/src/components/calendar/utils/format.d.ts.map +1 -1
  413. package/dist/types/vue/src/components/card/Card.vue.d.ts +2 -2
  414. package/dist/types/vue/src/components/card/Card.vue.d.ts.map +1 -1
  415. package/dist/types/vue/src/components/carousel/composables/useCarousel.d.ts +1 -1
  416. package/dist/types/vue/src/components/chip/Chip.vue.d.ts +1 -1
  417. package/dist/types/vue/src/components/chip/Chip.vue.d.ts.map +1 -1
  418. package/dist/types/vue/src/components/chip/composables/useChipRoot.d.ts +2 -2
  419. package/dist/types/vue/src/components/chip/composables/useChipRoot.d.ts.map +1 -1
  420. package/dist/types/vue/src/components/code-block/highlighter.d.ts +1 -3
  421. package/dist/types/vue/src/components/code-block/highlighter.d.ts.map +1 -1
  422. package/dist/types/vue/src/components/collapsible/Collapsible.vue.d.ts.map +1 -1
  423. package/dist/types/vue/src/components/collapsible/CollapsibleTrigger.vue.d.ts.map +1 -1
  424. package/dist/types/vue/src/components/command-palette/composables/useCommandItems.d.ts +1 -1
  425. package/dist/types/vue/src/components/command-palette/utils/hotkey.d.ts +1 -8
  426. package/dist/types/vue/src/components/command-palette/utils/hotkey.d.ts.map +1 -1
  427. package/dist/types/vue/src/components/command-palette/utils/match.d.ts +5 -12
  428. package/dist/types/vue/src/components/command-palette/utils/match.d.ts.map +1 -1
  429. package/dist/types/vue/src/components/data-list/DataList.vue.d.ts +2 -2
  430. package/dist/types/vue/src/components/data-list/composables/useDataList.d.ts.map +1 -1
  431. package/dist/types/vue/src/components/data-list/utils/scroll.d.ts +1 -2
  432. package/dist/types/vue/src/components/data-list/utils/scroll.d.ts.map +1 -1
  433. package/dist/types/vue/src/components/data-table/DataTable.vue.d.ts +2 -2
  434. package/dist/types/vue/src/components/data-table/column-sizing-styles.d.ts +1 -3
  435. package/dist/types/vue/src/components/data-table/column-sizing-styles.d.ts.map +1 -1
  436. package/dist/types/vue/src/components/data-table/column-sizing.d.ts +1 -21
  437. package/dist/types/vue/src/components/data-table/column-sizing.d.ts.map +1 -1
  438. package/dist/types/vue/src/components/data-table/composables/useDataTable.d.ts.map +1 -1
  439. package/dist/types/vue/src/components/data-table/composables/useTableColumns.d.ts.map +1 -1
  440. package/dist/types/vue/src/components/data-table/composables/useTableDrag.d.ts.map +1 -1
  441. package/dist/types/vue/src/components/data-table/composables/useTableExport.d.ts.map +1 -1
  442. package/dist/types/vue/src/components/data-table/composables/useTableResize.d.ts.map +1 -1
  443. package/dist/types/vue/src/components/data-table/composables/useTableResizeHandles.d.ts.map +1 -1
  444. package/dist/types/vue/src/components/data-table/composables/useTableVirtual.d.ts.map +1 -1
  445. package/dist/types/vue/src/components/data-table/types.d.ts +3 -153
  446. package/dist/types/vue/src/components/data-table/types.d.ts.map +1 -1
  447. package/dist/types/vue/src/components/data-table/utils.d.ts +1 -9
  448. package/dist/types/vue/src/components/data-table/utils.d.ts.map +1 -1
  449. package/dist/types/vue/src/components/date-range-field/utils/validity.d.ts +1 -11
  450. package/dist/types/vue/src/components/date-range-field/utils/validity.d.ts.map +1 -1
  451. package/dist/types/vue/src/components/editable/editable.variants.d.ts +1 -1
  452. package/dist/types/vue/src/components/editable/editable.variants.d.ts.map +1 -1
  453. package/dist/types/vue/src/components/file-upload/utils/select.d.ts +1 -16
  454. package/dist/types/vue/src/components/file-upload/utils/select.d.ts.map +1 -1
  455. package/dist/types/vue/src/components/file-upload/utils/size.d.ts +1 -1
  456. package/dist/types/vue/src/components/file-upload/utils/size.d.ts.map +1 -1
  457. package/dist/types/vue/src/components/float-button/FloatButton.vue.d.ts +1 -1
  458. package/dist/types/vue/src/components/float-button/FloatButton.vue.d.ts.map +1 -1
  459. package/dist/types/vue/src/components/float-button/float-button.variants.d.ts +1 -1
  460. package/dist/types/vue/src/components/float-button/float-button.variants.d.ts.map +1 -1
  461. package/dist/types/vue/src/components/float-button/types.d.ts +3 -2
  462. package/dist/types/vue/src/components/float-button/types.d.ts.map +1 -1
  463. package/dist/types/vue/src/components/form/Form.vue.d.ts +1 -1
  464. package/dist/types/vue/src/components/form/composables/useForm.d.ts +9 -15
  465. package/dist/types/vue/src/components/form/composables/useForm.d.ts.map +1 -1
  466. package/dist/types/vue/src/components/form/standard-schema.d.ts +1 -22
  467. package/dist/types/vue/src/components/form/standard-schema.d.ts.map +1 -1
  468. package/dist/types/vue/src/components/form/utils/errors.d.ts +1 -6
  469. package/dist/types/vue/src/components/form/utils/errors.d.ts.map +1 -1
  470. package/dist/types/vue/src/components/form/utils/focus.d.ts +1 -1
  471. package/dist/types/vue/src/components/form/utils/focus.d.ts.map +1 -1
  472. package/dist/types/vue/src/components/form/utils/values.d.ts +1 -2
  473. package/dist/types/vue/src/components/form/utils/values.d.ts.map +1 -1
  474. package/dist/types/vue/src/components/form-field/FormField.vue.d.ts.map +1 -1
  475. package/dist/types/vue/src/components/heading/Heading.vue.d.ts.map +1 -1
  476. package/dist/types/vue/src/components/icon-button/IconButton.vue.d.ts +2 -2
  477. package/dist/types/vue/src/components/icon-button/IconButton.vue.d.ts.map +1 -1
  478. package/dist/types/vue/src/components/image/Image.vue.d.ts.map +1 -1
  479. package/dist/types/vue/src/components/indicator/Indicator.vue.d.ts +2 -2
  480. package/dist/types/vue/src/components/indicator/Indicator.vue.d.ts.map +1 -1
  481. package/dist/types/vue/src/components/lightbox/types.d.ts +1 -15
  482. package/dist/types/vue/src/components/lightbox/types.d.ts.map +1 -1
  483. package/dist/types/vue/src/components/lightbox/utils/clip.d.ts +1 -15
  484. package/dist/types/vue/src/components/lightbox/utils/clip.d.ts.map +1 -1
  485. package/dist/types/vue/src/components/lightbox/utils/download.d.ts +1 -2
  486. package/dist/types/vue/src/components/lightbox/utils/download.d.ts.map +1 -1
  487. package/dist/types/vue/src/components/lightbox/utils/gesture.d.ts +1 -25
  488. package/dist/types/vue/src/components/lightbox/utils/gesture.d.ts.map +1 -1
  489. package/dist/types/vue/src/components/lightbox/utils/paging.d.ts +1 -8
  490. package/dist/types/vue/src/components/lightbox/utils/paging.d.ts.map +1 -1
  491. package/dist/types/vue/src/components/lightbox/utils/pose.d.ts +1 -37
  492. package/dist/types/vue/src/components/lightbox/utils/pose.d.ts.map +1 -1
  493. package/dist/types/vue/src/components/lightbox/utils/source.d.ts +1 -3
  494. package/dist/types/vue/src/components/lightbox/utils/source.d.ts.map +1 -1
  495. package/dist/types/vue/src/components/lightbox/utils/zoom.d.ts +1 -39
  496. package/dist/types/vue/src/components/lightbox/utils/zoom.d.ts.map +1 -1
  497. package/dist/types/vue/src/components/link/Link.vue.d.ts +2 -2
  498. package/dist/types/vue/src/components/link/Link.vue.d.ts.map +1 -1
  499. package/dist/types/vue/src/components/meter-group/utils/tones.d.ts +1 -3
  500. package/dist/types/vue/src/components/meter-group/utils/tones.d.ts.map +1 -1
  501. package/dist/types/vue/src/components/month-grid/MonthGrid.vue.d.ts +1 -1
  502. package/dist/types/vue/src/components/multi-select/MultiSelect.vue.d.ts.map +1 -1
  503. package/dist/types/vue/src/components/nav-link/NavLink.vue.d.ts +9 -5
  504. package/dist/types/vue/src/components/nav-link/NavLink.vue.d.ts.map +1 -1
  505. package/dist/types/vue/src/components/nav-link/NavLinkChild.d.ts +27 -0
  506. package/dist/types/vue/src/components/nav-link/NavLinkChild.d.ts.map +1 -0
  507. package/dist/types/vue/src/components/navigation-menu/NavigationMenuLink.vue.d.ts +2 -2
  508. package/dist/types/vue/src/components/navigation-menu/NavigationMenuLink.vue.d.ts.map +1 -1
  509. package/dist/types/vue/src/components/pagination/PaginationControl.vue.d.ts.map +1 -1
  510. package/dist/types/vue/src/components/pagination/composables/usePagination.d.ts +2 -2
  511. package/dist/types/vue/src/components/pagination/composables/usePagination.d.ts.map +1 -1
  512. package/dist/types/vue/src/components/pagination/types.d.ts +1 -22
  513. package/dist/types/vue/src/components/pagination/types.d.ts.map +1 -1
  514. package/dist/types/vue/src/components/pagination/utils/ranges.d.ts +1 -2
  515. package/dist/types/vue/src/components/pagination/utils/ranges.d.ts.map +1 -1
  516. package/dist/types/vue/src/components/password-input/PasswordInput.vue.d.ts +4 -1
  517. package/dist/types/vue/src/components/password-input/PasswordInput.vue.d.ts.map +1 -1
  518. package/dist/types/vue/src/components/prev-next/PrevNextLink.vue.d.ts +2 -2
  519. package/dist/types/vue/src/components/prev-next/PrevNextLink.vue.d.ts.map +1 -1
  520. package/dist/types/vue/src/components/prose/Prose.vue.d.ts +2 -2
  521. package/dist/types/vue/src/components/prose/Prose.vue.d.ts.map +1 -1
  522. package/dist/types/vue/src/components/qr-code/export.d.ts +1 -2
  523. package/dist/types/vue/src/components/qr-code/export.d.ts.map +1 -1
  524. package/dist/types/vue/src/components/range-calendar/utils/limit.d.ts +1 -2
  525. package/dist/types/vue/src/components/range-calendar/utils/limit.d.ts.map +1 -1
  526. package/dist/types/vue/src/components/range-slider/RangeSlider.vue.d.ts +2 -2
  527. package/dist/types/vue/src/components/rating/utils/fill.d.ts +1 -1
  528. package/dist/types/vue/src/components/rating/utils/fill.d.ts.map +1 -1
  529. package/dist/types/vue/src/components/ripple/useRipple.d.ts.map +1 -1
  530. package/dist/types/vue/src/components/scroll-area/ScrollArea.vue.d.ts.map +1 -1
  531. package/dist/types/vue/src/components/scroll-area/composables/useEdgeShadow.d.ts +2 -1
  532. package/dist/types/vue/src/components/scroll-area/composables/useEdgeShadow.d.ts.map +1 -1
  533. package/dist/types/vue/src/components/scroll-area/composables/useLayerLock.d.ts.map +1 -1
  534. package/dist/types/vue/src/components/scroll-area/composables/useWheelRedirect.d.ts.map +1 -1
  535. package/dist/types/vue/src/components/scroll-area/scroll-restore.d.ts +1 -33
  536. package/dist/types/vue/src/components/scroll-area/scroll-restore.d.ts.map +1 -1
  537. package/dist/types/vue/src/components/search-input/SearchInput.vue.d.ts +4 -1
  538. package/dist/types/vue/src/components/search-input/SearchInput.vue.d.ts.map +1 -1
  539. package/dist/types/vue/src/components/section/Section.vue.d.ts.map +1 -1
  540. package/dist/types/vue/src/components/segmented-control/SegmentedControl.vue.d.ts.map +1 -1
  541. package/dist/types/vue/src/components/select/types.d.ts +1 -13
  542. package/dist/types/vue/src/components/select/types.d.ts.map +1 -1
  543. package/dist/types/vue/src/components/sidebar/Sidebar.vue.d.ts.map +1 -1
  544. package/dist/types/vue/src/components/sidebar/context.d.ts +2 -0
  545. package/dist/types/vue/src/components/sidebar/context.d.ts.map +1 -1
  546. package/dist/types/vue/src/components/slider/Slider.vue.d.ts +2 -2
  547. package/dist/types/vue/src/components/slider/SliderHandle.vue.d.ts.map +1 -1
  548. package/dist/types/vue/src/components/split-button/SplitButton.vue.d.ts +1 -1
  549. package/dist/types/vue/src/components/split-button/split-button.variants.d.ts +1 -1
  550. package/dist/types/vue/src/components/split-button/split-button.variants.d.ts.map +1 -1
  551. package/dist/types/vue/src/components/split-button/types.d.ts +1 -1
  552. package/dist/types/vue/src/components/split-button/types.d.ts.map +1 -1
  553. package/dist/types/vue/src/components/spoiler/SpoilerPainter.d.ts +1 -34
  554. package/dist/types/vue/src/components/spoiler/SpoilerPainter.d.ts.map +1 -1
  555. package/dist/types/vue/src/components/spoiler/utils/irisOrigin.d.ts +1 -5
  556. package/dist/types/vue/src/components/spoiler/utils/irisOrigin.d.ts.map +1 -1
  557. package/dist/types/vue/src/components/spoiler/worklet.d.ts +1 -1
  558. package/dist/types/vue/src/components/spoiler/worklet.d.ts.map +1 -1
  559. package/dist/types/vue/src/components/table/Table.vue.d.ts +6 -3
  560. package/dist/types/vue/src/components/table/Table.vue.d.ts.map +1 -1
  561. package/dist/types/vue/src/components/tabs/TabsList.vue.d.ts +6 -3
  562. package/dist/types/vue/src/components/tabs/TabsList.vue.d.ts.map +1 -1
  563. package/dist/types/vue/src/components/tag/Tag.vue.d.ts +2 -2
  564. package/dist/types/vue/src/components/tag/Tag.vue.d.ts.map +1 -1
  565. package/dist/types/vue/src/components/text/Text.vue.d.ts +2 -2
  566. package/dist/types/vue/src/components/text/Text.vue.d.ts.map +1 -1
  567. package/dist/types/vue/src/components/time/Time.vue.d.ts +2 -0
  568. package/dist/types/vue/src/components/time/Time.vue.d.ts.map +1 -1
  569. package/dist/types/vue/src/components/time/utils/relativeTime.d.ts +1 -1
  570. package/dist/types/vue/src/components/time/utils/relativeTime.d.ts.map +1 -1
  571. package/dist/types/vue/src/components/toast/Toaster.vue.d.ts.map +1 -1
  572. package/dist/types/vue/src/components/toast/composables/useToastLayout.d.ts +4 -11
  573. package/dist/types/vue/src/components/toast/composables/useToastLayout.d.ts.map +1 -1
  574. package/dist/types/vue/src/components/toast/store.d.ts +14 -62
  575. package/dist/types/vue/src/components/toast/store.d.ts.map +1 -1
  576. package/dist/types/vue/src/components/toggle/Toggle.vue.d.ts.map +1 -1
  577. package/dist/types/vue/src/components/toolbar/ToolbarControl.vue.d.ts +1 -1
  578. package/dist/types/vue/src/components/toolbar/ToolbarLink.vue.d.ts +1 -1
  579. package/dist/types/vue/src/components/toolbar/ToolbarToggleGroup.vue.d.ts.map +1 -1
  580. package/dist/types/vue/src/components/toolbar/types.d.ts +1 -1
  581. package/dist/types/vue/src/components/toolbar/types.d.ts.map +1 -1
  582. package/dist/types/vue/src/components/tree/composables/useTree.d.ts.map +1 -1
  583. package/dist/types/vue/src/components/tree/types.d.ts +1 -17
  584. package/dist/types/vue/src/components/tree/types.d.ts.map +1 -1
  585. package/dist/types/vue/src/components/tree/utils/selection.d.ts +1 -15
  586. package/dist/types/vue/src/components/tree/utils/selection.d.ts.map +1 -1
  587. package/dist/types/vue/src/components/tree-select/types.d.ts +1 -9
  588. package/dist/types/vue/src/components/tree-select/types.d.ts.map +1 -1
  589. package/dist/types/vue/src/components/tree-select/utils/filterTree.d.ts +1 -6
  590. package/dist/types/vue/src/components/tree-select/utils/filterTree.d.ts.map +1 -1
  591. package/dist/types/vue/src/components/virtual-list/composables/useVirtualList.d.ts +2 -2
  592. package/dist/types/vue/src/components/virtual-list/composables/useVirtualList.d.ts.map +1 -1
  593. package/dist/types/vue/src/components/visually-hidden/VisuallyHidden.vue.d.ts +4 -1
  594. package/dist/types/vue/src/components/visually-hidden/VisuallyHidden.vue.d.ts.map +1 -1
  595. package/dist/types/vue/src/lib/caret.d.ts +1 -1
  596. package/dist/types/vue/src/lib/caret.d.ts.map +1 -1
  597. package/dist/types/vue/src/lib/collapse.d.ts +2 -8
  598. package/dist/types/vue/src/lib/collapse.d.ts.map +1 -1
  599. package/dist/types/vue/src/lib/date.d.ts +1 -27
  600. package/dist/types/vue/src/lib/date.d.ts.map +1 -1
  601. package/dist/types/vue/src/lib/field-focus.d.ts +1 -1
  602. package/dist/types/vue/src/lib/field-focus.d.ts.map +1 -1
  603. package/dist/types/vue/src/lib/overlay-anchor.d.ts +2 -7
  604. package/dist/types/vue/src/lib/overlay-anchor.d.ts.map +1 -1
  605. package/dist/types/vue/src/lib/pointer-corridor.d.ts +1 -6
  606. package/dist/types/vue/src/lib/pointer-corridor.d.ts.map +1 -1
  607. package/dist/types/vue/src/lib/reka/useVirtualChoices.d.ts +3 -11
  608. package/dist/types/vue/src/lib/reka/useVirtualChoices.d.ts.map +1 -1
  609. package/dist/types/vue/src/lib/reka/useVirtualTree.d.ts +1 -1
  610. package/dist/types/vue/src/lib/reka/useVirtualTree.d.ts.map +1 -1
  611. package/dist/types/vue/src/lib/useDirection.d.ts +2 -2
  612. package/dist/types/vue/src/lib/useDirection.d.ts.map +1 -1
  613. package/dist/types/vue/src/lib/virtual/navigation.d.ts +1 -2
  614. package/dist/types/vue/src/lib/virtual/navigation.d.ts.map +1 -1
  615. package/dist/types/vue/src/lib/virtual/useVirtualCollection.d.ts +1 -1
  616. package/dist/types/vue/src/lib/virtual/useVirtualCollection.d.ts.map +1 -1
  617. package/dist/types/vue/src/lib/virtual/useVirtualWindow.d.ts +2 -15
  618. package/dist/types/vue/src/lib/virtual/useVirtualWindow.d.ts.map +1 -1
  619. package/dist/types/vue/src/locale/en-US.d.ts +1 -2
  620. package/dist/types/vue/src/locale/en-US.d.ts.map +1 -1
  621. package/dist/types/vue/src/locale/index.d.ts +3 -4
  622. package/dist/types/vue/src/locale/index.d.ts.map +1 -1
  623. package/dist/types/vue/src/locale/types.d.ts +1 -234
  624. package/dist/types/vue/src/locale/types.d.ts.map +1 -1
  625. package/dist/types/vue/src/locale/zh-CN.d.ts +1 -2
  626. package/dist/types/vue/src/locale/zh-CN.d.ts.map +1 -1
  627. package/dist/types/vue/src/primitives/accordion/AccordionContent.d.ts +40 -0
  628. package/dist/types/vue/src/primitives/accordion/AccordionContent.d.ts.map +1 -0
  629. package/dist/types/vue/src/primitives/accordion/AccordionHeader.d.ts +33 -0
  630. package/dist/types/vue/src/primitives/accordion/AccordionHeader.d.ts.map +1 -0
  631. package/dist/types/vue/src/primitives/accordion/AccordionItem.d.ts +61 -0
  632. package/dist/types/vue/src/primitives/accordion/AccordionItem.d.ts.map +1 -0
  633. package/dist/types/vue/src/primitives/accordion/AccordionRoot.d.ts +122 -0
  634. package/dist/types/vue/src/primitives/accordion/AccordionRoot.d.ts.map +1 -0
  635. package/dist/types/vue/src/primitives/accordion/AccordionTrigger.d.ts +30 -0
  636. package/dist/types/vue/src/primitives/accordion/AccordionTrigger.d.ts.map +1 -0
  637. package/dist/types/vue/src/primitives/accordion/context.d.ts +27 -0
  638. package/dist/types/vue/src/primitives/accordion/context.d.ts.map +1 -0
  639. package/dist/types/vue/src/primitives/accordion/index.d.ts +7 -0
  640. package/dist/types/vue/src/primitives/accordion/index.d.ts.map +1 -0
  641. package/dist/types/vue/src/primitives/aspect-ratio/AspectRatio.d.ts +42 -0
  642. package/dist/types/vue/src/primitives/aspect-ratio/AspectRatio.d.ts.map +1 -0
  643. package/dist/types/vue/src/primitives/aspect-ratio/index.d.ts +2 -0
  644. package/dist/types/vue/src/primitives/aspect-ratio/index.d.ts.map +1 -0
  645. package/dist/types/vue/src/primitives/checkbox/CheckboxGroupRoot.d.ts +121 -0
  646. package/dist/types/vue/src/primitives/checkbox/CheckboxGroupRoot.d.ts.map +1 -0
  647. package/dist/types/vue/src/primitives/checkbox/CheckboxRoot.d.ts +127 -0
  648. package/dist/types/vue/src/primitives/checkbox/CheckboxRoot.d.ts.map +1 -0
  649. package/dist/types/vue/src/primitives/checkbox/context.d.ts +14 -0
  650. package/dist/types/vue/src/primitives/checkbox/context.d.ts.map +1 -0
  651. package/dist/types/vue/src/primitives/checkbox/index.d.ts +4 -0
  652. package/dist/types/vue/src/primitives/checkbox/index.d.ts.map +1 -0
  653. package/dist/types/vue/src/primitives/collapsible/CollapsibleContent.d.ts +45 -0
  654. package/dist/types/vue/src/primitives/collapsible/CollapsibleContent.d.ts.map +1 -0
  655. package/dist/types/vue/src/primitives/collapsible/CollapsibleRoot.d.ts +81 -0
  656. package/dist/types/vue/src/primitives/collapsible/CollapsibleRoot.d.ts.map +1 -0
  657. package/dist/types/vue/src/primitives/collapsible/CollapsibleTrigger.d.ts +33 -0
  658. package/dist/types/vue/src/primitives/collapsible/CollapsibleTrigger.d.ts.map +1 -0
  659. package/dist/types/vue/src/primitives/collapsible/context.d.ts +10 -0
  660. package/dist/types/vue/src/primitives/collapsible/context.d.ts.map +1 -0
  661. package/dist/types/vue/src/primitives/collapsible/index.d.ts +5 -0
  662. package/dist/types/vue/src/primitives/collapsible/index.d.ts.map +1 -0
  663. package/dist/types/vue/src/primitives/collection/index.d.ts +28 -0
  664. package/dist/types/vue/src/primitives/collection/index.d.ts.map +1 -0
  665. package/dist/types/vue/src/primitives/number-field/NumberFieldDecrement.vue.d.ts +17 -0
  666. package/dist/types/vue/src/primitives/number-field/NumberFieldDecrement.vue.d.ts.map +1 -0
  667. package/dist/types/vue/src/primitives/number-field/NumberFieldIncrement.vue.d.ts +17 -0
  668. package/dist/types/vue/src/primitives/number-field/NumberFieldIncrement.vue.d.ts.map +1 -0
  669. package/dist/types/vue/src/primitives/number-field/NumberFieldInput.vue.d.ts +16 -0
  670. package/dist/types/vue/src/primitives/number-field/NumberFieldInput.vue.d.ts.map +1 -0
  671. package/dist/types/vue/src/primitives/number-field/NumberFieldRoot.vue.d.ts +47 -0
  672. package/dist/types/vue/src/primitives/number-field/NumberFieldRoot.vue.d.ts.map +1 -0
  673. package/dist/types/vue/src/primitives/number-field/context.d.ts +41 -0
  674. package/dist/types/vue/src/primitives/number-field/context.d.ts.map +1 -0
  675. package/dist/types/vue/src/primitives/number-field/index.d.ts +5 -0
  676. package/dist/types/vue/src/primitives/number-field/index.d.ts.map +1 -0
  677. package/dist/types/vue/src/primitives/pagination/PaginationEdge.d.ts +111 -0
  678. package/dist/types/vue/src/primitives/pagination/PaginationEdge.d.ts.map +1 -0
  679. package/dist/types/vue/src/primitives/pagination/PaginationList.d.ts +30 -0
  680. package/dist/types/vue/src/primitives/pagination/PaginationList.d.ts.map +1 -0
  681. package/dist/types/vue/src/primitives/pagination/PaginationListItem.d.ts +42 -0
  682. package/dist/types/vue/src/primitives/pagination/PaginationListItem.d.ts.map +1 -0
  683. package/dist/types/vue/src/primitives/pagination/PaginationRoot.d.ts +114 -0
  684. package/dist/types/vue/src/primitives/pagination/PaginationRoot.d.ts.map +1 -0
  685. package/dist/types/vue/src/primitives/pagination/context.d.ts +11 -0
  686. package/dist/types/vue/src/primitives/pagination/context.d.ts.map +1 -0
  687. package/dist/types/vue/src/primitives/pagination/index.d.ts +6 -0
  688. package/dist/types/vue/src/primitives/pagination/index.d.ts.map +1 -0
  689. package/dist/types/vue/src/primitives/pin-input/PinInputInput.d.ts +52 -0
  690. package/dist/types/vue/src/primitives/pin-input/PinInputInput.d.ts.map +1 -0
  691. package/dist/types/vue/src/primitives/pin-input/PinInputRoot.d.ts +149 -0
  692. package/dist/types/vue/src/primitives/pin-input/PinInputRoot.d.ts.map +1 -0
  693. package/dist/types/vue/src/primitives/pin-input/context.d.ts +20 -0
  694. package/dist/types/vue/src/primitives/pin-input/context.d.ts.map +1 -0
  695. package/dist/types/vue/src/primitives/pin-input/index.d.ts +4 -0
  696. package/dist/types/vue/src/primitives/pin-input/index.d.ts.map +1 -0
  697. package/dist/types/vue/src/primitives/presence/Presence.d.ts +31 -0
  698. package/dist/types/vue/src/primitives/presence/Presence.d.ts.map +1 -0
  699. package/dist/types/vue/src/primitives/presence/index.d.ts +3 -0
  700. package/dist/types/vue/src/primitives/presence/index.d.ts.map +1 -0
  701. package/dist/types/vue/src/primitives/presence/usePresence.d.ts +5 -0
  702. package/dist/types/vue/src/primitives/presence/usePresence.d.ts.map +1 -0
  703. package/dist/types/vue/src/primitives/primitive/Primitive.d.ts +31 -0
  704. package/dist/types/vue/src/primitives/primitive/Primitive.d.ts.map +1 -0
  705. package/dist/types/vue/src/primitives/primitive/Slot.d.ts +6 -0
  706. package/dist/types/vue/src/primitives/primitive/Slot.d.ts.map +1 -0
  707. package/dist/types/vue/src/primitives/primitive/index.d.ts +3 -0
  708. package/dist/types/vue/src/primitives/primitive/index.d.ts.map +1 -0
  709. package/dist/types/vue/src/primitives/progress/ProgressIndicator.vue.d.ts +14 -0
  710. package/dist/types/vue/src/primitives/progress/ProgressIndicator.vue.d.ts.map +1 -0
  711. package/dist/types/vue/src/primitives/progress/ProgressRoot.vue.d.ts +33 -0
  712. package/dist/types/vue/src/primitives/progress/ProgressRoot.vue.d.ts.map +1 -0
  713. package/dist/types/vue/src/primitives/progress/context.d.ts +9 -0
  714. package/dist/types/vue/src/primitives/progress/context.d.ts.map +1 -0
  715. package/dist/types/vue/src/primitives/progress/index.d.ts +4 -0
  716. package/dist/types/vue/src/primitives/progress/index.d.ts.map +1 -0
  717. package/dist/types/vue/src/primitives/radio-group/Radio.d.ts +88 -0
  718. package/dist/types/vue/src/primitives/radio-group/Radio.d.ts.map +1 -0
  719. package/dist/types/vue/src/primitives/radio-group/RadioGroupIndicator.d.ts +43 -0
  720. package/dist/types/vue/src/primitives/radio-group/RadioGroupIndicator.d.ts.map +1 -0
  721. package/dist/types/vue/src/primitives/radio-group/RadioGroupItem.d.ts +85 -0
  722. package/dist/types/vue/src/primitives/radio-group/RadioGroupItem.d.ts.map +1 -0
  723. package/dist/types/vue/src/primitives/radio-group/RadioGroupRoot.d.ts +119 -0
  724. package/dist/types/vue/src/primitives/radio-group/RadioGroupRoot.d.ts.map +1 -0
  725. package/dist/types/vue/src/primitives/radio-group/context.d.ts +19 -0
  726. package/dist/types/vue/src/primitives/radio-group/context.d.ts.map +1 -0
  727. package/dist/types/vue/src/primitives/radio-group/index.d.ts +5 -0
  728. package/dist/types/vue/src/primitives/radio-group/index.d.ts.map +1 -0
  729. package/dist/types/vue/src/primitives/rating/RatingItem.d.ts +42 -0
  730. package/dist/types/vue/src/primitives/rating/RatingItem.d.ts.map +1 -0
  731. package/dist/types/vue/src/primitives/rating/RatingItemIndicator.d.ts +39 -0
  732. package/dist/types/vue/src/primitives/rating/RatingItemIndicator.d.ts.map +1 -0
  733. package/dist/types/vue/src/primitives/rating/RatingRoot.d.ts +159 -0
  734. package/dist/types/vue/src/primitives/rating/RatingRoot.d.ts.map +1 -0
  735. package/dist/types/vue/src/primitives/rating/context.d.ts +16 -0
  736. package/dist/types/vue/src/primitives/rating/context.d.ts.map +1 -0
  737. package/dist/types/vue/src/primitives/rating/index.d.ts +5 -0
  738. package/dist/types/vue/src/primitives/rating/index.d.ts.map +1 -0
  739. package/dist/types/vue/src/primitives/roving-focus/RovingFocusGroup.vue.d.ts +38 -0
  740. package/dist/types/vue/src/primitives/roving-focus/RovingFocusGroup.vue.d.ts.map +1 -0
  741. package/dist/types/vue/src/primitives/roving-focus/RovingFocusItem.vue.d.ts +21 -0
  742. package/dist/types/vue/src/primitives/roving-focus/RovingFocusItem.vue.d.ts.map +1 -0
  743. package/dist/types/vue/src/primitives/roving-focus/context.d.ts +15 -0
  744. package/dist/types/vue/src/primitives/roving-focus/context.d.ts.map +1 -0
  745. package/dist/types/vue/src/primitives/roving-focus/index.d.ts +4 -0
  746. package/dist/types/vue/src/primitives/roving-focus/index.d.ts.map +1 -0
  747. package/dist/types/vue/src/primitives/separator/Separator.vue.d.ts +19 -0
  748. package/dist/types/vue/src/primitives/separator/Separator.vue.d.ts.map +1 -0
  749. package/dist/types/vue/src/primitives/separator/index.d.ts +2 -0
  750. package/dist/types/vue/src/primitives/separator/index.d.ts.map +1 -0
  751. package/dist/types/vue/src/primitives/slider/SliderImpl.d.ts +36 -0
  752. package/dist/types/vue/src/primitives/slider/SliderImpl.d.ts.map +1 -0
  753. package/dist/types/vue/src/primitives/slider/SliderOrientation.d.ts +91 -0
  754. package/dist/types/vue/src/primitives/slider/SliderOrientation.d.ts.map +1 -0
  755. package/dist/types/vue/src/primitives/slider/SliderRoot.d.ts +187 -0
  756. package/dist/types/vue/src/primitives/slider/SliderRoot.d.ts.map +1 -0
  757. package/dist/types/vue/src/primitives/slider/SliderThumb.d.ts +33 -0
  758. package/dist/types/vue/src/primitives/slider/SliderThumb.d.ts.map +1 -0
  759. package/dist/types/vue/src/primitives/slider/SliderTrack.d.ts +33 -0
  760. package/dist/types/vue/src/primitives/slider/SliderTrack.d.ts.map +1 -0
  761. package/dist/types/vue/src/primitives/slider/context.d.ts +22 -0
  762. package/dist/types/vue/src/primitives/slider/context.d.ts.map +1 -0
  763. package/dist/types/vue/src/primitives/slider/index.d.ts +5 -0
  764. package/dist/types/vue/src/primitives/slider/index.d.ts.map +1 -0
  765. package/dist/types/vue/src/primitives/splitter/SplitterGroup.d.ts +90 -0
  766. package/dist/types/vue/src/primitives/splitter/SplitterGroup.d.ts.map +1 -0
  767. package/dist/types/vue/src/primitives/splitter/SplitterPanel.d.ts +113 -0
  768. package/dist/types/vue/src/primitives/splitter/SplitterPanel.d.ts.map +1 -0
  769. package/dist/types/vue/src/primitives/splitter/SplitterResizeHandle.d.ts +85 -0
  770. package/dist/types/vue/src/primitives/splitter/SplitterResizeHandle.d.ts.map +1 -0
  771. package/dist/types/vue/src/primitives/splitter/behaviors.d.ts +22 -0
  772. package/dist/types/vue/src/primitives/splitter/behaviors.d.ts.map +1 -0
  773. package/dist/types/vue/src/primitives/splitter/context.d.ts +23 -0
  774. package/dist/types/vue/src/primitives/splitter/context.d.ts.map +1 -0
  775. package/dist/types/vue/src/primitives/splitter/index.d.ts +6 -0
  776. package/dist/types/vue/src/primitives/splitter/index.d.ts.map +1 -0
  777. package/dist/types/vue/src/primitives/stepper/StepperItem.d.ts +63 -0
  778. package/dist/types/vue/src/primitives/stepper/StepperItem.d.ts.map +1 -0
  779. package/dist/types/vue/src/primitives/stepper/StepperParts.d.ts +130 -0
  780. package/dist/types/vue/src/primitives/stepper/StepperParts.d.ts.map +1 -0
  781. package/dist/types/vue/src/primitives/stepper/StepperRoot.d.ts +91 -0
  782. package/dist/types/vue/src/primitives/stepper/StepperRoot.d.ts.map +1 -0
  783. package/dist/types/vue/src/primitives/stepper/StepperTrigger.d.ts +33 -0
  784. package/dist/types/vue/src/primitives/stepper/StepperTrigger.d.ts.map +1 -0
  785. package/dist/types/vue/src/primitives/stepper/context.d.ts +23 -0
  786. package/dist/types/vue/src/primitives/stepper/context.d.ts.map +1 -0
  787. package/dist/types/vue/src/primitives/stepper/index.d.ts +6 -0
  788. package/dist/types/vue/src/primitives/stepper/index.d.ts.map +1 -0
  789. package/dist/types/vue/src/primitives/switch/SwitchRoot.d.ts +133 -0
  790. package/dist/types/vue/src/primitives/switch/SwitchRoot.d.ts.map +1 -0
  791. package/dist/types/vue/src/primitives/switch/index.d.ts +2 -0
  792. package/dist/types/vue/src/primitives/switch/index.d.ts.map +1 -0
  793. package/dist/types/vue/src/primitives/tabs/TabsContent.d.ts +50 -0
  794. package/dist/types/vue/src/primitives/tabs/TabsContent.d.ts.map +1 -0
  795. package/dist/types/vue/src/primitives/tabs/TabsList.d.ts +42 -0
  796. package/dist/types/vue/src/primitives/tabs/TabsList.d.ts.map +1 -0
  797. package/dist/types/vue/src/primitives/tabs/TabsRoot.d.ts +101 -0
  798. package/dist/types/vue/src/primitives/tabs/TabsRoot.d.ts.map +1 -0
  799. package/dist/types/vue/src/primitives/tabs/TabsTrigger.d.ts +55 -0
  800. package/dist/types/vue/src/primitives/tabs/TabsTrigger.d.ts.map +1 -0
  801. package/dist/types/vue/src/primitives/tabs/context.d.ts +19 -0
  802. package/dist/types/vue/src/primitives/tabs/context.d.ts.map +1 -0
  803. package/dist/types/vue/src/primitives/tabs/index.d.ts +6 -0
  804. package/dist/types/vue/src/primitives/tabs/index.d.ts.map +1 -0
  805. package/dist/types/vue/src/primitives/toggle/Toggle.d.ts +91 -0
  806. package/dist/types/vue/src/primitives/toggle/Toggle.d.ts.map +1 -0
  807. package/dist/types/vue/src/primitives/toggle/index.d.ts +2 -0
  808. package/dist/types/vue/src/primitives/toggle/index.d.ts.map +1 -0
  809. package/dist/types/vue/src/primitives/toggle-group/ToggleGroupItem.d.ts +53 -0
  810. package/dist/types/vue/src/primitives/toggle-group/ToggleGroupItem.d.ts.map +1 -0
  811. package/dist/types/vue/src/primitives/toggle-group/ToggleGroupRoot.d.ts +141 -0
  812. package/dist/types/vue/src/primitives/toggle-group/ToggleGroupRoot.d.ts.map +1 -0
  813. package/dist/types/vue/src/primitives/toggle-group/context.d.ts +16 -0
  814. package/dist/types/vue/src/primitives/toggle-group/context.d.ts.map +1 -0
  815. package/dist/types/vue/src/primitives/toggle-group/index.d.ts +4 -0
  816. package/dist/types/vue/src/primitives/toggle-group/index.d.ts.map +1 -0
  817. package/dist/types/vue/src/primitives/toolbar/ToolbarButton.d.ts +43 -0
  818. package/dist/types/vue/src/primitives/toolbar/ToolbarButton.d.ts.map +1 -0
  819. package/dist/types/vue/src/primitives/toolbar/ToolbarRoot.d.ts +63 -0
  820. package/dist/types/vue/src/primitives/toolbar/ToolbarRoot.d.ts.map +1 -0
  821. package/dist/types/vue/src/primitives/toolbar/ToolbarToggleGroup.d.ts +135 -0
  822. package/dist/types/vue/src/primitives/toolbar/ToolbarToggleGroup.d.ts.map +1 -0
  823. package/dist/types/vue/src/primitives/toolbar/ToolbarToggleItem.d.ts +50 -0
  824. package/dist/types/vue/src/primitives/toolbar/ToolbarToggleItem.d.ts.map +1 -0
  825. package/dist/types/vue/src/primitives/toolbar/context.d.ts +9 -0
  826. package/dist/types/vue/src/primitives/toolbar/context.d.ts.map +1 -0
  827. package/dist/types/vue/src/primitives/toolbar/index.d.ts +6 -0
  828. package/dist/types/vue/src/primitives/toolbar/index.d.ts.map +1 -0
  829. package/dist/types/vue/src/primitives/utils/config.d.ts +2 -0
  830. package/dist/types/vue/src/primitives/utils/config.d.ts.map +1 -0
  831. package/dist/types/vue/src/primitives/utils/createContext.d.ts +2 -0
  832. package/dist/types/vue/src/primitives/utils/createContext.d.ts.map +1 -0
  833. package/dist/types/vue/src/primitives/utils/renderSlotFragments.d.ts +3 -0
  834. package/dist/types/vue/src/primitives/utils/renderSlotFragments.d.ts.map +1 -0
  835. package/dist/types/vue/src/primitives/utils/timers.d.ts +6 -0
  836. package/dist/types/vue/src/primitives/utils/timers.d.ts.map +1 -0
  837. package/dist/types/vue/src/primitives/utils/types.d.ts +2 -0
  838. package/dist/types/vue/src/primitives/utils/types.d.ts.map +1 -0
  839. package/dist/types/vue/src/primitives/utils/useComposing.d.ts +8 -0
  840. package/dist/types/vue/src/primitives/utils/useComposing.d.ts.map +1 -0
  841. package/dist/types/vue/src/primitives/utils/useDirection.d.ts +4 -0
  842. package/dist/types/vue/src/primitives/utils/useDirection.d.ts.map +1 -0
  843. package/dist/types/vue/src/primitives/utils/useEmitAsProps.d.ts +2 -0
  844. package/dist/types/vue/src/primitives/utils/useEmitAsProps.d.ts.map +1 -0
  845. package/dist/types/vue/src/primitives/utils/useFormControl.d.ts +4 -0
  846. package/dist/types/vue/src/primitives/utils/useFormControl.d.ts.map +1 -0
  847. package/dist/types/vue/src/primitives/utils/useForwardExpose.d.ts +7 -0
  848. package/dist/types/vue/src/primitives/utils/useForwardExpose.d.ts.map +1 -0
  849. package/dist/types/vue/src/primitives/utils/useForwardProps.d.ts +3 -0
  850. package/dist/types/vue/src/primitives/utils/useForwardProps.d.ts.map +1 -0
  851. package/dist/types/vue/src/primitives/utils/useForwardPropsEmits.d.ts +3 -0
  852. package/dist/types/vue/src/primitives/utils/useForwardPropsEmits.d.ts.map +1 -0
  853. package/dist/types/vue/src/primitives/utils/useForwardScopeId.d.ts +2 -0
  854. package/dist/types/vue/src/primitives/utils/useForwardScopeId.d.ts.map +1 -0
  855. package/dist/types/vue/src/primitives/utils/useId.d.ts +2 -0
  856. package/dist/types/vue/src/primitives/utils/useId.d.ts.map +1 -0
  857. package/dist/types/vue/src/primitives/utils/useNonce.d.ts +3 -0
  858. package/dist/types/vue/src/primitives/utils/useNonce.d.ts.map +1 -0
  859. package/dist/types/vue/src/primitives/utils/usePrimitiveElement.d.ts +6 -0
  860. package/dist/types/vue/src/primitives/utils/usePrimitiveElement.d.ts.map +1 -0
  861. package/dist/types/vue/src/primitives/utils/useSingleOrMultipleValue.d.ts +12 -0
  862. package/dist/types/vue/src/primitives/utils/useSingleOrMultipleValue.d.ts.map +1 -0
  863. package/dist/types/vue/src/primitives/utils/useSize.d.ts +7 -0
  864. package/dist/types/vue/src/primitives/utils/useSize.d.ts.map +1 -0
  865. package/dist/types/vue/src/primitives/utils/useVModel.d.ts +7 -0
  866. package/dist/types/vue/src/primitives/utils/useVModel.d.ts.map +1 -0
  867. package/dist/types/vue/src/primitives/visually-hidden/VisuallyHidden.vue.d.ts +19 -0
  868. package/dist/types/vue/src/primitives/visually-hidden/VisuallyHidden.vue.d.ts.map +1 -0
  869. package/dist/types/vue/src/primitives/visually-hidden/VisuallyHiddenInput.d.ts +66 -0
  870. package/dist/types/vue/src/primitives/visually-hidden/VisuallyHiddenInput.d.ts.map +1 -0
  871. package/dist/types/vue/src/primitives/visually-hidden/VisuallyHiddenInputBubble.vue.d.ts +28 -0
  872. package/dist/types/vue/src/primitives/visually-hidden/VisuallyHiddenInputBubble.vue.d.ts.map +1 -0
  873. package/dist/types/vue/src/primitives/visually-hidden/index.d.ts +3 -0
  874. package/dist/types/vue/src/primitives/visually-hidden/index.d.ts.map +1 -0
  875. package/package.json +3 -2
  876. package/src/components/accordion/Accordion.vue +2 -1
  877. package/src/components/accordion/AccordionContent.vue +1 -1
  878. package/src/components/accordion/AccordionItem.vue +1 -1
  879. package/src/components/accordion/AccordionTrigger.vue +9 -1
  880. package/src/components/anchor/composables/useAnchor.ts +3 -12
  881. package/src/components/anchor/composables/useAnchorFollow.ts +8 -76
  882. package/src/components/anchor/composables/useScrollSpy.ts +22 -38
  883. package/src/components/anchor/types.ts +1 -8
  884. package/src/components/aspect-ratio/AspectRatio.vue +1 -1
  885. package/src/components/autocomplete/autocomplete.variants.ts +1 -1
  886. package/src/components/autocomplete/composables/useAutocomplete.ts +1 -1
  887. package/src/components/autocomplete/types.ts +1 -16
  888. package/src/components/banner/utils/direction.ts +1 -10
  889. package/src/components/breadcrumb/BreadcrumbItem.vue +2 -1
  890. package/src/components/button/Button.vue +2 -1
  891. package/src/components/calendar/utils/format.ts +1 -23
  892. package/src/components/card/Card.vue +2 -1
  893. package/src/components/checkbox/Checkbox.vue +1 -1
  894. package/src/components/checkbox-group/CheckboxGroup.vue +1 -1
  895. package/src/components/chip/Chip.vue +2 -1
  896. package/src/components/chip/composables/useChipRoot.ts +1 -1
  897. package/src/components/code-block/highlighter.ts +1 -98
  898. package/src/components/collapsible/Collapsible.vue +2 -1
  899. package/src/components/collapsible/CollapsibleContent.vue +1 -1
  900. package/src/components/collapsible/CollapsibleTrigger.vue +8 -1
  901. package/src/components/command-palette/utils/hotkey.ts +1 -27
  902. package/src/components/command-palette/utils/match.ts +5 -75
  903. package/src/components/data-list/composables/useDataList.ts +2 -4
  904. package/src/components/data-list/utils/scroll.ts +1 -26
  905. package/src/components/data-table/column-sizing-styles.ts +1 -40
  906. package/src/components/data-table/column-sizing.ts +1 -101
  907. package/src/components/data-table/composables/useDataTable.ts +103 -123
  908. package/src/components/data-table/composables/useTableColumns.ts +38 -113
  909. package/src/components/data-table/composables/useTableDrag.ts +21 -11
  910. package/src/components/data-table/composables/useTableExport.ts +8 -32
  911. package/src/components/data-table/composables/useTableResize.ts +13 -17
  912. package/src/components/data-table/composables/useTableResizeHandles.ts +6 -21
  913. package/src/components/data-table/types.ts +15 -155
  914. package/src/components/data-table/utils.ts +1 -75
  915. package/src/components/date-range-field/utils/validity.ts +1 -21
  916. package/src/components/divider/Divider.vue +1 -1
  917. package/src/components/editable/editable.variants.ts +1 -1
  918. package/src/components/file-upload/utils/select.ts +1 -58
  919. package/src/components/file-upload/utils/size.ts +1 -16
  920. package/src/components/float-button/FloatButton.vue +4 -11
  921. package/src/components/float-button/float-button.variants.ts +1 -1
  922. package/src/components/float-button/types.ts +3 -2
  923. package/src/components/form/composables/useForm.ts +24 -135
  924. package/src/components/form/standard-schema.ts +1 -26
  925. package/src/components/form/utils/errors.ts +1 -48
  926. package/src/components/form/utils/focus.ts +1 -10
  927. package/src/components/form/utils/values.ts +1 -23
  928. package/src/components/form-field/FormField.vue +3 -2
  929. package/src/components/heading/Heading.vue +1 -1
  930. package/src/components/icon-button/IconButton.vue +2 -1
  931. package/src/components/image/Image.vue +1 -1
  932. package/src/components/indicator/Indicator.vue +2 -1
  933. package/src/components/input/InputAction.vue +1 -1
  934. package/src/components/lightbox/types.ts +1 -14
  935. package/src/components/lightbox/utils/clip.ts +1 -117
  936. package/src/components/lightbox/utils/download.ts +1 -29
  937. package/src/components/lightbox/utils/gesture.ts +1 -54
  938. package/src/components/lightbox/utils/paging.ts +1 -33
  939. package/src/components/lightbox/utils/pose.ts +1 -142
  940. package/src/components/lightbox/utils/source.ts +1 -17
  941. package/src/components/lightbox/utils/zoom.ts +1 -127
  942. package/src/components/link/Link.vue +2 -1
  943. package/src/components/meter-group/utils/tones.ts +1 -14
  944. package/src/components/multi-select/MultiSelect.vue +3 -1
  945. package/src/components/nav-link/NavLink.vue +33 -4
  946. package/src/components/nav-link/NavLinkChild.ts +57 -0
  947. package/src/components/navigation-menu/NavigationMenuLink.vue +1 -1
  948. package/src/components/number-input/NumberInput.vue +2 -2
  949. package/src/components/pagination/Pagination.vue +1 -1
  950. package/src/components/pagination/PaginationContent.vue +1 -1
  951. package/src/components/pagination/PaginationControl.vue +6 -1
  952. package/src/components/pagination/PaginationPage.vue +1 -1
  953. package/src/components/pagination/composables/usePagination.ts +2 -3
  954. package/src/components/pagination/types.ts +1 -19
  955. package/src/components/pagination/utils/ranges.ts +1 -12
  956. package/src/components/panel/Panel.vue +1 -1
  957. package/src/components/password-input/PasswordInput.vue +6 -0
  958. package/src/components/pin-input/PinInput.vue +1 -1
  959. package/src/components/prev-next/PrevNextLink.vue +2 -1
  960. package/src/components/progress/Progress.vue +1 -1
  961. package/src/components/prose/Prose.vue +2 -1
  962. package/src/components/qr-code/export.ts +1 -65
  963. package/src/components/radio-group/RadioGroup.vue +1 -1
  964. package/src/components/range-calendar/utils/limit.ts +1 -11
  965. package/src/components/range-slider/RangeSlider.vue +1 -1
  966. package/src/components/rating/Rating.vue +1 -1
  967. package/src/components/rating/utils/fill.ts +1 -4
  968. package/src/components/ring-progress/RingProgress.vue +1 -1
  969. package/src/components/ripple/useRipple.ts +10 -198
  970. package/src/components/scroll-area/ScrollArea.vue +6 -18
  971. package/src/components/scroll-area/composables/useEdgeShadow.ts +7 -16
  972. package/src/components/scroll-area/composables/useLayerLock.ts +2 -9
  973. package/src/components/scroll-area/composables/useWheelRedirect.ts +2 -10
  974. package/src/components/scroll-area/scroll-restore.ts +1 -148
  975. package/src/components/search-input/SearchInput.vue +6 -0
  976. package/src/components/section/Section.vue +13 -2
  977. package/src/components/segmented-control/SegmentedControl.vue +2 -1
  978. package/src/components/select/types.ts +1 -23
  979. package/src/components/sidebar/Sidebar.vue +2 -1
  980. package/src/components/sidebar/context.ts +9 -0
  981. package/src/components/slider/Slider.vue +1 -1
  982. package/src/components/slider/SliderHandle.vue +2 -1
  983. package/src/components/split-button/split-button.variants.ts +1 -1
  984. package/src/components/split-button/types.ts +1 -1
  985. package/src/components/splitter/Splitter.vue +1 -1
  986. package/src/components/splitter/SplitterHandle.vue +1 -1
  987. package/src/components/splitter/SplitterPanel.vue +1 -1
  988. package/src/components/spoiler/SpoilerPainter.ts +1 -197
  989. package/src/components/spoiler/utils/irisOrigin.ts +1 -40
  990. package/src/components/spoiler/worklet.ts +1 -199
  991. package/src/components/statistic/Statistic.vue +2 -2
  992. package/src/components/stepper/Stepper.vue +1 -1
  993. package/src/components/stepper/StepperStep.vue +1 -1
  994. package/src/components/switch/Switch.vue +1 -1
  995. package/src/components/table/Table.vue +9 -0
  996. package/src/components/tabs/Tabs.vue +1 -1
  997. package/src/components/tabs/TabsContent.vue +1 -1
  998. package/src/components/tabs/TabsList.vue +10 -1
  999. package/src/components/tabs/TabsTrigger.vue +1 -1
  1000. package/src/components/tag/Tag.vue +2 -1
  1001. package/src/components/text/Text.vue +2 -1
  1002. package/src/components/time/Time.vue +22 -5
  1003. package/src/components/time/utils/relativeTime.ts +1 -20
  1004. package/src/components/toast/Toaster.vue +1 -0
  1005. package/src/components/toast/composables/useToastLayout.ts +12 -24
  1006. package/src/components/toast/store.ts +16 -228
  1007. package/src/components/toggle/Toggle.vue +2 -1
  1008. package/src/components/toolbar/Toolbar.vue +1 -1
  1009. package/src/components/toolbar/ToolbarButton.vue +1 -1
  1010. package/src/components/toolbar/ToolbarLink.vue +1 -1
  1011. package/src/components/toolbar/ToolbarSeparator.vue +1 -1
  1012. package/src/components/toolbar/ToolbarToggleGroup.vue +2 -1
  1013. package/src/components/toolbar/ToolbarToggleItem.vue +1 -1
  1014. package/src/components/toolbar/types.ts +1 -1
  1015. package/src/components/tree/composables/useTree.ts +17 -33
  1016. package/src/components/tree/types.ts +1 -20
  1017. package/src/components/tree/utils/selection.ts +1 -78
  1018. package/src/components/tree-select/types.ts +1 -34
  1019. package/src/components/tree-select/utils/filterTree.ts +1 -19
  1020. package/src/components/virtual-list/composables/useVirtualList.ts +16 -42
  1021. package/src/components/visually-hidden/VisuallyHidden.vue +7 -3
  1022. package/src/lib/caret.ts +1 -48
  1023. package/src/lib/collapse.ts +6 -29
  1024. package/src/lib/date.ts +1 -111
  1025. package/src/lib/field-focus.ts +1 -36
  1026. package/src/lib/overlay-anchor.ts +11 -37
  1027. package/src/lib/pointer-corridor.ts +1 -26
  1028. package/src/lib/reka/useVirtualChoices.ts +55 -133
  1029. package/src/lib/reka/useVirtualTree.ts +22 -65
  1030. package/src/lib/useDirection.ts +2 -1
  1031. package/src/lib/virtual/navigation.ts +1 -26
  1032. package/src/lib/virtual/useVirtualCollection.ts +28 -47
  1033. package/src/lib/virtual/useVirtualWindow.ts +15 -25
  1034. package/src/locale/en-US.ts +1 -220
  1035. package/src/locale/index.ts +9 -53
  1036. package/src/locale/types.ts +1 -225
  1037. package/src/locale/zh-CN.ts +1 -215
  1038. package/src/primitives/accordion/AccordionContent.ts +47 -0
  1039. package/src/primitives/accordion/AccordionHeader.ts +35 -0
  1040. package/src/primitives/accordion/AccordionItem.ts +83 -0
  1041. package/src/primitives/accordion/AccordionRoot.ts +75 -0
  1042. package/src/primitives/accordion/AccordionTrigger.ts +55 -0
  1043. package/src/primitives/accordion/LICENSE +44 -0
  1044. package/src/primitives/accordion/context.ts +34 -0
  1045. package/src/primitives/accordion/index.ts +11 -0
  1046. package/src/primitives/aspect-ratio/AspectRatio.ts +47 -0
  1047. package/src/primitives/aspect-ratio/LICENSE +44 -0
  1048. package/src/primitives/aspect-ratio/index.ts +1 -0
  1049. package/src/primitives/checkbox/CheckboxGroupRoot.ts +93 -0
  1050. package/src/primitives/checkbox/CheckboxRoot.ts +170 -0
  1051. package/src/primitives/checkbox/LICENSE +44 -0
  1052. package/src/primitives/checkbox/context.ts +20 -0
  1053. package/src/primitives/checkbox/index.ts +8 -0
  1054. package/src/primitives/collapsible/CollapsibleContent.ts +124 -0
  1055. package/src/primitives/collapsible/CollapsibleRoot.ts +63 -0
  1056. package/src/primitives/collapsible/CollapsibleTrigger.ts +43 -0
  1057. package/src/primitives/collapsible/LICENSE +44 -0
  1058. package/src/primitives/collapsible/context.ts +13 -0
  1059. package/src/primitives/collapsible/index.ts +12 -0
  1060. package/src/primitives/collection/LICENSE +44 -0
  1061. package/src/primitives/collection/index.ts +82 -0
  1062. package/src/primitives/number-field/LICENSE +21 -0
  1063. package/src/primitives/number-field/NumberFieldDecrement.vue +20 -0
  1064. package/src/primitives/number-field/NumberFieldIncrement.vue +20 -0
  1065. package/src/primitives/number-field/NumberFieldInput.vue +113 -0
  1066. package/src/primitives/number-field/NumberFieldRoot.vue +169 -0
  1067. package/src/primitives/number-field/context.ts +111 -0
  1068. package/src/primitives/number-field/index.ts +14 -0
  1069. package/src/primitives/pagination/LICENSE +44 -0
  1070. package/src/primitives/pagination/PaginationEdge.ts +77 -0
  1071. package/src/primitives/pagination/PaginationList.ts +46 -0
  1072. package/src/primitives/pagination/PaginationListItem.ts +61 -0
  1073. package/src/primitives/pagination/PaginationRoot.ts +73 -0
  1074. package/src/primitives/pagination/context.ts +14 -0
  1075. package/src/primitives/pagination/index.ts +15 -0
  1076. package/src/primitives/pin-input/LICENSE +44 -0
  1077. package/src/primitives/pin-input/PinInputInput.ts +218 -0
  1078. package/src/primitives/pin-input/PinInputRoot.ts +136 -0
  1079. package/src/primitives/pin-input/context.ts +24 -0
  1080. package/src/primitives/pin-input/index.ts +3 -0
  1081. package/src/primitives/presence/LICENSE +44 -0
  1082. package/src/primitives/presence/Presence.ts +70 -0
  1083. package/src/primitives/presence/index.ts +2 -0
  1084. package/src/primitives/presence/usePresence.ts +28 -0
  1085. package/src/primitives/primitive/LICENSE +44 -0
  1086. package/src/primitives/primitive/Primitive.ts +45 -0
  1087. package/src/primitives/primitive/Slot.ts +22 -0
  1088. package/src/primitives/primitive/index.ts +2 -0
  1089. package/src/primitives/progress/LICENSE +44 -0
  1090. package/src/primitives/progress/ProgressIndicator.vue +24 -0
  1091. package/src/primitives/progress/ProgressRoot.vue +95 -0
  1092. package/src/primitives/progress/context.ts +12 -0
  1093. package/src/primitives/progress/index.ts +7 -0
  1094. package/src/primitives/radio-group/LICENSE +44 -0
  1095. package/src/primitives/radio-group/Radio.ts +110 -0
  1096. package/src/primitives/radio-group/RadioGroupIndicator.ts +54 -0
  1097. package/src/primitives/radio-group/RadioGroupItem.ts +116 -0
  1098. package/src/primitives/radio-group/RadioGroupRoot.ts +108 -0
  1099. package/src/primitives/radio-group/context.ts +25 -0
  1100. package/src/primitives/radio-group/index.ts +9 -0
  1101. package/src/primitives/rating/LICENSE +44 -0
  1102. package/src/primitives/rating/RatingItem.ts +35 -0
  1103. package/src/primitives/rating/RatingItemIndicator.ts +87 -0
  1104. package/src/primitives/rating/RatingRoot.ts +111 -0
  1105. package/src/primitives/rating/context.ts +22 -0
  1106. package/src/primitives/rating/index.ts +9 -0
  1107. package/src/primitives/roving-focus/LICENSE +44 -0
  1108. package/src/primitives/roving-focus/RovingFocusGroup.vue +125 -0
  1109. package/src/primitives/roving-focus/RovingFocusItem.vue +99 -0
  1110. package/src/primitives/roving-focus/context.ts +18 -0
  1111. package/src/primitives/roving-focus/index.ts +7 -0
  1112. package/src/primitives/separator/LICENSE +44 -0
  1113. package/src/primitives/separator/Separator.vue +26 -0
  1114. package/src/primitives/separator/index.ts +1 -0
  1115. package/src/primitives/slider/LICENSE +44 -0
  1116. package/src/primitives/slider/SliderImpl.ts +66 -0
  1117. package/src/primitives/slider/SliderOrientation.ts +100 -0
  1118. package/src/primitives/slider/SliderRoot.ts +214 -0
  1119. package/src/primitives/slider/SliderThumb.ts +139 -0
  1120. package/src/primitives/slider/SliderTrack.ts +37 -0
  1121. package/src/primitives/slider/context.ts +31 -0
  1122. package/src/primitives/slider/index.ts +8 -0
  1123. package/src/primitives/splitter/LICENSE +44 -0
  1124. package/src/primitives/splitter/SplitterGroup.ts +642 -0
  1125. package/src/primitives/splitter/SplitterPanel.ts +170 -0
  1126. package/src/primitives/splitter/SplitterResizeHandle.ts +170 -0
  1127. package/src/primitives/splitter/behaviors.ts +173 -0
  1128. package/src/primitives/splitter/context.ts +33 -0
  1129. package/src/primitives/splitter/index.ts +13 -0
  1130. package/src/primitives/stepper/LICENSE +44 -0
  1131. package/src/primitives/stepper/StepperItem.ts +68 -0
  1132. package/src/primitives/stepper/StepperParts.ts +103 -0
  1133. package/src/primitives/stepper/StepperRoot.ts +171 -0
  1134. package/src/primitives/stepper/StepperTrigger.ts +119 -0
  1135. package/src/primitives/stepper/context.ts +29 -0
  1136. package/src/primitives/stepper/index.ts +17 -0
  1137. package/src/primitives/switch/LICENSE +44 -0
  1138. package/src/primitives/switch/SwitchRoot.ts +151 -0
  1139. package/src/primitives/switch/index.ts +6 -0
  1140. package/src/primitives/tabs/LICENSE +44 -0
  1141. package/src/primitives/tabs/TabsContent.ts +94 -0
  1142. package/src/primitives/tabs/TabsList.ts +52 -0
  1143. package/src/primitives/tabs/TabsRoot.ts +99 -0
  1144. package/src/primitives/tabs/TabsTrigger.ts +97 -0
  1145. package/src/primitives/tabs/context.ts +22 -0
  1146. package/src/primitives/tabs/index.ts +5 -0
  1147. package/src/primitives/toggle/LICENSE +44 -0
  1148. package/src/primitives/toggle/Toggle.ts +116 -0
  1149. package/src/primitives/toggle/index.ts +1 -0
  1150. package/src/primitives/toggle-group/LICENSE +44 -0
  1151. package/src/primitives/toggle-group/ToggleGroupItem.ts +80 -0
  1152. package/src/primitives/toggle-group/ToggleGroupRoot.ts +113 -0
  1153. package/src/primitives/toggle-group/context.ts +19 -0
  1154. package/src/primitives/toggle-group/index.ts +7 -0
  1155. package/src/primitives/toolbar/LICENSE +44 -0
  1156. package/src/primitives/toolbar/ToolbarButton.ts +44 -0
  1157. package/src/primitives/toolbar/ToolbarRoot.ts +53 -0
  1158. package/src/primitives/toolbar/ToolbarToggleGroup.ts +69 -0
  1159. package/src/primitives/toolbar/ToolbarToggleItem.ts +43 -0
  1160. package/src/primitives/toolbar/context.ts +12 -0
  1161. package/src/primitives/toolbar/index.ts +9 -0
  1162. package/src/primitives/utils/LICENSE +44 -0
  1163. package/src/primitives/utils/config.ts +1 -0
  1164. package/src/primitives/utils/createContext.ts +34 -0
  1165. package/src/primitives/utils/renderSlotFragments.ts +8 -0
  1166. package/src/primitives/utils/timers.ts +6 -0
  1167. package/src/primitives/utils/types.ts +1 -0
  1168. package/src/primitives/utils/useComposing.ts +44 -0
  1169. package/src/primitives/utils/useDirection.ts +9 -0
  1170. package/src/primitives/utils/useEmitAsProps.ts +13 -0
  1171. package/src/primitives/utils/useFormControl.ts +6 -0
  1172. package/src/primitives/utils/useForwardExpose.ts +78 -0
  1173. package/src/primitives/utils/useForwardProps.ts +29 -0
  1174. package/src/primitives/utils/useForwardPropsEmits.ts +12 -0
  1175. package/src/primitives/utils/useForwardScopeId.ts +6 -0
  1176. package/src/primitives/utils/useId.ts +9 -0
  1177. package/src/primitives/utils/useNonce.ts +7 -0
  1178. package/src/primitives/utils/usePrimitiveElement.ts +12 -0
  1179. package/src/primitives/utils/useSingleOrMultipleValue.ts +36 -0
  1180. package/src/primitives/utils/useSize.ts +25 -0
  1181. package/src/primitives/utils/useVModel.ts +37 -0
  1182. package/src/primitives/visually-hidden/LICENSE +21 -0
  1183. package/src/primitives/visually-hidden/VisuallyHidden.vue +30 -0
  1184. package/src/primitives/visually-hidden/VisuallyHiddenInput.ts +97 -0
  1185. package/src/primitives/visually-hidden/VisuallyHiddenInputBubble.vue +49 -0
  1186. package/src/primitives/visually-hidden/index.ts +2 -0
@@ -0,0 +1,98 @@
1
+ import type { HighlighterCore, ThemedToken } from 'shiki/core'
2
+
3
+ const langLoaders: Record<string, () => Promise<{ default: unknown }>> = {
4
+ typescript: () => import('shiki/langs/typescript.mjs'),
5
+ tsx: () => import('shiki/langs/tsx.mjs'),
6
+ javascript: () => import('shiki/langs/javascript.mjs'),
7
+ jsx: () => import('shiki/langs/jsx.mjs'),
8
+ vue: () => import('shiki/langs/vue.mjs'),
9
+ html: () => import('shiki/langs/html.mjs'),
10
+ css: () => import('shiki/langs/css.mjs'),
11
+ json: () => import('shiki/langs/json.mjs'),
12
+ bash: () => import('shiki/langs/bash.mjs'),
13
+ markdown: () => import('shiki/langs/markdown.mjs'),
14
+ yaml: () => import('shiki/langs/yaml.mjs'),
15
+ sql: () => import('shiki/langs/sql.mjs'),
16
+ prisma: () => import('shiki/langs/prisma.mjs'),
17
+ diff: () => import('shiki/langs/diff.mjs'),
18
+ }
19
+
20
+ const langAliases: Record<string, string> = {
21
+ ts: 'typescript',
22
+ js: 'javascript',
23
+ sh: 'bash',
24
+ shell: 'bash',
25
+ zsh: 'bash',
26
+ md: 'markdown',
27
+ yml: 'yaml',
28
+ }
29
+
30
+ let core: Promise<HighlighterCore> | undefined
31
+ const loadedLangs = new Set<string>()
32
+
33
+ function getCore() {
34
+ core ??= (async () => {
35
+ const [{ createHighlighterCore }, { createJavaScriptRegexEngine }, light, dark] =
36
+ await Promise.all([
37
+ import('shiki/core'),
38
+ import('shiki/engine/javascript'),
39
+ import('shiki/themes/vitesse-light.mjs'),
40
+ import('shiki/themes/vitesse-dark.mjs'),
41
+ ])
42
+ return createHighlighterCore({
43
+ themes: [light.default, dark.default],
44
+ langs: [],
45
+ engine: createJavaScriptRegexEngine({ forgiving: true }),
46
+ })
47
+ })()
48
+ return core
49
+ }
50
+
51
+ function escape(text: string): string {
52
+ return text
53
+ .replace(/&/g, '&amp;')
54
+ .replace(/</g, '&lt;')
55
+ .replace(/>/g, '&gt;')
56
+ .replace(/"/g, '&quot;')
57
+ }
58
+
59
+ function inlineStyle(style: ThemedToken['htmlStyle']): string {
60
+ if (!style) return ''
61
+ if (typeof style === 'string') return style
62
+ return Object.entries(style)
63
+ .map(([key, value]) => `${key}:${value}`)
64
+ .join(';')
65
+ }
66
+
67
+ export function tokensToHtml(lines: ThemedToken[][]): string {
68
+ return lines
69
+ .map(line =>
70
+ line
71
+ .map(
72
+ token =>
73
+ `<span style="${escape(inlineStyle(token.htmlStyle))}">${escape(token.content)}</span>`,
74
+ )
75
+ .join(''),
76
+ )
77
+ .join('\n')
78
+ }
79
+
80
+ export async function tokenize(code: string, lang: string): Promise<ThemedToken[][] | null> {
81
+ const resolved = langAliases[lang] ?? lang
82
+ const load = langLoaders[resolved]
83
+ if (!load) return null
84
+
85
+ const highlighter = await getCore()
86
+ if (!loadedLangs.has(resolved)) {
87
+ await highlighter.loadLanguage(
88
+ (await load()).default as Parameters<HighlighterCore['loadLanguage']>[0],
89
+ )
90
+ loadedLangs.add(resolved)
91
+ }
92
+
93
+ return highlighter.codeToTokens(code, {
94
+ lang: resolved,
95
+ themes: { light: 'vitesse-light', dark: 'vitesse-dark' },
96
+ defaultColor: false,
97
+ }).tokens
98
+ }
@@ -0,0 +1,40 @@
1
+ export interface IrisOrigin {
2
+ x: number
3
+ y: number
4
+ }
5
+
6
+ export function irisOrigin(
7
+ rects: readonly DOMRect[],
8
+ clientX: number,
9
+ clientY: number,
10
+ ): IrisOrigin | null {
11
+ const valid = rects.filter(r => r.width > 0 && r.height > 0)
12
+ if (valid.length === 0) return null
13
+
14
+ const totalWidth = valid.reduce((sum, r) => sum + r.width, 0)
15
+ const lineHeight = valid[0]!.height
16
+
17
+ let virtualX: number | null = null
18
+ let virtualY = 0
19
+ let walked = 0
20
+ for (const r of valid) {
21
+ const inside =
22
+ clientY >= r.top - 2 &&
23
+ clientY <= r.bottom + 2 &&
24
+ clientX >= r.left - 2 &&
25
+ clientX <= r.right + 2
26
+ if (inside) {
27
+ virtualX = walked + (clientX - r.left)
28
+ virtualY = clientY - r.top
29
+ break
30
+ }
31
+ walked += r.width
32
+ }
33
+
34
+ if (virtualX === null || totalWidth === 0 || lineHeight === 0) return null
35
+
36
+ return {
37
+ x: (virtualX / totalWidth) * 100,
38
+ y: (virtualY / lineHeight) * 100,
39
+ }
40
+ }
@@ -0,0 +1,117 @@
1
+ import type { Rect } from './pose'
2
+
3
+ export interface Corner {
4
+ x: number
5
+ y: number
6
+ }
7
+
8
+ export type Corners = [Corner, Corner, Corner, Corner]
9
+
10
+ function emptyCorners(): Corners {
11
+ return [
12
+ { x: 0, y: 0 },
13
+ { x: 0, y: 0 },
14
+ { x: 0, y: 0 },
15
+ { x: 0, y: 0 },
16
+ ]
17
+ }
18
+
19
+ function length(value: string, size: number): number {
20
+ const number = Number.parseFloat(value) || 0
21
+ return value.endsWith('%') ? (number * size) / 100 : number
22
+ }
23
+
24
+ function cornersOf(style: CSSStyleDeclaration, width: number, height: number): Corners {
25
+ const corners = [
26
+ style.borderTopLeftRadius,
27
+ style.borderTopRightRadius,
28
+ style.borderBottomRightRadius,
29
+ style.borderBottomLeftRadius,
30
+ ].map(value => {
31
+ const [x = '0', y = x] = value.split(/\s+/)
32
+ return { x: length(x, width), y: length(y, height) }
33
+ }) as Corners
34
+ const [tl, tr, br, bl] = corners
35
+ const factor = Math.min(
36
+ 1,
37
+ width / (tl.x + tr.x || 1),
38
+ width / (bl.x + br.x || 1),
39
+ height / (tl.y + bl.y || 1),
40
+ height / (tr.y + br.y || 1),
41
+ )
42
+ return corners.map(corner => ({ x: corner.x * factor, y: corner.y * factor })) as Corners
43
+ }
44
+
45
+ function paddingBox(node: Element, style: CSSStyleDeclaration) {
46
+ const box = node.getBoundingClientRect()
47
+ const width = node instanceof HTMLElement ? node.offsetWidth : box.width
48
+ const height = node instanceof HTMLElement ? node.offsetHeight : box.height
49
+ const sx = width ? box.width / width : 1
50
+ const sy = height ? box.height / height : 1
51
+ const left = Number.parseFloat(style.borderLeftWidth) || 0
52
+ const right = Number.parseFloat(style.borderRightWidth) || 0
53
+ const top = Number.parseFloat(style.borderTopWidth) || 0
54
+ const bottom = Number.parseFloat(style.borderBottomWidth) || 0
55
+ const corners = cornersOf(style, width, height)
56
+ const borders = [
57
+ [left, top],
58
+ [right, top],
59
+ [right, bottom],
60
+ [left, bottom],
61
+ ]
62
+ return {
63
+ rect: {
64
+ x: box.x + left * sx,
65
+ y: box.y + top * sy,
66
+ width: Math.max(0, box.width - (left + right) * sx),
67
+ height: Math.max(0, box.height - (top + bottom) * sy),
68
+ },
69
+ corners: corners.map((corner, index) => ({
70
+ x: Math.max(0, corner.x - borders[index]![0]!) * sx,
71
+ y: Math.max(0, corner.y - borders[index]![1]!) * sy,
72
+ })) as Corners,
73
+ }
74
+ }
75
+
76
+ function points(rect: Rect) {
77
+ return [
78
+ [rect.x, rect.y],
79
+ [rect.x + rect.width, rect.y],
80
+ [rect.x + rect.width, rect.y + rect.height],
81
+ [rect.x, rect.y + rect.height],
82
+ ]
83
+ }
84
+
85
+ export function clipOf(el: Element | null | undefined, box: Rect) {
86
+ let rect = { x: box.x, y: box.y, width: box.width, height: box.height }
87
+ const clips: ReturnType<typeof paddingBox>[] = []
88
+ for (let node = el; node; node = node.parentElement) {
89
+ const style = getComputedStyle(node)
90
+ const clipX = node === el || /^(hidden|clip|scroll|auto)$/.test(style.overflowX)
91
+ const clipY = node === el || /^(hidden|clip|scroll|auto)$/.test(style.overflowY)
92
+ if (!clipX && !clipY) continue
93
+ const clip = paddingBox(node, style)
94
+ const x = clipX ? Math.max(rect.x, clip.rect.x) : rect.x
95
+ const y = clipY ? Math.max(rect.y, clip.rect.y) : rect.y
96
+ const right = clipX
97
+ ? Math.min(rect.x + rect.width, clip.rect.x + clip.rect.width)
98
+ : rect.x + rect.width
99
+ const bottom = clipY
100
+ ? Math.min(rect.y + rect.height, clip.rect.y + clip.rect.height)
101
+ : rect.y + rect.height
102
+ rect = { x, y, width: Math.max(0, right - x), height: Math.max(0, bottom - y) }
103
+ if (clipX && clipY) clips.push(clip)
104
+ }
105
+ const corners = emptyCorners()
106
+ const visible = points(rect)
107
+ for (const clip of clips) {
108
+ const edges = points(clip.rect)
109
+ for (let index = 0; index < 4; index += 1) {
110
+ if (visible[index]!.some((value, axis) => Math.abs(value - edges[index]![axis]!) > 0.5))
111
+ continue
112
+ corners[index]!.x = Math.max(corners[index]!.x, clip.corners[index]!.x)
113
+ corners[index]!.y = Math.max(corners[index]!.y, clip.corners[index]!.y)
114
+ }
115
+ }
116
+ return { rect, corners }
117
+ }
@@ -0,0 +1,29 @@
1
+ export function fileNameOf(url: string, fallback = 'image'): string {
2
+ try {
3
+ const parsed = new URL(url, 'http://localhost')
4
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') return fallback
5
+ const name = decodeURIComponent(parsed.pathname.split('/').filter(Boolean).pop() ?? '')
6
+ return name || fallback
7
+ } catch {
8
+ return fallback
9
+ }
10
+ }
11
+
12
+ export async function saveImage(url: string): Promise<'saved' | 'opened'> {
13
+ try {
14
+ const response = await fetch(url, { mode: 'cors' })
15
+ if (!response.ok) throw new Error(String(response.status))
16
+ const blob = await response.blob()
17
+ const href = URL.createObjectURL(blob)
18
+ const anchor = Object.assign(document.createElement('a'), {
19
+ href,
20
+ download: fileNameOf(url),
21
+ })
22
+ anchor.click()
23
+ setTimeout(() => URL.revokeObjectURL(href), 0)
24
+ return 'saved'
25
+ } catch {
26
+ window.open(url, '_blank', 'noopener')
27
+ return 'opened'
28
+ }
29
+ }
@@ -0,0 +1,54 @@
1
+ import type { Point } from './zoom'
2
+
3
+ export interface Touch extends Point {
4
+ time: number
5
+ }
6
+
7
+ export const DRAG_THRESHOLD = 4
8
+ export const TAP_MAX_DISTANCE = 10
9
+ export const TAP_MAX_MS = 300
10
+ export const DOUBLE_TAP_MS = 300
11
+ export const DOUBLE_TAP_DISTANCE = 25
12
+ export const WHEEL_LINE = 16
13
+ export const TRACKPAD_INTENSITY = 0.01
14
+
15
+ export const FLING = {
16
+ power: 0.8,
17
+ timeConstant: 750,
18
+ bounceStiffness: 200,
19
+ bounceDamping: 40,
20
+ restDelta: 1,
21
+ restSpeed: 10,
22
+ } as const
23
+
24
+ export function midpoint(a: Point, b: Point): Point {
25
+ return { x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 }
26
+ }
27
+
28
+ export function distance(a: Point, b: Point): number {
29
+ return Math.hypot(b.x - a.x, b.y - a.y)
30
+ }
31
+
32
+ export function dragAxis(start: Point, current: Point): 'x' | 'y' | null {
33
+ const dx = Math.abs(current.x - start.x)
34
+ const dy = Math.abs(current.y - start.y)
35
+ if (Math.max(dx, dy) < DRAG_THRESHOLD) return null
36
+ return dx > dy ? 'x' : 'y'
37
+ }
38
+
39
+ export function isTap(start: Touch, end: Touch): boolean {
40
+ return distance(start, end) <= TAP_MAX_DISTANCE && end.time - start.time <= TAP_MAX_MS
41
+ }
42
+
43
+ export function isDoubleTap(previous: Touch | null, next: Touch): boolean {
44
+ if (!previous) return false
45
+ return (
46
+ next.time - previous.time <= DOUBLE_TAP_MS && distance(previous, next) <= DOUBLE_TAP_DISTANCE
47
+ )
48
+ }
49
+
50
+ export function wheelDelta(deltaY: number, deltaMode: number, stageHeight: number): number {
51
+ if (deltaMode === 1) return deltaY * WHEEL_LINE
52
+ if (deltaMode === 2) return deltaY * stageHeight
53
+ return deltaY
54
+ }
@@ -0,0 +1,33 @@
1
+ import { rubberBand } from './zoom'
2
+
3
+ export const PAGE_COMMIT = 0.2
4
+ export const PAGE_VELOCITY = 400
5
+ export const PAGE_PROJECTION = 0.25
6
+
7
+ export function pageSteps(offset: number, velocity: number, width: number): number {
8
+ if (width <= 0) return 0
9
+ if (Math.abs(offset) < width * PAGE_COMMIT && Math.abs(velocity) < PAGE_VELOCITY) return 0
10
+ const projected = offset + velocity * PAGE_PROJECTION
11
+ if (projected === 0) return 0
12
+ return projected < 0 ? 1 : -1
13
+ }
14
+
15
+ export function clampIndex(index: number, count: number): number {
16
+ if (count <= 0) return 0
17
+ return Math.min(Math.max(index, 0), count - 1)
18
+ }
19
+
20
+ export function wrapIndex(index: number, count: number): number {
21
+ if (count <= 0) return 0
22
+ return ((index % count) + count) % count
23
+ }
24
+
25
+ export function shortestDelta(delta: number, count: number): number {
26
+ if (count <= 0) return 0
27
+ const forward = wrapIndex(delta, count)
28
+ return forward > count / 2 ? forward - count : forward
29
+ }
30
+
31
+ export function edgePosition(raw: number, count: number, width: number): number {
32
+ return rubberBand(raw, -Math.max(0, count - 1) * width, 0, width)
33
+ }
@@ -0,0 +1,142 @@
1
+ import type { ImageVariants } from '../../variants/image'
2
+ import type { Corners } from './clip'
3
+ import { fitSize, rotatedSize, type Size } from './zoom'
4
+
5
+ export interface Rect {
6
+ x: number
7
+ y: number
8
+ width: number
9
+ height: number
10
+ }
11
+
12
+ export interface Pose {
13
+ x: number
14
+ y: number
15
+ scale: number
16
+ rotate: number
17
+ clipPath: string
18
+ }
19
+
20
+ export const REST_POSE: Pose = {
21
+ x: 0,
22
+ y: 0,
23
+ scale: 1,
24
+ rotate: 0,
25
+ clipPath: 'inset(0px 0px 0px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)',
26
+ }
27
+ export const TRAVEL_SPRING = { type: 'spring', visualDuration: 0.3, bounce: 0 } as const
28
+ export const RETURN_SPRING = { ...TRAVEL_SPRING, visualDuration: 0.22 } as const
29
+ export const DISMISS_SCALE = 0.7
30
+ export const DISMISS_TRAVEL = 0.3
31
+ export const DISMISS_COMMIT = 0.5
32
+ export const DISMISS_VELOCITY = 600
33
+
34
+ function px(value: number): string {
35
+ return `${Math.round(value * 100) / 100}px`
36
+ }
37
+
38
+ export function fitRect(
39
+ natural: Size,
40
+ stage: Size & Partial<Pick<Rect, 'x' | 'y'>>,
41
+ rotation = 0,
42
+ ): Rect {
43
+ const size = fitSize(natural, stage, rotation)
44
+ return {
45
+ x: (stage.x ?? 0) + (stage.width - size.width) / 2,
46
+ y: (stage.y ?? 0) + (stage.height - size.height) / 2,
47
+ width: size.width,
48
+ height: size.height,
49
+ }
50
+ }
51
+
52
+ export function renderedRect(box: Rect, natural: Size, fit: ImageVariants['fit'] = 'cover'): Rect {
53
+ if (fit === 'fill' || natural.width <= 0 || natural.height <= 0) return { ...box }
54
+ const contain = Math.min(box.width / natural.width, box.height / natural.height)
55
+ const cover = Math.max(box.width / natural.width, box.height / natural.height)
56
+ const scale =
57
+ fit === 'cover'
58
+ ? cover
59
+ : fit === 'contain'
60
+ ? contain
61
+ : fit === 'none'
62
+ ? 1
63
+ : Math.min(contain, 1)
64
+ const width = natural.width * scale
65
+ const height = natural.height * scale
66
+ return {
67
+ x: box.x + (box.width - width) / 2,
68
+ y: box.y + (box.height - height) / 2,
69
+ width,
70
+ height,
71
+ }
72
+ }
73
+
74
+ function intersect(a: Rect, b: Rect): Rect {
75
+ const x = Math.max(a.x, b.x)
76
+ const y = Math.max(a.y, b.y)
77
+ const right = Math.min(a.x + a.width, b.x + b.width)
78
+ const bottom = Math.min(a.y + a.height, b.y + b.height)
79
+ return { x, y, width: Math.max(0, right - x), height: Math.max(0, bottom - y) }
80
+ }
81
+
82
+ export function openPose(
83
+ frame: Rect,
84
+ box: Rect,
85
+ natural: Size,
86
+ fit?: ImageVariants['fit'],
87
+ radius: number | Corners = 0,
88
+ clipBox = box,
89
+ ): Pose {
90
+ const rendered = renderedRect(box, natural, fit)
91
+ if (frame.width <= 0 || frame.height <= 0 || rendered.width <= 0) return REST_POSE
92
+ const scale = rendered.width / frame.width
93
+ const visible = intersect(intersect(box, clipBox), rendered)
94
+ const top = (visible.y - rendered.y) / scale
95
+ const left = (visible.x - rendered.x) / scale
96
+ const right = (rendered.x + rendered.width - visible.x - visible.width) / scale
97
+ const bottom = (rendered.y + rendered.height - visible.y - visible.height) / scale
98
+ const corners =
99
+ typeof radius === 'number'
100
+ ? Array.from({ length: 4 }, () => ({ x: radius, y: radius }))
101
+ : radius
102
+ const leftEdge = Math.abs(visible.x - clipBox.x) <= 0.5
103
+ const topEdge = Math.abs(visible.y - clipBox.y) <= 0.5
104
+ const rightEdge = Math.abs(visible.x + visible.width - clipBox.x - clipBox.width) <= 0.5
105
+ const bottomEdge = Math.abs(visible.y + visible.height - clipBox.y - clipBox.height) <= 0.5
106
+ const touches = [
107
+ leftEdge && topEdge,
108
+ rightEdge && topEdge,
109
+ rightEdge && bottomEdge,
110
+ leftEdge && bottomEdge,
111
+ ]
112
+ const clipped = corners.map((corner, index) => (touches[index] ? corner : { x: 0, y: 0 }))
113
+ const horizontal = clipped.map(corner => px(Math.max(0, corner.x) / scale)).join(' ')
114
+ const vertical = clipped.map(corner => px(Math.max(0, corner.y) / scale)).join(' ')
115
+ return {
116
+ x: rendered.x + rendered.width / 2 - (frame.x + frame.width / 2),
117
+ y: rendered.y + rendered.height / 2 - (frame.y + frame.height / 2),
118
+ scale,
119
+ rotate: 0,
120
+ clipPath: `inset(${px(top)} ${px(right)} ${px(bottom)} ${px(left)} round ${horizontal} / ${vertical})`,
121
+ }
122
+ }
123
+
124
+ export function baseScale(frame: Size, stage: Size, rotation: number, natural: Size): number {
125
+ const visual = rotatedSize(frame, rotation)
126
+ if (visual.width <= 0 || visual.height <= 0) return 1
127
+ return Math.min(
128
+ stage.width / visual.width,
129
+ stage.height / visual.height,
130
+ natural.width / frame.width,
131
+ )
132
+ }
133
+
134
+ export function dismissProgress(offsetY: number, stageHeight: number): number {
135
+ if (stageHeight <= 0) return 0
136
+ return Math.min(1, Math.max(0, offsetY) / (stageHeight * DISMISS_TRAVEL))
137
+ }
138
+
139
+ export function shouldDismiss(offsetY: number, velocityY: number, stageHeight: number): boolean {
140
+ if (offsetY <= 0) return false
141
+ return dismissProgress(offsetY, stageHeight) >= DISMISS_COMMIT || velocityY >= DISMISS_VELOCITY
142
+ }
@@ -0,0 +1,17 @@
1
+ import type { LightboxSource } from './types'
2
+ import type { Rect } from './pose'
3
+
4
+ export function sourceRect(source: LightboxSource | null | undefined): Rect | null {
5
+ if (!source) return null
6
+ const isElement = 'getBoundingClientRect' in source
7
+ if (isElement && !source.isConnected) return null
8
+ const rect = isElement ? source.getBoundingClientRect() : source
9
+ if (
10
+ ![rect.x, rect.y, rect.width, rect.height].every(Number.isFinite) ||
11
+ rect.width <= 0 ||
12
+ rect.height <= 0
13
+ ) {
14
+ return null
15
+ }
16
+ return { x: rect.x, y: rect.y, width: rect.width, height: rect.height }
17
+ }
@@ -0,0 +1,14 @@
1
+ import type { ImageVariants } from '../../variants/image'
2
+ import type { Rect } from './pose'
3
+
4
+ export type LightboxSource = HTMLImageElement | Rect
5
+
6
+ export interface LightboxItem {
7
+ id: string
8
+ src: string
9
+ preview?: string
10
+ previewSize?: { width: number; height: number }
11
+ alt: string
12
+ fit?: ImageVariants['fit']
13
+ source?: () => LightboxSource | null | undefined
14
+ }
@@ -0,0 +1,127 @@
1
+ export interface Size {
2
+ width: number
3
+ height: number
4
+ }
5
+
6
+ export interface Point {
7
+ x: number
8
+ y: number
9
+ }
10
+
11
+ export interface Bounds {
12
+ minX: number
13
+ maxX: number
14
+ minY: number
15
+ maxY: number
16
+ }
17
+
18
+ export const ZOOM_MIN = 1
19
+ export const ZOOM_MAX = 2
20
+ export const ZOOM_STEP = 1.5
21
+ export const OVERSHOOT = 0.55
22
+ export const WHEEL_INTENSITY = 0.002
23
+
24
+ export const ZOOM_EPSILON = 0.001
25
+
26
+ export function isZoomed(zoom: number): boolean {
27
+ return zoom > ZOOM_MIN + ZOOM_EPSILON
28
+ }
29
+
30
+ export function rotatedSize(size: Size, rotation: number): Size {
31
+ const quarter = Math.round(rotation / 90) % 2
32
+ return quarter === 0 ? size : { width: size.height, height: size.width }
33
+ }
34
+
35
+ export function fitSize(natural: Size, stage: Size, rotation = 0): Size {
36
+ const upright = rotatedSize(natural, rotation)
37
+ if (upright.width <= 0 || upright.height <= 0) return { width: 0, height: 0 }
38
+ const scale = Math.min(1, stage.width / upright.width, stage.height / upright.height)
39
+ return { width: upright.width * scale, height: upright.height * scale }
40
+ }
41
+
42
+ export function panBounds(displayed: Size, stage: Size): Bounds {
43
+ const x = Math.max(0, (displayed.width - stage.width) / 2)
44
+ const y = Math.max(0, (displayed.height - stage.height) / 2)
45
+ return { minX: x ? -x : 0, maxX: x, minY: y ? -y : 0, maxY: y }
46
+ }
47
+
48
+ export function clampOffset(offset: Point, bounds: Bounds): Point {
49
+ return {
50
+ x: Math.min(Math.max(offset.x, bounds.minX), bounds.maxX),
51
+ y: Math.min(Math.max(offset.y, bounds.minY), bounds.maxY),
52
+ }
53
+ }
54
+
55
+ export function zoomAbout(offset: Point, zoom: number, next: number, focal: Point): Point {
56
+ const ratio = next / zoom
57
+ return {
58
+ x: focal.x - (focal.x - offset.x) * ratio,
59
+ y: focal.y - (focal.y - offset.y) * ratio,
60
+ }
61
+ }
62
+
63
+ function resist(over: number, span: number, coefficient: number): number {
64
+ return (1 - 1 / ((over * coefficient) / span + 1)) * span
65
+ }
66
+
67
+ export function rubberBand(
68
+ value: number,
69
+ min: number,
70
+ max: number,
71
+ span: number,
72
+ coefficient = OVERSHOOT,
73
+ ): number {
74
+ if (span <= 0) return Math.min(Math.max(value, min), max)
75
+ if (value > max) return max + resist(value - max, span, coefficient)
76
+ if (value < min) return min - resist(min - value, span, coefficient)
77
+ return value
78
+ }
79
+
80
+ export function elasticOffset(offset: Point, bounds: Bounds, stage: Size): Point {
81
+ return {
82
+ x: rubberBand(offset.x, bounds.minX, bounds.maxX, stage.width),
83
+ y: rubberBand(offset.y, bounds.minY, bounds.maxY, stage.height),
84
+ }
85
+ }
86
+
87
+ export function clampZoom(zoom: number, min = ZOOM_MIN, max = ZOOM_MAX): number {
88
+ return Math.min(Math.max(zoom, min), max)
89
+ }
90
+
91
+ export function elasticZoom(zoom: number, min = ZOOM_MIN, max = ZOOM_MAX): number {
92
+ const lo = Math.log(min)
93
+ const hi = Math.log(max)
94
+ return Math.exp(rubberBand(Math.log(zoom), lo, hi, hi - lo))
95
+ }
96
+
97
+ export function pinchZoom(startZoom: number, startDistance: number, distance: number): number {
98
+ if (startDistance <= 0) return startZoom
99
+ return startZoom * (distance / startDistance)
100
+ }
101
+
102
+ export function wheelZoom(zoom: number, deltaY: number, intensity = WHEEL_INTENSITY): number {
103
+ return zoom * Math.exp(-deltaY * intensity)
104
+ }
105
+
106
+ export function zoomLevels(natural: Size, fit: Size, stage: Size) {
107
+ const original = fit.width > 0 ? Math.max(ZOOM_MIN, natural.width / fit.width) : ZOOM_MIN
108
+ const secondary =
109
+ natural.height > natural.width * 2
110
+ ? Math.min(original, stage.width / fit.width)
111
+ : natural.width > natural.height * 2
112
+ ? Math.min(original, stage.height / fit.height)
113
+ : original
114
+ return {
115
+ original,
116
+ secondary: Number.isFinite(secondary) ? Math.max(ZOOM_MIN, secondary) : ZOOM_MIN,
117
+ max: original * ZOOM_MAX,
118
+ }
119
+ }
120
+
121
+ export function doubleTapZoom(zoom: number, secondary: number): number {
122
+ return isZoomed(zoom) ? ZOOM_MIN : secondary
123
+ }
124
+
125
+ export function stepZoom(zoom: number, direction: 1 | -1, max = ZOOM_MAX): number {
126
+ return clampZoom(zoom * ZOOM_STEP ** direction, ZOOM_MIN, max)
127
+ }
@@ -0,0 +1,16 @@
1
+ import type { IndicatorVariants } from '../variants/indicator'
2
+
3
+ export type MeterTone = NonNullable<IndicatorVariants['tone']>
4
+
5
+ export const METER_TONES: MeterTone[] = [
6
+ 'accent',
7
+ 'info',
8
+ 'success',
9
+ 'warning',
10
+ 'danger',
11
+ 'neutral',
12
+ ]
13
+
14
+ export function toneAt(index: number): MeterTone {
15
+ return METER_TONES[index % METER_TONES.length]!
16
+ }