@vunset/vue 0.0.0-stage → 1.0.0-rc.2

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 (669) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +85 -2
  3. package/dist/chart.d.ts +11 -0
  4. package/dist/chart.js +11 -0
  5. package/dist/components/accordion/AccordionHeader.js +5 -0
  6. package/dist/components/accordion/AccordionHeader.vue.d.ts +23 -0
  7. package/dist/components/accordion/AccordionHeader.vue_vue_type_script_setup_true_lang.js +27 -0
  8. package/dist/components/accordion/AccordionItem.js +5 -0
  9. package/dist/components/accordion/AccordionItem.vue.d.ts +28 -0
  10. package/dist/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js +33 -0
  11. package/dist/components/accordion/AccordionRoot.js +5 -0
  12. package/dist/components/accordion/AccordionRoot.vue.d.ts +48 -0
  13. package/dist/components/accordion/AccordionRoot.vue_vue_type_script_setup_true_lang.js +57 -0
  14. package/dist/components/accordion/use-accordion.d.ts +43 -0
  15. package/dist/components/accordion/use-accordion.js +126 -0
  16. package/dist/components/alert/AlertDescription.js +5 -0
  17. package/dist/components/alert/AlertDescription.vue.d.ts +19 -0
  18. package/dist/components/alert/AlertDescription.vue_vue_type_script_setup_true_lang.js +29 -0
  19. package/dist/components/alert/AlertRoot.js +5 -0
  20. package/dist/components/alert/AlertRoot.vue.d.ts +24 -0
  21. package/dist/components/alert/AlertRoot.vue_vue_type_script_setup_true_lang.js +36 -0
  22. package/dist/components/alert/AlertTitle.js +5 -0
  23. package/dist/components/alert/AlertTitle.vue.d.ts +19 -0
  24. package/dist/components/alert/AlertTitle.vue_vue_type_script_setup_true_lang.js +29 -0
  25. package/dist/components/appear/Appear.js +5 -0
  26. package/dist/components/appear/Appear.vue.d.ts +46 -0
  27. package/dist/components/appear/Appear.vue_vue_type_script_setup_true_lang.js +63 -0
  28. package/dist/components/async-state/AsyncState.js +5 -0
  29. package/dist/components/async-state/AsyncState.vue.d.ts +60 -0
  30. package/dist/components/async-state/AsyncState.vue_vue_type_script_setup_true_lang.js +88 -0
  31. package/dist/components/badge/Badge.js +5 -0
  32. package/dist/components/badge/Badge.vue.d.ts +19 -0
  33. package/dist/components/badge/Badge.vue_vue_type_script_setup_true_lang.js +23 -0
  34. package/dist/components/button/Button.js +5 -0
  35. package/dist/components/button/Button.vue.d.ts +28 -0
  36. package/dist/components/button/Button.vue_vue_type_script_setup_true_lang.js +50 -0
  37. package/dist/components/button/use-button.d.ts +20 -0
  38. package/dist/components/button/use-button.js +47 -0
  39. package/dist/components/calendar/CalendarDay.js +5 -0
  40. package/dist/components/calendar/CalendarDay.vue.d.ts +33 -0
  41. package/dist/components/calendar/CalendarDay.vue_vue_type_script_setup_true_lang.js +36 -0
  42. package/dist/components/calendar/CalendarGrid.js +5 -0
  43. package/dist/components/calendar/CalendarGrid.vue.d.ts +33 -0
  44. package/dist/components/calendar/CalendarGrid.vue_vue_type_script_setup_true_lang.js +31 -0
  45. package/dist/components/calendar/CalendarMonth.js +5 -0
  46. package/dist/components/calendar/CalendarMonth.vue.d.ts +28 -0
  47. package/dist/components/calendar/CalendarMonth.vue_vue_type_script_setup_true_lang.js +38 -0
  48. package/dist/components/calendar/CalendarNext.js +5 -0
  49. package/dist/components/calendar/CalendarNext.vue.d.ts +23 -0
  50. package/dist/components/calendar/CalendarNext.vue_vue_type_script_setup_true_lang.js +24 -0
  51. package/dist/components/calendar/CalendarPreset.js +5 -0
  52. package/dist/components/calendar/CalendarPreset.vue.d.ts +39 -0
  53. package/dist/components/calendar/CalendarPreset.vue_vue_type_script_setup_true_lang.js +33 -0
  54. package/dist/components/calendar/CalendarPresets.js +5 -0
  55. package/dist/components/calendar/CalendarPresets.vue.d.ts +26 -0
  56. package/dist/components/calendar/CalendarPresets.vue_vue_type_script_setup_true_lang.js +28 -0
  57. package/dist/components/calendar/CalendarPrev.js +5 -0
  58. package/dist/components/calendar/CalendarPrev.vue.d.ts +23 -0
  59. package/dist/components/calendar/CalendarPrev.vue_vue_type_script_setup_true_lang.js +24 -0
  60. package/dist/components/calendar/CalendarRoot.js +5 -0
  61. package/dist/components/calendar/CalendarRoot.vue.d.ts +94 -0
  62. package/dist/components/calendar/CalendarRoot.vue_vue_type_script_setup_true_lang.js +115 -0
  63. package/dist/components/calendar/CalendarRow.js +5 -0
  64. package/dist/components/calendar/CalendarRow.vue.d.ts +25 -0
  65. package/dist/components/calendar/CalendarRow.vue_vue_type_script_setup_true_lang.js +30 -0
  66. package/dist/components/calendar/CalendarViewTrigger.js +5 -0
  67. package/dist/components/calendar/CalendarViewTrigger.vue.d.ts +25 -0
  68. package/dist/components/calendar/CalendarViewTrigger.vue_vue_type_script_setup_true_lang.js +28 -0
  69. package/dist/components/calendar/CalendarWeek.js +5 -0
  70. package/dist/components/calendar/CalendarWeek.vue.d.ts +29 -0
  71. package/dist/components/calendar/CalendarWeek.vue_vue_type_script_setup_true_lang.js +48 -0
  72. package/dist/components/calendar/CalendarWeekDay.js +5 -0
  73. package/dist/components/calendar/CalendarWeekDay.vue.d.ts +44 -0
  74. package/dist/components/calendar/CalendarWeekDay.vue_vue_type_script_setup_true_lang.js +36 -0
  75. package/dist/components/calendar/CalendarYear.js +5 -0
  76. package/dist/components/calendar/CalendarYear.vue.d.ts +27 -0
  77. package/dist/components/calendar/CalendarYear.vue_vue_type_script_setup_true_lang.js +36 -0
  78. package/dist/components/calendar/use-calendar.d.ts +267 -0
  79. package/dist/components/calendar/use-calendar.js +657 -0
  80. package/dist/components/chart/ChartArea.js +5 -0
  81. package/dist/components/chart/ChartArea.vue.d.ts +23 -0
  82. package/dist/components/chart/ChartArea.vue_vue_type_script_setup_true_lang.js +28 -0
  83. package/dist/components/chart/ChartAxis.js +5 -0
  84. package/dist/components/chart/ChartAxis.vue.d.ts +18 -0
  85. package/dist/components/chart/ChartAxis.vue_vue_type_script_setup_true_lang.js +24 -0
  86. package/dist/components/chart/ChartBar.js +5 -0
  87. package/dist/components/chart/ChartBar.vue.d.ts +25 -0
  88. package/dist/components/chart/ChartBar.vue_vue_type_script_setup_true_lang.js +29 -0
  89. package/dist/components/chart/ChartCrosshair.js +5 -0
  90. package/dist/components/chart/ChartCrosshair.vue.d.ts +3 -0
  91. package/dist/components/chart/ChartCrosshair.vue_vue_type_script_setup_true_lang.js +15 -0
  92. package/dist/components/chart/ChartDonut.js +5 -0
  93. package/dist/components/chart/ChartDonut.vue.d.ts +66 -0
  94. package/dist/components/chart/ChartDonut.vue_vue_type_script_setup_true_lang.js +156 -0
  95. package/dist/components/chart/ChartFrame.js +5 -0
  96. package/dist/components/chart/ChartFrame.vue.d.ts +66 -0
  97. package/dist/components/chart/ChartFrame.vue_vue_type_script_setup_true_lang.js +96 -0
  98. package/dist/components/chart/ChartGrid.js +5 -0
  99. package/dist/components/chart/ChartGrid.vue.d.ts +11 -0
  100. package/dist/components/chart/ChartGrid.vue_vue_type_script_setup_true_lang.js +20 -0
  101. package/dist/components/chart/ChartLegend.js +5 -0
  102. package/dist/components/chart/ChartLegend.vue.d.ts +46 -0
  103. package/dist/components/chart/ChartLegend.vue_vue_type_script_setup_true_lang.js +81 -0
  104. package/dist/components/chart/ChartLine.js +5 -0
  105. package/dist/components/chart/ChartLine.vue.d.ts +23 -0
  106. package/dist/components/chart/ChartLine.vue_vue_type_script_setup_true_lang.js +28 -0
  107. package/dist/components/chart/ChartRoot.js +5 -0
  108. package/dist/components/chart/ChartRoot.vue.d.ts +115 -0
  109. package/dist/components/chart/ChartRoot.vue_vue_type_script_setup_true_lang.js +394 -0
  110. package/dist/components/chart/ChartTooltip.js +5 -0
  111. package/dist/components/chart/ChartTooltip.vue.d.ts +14 -0
  112. package/dist/components/chart/ChartTooltip.vue_vue_type_script_setup_true_lang.js +21 -0
  113. package/dist/components/chart/chart-curve.d.ts +9 -0
  114. package/dist/components/chart/chart-curve.js +57 -0
  115. package/dist/components/chart/chart-scales.d.ts +34 -0
  116. package/dist/components/chart/chart-scales.js +41 -0
  117. package/dist/components/chart/use-chart-series.d.ts +49 -0
  118. package/dist/components/chart/use-chart-series.js +53 -0
  119. package/dist/components/checkbox/CheckboxGroup.js +5 -0
  120. package/dist/components/checkbox/CheckboxGroup.vue.d.ts +128 -0
  121. package/dist/components/checkbox/CheckboxGroup.vue_vue_type_script_setup_true_lang.js +141 -0
  122. package/dist/components/checkbox/CheckboxIndicator.js +5 -0
  123. package/dist/components/checkbox/CheckboxIndicator.vue.d.ts +29 -0
  124. package/dist/components/checkbox/CheckboxIndicator.vue_vue_type_script_setup_true_lang.js +30 -0
  125. package/dist/components/checkbox/CheckboxRoot.js +5 -0
  126. package/dist/components/checkbox/CheckboxRoot.vue.d.ts +93 -0
  127. package/dist/components/checkbox/CheckboxRoot.vue_vue_type_script_setup_true_lang.js +158 -0
  128. package/dist/components/collapsible/CollapsiblePanel.js +5 -0
  129. package/dist/components/collapsible/CollapsiblePanel.vue.d.ts +26 -0
  130. package/dist/components/collapsible/CollapsiblePanel.vue_vue_type_script_setup_true_lang.js +33 -0
  131. package/dist/components/collapsible/CollapsibleRoot.js +5 -0
  132. package/dist/components/collapsible/CollapsibleRoot.vue.d.ts +41 -0
  133. package/dist/components/collapsible/CollapsibleRoot.vue_vue_type_script_setup_true_lang.js +55 -0
  134. package/dist/components/collapsible/CollapsibleTrigger.js +5 -0
  135. package/dist/components/collapsible/CollapsibleTrigger.vue.d.ts +23 -0
  136. package/dist/components/collapsible/CollapsibleTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
  137. package/dist/components/combobox/ComboboxChip.js +5 -0
  138. package/dist/components/combobox/ComboboxChip.vue.d.ts +29 -0
  139. package/dist/components/combobox/ComboboxChip.vue_vue_type_script_setup_true_lang.js +31 -0
  140. package/dist/components/combobox/ComboboxChipRemove.js +5 -0
  141. package/dist/components/combobox/ComboboxChipRemove.vue.d.ts +23 -0
  142. package/dist/components/combobox/ComboboxChipRemove.vue_vue_type_script_setup_true_lang.js +29 -0
  143. package/dist/components/combobox/ComboboxChips.js +5 -0
  144. package/dist/components/combobox/ComboboxChips.vue.d.ts +35 -0
  145. package/dist/components/combobox/ComboboxChips.vue_vue_type_script_setup_true_lang.js +39 -0
  146. package/dist/components/combobox/ComboboxInput.js +5 -0
  147. package/dist/components/combobox/ComboboxInput.vue.d.ts +9 -0
  148. package/dist/components/combobox/ComboboxInput.vue_vue_type_script_setup_true_lang.js +21 -0
  149. package/dist/components/combobox/ComboboxRoot.js +5 -0
  150. package/dist/components/combobox/ComboboxRoot.vue.d.ts +115 -0
  151. package/dist/components/combobox/ComboboxRoot.vue_vue_type_script_setup_true_lang.js +133 -0
  152. package/dist/components/combobox/ComboboxTrigger.js +5 -0
  153. package/dist/components/combobox/ComboboxTrigger.vue.d.ts +35 -0
  154. package/dist/components/combobox/ComboboxTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
  155. package/dist/components/context-menu/ContextMenuRoot.js +5 -0
  156. package/dist/components/context-menu/ContextMenuRoot.vue.d.ts +57 -0
  157. package/dist/components/context-menu/ContextMenuRoot.vue_vue_type_script_setup_true_lang.js +67 -0
  158. package/dist/components/context-menu/ContextMenuTrigger.js +5 -0
  159. package/dist/components/context-menu/ContextMenuTrigger.vue.d.ts +26 -0
  160. package/dist/components/context-menu/ContextMenuTrigger.vue_vue_type_script_setup_true_lang.js +68 -0
  161. package/dist/components/copy/Copy.js +5 -0
  162. package/dist/components/copy/Copy.vue.d.ts +57 -0
  163. package/dist/components/copy/Copy.vue_vue_type_script_setup_true_lang.js +120 -0
  164. package/dist/components/data-table/DataTable.js +5 -0
  165. package/dist/components/data-table/DataTable.vue.d.ts +194 -0
  166. package/dist/components/data-table/DataTable.vue_vue_type_script_setup_true_lang.js +683 -0
  167. package/dist/components/datepicker/DatepickerClear.js +5 -0
  168. package/dist/components/datepicker/DatepickerClear.vue.d.ts +34 -0
  169. package/dist/components/datepicker/DatepickerClear.vue_vue_type_script_setup_true_lang.js +28 -0
  170. package/dist/components/datepicker/DatepickerRoot.js +5 -0
  171. package/dist/components/datepicker/DatepickerRoot.vue.d.ts +191 -0
  172. package/dist/components/datepicker/DatepickerRoot.vue_vue_type_script_setup_true_lang.js +258 -0
  173. package/dist/components/datepicker/DatepickerTrigger.js +5 -0
  174. package/dist/components/datepicker/DatepickerTrigger.vue.d.ts +34 -0
  175. package/dist/components/datepicker/DatepickerTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
  176. package/dist/components/datepicker/DatepickerValue.js +5 -0
  177. package/dist/components/datepicker/DatepickerValue.vue.d.ts +29 -0
  178. package/dist/components/datepicker/DatepickerValue.vue_vue_type_script_setup_true_lang.js +35 -0
  179. package/dist/components/deferred/Deferred.js +5 -0
  180. package/dist/components/deferred/Deferred.vue.d.ts +23 -0
  181. package/dist/components/deferred/Deferred.vue_vue_type_script_setup_true_lang.js +42 -0
  182. package/dist/components/dialog/DialogBackdrop.js +5 -0
  183. package/dist/components/dialog/DialogBackdrop.vue.d.ts +25 -0
  184. package/dist/components/dialog/DialogBackdrop.vue_vue_type_script_setup_true_lang.js +24 -0
  185. package/dist/components/dialog/DialogClose.js +5 -0
  186. package/dist/components/dialog/DialogClose.vue.d.ts +26 -0
  187. package/dist/components/dialog/DialogClose.vue_vue_type_script_setup_true_lang.js +33 -0
  188. package/dist/components/dialog/DialogDescription.js +5 -0
  189. package/dist/components/dialog/DialogDescription.vue.d.ts +23 -0
  190. package/dist/components/dialog/DialogDescription.vue_vue_type_script_setup_true_lang.js +29 -0
  191. package/dist/components/dialog/DialogRoot.js +5 -0
  192. package/dist/components/dialog/DialogRoot.vue.d.ts +46 -0
  193. package/dist/components/dialog/DialogRoot.vue_vue_type_script_setup_true_lang.js +61 -0
  194. package/dist/components/dialog/DialogTitle.js +5 -0
  195. package/dist/components/dialog/DialogTitle.vue.d.ts +23 -0
  196. package/dist/components/dialog/DialogTitle.vue_vue_type_script_setup_true_lang.js +29 -0
  197. package/dist/components/dialog/DialogTrigger.js +5 -0
  198. package/dist/components/dialog/DialogTrigger.vue.d.ts +25 -0
  199. package/dist/components/dialog/DialogTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
  200. package/dist/components/drag/DragHandle.js +5 -0
  201. package/dist/components/drag/DragHandle.vue.d.ts +19 -0
  202. package/dist/components/drag/DragHandle.vue_vue_type_script_setup_true_lang.js +26 -0
  203. package/dist/components/drag/DragItem.js +5 -0
  204. package/dist/components/drag/DragItem.vue.d.ts +23 -0
  205. package/dist/components/drag/DragItem.vue_vue_type_script_setup_true_lang.js +33 -0
  206. package/dist/components/drag/DragRoot.js +5 -0
  207. package/dist/components/drag/DragRoot.vue.d.ts +90 -0
  208. package/dist/components/drag/DragRoot.vue_vue_type_script_setup_true_lang.js +329 -0
  209. package/dist/components/drawer/DrawerHandle.js +5 -0
  210. package/dist/components/drawer/DrawerHandle.vue.d.ts +23 -0
  211. package/dist/components/drawer/DrawerHandle.vue_vue_type_script_setup_true_lang.js +24 -0
  212. package/dist/components/drawer/DrawerRoot.js +5 -0
  213. package/dist/components/drawer/DrawerRoot.vue.d.ts +55 -0
  214. package/dist/components/drawer/DrawerRoot.vue_vue_type_script_setup_true_lang.js +72 -0
  215. package/dist/components/drawer/use-drawer.d.ts +50 -0
  216. package/dist/components/drawer/use-drawer.js +170 -0
  217. package/dist/components/field/FieldDescription.js +5 -0
  218. package/dist/components/field/FieldDescription.vue.d.ts +28 -0
  219. package/dist/components/field/FieldDescription.vue_vue_type_script_setup_true_lang.js +24 -0
  220. package/dist/components/field/FieldError.js +5 -0
  221. package/dist/components/field/FieldError.vue.d.ts +30 -0
  222. package/dist/components/field/FieldError.vue_vue_type_script_setup_true_lang.js +37 -0
  223. package/dist/components/field/FieldGroup.js +5 -0
  224. package/dist/components/field/FieldGroup.vue.d.ts +28 -0
  225. package/dist/components/field/FieldGroup.vue_vue_type_script_setup_true_lang.js +24 -0
  226. package/dist/components/field/FieldLabel.js +5 -0
  227. package/dist/components/field/FieldLabel.vue.d.ts +28 -0
  228. package/dist/components/field/FieldLabel.vue_vue_type_script_setup_true_lang.js +29 -0
  229. package/dist/components/field/FieldRoot.js +5 -0
  230. package/dist/components/field/FieldRoot.vue.d.ts +47 -0
  231. package/dist/components/field/FieldRoot.vue_vue_type_script_setup_true_lang.js +67 -0
  232. package/dist/components/floating/FloatingClose.js +5 -0
  233. package/dist/components/floating/FloatingClose.vue.d.ts +23 -0
  234. package/dist/components/floating/FloatingClose.vue_vue_type_script_setup_true_lang.js +24 -0
  235. package/dist/components/floating/FloatingHeader.js +5 -0
  236. package/dist/components/floating/FloatingHeader.vue.d.ts +23 -0
  237. package/dist/components/floating/FloatingHeader.vue_vue_type_script_setup_true_lang.js +24 -0
  238. package/dist/components/floating/FloatingResizer.js +5 -0
  239. package/dist/components/floating/FloatingResizer.vue.d.ts +25 -0
  240. package/dist/components/floating/FloatingResizer.vue_vue_type_script_setup_true_lang.js +27 -0
  241. package/dist/components/floating/FloatingRoot.js +5 -0
  242. package/dist/components/floating/FloatingRoot.vue.d.ts +152 -0
  243. package/dist/components/floating/FloatingRoot.vue_vue_type_script_setup_true_lang.js +440 -0
  244. package/dist/components/floating/FloatingTitle.js +5 -0
  245. package/dist/components/floating/FloatingTitle.vue.d.ts +23 -0
  246. package/dist/components/floating/FloatingTitle.vue_vue_type_script_setup_true_lang.js +29 -0
  247. package/dist/components/group/Group.js +5 -0
  248. package/dist/components/group/Group.vue.d.ts +60 -0
  249. package/dist/components/group/Group.vue_vue_type_script_setup_true_lang.js +186 -0
  250. package/dist/components/icon/Icon.js +5 -0
  251. package/dist/components/icon/Icon.vue.d.ts +11 -0
  252. package/dist/components/icon/Icon.vue_vue_type_script_setup_true_lang.js +64 -0
  253. package/dist/components/input/Input.js +5 -0
  254. package/dist/components/input/Input.vue.d.ts +53 -0
  255. package/dist/components/input/Input.vue_vue_type_script_setup_true_lang.js +68 -0
  256. package/dist/components/listbox/ListboxClear.js +5 -0
  257. package/dist/components/listbox/ListboxClear.vue.d.ts +35 -0
  258. package/dist/components/listbox/ListboxClear.vue_vue_type_script_setup_true_lang.js +27 -0
  259. package/dist/components/listbox/ListboxEmpty.js +5 -0
  260. package/dist/components/listbox/ListboxEmpty.vue.d.ts +35 -0
  261. package/dist/components/listbox/ListboxEmpty.vue_vue_type_script_setup_true_lang.js +27 -0
  262. package/dist/components/listbox/ListboxIndicator.js +5 -0
  263. package/dist/components/listbox/ListboxIndicator.vue.d.ts +35 -0
  264. package/dist/components/listbox/ListboxIndicator.vue_vue_type_script_setup_true_lang.js +24 -0
  265. package/dist/components/listbox/ListboxItem.js +5 -0
  266. package/dist/components/listbox/ListboxItem.vue.d.ts +22 -0
  267. package/dist/components/listbox/ListboxItem.vue_vue_type_script_setup_true_lang.js +27 -0
  268. package/dist/components/listbox/ListboxList.js +5 -0
  269. package/dist/components/listbox/ListboxList.vue.d.ts +37 -0
  270. package/dist/components/listbox/ListboxList.vue_vue_type_script_setup_true_lang.js +51 -0
  271. package/dist/components/listbox/ListboxPresets.js +5 -0
  272. package/dist/components/listbox/ListboxPresets.vue.d.ts +59 -0
  273. package/dist/components/listbox/ListboxPresets.vue_vue_type_script_setup_true_lang.js +43 -0
  274. package/dist/components/listbox/ListboxScrollIndicator.js +5 -0
  275. package/dist/components/listbox/ListboxScrollIndicator.vue.d.ts +38 -0
  276. package/dist/components/listbox/ListboxScrollIndicator.vue_vue_type_script_setup_true_lang.js +30 -0
  277. package/dist/components/menu/MenuArrow.js +5 -0
  278. package/dist/components/menu/MenuArrow.vue.d.ts +23 -0
  279. package/dist/components/menu/MenuArrow.vue_vue_type_script_setup_true_lang.js +24 -0
  280. package/dist/components/menu/MenuCheckboxItem.js +5 -0
  281. package/dist/components/menu/MenuCheckboxItem.vue.d.ts +49 -0
  282. package/dist/components/menu/MenuCheckboxItem.vue_vue_type_script_setup_true_lang.js +72 -0
  283. package/dist/components/menu/MenuGroup.js +5 -0
  284. package/dist/components/menu/MenuGroup.vue.d.ts +19 -0
  285. package/dist/components/menu/MenuGroup.vue_vue_type_script_setup_true_lang.js +40 -0
  286. package/dist/components/menu/MenuGroupLabel.js +5 -0
  287. package/dist/components/menu/MenuGroupLabel.vue.d.ts +19 -0
  288. package/dist/components/menu/MenuGroupLabel.vue_vue_type_script_setup_true_lang.js +28 -0
  289. package/dist/components/menu/MenuItem.js +5 -0
  290. package/dist/components/menu/MenuItem.vue.d.ts +29 -0
  291. package/dist/components/menu/MenuItem.vue_vue_type_script_setup_true_lang.js +41 -0
  292. package/dist/components/menu/MenuItemIndicator.js +5 -0
  293. package/dist/components/menu/MenuItemIndicator.vue.d.ts +28 -0
  294. package/dist/components/menu/MenuItemIndicator.vue_vue_type_script_setup_true_lang.js +40 -0
  295. package/dist/components/menu/MenuRadioGroup.js +5 -0
  296. package/dist/components/menu/MenuRadioGroup.vue.d.ts +42 -0
  297. package/dist/components/menu/MenuRadioGroup.vue_vue_type_script_setup_true_lang.js +72 -0
  298. package/dist/components/menu/MenuRadioItem.js +5 -0
  299. package/dist/components/menu/MenuRadioItem.vue.d.ts +35 -0
  300. package/dist/components/menu/MenuRadioItem.vue_vue_type_script_setup_true_lang.js +52 -0
  301. package/dist/components/menu/MenuRoot.js +5 -0
  302. package/dist/components/menu/MenuRoot.vue.d.ts +69 -0
  303. package/dist/components/menu/MenuRoot.vue_vue_type_script_setup_true_lang.js +79 -0
  304. package/dist/components/menu/MenuTrigger.js +5 -0
  305. package/dist/components/menu/MenuTrigger.vue.d.ts +25 -0
  306. package/dist/components/menu/MenuTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
  307. package/dist/components/menu/MenubarLink.js +5 -0
  308. package/dist/components/menu/MenubarLink.vue.d.ts +22 -0
  309. package/dist/components/menu/MenubarLink.vue_vue_type_script_setup_true_lang.js +32 -0
  310. package/dist/components/menu/MenubarRoot.js +5 -0
  311. package/dist/components/menu/MenubarRoot.vue.d.ts +28 -0
  312. package/dist/components/menu/MenubarRoot.vue_vue_type_script_setup_true_lang.js +42 -0
  313. package/dist/components/meter/MeterIndicator.js +5 -0
  314. package/dist/components/meter/MeterIndicator.vue.d.ts +22 -0
  315. package/dist/components/meter/MeterIndicator.vue_vue_type_script_setup_true_lang.js +24 -0
  316. package/dist/components/meter/MeterLabel.js +5 -0
  317. package/dist/components/meter/MeterLabel.vue.d.ts +22 -0
  318. package/dist/components/meter/MeterLabel.vue_vue_type_script_setup_true_lang.js +34 -0
  319. package/dist/components/meter/MeterRoot.js +5 -0
  320. package/dist/components/meter/MeterRoot.vue.d.ts +33 -0
  321. package/dist/components/meter/MeterRoot.vue_vue_type_script_setup_true_lang.js +43 -0
  322. package/dist/components/meter/MeterTrack.js +5 -0
  323. package/dist/components/meter/MeterTrack.vue.d.ts +22 -0
  324. package/dist/components/meter/MeterTrack.vue_vue_type_script_setup_true_lang.js +24 -0
  325. package/dist/components/meter/MeterValue.js +5 -0
  326. package/dist/components/meter/MeterValue.vue.d.ts +23 -0
  327. package/dist/components/meter/MeterValue.vue_vue_type_script_setup_true_lang.js +24 -0
  328. package/dist/components/pagination/PaginationEllipsis.js +5 -0
  329. package/dist/components/pagination/PaginationEllipsis.vue.d.ts +23 -0
  330. package/dist/components/pagination/PaginationEllipsis.vue_vue_type_script_setup_true_lang.js +24 -0
  331. package/dist/components/pagination/PaginationItem.js +5 -0
  332. package/dist/components/pagination/PaginationItem.vue.d.ts +48 -0
  333. package/dist/components/pagination/PaginationItem.vue_vue_type_script_setup_true_lang.js +32 -0
  334. package/dist/components/pagination/PaginationNext.js +5 -0
  335. package/dist/components/pagination/PaginationNext.vue.d.ts +21 -0
  336. package/dist/components/pagination/PaginationNext.vue_vue_type_script_setup_true_lang.js +24 -0
  337. package/dist/components/pagination/PaginationPrev.js +5 -0
  338. package/dist/components/pagination/PaginationPrev.vue.d.ts +21 -0
  339. package/dist/components/pagination/PaginationPrev.vue_vue_type_script_setup_true_lang.js +24 -0
  340. package/dist/components/pagination/PaginationRoot.js +5 -0
  341. package/dist/components/pagination/PaginationRoot.vue.d.ts +146 -0
  342. package/dist/components/pagination/PaginationRoot.vue_vue_type_script_setup_true_lang.js +253 -0
  343. package/dist/components/popover/PopoverArrow.js +5 -0
  344. package/dist/components/popover/PopoverArrow.vue.d.ts +23 -0
  345. package/dist/components/popover/PopoverArrow.vue_vue_type_script_setup_true_lang.js +24 -0
  346. package/dist/components/popover/PopoverClose.js +5 -0
  347. package/dist/components/popover/PopoverClose.vue.d.ts +23 -0
  348. package/dist/components/popover/PopoverClose.vue_vue_type_script_setup_true_lang.js +24 -0
  349. package/dist/components/popover/PopoverDescription.js +5 -0
  350. package/dist/components/popover/PopoverDescription.vue.d.ts +23 -0
  351. package/dist/components/popover/PopoverDescription.vue_vue_type_script_setup_true_lang.js +29 -0
  352. package/dist/components/popover/PopoverRoot.js +5 -0
  353. package/dist/components/popover/PopoverRoot.vue.d.ts +75 -0
  354. package/dist/components/popover/PopoverRoot.vue_vue_type_script_setup_true_lang.js +85 -0
  355. package/dist/components/popover/PopoverTitle.js +5 -0
  356. package/dist/components/popover/PopoverTitle.vue.d.ts +23 -0
  357. package/dist/components/popover/PopoverTitle.vue_vue_type_script_setup_true_lang.js +29 -0
  358. package/dist/components/popover/PopoverTrigger.js +5 -0
  359. package/dist/components/popover/PopoverTrigger.vue.d.ts +24 -0
  360. package/dist/components/popover/PopoverTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
  361. package/dist/components/popover/use-popover.d.ts +60 -0
  362. package/dist/components/popover/use-popover.js +160 -0
  363. package/dist/components/progress/ProgressIndicator.js +5 -0
  364. package/dist/components/progress/ProgressIndicator.vue.d.ts +22 -0
  365. package/dist/components/progress/ProgressIndicator.vue_vue_type_script_setup_true_lang.js +24 -0
  366. package/dist/components/progress/ProgressLabel.js +5 -0
  367. package/dist/components/progress/ProgressLabel.vue.d.ts +22 -0
  368. package/dist/components/progress/ProgressLabel.vue_vue_type_script_setup_true_lang.js +34 -0
  369. package/dist/components/progress/ProgressRoot.js +5 -0
  370. package/dist/components/progress/ProgressRoot.vue.d.ts +33 -0
  371. package/dist/components/progress/ProgressRoot.vue_vue_type_script_setup_true_lang.js +43 -0
  372. package/dist/components/progress/ProgressTrack.js +5 -0
  373. package/dist/components/progress/ProgressTrack.vue.d.ts +22 -0
  374. package/dist/components/progress/ProgressTrack.vue_vue_type_script_setup_true_lang.js +24 -0
  375. package/dist/components/progress/ProgressValue.js +5 -0
  376. package/dist/components/progress/ProgressValue.vue.d.ts +23 -0
  377. package/dist/components/progress/ProgressValue.vue_vue_type_script_setup_true_lang.js +24 -0
  378. package/dist/components/radio/RadioGroup.js +5 -0
  379. package/dist/components/radio/RadioGroup.vue.d.ts +53 -0
  380. package/dist/components/radio/RadioGroup.vue_vue_type_script_setup_true_lang.js +55 -0
  381. package/dist/components/radio/RadioIndicator.js +5 -0
  382. package/dist/components/radio/RadioIndicator.vue.d.ts +28 -0
  383. package/dist/components/radio/RadioIndicator.vue_vue_type_script_setup_true_lang.js +30 -0
  384. package/dist/components/radio/RadioRoot.js +5 -0
  385. package/dist/components/radio/RadioRoot.vue.d.ts +33 -0
  386. package/dist/components/radio/RadioRoot.vue_vue_type_script_setup_true_lang.js +48 -0
  387. package/dist/components/radio/use-radio-group.d.ts +87 -0
  388. package/dist/components/radio/use-radio-group.js +175 -0
  389. package/dist/components/range/RangeControl.js +5 -0
  390. package/dist/components/range/RangeControl.vue.d.ts +30 -0
  391. package/dist/components/range/RangeControl.vue_vue_type_script_setup_true_lang.js +24 -0
  392. package/dist/components/range/RangeIndicator.js +5 -0
  393. package/dist/components/range/RangeIndicator.vue.d.ts +30 -0
  394. package/dist/components/range/RangeIndicator.vue_vue_type_script_setup_true_lang.js +24 -0
  395. package/dist/components/range/RangeLabel.js +5 -0
  396. package/dist/components/range/RangeLabel.vue.d.ts +30 -0
  397. package/dist/components/range/RangeLabel.vue_vue_type_script_setup_true_lang.js +25 -0
  398. package/dist/components/range/RangeRoot.js +5 -0
  399. package/dist/components/range/RangeRoot.vue.d.ts +85 -0
  400. package/dist/components/range/RangeRoot.vue_vue_type_script_setup_true_lang.js +80 -0
  401. package/dist/components/range/RangeThumb.js +5 -0
  402. package/dist/components/range/RangeThumb.vue.d.ts +42 -0
  403. package/dist/components/range/RangeThumb.vue_vue_type_script_setup_true_lang.js +43 -0
  404. package/dist/components/range/RangeTrack.js +5 -0
  405. package/dist/components/range/RangeTrack.vue.d.ts +30 -0
  406. package/dist/components/range/RangeTrack.vue_vue_type_script_setup_true_lang.js +24 -0
  407. package/dist/components/range/RangeValue.js +5 -0
  408. package/dist/components/range/RangeValue.vue.d.ts +25 -0
  409. package/dist/components/range/RangeValue.vue_vue_type_script_setup_true_lang.js +25 -0
  410. package/dist/components/range/range-math.d.ts +31 -0
  411. package/dist/components/range/range-math.js +82 -0
  412. package/dist/components/range/use-range.d.ts +189 -0
  413. package/dist/components/range/use-range.js +542 -0
  414. package/dist/components/scroll-area/ScrollArea.js +5 -0
  415. package/dist/components/scroll-area/ScrollArea.vue.d.ts +94 -0
  416. package/dist/components/scroll-area/ScrollArea.vue_vue_type_script_setup_true_lang.js +178 -0
  417. package/dist/components/select/SelectRoot.js +5 -0
  418. package/dist/components/select/SelectRoot.vue.d.ts +116 -0
  419. package/dist/components/select/SelectRoot.vue_vue_type_script_setup_true_lang.js +133 -0
  420. package/dist/components/select/SelectSearch.js +5 -0
  421. package/dist/components/select/SelectSearch.vue.d.ts +9 -0
  422. package/dist/components/select/SelectSearch.vue_vue_type_script_setup_true_lang.js +21 -0
  423. package/dist/components/select/SelectTrigger.js +5 -0
  424. package/dist/components/select/SelectTrigger.vue.d.ts +35 -0
  425. package/dist/components/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
  426. package/dist/components/select/SelectValue.js +5 -0
  427. package/dist/components/select/SelectValue.vue.d.ts +52 -0
  428. package/dist/components/select/SelectValue.vue_vue_type_script_setup_true_lang.js +42 -0
  429. package/dist/components/surface/Addon.js +5 -0
  430. package/dist/components/surface/Addon.vue.d.ts +21 -0
  431. package/dist/components/surface/Addon.vue_vue_type_script_setup_true_lang.js +27 -0
  432. package/dist/components/surface/Popup.js +5 -0
  433. package/dist/components/surface/Popup.vue.d.ts +19 -0
  434. package/dist/components/surface/Popup.vue_vue_type_script_setup_true_lang.js +27 -0
  435. package/dist/components/surface/Portal.js +5 -0
  436. package/dist/components/surface/Portal.vue.d.ts +22 -0
  437. package/dist/components/surface/Portal.vue_vue_type_script_setup_true_lang.js +32 -0
  438. package/dist/components/surface/Positioner.js +5 -0
  439. package/dist/components/surface/Positioner.vue.d.ts +19 -0
  440. package/dist/components/surface/Positioner.vue_vue_type_script_setup_true_lang.js +28 -0
  441. package/dist/components/surface/Separator.js +5 -0
  442. package/dist/components/surface/Separator.vue.d.ts +11 -0
  443. package/dist/components/surface/Separator.vue_vue_type_script_setup_true_lang.js +33 -0
  444. package/dist/components/switch/SwitchRoot.js +5 -0
  445. package/dist/components/switch/SwitchRoot.vue.d.ts +93 -0
  446. package/dist/components/switch/SwitchRoot.vue_vue_type_script_setup_true_lang.js +131 -0
  447. package/dist/components/switch/SwitchThumb.js +5 -0
  448. package/dist/components/switch/SwitchThumb.vue.d.ts +25 -0
  449. package/dist/components/switch/SwitchThumb.vue_vue_type_script_setup_true_lang.js +27 -0
  450. package/dist/components/table/TableBody.js +5 -0
  451. package/dist/components/table/TableBody.vue.d.ts +13 -0
  452. package/dist/components/table/TableBody.vue_vue_type_script_setup_true_lang.js +16 -0
  453. package/dist/components/table/TableCaption.js +5 -0
  454. package/dist/components/table/TableCaption.vue.d.ts +13 -0
  455. package/dist/components/table/TableCaption.vue_vue_type_script_setup_true_lang.js +16 -0
  456. package/dist/components/table/TableCell.js +5 -0
  457. package/dist/components/table/TableCell.vue.d.ts +21 -0
  458. package/dist/components/table/TableCell.vue_vue_type_script_setup_true_lang.js +31 -0
  459. package/dist/components/table/TableFooter.js +5 -0
  460. package/dist/components/table/TableFooter.vue.d.ts +13 -0
  461. package/dist/components/table/TableFooter.vue_vue_type_script_setup_true_lang.js +29 -0
  462. package/dist/components/table/TableHeadCell.js +5 -0
  463. package/dist/components/table/TableHeadCell.vue.d.ts +25 -0
  464. package/dist/components/table/TableHeadCell.vue_vue_type_script_setup_true_lang.js +46 -0
  465. package/dist/components/table/TableHeader.js +5 -0
  466. package/dist/components/table/TableHeader.vue.d.ts +13 -0
  467. package/dist/components/table/TableHeader.vue_vue_type_script_setup_true_lang.js +29 -0
  468. package/dist/components/table/TableRoot.js +5 -0
  469. package/dist/components/table/TableRoot.vue.d.ts +48 -0
  470. package/dist/components/table/TableRoot.vue_vue_type_script_setup_true_lang.js +67 -0
  471. package/dist/components/table/TableRow.js +5 -0
  472. package/dist/components/table/TableRow.vue.d.ts +21 -0
  473. package/dist/components/table/TableRow.vue_vue_type_script_setup_true_lang.js +30 -0
  474. package/dist/components/tabs/TabsIndicator.js +5 -0
  475. package/dist/components/tabs/TabsIndicator.vue.d.ts +23 -0
  476. package/dist/components/tabs/TabsIndicator.vue_vue_type_script_setup_true_lang.js +24 -0
  477. package/dist/components/tabs/TabsList.js +5 -0
  478. package/dist/components/tabs/TabsList.vue.d.ts +22 -0
  479. package/dist/components/tabs/TabsList.vue_vue_type_script_setup_true_lang.js +24 -0
  480. package/dist/components/tabs/TabsPanel.js +5 -0
  481. package/dist/components/tabs/TabsPanel.vue.d.ts +30 -0
  482. package/dist/components/tabs/TabsPanel.vue_vue_type_script_setup_true_lang.js +37 -0
  483. package/dist/components/tabs/TabsRoot.js +5 -0
  484. package/dist/components/tabs/TabsRoot.vue.d.ts +44 -0
  485. package/dist/components/tabs/TabsRoot.vue_vue_type_script_setup_true_lang.js +52 -0
  486. package/dist/components/tabs/TabsTab.js +5 -0
  487. package/dist/components/tabs/TabsTab.vue.d.ts +31 -0
  488. package/dist/components/tabs/TabsTab.vue_vue_type_script_setup_true_lang.js +33 -0
  489. package/dist/components/tabs/use-tabs.d.ts +107 -0
  490. package/dist/components/tabs/use-tabs.js +305 -0
  491. package/dist/components/textarea/Textarea.js +5 -0
  492. package/dist/components/textarea/Textarea.vue.d.ts +48 -0
  493. package/dist/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js +102 -0
  494. package/dist/components/timepicker/TimepickerClear.js +5 -0
  495. package/dist/components/timepicker/TimepickerClear.vue.d.ts +27 -0
  496. package/dist/components/timepicker/TimepickerClear.vue_vue_type_script_setup_true_lang.js +28 -0
  497. package/dist/components/timepicker/TimepickerColumn.js +5 -0
  498. package/dist/components/timepicker/TimepickerColumn.vue.d.ts +35 -0
  499. package/dist/components/timepicker/TimepickerColumn.vue_vue_type_script_setup_true_lang.js +44 -0
  500. package/dist/components/timepicker/TimepickerInput.js +5 -0
  501. package/dist/components/timepicker/TimepickerInput.vue.d.ts +20 -0
  502. package/dist/components/timepicker/TimepickerInput.vue_vue_type_script_setup_true_lang.js +32 -0
  503. package/dist/components/timepicker/TimepickerRoot.js +5 -0
  504. package/dist/components/timepicker/TimepickerRoot.vue.d.ts +82 -0
  505. package/dist/components/timepicker/TimepickerRoot.vue_vue_type_script_setup_true_lang.js +109 -0
  506. package/dist/components/timepicker/TimepickerSegment.js +5 -0
  507. package/dist/components/timepicker/TimepickerSegment.vue.d.ts +33 -0
  508. package/dist/components/timepicker/TimepickerSegment.vue_vue_type_script_setup_true_lang.js +37 -0
  509. package/dist/components/timepicker/TimepickerTrigger.js +5 -0
  510. package/dist/components/timepicker/TimepickerTrigger.vue.d.ts +27 -0
  511. package/dist/components/timepicker/TimepickerTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
  512. package/dist/components/timepicker/use-timepicker.d.ts +111 -0
  513. package/dist/components/timepicker/use-timepicker.js +545 -0
  514. package/dist/components/toast/ToastAction.js +5 -0
  515. package/dist/components/toast/ToastAction.vue.d.ts +20 -0
  516. package/dist/components/toast/ToastAction.vue_vue_type_script_setup_true_lang.js +27 -0
  517. package/dist/components/toast/ToastClose.js +5 -0
  518. package/dist/components/toast/ToastClose.vue.d.ts +20 -0
  519. package/dist/components/toast/ToastClose.vue_vue_type_script_setup_true_lang.js +27 -0
  520. package/dist/components/toast/ToastDescription.js +5 -0
  521. package/dist/components/toast/ToastDescription.vue.d.ts +20 -0
  522. package/dist/components/toast/ToastDescription.vue_vue_type_script_setup_true_lang.js +32 -0
  523. package/dist/components/toast/ToastProgress.js +5 -0
  524. package/dist/components/toast/ToastProgress.vue.d.ts +30 -0
  525. package/dist/components/toast/ToastProgress.vue_vue_type_script_setup_true_lang.js +32 -0
  526. package/dist/components/toast/ToastRoot.js +5 -0
  527. package/dist/components/toast/ToastRoot.vue.d.ts +21 -0
  528. package/dist/components/toast/ToastRoot.vue_vue_type_script_setup_true_lang.js +32 -0
  529. package/dist/components/toast/ToastTitle.js +5 -0
  530. package/dist/components/toast/ToastTitle.vue.d.ts +20 -0
  531. package/dist/components/toast/ToastTitle.vue_vue_type_script_setup_true_lang.js +32 -0
  532. package/dist/components/toast/ToastViewport.js +5 -0
  533. package/dist/components/toast/ToastViewport.vue.d.ts +47 -0
  534. package/dist/components/toast/ToastViewport.vue_vue_type_script_setup_true_lang.js +75 -0
  535. package/dist/components/toggle/Toggle.js +5 -0
  536. package/dist/components/toggle/Toggle.vue.d.ts +41 -0
  537. package/dist/components/toggle/Toggle.vue_vue_type_script_setup_true_lang.js +52 -0
  538. package/dist/components/toggle/ToggleGroup.js +5 -0
  539. package/dist/components/toggle/ToggleGroup.vue.d.ts +64 -0
  540. package/dist/components/toggle/ToggleGroup.vue_vue_type_script_setup_true_lang.js +86 -0
  541. package/dist/components/toggle/use-toggle.d.ts +122 -0
  542. package/dist/components/toggle/use-toggle.js +218 -0
  543. package/dist/components/tooltip/TooltipArrow.js +5 -0
  544. package/dist/components/tooltip/TooltipArrow.vue.d.ts +23 -0
  545. package/dist/components/tooltip/TooltipArrow.vue_vue_type_script_setup_true_lang.js +24 -0
  546. package/dist/components/tooltip/TooltipGroup.js +5 -0
  547. package/dist/components/tooltip/TooltipGroup.vue.d.ts +21 -0
  548. package/dist/components/tooltip/TooltipGroup.vue_vue_type_script_setup_true_lang.js +25 -0
  549. package/dist/components/tooltip/TooltipRoot.js +5 -0
  550. package/dist/components/tooltip/TooltipRoot.vue.d.ts +60 -0
  551. package/dist/components/tooltip/TooltipRoot.vue_vue_type_script_setup_true_lang.js +64 -0
  552. package/dist/components/tooltip/TooltipTrigger.js +5 -0
  553. package/dist/components/tooltip/TooltipTrigger.vue.d.ts +24 -0
  554. package/dist/components/tooltip/TooltipTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
  555. package/dist/components/tooltip/tooltip-group.d.ts +41 -0
  556. package/dist/components/tooltip/tooltip-group.js +51 -0
  557. package/dist/components/tooltip/use-tooltip.d.ts +60 -0
  558. package/dist/components/tooltip/use-tooltip.js +169 -0
  559. package/dist/composables/use-click-outside.d.ts +16 -0
  560. package/dist/composables/use-click-outside.js +34 -0
  561. package/dist/composables/use-clipboard.d.ts +17 -0
  562. package/dist/composables/use-clipboard.js +45 -0
  563. package/dist/composables/use-download.d.ts +7 -0
  564. package/dist/composables/use-download.js +27 -0
  565. package/dist/composables/use-local-storage.d.ts +11 -0
  566. package/dist/composables/use-local-storage.js +34 -0
  567. package/dist/composables/use-theme.d.ts +44 -0
  568. package/dist/composables/use-theme.js +95 -0
  569. package/dist/composables/use-toast.d.ts +127 -0
  570. package/dist/composables/use-toast.js +330 -0
  571. package/dist/composables/use-validate.d.ts +21 -0
  572. package/dist/composables/use-validate.js +31 -0
  573. package/dist/composables/use-virtual-list.d.ts +34 -0
  574. package/dist/composables/use-virtual-list.js +144 -0
  575. package/dist/data-table.d.ts +1 -0
  576. package/dist/data-table.js +3 -0
  577. package/dist/index.d.ts +234 -0
  578. package/dist/index.js +191 -0
  579. package/dist/shared/align-item-with-trigger.d.ts +84 -0
  580. package/dist/shared/align-item-with-trigger.js +109 -0
  581. package/dist/shared/animations.d.ts +6 -0
  582. package/dist/shared/animations.js +35 -0
  583. package/dist/shared/context.d.ts +7 -0
  584. package/dist/shared/context.js +25 -0
  585. package/dist/shared/data-attrs.d.ts +11 -0
  586. package/dist/shared/data-attrs.js +14 -0
  587. package/dist/shared/dismiss-stack.d.ts +14 -0
  588. package/dist/shared/dismiss-stack.js +52 -0
  589. package/dist/shared/dispatch-click-with-modifiers.d.ts +9 -0
  590. package/dist/shared/dispatch-click-with-modifiers.js +22 -0
  591. package/dist/shared/element-of.d.ts +7 -0
  592. package/dist/shared/element-of.js +14 -0
  593. package/dist/shared/focus.d.ts +6 -0
  594. package/dist/shared/focus.js +35 -0
  595. package/dist/shared/icons.d.ts +38 -0
  596. package/dist/shared/icons.js +86 -0
  597. package/dist/shared/input-filter.d.ts +40 -0
  598. package/dist/shared/input-filter.js +66 -0
  599. package/dist/shared/input-modality.d.ts +3 -0
  600. package/dist/shared/input-modality.js +26 -0
  601. package/dist/shared/labeling.d.ts +12 -0
  602. package/dist/shared/labeling.js +29 -0
  603. package/dist/shared/link.d.ts +12 -0
  604. package/dist/shared/link.js +19 -0
  605. package/dist/shared/merge-props.d.ts +18 -0
  606. package/dist/shared/merge-props.js +67 -0
  607. package/dist/shared/model-modifiers.d.ts +11 -0
  608. package/dist/shared/model-modifiers.js +9 -0
  609. package/dist/shared/part.d.ts +16 -0
  610. package/dist/shared/part.js +42 -0
  611. package/dist/shared/popup-state-attrs.d.ts +46 -0
  612. package/dist/shared/popup-state-attrs.js +23 -0
  613. package/dist/shared/recycle.d.ts +4 -0
  614. package/dist/shared/recycle.js +14 -0
  615. package/dist/shared/route-query.d.ts +23 -0
  616. package/dist/shared/route-query.js +20 -0
  617. package/dist/shared/surface.d.ts +27 -0
  618. package/dist/shared/surface.js +5 -0
  619. package/dist/shared/swipe-dismiss.d.ts +25 -0
  620. package/dist/shared/swipe-dismiss.js +37 -0
  621. package/dist/shared/toast-store.d.ts +98 -0
  622. package/dist/shared/toast-store.js +220 -0
  623. package/dist/shared/use-collapsible.d.ts +42 -0
  624. package/dist/shared/use-collapsible.js +104 -0
  625. package/dist/shared/use-controlled.d.ts +24 -0
  626. package/dist/shared/use-controlled.js +39 -0
  627. package/dist/shared/use-dialog.d.ts +58 -0
  628. package/dist/shared/use-dialog.js +175 -0
  629. package/dist/shared/use-dismiss.d.ts +17 -0
  630. package/dist/shared/use-dismiss.js +24 -0
  631. package/dist/shared/use-exit-animation.d.ts +12 -0
  632. package/dist/shared/use-exit-animation.js +15 -0
  633. package/dist/shared/use-field.d.ts +119 -0
  634. package/dist/shared/use-field.js +218 -0
  635. package/dist/shared/use-focus-trap.d.ts +19 -0
  636. package/dist/shared/use-focus-trap.js +62 -0
  637. package/dist/shared/use-gauge.d.ts +69 -0
  638. package/dist/shared/use-gauge.js +99 -0
  639. package/dist/shared/use-inert-background.d.ts +3 -0
  640. package/dist/shared/use-inert-background.js +37 -0
  641. package/dist/shared/use-input.d.ts +64 -0
  642. package/dist/shared/use-input.js +143 -0
  643. package/dist/shared/use-listbox.d.ts +276 -0
  644. package/dist/shared/use-listbox.js +1076 -0
  645. package/dist/shared/use-menu.d.ts +106 -0
  646. package/dist/shared/use-menu.js +329 -0
  647. package/dist/shared/use-menubar.d.ts +39 -0
  648. package/dist/shared/use-menubar.js +94 -0
  649. package/dist/shared/use-part-props.d.ts +8 -0
  650. package/dist/shared/use-part-props.js +15 -0
  651. package/dist/shared/use-positioning.d.ts +48 -0
  652. package/dist/shared/use-positioning.js +106 -0
  653. package/dist/shared/use-roving-focus.d.ts +43 -0
  654. package/dist/shared/use-roving-focus.js +106 -0
  655. package/dist/shared/use-roving-items.d.ts +47 -0
  656. package/dist/shared/use-roving-items.js +64 -0
  657. package/dist/shared/use-scroll-lock.d.ts +3 -0
  658. package/dist/shared/use-scroll-lock.js +71 -0
  659. package/dist/shared/use-toggle-indicator.d.ts +25 -0
  660. package/dist/shared/use-toggle-indicator.js +37 -0
  661. package/dist/shared/use-toggle-input.d.ts +68 -0
  662. package/dist/shared/use-toggle-input.js +106 -0
  663. package/dist/shared/use-transition-status.d.ts +27 -0
  664. package/dist/shared/use-transition-status.js +70 -0
  665. package/dist/shared/use-typeahead.d.ts +19 -0
  666. package/dist/shared/use-typeahead.js +45 -0
  667. package/dist/shared/visually-hidden.d.ts +6 -0
  668. package/dist/shared/visually-hidden.js +18 -0
  669. package/package.json +66 -4
@@ -0,0 +1,24 @@
1
+ type __VLS_Props = {
2
+ /** Element or component to render. */
3
+ as?: string | object;
4
+ };
5
+ declare var __VLS_8: {
6
+ open: boolean;
7
+ side: import("../..").Side;
8
+ align: import("../..").Align;
9
+ transitionStatus: import("../..").TransitionStatus;
10
+ };
11
+ type __VLS_Slots = {} & {
12
+ default?: (props: typeof __VLS_8) => any;
13
+ };
14
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
15
+ as: string | object;
16
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_WithSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
@@ -0,0 +1,24 @@
1
+ import { Part } from "../../shared/part.js";
2
+ import { usePartProps } from "../../shared/use-part-props.js";
3
+ import { useTooltipContext } from "./use-tooltip.js";
4
+ import { createBlock, defineComponent, guardReactiveProps, mergeProps, normalizeProps, openBlock, renderSlot, unref, withCtx } from "vue";
5
+ //#region src/components/tooltip/TooltipTrigger.vue?vue&type=script&setup=true&lang.ts
6
+ var TooltipTrigger_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
7
+ name: "TooltipTrigger",
8
+ inheritAttrs: false,
9
+ __name: "TooltipTrigger",
10
+ props: { as: { default: "button" } },
11
+ setup(__props) {
12
+ const props = __props;
13
+ const { triggerProps, state } = useTooltipContext();
14
+ const merged = usePartProps(triggerProps);
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createBlock(unref(Part), mergeProps({ as: props.as }, unref(merged)), {
17
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(state))))]),
18
+ _: 3
19
+ }, 16, ["as"]);
20
+ };
21
+ }
22
+ });
23
+ //#endregion
24
+ export { TooltipTrigger_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,41 @@
1
+ export interface TooltipGroupOptions {
2
+ /** How long the pointer must rest before the first tooltip opens. */
3
+ delay: number;
4
+ /** How long after the pointer leaves before a tooltip hides. */
5
+ closeDelay: number;
6
+ /**
7
+ * How long after the last tooltip closes that the group keeps skipping the
8
+ * open delay.
9
+ */
10
+ timeout: number;
11
+ }
12
+ export interface TooltipGroup {
13
+ options: () => TooltipGroupOptions;
14
+ /** Whether the next tooltip should skip its open delay. */
15
+ isInstant: () => boolean;
16
+ /** How many members are currently open. */
17
+ openCount: () => number;
18
+ /** Called when a member opens, with how to close it when a neighbor takes over. */
19
+ onOpen: (close: () => void) => void;
20
+ /** Called when a member closes. */
21
+ onClose: (close: () => void) => void;
22
+ }
23
+ export declare const DEFAULT_GROUP_OPTIONS: TooltipGroupOptions;
24
+ /**
25
+ * Shared timing for a set of tooltips.
26
+ *
27
+ * A lone tooltip should wait before appearing, or pointers merely crossing the
28
+ * screen would flash tooltips everywhere. But once one is showing, the user has
29
+ * clearly asked for them, and making each neighbor re-serve the full delay
30
+ * feels broken — so while any member is open, and briefly after the last one
31
+ * closes, the rest open instantly.
32
+ *
33
+ * That "briefly after" window is why this cannot live in a single tooltip: the
34
+ * state has to outlive the component that created it.
35
+ */
36
+ export declare function createTooltipGroup(getOptions: () => TooltipGroupOptions): TooltipGroup;
37
+ /**
38
+ * The group used by tooltips with no `TooltipGroup` above them. Shared across the app
39
+ * so that unrelated tooltips still cooperate, which is what users expect.
40
+ */
41
+ export declare const defaultTooltipGroup: TooltipGroup;
@@ -0,0 +1,51 @@
1
+ //#region src/components/tooltip/tooltip-group.ts
2
+ var DEFAULT_GROUP_OPTIONS = {
3
+ delay: 600,
4
+ closeDelay: 0,
5
+ timeout: 400
6
+ };
7
+ /**
8
+ * Shared timing for a set of tooltips.
9
+ *
10
+ * A lone tooltip should wait before appearing, or pointers merely crossing the
11
+ * screen would flash tooltips everywhere. But once one is showing, the user has
12
+ * clearly asked for them, and making each neighbor re-serve the full delay
13
+ * feels broken — so while any member is open, and briefly after the last one
14
+ * closes, the rest open instantly.
15
+ *
16
+ * That "briefly after" window is why this cannot live in a single tooltip: the
17
+ * state has to outlive the component that created it.
18
+ */
19
+ function createTooltipGroup(getOptions) {
20
+ const open = /* @__PURE__ */ new Set();
21
+ let instant = false;
22
+ let graceTimer;
23
+ return {
24
+ options: getOptions,
25
+ isInstant: () => instant,
26
+ openCount: () => open.size,
27
+ onOpen(close) {
28
+ open.add(close);
29
+ instant = true;
30
+ clearTimeout(graceTimer);
31
+ graceTimer = void 0;
32
+ for (const other of [...open]) if (other !== close) other();
33
+ },
34
+ onClose(close) {
35
+ open.delete(close);
36
+ if (open.size > 0) return;
37
+ clearTimeout(graceTimer);
38
+ graceTimer = setTimeout(() => {
39
+ instant = false;
40
+ graceTimer = void 0;
41
+ }, getOptions().timeout);
42
+ }
43
+ };
44
+ }
45
+ /**
46
+ * The group used by tooltips with no `TooltipGroup` above them. Shared across the app
47
+ * so that unrelated tooltips still cooperate, which is what users expect.
48
+ */
49
+ var defaultTooltipGroup = createTooltipGroup(() => DEFAULT_GROUP_OPTIONS);
50
+ //#endregion
51
+ export { DEFAULT_GROUP_OPTIONS, createTooltipGroup, defaultTooltipGroup };
@@ -0,0 +1,60 @@
1
+ import { type ComputedRef, type MaybeRefOrGetter, type Ref, type WritableComputedRef } from 'vue';
2
+ import { type TransitionStatus } from '../../shared/use-transition-status';
3
+ import { type Align, type Side, type UsePositioningOptions } from '../../shared/use-positioning';
4
+ import { type TooltipGroup } from './tooltip-group';
5
+ export declare const provideTooltipGroup: (value: TooltipGroup) => TooltipGroup, useTooltipGroupContext: () => TooltipGroup | null;
6
+ export interface UseTooltipGroupOptions {
7
+ /** How long the pointer must rest before the first tooltip opens. */
8
+ delay?: MaybeRefOrGetter<number | undefined>;
9
+ /** How long after the pointer leaves before a tooltip hides. */
10
+ closeDelay?: MaybeRefOrGetter<number | undefined>;
11
+ /** How long after the last tooltip closes that neighbors still open instantly. */
12
+ timeout?: MaybeRefOrGetter<number | undefined>;
13
+ }
14
+ export declare function useTooltipGroup(options?: UseTooltipGroupOptions): TooltipGroup;
15
+ export interface TooltipState {
16
+ /**
17
+ * Whether the tooltip is open.
18
+ * @attribute `data-open` while open, `data-closed` otherwise
19
+ */
20
+ open: boolean;
21
+ /**
22
+ * The side of the trigger the tooltip ended up on.
23
+ * @attribute `data-side="…"`
24
+ */
25
+ side: Side;
26
+ /**
27
+ * How the tooltip lines up along that side.
28
+ * @attribute `data-align="…"`
29
+ */
30
+ align: Align;
31
+ /**
32
+ * Where the tooltip is in its enter or exit animation.
33
+ * @attribute `data-enter-from` as it enters, `data-leave-to` as it leaves
34
+ */
35
+ transitionStatus: TransitionStatus;
36
+ }
37
+ export interface UseTooltipOptions extends UsePositioningOptions {
38
+ open?: MaybeRefOrGetter<boolean | undefined>;
39
+ defaultOpen?: MaybeRefOrGetter<boolean | undefined>;
40
+ /** Overrides the group's open delay, in milliseconds. */
41
+ delay?: MaybeRefOrGetter<number | undefined>;
42
+ /** Overrides the group's close delay, in milliseconds. */
43
+ closeDelay?: MaybeRefOrGetter<number | undefined>;
44
+ /** Allow the pointer to move into the tooltip without closing it. */
45
+ hoverable?: MaybeRefOrGetter<boolean | undefined>;
46
+ /** Never open. */
47
+ disabled?: MaybeRefOrGetter<boolean | undefined>;
48
+ onChange?: (open: boolean) => void;
49
+ }
50
+ export interface UseTooltipReturn {
51
+ open: WritableComputedRef<boolean>;
52
+ state: ComputedRef<TooltipState>;
53
+ present: Ref<boolean>;
54
+ triggerProps: ComputedRef<Record<string, unknown>>;
55
+ positionerProps: ComputedRef<Record<string, unknown>>;
56
+ popupProps: ComputedRef<Record<string, unknown>>;
57
+ arrowProps: ComputedRef<Record<string, unknown>>;
58
+ }
59
+ export declare function useTooltip(options?: UseTooltipOptions): UseTooltipReturn;
60
+ export declare const provideTooltipContext: (value: UseTooltipReturn) => UseTooltipReturn, useTooltipContext: () => UseTooltipReturn;
@@ -0,0 +1,169 @@
1
+ import { dataAttrs } from "../../shared/data-attrs.js";
2
+ import { useControlled } from "../../shared/use-controlled.js";
3
+ import { createContext } from "../../shared/context.js";
4
+ import { anchoredStateAttrs } from "../../shared/popup-state-attrs.js";
5
+ import { useTransitionStatus } from "../../shared/use-transition-status.js";
6
+ import { useExitAnimation } from "../../shared/use-exit-animation.js";
7
+ import { provideSurface } from "../../shared/surface.js";
8
+ import { usePositioning } from "../../shared/use-positioning.js";
9
+ import { useDismiss } from "../../shared/use-dismiss.js";
10
+ import { elementOf } from "../../shared/element-of.js";
11
+ import { isKeyboardFocus } from "../../shared/input-modality.js";
12
+ import { DEFAULT_GROUP_OPTIONS, createTooltipGroup, defaultTooltipGroup } from "./tooltip-group.js";
13
+ import { computed, onScopeDispose, ref, toValue, useId, watch } from "vue";
14
+ //#region src/components/tooltip/use-tooltip.ts
15
+ var { provideContext: provideTooltipGroup, useOptionalContext: useTooltipGroupContext } = createContext("TooltipGroup");
16
+ function useTooltipGroup(options = {}) {
17
+ const group = createTooltipGroup(() => ({
18
+ delay: toValue(options.delay) ?? DEFAULT_GROUP_OPTIONS.delay,
19
+ closeDelay: toValue(options.closeDelay) ?? DEFAULT_GROUP_OPTIONS.closeDelay,
20
+ timeout: toValue(options.timeout) ?? DEFAULT_GROUP_OPTIONS.timeout
21
+ }));
22
+ provideTooltipGroup(group);
23
+ return group;
24
+ }
25
+ var HOVER_GRACE = 100;
26
+ function useTooltip(options = {}) {
27
+ const tooltipId = useId();
28
+ const group = useTooltipGroupContext() ?? defaultTooltipGroup;
29
+ const disabled = () => toValue(options.disabled) ?? false;
30
+ const hoverable = () => toValue(options.hoverable) ?? true;
31
+ const openDelay = () => toValue(options.delay) ?? group.options().delay;
32
+ const closeDelay = () => toValue(options.closeDelay) ?? group.options().closeDelay;
33
+ const open = useControlled({
34
+ value: () => toValue(options.open),
35
+ defaultValue: () => toValue(options.defaultOpen) ?? false,
36
+ onChange: options.onChange,
37
+ prop: "open",
38
+ empty: false,
39
+ name: "useTooltip",
40
+ label: "open"
41
+ });
42
+ const { mounted, transitionStatus, setMounted } = useTransitionStatus(() => open.value, {
43
+ skipEnter: () => group.isInstant(),
44
+ skipExit: () => group.openCount() > 1
45
+ });
46
+ const positioning = usePositioning({
47
+ ...options,
48
+ side: () => toValue(options.side) ?? "top",
49
+ align: () => toValue(options.align) ?? "center",
50
+ sideOffset: () => toValue(options.sideOffset) ?? 8,
51
+ enabled: () => mounted.value
52
+ });
53
+ const triggerEl = positioning.anchorRef;
54
+ const surfaceEl = ref(null);
55
+ let timer;
56
+ const cancel = () => {
57
+ clearTimeout(timer);
58
+ timer = void 0;
59
+ };
60
+ function show(immediate = false) {
61
+ if (disabled()) return;
62
+ cancel();
63
+ if (open.value) return;
64
+ const wait = immediate || group.isInstant() ? 0 : openDelay();
65
+ if (wait <= 0) {
66
+ open.value = true;
67
+ return;
68
+ }
69
+ timer = setTimeout(() => {
70
+ open.value = true;
71
+ }, wait);
72
+ }
73
+ function hide(immediate = false) {
74
+ cancel();
75
+ if (!open.value) return;
76
+ const wait = immediate ? 0 : hoverable() ? Math.max(closeDelay(), HOVER_GRACE) : closeDelay();
77
+ if (wait <= 0) {
78
+ open.value = false;
79
+ return;
80
+ }
81
+ timer = setTimeout(() => {
82
+ open.value = false;
83
+ }, wait);
84
+ }
85
+ const closeNow = () => hide(true);
86
+ watch(open, (isOpen) => isOpen ? group.onOpen(closeNow) : group.onClose(closeNow), { flush: "post" });
87
+ onScopeDispose(() => {
88
+ cancel();
89
+ if (open.value) group.onClose(closeNow);
90
+ });
91
+ const state = computed(() => ({
92
+ open: open.value,
93
+ side: positioning.renderedSide.value,
94
+ align: positioning.renderedAlign.value,
95
+ transitionStatus: transitionStatus.value
96
+ }));
97
+ const hooks = computed(() => dataAttrs(state.value, { ...anchoredStateAttrs }));
98
+ useDismiss({
99
+ enabled: () => mounted.value,
100
+ elements: () => [surfaceEl.value, triggerEl.value],
101
+ escapeKey: true,
102
+ outsidePress: false,
103
+ onDismiss: () => hide(true)
104
+ });
105
+ useExitAnimation({
106
+ open: () => open.value,
107
+ mounted,
108
+ setMounted,
109
+ element: surfaceEl
110
+ });
111
+ const triggerProps = computed(() => ({
112
+ ...hooks.value,
113
+ "data-part": "trigger",
114
+ "aria-describedby": mounted.value ? tooltipId : void 0,
115
+ ref: (el) => {
116
+ triggerEl.value = elementOf(el);
117
+ },
118
+ onPointerenter(event) {
119
+ if (event.pointerType === "touch") return;
120
+ show();
121
+ },
122
+ onPointerleave(event) {
123
+ if (event.pointerType === "touch") return;
124
+ hide();
125
+ },
126
+ onPointerdown() {
127
+ hide(true);
128
+ },
129
+ onFocus() {
130
+ if (isKeyboardFocus()) show(true);
131
+ },
132
+ onBlur() {
133
+ hide(true);
134
+ }
135
+ }));
136
+ const popupProps = computed(() => ({
137
+ ...hooks.value,
138
+ id: tooltipId,
139
+ role: "tooltip",
140
+ ref: (el) => {
141
+ surfaceEl.value = el ?? null;
142
+ },
143
+ onPointerenter() {
144
+ if (hoverable()) cancel();
145
+ },
146
+ onPointerleave() {
147
+ if (hoverable()) hide();
148
+ }
149
+ }));
150
+ provideSurface({
151
+ present: mounted,
152
+ state,
153
+ popupProps,
154
+ positionerProps: positioning.positionerProps,
155
+ arrowProps: positioning.arrowProps
156
+ });
157
+ return {
158
+ open,
159
+ state,
160
+ present: mounted,
161
+ triggerProps,
162
+ positionerProps: positioning.positionerProps,
163
+ popupProps,
164
+ arrowProps: positioning.arrowProps
165
+ };
166
+ }
167
+ var { provideContext: provideTooltipContext, useContext: useTooltipContext } = createContext("Tooltip");
168
+ //#endregion
169
+ export { provideTooltipContext, provideTooltipGroup, useTooltip, useTooltipContext, useTooltipGroup, useTooltipGroupContext };
@@ -0,0 +1,16 @@
1
+ import { type MaybeRefOrGetter } from 'vue';
2
+ /** An element, a component, or a list of either: a template ref, a getter or the value itself. */
3
+ export type ClickOutsideTarget = MaybeRefOrGetter<unknown>;
4
+ export interface UseClickOutsideOptions {
5
+ /** More that counts as inside: the button that toggles the target, say. */
6
+ ignore?: ClickOutsideTarget[];
7
+ /** @default true */
8
+ enabled?: MaybeRefOrGetter<boolean | undefined>;
9
+ }
10
+ /**
11
+ * Calls `handler` on a press outside `target`. A press inside an open overlay
12
+ * (a menu, a select's list) counts as inside, wherever it is portaled to, and
13
+ * nothing fires while `target` isn't on the page. Returns a function that stops
14
+ * listening; it also stops with the component.
15
+ */
16
+ export declare function useClickOutside(target: ClickOutsideTarget, handler: (event: PointerEvent) => void, options?: UseClickOutsideOptions): () => void;
@@ -0,0 +1,34 @@
1
+ import { isInsideDismissLayer } from "../shared/dismiss-stack.js";
2
+ import { elementOf } from "../shared/element-of.js";
3
+ import { getCurrentScope, onScopeDispose, toValue } from "vue";
4
+ //#region src/composables/use-click-outside.ts
5
+ function elementsOf(targets) {
6
+ return targets.flatMap((target) => {
7
+ const value = toValue(target);
8
+ return Array.isArray(value) ? value.map((item) => toValue(item)) : [value];
9
+ }).map(elementOf).filter((element) => element !== null);
10
+ }
11
+ /**
12
+ * Calls `handler` on a press outside `target`. A press inside an open overlay
13
+ * (a menu, a select's list) counts as inside, wherever it is portaled to, and
14
+ * nothing fires while `target` isn't on the page. Returns a function that stops
15
+ * listening; it also stops with the component.
16
+ */
17
+ function useClickOutside(target, handler, options = {}) {
18
+ if (typeof document === "undefined") return () => {};
19
+ function onPointerDown(event) {
20
+ if (!(toValue(options.enabled) ?? true)) return;
21
+ const inside = elementsOf([target]);
22
+ if (inside.length === 0) return;
23
+ const path = event.composedPath();
24
+ if ([...inside, ...elementsOf(options.ignore ?? [])].some((element) => path.includes(element))) return;
25
+ if (isInsideDismissLayer(path)) return;
26
+ handler(event);
27
+ }
28
+ document.addEventListener("pointerdown", onPointerDown, true);
29
+ const stop = () => document.removeEventListener("pointerdown", onPointerDown, true);
30
+ if (getCurrentScope()) onScopeDispose(stop);
31
+ return stop;
32
+ }
33
+ //#endregion
34
+ export { useClickOutside };
@@ -0,0 +1,17 @@
1
+ import { type ComputedRef, type MaybeRefOrGetter, type Ref } from 'vue';
2
+ export type ClipboardStatus = 'idle' | 'copied' | 'error';
3
+ export type ClipboardId = string | number;
4
+ export interface UseClipboardOptions {
5
+ /** How long `copied` (or `error`) stays up before settling back. @default 1500 */
6
+ timeout?: MaybeRefOrGetter<number | undefined>;
7
+ }
8
+ export interface UseClipboardReturn {
9
+ copy: (text: string, id?: ClipboardId) => Promise<boolean>;
10
+ status: Readonly<Ref<ClipboardStatus>>;
11
+ copied: ComputedRef<boolean>;
12
+ /** The id passed with the last successful copy, so one instance can serve a list. */
13
+ copiedId: Readonly<Ref<ClipboardId | null>>;
14
+ error: Readonly<Ref<unknown>>;
15
+ reset: () => void;
16
+ }
17
+ export declare function useClipboard(options?: UseClipboardOptions): UseClipboardReturn;
@@ -0,0 +1,45 @@
1
+ import { computed, onScopeDispose, readonly, ref, toValue } from "vue";
2
+ //#region src/composables/use-clipboard.ts
3
+ function useClipboard(options = {}) {
4
+ const status = ref("idle");
5
+ const copiedId = ref(null);
6
+ const error = ref(null);
7
+ let timer;
8
+ function reset() {
9
+ clearTimeout(timer);
10
+ status.value = "idle";
11
+ copiedId.value = null;
12
+ error.value = null;
13
+ }
14
+ function settle(next) {
15
+ clearTimeout(timer);
16
+ status.value = next;
17
+ timer = setTimeout(reset, toValue(options.timeout) ?? 1500);
18
+ }
19
+ async function copy(text, id) {
20
+ if (!text) return false;
21
+ try {
22
+ await navigator.clipboard.writeText(text);
23
+ copiedId.value = id ?? null;
24
+ error.value = null;
25
+ settle("copied");
26
+ return true;
27
+ } catch (reason) {
28
+ copiedId.value = null;
29
+ error.value = reason;
30
+ settle("error");
31
+ return false;
32
+ }
33
+ }
34
+ onScopeDispose(() => clearTimeout(timer));
35
+ return {
36
+ copy,
37
+ status: readonly(status),
38
+ copied: computed(() => status.value === "copied"),
39
+ copiedId: readonly(copiedId),
40
+ error: readonly(error),
41
+ reset
42
+ };
43
+ }
44
+ //#endregion
45
+ export { useClipboard };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Saves `content` as a file: a `Blob` as it is, anything else as JSON. A CSV
3
+ * gets `.csv` when `filename` has no such ending.
4
+ */
5
+ export declare function useDownload(content: unknown, filename: string): void;
6
+ /** Saves rows as a CSV file, its columns the first row's keys. Nothing for no rows. */
7
+ export declare function useExportCsv<T extends object>(data: T[], filename: string): void;
@@ -0,0 +1,27 @@
1
+ import { formatCsv } from "@vunset/utils";
2
+ //#region src/composables/use-download.ts
3
+ /**
4
+ * Saves `content` as a file: a `Blob` as it is, anything else as JSON. A CSV
5
+ * gets `.csv` when `filename` has no such ending.
6
+ */
7
+ function useDownload(content, filename) {
8
+ const blob = content instanceof Blob ? content : new Blob([JSON.stringify(content, null, 2)], { type: "application/json;charset=utf-8" });
9
+ const extension = blob.type.startsWith("text/csv") && !/\.csv$/i.test(filename) ? ".csv" : "";
10
+ const url = URL.createObjectURL(blob);
11
+ const link = document.createElement("a");
12
+ link.href = url;
13
+ link.download = filename + extension;
14
+ document.body.appendChild(link);
15
+ link.click();
16
+ link.remove();
17
+ URL.revokeObjectURL(url);
18
+ }
19
+ /** Saves rows as a CSV file, its columns the first row's keys. Nothing for no rows. */
20
+ function useExportCsv(data, filename) {
21
+ if (data.length === 0) return;
22
+ const headers = Object.keys(data[0]);
23
+ const rows = data.map((row) => headers.map((key) => row[key]));
24
+ useDownload(formatCsv(headers, rows), filename);
25
+ }
26
+ //#endregion
27
+ export { useDownload, useExportCsv };
@@ -0,0 +1,11 @@
1
+ export interface UseLocalStorageReturn {
2
+ /** The value stored under `key`, parsed; `undefined` when there is none, or it doesn't parse. */
3
+ getItem: <T>(key: string) => T | undefined;
4
+ /** Stores `data` as JSON. Nothing to store (`null`, `undefined`, an empty list) removes the key. */
5
+ setItem: (key: string, data: unknown) => void;
6
+ removeItem: (key: string) => void;
7
+ }
8
+ /** @internal Also `useTheme`'s. */
9
+ export declare function storage(): Storage | undefined;
10
+ /** JSON in `localStorage`, safe to call where there is none. */
11
+ export declare function useLocalStorage(): UseLocalStorageReturn;
@@ -0,0 +1,34 @@
1
+ //#region src/composables/use-local-storage.ts
2
+ /** @internal Also `useTheme`'s. */
3
+ function storage() {
4
+ try {
5
+ return typeof localStorage === "undefined" ? void 0 : localStorage;
6
+ } catch {
7
+ return;
8
+ }
9
+ }
10
+ /** JSON in `localStorage`, safe to call where there is none. */
11
+ function useLocalStorage() {
12
+ return {
13
+ getItem(key) {
14
+ const store = storage();
15
+ const raw = store?.getItem(key);
16
+ if (!raw) return void 0;
17
+ try {
18
+ return JSON.parse(raw);
19
+ } catch {
20
+ store?.removeItem(key);
21
+ return;
22
+ }
23
+ },
24
+ setItem(key, data) {
25
+ if (data === null || data === void 0 || Array.isArray(data) && data.length === 0) storage()?.removeItem(key);
26
+ else storage()?.setItem(key, JSON.stringify(data));
27
+ },
28
+ removeItem(key) {
29
+ storage()?.removeItem(key);
30
+ }
31
+ };
32
+ }
33
+ //#endregion
34
+ export { storage, useLocalStorage };
@@ -0,0 +1,44 @@
1
+ import { type ComputedRef, type WritableComputedRef } from 'vue';
2
+ /** What the user chose: a scheme, or whatever the system prefers. */
3
+ export type ThemeMode = 'light' | 'dark' | 'system';
4
+ /** Where the choice is kept: `localStorage` by default, or anything else, an app's settings object included. */
5
+ export interface ThemeStorage {
6
+ /** The stored choice; anything but a `ThemeMode` counts as none. */
7
+ get: () => unknown;
8
+ set: (theme: ThemeMode) => void;
9
+ }
10
+ export interface UseThemeOptions {
11
+ /** Where the choice is remembered, in `localStorage`. `null` keeps it for the page's life only. @default 'theme' */
12
+ storageKey?: string | null;
13
+ /** Keeps the choice somewhere else than `localStorage`; `storageKey` is then unused. */
14
+ storage?: ThemeStorage;
15
+ /** The choice before anything is stored. @default 'system' */
16
+ defaultTheme?: ThemeMode;
17
+ /** The browser's UI color for each scheme, written to `<meta name="theme-color">`. */
18
+ themeColor?: {
19
+ light: string;
20
+ dark: string;
21
+ };
22
+ /** Cross-fades the page on a change, where the browser has view transitions and motion isn't reduced. */
23
+ viewTransition?: boolean;
24
+ }
25
+ export interface UseThemeReturn {
26
+ /** The choice, settable: `light`, `dark` or `system`. */
27
+ theme: WritableComputedRef<ThemeMode>;
28
+ /** What is showing: `system` resolved to `light` or `dark`. */
29
+ resolved: ComputedRef<'light' | 'dark'>;
30
+ setTheme: (theme: ThemeMode) => void;
31
+ /** Light to dark and back, from what is showing; leaves `system`. */
32
+ toggle: () => void;
33
+ }
34
+ /**
35
+ * The page's color scheme: light, dark, or the system's, applied to `<html>` and
36
+ * remembered. Every call shares one choice; the first call's options set it up.
37
+ */
38
+ export declare function useTheme(options?: UseThemeOptions): UseThemeReturn;
39
+ /**
40
+ * For a test, or an app that tears its page down: forgets the choice and the
41
+ * listeners, so the next `useTheme` starts over.
42
+ * @internal
43
+ */
44
+ export declare function resetTheme(): void;