reka-ui 2.1.1 → 2.2.1

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 (1290) hide show
  1. package/README.md +1 -1
  2. package/dist/Accordion/AccordionContent.cjs +2 -1
  3. package/dist/Accordion/AccordionContent.cjs.map +1 -1
  4. package/dist/Accordion/AccordionContent.js +3 -2
  5. package/dist/Accordion/AccordionContent.js.map +1 -1
  6. package/dist/Accordion/AccordionHeader.cjs.map +1 -1
  7. package/dist/Accordion/AccordionHeader.js +1 -1
  8. package/dist/Accordion/AccordionHeader.js.map +1 -1
  9. package/dist/Accordion/AccordionItem.cjs +2 -2
  10. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  11. package/dist/Accordion/AccordionItem.js +3 -3
  12. package/dist/Accordion/AccordionItem.js.map +1 -1
  13. package/dist/Accordion/AccordionRoot.cjs +1 -1
  14. package/dist/Accordion/AccordionRoot.cjs.map +1 -1
  15. package/dist/Accordion/AccordionRoot.js +2 -2
  16. package/dist/Accordion/AccordionRoot.js.map +1 -1
  17. package/dist/Accordion/AccordionTrigger.cjs +2 -2
  18. package/dist/Accordion/AccordionTrigger.cjs.map +1 -1
  19. package/dist/Accordion/AccordionTrigger.js +3 -3
  20. package/dist/Accordion/AccordionTrigger.js.map +1 -1
  21. package/dist/AlertDialog/AlertDialogAction.js +1 -1
  22. package/dist/AlertDialog/AlertDialogCancel.cjs.map +1 -1
  23. package/dist/AlertDialog/AlertDialogCancel.js +1 -1
  24. package/dist/AlertDialog/AlertDialogCancel.js.map +1 -1
  25. package/dist/AlertDialog/AlertDialogContent.cjs +1 -1
  26. package/dist/AlertDialog/AlertDialogContent.cjs.map +1 -1
  27. package/dist/AlertDialog/AlertDialogContent.js +2 -2
  28. package/dist/AlertDialog/AlertDialogContent.js.map +1 -1
  29. package/dist/AlertDialog/AlertDialogDescription.js +1 -1
  30. package/dist/AlertDialog/AlertDialogOverlay.js +1 -1
  31. package/dist/AlertDialog/AlertDialogPortal.js +1 -1
  32. package/dist/AlertDialog/AlertDialogRoot.js +1 -1
  33. package/dist/AlertDialog/AlertDialogTitle.js +1 -1
  34. package/dist/AlertDialog/AlertDialogTrigger.js +1 -1
  35. package/dist/AspectRatio/AspectRatio.cjs.map +1 -1
  36. package/dist/AspectRatio/AspectRatio.js +1 -1
  37. package/dist/AspectRatio/AspectRatio.js.map +1 -1
  38. package/dist/Avatar/AvatarFallback.cjs.map +1 -1
  39. package/dist/Avatar/AvatarFallback.js +1 -1
  40. package/dist/Avatar/AvatarFallback.js.map +1 -1
  41. package/dist/Avatar/AvatarImage.cjs.map +1 -1
  42. package/dist/Avatar/AvatarImage.js +1 -1
  43. package/dist/Avatar/AvatarImage.js.map +1 -1
  44. package/dist/Avatar/AvatarRoot.cjs +1 -1
  45. package/dist/Avatar/AvatarRoot.cjs.map +1 -1
  46. package/dist/Avatar/AvatarRoot.js +2 -2
  47. package/dist/Avatar/AvatarRoot.js.map +1 -1
  48. package/dist/Avatar/utils.cjs.map +1 -1
  49. package/dist/Avatar/utils.js.map +1 -1
  50. package/dist/Calendar/CalendarCell.cjs +3 -3
  51. package/dist/Calendar/CalendarCell.js +4 -4
  52. package/dist/Calendar/CalendarCellTrigger.cjs +74 -50
  53. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  54. package/dist/Calendar/CalendarCellTrigger.js +75 -51
  55. package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
  56. package/dist/Calendar/CalendarGrid.cjs +2 -2
  57. package/dist/Calendar/CalendarGrid.cjs.map +1 -1
  58. package/dist/Calendar/CalendarGrid.js +3 -3
  59. package/dist/Calendar/CalendarGrid.js.map +1 -1
  60. package/dist/Calendar/CalendarGridBody.js +1 -1
  61. package/dist/Calendar/CalendarGridHead.js +1 -1
  62. package/dist/Calendar/CalendarGridRow.js +1 -1
  63. package/dist/Calendar/CalendarHeadCell.js +1 -1
  64. package/dist/Calendar/CalendarHeader.js +1 -1
  65. package/dist/Calendar/CalendarHeading.cjs +2 -2
  66. package/dist/Calendar/CalendarHeading.js +3 -3
  67. package/dist/Calendar/CalendarNext.cjs +3 -3
  68. package/dist/Calendar/CalendarNext.cjs.map +1 -1
  69. package/dist/Calendar/CalendarNext.js +4 -4
  70. package/dist/Calendar/CalendarNext.js.map +1 -1
  71. package/dist/Calendar/CalendarPrev.cjs +3 -3
  72. package/dist/Calendar/CalendarPrev.cjs.map +1 -1
  73. package/dist/Calendar/CalendarPrev.js +4 -4
  74. package/dist/Calendar/CalendarPrev.js.map +1 -1
  75. package/dist/Calendar/CalendarRoot.cjs +14 -12
  76. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  77. package/dist/Calendar/CalendarRoot.js +15 -13
  78. package/dist/Calendar/CalendarRoot.js.map +1 -1
  79. package/dist/Calendar/useCalendar.cjs +2 -2
  80. package/dist/Calendar/useCalendar.cjs.map +1 -1
  81. package/dist/Calendar/useCalendar.js +2 -2
  82. package/dist/Calendar/useCalendar.js.map +1 -1
  83. package/dist/Calendar/utils.cjs +9 -0
  84. package/dist/Calendar/utils.cjs.map +1 -0
  85. package/dist/Calendar/utils.js +7 -0
  86. package/dist/Calendar/utils.js.map +1 -0
  87. package/dist/Checkbox/CheckboxGroupRoot.cjs +3 -3
  88. package/dist/Checkbox/CheckboxGroupRoot.cjs.map +1 -1
  89. package/dist/Checkbox/CheckboxGroupRoot.js +4 -4
  90. package/dist/Checkbox/CheckboxGroupRoot.js.map +1 -1
  91. package/dist/Checkbox/CheckboxIndicator.cjs +1 -1
  92. package/dist/Checkbox/CheckboxIndicator.cjs.map +1 -1
  93. package/dist/Checkbox/CheckboxIndicator.js +2 -2
  94. package/dist/Checkbox/CheckboxIndicator.js.map +1 -1
  95. package/dist/Checkbox/CheckboxRoot.cjs +9 -9
  96. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  97. package/dist/Checkbox/CheckboxRoot.js +10 -10
  98. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  99. package/dist/Collapsible/CollapsibleContent.cjs +5 -5
  100. package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
  101. package/dist/Collapsible/CollapsibleContent.js +6 -6
  102. package/dist/Collapsible/CollapsibleContent.js.map +1 -1
  103. package/dist/Collapsible/CollapsibleRoot.cjs +4 -4
  104. package/dist/Collapsible/CollapsibleRoot.cjs.map +1 -1
  105. package/dist/Collapsible/CollapsibleRoot.js +5 -5
  106. package/dist/Collapsible/CollapsibleRoot.js.map +1 -1
  107. package/dist/Collapsible/CollapsibleTrigger.cjs +3 -3
  108. package/dist/Collapsible/CollapsibleTrigger.js +4 -4
  109. package/dist/Collection/Collection.cjs.map +1 -1
  110. package/dist/Collection/Collection.js.map +1 -1
  111. package/dist/Combobox/ComboboxAnchor.cjs.map +1 -1
  112. package/dist/Combobox/ComboboxAnchor.js +1 -1
  113. package/dist/Combobox/ComboboxAnchor.js.map +1 -1
  114. package/dist/Combobox/ComboboxArrow.cjs.map +1 -1
  115. package/dist/Combobox/ComboboxArrow.js +1 -1
  116. package/dist/Combobox/ComboboxArrow.js.map +1 -1
  117. package/dist/Combobox/ComboboxCancel.cjs +2 -1
  118. package/dist/Combobox/ComboboxCancel.cjs.map +1 -1
  119. package/dist/Combobox/ComboboxCancel.js +3 -2
  120. package/dist/Combobox/ComboboxCancel.js.map +1 -1
  121. package/dist/Combobox/ComboboxContent.cjs +1 -1
  122. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  123. package/dist/Combobox/ComboboxContent.js +2 -2
  124. package/dist/Combobox/ComboboxContent.js.map +1 -1
  125. package/dist/Combobox/ComboboxContentImpl.cjs +2 -2
  126. package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
  127. package/dist/Combobox/ComboboxContentImpl.js +3 -3
  128. package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
  129. package/dist/Combobox/ComboboxEmpty.cjs.map +1 -1
  130. package/dist/Combobox/ComboboxEmpty.js +1 -1
  131. package/dist/Combobox/ComboboxEmpty.js.map +1 -1
  132. package/dist/Combobox/ComboboxGroup.cjs +3 -3
  133. package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
  134. package/dist/Combobox/ComboboxGroup.js +4 -4
  135. package/dist/Combobox/ComboboxGroup.js.map +1 -1
  136. package/dist/Combobox/ComboboxInput.cjs +10 -2
  137. package/dist/Combobox/ComboboxInput.cjs.map +1 -1
  138. package/dist/Combobox/ComboboxInput.js +11 -3
  139. package/dist/Combobox/ComboboxInput.js.map +1 -1
  140. package/dist/Combobox/ComboboxItem.cjs +6 -5
  141. package/dist/Combobox/ComboboxItem.cjs.map +1 -1
  142. package/dist/Combobox/ComboboxItem.js +7 -6
  143. package/dist/Combobox/ComboboxItem.js.map +1 -1
  144. package/dist/Combobox/ComboboxItemIndicator.js +1 -1
  145. package/dist/Combobox/ComboboxLabel.cjs +2 -2
  146. package/dist/Combobox/ComboboxLabel.cjs.map +1 -1
  147. package/dist/Combobox/ComboboxLabel.js +3 -3
  148. package/dist/Combobox/ComboboxLabel.js.map +1 -1
  149. package/dist/Combobox/ComboboxPortal.js +1 -1
  150. package/dist/Combobox/ComboboxRoot.cjs +7 -7
  151. package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
  152. package/dist/Combobox/ComboboxRoot.js +8 -8
  153. package/dist/Combobox/ComboboxRoot.js.map +1 -1
  154. package/dist/Combobox/ComboboxSeparator.js +1 -1
  155. package/dist/Combobox/ComboboxTrigger.cjs +3 -3
  156. package/dist/Combobox/ComboboxTrigger.js +4 -4
  157. package/dist/Combobox/ComboboxViewport.cjs +1 -1
  158. package/dist/Combobox/ComboboxViewport.js +2 -2
  159. package/dist/Combobox/ComboboxVirtualizer.cjs.map +1 -1
  160. package/dist/Combobox/ComboboxVirtualizer.js +1 -1
  161. package/dist/Combobox/ComboboxVirtualizer.js.map +1 -1
  162. package/dist/ConfigProvider/ConfigProvider.cjs +2 -2
  163. package/dist/ConfigProvider/ConfigProvider.js +2 -2
  164. package/dist/ContextMenu/ContextMenuArrow.js +1 -1
  165. package/dist/ContextMenu/ContextMenuCheckboxItem.js +1 -1
  166. package/dist/ContextMenu/ContextMenuContent.cjs.map +1 -1
  167. package/dist/ContextMenu/ContextMenuContent.js +1 -1
  168. package/dist/ContextMenu/ContextMenuContent.js.map +1 -1
  169. package/dist/ContextMenu/ContextMenuGroup.js +1 -1
  170. package/dist/ContextMenu/ContextMenuItem.js +1 -1
  171. package/dist/ContextMenu/ContextMenuItemIndicator.js +1 -1
  172. package/dist/ContextMenu/ContextMenuLabel.js +1 -1
  173. package/dist/ContextMenu/ContextMenuPortal.cjs.map +1 -1
  174. package/dist/ContextMenu/ContextMenuPortal.js +1 -1
  175. package/dist/ContextMenu/ContextMenuPortal.js.map +1 -1
  176. package/dist/ContextMenu/ContextMenuRadioGroup.js +1 -1
  177. package/dist/ContextMenu/ContextMenuRadioItem.js +1 -1
  178. package/dist/ContextMenu/ContextMenuRoot.cjs +1 -1
  179. package/dist/ContextMenu/ContextMenuRoot.cjs.map +1 -1
  180. package/dist/ContextMenu/ContextMenuRoot.js +2 -2
  181. package/dist/ContextMenu/ContextMenuRoot.js.map +1 -1
  182. package/dist/ContextMenu/ContextMenuSeparator.js +1 -1
  183. package/dist/ContextMenu/ContextMenuSub.cjs +3 -3
  184. package/dist/ContextMenu/ContextMenuSub.cjs.map +1 -1
  185. package/dist/ContextMenu/ContextMenuSub.js +4 -4
  186. package/dist/ContextMenu/ContextMenuSub.js.map +1 -1
  187. package/dist/ContextMenu/ContextMenuSubContent.js +1 -1
  188. package/dist/ContextMenu/ContextMenuSubTrigger.js +1 -1
  189. package/dist/ContextMenu/ContextMenuTrigger.cjs +3 -3
  190. package/dist/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
  191. package/dist/ContextMenu/ContextMenuTrigger.js +4 -4
  192. package/dist/ContextMenu/ContextMenuTrigger.js.map +1 -1
  193. package/dist/DateField/DateFieldInput.cjs +5 -5
  194. package/dist/DateField/DateFieldInput.cjs.map +1 -1
  195. package/dist/DateField/DateFieldInput.js +6 -6
  196. package/dist/DateField/DateFieldInput.js.map +1 -1
  197. package/dist/DateField/DateFieldRoot.cjs +10 -10
  198. package/dist/DateField/DateFieldRoot.cjs.map +1 -1
  199. package/dist/DateField/DateFieldRoot.js +11 -11
  200. package/dist/DateField/DateFieldRoot.js.map +1 -1
  201. package/dist/DatePicker/DatePickerArrow.cjs.map +1 -1
  202. package/dist/DatePicker/DatePickerArrow.js +1 -1
  203. package/dist/DatePicker/DatePickerArrow.js.map +1 -1
  204. package/dist/DatePicker/DatePickerCalendar.cjs.map +1 -1
  205. package/dist/DatePicker/DatePickerCalendar.js +1 -1
  206. package/dist/DatePicker/DatePickerCalendar.js.map +1 -1
  207. package/dist/DatePicker/DatePickerCell.cjs.map +1 -1
  208. package/dist/DatePicker/DatePickerCell.js +1 -1
  209. package/dist/DatePicker/DatePickerCell.js.map +1 -1
  210. package/dist/DatePicker/DatePickerCellTrigger.cjs.map +1 -1
  211. package/dist/DatePicker/DatePickerCellTrigger.js +1 -1
  212. package/dist/DatePicker/DatePickerCellTrigger.js.map +1 -1
  213. package/dist/DatePicker/DatePickerClose.cjs.map +1 -1
  214. package/dist/DatePicker/DatePickerClose.js +1 -1
  215. package/dist/DatePicker/DatePickerClose.js.map +1 -1
  216. package/dist/DatePicker/DatePickerContent.cjs.map +1 -1
  217. package/dist/DatePicker/DatePickerContent.js +1 -1
  218. package/dist/DatePicker/DatePickerContent.js.map +1 -1
  219. package/dist/DatePicker/DatePickerField.js +1 -1
  220. package/dist/DatePicker/DatePickerGrid.cjs.map +1 -1
  221. package/dist/DatePicker/DatePickerGrid.js +1 -1
  222. package/dist/DatePicker/DatePickerGrid.js.map +1 -1
  223. package/dist/DatePicker/DatePickerGridBody.cjs.map +1 -1
  224. package/dist/DatePicker/DatePickerGridBody.js +1 -1
  225. package/dist/DatePicker/DatePickerGridBody.js.map +1 -1
  226. package/dist/DatePicker/DatePickerGridHead.cjs.map +1 -1
  227. package/dist/DatePicker/DatePickerGridHead.js +1 -1
  228. package/dist/DatePicker/DatePickerGridHead.js.map +1 -1
  229. package/dist/DatePicker/DatePickerGridRow.cjs.map +1 -1
  230. package/dist/DatePicker/DatePickerGridRow.js +1 -1
  231. package/dist/DatePicker/DatePickerGridRow.js.map +1 -1
  232. package/dist/DatePicker/DatePickerHeadCell.cjs.map +1 -1
  233. package/dist/DatePicker/DatePickerHeadCell.js +1 -1
  234. package/dist/DatePicker/DatePickerHeadCell.js.map +1 -1
  235. package/dist/DatePicker/DatePickerHeader.cjs.map +1 -1
  236. package/dist/DatePicker/DatePickerHeader.js +1 -1
  237. package/dist/DatePicker/DatePickerHeader.js.map +1 -1
  238. package/dist/DatePicker/DatePickerHeading.cjs.map +1 -1
  239. package/dist/DatePicker/DatePickerHeading.js +1 -1
  240. package/dist/DatePicker/DatePickerHeading.js.map +1 -1
  241. package/dist/DatePicker/DatePickerInput.cjs.map +1 -1
  242. package/dist/DatePicker/DatePickerInput.js +1 -1
  243. package/dist/DatePicker/DatePickerInput.js.map +1 -1
  244. package/dist/DatePicker/DatePickerNext.cjs.map +1 -1
  245. package/dist/DatePicker/DatePickerNext.js +1 -1
  246. package/dist/DatePicker/DatePickerNext.js.map +1 -1
  247. package/dist/DatePicker/DatePickerPrev.cjs.map +1 -1
  248. package/dist/DatePicker/DatePickerPrev.js +1 -1
  249. package/dist/DatePicker/DatePickerPrev.js.map +1 -1
  250. package/dist/DatePicker/DatePickerRoot.cjs +11 -11
  251. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  252. package/dist/DatePicker/DatePickerRoot.js +12 -12
  253. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  254. package/dist/DatePicker/DatePickerTrigger.cjs.map +1 -1
  255. package/dist/DatePicker/DatePickerTrigger.js +1 -1
  256. package/dist/DatePicker/DatePickerTrigger.js.map +1 -1
  257. package/dist/DateRangeField/DateRangeFieldInput.cjs +5 -5
  258. package/dist/DateRangeField/DateRangeFieldInput.cjs.map +1 -1
  259. package/dist/DateRangeField/DateRangeFieldInput.js +6 -6
  260. package/dist/DateRangeField/DateRangeFieldInput.js.map +1 -1
  261. package/dist/DateRangeField/DateRangeFieldRoot.cjs +22 -18
  262. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  263. package/dist/DateRangeField/DateRangeFieldRoot.js +23 -19
  264. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  265. package/dist/DateRangePicker/DateRangePickerAnchor.cjs.map +1 -1
  266. package/dist/DateRangePicker/DateRangePickerAnchor.js +1 -1
  267. package/dist/DateRangePicker/DateRangePickerAnchor.js.map +1 -1
  268. package/dist/DateRangePicker/DateRangePickerArrow.cjs.map +1 -1
  269. package/dist/DateRangePicker/DateRangePickerArrow.js +1 -1
  270. package/dist/DateRangePicker/DateRangePickerArrow.js.map +1 -1
  271. package/dist/DateRangePicker/DateRangePickerCalendar.cjs +1 -0
  272. package/dist/DateRangePicker/DateRangePickerCalendar.cjs.map +1 -1
  273. package/dist/DateRangePicker/DateRangePickerCalendar.js +2 -1
  274. package/dist/DateRangePicker/DateRangePickerCalendar.js.map +1 -1
  275. package/dist/DateRangePicker/DateRangePickerCell.cjs.map +1 -1
  276. package/dist/DateRangePicker/DateRangePickerCell.js +1 -1
  277. package/dist/DateRangePicker/DateRangePickerCell.js.map +1 -1
  278. package/dist/DateRangePicker/DateRangePickerCellTrigger.js +1 -1
  279. package/dist/DateRangePicker/DateRangePickerClose.cjs.map +1 -1
  280. package/dist/DateRangePicker/DateRangePickerClose.js +1 -1
  281. package/dist/DateRangePicker/DateRangePickerClose.js.map +1 -1
  282. package/dist/DateRangePicker/DateRangePickerContent.cjs.map +1 -1
  283. package/dist/DateRangePicker/DateRangePickerContent.js +1 -1
  284. package/dist/DateRangePicker/DateRangePickerContent.js.map +1 -1
  285. package/dist/DateRangePicker/DateRangePickerField.js +1 -1
  286. package/dist/DateRangePicker/DateRangePickerGrid.cjs.map +1 -1
  287. package/dist/DateRangePicker/DateRangePickerGrid.js +1 -1
  288. package/dist/DateRangePicker/DateRangePickerGrid.js.map +1 -1
  289. package/dist/DateRangePicker/DateRangePickerGridBody.cjs.map +1 -1
  290. package/dist/DateRangePicker/DateRangePickerGridBody.js +1 -1
  291. package/dist/DateRangePicker/DateRangePickerGridBody.js.map +1 -1
  292. package/dist/DateRangePicker/DateRangePickerGridHead.cjs.map +1 -1
  293. package/dist/DateRangePicker/DateRangePickerGridHead.js +1 -1
  294. package/dist/DateRangePicker/DateRangePickerGridHead.js.map +1 -1
  295. package/dist/DateRangePicker/DateRangePickerGridRow.cjs.map +1 -1
  296. package/dist/DateRangePicker/DateRangePickerGridRow.js +1 -1
  297. package/dist/DateRangePicker/DateRangePickerGridRow.js.map +1 -1
  298. package/dist/DateRangePicker/DateRangePickerHeadCell.cjs.map +1 -1
  299. package/dist/DateRangePicker/DateRangePickerHeadCell.js +1 -1
  300. package/dist/DateRangePicker/DateRangePickerHeadCell.js.map +1 -1
  301. package/dist/DateRangePicker/DateRangePickerHeader.cjs.map +1 -1
  302. package/dist/DateRangePicker/DateRangePickerHeader.js +1 -1
  303. package/dist/DateRangePicker/DateRangePickerHeader.js.map +1 -1
  304. package/dist/DateRangePicker/DateRangePickerHeading.cjs.map +1 -1
  305. package/dist/DateRangePicker/DateRangePickerHeading.js +1 -1
  306. package/dist/DateRangePicker/DateRangePickerHeading.js.map +1 -1
  307. package/dist/DateRangePicker/DateRangePickerInput.cjs.map +1 -1
  308. package/dist/DateRangePicker/DateRangePickerInput.js +1 -1
  309. package/dist/DateRangePicker/DateRangePickerInput.js.map +1 -1
  310. package/dist/DateRangePicker/DateRangePickerNext.cjs.map +1 -1
  311. package/dist/DateRangePicker/DateRangePickerNext.js +1 -1
  312. package/dist/DateRangePicker/DateRangePickerNext.js.map +1 -1
  313. package/dist/DateRangePicker/DateRangePickerPrev.cjs.map +1 -1
  314. package/dist/DateRangePicker/DateRangePickerPrev.js +1 -1
  315. package/dist/DateRangePicker/DateRangePickerPrev.js.map +1 -1
  316. package/dist/DateRangePicker/DateRangePickerRoot.cjs +14 -11
  317. package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
  318. package/dist/DateRangePicker/DateRangePickerRoot.js +15 -12
  319. package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
  320. package/dist/DateRangePicker/DateRangePickerTrigger.cjs.map +1 -1
  321. package/dist/DateRangePicker/DateRangePickerTrigger.js +1 -1
  322. package/dist/DateRangePicker/DateRangePickerTrigger.js.map +1 -1
  323. package/dist/Dialog/DialogClose.cjs +2 -2
  324. package/dist/Dialog/DialogClose.cjs.map +1 -1
  325. package/dist/Dialog/DialogClose.js +3 -3
  326. package/dist/Dialog/DialogClose.js.map +1 -1
  327. package/dist/Dialog/DialogContent.cjs.map +1 -1
  328. package/dist/Dialog/DialogContent.js +1 -1
  329. package/dist/Dialog/DialogContent.js.map +1 -1
  330. package/dist/Dialog/DialogContentImpl.cjs +2 -2
  331. package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
  332. package/dist/Dialog/DialogContentImpl.js +3 -3
  333. package/dist/Dialog/DialogContentImpl.js.map +1 -1
  334. package/dist/Dialog/DialogContentModal.cjs.map +1 -1
  335. package/dist/Dialog/DialogContentModal.js +1 -1
  336. package/dist/Dialog/DialogContentModal.js.map +1 -1
  337. package/dist/Dialog/DialogContentNonModal.cjs.map +1 -1
  338. package/dist/Dialog/DialogContentNonModal.js +1 -1
  339. package/dist/Dialog/DialogContentNonModal.js.map +1 -1
  340. package/dist/Dialog/DialogDescription.cjs.map +1 -1
  341. package/dist/Dialog/DialogDescription.js +1 -1
  342. package/dist/Dialog/DialogDescription.js.map +1 -1
  343. package/dist/Dialog/DialogOverlay.cjs.map +1 -1
  344. package/dist/Dialog/DialogOverlay.js +1 -1
  345. package/dist/Dialog/DialogOverlay.js.map +1 -1
  346. package/dist/Dialog/DialogOverlayImpl.cjs.map +1 -1
  347. package/dist/Dialog/DialogOverlayImpl.js +1 -1
  348. package/dist/Dialog/DialogOverlayImpl.js.map +1 -1
  349. package/dist/Dialog/DialogPortal.js +1 -1
  350. package/dist/Dialog/DialogRoot.cjs +2 -2
  351. package/dist/Dialog/DialogRoot.cjs.map +1 -1
  352. package/dist/Dialog/DialogRoot.js +2 -2
  353. package/dist/Dialog/DialogRoot.js.map +1 -1
  354. package/dist/Dialog/DialogTitle.cjs.map +1 -1
  355. package/dist/Dialog/DialogTitle.js +1 -1
  356. package/dist/Dialog/DialogTitle.js.map +1 -1
  357. package/dist/Dialog/DialogTrigger.cjs +4 -4
  358. package/dist/Dialog/DialogTrigger.cjs.map +1 -1
  359. package/dist/Dialog/DialogTrigger.js +5 -5
  360. package/dist/Dialog/DialogTrigger.js.map +1 -1
  361. package/dist/Dialog/utils.cjs.map +1 -1
  362. package/dist/Dialog/utils.js.map +1 -1
  363. package/dist/DismissableLayer/DismissableLayer.cjs +1 -1
  364. package/dist/DismissableLayer/DismissableLayer.cjs.map +1 -1
  365. package/dist/DismissableLayer/DismissableLayer.js +2 -2
  366. package/dist/DismissableLayer/DismissableLayer.js.map +1 -1
  367. package/dist/DismissableLayer/DismissableLayerBranch.js +1 -1
  368. package/dist/DismissableLayer/utils.cjs +5 -3
  369. package/dist/DismissableLayer/utils.cjs.map +1 -1
  370. package/dist/DismissableLayer/utils.js +5 -3
  371. package/dist/DismissableLayer/utils.js.map +1 -1
  372. package/dist/DropdownMenu/DropdownMenuArrow.js +1 -1
  373. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +1 -1
  374. package/dist/DropdownMenu/DropdownMenuContent.cjs +2 -2
  375. package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
  376. package/dist/DropdownMenu/DropdownMenuContent.js +3 -3
  377. package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
  378. package/dist/DropdownMenu/DropdownMenuGroup.js +1 -1
  379. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  380. package/dist/DropdownMenu/DropdownMenuItemIndicator.js +1 -1
  381. package/dist/DropdownMenu/DropdownMenuLabel.js +1 -1
  382. package/dist/DropdownMenu/DropdownMenuPortal.js +1 -1
  383. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +1 -1
  384. package/dist/DropdownMenu/DropdownMenuRadioItem.js +1 -1
  385. package/dist/DropdownMenu/DropdownMenuRoot.cjs +4 -4
  386. package/dist/DropdownMenu/DropdownMenuRoot.cjs.map +1 -1
  387. package/dist/DropdownMenu/DropdownMenuRoot.js +5 -5
  388. package/dist/DropdownMenu/DropdownMenuRoot.js.map +1 -1
  389. package/dist/DropdownMenu/DropdownMenuSeparator.js +1 -1
  390. package/dist/DropdownMenu/DropdownMenuSub.cjs +3 -3
  391. package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
  392. package/dist/DropdownMenu/DropdownMenuSub.js +4 -4
  393. package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
  394. package/dist/DropdownMenu/DropdownMenuSubContent.js +1 -1
  395. package/dist/DropdownMenu/DropdownMenuSubTrigger.js +1 -1
  396. package/dist/DropdownMenu/DropdownMenuTrigger.cjs +5 -5
  397. package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  398. package/dist/DropdownMenu/DropdownMenuTrigger.js +6 -6
  399. package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  400. package/dist/Editable/EditableArea.cjs +7 -7
  401. package/dist/Editable/EditableArea.js +8 -8
  402. package/dist/Editable/EditableCancelTrigger.cjs +4 -4
  403. package/dist/Editable/EditableCancelTrigger.js +5 -5
  404. package/dist/Editable/EditableEditTrigger.cjs +4 -4
  405. package/dist/Editable/EditableEditTrigger.js +5 -5
  406. package/dist/Editable/EditableInput.cjs +4 -4
  407. package/dist/Editable/EditableInput.cjs.map +1 -1
  408. package/dist/Editable/EditableInput.js +5 -5
  409. package/dist/Editable/EditableInput.js.map +1 -1
  410. package/dist/Editable/EditablePreview.cjs +4 -4
  411. package/dist/Editable/EditablePreview.cjs.map +1 -1
  412. package/dist/Editable/EditablePreview.js +5 -5
  413. package/dist/Editable/EditablePreview.js.map +1 -1
  414. package/dist/Editable/EditableRoot.cjs +2 -2
  415. package/dist/Editable/EditableRoot.cjs.map +1 -1
  416. package/dist/Editable/EditableRoot.js +3 -3
  417. package/dist/Editable/EditableRoot.js.map +1 -1
  418. package/dist/Editable/EditableSubmitTrigger.cjs +4 -4
  419. package/dist/Editable/EditableSubmitTrigger.js +5 -5
  420. package/dist/FocusScope/FocusScope.cjs +1 -1
  421. package/dist/FocusScope/FocusScope.cjs.map +1 -1
  422. package/dist/FocusScope/FocusScope.js +2 -2
  423. package/dist/FocusScope/FocusScope.js.map +1 -1
  424. package/dist/FocusScope/utils.cjs +1 -1
  425. package/dist/FocusScope/utils.cjs.map +1 -1
  426. package/dist/FocusScope/utils.js +1 -1
  427. package/dist/FocusScope/utils.js.map +1 -1
  428. package/dist/HoverCard/HoverCardArrow.js +1 -1
  429. package/dist/HoverCard/HoverCardContent.cjs +1 -1
  430. package/dist/HoverCard/HoverCardContent.cjs.map +1 -1
  431. package/dist/HoverCard/HoverCardContent.js +2 -2
  432. package/dist/HoverCard/HoverCardContent.js.map +1 -1
  433. package/dist/HoverCard/HoverCardContentImpl.cjs +5 -5
  434. package/dist/HoverCard/HoverCardContentImpl.cjs.map +1 -1
  435. package/dist/HoverCard/HoverCardContentImpl.js +6 -6
  436. package/dist/HoverCard/HoverCardContentImpl.js.map +1 -1
  437. package/dist/HoverCard/HoverCardPortal.js +1 -1
  438. package/dist/HoverCard/HoverCardRoot.cjs +4 -4
  439. package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
  440. package/dist/HoverCard/HoverCardRoot.js +5 -5
  441. package/dist/HoverCard/HoverCardRoot.js.map +1 -1
  442. package/dist/HoverCard/HoverCardTrigger.cjs +1 -1
  443. package/dist/HoverCard/HoverCardTrigger.cjs.map +1 -1
  444. package/dist/HoverCard/HoverCardTrigger.js +2 -2
  445. package/dist/HoverCard/HoverCardTrigger.js.map +1 -1
  446. package/dist/HoverCard/utils.cjs +1 -1
  447. package/dist/HoverCard/utils.cjs.map +1 -1
  448. package/dist/HoverCard/utils.js +1 -1
  449. package/dist/HoverCard/utils.js.map +1 -1
  450. package/dist/Label/Label.js +1 -1
  451. package/dist/Listbox/ListboxContent.cjs +3 -3
  452. package/dist/Listbox/ListboxContent.cjs.map +1 -1
  453. package/dist/Listbox/ListboxContent.js +4 -4
  454. package/dist/Listbox/ListboxContent.js.map +1 -1
  455. package/dist/Listbox/ListboxFilter.cjs +8 -5
  456. package/dist/Listbox/ListboxFilter.cjs.map +1 -1
  457. package/dist/Listbox/ListboxFilter.js +9 -6
  458. package/dist/Listbox/ListboxFilter.js.map +1 -1
  459. package/dist/Listbox/ListboxGroup.cjs +2 -2
  460. package/dist/Listbox/ListboxGroup.cjs.map +1 -1
  461. package/dist/Listbox/ListboxGroup.js +3 -3
  462. package/dist/Listbox/ListboxGroup.js.map +1 -1
  463. package/dist/Listbox/ListboxGroupLabel.js +1 -1
  464. package/dist/Listbox/ListboxItem.cjs +7 -7
  465. package/dist/Listbox/ListboxItem.cjs.map +1 -1
  466. package/dist/Listbox/ListboxItem.js +8 -8
  467. package/dist/Listbox/ListboxItem.js.map +1 -1
  468. package/dist/Listbox/ListboxItemIndicator.cjs.map +1 -1
  469. package/dist/Listbox/ListboxItemIndicator.js +1 -1
  470. package/dist/Listbox/ListboxItemIndicator.js.map +1 -1
  471. package/dist/Listbox/ListboxRoot.cjs +8 -8
  472. package/dist/Listbox/ListboxRoot.cjs.map +1 -1
  473. package/dist/Listbox/ListboxRoot.js +9 -9
  474. package/dist/Listbox/ListboxRoot.js.map +1 -1
  475. package/dist/Listbox/ListboxVirtualizer.cjs +4 -4
  476. package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
  477. package/dist/Listbox/ListboxVirtualizer.js +5 -5
  478. package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
  479. package/dist/Listbox/utils.cjs +2 -2
  480. package/dist/Listbox/utils.cjs.map +1 -1
  481. package/dist/Listbox/utils.js +2 -2
  482. package/dist/Listbox/utils.js.map +1 -1
  483. package/dist/Menu/MenuAnchor.cjs.map +1 -1
  484. package/dist/Menu/MenuAnchor.js +1 -1
  485. package/dist/Menu/MenuAnchor.js.map +1 -1
  486. package/dist/Menu/MenuArrow.js +1 -1
  487. package/dist/Menu/MenuCheckboxItem.cjs +1 -1
  488. package/dist/Menu/MenuCheckboxItem.cjs.map +1 -1
  489. package/dist/Menu/MenuCheckboxItem.js +2 -2
  490. package/dist/Menu/MenuCheckboxItem.js.map +1 -1
  491. package/dist/Menu/MenuContent.cjs.map +1 -1
  492. package/dist/Menu/MenuContent.js +1 -1
  493. package/dist/Menu/MenuContent.js.map +1 -1
  494. package/dist/Menu/MenuContentImpl.cjs +3 -3
  495. package/dist/Menu/MenuContentImpl.cjs.map +1 -1
  496. package/dist/Menu/MenuContentImpl.js +5 -5
  497. package/dist/Menu/MenuContentImpl.js.map +1 -1
  498. package/dist/Menu/MenuGroup.js +1 -1
  499. package/dist/Menu/MenuItem.cjs.map +1 -1
  500. package/dist/Menu/MenuItem.js +1 -1
  501. package/dist/Menu/MenuItem.js.map +1 -1
  502. package/dist/Menu/MenuItemImpl.cjs +4 -4
  503. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  504. package/dist/Menu/MenuItemImpl.js +5 -5
  505. package/dist/Menu/MenuItemImpl.js.map +1 -1
  506. package/dist/Menu/MenuItemIndicator.cjs +1 -1
  507. package/dist/Menu/MenuItemIndicator.cjs.map +1 -1
  508. package/dist/Menu/MenuItemIndicator.js +2 -2
  509. package/dist/Menu/MenuItemIndicator.js.map +1 -1
  510. package/dist/Menu/MenuLabel.js +1 -1
  511. package/dist/Menu/MenuPortal.js +1 -1
  512. package/dist/Menu/MenuRadioGroup.js +1 -1
  513. package/dist/Menu/MenuRadioItem.cjs +1 -1
  514. package/dist/Menu/MenuRadioItem.cjs.map +1 -1
  515. package/dist/Menu/MenuRadioItem.js +2 -2
  516. package/dist/Menu/MenuRadioItem.js.map +1 -1
  517. package/dist/Menu/MenuRoot.cjs +2 -2
  518. package/dist/Menu/MenuRoot.cjs.map +1 -1
  519. package/dist/Menu/MenuRoot.js +3 -3
  520. package/dist/Menu/MenuRoot.js.map +1 -1
  521. package/dist/Menu/MenuRootContentModal.cjs.map +1 -1
  522. package/dist/Menu/MenuRootContentModal.js +1 -1
  523. package/dist/Menu/MenuRootContentModal.js.map +1 -1
  524. package/dist/Menu/MenuRootContentNonModal.cjs.map +1 -1
  525. package/dist/Menu/MenuRootContentNonModal.js +1 -1
  526. package/dist/Menu/MenuRootContentNonModal.js.map +1 -1
  527. package/dist/Menu/MenuSeparator.js +1 -1
  528. package/dist/Menu/MenuSub.cjs +3 -3
  529. package/dist/Menu/MenuSub.cjs.map +1 -1
  530. package/dist/Menu/MenuSub.js +4 -4
  531. package/dist/Menu/MenuSub.js.map +1 -1
  532. package/dist/Menu/MenuSubContent.cjs +1 -1
  533. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  534. package/dist/Menu/MenuSubContent.js +2 -2
  535. package/dist/Menu/MenuSubContent.js.map +1 -1
  536. package/dist/Menu/MenuSubTrigger.cjs +3 -3
  537. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  538. package/dist/Menu/MenuSubTrigger.js +4 -4
  539. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  540. package/dist/Menubar/MenubarArrow.js +1 -1
  541. package/dist/Menubar/MenubarCheckboxItem.js +1 -1
  542. package/dist/Menubar/MenubarContent.cjs +2 -2
  543. package/dist/Menubar/MenubarContent.cjs.map +1 -1
  544. package/dist/Menubar/MenubarContent.js +3 -3
  545. package/dist/Menubar/MenubarContent.js.map +1 -1
  546. package/dist/Menubar/MenubarGroup.cjs.map +1 -1
  547. package/dist/Menubar/MenubarGroup.js +1 -1
  548. package/dist/Menubar/MenubarGroup.js.map +1 -1
  549. package/dist/Menubar/MenubarItem.js +1 -1
  550. package/dist/Menubar/MenubarItemIndicator.js +1 -1
  551. package/dist/Menubar/MenubarLabel.js +1 -1
  552. package/dist/Menubar/MenubarMenu.cjs +1 -1
  553. package/dist/Menubar/MenubarMenu.cjs.map +1 -1
  554. package/dist/Menubar/MenubarMenu.js +2 -2
  555. package/dist/Menubar/MenubarMenu.js.map +1 -1
  556. package/dist/Menubar/MenubarPortal.js +1 -1
  557. package/dist/Menubar/MenubarRadioGroup.js +1 -1
  558. package/dist/Menubar/MenubarRadioItem.js +1 -1
  559. package/dist/Menubar/MenubarRoot.cjs +3 -3
  560. package/dist/Menubar/MenubarRoot.cjs.map +1 -1
  561. package/dist/Menubar/MenubarRoot.js +4 -4
  562. package/dist/Menubar/MenubarRoot.js.map +1 -1
  563. package/dist/Menubar/MenubarSeparator.js +1 -1
  564. package/dist/Menubar/MenubarSub.cjs +3 -3
  565. package/dist/Menubar/MenubarSub.cjs.map +1 -1
  566. package/dist/Menubar/MenubarSub.js +4 -4
  567. package/dist/Menubar/MenubarSub.js.map +1 -1
  568. package/dist/Menubar/MenubarSubContent.cjs.map +1 -1
  569. package/dist/Menubar/MenubarSubContent.js +1 -1
  570. package/dist/Menubar/MenubarSubContent.js.map +1 -1
  571. package/dist/Menubar/MenubarSubTrigger.js +1 -1
  572. package/dist/Menubar/MenubarTrigger.cjs +6 -6
  573. package/dist/Menubar/MenubarTrigger.cjs.map +1 -1
  574. package/dist/Menubar/MenubarTrigger.js +7 -7
  575. package/dist/Menubar/MenubarTrigger.js.map +1 -1
  576. package/dist/NavigationMenu/NavigationMenuContent.cjs +2 -2
  577. package/dist/NavigationMenu/NavigationMenuContent.cjs.map +1 -1
  578. package/dist/NavigationMenu/NavigationMenuContent.js +3 -3
  579. package/dist/NavigationMenu/NavigationMenuContent.js.map +1 -1
  580. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +2 -2
  581. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
  582. package/dist/NavigationMenu/NavigationMenuContentImpl.js +3 -3
  583. package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
  584. package/dist/NavigationMenu/NavigationMenuIndicator.cjs.map +1 -1
  585. package/dist/NavigationMenu/NavigationMenuIndicator.js +1 -1
  586. package/dist/NavigationMenu/NavigationMenuIndicator.js.map +1 -1
  587. package/dist/NavigationMenu/NavigationMenuItem.cjs +2 -2
  588. package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
  589. package/dist/NavigationMenu/NavigationMenuItem.js +3 -3
  590. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  591. package/dist/NavigationMenu/NavigationMenuLink.cjs +2 -2
  592. package/dist/NavigationMenu/NavigationMenuLink.cjs.map +1 -1
  593. package/dist/NavigationMenu/NavigationMenuLink.js +3 -3
  594. package/dist/NavigationMenu/NavigationMenuLink.js.map +1 -1
  595. package/dist/NavigationMenu/NavigationMenuList.cjs.map +1 -1
  596. package/dist/NavigationMenu/NavigationMenuList.js +1 -1
  597. package/dist/NavigationMenu/NavigationMenuList.js.map +1 -1
  598. package/dist/NavigationMenu/NavigationMenuRoot.cjs +4 -4
  599. package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
  600. package/dist/NavigationMenu/NavigationMenuRoot.js +5 -5
  601. package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
  602. package/dist/NavigationMenu/NavigationMenuSub.cjs +1 -1
  603. package/dist/NavigationMenu/NavigationMenuSub.cjs.map +1 -1
  604. package/dist/NavigationMenu/NavigationMenuSub.js +2 -2
  605. package/dist/NavigationMenu/NavigationMenuSub.js.map +1 -1
  606. package/dist/NavigationMenu/NavigationMenuTrigger.cjs +2 -2
  607. package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  608. package/dist/NavigationMenu/NavigationMenuTrigger.js +3 -3
  609. package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  610. package/dist/NavigationMenu/NavigationMenuViewport.cjs +7 -7
  611. package/dist/NavigationMenu/NavigationMenuViewport.cjs.map +1 -1
  612. package/dist/NavigationMenu/NavigationMenuViewport.js +9 -9
  613. package/dist/NavigationMenu/NavigationMenuViewport.js.map +1 -1
  614. package/dist/NavigationMenu/utils.cjs +1 -1
  615. package/dist/NavigationMenu/utils.cjs.map +1 -1
  616. package/dist/NavigationMenu/utils.js +1 -1
  617. package/dist/NavigationMenu/utils.js.map +1 -1
  618. package/dist/NumberField/NumberFieldDecrement.cjs +6 -6
  619. package/dist/NumberField/NumberFieldDecrement.cjs.map +1 -1
  620. package/dist/NumberField/NumberFieldDecrement.js +7 -7
  621. package/dist/NumberField/NumberFieldDecrement.js.map +1 -1
  622. package/dist/NumberField/NumberFieldIncrement.cjs +5 -5
  623. package/dist/NumberField/NumberFieldIncrement.cjs.map +1 -1
  624. package/dist/NumberField/NumberFieldIncrement.js +6 -6
  625. package/dist/NumberField/NumberFieldIncrement.js.map +1 -1
  626. package/dist/NumberField/NumberFieldInput.cjs +4 -4
  627. package/dist/NumberField/NumberFieldInput.cjs.map +1 -1
  628. package/dist/NumberField/NumberFieldInput.js +5 -5
  629. package/dist/NumberField/NumberFieldInput.js.map +1 -1
  630. package/dist/NumberField/NumberFieldRoot.cjs +7 -7
  631. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  632. package/dist/NumberField/NumberFieldRoot.js +8 -8
  633. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  634. package/dist/NumberField/utils.cjs.map +1 -1
  635. package/dist/NumberField/utils.js.map +1 -1
  636. package/dist/Pagination/PaginationEllipsis.js +1 -1
  637. package/dist/Pagination/PaginationFirst.cjs +1 -1
  638. package/dist/Pagination/PaginationFirst.cjs.map +1 -1
  639. package/dist/Pagination/PaginationFirst.js +2 -2
  640. package/dist/Pagination/PaginationFirst.js.map +1 -1
  641. package/dist/Pagination/PaginationLast.cjs +1 -1
  642. package/dist/Pagination/PaginationLast.cjs.map +1 -1
  643. package/dist/Pagination/PaginationLast.js +2 -2
  644. package/dist/Pagination/PaginationLast.js.map +1 -1
  645. package/dist/Pagination/PaginationList.js +1 -1
  646. package/dist/Pagination/PaginationListItem.cjs +3 -3
  647. package/dist/Pagination/PaginationListItem.cjs.map +1 -1
  648. package/dist/Pagination/PaginationListItem.js +4 -4
  649. package/dist/Pagination/PaginationListItem.js.map +1 -1
  650. package/dist/Pagination/PaginationNext.cjs +1 -1
  651. package/dist/Pagination/PaginationNext.cjs.map +1 -1
  652. package/dist/Pagination/PaginationNext.js +2 -2
  653. package/dist/Pagination/PaginationNext.js.map +1 -1
  654. package/dist/Pagination/PaginationPrev.cjs +1 -1
  655. package/dist/Pagination/PaginationPrev.cjs.map +1 -1
  656. package/dist/Pagination/PaginationPrev.js +2 -2
  657. package/dist/Pagination/PaginationPrev.js.map +1 -1
  658. package/dist/Pagination/PaginationRoot.cjs +2 -2
  659. package/dist/Pagination/PaginationRoot.cjs.map +1 -1
  660. package/dist/Pagination/PaginationRoot.js +3 -3
  661. package/dist/Pagination/PaginationRoot.js.map +1 -1
  662. package/dist/Pagination/utils.cjs.map +1 -1
  663. package/dist/Pagination/utils.js.map +1 -1
  664. package/dist/PinInput/PinInputInput.cjs +4 -4
  665. package/dist/PinInput/PinInputInput.cjs.map +1 -1
  666. package/dist/PinInput/PinInputInput.js +5 -5
  667. package/dist/PinInput/PinInputInput.js.map +1 -1
  668. package/dist/PinInput/PinInputRoot.cjs +4 -4
  669. package/dist/PinInput/PinInputRoot.cjs.map +1 -1
  670. package/dist/PinInput/PinInputRoot.js +5 -5
  671. package/dist/PinInput/PinInputRoot.js.map +1 -1
  672. package/dist/Popover/PopoverAnchor.cjs.map +1 -1
  673. package/dist/Popover/PopoverAnchor.js +1 -1
  674. package/dist/Popover/PopoverAnchor.js.map +1 -1
  675. package/dist/Popover/PopoverArrow.js +1 -1
  676. package/dist/Popover/PopoverClose.cjs +1 -1
  677. package/dist/Popover/PopoverClose.cjs.map +1 -1
  678. package/dist/Popover/PopoverClose.js +2 -2
  679. package/dist/Popover/PopoverClose.js.map +1 -1
  680. package/dist/Popover/PopoverContent.cjs +1 -1
  681. package/dist/Popover/PopoverContent.cjs.map +1 -1
  682. package/dist/Popover/PopoverContent.js +2 -2
  683. package/dist/Popover/PopoverContent.js.map +1 -1
  684. package/dist/Popover/PopoverContentImpl.cjs +1 -1
  685. package/dist/Popover/PopoverContentImpl.cjs.map +1 -1
  686. package/dist/Popover/PopoverContentImpl.js +2 -2
  687. package/dist/Popover/PopoverContentImpl.js.map +1 -1
  688. package/dist/Popover/PopoverContentModal.cjs +1 -1
  689. package/dist/Popover/PopoverContentModal.cjs.map +1 -1
  690. package/dist/Popover/PopoverContentModal.js +2 -2
  691. package/dist/Popover/PopoverContentModal.js.map +1 -1
  692. package/dist/Popover/PopoverContentNonModal.cjs.map +1 -1
  693. package/dist/Popover/PopoverContentNonModal.js +1 -1
  694. package/dist/Popover/PopoverContentNonModal.js.map +1 -1
  695. package/dist/Popover/PopoverPortal.js +1 -1
  696. package/dist/Popover/PopoverRoot.cjs +3 -3
  697. package/dist/Popover/PopoverRoot.cjs.map +1 -1
  698. package/dist/Popover/PopoverRoot.js +4 -4
  699. package/dist/Popover/PopoverRoot.js.map +1 -1
  700. package/dist/Popover/PopoverTrigger.cjs +3 -3
  701. package/dist/Popover/PopoverTrigger.cjs.map +1 -1
  702. package/dist/Popover/PopoverTrigger.js +4 -4
  703. package/dist/Popover/PopoverTrigger.js.map +1 -1
  704. package/dist/Popper/PopperAnchor.cjs.map +1 -1
  705. package/dist/Popper/PopperAnchor.js +1 -1
  706. package/dist/Popper/PopperAnchor.js.map +1 -1
  707. package/dist/Popper/PopperArrow.cjs +4 -4
  708. package/dist/Popper/PopperArrow.cjs.map +1 -1
  709. package/dist/Popper/PopperArrow.js +5 -5
  710. package/dist/Popper/PopperArrow.js.map +1 -1
  711. package/dist/Popper/PopperContent.cjs +4 -4
  712. package/dist/Popper/PopperContent.cjs.map +1 -1
  713. package/dist/Popper/PopperContent.js +5 -5
  714. package/dist/Popper/PopperContent.js.map +1 -1
  715. package/dist/Popper/PopperRoot.cjs.map +1 -1
  716. package/dist/Popper/PopperRoot.js.map +1 -1
  717. package/dist/Presence/Presence.cjs +1 -1
  718. package/dist/Presence/Presence.cjs.map +1 -1
  719. package/dist/Presence/Presence.js +1 -1
  720. package/dist/Presence/Presence.js.map +1 -1
  721. package/dist/Presence/usePresence.cjs +4 -4
  722. package/dist/Presence/usePresence.cjs.map +1 -1
  723. package/dist/Presence/usePresence.js +4 -4
  724. package/dist/Presence/usePresence.js.map +1 -1
  725. package/dist/Primitive/Primitive.cjs +1 -1
  726. package/dist/Primitive/Primitive.cjs.map +1 -1
  727. package/dist/Primitive/Primitive.js +1 -1
  728. package/dist/Primitive/Primitive.js.map +1 -1
  729. package/dist/Primitive/Slot.cjs.map +1 -1
  730. package/dist/Primitive/Slot.js.map +1 -1
  731. package/dist/Primitive/usePrimitiveElement.cjs.map +1 -1
  732. package/dist/Primitive/usePrimitiveElement.js.map +1 -1
  733. package/dist/Progress/ProgressIndicator.cjs +1 -1
  734. package/dist/Progress/ProgressIndicator.cjs.map +1 -1
  735. package/dist/Progress/ProgressIndicator.js +2 -2
  736. package/dist/Progress/ProgressIndicator.js.map +1 -1
  737. package/dist/Progress/ProgressRoot.cjs +5 -5
  738. package/dist/Progress/ProgressRoot.cjs.map +1 -1
  739. package/dist/Progress/ProgressRoot.js +6 -6
  740. package/dist/Progress/ProgressRoot.js.map +1 -1
  741. package/dist/RadioGroup/Radio.cjs +6 -6
  742. package/dist/RadioGroup/Radio.cjs.map +1 -1
  743. package/dist/RadioGroup/Radio.js +7 -7
  744. package/dist/RadioGroup/Radio.js.map +1 -1
  745. package/dist/RadioGroup/RadioGroupIndicator.cjs +1 -1
  746. package/dist/RadioGroup/RadioGroupIndicator.cjs.map +1 -1
  747. package/dist/RadioGroup/RadioGroupIndicator.js +2 -2
  748. package/dist/RadioGroup/RadioGroupIndicator.js.map +1 -1
  749. package/dist/RadioGroup/RadioGroupItem.cjs +3 -3
  750. package/dist/RadioGroup/RadioGroupItem.cjs.map +1 -1
  751. package/dist/RadioGroup/RadioGroupItem.js +4 -4
  752. package/dist/RadioGroup/RadioGroupItem.js.map +1 -1
  753. package/dist/RadioGroup/RadioGroupRoot.cjs +5 -5
  754. package/dist/RadioGroup/RadioGroupRoot.cjs.map +1 -1
  755. package/dist/RadioGroup/RadioGroupRoot.js +6 -6
  756. package/dist/RadioGroup/RadioGroupRoot.js.map +1 -1
  757. package/dist/RadioGroup/utils.cjs.map +1 -1
  758. package/dist/RadioGroup/utils.js.map +1 -1
  759. package/dist/RangeCalendar/RangeCalendarCell.cjs +3 -3
  760. package/dist/RangeCalendar/RangeCalendarCell.js +4 -4
  761. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +85 -61
  762. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
  763. package/dist/RangeCalendar/RangeCalendarCellTrigger.js +86 -62
  764. package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
  765. package/dist/RangeCalendar/RangeCalendarGrid.cjs +2 -2
  766. package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
  767. package/dist/RangeCalendar/RangeCalendarGrid.js +3 -3
  768. package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
  769. package/dist/RangeCalendar/RangeCalendarGridBody.js +1 -1
  770. package/dist/RangeCalendar/RangeCalendarGridHead.js +1 -1
  771. package/dist/RangeCalendar/RangeCalendarGridRow.js +1 -1
  772. package/dist/RangeCalendar/RangeCalendarHeadCell.js +1 -1
  773. package/dist/RangeCalendar/RangeCalendarHeader.js +1 -1
  774. package/dist/RangeCalendar/RangeCalendarHeading.cjs +2 -2
  775. package/dist/RangeCalendar/RangeCalendarHeading.js +3 -3
  776. package/dist/RangeCalendar/RangeCalendarNext.cjs +3 -3
  777. package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
  778. package/dist/RangeCalendar/RangeCalendarNext.js +4 -4
  779. package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
  780. package/dist/RangeCalendar/RangeCalendarPrev.cjs +3 -3
  781. package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
  782. package/dist/RangeCalendar/RangeCalendarPrev.js +4 -4
  783. package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
  784. package/dist/RangeCalendar/RangeCalendarRoot.cjs +24 -17
  785. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  786. package/dist/RangeCalendar/RangeCalendarRoot.js +25 -18
  787. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  788. package/dist/RangeCalendar/useRangeCalendar.cjs +8 -2
  789. package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
  790. package/dist/RangeCalendar/useRangeCalendar.js +8 -2
  791. package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
  792. package/dist/RovingFocus/RovingFocusGroup.cjs +5 -5
  793. package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
  794. package/dist/RovingFocus/RovingFocusGroup.js +6 -6
  795. package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
  796. package/dist/RovingFocus/RovingFocusItem.cjs +5 -5
  797. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  798. package/dist/RovingFocus/RovingFocusItem.js +6 -6
  799. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  800. package/dist/RovingFocus/utils.cjs +2 -2
  801. package/dist/RovingFocus/utils.cjs.map +1 -1
  802. package/dist/RovingFocus/utils.js +2 -2
  803. package/dist/RovingFocus/utils.js.map +1 -1
  804. package/dist/ScrollArea/ScrollAreaCorner.cjs.map +1 -1
  805. package/dist/ScrollArea/ScrollAreaCorner.js +1 -1
  806. package/dist/ScrollArea/ScrollAreaCorner.js.map +1 -1
  807. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +3 -3
  808. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs.map +1 -1
  809. package/dist/ScrollArea/ScrollAreaCornerImpl.js +4 -4
  810. package/dist/ScrollArea/ScrollAreaCornerImpl.js.map +1 -1
  811. package/dist/ScrollArea/ScrollAreaRoot.cjs +4 -4
  812. package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
  813. package/dist/ScrollArea/ScrollAreaRoot.js +5 -5
  814. package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
  815. package/dist/ScrollArea/ScrollAreaScrollbar.cjs +2 -2
  816. package/dist/ScrollArea/ScrollAreaScrollbar.cjs.map +1 -1
  817. package/dist/ScrollArea/ScrollAreaScrollbar.js +3 -3
  818. package/dist/ScrollArea/ScrollAreaScrollbar.js.map +1 -1
  819. package/dist/ScrollArea/ScrollAreaScrollbarAuto.cjs.map +1 -1
  820. package/dist/ScrollArea/ScrollAreaScrollbarAuto.js +1 -1
  821. package/dist/ScrollArea/ScrollAreaScrollbarAuto.js.map +1 -1
  822. package/dist/ScrollArea/ScrollAreaScrollbarHover.cjs.map +1 -1
  823. package/dist/ScrollArea/ScrollAreaScrollbarHover.js +1 -1
  824. package/dist/ScrollArea/ScrollAreaScrollbarHover.js.map +1 -1
  825. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs +1 -1
  826. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
  827. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js +2 -2
  828. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
  829. package/dist/ScrollArea/ScrollAreaScrollbarScroll.cjs.map +1 -1
  830. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js +1 -1
  831. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js.map +1 -1
  832. package/dist/ScrollArea/ScrollAreaScrollbarVisible.cjs.map +1 -1
  833. package/dist/ScrollArea/ScrollAreaScrollbarVisible.js +1 -1
  834. package/dist/ScrollArea/ScrollAreaScrollbarVisible.js.map +1 -1
  835. package/dist/ScrollArea/ScrollAreaScrollbarX.cjs +1 -1
  836. package/dist/ScrollArea/ScrollAreaScrollbarX.cjs.map +1 -1
  837. package/dist/ScrollArea/ScrollAreaScrollbarX.js +2 -2
  838. package/dist/ScrollArea/ScrollAreaScrollbarX.js.map +1 -1
  839. package/dist/ScrollArea/ScrollAreaScrollbarY.cjs +3 -3
  840. package/dist/ScrollArea/ScrollAreaScrollbarY.cjs.map +1 -1
  841. package/dist/ScrollArea/ScrollAreaScrollbarY.js +4 -4
  842. package/dist/ScrollArea/ScrollAreaScrollbarY.js.map +1 -1
  843. package/dist/ScrollArea/ScrollAreaThumb.cjs.map +1 -1
  844. package/dist/ScrollArea/ScrollAreaThumb.js +1 -1
  845. package/dist/ScrollArea/ScrollAreaThumb.js.map +1 -1
  846. package/dist/ScrollArea/ScrollAreaViewport.cjs +2 -2
  847. package/dist/ScrollArea/ScrollAreaViewport.cjs.map +1 -1
  848. package/dist/ScrollArea/ScrollAreaViewport.js +3 -3
  849. package/dist/ScrollArea/ScrollAreaViewport.js.map +1 -1
  850. package/dist/ScrollArea/utils.cjs.map +1 -1
  851. package/dist/ScrollArea/utils.js.map +1 -1
  852. package/dist/Select/BubbleSelect.cjs +2 -2
  853. package/dist/Select/BubbleSelect.cjs.map +1 -1
  854. package/dist/Select/BubbleSelect.js +3 -3
  855. package/dist/Select/BubbleSelect.js.map +1 -1
  856. package/dist/Select/SelectArrow.cjs +1 -1
  857. package/dist/Select/SelectArrow.cjs.map +1 -1
  858. package/dist/Select/SelectArrow.js +2 -2
  859. package/dist/Select/SelectArrow.js.map +1 -1
  860. package/dist/Select/SelectContent.cjs.map +1 -1
  861. package/dist/Select/SelectContent.js +1 -1
  862. package/dist/Select/SelectContent.js.map +1 -1
  863. package/dist/Select/SelectContentImpl.cjs +5 -5
  864. package/dist/Select/SelectContentImpl.cjs.map +1 -1
  865. package/dist/Select/SelectContentImpl.js +6 -6
  866. package/dist/Select/SelectContentImpl.js.map +1 -1
  867. package/dist/Select/SelectGroup.cjs +2 -2
  868. package/dist/Select/SelectGroup.cjs.map +1 -1
  869. package/dist/Select/SelectGroup.js +3 -3
  870. package/dist/Select/SelectGroup.js.map +1 -1
  871. package/dist/Select/SelectIcon.js +1 -1
  872. package/dist/Select/SelectItem.cjs +7 -7
  873. package/dist/Select/SelectItem.cjs.map +1 -1
  874. package/dist/Select/SelectItem.js +8 -8
  875. package/dist/Select/SelectItem.js.map +1 -1
  876. package/dist/Select/SelectItemAlignedPosition.cjs +2 -2
  877. package/dist/Select/SelectItemAlignedPosition.cjs.map +1 -1
  878. package/dist/Select/SelectItemAlignedPosition.js +3 -3
  879. package/dist/Select/SelectItemAlignedPosition.js.map +1 -1
  880. package/dist/Select/SelectItemIndicator.cjs.map +1 -1
  881. package/dist/Select/SelectItemIndicator.js +1 -1
  882. package/dist/Select/SelectItemIndicator.js.map +1 -1
  883. package/dist/Select/SelectItemText.cjs.map +1 -1
  884. package/dist/Select/SelectItemText.js +1 -1
  885. package/dist/Select/SelectItemText.js.map +1 -1
  886. package/dist/Select/SelectLabel.js +1 -1
  887. package/dist/Select/SelectPopperPosition.cjs +1 -1
  888. package/dist/Select/SelectPopperPosition.cjs.map +1 -1
  889. package/dist/Select/SelectPopperPosition.js +2 -2
  890. package/dist/Select/SelectPopperPosition.js.map +1 -1
  891. package/dist/Select/SelectPortal.js +1 -1
  892. package/dist/Select/SelectProvider.cjs.map +1 -1
  893. package/dist/Select/SelectProvider.js.map +1 -1
  894. package/dist/Select/SelectRoot.cjs +8 -8
  895. package/dist/Select/SelectRoot.cjs.map +1 -1
  896. package/dist/Select/SelectRoot.js +9 -9
  897. package/dist/Select/SelectRoot.js.map +1 -1
  898. package/dist/Select/SelectScrollButtonImpl.cjs.map +1 -1
  899. package/dist/Select/SelectScrollButtonImpl.js +1 -1
  900. package/dist/Select/SelectScrollButtonImpl.js.map +1 -1
  901. package/dist/Select/SelectScrollDownButton.cjs +2 -2
  902. package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
  903. package/dist/Select/SelectScrollDownButton.js +3 -3
  904. package/dist/Select/SelectScrollDownButton.js.map +1 -1
  905. package/dist/Select/SelectScrollUpButton.cjs +1 -1
  906. package/dist/Select/SelectScrollUpButton.cjs.map +1 -1
  907. package/dist/Select/SelectScrollUpButton.js +2 -2
  908. package/dist/Select/SelectScrollUpButton.js.map +1 -1
  909. package/dist/Select/SelectSeparator.js +1 -1
  910. package/dist/Select/SelectTrigger.cjs +6 -6
  911. package/dist/Select/SelectTrigger.cjs.map +1 -1
  912. package/dist/Select/SelectTrigger.js +7 -7
  913. package/dist/Select/SelectTrigger.js.map +1 -1
  914. package/dist/Select/SelectValue.cjs +3 -2
  915. package/dist/Select/SelectValue.cjs.map +1 -1
  916. package/dist/Select/SelectValue.js +4 -3
  917. package/dist/Select/SelectValue.js.map +1 -1
  918. package/dist/Select/SelectViewport.cjs +2 -2
  919. package/dist/Select/SelectViewport.cjs.map +1 -1
  920. package/dist/Select/SelectViewport.js +3 -3
  921. package/dist/Select/SelectViewport.js.map +1 -1
  922. package/dist/Select/utils.cjs +6 -2
  923. package/dist/Select/utils.cjs.map +1 -1
  924. package/dist/Select/utils.js +6 -3
  925. package/dist/Select/utils.js.map +1 -1
  926. package/dist/Separator/Separator.js +1 -1
  927. package/dist/Slider/SliderHorizontal.cjs +2 -2
  928. package/dist/Slider/SliderHorizontal.cjs.map +1 -1
  929. package/dist/Slider/SliderHorizontal.js +3 -3
  930. package/dist/Slider/SliderHorizontal.js.map +1 -1
  931. package/dist/Slider/SliderImpl.js +1 -1
  932. package/dist/Slider/SliderRange.cjs +1 -1
  933. package/dist/Slider/SliderRange.cjs.map +1 -1
  934. package/dist/Slider/SliderRange.js +2 -2
  935. package/dist/Slider/SliderRange.js.map +1 -1
  936. package/dist/Slider/SliderRoot.cjs +4 -4
  937. package/dist/Slider/SliderRoot.cjs.map +1 -1
  938. package/dist/Slider/SliderRoot.js +5 -5
  939. package/dist/Slider/SliderRoot.js.map +1 -1
  940. package/dist/Slider/SliderThumb.cjs +1 -1
  941. package/dist/Slider/SliderThumb.cjs.map +1 -1
  942. package/dist/Slider/SliderThumb.js +2 -2
  943. package/dist/Slider/SliderThumb.js.map +1 -1
  944. package/dist/Slider/SliderThumbImpl.cjs +5 -5
  945. package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
  946. package/dist/Slider/SliderThumbImpl.js +6 -6
  947. package/dist/Slider/SliderThumbImpl.js.map +1 -1
  948. package/dist/Slider/SliderTrack.cjs +1 -1
  949. package/dist/Slider/SliderTrack.js +2 -2
  950. package/dist/Slider/SliderVertical.cjs +2 -2
  951. package/dist/Slider/SliderVertical.cjs.map +1 -1
  952. package/dist/Slider/SliderVertical.js +3 -3
  953. package/dist/Slider/SliderVertical.js.map +1 -1
  954. package/dist/Slider/utils.cjs +1 -1
  955. package/dist/Slider/utils.cjs.map +1 -1
  956. package/dist/Slider/utils.js +1 -1
  957. package/dist/Slider/utils.js.map +1 -1
  958. package/dist/Splitter/SplitterGroup.cjs +7 -7
  959. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  960. package/dist/Splitter/SplitterGroup.js +8 -8
  961. package/dist/Splitter/SplitterGroup.js.map +1 -1
  962. package/dist/Splitter/SplitterPanel.cjs +3 -3
  963. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  964. package/dist/Splitter/SplitterPanel.js +4 -4
  965. package/dist/Splitter/SplitterPanel.js.map +1 -1
  966. package/dist/Splitter/SplitterResizeHandle.cjs +3 -3
  967. package/dist/Splitter/SplitterResizeHandle.cjs.map +1 -1
  968. package/dist/Splitter/SplitterResizeHandle.js +4 -4
  969. package/dist/Splitter/SplitterResizeHandle.js.map +1 -1
  970. package/dist/Stepper/StepperDescription.cjs +1 -1
  971. package/dist/Stepper/StepperDescription.cjs.map +1 -1
  972. package/dist/Stepper/StepperDescription.js +2 -2
  973. package/dist/Stepper/StepperDescription.js.map +1 -1
  974. package/dist/Stepper/StepperIndicator.cjs.map +1 -1
  975. package/dist/Stepper/StepperIndicator.js +1 -1
  976. package/dist/Stepper/StepperIndicator.js.map +1 -1
  977. package/dist/Stepper/StepperItem.cjs +6 -6
  978. package/dist/Stepper/StepperItem.cjs.map +1 -1
  979. package/dist/Stepper/StepperItem.js +7 -7
  980. package/dist/Stepper/StepperItem.js.map +1 -1
  981. package/dist/Stepper/StepperRoot.cjs +3 -3
  982. package/dist/Stepper/StepperRoot.cjs.map +1 -1
  983. package/dist/Stepper/StepperRoot.js +4 -4
  984. package/dist/Stepper/StepperRoot.js.map +1 -1
  985. package/dist/Stepper/StepperSeparator.cjs.map +1 -1
  986. package/dist/Stepper/StepperSeparator.js +1 -1
  987. package/dist/Stepper/StepperSeparator.js.map +1 -1
  988. package/dist/Stepper/StepperTitle.cjs.map +1 -1
  989. package/dist/Stepper/StepperTitle.js +1 -1
  990. package/dist/Stepper/StepperTitle.js.map +1 -1
  991. package/dist/Stepper/StepperTrigger.cjs +6 -6
  992. package/dist/Stepper/StepperTrigger.cjs.map +1 -1
  993. package/dist/Stepper/StepperTrigger.js +7 -7
  994. package/dist/Stepper/StepperTrigger.js.map +1 -1
  995. package/dist/Switch/SwitchRoot.cjs +6 -6
  996. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  997. package/dist/Switch/SwitchRoot.js +7 -7
  998. package/dist/Switch/SwitchRoot.js.map +1 -1
  999. package/dist/Switch/SwitchThumb.cjs +1 -1
  1000. package/dist/Switch/SwitchThumb.cjs.map +1 -1
  1001. package/dist/Switch/SwitchThumb.js +2 -2
  1002. package/dist/Switch/SwitchThumb.js.map +1 -1
  1003. package/dist/Tabs/TabsContent.cjs +2 -2
  1004. package/dist/Tabs/TabsContent.cjs.map +1 -1
  1005. package/dist/Tabs/TabsContent.js +3 -3
  1006. package/dist/Tabs/TabsContent.js.map +1 -1
  1007. package/dist/Tabs/TabsIndicator.cjs.map +1 -1
  1008. package/dist/Tabs/TabsIndicator.js +1 -1
  1009. package/dist/Tabs/TabsIndicator.js.map +1 -1
  1010. package/dist/Tabs/TabsList.cjs +2 -2
  1011. package/dist/Tabs/TabsList.cjs.map +1 -1
  1012. package/dist/Tabs/TabsList.js +3 -3
  1013. package/dist/Tabs/TabsList.js.map +1 -1
  1014. package/dist/Tabs/TabsRoot.cjs +3 -3
  1015. package/dist/Tabs/TabsRoot.cjs.map +1 -1
  1016. package/dist/Tabs/TabsRoot.js +4 -4
  1017. package/dist/Tabs/TabsRoot.js.map +1 -1
  1018. package/dist/Tabs/TabsTrigger.cjs +3 -3
  1019. package/dist/Tabs/TabsTrigger.cjs.map +1 -1
  1020. package/dist/Tabs/TabsTrigger.js +4 -4
  1021. package/dist/Tabs/TabsTrigger.js.map +1 -1
  1022. package/dist/TagsInput/TagsInputClear.cjs +3 -3
  1023. package/dist/TagsInput/TagsInputClear.cjs.map +1 -1
  1024. package/dist/TagsInput/TagsInputClear.js +4 -4
  1025. package/dist/TagsInput/TagsInputClear.js.map +1 -1
  1026. package/dist/TagsInput/TagsInputInput.cjs +2 -2
  1027. package/dist/TagsInput/TagsInputInput.cjs.map +1 -1
  1028. package/dist/TagsInput/TagsInputInput.js +3 -3
  1029. package/dist/TagsInput/TagsInputInput.js.map +1 -1
  1030. package/dist/TagsInput/TagsInputItem.cjs +2 -2
  1031. package/dist/TagsInput/TagsInputItem.cjs.map +1 -1
  1032. package/dist/TagsInput/TagsInputItem.js +3 -3
  1033. package/dist/TagsInput/TagsInputItem.js.map +1 -1
  1034. package/dist/TagsInput/TagsInputItemDelete.cjs +3 -3
  1035. package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
  1036. package/dist/TagsInput/TagsInputItemDelete.js +4 -4
  1037. package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
  1038. package/dist/TagsInput/TagsInputItemText.cjs +2 -2
  1039. package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
  1040. package/dist/TagsInput/TagsInputItemText.js +3 -3
  1041. package/dist/TagsInput/TagsInputItemText.js.map +1 -1
  1042. package/dist/TagsInput/TagsInputRoot.cjs +7 -7
  1043. package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
  1044. package/dist/TagsInput/TagsInputRoot.js +8 -8
  1045. package/dist/TagsInput/TagsInputRoot.js.map +1 -1
  1046. package/dist/Teleport/Teleport.js +1 -1
  1047. package/dist/TimeField/TimeFieldInput.cjs +5 -5
  1048. package/dist/TimeField/TimeFieldInput.cjs.map +1 -1
  1049. package/dist/TimeField/TimeFieldInput.js +6 -6
  1050. package/dist/TimeField/TimeFieldInput.js.map +1 -1
  1051. package/dist/TimeField/TimeFieldRoot.cjs +18 -15
  1052. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  1053. package/dist/TimeField/TimeFieldRoot.js +19 -16
  1054. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  1055. package/dist/Toast/FocusProxy.js +1 -1
  1056. package/dist/Toast/ToastAction.js +1 -1
  1057. package/dist/Toast/ToastAnnounce.cjs +1 -1
  1058. package/dist/Toast/ToastAnnounce.cjs.map +1 -1
  1059. package/dist/Toast/ToastAnnounce.js +2 -2
  1060. package/dist/Toast/ToastAnnounce.js.map +1 -1
  1061. package/dist/Toast/ToastAnnounceExclude.cjs +1 -1
  1062. package/dist/Toast/ToastAnnounceExclude.js +2 -2
  1063. package/dist/Toast/ToastClose.cjs +1 -1
  1064. package/dist/Toast/ToastClose.js +2 -2
  1065. package/dist/Toast/ToastDescription.js +1 -1
  1066. package/dist/Toast/ToastPortal.js +1 -1
  1067. package/dist/Toast/ToastProvider.cjs.map +1 -1
  1068. package/dist/Toast/ToastProvider.js.map +1 -1
  1069. package/dist/Toast/ToastRoot.cjs +30 -22
  1070. package/dist/Toast/ToastRoot.cjs.map +1 -1
  1071. package/dist/Toast/ToastRoot.js +31 -23
  1072. package/dist/Toast/ToastRoot.js.map +1 -1
  1073. package/dist/Toast/ToastRootImpl.cjs +3 -3
  1074. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  1075. package/dist/Toast/ToastRootImpl.js +4 -4
  1076. package/dist/Toast/ToastRootImpl.js.map +1 -1
  1077. package/dist/Toast/ToastTitle.js +1 -1
  1078. package/dist/Toast/ToastViewport.cjs +5 -5
  1079. package/dist/Toast/ToastViewport.cjs.map +1 -1
  1080. package/dist/Toast/ToastViewport.js +6 -6
  1081. package/dist/Toast/ToastViewport.js.map +1 -1
  1082. package/dist/Toast/utils.js +1 -1
  1083. package/dist/Toggle/Toggle.cjs +4 -4
  1084. package/dist/Toggle/Toggle.cjs.map +1 -1
  1085. package/dist/Toggle/Toggle.js +5 -5
  1086. package/dist/Toggle/Toggle.js.map +1 -1
  1087. package/dist/ToggleGroup/ToggleGroupItem.cjs +1 -1
  1088. package/dist/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
  1089. package/dist/ToggleGroup/ToggleGroupItem.js +2 -2
  1090. package/dist/ToggleGroup/ToggleGroupItem.js.map +1 -1
  1091. package/dist/ToggleGroup/ToggleGroupRoot.cjs +4 -4
  1092. package/dist/ToggleGroup/ToggleGroupRoot.cjs.map +1 -1
  1093. package/dist/ToggleGroup/ToggleGroupRoot.js +5 -5
  1094. package/dist/ToggleGroup/ToggleGroupRoot.js.map +1 -1
  1095. package/dist/Toolbar/ToolbarButton.cjs +2 -2
  1096. package/dist/Toolbar/ToolbarButton.js +3 -3
  1097. package/dist/Toolbar/ToolbarLink.cjs +1 -1
  1098. package/dist/Toolbar/ToolbarLink.js +2 -2
  1099. package/dist/Toolbar/ToolbarRoot.cjs +2 -2
  1100. package/dist/Toolbar/ToolbarRoot.cjs.map +1 -1
  1101. package/dist/Toolbar/ToolbarRoot.js +3 -3
  1102. package/dist/Toolbar/ToolbarRoot.js.map +1 -1
  1103. package/dist/Toolbar/ToolbarSeparator.cjs +1 -1
  1104. package/dist/Toolbar/ToolbarSeparator.js +2 -2
  1105. package/dist/Toolbar/ToolbarToggleGroup.cjs +1 -1
  1106. package/dist/Toolbar/ToolbarToggleGroup.cjs.map +1 -1
  1107. package/dist/Toolbar/ToolbarToggleGroup.js +2 -2
  1108. package/dist/Toolbar/ToolbarToggleGroup.js.map +1 -1
  1109. package/dist/Toolbar/ToolbarToggleItem.cjs.map +1 -1
  1110. package/dist/Toolbar/ToolbarToggleItem.js +1 -1
  1111. package/dist/Toolbar/ToolbarToggleItem.js.map +1 -1
  1112. package/dist/Tooltip/TooltipArrow.js +1 -1
  1113. package/dist/Tooltip/TooltipContent.cjs +1 -1
  1114. package/dist/Tooltip/TooltipContent.cjs.map +1 -1
  1115. package/dist/Tooltip/TooltipContent.js +2 -2
  1116. package/dist/Tooltip/TooltipContent.js.map +1 -1
  1117. package/dist/Tooltip/TooltipContentHoverable.cjs.map +1 -1
  1118. package/dist/Tooltip/TooltipContentHoverable.js +1 -1
  1119. package/dist/Tooltip/TooltipContentHoverable.js.map +1 -1
  1120. package/dist/Tooltip/TooltipContentImpl.cjs +3 -3
  1121. package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
  1122. package/dist/Tooltip/TooltipContentImpl.js +4 -4
  1123. package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
  1124. package/dist/Tooltip/TooltipPortal.js +1 -1
  1125. package/dist/Tooltip/TooltipProvider.cjs +1 -1
  1126. package/dist/Tooltip/TooltipProvider.js +1 -1
  1127. package/dist/Tooltip/TooltipRoot.cjs +9 -9
  1128. package/dist/Tooltip/TooltipRoot.cjs.map +1 -1
  1129. package/dist/Tooltip/TooltipRoot.js +10 -10
  1130. package/dist/Tooltip/TooltipRoot.js.map +1 -1
  1131. package/dist/Tooltip/TooltipTrigger.cjs +6 -3
  1132. package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
  1133. package/dist/Tooltip/TooltipTrigger.js +7 -4
  1134. package/dist/Tooltip/TooltipTrigger.js.map +1 -1
  1135. package/dist/Tree/TreeItem.cjs +5 -5
  1136. package/dist/Tree/TreeItem.cjs.map +1 -1
  1137. package/dist/Tree/TreeItem.js +6 -6
  1138. package/dist/Tree/TreeItem.js.map +1 -1
  1139. package/dist/Tree/TreeRoot.cjs +9 -9
  1140. package/dist/Tree/TreeRoot.cjs.map +1 -1
  1141. package/dist/Tree/TreeRoot.js +10 -10
  1142. package/dist/Tree/TreeRoot.js.map +1 -1
  1143. package/dist/Tree/TreeVirtualizer.cjs +3 -3
  1144. package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
  1145. package/dist/Tree/TreeVirtualizer.js +4 -4
  1146. package/dist/Tree/TreeVirtualizer.js.map +1 -1
  1147. package/dist/Tree/utils.cjs.map +1 -1
  1148. package/dist/Tree/utils.js.map +1 -1
  1149. package/dist/Viewport/Viewport.js +1 -1
  1150. package/dist/VisuallyHidden/VisuallyHidden.cjs +3 -3
  1151. package/dist/VisuallyHidden/VisuallyHidden.js +4 -4
  1152. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs +9 -3
  1153. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs.map +1 -1
  1154. package/dist/VisuallyHidden/VisuallyHiddenInput.js +10 -4
  1155. package/dist/VisuallyHidden/VisuallyHiddenInput.js.map +1 -1
  1156. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs +1 -1
  1157. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs.map +1 -1
  1158. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js +2 -2
  1159. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js.map +1 -1
  1160. package/dist/component/Arrow.cjs +2 -2
  1161. package/dist/component/Arrow.js +3 -3
  1162. package/dist/component/BaseSeparator.cjs +1 -1
  1163. package/dist/component/BaseSeparator.cjs.map +1 -1
  1164. package/dist/component/BaseSeparator.js +2 -2
  1165. package/dist/component/BaseSeparator.js.map +1 -1
  1166. package/dist/composables/useWindowSplitterBehavior.cjs.map +1 -1
  1167. package/dist/composables/useWindowSplitterBehavior.js.map +1 -1
  1168. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs +3 -3
  1169. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs.map +1 -1
  1170. package/dist/composables/useWindowSplitterPanelGroupBehavior.js +3 -3
  1171. package/dist/composables/useWindowSplitterPanelGroupBehavior.js.map +1 -1
  1172. package/dist/constant/components.cjs +4 -0
  1173. package/dist/constant/components.cjs.map +1 -1
  1174. package/dist/constant/components.js +4 -0
  1175. package/dist/constant/components.js.map +1 -1
  1176. package/dist/date/calendar.cjs +1 -1
  1177. package/dist/date/calendar.cjs.map +1 -1
  1178. package/dist/date/calendar.js +1 -1
  1179. package/dist/date/calendar.js.map +1 -1
  1180. package/dist/date/comparators.cjs +6 -4
  1181. package/dist/date/comparators.cjs.map +1 -1
  1182. package/dist/date/comparators.js +7 -5
  1183. package/dist/date/comparators.js.map +1 -1
  1184. package/dist/date/parser.cjs +2 -2
  1185. package/dist/date/parser.cjs.map +1 -1
  1186. package/dist/date/parser.js +3 -3
  1187. package/dist/date/parser.js.map +1 -1
  1188. package/dist/date/useDateField.cjs +9 -9
  1189. package/dist/date/useDateField.cjs.map +1 -1
  1190. package/dist/date/useDateField.js +10 -10
  1191. package/dist/date/useDateField.js.map +1 -1
  1192. package/dist/date/utils.cjs +9 -9
  1193. package/dist/date/utils.cjs.map +1 -1
  1194. package/dist/date/utils.js +9 -9
  1195. package/dist/date/utils.js.map +1 -1
  1196. package/dist/date.d.ts +2 -2
  1197. package/dist/index.cjs +378 -374
  1198. package/dist/index.cjs.map +1 -1
  1199. package/dist/index.d.ts +1265 -1336
  1200. package/dist/index.js +175 -173
  1201. package/dist/index.js.map +1 -1
  1202. package/dist/shared/createContext.cjs.map +1 -1
  1203. package/dist/shared/createContext.js.map +1 -1
  1204. package/dist/shared/nullish.cjs +1 -1
  1205. package/dist/shared/nullish.cjs.map +1 -1
  1206. package/dist/shared/nullish.js +1 -1
  1207. package/dist/shared/nullish.js.map +1 -1
  1208. package/dist/shared/renderSlotFragments.cjs.map +1 -1
  1209. package/dist/shared/renderSlotFragments.js.map +1 -1
  1210. package/dist/shared/useArrowNavigation.cjs.map +1 -1
  1211. package/dist/shared/useArrowNavigation.js.map +1 -1
  1212. package/dist/shared/useBodyScrollLock.cjs +3 -3
  1213. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  1214. package/dist/shared/useBodyScrollLock.js +4 -4
  1215. package/dist/shared/useBodyScrollLock.js.map +1 -1
  1216. package/dist/shared/useDateFormatter.cjs +1 -1
  1217. package/dist/shared/useDateFormatter.cjs.map +1 -1
  1218. package/dist/shared/useDateFormatter.js +2 -2
  1219. package/dist/shared/useDateFormatter.js.map +1 -1
  1220. package/dist/shared/useDirection.cjs.map +1 -1
  1221. package/dist/shared/useDirection.js.map +1 -1
  1222. package/dist/shared/useFilter.cjs.map +1 -1
  1223. package/dist/shared/useFilter.js.map +1 -1
  1224. package/dist/shared/useFormControl.cjs.map +1 -1
  1225. package/dist/shared/useFormControl.js.map +1 -1
  1226. package/dist/shared/useForwardExpose.cjs.map +1 -1
  1227. package/dist/shared/useForwardExpose.js.map +1 -1
  1228. package/dist/shared/useForwardProps.cjs +2 -2
  1229. package/dist/shared/useForwardProps.cjs.map +1 -1
  1230. package/dist/shared/useForwardProps.js +2 -2
  1231. package/dist/shared/useForwardProps.js.map +1 -1
  1232. package/dist/shared/useForwardPropsEmits.cjs.map +1 -1
  1233. package/dist/shared/useForwardPropsEmits.js.map +1 -1
  1234. package/dist/shared/useGraceArea.cjs +2 -2
  1235. package/dist/shared/useGraceArea.cjs.map +1 -1
  1236. package/dist/shared/useGraceArea.js +2 -2
  1237. package/dist/shared/useGraceArea.js.map +1 -1
  1238. package/dist/shared/useHideOthers.cjs.map +1 -1
  1239. package/dist/shared/useHideOthers.js.map +1 -1
  1240. package/dist/shared/useId.cjs +1 -1
  1241. package/dist/shared/useId.cjs.map +1 -1
  1242. package/dist/shared/useId.js +1 -1
  1243. package/dist/shared/useId.js.map +1 -1
  1244. package/dist/shared/useLocale.cjs.map +1 -1
  1245. package/dist/shared/useLocale.js.map +1 -1
  1246. package/dist/shared/useNonce.cjs.map +1 -1
  1247. package/dist/shared/useNonce.js.map +1 -1
  1248. package/dist/shared/useSelectionBehavior.cjs +3 -3
  1249. package/dist/shared/useSelectionBehavior.cjs.map +1 -1
  1250. package/dist/shared/useSelectionBehavior.js +3 -3
  1251. package/dist/shared/useSelectionBehavior.js.map +1 -1
  1252. package/dist/shared/useSingleOrMultipleValue.cjs +6 -6
  1253. package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
  1254. package/dist/shared/useSingleOrMultipleValue.js +6 -6
  1255. package/dist/shared/useSingleOrMultipleValue.js.map +1 -1
  1256. package/dist/shared/useSize.cjs +1 -1
  1257. package/dist/shared/useSize.cjs.map +1 -1
  1258. package/dist/shared/useSize.js +1 -1
  1259. package/dist/shared/useSize.js.map +1 -1
  1260. package/dist/shared/useStateMachine.cjs.map +1 -1
  1261. package/dist/shared/useStateMachine.js.map +1 -1
  1262. package/dist/shared/useTypeahead.cjs +1 -1
  1263. package/dist/shared/useTypeahead.cjs.map +1 -1
  1264. package/dist/shared/useTypeahead.js +1 -1
  1265. package/dist/shared/useTypeahead.js.map +1 -1
  1266. package/dist/shared/withDefault.cjs.map +1 -1
  1267. package/dist/shared/withDefault.js.map +1 -1
  1268. package/dist/utils/calculate.cjs +1 -1
  1269. package/dist/utils/calculate.cjs.map +1 -1
  1270. package/dist/utils/calculate.js +1 -1
  1271. package/dist/utils/calculate.js.map +1 -1
  1272. package/dist/utils/dom.cjs.map +1 -1
  1273. package/dist/utils/dom.js.map +1 -1
  1274. package/dist/utils/layout.cjs +1 -1
  1275. package/dist/utils/layout.cjs.map +1 -1
  1276. package/dist/utils/layout.js +1 -1
  1277. package/dist/utils/layout.js.map +1 -1
  1278. package/dist/utils/registry.cjs +1 -1
  1279. package/dist/utils/registry.cjs.map +1 -1
  1280. package/dist/utils/registry.js +1 -1
  1281. package/dist/utils/registry.js.map +1 -1
  1282. package/dist/utils/resizePanel.cjs +1 -1
  1283. package/dist/utils/resizePanel.cjs.map +1 -1
  1284. package/dist/utils/resizePanel.js +1 -1
  1285. package/dist/utils/resizePanel.js.map +1 -1
  1286. package/dist/utils/style.cjs +2 -2
  1287. package/dist/utils/style.cjs.map +1 -1
  1288. package/dist/utils/style.js +3 -3
  1289. package/dist/utils/style.js.map +1 -1
  1290. package/package.json +7 -8
@@ -1 +1 @@
1
- {"version":3,"file":"useGraceArea.cjs","sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":["import { type Ref, ref, watchEffect } from 'vue'\nimport type { Side } from '@/Popper/utils'\nimport { createEventHook, refAutoReset } from '@vueuse/shared'\n\nexport function useGraceArea(triggerElement: Ref<HTMLElement | undefined>, containerElement: Ref<HTMLElement | undefined>) {\n// Reset the inTransit state if idle/scrolled.\n const isPointerInTransit = refAutoReset(false, 300)\n\n const pointerGraceArea = ref<Polygon | null>(null)\n const pointerExit = createEventHook<void>()\n\n function handleRemoveGraceArea() {\n pointerGraceArea.value = null\n isPointerInTransit.value = false\n }\n\n function handleCreateGraceArea(event: PointerEvent, hoverTarget: HTMLElement) {\n const currentTarget = event.currentTarget as HTMLElement\n const exitPoint = { x: event.clientX, y: event.clientY }\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect())\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide)\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect())\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints])\n pointerGraceArea.value = graceArea\n isPointerInTransit.value = true\n }\n\n watchEffect((cleanupFn) => {\n if (triggerElement.value && containerElement.value) {\n const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, containerElement.value!)\n const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, triggerElement.value!)\n\n triggerElement.value.addEventListener('pointerleave', handleTriggerLeave)\n containerElement.value.addEventListener('pointerleave', handleContentLeave)\n\n cleanupFn(() => {\n triggerElement.value?.removeEventListener('pointerleave', handleTriggerLeave)\n containerElement.value?.removeEventListener('pointerleave', handleContentLeave)\n })\n }\n })\n\n watchEffect((cleanupFn) => {\n if (pointerGraceArea.value) {\n const handleTrackPointerGrace = (event: PointerEvent) => {\n if (!pointerGraceArea.value)\n return\n const target = event.target as HTMLElement\n const pointerPosition = { x: event.clientX, y: event.clientY }\n const hasEnteredTarget = triggerElement.value?.contains(target) || containerElement.value?.contains(target)\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea.value)\n const isAnotherGraceAreaTrigger = !!target.closest('[data-grace-area-trigger]')\n\n if (hasEnteredTarget) {\n handleRemoveGraceArea()\n }\n else if (isPointerOutsideGraceArea || isAnotherGraceAreaTrigger) {\n handleRemoveGraceArea()\n pointerExit.trigger()\n }\n }\n triggerElement.value?.ownerDocument.addEventListener('pointermove', handleTrackPointerGrace)\n\n cleanupFn(() => triggerElement.value?.ownerDocument.removeEventListener('pointermove', handleTrackPointerGrace))\n }\n })\n\n return {\n isPointerInTransit,\n onPointerExit: pointerExit.on,\n }\n}\n\ninterface Point { x: number, y: number }\n type Polygon = Point[]\n\nfunction getExitSideFromRect(point: Point, rect: DOMRect): Side {\n const top = Math.abs(rect.top - point.y)\n const bottom = Math.abs(rect.bottom - point.y)\n const right = Math.abs(rect.right - point.x)\n const left = Math.abs(rect.left - point.x)\n\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return 'left'\n case right:\n return 'right'\n case top:\n return 'top'\n case bottom:\n return 'bottom'\n default:\n throw new Error('unreachable')\n }\n}\n\nfunction getPaddedExitPoints(exitPoint: Point, exitSide: Side, padding = 5) {\n const paddedExitPoints: Point[] = []\n switch (exitSide) {\n case 'top':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'bottom':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n )\n break\n case 'left':\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'right':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n )\n break\n }\n return paddedExitPoints\n}\n\nfunction getPointsFromRect(rect: DOMRect) {\n const { top, right, bottom, left } = rect\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom },\n ]\n}\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point\n let inside = false\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x\n const yi = polygon[i].y\n const xj = polygon[j].x\n const yj = polygon[j].y\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi)\n if (intersect)\n inside = !inside\n }\n\n return inside\n}\n\n// Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction getHull<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n const newPoints: Array<P> = points.slice()\n newPoints.sort((a: Point, b: Point) => {\n if (a.x < b.x)\n return -1\n else if (a.x > b.x)\n return +1\n else if (a.y < b.y)\n return -1\n else if (a.y > b.y)\n return +1\n else return 0\n })\n return getHullPresorted(newPoints)\n}\n\n// Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n if (points.length <= 1)\n return points.slice()\n\n const upperHull: Array<P> = []\n for (let i = 0; i < points.length; i++) {\n const p = points[i]\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1]\n const r = upperHull[upperHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n upperHull.pop()\n else break\n }\n upperHull.push(p)\n }\n upperHull.pop()\n\n const lowerHull: Array<P> = []\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i]\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1]\n const r = lowerHull[lowerHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n lowerHull.pop()\n else break\n }\n lowerHull.push(p)\n }\n lowerHull.pop()\n\n if (\n upperHull.length === 1\n && lowerHull.length === 1\n && upperHull[0].x === lowerHull[0].x\n && upperHull[0].y === lowerHull[0].y\n ) {\n return upperHull\n }\n\n else {\n return upperHull.concat(lowerHull)\n }\n}\n"],"names":["refAutoReset","ref","createEventHook","watchEffect"],"mappings":"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"}
1
+ {"version":3,"file":"useGraceArea.cjs","sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":["import type { Side } from '@/Popper/utils'\nimport type { Ref } from 'vue'\nimport { createEventHook, refAutoReset } from '@vueuse/shared'\nimport { ref, watchEffect } from 'vue'\n\nexport function useGraceArea(triggerElement: Ref<HTMLElement | undefined>, containerElement: Ref<HTMLElement | undefined>) {\n// Reset the inTransit state if idle/scrolled.\n const isPointerInTransit = refAutoReset(false, 300)\n\n const pointerGraceArea = ref<Polygon | null>(null)\n const pointerExit = createEventHook<void>()\n\n function handleRemoveGraceArea() {\n pointerGraceArea.value = null\n isPointerInTransit.value = false\n }\n\n function handleCreateGraceArea(event: PointerEvent, hoverTarget: HTMLElement) {\n const currentTarget = event.currentTarget as HTMLElement\n const exitPoint = { x: event.clientX, y: event.clientY }\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect())\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide)\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect())\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints])\n pointerGraceArea.value = graceArea\n isPointerInTransit.value = true\n }\n\n watchEffect((cleanupFn) => {\n if (triggerElement.value && containerElement.value) {\n const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, containerElement.value!)\n const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, triggerElement.value!)\n\n triggerElement.value.addEventListener('pointerleave', handleTriggerLeave)\n containerElement.value.addEventListener('pointerleave', handleContentLeave)\n\n cleanupFn(() => {\n triggerElement.value?.removeEventListener('pointerleave', handleTriggerLeave)\n containerElement.value?.removeEventListener('pointerleave', handleContentLeave)\n })\n }\n })\n\n watchEffect((cleanupFn) => {\n if (pointerGraceArea.value) {\n const handleTrackPointerGrace = (event: PointerEvent) => {\n if (!pointerGraceArea.value || !(event.target instanceof HTMLElement))\n return\n\n const target = event.target\n const pointerPosition = { x: event.clientX, y: event.clientY }\n const hasEnteredTarget = triggerElement.value?.contains(target) || containerElement.value?.contains(target)\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea.value)\n const isAnotherGraceAreaTrigger = !!target.closest('[data-grace-area-trigger]')\n\n if (hasEnteredTarget) {\n handleRemoveGraceArea()\n }\n else if (isPointerOutsideGraceArea || isAnotherGraceAreaTrigger) {\n handleRemoveGraceArea()\n pointerExit.trigger()\n }\n }\n triggerElement.value?.ownerDocument.addEventListener('pointermove', handleTrackPointerGrace)\n\n cleanupFn(() => triggerElement.value?.ownerDocument.removeEventListener('pointermove', handleTrackPointerGrace))\n }\n })\n\n return {\n isPointerInTransit,\n onPointerExit: pointerExit.on,\n }\n}\n\ninterface Point { x: number, y: number }\n type Polygon = Point[]\n\nfunction getExitSideFromRect(point: Point, rect: DOMRect): Side {\n const top = Math.abs(rect.top - point.y)\n const bottom = Math.abs(rect.bottom - point.y)\n const right = Math.abs(rect.right - point.x)\n const left = Math.abs(rect.left - point.x)\n\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return 'left'\n case right:\n return 'right'\n case top:\n return 'top'\n case bottom:\n return 'bottom'\n default:\n throw new Error('unreachable')\n }\n}\n\nfunction getPaddedExitPoints(exitPoint: Point, exitSide: Side, padding = 5) {\n const paddedExitPoints: Point[] = []\n switch (exitSide) {\n case 'top':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'bottom':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n )\n break\n case 'left':\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'right':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n )\n break\n }\n return paddedExitPoints\n}\n\nfunction getPointsFromRect(rect: DOMRect) {\n const { top, right, bottom, left } = rect\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom },\n ]\n}\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point\n let inside = false\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x\n const yi = polygon[i].y\n const xj = polygon[j].x\n const yj = polygon[j].y\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi)\n if (intersect)\n inside = !inside\n }\n\n return inside\n}\n\n// Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction getHull<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n const newPoints: Array<P> = points.slice()\n newPoints.sort((a: Point, b: Point) => {\n if (a.x < b.x)\n return -1\n else if (a.x > b.x)\n return +1\n else if (a.y < b.y)\n return -1\n else if (a.y > b.y)\n return +1\n else return 0\n })\n return getHullPresorted(newPoints)\n}\n\n// Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n if (points.length <= 1)\n return points.slice()\n\n const upperHull: Array<P> = []\n for (let i = 0; i < points.length; i++) {\n const p = points[i]\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1]\n const r = upperHull[upperHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n upperHull.pop()\n else break\n }\n upperHull.push(p)\n }\n upperHull.pop()\n\n const lowerHull: Array<P> = []\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i]\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1]\n const r = lowerHull[lowerHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n lowerHull.pop()\n else break\n }\n lowerHull.push(p)\n }\n lowerHull.pop()\n\n if (\n upperHull.length === 1\n && lowerHull.length === 1\n && upperHull[0].x === lowerHull[0].x\n && upperHull[0].y === lowerHull[0].y\n ) {\n return upperHull\n }\n\n else {\n return upperHull.concat(lowerHull)\n }\n}\n"],"names":["refAutoReset","ref","createEventHook","watchEffect"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ref, watchEffect } from 'vue';
2
1
  import { refAutoReset, createEventHook } from '@vueuse/shared';
2
+ import { ref, watchEffect } from 'vue';
3
3
 
4
4
  function useGraceArea(triggerElement, containerElement) {
5
5
  const isPointerInTransit = refAutoReset(false, 300);
@@ -34,7 +34,7 @@ function useGraceArea(triggerElement, containerElement) {
34
34
  watchEffect((cleanupFn) => {
35
35
  if (pointerGraceArea.value) {
36
36
  const handleTrackPointerGrace = (event) => {
37
- if (!pointerGraceArea.value)
37
+ if (!pointerGraceArea.value || !(event.target instanceof HTMLElement))
38
38
  return;
39
39
  const target = event.target;
40
40
  const pointerPosition = { x: event.clientX, y: event.clientY };
@@ -1 +1 @@
1
- {"version":3,"file":"useGraceArea.js","sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":["import { type Ref, ref, watchEffect } from 'vue'\nimport type { Side } from '@/Popper/utils'\nimport { createEventHook, refAutoReset } from '@vueuse/shared'\n\nexport function useGraceArea(triggerElement: Ref<HTMLElement | undefined>, containerElement: Ref<HTMLElement | undefined>) {\n// Reset the inTransit state if idle/scrolled.\n const isPointerInTransit = refAutoReset(false, 300)\n\n const pointerGraceArea = ref<Polygon | null>(null)\n const pointerExit = createEventHook<void>()\n\n function handleRemoveGraceArea() {\n pointerGraceArea.value = null\n isPointerInTransit.value = false\n }\n\n function handleCreateGraceArea(event: PointerEvent, hoverTarget: HTMLElement) {\n const currentTarget = event.currentTarget as HTMLElement\n const exitPoint = { x: event.clientX, y: event.clientY }\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect())\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide)\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect())\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints])\n pointerGraceArea.value = graceArea\n isPointerInTransit.value = true\n }\n\n watchEffect((cleanupFn) => {\n if (triggerElement.value && containerElement.value) {\n const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, containerElement.value!)\n const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, triggerElement.value!)\n\n triggerElement.value.addEventListener('pointerleave', handleTriggerLeave)\n containerElement.value.addEventListener('pointerleave', handleContentLeave)\n\n cleanupFn(() => {\n triggerElement.value?.removeEventListener('pointerleave', handleTriggerLeave)\n containerElement.value?.removeEventListener('pointerleave', handleContentLeave)\n })\n }\n })\n\n watchEffect((cleanupFn) => {\n if (pointerGraceArea.value) {\n const handleTrackPointerGrace = (event: PointerEvent) => {\n if (!pointerGraceArea.value)\n return\n const target = event.target as HTMLElement\n const pointerPosition = { x: event.clientX, y: event.clientY }\n const hasEnteredTarget = triggerElement.value?.contains(target) || containerElement.value?.contains(target)\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea.value)\n const isAnotherGraceAreaTrigger = !!target.closest('[data-grace-area-trigger]')\n\n if (hasEnteredTarget) {\n handleRemoveGraceArea()\n }\n else if (isPointerOutsideGraceArea || isAnotherGraceAreaTrigger) {\n handleRemoveGraceArea()\n pointerExit.trigger()\n }\n }\n triggerElement.value?.ownerDocument.addEventListener('pointermove', handleTrackPointerGrace)\n\n cleanupFn(() => triggerElement.value?.ownerDocument.removeEventListener('pointermove', handleTrackPointerGrace))\n }\n })\n\n return {\n isPointerInTransit,\n onPointerExit: pointerExit.on,\n }\n}\n\ninterface Point { x: number, y: number }\n type Polygon = Point[]\n\nfunction getExitSideFromRect(point: Point, rect: DOMRect): Side {\n const top = Math.abs(rect.top - point.y)\n const bottom = Math.abs(rect.bottom - point.y)\n const right = Math.abs(rect.right - point.x)\n const left = Math.abs(rect.left - point.x)\n\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return 'left'\n case right:\n return 'right'\n case top:\n return 'top'\n case bottom:\n return 'bottom'\n default:\n throw new Error('unreachable')\n }\n}\n\nfunction getPaddedExitPoints(exitPoint: Point, exitSide: Side, padding = 5) {\n const paddedExitPoints: Point[] = []\n switch (exitSide) {\n case 'top':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'bottom':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n )\n break\n case 'left':\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'right':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n )\n break\n }\n return paddedExitPoints\n}\n\nfunction getPointsFromRect(rect: DOMRect) {\n const { top, right, bottom, left } = rect\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom },\n ]\n}\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point\n let inside = false\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x\n const yi = polygon[i].y\n const xj = polygon[j].x\n const yj = polygon[j].y\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi)\n if (intersect)\n inside = !inside\n }\n\n return inside\n}\n\n// Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction getHull<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n const newPoints: Array<P> = points.slice()\n newPoints.sort((a: Point, b: Point) => {\n if (a.x < b.x)\n return -1\n else if (a.x > b.x)\n return +1\n else if (a.y < b.y)\n return -1\n else if (a.y > b.y)\n return +1\n else return 0\n })\n return getHullPresorted(newPoints)\n}\n\n// Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n if (points.length <= 1)\n return points.slice()\n\n const upperHull: Array<P> = []\n for (let i = 0; i < points.length; i++) {\n const p = points[i]\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1]\n const r = upperHull[upperHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n upperHull.pop()\n else break\n }\n upperHull.push(p)\n }\n upperHull.pop()\n\n const lowerHull: Array<P> = []\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i]\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1]\n const r = lowerHull[lowerHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n lowerHull.pop()\n else break\n }\n lowerHull.push(p)\n }\n lowerHull.pop()\n\n if (\n upperHull.length === 1\n && lowerHull.length === 1\n && upperHull[0].x === lowerHull[0].x\n && upperHull[0].y === lowerHull[0].y\n ) {\n return upperHull\n }\n\n else {\n return upperHull.concat(lowerHull)\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGraceArea.js","sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":["import type { Side } from '@/Popper/utils'\nimport type { Ref } from 'vue'\nimport { createEventHook, refAutoReset } from '@vueuse/shared'\nimport { ref, watchEffect } from 'vue'\n\nexport function useGraceArea(triggerElement: Ref<HTMLElement | undefined>, containerElement: Ref<HTMLElement | undefined>) {\n// Reset the inTransit state if idle/scrolled.\n const isPointerInTransit = refAutoReset(false, 300)\n\n const pointerGraceArea = ref<Polygon | null>(null)\n const pointerExit = createEventHook<void>()\n\n function handleRemoveGraceArea() {\n pointerGraceArea.value = null\n isPointerInTransit.value = false\n }\n\n function handleCreateGraceArea(event: PointerEvent, hoverTarget: HTMLElement) {\n const currentTarget = event.currentTarget as HTMLElement\n const exitPoint = { x: event.clientX, y: event.clientY }\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect())\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide)\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect())\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints])\n pointerGraceArea.value = graceArea\n isPointerInTransit.value = true\n }\n\n watchEffect((cleanupFn) => {\n if (triggerElement.value && containerElement.value) {\n const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, containerElement.value!)\n const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, triggerElement.value!)\n\n triggerElement.value.addEventListener('pointerleave', handleTriggerLeave)\n containerElement.value.addEventListener('pointerleave', handleContentLeave)\n\n cleanupFn(() => {\n triggerElement.value?.removeEventListener('pointerleave', handleTriggerLeave)\n containerElement.value?.removeEventListener('pointerleave', handleContentLeave)\n })\n }\n })\n\n watchEffect((cleanupFn) => {\n if (pointerGraceArea.value) {\n const handleTrackPointerGrace = (event: PointerEvent) => {\n if (!pointerGraceArea.value || !(event.target instanceof HTMLElement))\n return\n\n const target = event.target\n const pointerPosition = { x: event.clientX, y: event.clientY }\n const hasEnteredTarget = triggerElement.value?.contains(target) || containerElement.value?.contains(target)\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea.value)\n const isAnotherGraceAreaTrigger = !!target.closest('[data-grace-area-trigger]')\n\n if (hasEnteredTarget) {\n handleRemoveGraceArea()\n }\n else if (isPointerOutsideGraceArea || isAnotherGraceAreaTrigger) {\n handleRemoveGraceArea()\n pointerExit.trigger()\n }\n }\n triggerElement.value?.ownerDocument.addEventListener('pointermove', handleTrackPointerGrace)\n\n cleanupFn(() => triggerElement.value?.ownerDocument.removeEventListener('pointermove', handleTrackPointerGrace))\n }\n })\n\n return {\n isPointerInTransit,\n onPointerExit: pointerExit.on,\n }\n}\n\ninterface Point { x: number, y: number }\n type Polygon = Point[]\n\nfunction getExitSideFromRect(point: Point, rect: DOMRect): Side {\n const top = Math.abs(rect.top - point.y)\n const bottom = Math.abs(rect.bottom - point.y)\n const right = Math.abs(rect.right - point.x)\n const left = Math.abs(rect.left - point.x)\n\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return 'left'\n case right:\n return 'right'\n case top:\n return 'top'\n case bottom:\n return 'bottom'\n default:\n throw new Error('unreachable')\n }\n}\n\nfunction getPaddedExitPoints(exitPoint: Point, exitSide: Side, padding = 5) {\n const paddedExitPoints: Point[] = []\n switch (exitSide) {\n case 'top':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'bottom':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n )\n break\n case 'left':\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'right':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n )\n break\n }\n return paddedExitPoints\n}\n\nfunction getPointsFromRect(rect: DOMRect) {\n const { top, right, bottom, left } = rect\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom },\n ]\n}\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point\n let inside = false\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x\n const yi = polygon[i].y\n const xj = polygon[j].x\n const yj = polygon[j].y\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi)\n if (intersect)\n inside = !inside\n }\n\n return inside\n}\n\n// Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction getHull<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n const newPoints: Array<P> = points.slice()\n newPoints.sort((a: Point, b: Point) => {\n if (a.x < b.x)\n return -1\n else if (a.x > b.x)\n return +1\n else if (a.y < b.y)\n return -1\n else if (a.y > b.y)\n return +1\n else return 0\n })\n return getHullPresorted(newPoints)\n}\n\n// Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n if (points.length <= 1)\n return points.slice()\n\n const upperHull: Array<P> = []\n for (let i = 0; i < points.length; i++) {\n const p = points[i]\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1]\n const r = upperHull[upperHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n upperHull.pop()\n else break\n }\n upperHull.push(p)\n }\n upperHull.pop()\n\n const lowerHull: Array<P> = []\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i]\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1]\n const r = lowerHull[lowerHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n lowerHull.pop()\n else break\n }\n lowerHull.push(p)\n }\n lowerHull.pop()\n\n if (\n upperHull.length === 1\n && lowerHull.length === 1\n && upperHull[0].x === lowerHull[0].x\n && upperHull[0].y === lowerHull[0].y\n ) {\n return upperHull\n }\n\n else {\n return upperHull.concat(lowerHull)\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHideOthers.cjs","sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":["import { type MaybeElementRef, unrefElement } from '@vueuse/core'\nimport { hideOthers } from 'aria-hidden'\nimport { onUnmounted, watch } from 'vue'\n\n/**\n * The `useHideOthers` function is a TypeScript function that takes a target element reference and\n * hides all other elements in ARIA when the target element is present, and restores the visibility of the\n * hidden elements when the target element is removed.\n * @param {MaybeElementRef} target - The `target` parameter is a reference to the element that you want\n * to hide other elements when it is clicked or focused.\n */\nexport function useHideOthers(target: MaybeElementRef) {\n let undo: ReturnType<typeof hideOthers>\n watch(() => unrefElement(target), (el) => {\n // disable hideOthers on test mode\n if (import.meta.env.MODE === 'test')\n return\n if (el)\n undo = hideOthers(el)\n else if (undo)\n undo()\n })\n\n onUnmounted(() => {\n if (undo)\n undo()\n })\n}\n"],"names":["watch","unrefElement","hideOthers","onUnmounted"],"mappings":";;;;;;AAWO,SAAS,cAAc,MAAyB,EAAA;AACjD,EAAA,IAAA,IAAA;AACJ,EAAAA,SAAA,CAAM,MAAMC,iBAAA,CAAa,MAAM,CAAA,EAAG,CAAC,EAAO,KAAA;AAIpC,IAAA,IAAA,EAAA;AACF,MAAA,IAAA,GAAOC,sBAAW,EAAE,CAAA;AAAA,SACb,IAAA,IAAA;AACF,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AAED,EAAAC,eAAA,CAAY,MAAM;AACZ,IAAA,IAAA,IAAA;AACG,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"useHideOthers.cjs","sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":["import type { MaybeElementRef } from '@vueuse/core'\nimport { unrefElement } from '@vueuse/core'\nimport { hideOthers } from 'aria-hidden'\nimport { onUnmounted, watch } from 'vue'\n\n/**\n * The `useHideOthers` function is a TypeScript function that takes a target element reference and\n * hides all other elements in ARIA when the target element is present, and restores the visibility of the\n * hidden elements when the target element is removed.\n * @param {MaybeElementRef} target - The `target` parameter is a reference to the element that you want\n * to hide other elements when it is clicked or focused.\n */\nexport function useHideOthers(target: MaybeElementRef) {\n let undo: ReturnType<typeof hideOthers>\n watch(() => unrefElement(target), (el) => {\n // disable hideOthers on test mode\n if (import.meta.env.MODE === 'test')\n return\n if (el)\n undo = hideOthers(el)\n else if (undo)\n undo()\n })\n\n onUnmounted(() => {\n if (undo)\n undo()\n })\n}\n"],"names":["watch","unrefElement","hideOthers","onUnmounted"],"mappings":";;;;;;AAYO,SAAS,cAAc,MAAyB,EAAA;AACjD,EAAA,IAAA,IAAA;AACJ,EAAAA,SAAA,CAAM,MAAMC,iBAAA,CAAa,MAAM,CAAA,EAAG,CAAC,EAAO,KAAA;AAIpC,IAAA,IAAA,EAAA;AACF,MAAA,IAAA,GAAOC,sBAAW,EAAE,CAAA;AAAA,SACb,IAAA,IAAA;AACF,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AAED,EAAAC,eAAA,CAAY,MAAM;AACZ,IAAA,IAAA,IAAA;AACG,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHideOthers.js","sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":["import { type MaybeElementRef, unrefElement } from '@vueuse/core'\nimport { hideOthers } from 'aria-hidden'\nimport { onUnmounted, watch } from 'vue'\n\n/**\n * The `useHideOthers` function is a TypeScript function that takes a target element reference and\n * hides all other elements in ARIA when the target element is present, and restores the visibility of the\n * hidden elements when the target element is removed.\n * @param {MaybeElementRef} target - The `target` parameter is a reference to the element that you want\n * to hide other elements when it is clicked or focused.\n */\nexport function useHideOthers(target: MaybeElementRef) {\n let undo: ReturnType<typeof hideOthers>\n watch(() => unrefElement(target), (el) => {\n // disable hideOthers on test mode\n if (import.meta.env.MODE === 'test')\n return\n if (el)\n undo = hideOthers(el)\n else if (undo)\n undo()\n })\n\n onUnmounted(() => {\n if (undo)\n undo()\n })\n}\n"],"names":[],"mappings":";;;;AAWO,SAAS,cAAc,MAAyB,EAAA;AACjD,EAAA,IAAA,IAAA;AACJ,EAAA,KAAA,CAAM,MAAM,YAAA,CAAa,MAAM,CAAA,EAAG,CAAC,EAAO,KAAA;AAIpC,IAAA,IAAA,EAAA;AACF,MAAA,IAAA,GAAO,WAAW,EAAE,CAAA;AAAA,SACb,IAAA,IAAA;AACF,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AAED,EAAA,WAAA,CAAY,MAAM;AACZ,IAAA,IAAA,IAAA;AACG,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"useHideOthers.js","sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":["import type { MaybeElementRef } from '@vueuse/core'\nimport { unrefElement } from '@vueuse/core'\nimport { hideOthers } from 'aria-hidden'\nimport { onUnmounted, watch } from 'vue'\n\n/**\n * The `useHideOthers` function is a TypeScript function that takes a target element reference and\n * hides all other elements in ARIA when the target element is present, and restores the visibility of the\n * hidden elements when the target element is removed.\n * @param {MaybeElementRef} target - The `target` parameter is a reference to the element that you want\n * to hide other elements when it is clicked or focused.\n */\nexport function useHideOthers(target: MaybeElementRef) {\n let undo: ReturnType<typeof hideOthers>\n watch(() => unrefElement(target), (el) => {\n // disable hideOthers on test mode\n if (import.meta.env.MODE === 'test')\n return\n if (el)\n undo = hideOthers(el)\n else if (undo)\n undo()\n })\n\n onUnmounted(() => {\n if (undo)\n undo()\n })\n}\n"],"names":[],"mappings":";;;;AAYO,SAAS,cAAc,MAAyB,EAAA;AACjD,EAAA,IAAA,IAAA;AACJ,EAAA,KAAA,CAAM,MAAM,YAAA,CAAa,MAAM,CAAA,EAAG,CAAC,EAAO,KAAA;AAIpC,IAAA,IAAA,EAAA;AACF,MAAA,IAAA,GAAO,WAAW,EAAE,CAAA;AAAA,SACb,IAAA,IAAA;AACF,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AAED,EAAA,WAAA,CAAY,MAAM;AACZ,IAAA,IAAA,IAAA;AACG,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AACH;;;;"}
@@ -26,7 +26,7 @@ let count = 0;
26
26
  function useId(deterministicId, prefix = "reka") {
27
27
  if (deterministicId)
28
28
  return deterministicId;
29
- const configProviderContext = ConfigProvider_ConfigProvider.injectConfigProviderContext({ useId: undefined });
29
+ const configProviderContext = ConfigProvider_ConfigProvider.injectConfigProviderContext({ useId: void 0 });
30
30
  if (vue__namespace.useId) {
31
31
  return `${prefix}-${vue__namespace.useId()}`;
32
32
  } else if (configProviderContext.useId) {
@@ -1 +1 @@
1
- {"version":3,"file":"useId.cjs","sources":["../../src/shared/useId.ts"],"sourcesContent":["// Inspired from https://github.com/tailwindlabs/headlessui/issues/2913\n// as the alternative, and a fallback for Vue version < 3.5\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport * as vue from 'vue'\n\nlet count = 0\n/**\n * The `useId` function generates a unique identifier using a provided deterministic ID or a default\n * one prefixed with \"reka-\", or the provided one via `useId` props from `<ConfigProvider>`.\n * @param {string | null | undefined} [deterministicId] - The `useId` function you provided takes an\n * optional parameter `deterministicId`, which can be a string, null, or undefined. If\n * `deterministicId` is provided, the function will return it. Otherwise, it will generate an id using\n * the `useId` function obtained\n */\nexport function useId(deterministicId?: string | null | undefined, prefix = 'reka') {\n if (deterministicId)\n return deterministicId\n\n const configProviderContext = injectConfigProviderContext({ useId: undefined })\n\n if (vue.useId) {\n return `${prefix}-${vue.useId()}`\n }\n else if (configProviderContext.useId) {\n return `${prefix}-${configProviderContext.useId()}`\n }\n\n return `${prefix}-${++count}`\n}\n"],"names":["injectConfigProviderContext","vue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAI,KAAQ,GAAA,CAAA;AASI,SAAA,KAAA,CAAM,eAA6C,EAAA,MAAA,GAAS,MAAQ,EAAA;AAClF,EAAI,IAAA,eAAA;AACF,IAAO,OAAA,eAAA;AAET,EAAA,MAAM,qBAAwB,GAAAA,yDAAA,CAA4B,EAAE,KAAA,EAAO,WAAW,CAAA;AAE9E,EAAA,IAAIC,eAAI,KAAO,EAAA;AACb,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAAA,cAAA,CAAI,OAAO,CAAA,CAAA;AAAA,GACjC,MAAA,IACS,sBAAsB,KAAO,EAAA;AACpC,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,qBAAA,CAAsB,OAAO,CAAA,CAAA;AAAA;AAGnD,EAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,EAAE,KAAK,CAAA,CAAA;AAC7B;;;;"}
1
+ {"version":3,"file":"useId.cjs","sources":["../../src/shared/useId.ts"],"sourcesContent":["// Inspired from https://github.com/tailwindlabs/headlessui/issues/2913\n// as the alternative, and a fallback for Vue version < 3.5\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport * as vue from 'vue'\n\nlet count = 0\n/**\n * The `useId` function generates a unique identifier using a provided deterministic ID or a default\n * one prefixed with \"reka-\", or the provided one via `useId` props from `<ConfigProvider>`.\n * @param {string | null | undefined} [deterministicId] - The `useId` function you provided takes an\n * optional parameter `deterministicId`, which can be a string, null, or undefined. If\n * `deterministicId` is provided, the function will return it. Otherwise, it will generate an id using\n * the `useId` function obtained\n */\nexport function useId(deterministicId?: string | null | undefined, prefix = 'reka') {\n if (deterministicId)\n return deterministicId\n\n const configProviderContext = injectConfigProviderContext({ useId: undefined })\n\n if (vue.useId) {\n return `${prefix}-${vue.useId()}`\n }\n else if (configProviderContext.useId) {\n return `${prefix}-${configProviderContext.useId()}`\n }\n\n return `${prefix}-${++count}`\n}\n"],"names":["injectConfigProviderContext","vue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAI,KAAQ,GAAA,CAAA;AASI,SAAA,KAAA,CAAM,eAA6C,EAAA,MAAA,GAAS,MAAQ,EAAA;AAClF,EAAI,IAAA,eAAA;AACF,IAAO,OAAA,eAAA;AAET,EAAA,MAAM,qBAAwB,GAAAA,yDAAA,CAA4B,EAAE,KAAA,EAAO,QAAW,CAAA;AAE9E,EAAA,IAAIC,eAAI,KAAO,EAAA;AACb,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAAA,cAAA,CAAI,OAAO,CAAA,CAAA;AAAA,GACjC,MAAA,IACS,sBAAsB,KAAO,EAAA;AACpC,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,qBAAA,CAAsB,OAAO,CAAA,CAAA;AAAA;AAGnD,EAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,EAAE,KAAK,CAAA,CAAA;AAC7B;;;;"}
@@ -5,7 +5,7 @@ let count = 0;
5
5
  function useId(deterministicId, prefix = "reka") {
6
6
  if (deterministicId)
7
7
  return deterministicId;
8
- const configProviderContext = injectConfigProviderContext({ useId: undefined });
8
+ const configProviderContext = injectConfigProviderContext({ useId: void 0 });
9
9
  if (vue.useId) {
10
10
  return `${prefix}-${vue.useId()}`;
11
11
  } else if (configProviderContext.useId) {
@@ -1 +1 @@
1
- {"version":3,"file":"useId.js","sources":["../../src/shared/useId.ts"],"sourcesContent":["// Inspired from https://github.com/tailwindlabs/headlessui/issues/2913\n// as the alternative, and a fallback for Vue version < 3.5\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport * as vue from 'vue'\n\nlet count = 0\n/**\n * The `useId` function generates a unique identifier using a provided deterministic ID or a default\n * one prefixed with \"reka-\", or the provided one via `useId` props from `<ConfigProvider>`.\n * @param {string | null | undefined} [deterministicId] - The `useId` function you provided takes an\n * optional parameter `deterministicId`, which can be a string, null, or undefined. If\n * `deterministicId` is provided, the function will return it. Otherwise, it will generate an id using\n * the `useId` function obtained\n */\nexport function useId(deterministicId?: string | null | undefined, prefix = 'reka') {\n if (deterministicId)\n return deterministicId\n\n const configProviderContext = injectConfigProviderContext({ useId: undefined })\n\n if (vue.useId) {\n return `${prefix}-${vue.useId()}`\n }\n else if (configProviderContext.useId) {\n return `${prefix}-${configProviderContext.useId()}`\n }\n\n return `${prefix}-${++count}`\n}\n"],"names":[],"mappings":";;;AAKA,IAAI,KAAQ,GAAA,CAAA;AASI,SAAA,KAAA,CAAM,eAA6C,EAAA,MAAA,GAAS,MAAQ,EAAA;AAClF,EAAI,IAAA,eAAA;AACF,IAAO,OAAA,eAAA;AAET,EAAA,MAAM,qBAAwB,GAAA,2BAAA,CAA4B,EAAE,KAAA,EAAO,WAAW,CAAA;AAE9E,EAAA,IAAI,IAAI,KAAO,EAAA;AACb,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,GAAA,CAAI,OAAO,CAAA,CAAA;AAAA,GACjC,MAAA,IACS,sBAAsB,KAAO,EAAA;AACpC,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,qBAAA,CAAsB,OAAO,CAAA,CAAA;AAAA;AAGnD,EAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,EAAE,KAAK,CAAA,CAAA;AAC7B;;;;"}
1
+ {"version":3,"file":"useId.js","sources":["../../src/shared/useId.ts"],"sourcesContent":["// Inspired from https://github.com/tailwindlabs/headlessui/issues/2913\n// as the alternative, and a fallback for Vue version < 3.5\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport * as vue from 'vue'\n\nlet count = 0\n/**\n * The `useId` function generates a unique identifier using a provided deterministic ID or a default\n * one prefixed with \"reka-\", or the provided one via `useId` props from `<ConfigProvider>`.\n * @param {string | null | undefined} [deterministicId] - The `useId` function you provided takes an\n * optional parameter `deterministicId`, which can be a string, null, or undefined. If\n * `deterministicId` is provided, the function will return it. Otherwise, it will generate an id using\n * the `useId` function obtained\n */\nexport function useId(deterministicId?: string | null | undefined, prefix = 'reka') {\n if (deterministicId)\n return deterministicId\n\n const configProviderContext = injectConfigProviderContext({ useId: undefined })\n\n if (vue.useId) {\n return `${prefix}-${vue.useId()}`\n }\n else if (configProviderContext.useId) {\n return `${prefix}-${configProviderContext.useId()}`\n }\n\n return `${prefix}-${++count}`\n}\n"],"names":[],"mappings":";;;AAKA,IAAI,KAAQ,GAAA,CAAA;AASI,SAAA,KAAA,CAAM,eAA6C,EAAA,MAAA,GAAS,MAAQ,EAAA;AAClF,EAAI,IAAA,eAAA;AACF,IAAO,OAAA,eAAA;AAET,EAAA,MAAM,qBAAwB,GAAA,2BAAA,CAA4B,EAAE,KAAA,EAAO,QAAW,CAAA;AAE9E,EAAA,IAAI,IAAI,KAAO,EAAA;AACb,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,GAAA,CAAI,OAAO,CAAA,CAAA;AAAA,GACjC,MAAA,IACS,sBAAsB,KAAO,EAAA;AACpC,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,qBAAA,CAAsB,OAAO,CAAA,CAAA;AAAA;AAGnD,EAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,EAAE,KAAK,CAAA,CAAA;AAC7B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLocale.cjs","sources":["../../src/shared/useLocale.ts"],"sourcesContent":["import { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { type Ref, computed, ref } from 'vue'\n\nexport function useLocale(locale?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n locale: ref('en'),\n })\n return computed(() => locale?.value || context.locale?.value || 'en')\n}\n"],"names":["injectConfigProviderContext","ref","computed"],"mappings":";;;;;AAGO,SAAS,UAAU,MAAkC,EAAA;AAC1D,EAAA,MAAM,UAAUA,yDAA4B,CAAA;AAAA,IAC1C,MAAA,EAAQC,QAAI,IAAI;AAAA,GACjB,CAAA;AACD,EAAA,OAAOC,aAAS,MAAM,MAAA,EAAQ,SAAS,OAAQ,CAAA,MAAA,EAAQ,SAAS,IAAI,CAAA;AACtE;;;;"}
1
+ {"version":3,"file":"useLocale.cjs","sources":["../../src/shared/useLocale.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { computed, ref } from 'vue'\n\nexport function useLocale(locale?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n locale: ref('en'),\n })\n return computed(() => locale?.value || context.locale?.value || 'en')\n}\n"],"names":["injectConfigProviderContext","ref","computed"],"mappings":";;;;;AAIO,SAAS,UAAU,MAAkC,EAAA;AAC1D,EAAA,MAAM,UAAUA,yDAA4B,CAAA;AAAA,IAC1C,MAAA,EAAQC,QAAI,IAAI;AAAA,GACjB,CAAA;AACD,EAAA,OAAOC,aAAS,MAAM,MAAA,EAAQ,SAAS,OAAQ,CAAA,MAAA,EAAQ,SAAS,IAAI,CAAA;AACtE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLocale.js","sources":["../../src/shared/useLocale.ts"],"sourcesContent":["import { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { type Ref, computed, ref } from 'vue'\n\nexport function useLocale(locale?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n locale: ref('en'),\n })\n return computed(() => locale?.value || context.locale?.value || 'en')\n}\n"],"names":[],"mappings":";;;AAGO,SAAS,UAAU,MAAkC,EAAA;AAC1D,EAAA,MAAM,UAAU,2BAA4B,CAAA;AAAA,IAC1C,MAAA,EAAQ,IAAI,IAAI;AAAA,GACjB,CAAA;AACD,EAAA,OAAO,SAAS,MAAM,MAAA,EAAQ,SAAS,OAAQ,CAAA,MAAA,EAAQ,SAAS,IAAI,CAAA;AACtE;;;;"}
1
+ {"version":3,"file":"useLocale.js","sources":["../../src/shared/useLocale.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { computed, ref } from 'vue'\n\nexport function useLocale(locale?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n locale: ref('en'),\n })\n return computed(() => locale?.value || context.locale?.value || 'en')\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,UAAU,MAAkC,EAAA;AAC1D,EAAA,MAAM,UAAU,2BAA4B,CAAA;AAAA,IAC1C,MAAA,EAAQ,IAAI,IAAI;AAAA,GACjB,CAAA;AACD,EAAA,OAAO,SAAS,MAAM,MAAA,EAAQ,SAAS,OAAQ,CAAA,MAAA,EAAQ,SAAS,IAAI,CAAA;AACtE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useNonce.cjs","sources":["../../src/shared/useNonce.ts"],"sourcesContent":["import { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { type Ref, computed, ref } from 'vue'\n\nexport function useNonce(nonce?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n nonce: ref(),\n })\n return computed(() => nonce?.value || context.nonce?.value)\n}\n"],"names":["injectConfigProviderContext","ref","computed"],"mappings":";;;;;AAGO,SAAS,SAAS,KAAiC,EAAA;AACxD,EAAA,MAAM,UAAUA,yDAA4B,CAAA;AAAA,IAC1C,OAAOC,OAAI;AAAA,GACZ,CAAA;AACD,EAAA,OAAOC,aAAS,MAAM,KAAA,EAAO,KAAS,IAAA,OAAA,CAAQ,OAAO,KAAK,CAAA;AAC5D;;;;"}
1
+ {"version":3,"file":"useNonce.cjs","sources":["../../src/shared/useNonce.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { computed, ref } from 'vue'\n\nexport function useNonce(nonce?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n nonce: ref(),\n })\n return computed(() => nonce?.value || context.nonce?.value)\n}\n"],"names":["injectConfigProviderContext","ref","computed"],"mappings":";;;;;AAIO,SAAS,SAAS,KAAiC,EAAA;AACxD,EAAA,MAAM,UAAUA,yDAA4B,CAAA;AAAA,IAC1C,OAAOC,OAAI;AAAA,GACZ,CAAA;AACD,EAAA,OAAOC,aAAS,MAAM,KAAA,EAAO,KAAS,IAAA,OAAA,CAAQ,OAAO,KAAK,CAAA;AAC5D;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useNonce.js","sources":["../../src/shared/useNonce.ts"],"sourcesContent":["import { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { type Ref, computed, ref } from 'vue'\n\nexport function useNonce(nonce?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n nonce: ref(),\n })\n return computed(() => nonce?.value || context.nonce?.value)\n}\n"],"names":[],"mappings":";;;AAGO,SAAS,SAAS,KAAiC,EAAA;AACxD,EAAA,MAAM,UAAU,2BAA4B,CAAA;AAAA,IAC1C,OAAO,GAAI;AAAA,GACZ,CAAA;AACD,EAAA,OAAO,SAAS,MAAM,KAAA,EAAO,KAAS,IAAA,OAAA,CAAQ,OAAO,KAAK,CAAA;AAC5D;;;;"}
1
+ {"version":3,"file":"useNonce.js","sources":["../../src/shared/useNonce.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { computed, ref } from 'vue'\n\nexport function useNonce(nonce?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n nonce: ref(),\n })\n return computed(() => nonce?.value || context.nonce?.value)\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,SAAS,KAAiC,EAAA;AACxD,EAAA,MAAM,UAAU,2BAA4B,CAAA;AAAA,IAC1C,OAAO,GAAI;AAAA,GACZ,CAAA;AACD,EAAA,OAAO,SAAS,MAAM,KAAA,EAAO,KAAS,IAAA,OAAA,CAAQ,OAAO,KAAK,CAAA;AAC5D;;;;"}
@@ -13,16 +13,16 @@ function useSelectionBehavior(modelValue, props) {
13
13
  } else {
14
14
  const index = modelValue.value.findIndex((v) => condition(v));
15
15
  if (index !== -1)
16
- modelValue.value.splice(index, 1);
16
+ modelValue.value = modelValue.value.filter((_, i) => i !== index);
17
17
  else
18
- modelValue.value.push(val);
18
+ modelValue.value = [...modelValue.value, val];
19
19
  }
20
20
  } else {
21
21
  if (props.selectionBehavior === "replace") {
22
22
  modelValue.value = { ...val };
23
23
  } else {
24
24
  if (!Array.isArray(modelValue.value) && condition(modelValue.value))
25
- modelValue.value = undefined;
25
+ modelValue.value = void 0;
26
26
  else
27
27
  modelValue.value = { ...val };
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectionBehavior.cjs","sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":["import { type Ref, type UnwrapNestedRefs, ref } from 'vue'\nimport { findValuesBetween } from './arrays'\n\nexport function useSelectionBehavior<T>(\n modelValue: Ref<T | T[]>,\n props: UnwrapNestedRefs<{ multiple?: boolean, selectionBehavior?: 'toggle' | 'replace' }>,\n) {\n const firstValue = ref()\n\n const onSelectItem = (val: T, condition: (existingValue: T) => boolean) => {\n // multiple select\n if (props.multiple && Array.isArray(modelValue.value)) {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = [val]\n firstValue.value = val\n }\n else {\n const index = modelValue.value.findIndex(v => condition(v))\n if (index !== -1)\n modelValue.value.splice(index, 1)\n else\n modelValue.value.push(val)\n }\n }\n // single select\n else {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = { ...val }\n }\n else {\n if (!Array.isArray(modelValue.value) && condition(modelValue.value))\n modelValue.value = undefined as any\n else\n modelValue.value = { ...val }\n }\n }\n return modelValue.value\n }\n\n function handleMultipleReplace(intent: 'first' | 'last' | 'prev' | 'next', currentElement: HTMLElement | Element | null, getItems: () => { ref: HTMLElement, value?: any }[], options: any[]) {\n if (!firstValue?.value || !props.multiple || !Array.isArray(modelValue.value))\n return\n\n const collection = getItems().filter(i => i.ref.dataset.disabled !== '')\n const lastValue = collection.find(i => i.ref === currentElement)?.value\n if (!lastValue)\n return\n\n let value: T[] | null = null\n switch (intent) {\n case 'prev':\n case 'next': {\n value = findValuesBetween(options, firstValue.value, lastValue)\n break\n }\n case 'first': {\n value = findValuesBetween(options, firstValue.value, options?.[0])\n break\n }\n case 'last': {\n value = findValuesBetween(options, firstValue.value, options?.[options.length - 1])\n break\n }\n }\n\n modelValue.value = value\n }\n\n return {\n firstValue,\n onSelectItem,\n handleMultipleReplace,\n }\n}\n"],"names":["ref","findValuesBetween"],"mappings":";;;;;AAGgB,SAAA,oBAAA,CACd,YACA,KACA,EAAA;AACA,EAAA,MAAM,aAAaA,OAAI,EAAA;AAEvB,EAAM,MAAA,YAAA,GAAe,CAAC,GAAA,EAAQ,SAA6C,KAAA;AAEzE,IAAA,IAAI,MAAM,QAAY,IAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAG,EAAA;AACrD,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,CAAC,GAAG,CAAA;AACvB,QAAA,UAAA,CAAW,KAAQ,GAAA,GAAA;AAAA,OAEhB,MAAA;AACH,QAAA,MAAM,QAAQ,UAAW,CAAA,KAAA,CAAM,UAAU,CAAK,CAAA,KAAA,SAAA,CAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,IAAI,KAAU,KAAA,EAAA;AACZ,UAAW,UAAA,CAAA,KAAA,CAAM,MAAO,CAAA,KAAA,EAAO,CAAC,CAAA;AAAA;AAEhC,UAAW,UAAA,CAAA,KAAA,CAAM,KAAK,GAAG,CAAA;AAAA;AAC7B,KAGG,MAAA;AACH,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA,OAEzB,MAAA;AACH,QAAI,IAAA,CAAC,MAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAK,IAAA,SAAA,CAAU,WAAW,KAAK,CAAA;AAChE,UAAA,UAAA,CAAW,KAAQ,GAAA,SAAA;AAAA;AAEnB,UAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA;AAChC;AAEF,IAAA,OAAO,UAAW,CAAA,KAAA;AAAA,GACpB;AAEA,EAAA,SAAS,qBAAsB,CAAA,MAAA,EAA4C,cAA8C,EAAA,QAAA,EAAqD,OAAgB,EAAA;AAC5L,IAAI,IAAA,CAAC,UAAY,EAAA,KAAA,IAAS,CAAC,KAAA,CAAM,YAAY,CAAC,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAA;AAC1E,MAAA;AAEF,IAAM,MAAA,UAAA,GAAa,UAAW,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA,KAAa,EAAE,CAAA;AACvE,IAAA,MAAM,YAAY,UAAW,CAAA,IAAA,CAAK,OAAK,CAAE,CAAA,GAAA,KAAQ,cAAc,CAAG,EAAA,KAAA;AAClE,IAAA,IAAI,CAAC,SAAA;AACH,MAAA;AAEF,IAAA,IAAI,KAAoB,GAAA,IAAA;AACxB,IAAA,QAAQ,MAAQ;AAAA,MACd,KAAK,MAAA;AAAA,MACL,KAAK,MAAQ,EAAA;AACX,QAAA,KAAA,GAAQC,+BAAkB,CAAA,OAAA,EAAS,UAAW,CAAA,KAAA,EAAO,SAAS,CAAA;AAC9D,QAAA;AAAA;AACF,MACA,KAAK,OAAS,EAAA;AACZ,QAAA,KAAA,GAAQA,gCAAkB,OAAS,EAAA,UAAA,CAAW,KAAO,EAAA,OAAA,GAAU,CAAC,CAAC,CAAA;AACjE,QAAA;AAAA;AACF,MACA,KAAK,MAAQ,EAAA;AACX,QAAQ,KAAA,GAAAA,+BAAA,CAAkB,SAAS,UAAW,CAAA,KAAA,EAAO,UAAU,OAAQ,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAClF,QAAA;AAAA;AACF;AAGF,IAAA,UAAA,CAAW,KAAQ,GAAA,KAAA;AAAA;AAGrB,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"useSelectionBehavior.cjs","sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":["import type { Ref, UnwrapNestedRefs } from 'vue'\nimport { ref } from 'vue'\nimport { findValuesBetween } from './arrays'\n\nexport function useSelectionBehavior<T>(\n modelValue: Ref<T | T[]>,\n props: UnwrapNestedRefs<{ multiple?: boolean, selectionBehavior?: 'toggle' | 'replace' }>,\n) {\n const firstValue = ref()\n\n const onSelectItem = (val: T, condition: (existingValue: T) => boolean) => {\n // multiple select\n if (props.multiple && Array.isArray(modelValue.value)) {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = [val]\n firstValue.value = val\n }\n else {\n const index = modelValue.value.findIndex(v => condition(v))\n if (index !== -1)\n modelValue.value = modelValue.value.filter((_, i) => i !== index)\n else\n modelValue.value = [...modelValue.value, val]\n }\n }\n // single select\n else {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = { ...val }\n }\n else {\n if (!Array.isArray(modelValue.value) && condition(modelValue.value))\n modelValue.value = undefined as any\n else\n modelValue.value = { ...val }\n }\n }\n return modelValue.value\n }\n\n function handleMultipleReplace(intent: 'first' | 'last' | 'prev' | 'next', currentElement: HTMLElement | Element | null, getItems: () => { ref: HTMLElement, value?: any }[], options: any[]) {\n if (!firstValue?.value || !props.multiple || !Array.isArray(modelValue.value))\n return\n\n const collection = getItems().filter(i => i.ref.dataset.disabled !== '')\n const lastValue = collection.find(i => i.ref === currentElement)?.value\n if (!lastValue)\n return\n\n let value: T[] | null = null\n switch (intent) {\n case 'prev':\n case 'next': {\n value = findValuesBetween(options, firstValue.value, lastValue)\n break\n }\n case 'first': {\n value = findValuesBetween(options, firstValue.value, options?.[0])\n break\n }\n case 'last': {\n value = findValuesBetween(options, firstValue.value, options?.[options.length - 1])\n break\n }\n }\n\n modelValue.value = value\n }\n\n return {\n firstValue,\n onSelectItem,\n handleMultipleReplace,\n }\n}\n"],"names":["ref","findValuesBetween"],"mappings":";;;;;AAIgB,SAAA,oBAAA,CACd,YACA,KACA,EAAA;AACA,EAAA,MAAM,aAAaA,OAAI,EAAA;AAEvB,EAAM,MAAA,YAAA,GAAe,CAAC,GAAA,EAAQ,SAA6C,KAAA;AAEzE,IAAA,IAAI,MAAM,QAAY,IAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAG,EAAA;AACrD,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,CAAC,GAAG,CAAA;AACvB,QAAA,UAAA,CAAW,KAAQ,GAAA,GAAA;AAAA,OAEhB,MAAA;AACH,QAAA,MAAM,QAAQ,UAAW,CAAA,KAAA,CAAM,UAAU,CAAK,CAAA,KAAA,SAAA,CAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,IAAI,KAAU,KAAA,EAAA;AACZ,UAAW,UAAA,CAAA,KAAA,GAAQ,WAAW,KAAM,CAAA,MAAA,CAAO,CAAC,CAAG,EAAA,CAAA,KAAM,MAAM,KAAK,CAAA;AAAA;AAEhE,UAAA,UAAA,CAAW,KAAQ,GAAA,CAAC,GAAG,UAAA,CAAW,OAAO,GAAG,CAAA;AAAA;AAChD,KAGG,MAAA;AACH,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA,OAEzB,MAAA;AACH,QAAI,IAAA,CAAC,MAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAK,IAAA,SAAA,CAAU,WAAW,KAAK,CAAA;AAChE,UAAA,UAAA,CAAW,KAAQ,GAAA,MAAA;AAAA;AAEnB,UAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA;AAChC;AAEF,IAAA,OAAO,UAAW,CAAA,KAAA;AAAA,GACpB;AAEA,EAAA,SAAS,qBAAsB,CAAA,MAAA,EAA4C,cAA8C,EAAA,QAAA,EAAqD,OAAgB,EAAA;AAC5L,IAAI,IAAA,CAAC,UAAY,EAAA,KAAA,IAAS,CAAC,KAAA,CAAM,YAAY,CAAC,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAA;AAC1E,MAAA;AAEF,IAAM,MAAA,UAAA,GAAa,UAAW,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA,KAAa,EAAE,CAAA;AACvE,IAAA,MAAM,YAAY,UAAW,CAAA,IAAA,CAAK,OAAK,CAAE,CAAA,GAAA,KAAQ,cAAc,CAAG,EAAA,KAAA;AAClE,IAAA,IAAI,CAAC,SAAA;AACH,MAAA;AAEF,IAAA,IAAI,KAAoB,GAAA,IAAA;AACxB,IAAA,QAAQ,MAAQ;AAAA,MACd,KAAK,MAAA;AAAA,MACL,KAAK,MAAQ,EAAA;AACX,QAAA,KAAA,GAAQC,+BAAkB,CAAA,OAAA,EAAS,UAAW,CAAA,KAAA,EAAO,SAAS,CAAA;AAC9D,QAAA;AAAA;AACF,MACA,KAAK,OAAS,EAAA;AACZ,QAAA,KAAA,GAAQA,gCAAkB,OAAS,EAAA,UAAA,CAAW,KAAO,EAAA,OAAA,GAAU,CAAC,CAAC,CAAA;AACjE,QAAA;AAAA;AACF,MACA,KAAK,MAAQ,EAAA;AACX,QAAQ,KAAA,GAAAA,+BAAA,CAAkB,SAAS,UAAW,CAAA,KAAA,EAAO,UAAU,OAAQ,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAClF,QAAA;AAAA;AACF;AAGF,IAAA,UAAA,CAAW,KAAQ,GAAA,KAAA;AAAA;AAGrB,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -11,16 +11,16 @@ function useSelectionBehavior(modelValue, props) {
11
11
  } else {
12
12
  const index = modelValue.value.findIndex((v) => condition(v));
13
13
  if (index !== -1)
14
- modelValue.value.splice(index, 1);
14
+ modelValue.value = modelValue.value.filter((_, i) => i !== index);
15
15
  else
16
- modelValue.value.push(val);
16
+ modelValue.value = [...modelValue.value, val];
17
17
  }
18
18
  } else {
19
19
  if (props.selectionBehavior === "replace") {
20
20
  modelValue.value = { ...val };
21
21
  } else {
22
22
  if (!Array.isArray(modelValue.value) && condition(modelValue.value))
23
- modelValue.value = undefined;
23
+ modelValue.value = void 0;
24
24
  else
25
25
  modelValue.value = { ...val };
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectionBehavior.js","sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":["import { type Ref, type UnwrapNestedRefs, ref } from 'vue'\nimport { findValuesBetween } from './arrays'\n\nexport function useSelectionBehavior<T>(\n modelValue: Ref<T | T[]>,\n props: UnwrapNestedRefs<{ multiple?: boolean, selectionBehavior?: 'toggle' | 'replace' }>,\n) {\n const firstValue = ref()\n\n const onSelectItem = (val: T, condition: (existingValue: T) => boolean) => {\n // multiple select\n if (props.multiple && Array.isArray(modelValue.value)) {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = [val]\n firstValue.value = val\n }\n else {\n const index = modelValue.value.findIndex(v => condition(v))\n if (index !== -1)\n modelValue.value.splice(index, 1)\n else\n modelValue.value.push(val)\n }\n }\n // single select\n else {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = { ...val }\n }\n else {\n if (!Array.isArray(modelValue.value) && condition(modelValue.value))\n modelValue.value = undefined as any\n else\n modelValue.value = { ...val }\n }\n }\n return modelValue.value\n }\n\n function handleMultipleReplace(intent: 'first' | 'last' | 'prev' | 'next', currentElement: HTMLElement | Element | null, getItems: () => { ref: HTMLElement, value?: any }[], options: any[]) {\n if (!firstValue?.value || !props.multiple || !Array.isArray(modelValue.value))\n return\n\n const collection = getItems().filter(i => i.ref.dataset.disabled !== '')\n const lastValue = collection.find(i => i.ref === currentElement)?.value\n if (!lastValue)\n return\n\n let value: T[] | null = null\n switch (intent) {\n case 'prev':\n case 'next': {\n value = findValuesBetween(options, firstValue.value, lastValue)\n break\n }\n case 'first': {\n value = findValuesBetween(options, firstValue.value, options?.[0])\n break\n }\n case 'last': {\n value = findValuesBetween(options, firstValue.value, options?.[options.length - 1])\n break\n }\n }\n\n modelValue.value = value\n }\n\n return {\n firstValue,\n onSelectItem,\n handleMultipleReplace,\n }\n}\n"],"names":[],"mappings":";;;AAGgB,SAAA,oBAAA,CACd,YACA,KACA,EAAA;AACA,EAAA,MAAM,aAAa,GAAI,EAAA;AAEvB,EAAM,MAAA,YAAA,GAAe,CAAC,GAAA,EAAQ,SAA6C,KAAA;AAEzE,IAAA,IAAI,MAAM,QAAY,IAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAG,EAAA;AACrD,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,CAAC,GAAG,CAAA;AACvB,QAAA,UAAA,CAAW,KAAQ,GAAA,GAAA;AAAA,OAEhB,MAAA;AACH,QAAA,MAAM,QAAQ,UAAW,CAAA,KAAA,CAAM,UAAU,CAAK,CAAA,KAAA,SAAA,CAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,IAAI,KAAU,KAAA,EAAA;AACZ,UAAW,UAAA,CAAA,KAAA,CAAM,MAAO,CAAA,KAAA,EAAO,CAAC,CAAA;AAAA;AAEhC,UAAW,UAAA,CAAA,KAAA,CAAM,KAAK,GAAG,CAAA;AAAA;AAC7B,KAGG,MAAA;AACH,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA,OAEzB,MAAA;AACH,QAAI,IAAA,CAAC,MAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAK,IAAA,SAAA,CAAU,WAAW,KAAK,CAAA;AAChE,UAAA,UAAA,CAAW,KAAQ,GAAA,SAAA;AAAA;AAEnB,UAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA;AAChC;AAEF,IAAA,OAAO,UAAW,CAAA,KAAA;AAAA,GACpB;AAEA,EAAA,SAAS,qBAAsB,CAAA,MAAA,EAA4C,cAA8C,EAAA,QAAA,EAAqD,OAAgB,EAAA;AAC5L,IAAI,IAAA,CAAC,UAAY,EAAA,KAAA,IAAS,CAAC,KAAA,CAAM,YAAY,CAAC,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAA;AAC1E,MAAA;AAEF,IAAM,MAAA,UAAA,GAAa,UAAW,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA,KAAa,EAAE,CAAA;AACvE,IAAA,MAAM,YAAY,UAAW,CAAA,IAAA,CAAK,OAAK,CAAE,CAAA,GAAA,KAAQ,cAAc,CAAG,EAAA,KAAA;AAClE,IAAA,IAAI,CAAC,SAAA;AACH,MAAA;AAEF,IAAA,IAAI,KAAoB,GAAA,IAAA;AACxB,IAAA,QAAQ,MAAQ;AAAA,MACd,KAAK,MAAA;AAAA,MACL,KAAK,MAAQ,EAAA;AACX,QAAA,KAAA,GAAQ,iBAAkB,CAAA,OAAA,EAAS,UAAW,CAAA,KAAA,EAAO,SAAS,CAAA;AAC9D,QAAA;AAAA;AACF,MACA,KAAK,OAAS,EAAA;AACZ,QAAA,KAAA,GAAQ,kBAAkB,OAAS,EAAA,UAAA,CAAW,KAAO,EAAA,OAAA,GAAU,CAAC,CAAC,CAAA;AACjE,QAAA;AAAA;AACF,MACA,KAAK,MAAQ,EAAA;AACX,QAAQ,KAAA,GAAA,iBAAA,CAAkB,SAAS,UAAW,CAAA,KAAA,EAAO,UAAU,OAAQ,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAClF,QAAA;AAAA;AACF;AAGF,IAAA,UAAA,CAAW,KAAQ,GAAA,KAAA;AAAA;AAGrB,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"useSelectionBehavior.js","sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":["import type { Ref, UnwrapNestedRefs } from 'vue'\nimport { ref } from 'vue'\nimport { findValuesBetween } from './arrays'\n\nexport function useSelectionBehavior<T>(\n modelValue: Ref<T | T[]>,\n props: UnwrapNestedRefs<{ multiple?: boolean, selectionBehavior?: 'toggle' | 'replace' }>,\n) {\n const firstValue = ref()\n\n const onSelectItem = (val: T, condition: (existingValue: T) => boolean) => {\n // multiple select\n if (props.multiple && Array.isArray(modelValue.value)) {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = [val]\n firstValue.value = val\n }\n else {\n const index = modelValue.value.findIndex(v => condition(v))\n if (index !== -1)\n modelValue.value = modelValue.value.filter((_, i) => i !== index)\n else\n modelValue.value = [...modelValue.value, val]\n }\n }\n // single select\n else {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = { ...val }\n }\n else {\n if (!Array.isArray(modelValue.value) && condition(modelValue.value))\n modelValue.value = undefined as any\n else\n modelValue.value = { ...val }\n }\n }\n return modelValue.value\n }\n\n function handleMultipleReplace(intent: 'first' | 'last' | 'prev' | 'next', currentElement: HTMLElement | Element | null, getItems: () => { ref: HTMLElement, value?: any }[], options: any[]) {\n if (!firstValue?.value || !props.multiple || !Array.isArray(modelValue.value))\n return\n\n const collection = getItems().filter(i => i.ref.dataset.disabled !== '')\n const lastValue = collection.find(i => i.ref === currentElement)?.value\n if (!lastValue)\n return\n\n let value: T[] | null = null\n switch (intent) {\n case 'prev':\n case 'next': {\n value = findValuesBetween(options, firstValue.value, lastValue)\n break\n }\n case 'first': {\n value = findValuesBetween(options, firstValue.value, options?.[0])\n break\n }\n case 'last': {\n value = findValuesBetween(options, firstValue.value, options?.[options.length - 1])\n break\n }\n }\n\n modelValue.value = value\n }\n\n return {\n firstValue,\n onSelectItem,\n handleMultipleReplace,\n }\n}\n"],"names":[],"mappings":";;;AAIgB,SAAA,oBAAA,CACd,YACA,KACA,EAAA;AACA,EAAA,MAAM,aAAa,GAAI,EAAA;AAEvB,EAAM,MAAA,YAAA,GAAe,CAAC,GAAA,EAAQ,SAA6C,KAAA;AAEzE,IAAA,IAAI,MAAM,QAAY,IAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAG,EAAA;AACrD,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,CAAC,GAAG,CAAA;AACvB,QAAA,UAAA,CAAW,KAAQ,GAAA,GAAA;AAAA,OAEhB,MAAA;AACH,QAAA,MAAM,QAAQ,UAAW,CAAA,KAAA,CAAM,UAAU,CAAK,CAAA,KAAA,SAAA,CAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,IAAI,KAAU,KAAA,EAAA;AACZ,UAAW,UAAA,CAAA,KAAA,GAAQ,WAAW,KAAM,CAAA,MAAA,CAAO,CAAC,CAAG,EAAA,CAAA,KAAM,MAAM,KAAK,CAAA;AAAA;AAEhE,UAAA,UAAA,CAAW,KAAQ,GAAA,CAAC,GAAG,UAAA,CAAW,OAAO,GAAG,CAAA;AAAA;AAChD,KAGG,MAAA;AACH,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA,OAEzB,MAAA;AACH,QAAI,IAAA,CAAC,MAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAK,IAAA,SAAA,CAAU,WAAW,KAAK,CAAA;AAChE,UAAA,UAAA,CAAW,KAAQ,GAAA,MAAA;AAAA;AAEnB,UAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA;AAChC;AAEF,IAAA,OAAO,UAAW,CAAA,KAAA;AAAA,GACpB;AAEA,EAAA,SAAS,qBAAsB,CAAA,MAAA,EAA4C,cAA8C,EAAA,QAAA,EAAqD,OAAgB,EAAA;AAC5L,IAAI,IAAA,CAAC,UAAY,EAAA,KAAA,IAAS,CAAC,KAAA,CAAM,YAAY,CAAC,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAA;AAC1E,MAAA;AAEF,IAAM,MAAA,UAAA,GAAa,UAAW,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA,KAAa,EAAE,CAAA;AACvE,IAAA,MAAM,YAAY,UAAW,CAAA,IAAA,CAAK,OAAK,CAAE,CAAA,GAAA,KAAQ,cAAc,CAAG,EAAA,KAAA;AAClE,IAAA,IAAI,CAAC,SAAA;AACH,MAAA;AAEF,IAAA,IAAI,KAAoB,GAAA,IAAA;AACxB,IAAA,QAAQ,MAAQ;AAAA,MACd,KAAK,MAAA;AAAA,MACL,KAAK,MAAQ,EAAA;AACX,QAAA,KAAA,GAAQ,iBAAkB,CAAA,OAAA,EAAS,UAAW,CAAA,KAAA,EAAO,SAAS,CAAA;AAC9D,QAAA;AAAA;AACF,MACA,KAAK,OAAS,EAAA;AACZ,QAAA,KAAA,GAAQ,kBAAkB,OAAS,EAAA,UAAA,CAAW,KAAO,EAAA,OAAA,GAAU,CAAC,CAAC,CAAA;AACjE,QAAA;AAAA;AACF,MACA,KAAK,MAAQ,EAAA;AACX,QAAQ,KAAA,GAAA,iBAAA,CAAkB,SAAS,UAAW,CAAA,KAAA,EAAO,UAAU,OAAQ,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAClF,QAAA;AAAA;AACF;AAGF,IAAA,UAAA,CAAW,KAAQ,GAAA,KAAA;AAAA;AAGrB,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  const core = require('@vueuse/core');
4
- const vue = require('vue');
5
4
  const ohash = require('ohash');
5
+ const vue = require('vue');
6
6
  const shared_isValueEqualOrExist = require('./isValueEqualOrExist.cjs');
7
7
 
8
8
  function validateProps({ type, defaultValue, modelValue }) {
9
9
  const value = modelValue || defaultValue;
10
- const canTypeBeInferred = modelValue !== undefined || defaultValue !== undefined;
10
+ const canTypeBeInferred = modelValue !== void 0 || defaultValue !== void 0;
11
11
  if (canTypeBeInferred)
12
12
  return Array.isArray(value) ? "multiple" : "single";
13
13
  else
@@ -19,20 +19,20 @@ function getDefaultType({ type, defaultValue, modelValue }) {
19
19
  return validateProps({ type, defaultValue, modelValue });
20
20
  }
21
21
  function getDefaultValue({ type, defaultValue }) {
22
- if (defaultValue !== undefined)
22
+ if (defaultValue !== void 0)
23
23
  return defaultValue;
24
- return type === "single" ? undefined : [];
24
+ return type === "single" ? void 0 : [];
25
25
  }
26
26
  function useSingleOrMultipleValue(props, emits) {
27
27
  const type = vue.computed(() => getDefaultType(props));
28
28
  const modelValue = core.useVModel(props, "modelValue", emits, {
29
29
  defaultValue: getDefaultValue(props),
30
- passive: props.modelValue === undefined,
30
+ passive: props.modelValue === void 0,
31
31
  deep: true
32
32
  });
33
33
  function changeModelValue(value) {
34
34
  if (type.value === "single") {
35
- modelValue.value = ohash.isEqual(value, modelValue.value) ? undefined : value;
35
+ modelValue.value = ohash.isEqual(value, modelValue.value) ? void 0 : value;
36
36
  } else {
37
37
  const modelValueArray = Array.isArray(modelValue.value) ? [...modelValue.value || []] : [modelValue.value].filter(Boolean);
38
38
  if (shared_isValueEqualOrExist.isValueEqualOrExist(modelValueArray, value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"useSingleOrMultipleValue.cjs","sources":["../../src/shared/useSingleOrMultipleValue.ts"],"sourcesContent":["import { useVModel } from '@vueuse/core'\nimport { type Ref, computed } from 'vue'\nimport type { AcceptableValue, SingleOrMultipleProps } from './types'\nimport { isEqual } from 'ohash'\nimport { isValueEqualOrExist } from './isValueEqualOrExist'\n\n/**\n * Validates the props and it makes sure that the types are coherent with each other\n *\n * 1. If type, defaultValue, and modelValue are all undefined, throw an error.\n * 2. If modelValue and defaultValue are defined and not of the same type, throw an error.\n * 3. If type is defined:\n * a. If type is 'single' and either modelValue or defaultValue is an array, log an error and return 'multiple'.\n * b. If type is 'multiple' and neither modelValue nor defaultValue is an array, log an error and return 'single'.\n * 4. Return 'multiple' if modelValue is an array, else return 'single'.\n */\nfunction validateProps({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n const value = modelValue || defaultValue\n const canTypeBeInferred = modelValue !== undefined || defaultValue !== undefined\n\n if (canTypeBeInferred)\n return Array.isArray(value) ? 'multiple' : 'single'\n else\n return type ?? 'single' // always fallback to `single`\n}\n\nfunction getDefaultType({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n if (type)\n return type\n\n return validateProps({ type, defaultValue, modelValue })\n}\n\nfunction getDefaultValue({ type, defaultValue }: SingleOrMultipleProps) {\n if (defaultValue !== undefined)\n return defaultValue\n\n return (type === 'single') ? undefined : []\n}\n\nexport function useSingleOrMultipleValue<P extends SingleOrMultipleProps, Name extends string>(\n props: P,\n emits: (name: Name, ...args: any[]) => void,\n) {\n const type = computed(() => getDefaultType(props))\n const modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: getDefaultValue(props),\n passive: (props.modelValue === undefined) as false,\n deep: true,\n }) as Ref<AcceptableValue | AcceptableValue[] | undefined>\n\n function changeModelValue(value: AcceptableValue) {\n if (type.value === 'single') {\n modelValue.value = isEqual(value, modelValue.value) ? undefined : value\n }\n else {\n const modelValueArray = Array.isArray(modelValue.value) ? [...(modelValue.value as AcceptableValue[] || [])] : [modelValue.value].filter(Boolean)\n if (isValueEqualOrExist(modelValueArray, value)) {\n const index = modelValueArray.findIndex(i => isEqual(i, value))\n modelValueArray.splice(index, 1)\n }\n else {\n modelValueArray.push(value)\n }\n modelValue.value = modelValueArray\n }\n }\n\n const isSingle = computed(() => type.value === 'single')\n\n return {\n modelValue,\n changeModelValue,\n isSingle,\n }\n}\n"],"names":["computed","useVModel","isEqual","isValueEqualOrExist"],"mappings":";;;;;;;AAgBA,SAAS,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AAChF,EAAA,MAAM,QAAQ,UAAc,IAAA,YAAA;AAC5B,EAAM,MAAA,iBAAA,GAAoB,UAAe,KAAA,SAAA,IAAa,YAAiB,KAAA,SAAA;AAEvE,EAAI,IAAA,iBAAA;AACF,IAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,UAAa,GAAA,QAAA;AAAA;AAE3C,IAAA,OAAO,IAAQ,IAAA,QAAA;AACnB;AAEA,SAAS,cAAe,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AACjF,EAAI,IAAA,IAAA;AACF,IAAO,OAAA,IAAA;AAET,EAAA,OAAO,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAY,CAAA;AACzD;AAEA,SAAS,eAAgB,CAAA,EAAE,IAAM,EAAA,YAAA,EAAuC,EAAA;AACtE,EAAA,IAAI,YAAiB,KAAA,SAAA;AACnB,IAAO,OAAA,YAAA;AAET,EAAQ,OAAA,IAAA,KAAS,QAAY,GAAA,SAAA,GAAY,EAAC;AAC5C;AAEgB,SAAA,wBAAA,CACd,OACA,KACA,EAAA;AACA,EAAA,MAAM,IAAO,GAAAA,YAAA,CAAS,MAAM,cAAA,CAAe,KAAK,CAAC,CAAA;AACjD,EAAA,MAAM,UAAa,GAAAC,cAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,IACvD,YAAA,EAAc,gBAAgB,KAAK,CAAA;AAAA,IACnC,OAAA,EAAU,MAAM,UAAe,KAAA,SAAA;AAAA,IAC/B,IAAM,EAAA;AAAA,GACP,CAAA;AAED,EAAA,SAAS,iBAAiB,KAAwB,EAAA;AAChD,IAAI,IAAA,IAAA,CAAK,UAAU,QAAU,EAAA;AAC3B,MAAA,UAAA,CAAW,QAAQC,aAAQ,CAAA,KAAA,EAAO,UAAW,CAAA,KAAK,IAAI,SAAY,GAAA,KAAA;AAAA,KAE/D,MAAA;AACH,MAAA,MAAM,kBAAkB,KAAM,CAAA,OAAA,CAAQ,WAAW,KAAK,CAAA,GAAI,CAAC,GAAI,UAAA,CAAW,KAA8B,IAAA,EAAG,CAAI,GAAA,CAAC,WAAW,KAAK,CAAA,CAAE,OAAO,OAAO,CAAA;AAChJ,MAAI,IAAAC,8CAAA,CAAoB,eAAiB,EAAA,KAAK,CAAG,EAAA;AAC/C,QAAA,MAAM,QAAQ,eAAgB,CAAA,SAAA,CAAU,OAAKD,aAAQ,CAAA,CAAA,EAAG,KAAK,CAAC,CAAA;AAC9D,QAAgB,eAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,OAE5B,MAAA;AACH,QAAA,eAAA,CAAgB,KAAK,KAAK,CAAA;AAAA;AAE5B,MAAA,UAAA,CAAW,KAAQ,GAAA,eAAA;AAAA;AACrB;AAGF,EAAA,MAAM,QAAW,GAAAF,YAAA,CAAS,MAAM,IAAA,CAAK,UAAU,QAAQ,CAAA;AAEvD,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"useSingleOrMultipleValue.cjs","sources":["../../src/shared/useSingleOrMultipleValue.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { AcceptableValue, SingleOrMultipleProps } from './types'\nimport { useVModel } from '@vueuse/core'\nimport { isEqual } from 'ohash'\nimport { computed } from 'vue'\nimport { isValueEqualOrExist } from './isValueEqualOrExist'\n\n/**\n * Validates the props and it makes sure that the types are coherent with each other\n *\n * 1. If type, defaultValue, and modelValue are all undefined, throw an error.\n * 2. If modelValue and defaultValue are defined and not of the same type, throw an error.\n * 3. If type is defined:\n * a. If type is 'single' and either modelValue or defaultValue is an array, log an error and return 'multiple'.\n * b. If type is 'multiple' and neither modelValue nor defaultValue is an array, log an error and return 'single'.\n * 4. Return 'multiple' if modelValue is an array, else return 'single'.\n */\nfunction validateProps({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n const value = modelValue || defaultValue\n const canTypeBeInferred = modelValue !== undefined || defaultValue !== undefined\n\n if (canTypeBeInferred)\n return Array.isArray(value) ? 'multiple' : 'single'\n else\n return type ?? 'single' // always fallback to `single`\n}\n\nfunction getDefaultType({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n if (type)\n return type\n\n return validateProps({ type, defaultValue, modelValue })\n}\n\nfunction getDefaultValue({ type, defaultValue }: SingleOrMultipleProps) {\n if (defaultValue !== undefined)\n return defaultValue\n\n return (type === 'single') ? undefined : []\n}\n\nexport function useSingleOrMultipleValue<P extends SingleOrMultipleProps, Name extends string>(\n props: P,\n emits: (name: Name, ...args: any[]) => void,\n) {\n const type = computed(() => getDefaultType(props))\n const modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: getDefaultValue(props),\n passive: (props.modelValue === undefined) as false,\n deep: true,\n }) as Ref<AcceptableValue | AcceptableValue[] | undefined>\n\n function changeModelValue(value: AcceptableValue) {\n if (type.value === 'single') {\n modelValue.value = isEqual(value, modelValue.value) ? undefined : value\n }\n else {\n const modelValueArray = Array.isArray(modelValue.value) ? [...(modelValue.value as AcceptableValue[] || [])] : [modelValue.value].filter(Boolean)\n if (isValueEqualOrExist(modelValueArray, value)) {\n const index = modelValueArray.findIndex(i => isEqual(i, value))\n modelValueArray.splice(index, 1)\n }\n else {\n modelValueArray.push(value)\n }\n modelValue.value = modelValueArray\n }\n }\n\n const isSingle = computed(() => type.value === 'single')\n\n return {\n modelValue,\n changeModelValue,\n isSingle,\n }\n}\n"],"names":["computed","useVModel","isEqual","isValueEqualOrExist"],"mappings":";;;;;;;AAiBA,SAAS,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AAChF,EAAA,MAAM,QAAQ,UAAc,IAAA,YAAA;AAC5B,EAAM,MAAA,iBAAA,GAAoB,UAAe,KAAA,MAAA,IAAa,YAAiB,KAAA,MAAA;AAEvE,EAAI,IAAA,iBAAA;AACF,IAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,UAAa,GAAA,QAAA;AAAA;AAE3C,IAAA,OAAO,IAAQ,IAAA,QAAA;AACnB;AAEA,SAAS,cAAe,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AACjF,EAAI,IAAA,IAAA;AACF,IAAO,OAAA,IAAA;AAET,EAAA,OAAO,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAY,CAAA;AACzD;AAEA,SAAS,eAAgB,CAAA,EAAE,IAAM,EAAA,YAAA,EAAuC,EAAA;AACtE,EAAA,IAAI,YAAiB,KAAA,MAAA;AACnB,IAAO,OAAA,YAAA;AAET,EAAQ,OAAA,IAAA,KAAS,QAAY,GAAA,MAAA,GAAY,EAAC;AAC5C;AAEgB,SAAA,wBAAA,CACd,OACA,KACA,EAAA;AACA,EAAA,MAAM,IAAO,GAAAA,YAAA,CAAS,MAAM,cAAA,CAAe,KAAK,CAAC,CAAA;AACjD,EAAA,MAAM,UAAa,GAAAC,cAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,IACvD,YAAA,EAAc,gBAAgB,KAAK,CAAA;AAAA,IACnC,OAAA,EAAU,MAAM,UAAe,KAAA,MAAA;AAAA,IAC/B,IAAM,EAAA;AAAA,GACP,CAAA;AAED,EAAA,SAAS,iBAAiB,KAAwB,EAAA;AAChD,IAAI,IAAA,IAAA,CAAK,UAAU,QAAU,EAAA;AAC3B,MAAA,UAAA,CAAW,QAAQC,aAAQ,CAAA,KAAA,EAAO,UAAW,CAAA,KAAK,IAAI,MAAY,GAAA,KAAA;AAAA,KAE/D,MAAA;AACH,MAAA,MAAM,kBAAkB,KAAM,CAAA,OAAA,CAAQ,WAAW,KAAK,CAAA,GAAI,CAAC,GAAI,UAAA,CAAW,KAA8B,IAAA,EAAG,CAAI,GAAA,CAAC,WAAW,KAAK,CAAA,CAAE,OAAO,OAAO,CAAA;AAChJ,MAAI,IAAAC,8CAAA,CAAoB,eAAiB,EAAA,KAAK,CAAG,EAAA;AAC/C,QAAA,MAAM,QAAQ,eAAgB,CAAA,SAAA,CAAU,OAAKD,aAAQ,CAAA,CAAA,EAAG,KAAK,CAAC,CAAA;AAC9D,QAAgB,eAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,OAE5B,MAAA;AACH,QAAA,eAAA,CAAgB,KAAK,KAAK,CAAA;AAAA;AAE5B,MAAA,UAAA,CAAW,KAAQ,GAAA,eAAA;AAAA;AACrB;AAGF,EAAA,MAAM,QAAW,GAAAF,YAAA,CAAS,MAAM,IAAA,CAAK,UAAU,QAAQ,CAAA;AAEvD,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -1,11 +1,11 @@
1
1
  import { useVModel } from '@vueuse/core';
2
- import { computed } from 'vue';
3
2
  import { isEqual } from 'ohash';
3
+ import { computed } from 'vue';
4
4
  import { i as isValueEqualOrExist } from './isValueEqualOrExist.js';
5
5
 
6
6
  function validateProps({ type, defaultValue, modelValue }) {
7
7
  const value = modelValue || defaultValue;
8
- const canTypeBeInferred = modelValue !== undefined || defaultValue !== undefined;
8
+ const canTypeBeInferred = modelValue !== void 0 || defaultValue !== void 0;
9
9
  if (canTypeBeInferred)
10
10
  return Array.isArray(value) ? "multiple" : "single";
11
11
  else
@@ -17,20 +17,20 @@ function getDefaultType({ type, defaultValue, modelValue }) {
17
17
  return validateProps({ type, defaultValue, modelValue });
18
18
  }
19
19
  function getDefaultValue({ type, defaultValue }) {
20
- if (defaultValue !== undefined)
20
+ if (defaultValue !== void 0)
21
21
  return defaultValue;
22
- return type === "single" ? undefined : [];
22
+ return type === "single" ? void 0 : [];
23
23
  }
24
24
  function useSingleOrMultipleValue(props, emits) {
25
25
  const type = computed(() => getDefaultType(props));
26
26
  const modelValue = useVModel(props, "modelValue", emits, {
27
27
  defaultValue: getDefaultValue(props),
28
- passive: props.modelValue === undefined,
28
+ passive: props.modelValue === void 0,
29
29
  deep: true
30
30
  });
31
31
  function changeModelValue(value) {
32
32
  if (type.value === "single") {
33
- modelValue.value = isEqual(value, modelValue.value) ? undefined : value;
33
+ modelValue.value = isEqual(value, modelValue.value) ? void 0 : value;
34
34
  } else {
35
35
  const modelValueArray = Array.isArray(modelValue.value) ? [...modelValue.value || []] : [modelValue.value].filter(Boolean);
36
36
  if (isValueEqualOrExist(modelValueArray, value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"useSingleOrMultipleValue.js","sources":["../../src/shared/useSingleOrMultipleValue.ts"],"sourcesContent":["import { useVModel } from '@vueuse/core'\nimport { type Ref, computed } from 'vue'\nimport type { AcceptableValue, SingleOrMultipleProps } from './types'\nimport { isEqual } from 'ohash'\nimport { isValueEqualOrExist } from './isValueEqualOrExist'\n\n/**\n * Validates the props and it makes sure that the types are coherent with each other\n *\n * 1. If type, defaultValue, and modelValue are all undefined, throw an error.\n * 2. If modelValue and defaultValue are defined and not of the same type, throw an error.\n * 3. If type is defined:\n * a. If type is 'single' and either modelValue or defaultValue is an array, log an error and return 'multiple'.\n * b. If type is 'multiple' and neither modelValue nor defaultValue is an array, log an error and return 'single'.\n * 4. Return 'multiple' if modelValue is an array, else return 'single'.\n */\nfunction validateProps({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n const value = modelValue || defaultValue\n const canTypeBeInferred = modelValue !== undefined || defaultValue !== undefined\n\n if (canTypeBeInferred)\n return Array.isArray(value) ? 'multiple' : 'single'\n else\n return type ?? 'single' // always fallback to `single`\n}\n\nfunction getDefaultType({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n if (type)\n return type\n\n return validateProps({ type, defaultValue, modelValue })\n}\n\nfunction getDefaultValue({ type, defaultValue }: SingleOrMultipleProps) {\n if (defaultValue !== undefined)\n return defaultValue\n\n return (type === 'single') ? undefined : []\n}\n\nexport function useSingleOrMultipleValue<P extends SingleOrMultipleProps, Name extends string>(\n props: P,\n emits: (name: Name, ...args: any[]) => void,\n) {\n const type = computed(() => getDefaultType(props))\n const modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: getDefaultValue(props),\n passive: (props.modelValue === undefined) as false,\n deep: true,\n }) as Ref<AcceptableValue | AcceptableValue[] | undefined>\n\n function changeModelValue(value: AcceptableValue) {\n if (type.value === 'single') {\n modelValue.value = isEqual(value, modelValue.value) ? undefined : value\n }\n else {\n const modelValueArray = Array.isArray(modelValue.value) ? [...(modelValue.value as AcceptableValue[] || [])] : [modelValue.value].filter(Boolean)\n if (isValueEqualOrExist(modelValueArray, value)) {\n const index = modelValueArray.findIndex(i => isEqual(i, value))\n modelValueArray.splice(index, 1)\n }\n else {\n modelValueArray.push(value)\n }\n modelValue.value = modelValueArray\n }\n }\n\n const isSingle = computed(() => type.value === 'single')\n\n return {\n modelValue,\n changeModelValue,\n isSingle,\n }\n}\n"],"names":[],"mappings":";;;;;AAgBA,SAAS,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AAChF,EAAA,MAAM,QAAQ,UAAc,IAAA,YAAA;AAC5B,EAAM,MAAA,iBAAA,GAAoB,UAAe,KAAA,SAAA,IAAa,YAAiB,KAAA,SAAA;AAEvE,EAAI,IAAA,iBAAA;AACF,IAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,UAAa,GAAA,QAAA;AAAA;AAE3C,IAAA,OAAO,IAAQ,IAAA,QAAA;AACnB;AAEA,SAAS,cAAe,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AACjF,EAAI,IAAA,IAAA;AACF,IAAO,OAAA,IAAA;AAET,EAAA,OAAO,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAY,CAAA;AACzD;AAEA,SAAS,eAAgB,CAAA,EAAE,IAAM,EAAA,YAAA,EAAuC,EAAA;AACtE,EAAA,IAAI,YAAiB,KAAA,SAAA;AACnB,IAAO,OAAA,YAAA;AAET,EAAQ,OAAA,IAAA,KAAS,QAAY,GAAA,SAAA,GAAY,EAAC;AAC5C;AAEgB,SAAA,wBAAA,CACd,OACA,KACA,EAAA;AACA,EAAA,MAAM,IAAO,GAAA,QAAA,CAAS,MAAM,cAAA,CAAe,KAAK,CAAC,CAAA;AACjD,EAAA,MAAM,UAAa,GAAA,SAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,IACvD,YAAA,EAAc,gBAAgB,KAAK,CAAA;AAAA,IACnC,OAAA,EAAU,MAAM,UAAe,KAAA,SAAA;AAAA,IAC/B,IAAM,EAAA;AAAA,GACP,CAAA;AAED,EAAA,SAAS,iBAAiB,KAAwB,EAAA;AAChD,IAAI,IAAA,IAAA,CAAK,UAAU,QAAU,EAAA;AAC3B,MAAA,UAAA,CAAW,QAAQ,OAAQ,CAAA,KAAA,EAAO,UAAW,CAAA,KAAK,IAAI,SAAY,GAAA,KAAA;AAAA,KAE/D,MAAA;AACH,MAAA,MAAM,kBAAkB,KAAM,CAAA,OAAA,CAAQ,WAAW,KAAK,CAAA,GAAI,CAAC,GAAI,UAAA,CAAW,KAA8B,IAAA,EAAG,CAAI,GAAA,CAAC,WAAW,KAAK,CAAA,CAAE,OAAO,OAAO,CAAA;AAChJ,MAAI,IAAA,mBAAA,CAAoB,eAAiB,EAAA,KAAK,CAAG,EAAA;AAC/C,QAAA,MAAM,QAAQ,eAAgB,CAAA,SAAA,CAAU,OAAK,OAAQ,CAAA,CAAA,EAAG,KAAK,CAAC,CAAA;AAC9D,QAAgB,eAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,OAE5B,MAAA;AACH,QAAA,eAAA,CAAgB,KAAK,KAAK,CAAA;AAAA;AAE5B,MAAA,UAAA,CAAW,KAAQ,GAAA,eAAA;AAAA;AACrB;AAGF,EAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,IAAA,CAAK,UAAU,QAAQ,CAAA;AAEvD,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"useSingleOrMultipleValue.js","sources":["../../src/shared/useSingleOrMultipleValue.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { AcceptableValue, SingleOrMultipleProps } from './types'\nimport { useVModel } from '@vueuse/core'\nimport { isEqual } from 'ohash'\nimport { computed } from 'vue'\nimport { isValueEqualOrExist } from './isValueEqualOrExist'\n\n/**\n * Validates the props and it makes sure that the types are coherent with each other\n *\n * 1. If type, defaultValue, and modelValue are all undefined, throw an error.\n * 2. If modelValue and defaultValue are defined and not of the same type, throw an error.\n * 3. If type is defined:\n * a. If type is 'single' and either modelValue or defaultValue is an array, log an error and return 'multiple'.\n * b. If type is 'multiple' and neither modelValue nor defaultValue is an array, log an error and return 'single'.\n * 4. Return 'multiple' if modelValue is an array, else return 'single'.\n */\nfunction validateProps({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n const value = modelValue || defaultValue\n const canTypeBeInferred = modelValue !== undefined || defaultValue !== undefined\n\n if (canTypeBeInferred)\n return Array.isArray(value) ? 'multiple' : 'single'\n else\n return type ?? 'single' // always fallback to `single`\n}\n\nfunction getDefaultType({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n if (type)\n return type\n\n return validateProps({ type, defaultValue, modelValue })\n}\n\nfunction getDefaultValue({ type, defaultValue }: SingleOrMultipleProps) {\n if (defaultValue !== undefined)\n return defaultValue\n\n return (type === 'single') ? undefined : []\n}\n\nexport function useSingleOrMultipleValue<P extends SingleOrMultipleProps, Name extends string>(\n props: P,\n emits: (name: Name, ...args: any[]) => void,\n) {\n const type = computed(() => getDefaultType(props))\n const modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: getDefaultValue(props),\n passive: (props.modelValue === undefined) as false,\n deep: true,\n }) as Ref<AcceptableValue | AcceptableValue[] | undefined>\n\n function changeModelValue(value: AcceptableValue) {\n if (type.value === 'single') {\n modelValue.value = isEqual(value, modelValue.value) ? undefined : value\n }\n else {\n const modelValueArray = Array.isArray(modelValue.value) ? [...(modelValue.value as AcceptableValue[] || [])] : [modelValue.value].filter(Boolean)\n if (isValueEqualOrExist(modelValueArray, value)) {\n const index = modelValueArray.findIndex(i => isEqual(i, value))\n modelValueArray.splice(index, 1)\n }\n else {\n modelValueArray.push(value)\n }\n modelValue.value = modelValueArray\n }\n }\n\n const isSingle = computed(() => type.value === 'single')\n\n return {\n modelValue,\n changeModelValue,\n isSingle,\n }\n}\n"],"names":[],"mappings":";;;;;AAiBA,SAAS,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AAChF,EAAA,MAAM,QAAQ,UAAc,IAAA,YAAA;AAC5B,EAAM,MAAA,iBAAA,GAAoB,UAAe,KAAA,MAAA,IAAa,YAAiB,KAAA,MAAA;AAEvE,EAAI,IAAA,iBAAA;AACF,IAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,UAAa,GAAA,QAAA;AAAA;AAE3C,IAAA,OAAO,IAAQ,IAAA,QAAA;AACnB;AAEA,SAAS,cAAe,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AACjF,EAAI,IAAA,IAAA;AACF,IAAO,OAAA,IAAA;AAET,EAAA,OAAO,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAY,CAAA;AACzD;AAEA,SAAS,eAAgB,CAAA,EAAE,IAAM,EAAA,YAAA,EAAuC,EAAA;AACtE,EAAA,IAAI,YAAiB,KAAA,MAAA;AACnB,IAAO,OAAA,YAAA;AAET,EAAQ,OAAA,IAAA,KAAS,QAAY,GAAA,MAAA,GAAY,EAAC;AAC5C;AAEgB,SAAA,wBAAA,CACd,OACA,KACA,EAAA;AACA,EAAA,MAAM,IAAO,GAAA,QAAA,CAAS,MAAM,cAAA,CAAe,KAAK,CAAC,CAAA;AACjD,EAAA,MAAM,UAAa,GAAA,SAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,IACvD,YAAA,EAAc,gBAAgB,KAAK,CAAA;AAAA,IACnC,OAAA,EAAU,MAAM,UAAe,KAAA,MAAA;AAAA,IAC/B,IAAM,EAAA;AAAA,GACP,CAAA;AAED,EAAA,SAAS,iBAAiB,KAAwB,EAAA;AAChD,IAAI,IAAA,IAAA,CAAK,UAAU,QAAU,EAAA;AAC3B,MAAA,UAAA,CAAW,QAAQ,OAAQ,CAAA,KAAA,EAAO,UAAW,CAAA,KAAK,IAAI,MAAY,GAAA,KAAA;AAAA,KAE/D,MAAA;AACH,MAAA,MAAM,kBAAkB,KAAM,CAAA,OAAA,CAAQ,WAAW,KAAK,CAAA,GAAI,CAAC,GAAI,UAAA,CAAW,KAA8B,IAAA,EAAG,CAAI,GAAA,CAAC,WAAW,KAAK,CAAA,CAAE,OAAO,OAAO,CAAA;AAChJ,MAAI,IAAA,mBAAA,CAAoB,eAAiB,EAAA,KAAK,CAAG,EAAA;AAC/C,QAAA,MAAM,QAAQ,eAAgB,CAAA,SAAA,CAAU,OAAK,OAAQ,CAAA,CAAA,EAAG,KAAK,CAAC,CAAA;AAC9D,QAAgB,eAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,OAE5B,MAAA;AACH,QAAA,eAAA,CAAgB,KAAK,KAAK,CAAA;AAAA;AAE5B,MAAA,UAAA,CAAW,KAAQ,GAAA,eAAA;AAAA;AACrB;AAGF,EAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,IAAA,CAAK,UAAU,QAAQ,CAAA;AAEvD,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -33,7 +33,7 @@ function useSize(element) {
33
33
  resizeObserver.observe(el, { box: "border-box" });
34
34
  return () => resizeObserver.unobserve(el);
35
35
  } else {
36
- size.value = undefined;
36
+ size.value = void 0;
37
37
  }
38
38
  });
39
39
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useSize.cjs","sources":["../../src/shared/useSize.ts"],"sourcesContent":["import { type MaybeElementRef, unrefElement } from '@vueuse/core'\nimport { computed, onMounted, ref } from 'vue'\n\nexport function useSize(element: MaybeElementRef) {\n const size = ref<{ width: number, height: number }>()\n const width = computed(() => size.value?.width ?? 0)\n const height = computed(() => size.value?.height ?? 0)\n\n onMounted(() => {\n const el = unrefElement(element) as HTMLElement\n if (el) {\n // provide size as early as possible\n size.value = { width: el.offsetWidth, height: el.offsetHeight }\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries))\n return\n\n // Since we only observe the one element, we don't need to loop over the\n // array\n if (!entries.length)\n return\n\n const entry = entries[0]\n let width: number\n let height: number\n\n if ('borderBoxSize' in entry) {\n const borderSizeEntry = entry.borderBoxSize\n // iron out differences between browsers\n const borderSize = Array.isArray(borderSizeEntry)\n ? borderSizeEntry[0]\n : borderSizeEntry\n width = borderSize.inlineSize\n height = borderSize.blockSize\n }\n else {\n // for browsers that don't support `borderBoxSize`\n // we calculate it ourselves to get the correct border box.\n width = el.offsetWidth\n height = el.offsetHeight\n }\n\n // temporary disable width/height from resize observer. borderSizeEntry seems to be incorrect\n size.value = { width, height }\n })\n\n resizeObserver.observe(el, { box: 'border-box' })\n\n return () => resizeObserver.unobserve(el)\n }\n else {\n // We only want to reset to `undefined` when the element becomes `null`,\n // not if it changes to another element.\n size.value = undefined\n }\n })\n\n return {\n width,\n height,\n }\n}\n"],"names":["ref","computed","onMounted","unrefElement","width","height"],"mappings":";;;;;AAGO,SAAS,QAAQ,OAA0B,EAAA;AAChD,EAAA,MAAM,OAAOA,OAAuC,EAAA;AACpD,EAAA,MAAM,QAAQC,YAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,SAAS,CAAC,CAAA;AACnD,EAAA,MAAM,SAASA,YAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,UAAU,CAAC,CAAA;AAErD,EAAAC,aAAA,CAAU,MAAM;AACd,IAAM,MAAA,EAAA,GAAKC,kBAAa,OAAO,CAAA;AAC/B,IAAA,IAAI,EAAI,EAAA;AAEN,MAAA,IAAA,CAAK,QAAQ,EAAE,KAAA,EAAO,GAAG,WAAa,EAAA,MAAA,EAAQ,GAAG,YAAa,EAAA;AAE9D,MAAA,MAAM,cAAiB,GAAA,IAAI,cAAe,CAAA,CAAC,OAAY,KAAA;AACrD,QAAI,IAAA,CAAC,KAAM,CAAA,OAAA,CAAQ,OAAO,CAAA;AACxB,UAAA;AAIF,QAAA,IAAI,CAAC,OAAQ,CAAA,MAAA;AACX,UAAA;AAEF,QAAM,MAAA,KAAA,GAAQ,QAAQ,CAAC,CAAA;AACvB,QAAIC,IAAAA,MAAAA;AACJ,QAAIC,IAAAA,OAAAA;AAEJ,QAAA,IAAI,mBAAmB,KAAO,EAAA;AAC5B,UAAA,MAAM,kBAAkB,KAAM,CAAA,aAAA;AAE9B,UAAA,MAAM,aAAa,KAAM,CAAA,OAAA,CAAQ,eAAe,CAC5C,GAAA,eAAA,CAAgB,CAAC,CACjB,GAAA,eAAA;AACJ,UAAAD,SAAQ,UAAW,CAAA,UAAA;AACnB,UAAAC,UAAS,UAAW,CAAA,SAAA;AAAA,SAEjB,MAAA;AAGH,UAAAD,SAAQ,EAAG,CAAA,WAAA;AACX,UAAAC,UAAS,EAAG,CAAA,YAAA;AAAA;AAId,QAAA,IAAA,CAAK,KAAQ,GAAA,EAAE,KAAAD,EAAAA,MAAAA,EAAO,QAAAC,OAAO,EAAA;AAAA,OAC9B,CAAA;AAED,MAAA,cAAA,CAAe,OAAQ,CAAA,EAAA,EAAI,EAAE,GAAA,EAAK,cAAc,CAAA;AAEhD,MAAO,OAAA,MAAM,cAAe,CAAA,SAAA,CAAU,EAAE,CAAA;AAAA,KAErC,MAAA;AAGH,MAAA,IAAA,CAAK,KAAQ,GAAA,SAAA;AAAA;AACf,GACD,CAAA;AAED,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"useSize.cjs","sources":["../../src/shared/useSize.ts"],"sourcesContent":["import type { MaybeElementRef } from '@vueuse/core'\nimport { unrefElement } from '@vueuse/core'\nimport { computed, onMounted, ref } from 'vue'\n\nexport function useSize(element: MaybeElementRef) {\n const size = ref<{ width: number, height: number }>()\n const width = computed(() => size.value?.width ?? 0)\n const height = computed(() => size.value?.height ?? 0)\n\n onMounted(() => {\n const el = unrefElement(element) as HTMLElement\n if (el) {\n // provide size as early as possible\n size.value = { width: el.offsetWidth, height: el.offsetHeight }\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries))\n return\n\n // Since we only observe the one element, we don't need to loop over the\n // array\n if (!entries.length)\n return\n\n const entry = entries[0]\n let width: number\n let height: number\n\n if ('borderBoxSize' in entry) {\n const borderSizeEntry = entry.borderBoxSize\n // iron out differences between browsers\n const borderSize = Array.isArray(borderSizeEntry)\n ? borderSizeEntry[0]\n : borderSizeEntry\n width = borderSize.inlineSize\n height = borderSize.blockSize\n }\n else {\n // for browsers that don't support `borderBoxSize`\n // we calculate it ourselves to get the correct border box.\n width = el.offsetWidth\n height = el.offsetHeight\n }\n\n // temporary disable width/height from resize observer. borderSizeEntry seems to be incorrect\n size.value = { width, height }\n })\n\n resizeObserver.observe(el, { box: 'border-box' })\n\n return () => resizeObserver.unobserve(el)\n }\n else {\n // We only want to reset to `undefined` when the element becomes `null`,\n // not if it changes to another element.\n size.value = undefined\n }\n })\n\n return {\n width,\n height,\n }\n}\n"],"names":["ref","computed","onMounted","unrefElement","width","height"],"mappings":";;;;;AAIO,SAAS,QAAQ,OAA0B,EAAA;AAChD,EAAA,MAAM,OAAOA,OAAuC,EAAA;AACpD,EAAA,MAAM,QAAQC,YAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,SAAS,CAAC,CAAA;AACnD,EAAA,MAAM,SAASA,YAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,UAAU,CAAC,CAAA;AAErD,EAAAC,aAAA,CAAU,MAAM;AACd,IAAM,MAAA,EAAA,GAAKC,kBAAa,OAAO,CAAA;AAC/B,IAAA,IAAI,EAAI,EAAA;AAEN,MAAA,IAAA,CAAK,QAAQ,EAAE,KAAA,EAAO,GAAG,WAAa,EAAA,MAAA,EAAQ,GAAG,YAAa,EAAA;AAE9D,MAAA,MAAM,cAAiB,GAAA,IAAI,cAAe,CAAA,CAAC,OAAY,KAAA;AACrD,QAAI,IAAA,CAAC,KAAM,CAAA,OAAA,CAAQ,OAAO,CAAA;AACxB,UAAA;AAIF,QAAA,IAAI,CAAC,OAAQ,CAAA,MAAA;AACX,UAAA;AAEF,QAAM,MAAA,KAAA,GAAQ,QAAQ,CAAC,CAAA;AACvB,QAAIC,IAAAA,MAAAA;AACJ,QAAIC,IAAAA,OAAAA;AAEJ,QAAA,IAAI,mBAAmB,KAAO,EAAA;AAC5B,UAAA,MAAM,kBAAkB,KAAM,CAAA,aAAA;AAE9B,UAAA,MAAM,aAAa,KAAM,CAAA,OAAA,CAAQ,eAAe,CAC5C,GAAA,eAAA,CAAgB,CAAC,CACjB,GAAA,eAAA;AACJ,UAAAD,SAAQ,UAAW,CAAA,UAAA;AACnB,UAAAC,UAAS,UAAW,CAAA,SAAA;AAAA,SAEjB,MAAA;AAGH,UAAAD,SAAQ,EAAG,CAAA,WAAA;AACX,UAAAC,UAAS,EAAG,CAAA,YAAA;AAAA;AAId,QAAA,IAAA,CAAK,KAAQ,GAAA,EAAE,KAAAD,EAAAA,MAAAA,EAAO,QAAAC,OAAO,EAAA;AAAA,OAC9B,CAAA;AAED,MAAA,cAAA,CAAe,OAAQ,CAAA,EAAA,EAAI,EAAE,GAAA,EAAK,cAAc,CAAA;AAEhD,MAAO,OAAA,MAAM,cAAe,CAAA,SAAA,CAAU,EAAE,CAAA;AAAA,KAErC,MAAA;AAGH,MAAA,IAAA,CAAK,KAAQ,GAAA,MAAA;AAAA;AACf,GACD,CAAA;AAED,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -31,7 +31,7 @@ function useSize(element) {
31
31
  resizeObserver.observe(el, { box: "border-box" });
32
32
  return () => resizeObserver.unobserve(el);
33
33
  } else {
34
- size.value = undefined;
34
+ size.value = void 0;
35
35
  }
36
36
  });
37
37
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useSize.js","sources":["../../src/shared/useSize.ts"],"sourcesContent":["import { type MaybeElementRef, unrefElement } from '@vueuse/core'\nimport { computed, onMounted, ref } from 'vue'\n\nexport function useSize(element: MaybeElementRef) {\n const size = ref<{ width: number, height: number }>()\n const width = computed(() => size.value?.width ?? 0)\n const height = computed(() => size.value?.height ?? 0)\n\n onMounted(() => {\n const el = unrefElement(element) as HTMLElement\n if (el) {\n // provide size as early as possible\n size.value = { width: el.offsetWidth, height: el.offsetHeight }\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries))\n return\n\n // Since we only observe the one element, we don't need to loop over the\n // array\n if (!entries.length)\n return\n\n const entry = entries[0]\n let width: number\n let height: number\n\n if ('borderBoxSize' in entry) {\n const borderSizeEntry = entry.borderBoxSize\n // iron out differences between browsers\n const borderSize = Array.isArray(borderSizeEntry)\n ? borderSizeEntry[0]\n : borderSizeEntry\n width = borderSize.inlineSize\n height = borderSize.blockSize\n }\n else {\n // for browsers that don't support `borderBoxSize`\n // we calculate it ourselves to get the correct border box.\n width = el.offsetWidth\n height = el.offsetHeight\n }\n\n // temporary disable width/height from resize observer. borderSizeEntry seems to be incorrect\n size.value = { width, height }\n })\n\n resizeObserver.observe(el, { box: 'border-box' })\n\n return () => resizeObserver.unobserve(el)\n }\n else {\n // We only want to reset to `undefined` when the element becomes `null`,\n // not if it changes to another element.\n size.value = undefined\n }\n })\n\n return {\n width,\n height,\n }\n}\n"],"names":["width","height"],"mappings":";;;AAGO,SAAS,QAAQ,OAA0B,EAAA;AAChD,EAAA,MAAM,OAAO,GAAuC,EAAA;AACpD,EAAA,MAAM,QAAQ,QAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,SAAS,CAAC,CAAA;AACnD,EAAA,MAAM,SAAS,QAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,UAAU,CAAC,CAAA;AAErD,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA;AAC/B,IAAA,IAAI,EAAI,EAAA;AAEN,MAAA,IAAA,CAAK,QAAQ,EAAE,KAAA,EAAO,GAAG,WAAa,EAAA,MAAA,EAAQ,GAAG,YAAa,EAAA;AAE9D,MAAA,MAAM,cAAiB,GAAA,IAAI,cAAe,CAAA,CAAC,OAAY,KAAA;AACrD,QAAI,IAAA,CAAC,KAAM,CAAA,OAAA,CAAQ,OAAO,CAAA;AACxB,UAAA;AAIF,QAAA,IAAI,CAAC,OAAQ,CAAA,MAAA;AACX,UAAA;AAEF,QAAM,MAAA,KAAA,GAAQ,QAAQ,CAAC,CAAA;AACvB,QAAIA,IAAAA,MAAAA;AACJ,QAAIC,IAAAA,OAAAA;AAEJ,QAAA,IAAI,mBAAmB,KAAO,EAAA;AAC5B,UAAA,MAAM,kBAAkB,KAAM,CAAA,aAAA;AAE9B,UAAA,MAAM,aAAa,KAAM,CAAA,OAAA,CAAQ,eAAe,CAC5C,GAAA,eAAA,CAAgB,CAAC,CACjB,GAAA,eAAA;AACJ,UAAAD,SAAQ,UAAW,CAAA,UAAA;AACnB,UAAAC,UAAS,UAAW,CAAA,SAAA;AAAA,SAEjB,MAAA;AAGH,UAAAD,SAAQ,EAAG,CAAA,WAAA;AACX,UAAAC,UAAS,EAAG,CAAA,YAAA;AAAA;AAId,QAAA,IAAA,CAAK,KAAQ,GAAA,EAAE,KAAAD,EAAAA,MAAAA,EAAO,QAAAC,OAAO,EAAA;AAAA,OAC9B,CAAA;AAED,MAAA,cAAA,CAAe,OAAQ,CAAA,EAAA,EAAI,EAAE,GAAA,EAAK,cAAc,CAAA;AAEhD,MAAO,OAAA,MAAM,cAAe,CAAA,SAAA,CAAU,EAAE,CAAA;AAAA,KAErC,MAAA;AAGH,MAAA,IAAA,CAAK,KAAQ,GAAA,SAAA;AAAA;AACf,GACD,CAAA;AAED,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"useSize.js","sources":["../../src/shared/useSize.ts"],"sourcesContent":["import type { MaybeElementRef } from '@vueuse/core'\nimport { unrefElement } from '@vueuse/core'\nimport { computed, onMounted, ref } from 'vue'\n\nexport function useSize(element: MaybeElementRef) {\n const size = ref<{ width: number, height: number }>()\n const width = computed(() => size.value?.width ?? 0)\n const height = computed(() => size.value?.height ?? 0)\n\n onMounted(() => {\n const el = unrefElement(element) as HTMLElement\n if (el) {\n // provide size as early as possible\n size.value = { width: el.offsetWidth, height: el.offsetHeight }\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries))\n return\n\n // Since we only observe the one element, we don't need to loop over the\n // array\n if (!entries.length)\n return\n\n const entry = entries[0]\n let width: number\n let height: number\n\n if ('borderBoxSize' in entry) {\n const borderSizeEntry = entry.borderBoxSize\n // iron out differences between browsers\n const borderSize = Array.isArray(borderSizeEntry)\n ? borderSizeEntry[0]\n : borderSizeEntry\n width = borderSize.inlineSize\n height = borderSize.blockSize\n }\n else {\n // for browsers that don't support `borderBoxSize`\n // we calculate it ourselves to get the correct border box.\n width = el.offsetWidth\n height = el.offsetHeight\n }\n\n // temporary disable width/height from resize observer. borderSizeEntry seems to be incorrect\n size.value = { width, height }\n })\n\n resizeObserver.observe(el, { box: 'border-box' })\n\n return () => resizeObserver.unobserve(el)\n }\n else {\n // We only want to reset to `undefined` when the element becomes `null`,\n // not if it changes to another element.\n size.value = undefined\n }\n })\n\n return {\n width,\n height,\n }\n}\n"],"names":["width","height"],"mappings":";;;AAIO,SAAS,QAAQ,OAA0B,EAAA;AAChD,EAAA,MAAM,OAAO,GAAuC,EAAA;AACpD,EAAA,MAAM,QAAQ,QAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,SAAS,CAAC,CAAA;AACnD,EAAA,MAAM,SAAS,QAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,UAAU,CAAC,CAAA;AAErD,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA;AAC/B,IAAA,IAAI,EAAI,EAAA;AAEN,MAAA,IAAA,CAAK,QAAQ,EAAE,KAAA,EAAO,GAAG,WAAa,EAAA,MAAA,EAAQ,GAAG,YAAa,EAAA;AAE9D,MAAA,MAAM,cAAiB,GAAA,IAAI,cAAe,CAAA,CAAC,OAAY,KAAA;AACrD,QAAI,IAAA,CAAC,KAAM,CAAA,OAAA,CAAQ,OAAO,CAAA;AACxB,UAAA;AAIF,QAAA,IAAI,CAAC,OAAQ,CAAA,MAAA;AACX,UAAA;AAEF,QAAM,MAAA,KAAA,GAAQ,QAAQ,CAAC,CAAA;AACvB,QAAIA,IAAAA,MAAAA;AACJ,QAAIC,IAAAA,OAAAA;AAEJ,QAAA,IAAI,mBAAmB,KAAO,EAAA;AAC5B,UAAA,MAAM,kBAAkB,KAAM,CAAA,aAAA;AAE9B,UAAA,MAAM,aAAa,KAAM,CAAA,OAAA,CAAQ,eAAe,CAC5C,GAAA,eAAA,CAAgB,CAAC,CACjB,GAAA,eAAA;AACJ,UAAAD,SAAQ,UAAW,CAAA,UAAA;AACnB,UAAAC,UAAS,UAAW,CAAA,SAAA;AAAA,SAEjB,MAAA;AAGH,UAAAD,SAAQ,EAAG,CAAA,WAAA;AACX,UAAAC,UAAS,EAAG,CAAA,YAAA;AAAA;AAId,QAAA,IAAA,CAAK,KAAQ,GAAA,EAAE,KAAAD,EAAAA,MAAAA,EAAO,QAAAC,OAAO,EAAA;AAAA,OAC9B,CAAA;AAED,MAAA,cAAA,CAAe,OAAQ,CAAA,EAAA,EAAI,EAAE,GAAA,EAAK,cAAc,CAAA;AAEhD,MAAO,OAAA,MAAM,cAAe,CAAA,SAAA,CAAU,EAAE,CAAA;AAAA,KAErC,MAAA;AAGH,MAAA,IAAA,CAAK,KAAQ,GAAA,MAAA;AAAA;AACf,GACD,CAAA;AAED,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useStateMachine.cjs","sources":["../../src/shared/useStateMachine.ts"],"sourcesContent":["import { type Ref, ref } from 'vue'\n\ninterface Machine<S> {\n [k: string]: { [k: string]: S }\n}\ntype MachineState<T> = keyof T\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (\n x: infer R\n) => any\n ? R\n : never\n\n/**\n * The `useStateMachine` function is a TypeScript function that creates a state machine and returns the\n * current state and a dispatch function to update the state based on events.\n * @param initialState - The `initialState` parameter is the initial state of the state machine. It\n * represents the starting point of the state machine's state.\n * @param machine - The `machine` parameter is an object that represents a state machine. It should\n * have keys that correspond to the possible states of the machine, and the values should be objects\n * that represent the possible events and their corresponding next states.\n * @returns The `useStateMachine` function returns an object with two properties: `state` and\n * `dispatch`.\n */\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>,\n) {\n const state = ref(initialState) as Ref<MachineState<M>>\n\n function reducer(event: MachineEvent<M>) {\n // @ts-expect-error state.value is keyof M\n const nextState = machine[state.value][event]\n return nextState ?? state.value\n }\n\n const dispatch = (event: MachineEvent<M>) => {\n state.value = reducer(event)\n }\n\n return {\n state,\n dispatch,\n }\n}\n"],"names":["ref"],"mappings":";;;;AA0BgB,SAAA,eAAA,CACd,cACA,OACA,EAAA;AACA,EAAM,MAAA,KAAA,GAAQA,QAAI,YAAY,CAAA;AAE9B,EAAA,SAAS,QAAQ,KAAwB,EAAA;AAEvC,IAAA,MAAM,SAAY,GAAA,OAAA,CAAQ,KAAM,CAAA,KAAK,EAAE,KAAK,CAAA;AAC5C,IAAA,OAAO,aAAa,KAAM,CAAA,KAAA;AAAA;AAG5B,EAAM,MAAA,QAAA,GAAW,CAAC,KAA2B,KAAA;AAC3C,IAAM,KAAA,CAAA,KAAA,GAAQ,QAAQ,KAAK,CAAA;AAAA,GAC7B;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"useStateMachine.cjs","sources":["../../src/shared/useStateMachine.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { ref } from 'vue'\n\ninterface Machine<S> {\n [k: string]: { [k: string]: S }\n}\ntype MachineState<T> = keyof T\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (\n x: infer R\n) => any\n ? R\n : never\n\n/**\n * The `useStateMachine` function is a TypeScript function that creates a state machine and returns the\n * current state and a dispatch function to update the state based on events.\n * @param initialState - The `initialState` parameter is the initial state of the state machine. It\n * represents the starting point of the state machine's state.\n * @param machine - The `machine` parameter is an object that represents a state machine. It should\n * have keys that correspond to the possible states of the machine, and the values should be objects\n * that represent the possible events and their corresponding next states.\n * @returns The `useStateMachine` function returns an object with two properties: `state` and\n * `dispatch`.\n */\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>,\n) {\n const state = ref(initialState) as Ref<MachineState<M>>\n\n function reducer(event: MachineEvent<M>) {\n // @ts-expect-error state.value is keyof M\n const nextState = machine[state.value][event]\n return nextState ?? state.value\n }\n\n const dispatch = (event: MachineEvent<M>) => {\n state.value = reducer(event)\n }\n\n return {\n state,\n dispatch,\n }\n}\n"],"names":["ref"],"mappings":";;;;AA2BgB,SAAA,eAAA,CACd,cACA,OACA,EAAA;AACA,EAAM,MAAA,KAAA,GAAQA,QAAI,YAAY,CAAA;AAE9B,EAAA,SAAS,QAAQ,KAAwB,EAAA;AAEvC,IAAA,MAAM,SAAY,GAAA,OAAA,CAAQ,KAAM,CAAA,KAAK,EAAE,KAAK,CAAA;AAC5C,IAAA,OAAO,aAAa,KAAM,CAAA,KAAA;AAAA;AAG5B,EAAM,MAAA,QAAA,GAAW,CAAC,KAA2B,KAAA;AAC3C,IAAM,KAAA,CAAA,KAAA,GAAQ,QAAQ,KAAK,CAAA;AAAA,GAC7B;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useStateMachine.js","sources":["../../src/shared/useStateMachine.ts"],"sourcesContent":["import { type Ref, ref } from 'vue'\n\ninterface Machine<S> {\n [k: string]: { [k: string]: S }\n}\ntype MachineState<T> = keyof T\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (\n x: infer R\n) => any\n ? R\n : never\n\n/**\n * The `useStateMachine` function is a TypeScript function that creates a state machine and returns the\n * current state and a dispatch function to update the state based on events.\n * @param initialState - The `initialState` parameter is the initial state of the state machine. It\n * represents the starting point of the state machine's state.\n * @param machine - The `machine` parameter is an object that represents a state machine. It should\n * have keys that correspond to the possible states of the machine, and the values should be objects\n * that represent the possible events and their corresponding next states.\n * @returns The `useStateMachine` function returns an object with two properties: `state` and\n * `dispatch`.\n */\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>,\n) {\n const state = ref(initialState) as Ref<MachineState<M>>\n\n function reducer(event: MachineEvent<M>) {\n // @ts-expect-error state.value is keyof M\n const nextState = machine[state.value][event]\n return nextState ?? state.value\n }\n\n const dispatch = (event: MachineEvent<M>) => {\n state.value = reducer(event)\n }\n\n return {\n state,\n dispatch,\n }\n}\n"],"names":[],"mappings":";;AA0BgB,SAAA,eAAA,CACd,cACA,OACA,EAAA;AACA,EAAM,MAAA,KAAA,GAAQ,IAAI,YAAY,CAAA;AAE9B,EAAA,SAAS,QAAQ,KAAwB,EAAA;AAEvC,IAAA,MAAM,SAAY,GAAA,OAAA,CAAQ,KAAM,CAAA,KAAK,EAAE,KAAK,CAAA;AAC5C,IAAA,OAAO,aAAa,KAAM,CAAA,KAAA;AAAA;AAG5B,EAAM,MAAA,QAAA,GAAW,CAAC,KAA2B,KAAA;AAC3C,IAAM,KAAA,CAAA,KAAA,GAAQ,QAAQ,KAAK,CAAA;AAAA,GAC7B;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"useStateMachine.js","sources":["../../src/shared/useStateMachine.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { ref } from 'vue'\n\ninterface Machine<S> {\n [k: string]: { [k: string]: S }\n}\ntype MachineState<T> = keyof T\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (\n x: infer R\n) => any\n ? R\n : never\n\n/**\n * The `useStateMachine` function is a TypeScript function that creates a state machine and returns the\n * current state and a dispatch function to update the state based on events.\n * @param initialState - The `initialState` parameter is the initial state of the state machine. It\n * represents the starting point of the state machine's state.\n * @param machine - The `machine` parameter is an object that represents a state machine. It should\n * have keys that correspond to the possible states of the machine, and the values should be objects\n * that represent the possible events and their corresponding next states.\n * @returns The `useStateMachine` function returns an object with two properties: `state` and\n * `dispatch`.\n */\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>,\n) {\n const state = ref(initialState) as Ref<MachineState<M>>\n\n function reducer(event: MachineEvent<M>) {\n // @ts-expect-error state.value is keyof M\n const nextState = machine[state.value][event]\n return nextState ?? state.value\n }\n\n const dispatch = (event: MachineEvent<M>) => {\n state.value = reducer(event)\n }\n\n return {\n state,\n dispatch,\n }\n}\n"],"names":[],"mappings":";;AA2BgB,SAAA,eAAA,CACd,cACA,OACA,EAAA;AACA,EAAM,MAAA,KAAA,GAAQ,IAAI,YAAY,CAAA;AAE9B,EAAA,SAAS,QAAQ,KAAwB,EAAA;AAEvC,IAAA,MAAM,SAAY,GAAA,OAAA,CAAQ,KAAM,CAAA,KAAK,EAAE,KAAK,CAAA;AAC5C,IAAA,OAAO,aAAa,KAAM,CAAA,KAAA;AAAA;AAG5B,EAAM,MAAA,QAAA,GAAW,CAAC,KAA2B,KAAA;AAC3C,IAAM,KAAA,CAAA,KAAA,GAAQ,QAAQ,KAAK,CAAA;AAAA,GAC7B;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -45,7 +45,7 @@ function getNextMatch(values, search, currentMatch) {
45
45
  const nextMatch = wrappedValues.find(
46
46
  (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())
47
47
  );
48
- return nextMatch !== currentMatch ? nextMatch : undefined;
48
+ return nextMatch !== currentMatch ? nextMatch : void 0;
49
49
  }
50
50
 
51
51
  exports.getNextMatch = getNextMatch;