reka-ui 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (796) 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.js +1 -1
  7. package/dist/Accordion/AccordionItem.cjs +2 -2
  8. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  9. package/dist/Accordion/AccordionItem.js +3 -3
  10. package/dist/Accordion/AccordionItem.js.map +1 -1
  11. package/dist/Accordion/AccordionRoot.cjs +1 -1
  12. package/dist/Accordion/AccordionRoot.js +2 -2
  13. package/dist/Accordion/AccordionTrigger.cjs +2 -2
  14. package/dist/Accordion/AccordionTrigger.cjs.map +1 -1
  15. package/dist/Accordion/AccordionTrigger.js +3 -3
  16. package/dist/Accordion/AccordionTrigger.js.map +1 -1
  17. package/dist/AlertDialog/AlertDialogAction.js +1 -1
  18. package/dist/AlertDialog/AlertDialogCancel.js +1 -1
  19. package/dist/AlertDialog/AlertDialogContent.cjs +1 -1
  20. package/dist/AlertDialog/AlertDialogContent.js +2 -2
  21. package/dist/AlertDialog/AlertDialogDescription.js +1 -1
  22. package/dist/AlertDialog/AlertDialogOverlay.js +1 -1
  23. package/dist/AlertDialog/AlertDialogPortal.js +1 -1
  24. package/dist/AlertDialog/AlertDialogRoot.js +1 -1
  25. package/dist/AlertDialog/AlertDialogTitle.js +1 -1
  26. package/dist/AlertDialog/AlertDialogTrigger.js +1 -1
  27. package/dist/AspectRatio/AspectRatio.js +1 -1
  28. package/dist/Avatar/AvatarFallback.js +1 -1
  29. package/dist/Avatar/AvatarImage.js +1 -1
  30. package/dist/Avatar/AvatarRoot.cjs +1 -1
  31. package/dist/Avatar/AvatarRoot.js +2 -2
  32. package/dist/Calendar/CalendarCell.cjs +2 -2
  33. package/dist/Calendar/CalendarCell.js +3 -3
  34. package/dist/Calendar/CalendarCellTrigger.cjs +74 -50
  35. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  36. package/dist/Calendar/CalendarCellTrigger.js +75 -51
  37. package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
  38. package/dist/Calendar/CalendarGrid.cjs +2 -2
  39. package/dist/Calendar/CalendarGrid.cjs.map +1 -1
  40. package/dist/Calendar/CalendarGrid.js +3 -3
  41. package/dist/Calendar/CalendarGrid.js.map +1 -1
  42. package/dist/Calendar/CalendarGridBody.js +1 -1
  43. package/dist/Calendar/CalendarGridHead.js +1 -1
  44. package/dist/Calendar/CalendarGridRow.js +1 -1
  45. package/dist/Calendar/CalendarHeadCell.js +1 -1
  46. package/dist/Calendar/CalendarHeader.js +1 -1
  47. package/dist/Calendar/CalendarHeading.cjs +1 -1
  48. package/dist/Calendar/CalendarHeading.js +2 -2
  49. package/dist/Calendar/CalendarNext.cjs +3 -3
  50. package/dist/Calendar/CalendarNext.js +4 -4
  51. package/dist/Calendar/CalendarPrev.cjs +3 -3
  52. package/dist/Calendar/CalendarPrev.js +4 -4
  53. package/dist/Calendar/CalendarRoot.cjs +14 -12
  54. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  55. package/dist/Calendar/CalendarRoot.js +15 -13
  56. package/dist/Calendar/CalendarRoot.js.map +1 -1
  57. package/dist/Calendar/useCalendar.js +1 -1
  58. package/dist/Calendar/utils.cjs +9 -0
  59. package/dist/Calendar/utils.cjs.map +1 -0
  60. package/dist/Calendar/utils.js +7 -0
  61. package/dist/Calendar/utils.js.map +1 -0
  62. package/dist/Checkbox/CheckboxGroupRoot.cjs +3 -3
  63. package/dist/Checkbox/CheckboxGroupRoot.js +4 -4
  64. package/dist/Checkbox/CheckboxIndicator.cjs +1 -1
  65. package/dist/Checkbox/CheckboxIndicator.js +2 -2
  66. package/dist/Checkbox/CheckboxRoot.cjs +8 -8
  67. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  68. package/dist/Checkbox/CheckboxRoot.js +10 -10
  69. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  70. package/dist/Collapsible/CollapsibleContent.cjs +4 -4
  71. package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
  72. package/dist/Collapsible/CollapsibleContent.js +5 -5
  73. package/dist/Collapsible/CollapsibleContent.js.map +1 -1
  74. package/dist/Collapsible/CollapsibleRoot.cjs +4 -4
  75. package/dist/Collapsible/CollapsibleRoot.js +5 -5
  76. package/dist/Collapsible/CollapsibleTrigger.cjs +2 -2
  77. package/dist/Collapsible/CollapsibleTrigger.js +3 -3
  78. package/dist/Combobox/ComboboxAnchor.js +1 -1
  79. package/dist/Combobox/ComboboxArrow.js +1 -1
  80. package/dist/Combobox/ComboboxCancel.cjs +1 -1
  81. package/dist/Combobox/ComboboxCancel.js +2 -2
  82. package/dist/Combobox/ComboboxContent.cjs +1 -1
  83. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  84. package/dist/Combobox/ComboboxContent.js +2 -2
  85. package/dist/Combobox/ComboboxContent.js.map +1 -1
  86. package/dist/Combobox/ComboboxContentImpl.cjs +1 -1
  87. package/dist/Combobox/ComboboxContentImpl.js +2 -2
  88. package/dist/Combobox/ComboboxEmpty.js +1 -1
  89. package/dist/Combobox/ComboboxGroup.cjs +3 -3
  90. package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
  91. package/dist/Combobox/ComboboxGroup.js +4 -4
  92. package/dist/Combobox/ComboboxGroup.js.map +1 -1
  93. package/dist/Combobox/ComboboxInput.cjs +1 -1
  94. package/dist/Combobox/ComboboxInput.js +2 -2
  95. package/dist/Combobox/ComboboxItem.cjs +2 -2
  96. package/dist/Combobox/ComboboxItem.cjs.map +1 -1
  97. package/dist/Combobox/ComboboxItem.js +3 -3
  98. package/dist/Combobox/ComboboxItem.js.map +1 -1
  99. package/dist/Combobox/ComboboxItemIndicator.js +1 -1
  100. package/dist/Combobox/ComboboxLabel.cjs +1 -1
  101. package/dist/Combobox/ComboboxLabel.cjs.map +1 -1
  102. package/dist/Combobox/ComboboxLabel.js +2 -2
  103. package/dist/Combobox/ComboboxLabel.js.map +1 -1
  104. package/dist/Combobox/ComboboxPortal.js +1 -1
  105. package/dist/Combobox/ComboboxRoot.cjs +7 -7
  106. package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
  107. package/dist/Combobox/ComboboxRoot.js +8 -8
  108. package/dist/Combobox/ComboboxRoot.js.map +1 -1
  109. package/dist/Combobox/ComboboxSeparator.js +1 -1
  110. package/dist/Combobox/ComboboxTrigger.cjs +3 -3
  111. package/dist/Combobox/ComboboxTrigger.js +4 -4
  112. package/dist/Combobox/ComboboxViewport.cjs +1 -1
  113. package/dist/Combobox/ComboboxViewport.js +2 -2
  114. package/dist/Combobox/ComboboxVirtualizer.js +1 -1
  115. package/dist/ConfigProvider/ConfigProvider.cjs +2 -2
  116. package/dist/ConfigProvider/ConfigProvider.js +2 -2
  117. package/dist/ContextMenu/ContextMenuArrow.js +1 -1
  118. package/dist/ContextMenu/ContextMenuCheckboxItem.js +1 -1
  119. package/dist/ContextMenu/ContextMenuContent.js +1 -1
  120. package/dist/ContextMenu/ContextMenuGroup.js +1 -1
  121. package/dist/ContextMenu/ContextMenuItem.js +1 -1
  122. package/dist/ContextMenu/ContextMenuItemIndicator.js +1 -1
  123. package/dist/ContextMenu/ContextMenuLabel.js +1 -1
  124. package/dist/ContextMenu/ContextMenuPortal.js +1 -1
  125. package/dist/ContextMenu/ContextMenuRadioGroup.js +1 -1
  126. package/dist/ContextMenu/ContextMenuRadioItem.js +1 -1
  127. package/dist/ContextMenu/ContextMenuRoot.cjs +1 -1
  128. package/dist/ContextMenu/ContextMenuRoot.js +2 -2
  129. package/dist/ContextMenu/ContextMenuSeparator.js +1 -1
  130. package/dist/ContextMenu/ContextMenuSub.cjs +2 -2
  131. package/dist/ContextMenu/ContextMenuSub.js +3 -3
  132. package/dist/ContextMenu/ContextMenuSubContent.js +1 -1
  133. package/dist/ContextMenu/ContextMenuSubTrigger.js +1 -1
  134. package/dist/ContextMenu/ContextMenuTrigger.cjs +1 -1
  135. package/dist/ContextMenu/ContextMenuTrigger.js +2 -2
  136. package/dist/DateField/DateFieldInput.cjs +5 -5
  137. package/dist/DateField/DateFieldInput.js +6 -6
  138. package/dist/DateField/DateFieldRoot.cjs +10 -10
  139. package/dist/DateField/DateFieldRoot.js +11 -11
  140. package/dist/DatePicker/DatePickerArrow.js +1 -1
  141. package/dist/DatePicker/DatePickerCalendar.js +1 -1
  142. package/dist/DatePicker/DatePickerCell.js +1 -1
  143. package/dist/DatePicker/DatePickerCellTrigger.js +1 -1
  144. package/dist/DatePicker/DatePickerClose.js +1 -1
  145. package/dist/DatePicker/DatePickerContent.js +1 -1
  146. package/dist/DatePicker/DatePickerField.js +1 -1
  147. package/dist/DatePicker/DatePickerGrid.js +1 -1
  148. package/dist/DatePicker/DatePickerGridBody.js +1 -1
  149. package/dist/DatePicker/DatePickerGridHead.js +1 -1
  150. package/dist/DatePicker/DatePickerGridRow.js +1 -1
  151. package/dist/DatePicker/DatePickerHeadCell.js +1 -1
  152. package/dist/DatePicker/DatePickerHeader.js +1 -1
  153. package/dist/DatePicker/DatePickerHeading.js +1 -1
  154. package/dist/DatePicker/DatePickerInput.js +1 -1
  155. package/dist/DatePicker/DatePickerNext.js +1 -1
  156. package/dist/DatePicker/DatePickerPrev.js +1 -1
  157. package/dist/DatePicker/DatePickerRoot.cjs +11 -11
  158. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  159. package/dist/DatePicker/DatePickerRoot.js +12 -12
  160. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  161. package/dist/DatePicker/DatePickerTrigger.js +1 -1
  162. package/dist/DateRangeField/DateRangeFieldInput.cjs +5 -5
  163. package/dist/DateRangeField/DateRangeFieldInput.js +6 -6
  164. package/dist/DateRangeField/DateRangeFieldRoot.cjs +22 -18
  165. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  166. package/dist/DateRangeField/DateRangeFieldRoot.js +23 -19
  167. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  168. package/dist/DateRangePicker/DateRangePickerAnchor.js +1 -1
  169. package/dist/DateRangePicker/DateRangePickerArrow.js +1 -1
  170. package/dist/DateRangePicker/DateRangePickerCalendar.js +1 -1
  171. package/dist/DateRangePicker/DateRangePickerCell.js +1 -1
  172. package/dist/DateRangePicker/DateRangePickerCellTrigger.js +1 -1
  173. package/dist/DateRangePicker/DateRangePickerClose.js +1 -1
  174. package/dist/DateRangePicker/DateRangePickerContent.js +1 -1
  175. package/dist/DateRangePicker/DateRangePickerField.js +1 -1
  176. package/dist/DateRangePicker/DateRangePickerGrid.js +1 -1
  177. package/dist/DateRangePicker/DateRangePickerGridBody.js +1 -1
  178. package/dist/DateRangePicker/DateRangePickerGridHead.js +1 -1
  179. package/dist/DateRangePicker/DateRangePickerGridRow.js +1 -1
  180. package/dist/DateRangePicker/DateRangePickerHeadCell.js +1 -1
  181. package/dist/DateRangePicker/DateRangePickerHeader.js +1 -1
  182. package/dist/DateRangePicker/DateRangePickerHeading.js +1 -1
  183. package/dist/DateRangePicker/DateRangePickerInput.js +1 -1
  184. package/dist/DateRangePicker/DateRangePickerNext.js +1 -1
  185. package/dist/DateRangePicker/DateRangePickerPrev.js +1 -1
  186. package/dist/DateRangePicker/DateRangePickerRoot.cjs +11 -11
  187. package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
  188. package/dist/DateRangePicker/DateRangePickerRoot.js +12 -12
  189. package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
  190. package/dist/DateRangePicker/DateRangePickerTrigger.js +1 -1
  191. package/dist/Dialog/DialogClose.cjs +1 -1
  192. package/dist/Dialog/DialogClose.js +2 -2
  193. package/dist/Dialog/DialogContent.js +1 -1
  194. package/dist/Dialog/DialogContentImpl.cjs +2 -2
  195. package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
  196. package/dist/Dialog/DialogContentImpl.js +3 -3
  197. package/dist/Dialog/DialogContentImpl.js.map +1 -1
  198. package/dist/Dialog/DialogContentModal.js +1 -1
  199. package/dist/Dialog/DialogContentNonModal.js +1 -1
  200. package/dist/Dialog/DialogDescription.js +1 -1
  201. package/dist/Dialog/DialogOverlay.js +1 -1
  202. package/dist/Dialog/DialogOverlayImpl.js +1 -1
  203. package/dist/Dialog/DialogPortal.js +1 -1
  204. package/dist/Dialog/DialogRoot.cjs +2 -2
  205. package/dist/Dialog/DialogRoot.js +2 -2
  206. package/dist/Dialog/DialogTitle.js +1 -1
  207. package/dist/Dialog/DialogTrigger.cjs +3 -3
  208. package/dist/Dialog/DialogTrigger.cjs.map +1 -1
  209. package/dist/Dialog/DialogTrigger.js +4 -4
  210. package/dist/Dialog/DialogTrigger.js.map +1 -1
  211. package/dist/DismissableLayer/DismissableLayer.cjs +1 -1
  212. package/dist/DismissableLayer/DismissableLayer.js +2 -2
  213. package/dist/DismissableLayer/DismissableLayerBranch.js +1 -1
  214. package/dist/DismissableLayer/utils.cjs +1 -0
  215. package/dist/DismissableLayer/utils.cjs.map +1 -1
  216. package/dist/DismissableLayer/utils.js +1 -0
  217. package/dist/DismissableLayer/utils.js.map +1 -1
  218. package/dist/DropdownMenu/DropdownMenuArrow.js +1 -1
  219. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +1 -1
  220. package/dist/DropdownMenu/DropdownMenuContent.cjs +1 -1
  221. package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
  222. package/dist/DropdownMenu/DropdownMenuContent.js +2 -2
  223. package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
  224. package/dist/DropdownMenu/DropdownMenuGroup.js +1 -1
  225. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  226. package/dist/DropdownMenu/DropdownMenuItemIndicator.js +1 -1
  227. package/dist/DropdownMenu/DropdownMenuLabel.js +1 -1
  228. package/dist/DropdownMenu/DropdownMenuPortal.js +1 -1
  229. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +1 -1
  230. package/dist/DropdownMenu/DropdownMenuRadioItem.js +1 -1
  231. package/dist/DropdownMenu/DropdownMenuRoot.cjs +3 -3
  232. package/dist/DropdownMenu/DropdownMenuRoot.js +4 -4
  233. package/dist/DropdownMenu/DropdownMenuSeparator.js +1 -1
  234. package/dist/DropdownMenu/DropdownMenuSub.cjs +2 -2
  235. package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
  236. package/dist/DropdownMenu/DropdownMenuSub.js +3 -3
  237. package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
  238. package/dist/DropdownMenu/DropdownMenuSubContent.js +1 -1
  239. package/dist/DropdownMenu/DropdownMenuSubTrigger.js +1 -1
  240. package/dist/DropdownMenu/DropdownMenuTrigger.cjs +4 -4
  241. package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  242. package/dist/DropdownMenu/DropdownMenuTrigger.js +5 -5
  243. package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  244. package/dist/Editable/EditableArea.cjs +7 -7
  245. package/dist/Editable/EditableArea.js +8 -8
  246. package/dist/Editable/EditableCancelTrigger.cjs +4 -4
  247. package/dist/Editable/EditableCancelTrigger.js +5 -5
  248. package/dist/Editable/EditableEditTrigger.cjs +4 -4
  249. package/dist/Editable/EditableEditTrigger.js +5 -5
  250. package/dist/Editable/EditableInput.cjs +4 -4
  251. package/dist/Editable/EditableInput.js +5 -5
  252. package/dist/Editable/EditablePreview.cjs +4 -4
  253. package/dist/Editable/EditablePreview.js +5 -5
  254. package/dist/Editable/EditableRoot.cjs +2 -2
  255. package/dist/Editable/EditableRoot.js +3 -3
  256. package/dist/Editable/EditableSubmitTrigger.cjs +4 -4
  257. package/dist/Editable/EditableSubmitTrigger.js +5 -5
  258. package/dist/FocusScope/FocusScope.js +1 -1
  259. package/dist/FocusScope/utils.cjs +1 -1
  260. package/dist/FocusScope/utils.cjs.map +1 -1
  261. package/dist/FocusScope/utils.js +1 -1
  262. package/dist/FocusScope/utils.js.map +1 -1
  263. package/dist/HoverCard/HoverCardArrow.js +1 -1
  264. package/dist/HoverCard/HoverCardContent.js +1 -1
  265. package/dist/HoverCard/HoverCardContentImpl.cjs +2 -2
  266. package/dist/HoverCard/HoverCardContentImpl.js +3 -3
  267. package/dist/HoverCard/HoverCardPortal.js +1 -1
  268. package/dist/HoverCard/HoverCardRoot.cjs +3 -3
  269. package/dist/HoverCard/HoverCardRoot.js +4 -4
  270. package/dist/HoverCard/HoverCardTrigger.js +1 -1
  271. package/dist/HoverCard/utils.cjs +1 -1
  272. package/dist/HoverCard/utils.cjs.map +1 -1
  273. package/dist/HoverCard/utils.js +1 -1
  274. package/dist/HoverCard/utils.js.map +1 -1
  275. package/dist/Label/Label.js +1 -1
  276. package/dist/Listbox/ListboxContent.cjs +2 -2
  277. package/dist/Listbox/ListboxContent.js +3 -3
  278. package/dist/Listbox/ListboxFilter.cjs +8 -5
  279. package/dist/Listbox/ListboxFilter.cjs.map +1 -1
  280. package/dist/Listbox/ListboxFilter.js +9 -6
  281. package/dist/Listbox/ListboxFilter.js.map +1 -1
  282. package/dist/Listbox/ListboxGroup.cjs +2 -2
  283. package/dist/Listbox/ListboxGroup.cjs.map +1 -1
  284. package/dist/Listbox/ListboxGroup.js +3 -3
  285. package/dist/Listbox/ListboxGroup.js.map +1 -1
  286. package/dist/Listbox/ListboxGroupLabel.js +1 -1
  287. package/dist/Listbox/ListboxItem.cjs +6 -6
  288. package/dist/Listbox/ListboxItem.cjs.map +1 -1
  289. package/dist/Listbox/ListboxItem.js +7 -7
  290. package/dist/Listbox/ListboxItem.js.map +1 -1
  291. package/dist/Listbox/ListboxItemIndicator.js +1 -1
  292. package/dist/Listbox/ListboxRoot.cjs +6 -6
  293. package/dist/Listbox/ListboxRoot.cjs.map +1 -1
  294. package/dist/Listbox/ListboxRoot.js +7 -7
  295. package/dist/Listbox/ListboxRoot.js.map +1 -1
  296. package/dist/Listbox/ListboxVirtualizer.js +1 -1
  297. package/dist/Listbox/utils.cjs +2 -2
  298. package/dist/Listbox/utils.cjs.map +1 -1
  299. package/dist/Listbox/utils.js +2 -2
  300. package/dist/Listbox/utils.js.map +1 -1
  301. package/dist/Menu/MenuAnchor.js +1 -1
  302. package/dist/Menu/MenuArrow.js +1 -1
  303. package/dist/Menu/MenuCheckboxItem.js +1 -1
  304. package/dist/Menu/MenuContent.js +1 -1
  305. package/dist/Menu/MenuContentImpl.cjs +2 -2
  306. package/dist/Menu/MenuContentImpl.js +4 -4
  307. package/dist/Menu/MenuGroup.js +1 -1
  308. package/dist/Menu/MenuItem.js +1 -1
  309. package/dist/Menu/MenuItemImpl.cjs +3 -3
  310. package/dist/Menu/MenuItemImpl.js +4 -4
  311. package/dist/Menu/MenuItemIndicator.cjs +1 -1
  312. package/dist/Menu/MenuItemIndicator.js +2 -2
  313. package/dist/Menu/MenuLabel.js +1 -1
  314. package/dist/Menu/MenuPortal.js +1 -1
  315. package/dist/Menu/MenuRadioGroup.js +1 -1
  316. package/dist/Menu/MenuRadioItem.js +1 -1
  317. package/dist/Menu/MenuRoot.js +1 -1
  318. package/dist/Menu/MenuRootContentModal.js +1 -1
  319. package/dist/Menu/MenuRootContentNonModal.js +1 -1
  320. package/dist/Menu/MenuSeparator.js +1 -1
  321. package/dist/Menu/MenuSub.cjs +2 -2
  322. package/dist/Menu/MenuSub.js +3 -3
  323. package/dist/Menu/MenuSubContent.cjs +1 -1
  324. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  325. package/dist/Menu/MenuSubContent.js +2 -2
  326. package/dist/Menu/MenuSubContent.js.map +1 -1
  327. package/dist/Menu/MenuSubTrigger.cjs +2 -2
  328. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  329. package/dist/Menu/MenuSubTrigger.js +3 -3
  330. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  331. package/dist/Menubar/MenubarArrow.js +1 -1
  332. package/dist/Menubar/MenubarCheckboxItem.js +1 -1
  333. package/dist/Menubar/MenubarContent.cjs +1 -1
  334. package/dist/Menubar/MenubarContent.cjs.map +1 -1
  335. package/dist/Menubar/MenubarContent.js +2 -2
  336. package/dist/Menubar/MenubarContent.js.map +1 -1
  337. package/dist/Menubar/MenubarGroup.js +1 -1
  338. package/dist/Menubar/MenubarItem.js +1 -1
  339. package/dist/Menubar/MenubarItemIndicator.js +1 -1
  340. package/dist/Menubar/MenubarLabel.js +1 -1
  341. package/dist/Menubar/MenubarMenu.cjs +1 -1
  342. package/dist/Menubar/MenubarMenu.js +2 -2
  343. package/dist/Menubar/MenubarPortal.js +1 -1
  344. package/dist/Menubar/MenubarRadioGroup.js +1 -1
  345. package/dist/Menubar/MenubarRadioItem.js +1 -1
  346. package/dist/Menubar/MenubarRoot.cjs +3 -3
  347. package/dist/Menubar/MenubarRoot.js +4 -4
  348. package/dist/Menubar/MenubarSeparator.js +1 -1
  349. package/dist/Menubar/MenubarSub.cjs +2 -2
  350. package/dist/Menubar/MenubarSub.js +3 -3
  351. package/dist/Menubar/MenubarSubContent.js +1 -1
  352. package/dist/Menubar/MenubarSubTrigger.js +1 -1
  353. package/dist/Menubar/MenubarTrigger.cjs +5 -5
  354. package/dist/Menubar/MenubarTrigger.js +6 -6
  355. package/dist/NavigationMenu/NavigationMenuContent.cjs +1 -1
  356. package/dist/NavigationMenu/NavigationMenuContent.js +2 -2
  357. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +1 -1
  358. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
  359. package/dist/NavigationMenu/NavigationMenuContentImpl.js +2 -2
  360. package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
  361. package/dist/NavigationMenu/NavigationMenuIndicator.js +1 -1
  362. package/dist/NavigationMenu/NavigationMenuItem.cjs +2 -2
  363. package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
  364. package/dist/NavigationMenu/NavigationMenuItem.js +3 -3
  365. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  366. package/dist/NavigationMenu/NavigationMenuLink.cjs +2 -2
  367. package/dist/NavigationMenu/NavigationMenuLink.js +3 -3
  368. package/dist/NavigationMenu/NavigationMenuList.js +1 -1
  369. package/dist/NavigationMenu/NavigationMenuRoot.cjs +4 -4
  370. package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
  371. package/dist/NavigationMenu/NavigationMenuRoot.js +5 -5
  372. package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
  373. package/dist/NavigationMenu/NavigationMenuSub.cjs +1 -1
  374. package/dist/NavigationMenu/NavigationMenuSub.js +2 -2
  375. package/dist/NavigationMenu/NavigationMenuTrigger.cjs +2 -2
  376. package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  377. package/dist/NavigationMenu/NavigationMenuTrigger.js +3 -3
  378. package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  379. package/dist/NavigationMenu/NavigationMenuViewport.cjs +7 -7
  380. package/dist/NavigationMenu/NavigationMenuViewport.js +9 -9
  381. package/dist/NavigationMenu/utils.cjs +1 -1
  382. package/dist/NavigationMenu/utils.cjs.map +1 -1
  383. package/dist/NavigationMenu/utils.js +1 -1
  384. package/dist/NavigationMenu/utils.js.map +1 -1
  385. package/dist/NumberField/NumberFieldDecrement.cjs +5 -5
  386. package/dist/NumberField/NumberFieldDecrement.js +6 -6
  387. package/dist/NumberField/NumberFieldIncrement.cjs +5 -5
  388. package/dist/NumberField/NumberFieldIncrement.js +6 -6
  389. package/dist/NumberField/NumberFieldInput.cjs +3 -3
  390. package/dist/NumberField/NumberFieldInput.js +4 -4
  391. package/dist/NumberField/NumberFieldRoot.cjs +7 -7
  392. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  393. package/dist/NumberField/NumberFieldRoot.js +8 -8
  394. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  395. package/dist/NumberField/utils.js +1 -1
  396. package/dist/Pagination/PaginationEllipsis.js +1 -1
  397. package/dist/Pagination/PaginationFirst.cjs +1 -1
  398. package/dist/Pagination/PaginationFirst.js +2 -2
  399. package/dist/Pagination/PaginationLast.cjs +1 -1
  400. package/dist/Pagination/PaginationLast.js +2 -2
  401. package/dist/Pagination/PaginationList.js +1 -1
  402. package/dist/Pagination/PaginationListItem.cjs +3 -3
  403. package/dist/Pagination/PaginationListItem.js +4 -4
  404. package/dist/Pagination/PaginationNext.cjs +1 -1
  405. package/dist/Pagination/PaginationNext.js +2 -2
  406. package/dist/Pagination/PaginationPrev.cjs +1 -1
  407. package/dist/Pagination/PaginationPrev.js +2 -2
  408. package/dist/Pagination/PaginationRoot.cjs +2 -2
  409. package/dist/Pagination/PaginationRoot.js +3 -3
  410. package/dist/PinInput/PinInputInput.cjs +4 -4
  411. package/dist/PinInput/PinInputInput.cjs.map +1 -1
  412. package/dist/PinInput/PinInputInput.js +5 -5
  413. package/dist/PinInput/PinInputInput.js.map +1 -1
  414. package/dist/PinInput/PinInputRoot.cjs +4 -4
  415. package/dist/PinInput/PinInputRoot.js +5 -5
  416. package/dist/Popover/PopoverAnchor.js +1 -1
  417. package/dist/Popover/PopoverArrow.js +1 -1
  418. package/dist/Popover/PopoverClose.cjs +1 -1
  419. package/dist/Popover/PopoverClose.js +2 -2
  420. package/dist/Popover/PopoverContent.cjs +1 -1
  421. package/dist/Popover/PopoverContent.cjs.map +1 -1
  422. package/dist/Popover/PopoverContent.js +2 -2
  423. package/dist/Popover/PopoverContent.js.map +1 -1
  424. package/dist/Popover/PopoverContentImpl.js +1 -1
  425. package/dist/Popover/PopoverContentModal.js +1 -1
  426. package/dist/Popover/PopoverContentNonModal.js +1 -1
  427. package/dist/Popover/PopoverPortal.js +1 -1
  428. package/dist/Popover/PopoverRoot.cjs +2 -2
  429. package/dist/Popover/PopoverRoot.js +3 -3
  430. package/dist/Popover/PopoverTrigger.cjs +2 -2
  431. package/dist/Popover/PopoverTrigger.cjs.map +1 -1
  432. package/dist/Popover/PopoverTrigger.js +3 -3
  433. package/dist/Popover/PopoverTrigger.js.map +1 -1
  434. package/dist/Popper/PopperAnchor.js +1 -1
  435. package/dist/Popper/PopperArrow.cjs +4 -4
  436. package/dist/Popper/PopperArrow.js +5 -5
  437. package/dist/Popper/PopperContent.cjs +3 -3
  438. package/dist/Popper/PopperContent.cjs.map +1 -1
  439. package/dist/Popper/PopperContent.js +5 -5
  440. package/dist/Popper/PopperContent.js.map +1 -1
  441. package/dist/Presence/usePresence.cjs +2 -2
  442. package/dist/Presence/usePresence.cjs.map +1 -1
  443. package/dist/Presence/usePresence.js +2 -2
  444. package/dist/Presence/usePresence.js.map +1 -1
  445. package/dist/Primitive/Primitive.cjs +1 -1
  446. package/dist/Primitive/Primitive.cjs.map +1 -1
  447. package/dist/Primitive/Primitive.js +1 -1
  448. package/dist/Primitive/Primitive.js.map +1 -1
  449. package/dist/Progress/ProgressIndicator.cjs +1 -1
  450. package/dist/Progress/ProgressIndicator.js +2 -2
  451. package/dist/Progress/ProgressRoot.cjs +5 -5
  452. package/dist/Progress/ProgressRoot.js +6 -6
  453. package/dist/RadioGroup/Radio.cjs +6 -6
  454. package/dist/RadioGroup/Radio.cjs.map +1 -1
  455. package/dist/RadioGroup/Radio.js +7 -7
  456. package/dist/RadioGroup/Radio.js.map +1 -1
  457. package/dist/RadioGroup/RadioGroupIndicator.cjs +1 -1
  458. package/dist/RadioGroup/RadioGroupIndicator.js +2 -2
  459. package/dist/RadioGroup/RadioGroupItem.cjs +2 -2
  460. package/dist/RadioGroup/RadioGroupItem.js +3 -3
  461. package/dist/RadioGroup/RadioGroupRoot.cjs +5 -5
  462. package/dist/RadioGroup/RadioGroupRoot.js +6 -6
  463. package/dist/RangeCalendar/RangeCalendarCell.cjs +2 -2
  464. package/dist/RangeCalendar/RangeCalendarCell.js +3 -3
  465. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +84 -60
  466. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
  467. package/dist/RangeCalendar/RangeCalendarCellTrigger.js +85 -61
  468. package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
  469. package/dist/RangeCalendar/RangeCalendarGrid.cjs +2 -2
  470. package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
  471. package/dist/RangeCalendar/RangeCalendarGrid.js +3 -3
  472. package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
  473. package/dist/RangeCalendar/RangeCalendarGridBody.js +1 -1
  474. package/dist/RangeCalendar/RangeCalendarGridHead.js +1 -1
  475. package/dist/RangeCalendar/RangeCalendarGridRow.js +1 -1
  476. package/dist/RangeCalendar/RangeCalendarHeadCell.js +1 -1
  477. package/dist/RangeCalendar/RangeCalendarHeader.js +1 -1
  478. package/dist/RangeCalendar/RangeCalendarHeading.cjs +1 -1
  479. package/dist/RangeCalendar/RangeCalendarHeading.js +2 -2
  480. package/dist/RangeCalendar/RangeCalendarNext.cjs +3 -3
  481. package/dist/RangeCalendar/RangeCalendarNext.js +4 -4
  482. package/dist/RangeCalendar/RangeCalendarPrev.cjs +3 -3
  483. package/dist/RangeCalendar/RangeCalendarPrev.js +4 -4
  484. package/dist/RangeCalendar/RangeCalendarRoot.cjs +17 -15
  485. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  486. package/dist/RangeCalendar/RangeCalendarRoot.js +18 -16
  487. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  488. package/dist/RovingFocus/RovingFocusGroup.cjs +4 -4
  489. package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
  490. package/dist/RovingFocus/RovingFocusGroup.js +5 -5
  491. package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
  492. package/dist/RovingFocus/RovingFocusItem.cjs +4 -4
  493. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  494. package/dist/RovingFocus/RovingFocusItem.js +5 -5
  495. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  496. package/dist/RovingFocus/utils.cjs +2 -2
  497. package/dist/RovingFocus/utils.cjs.map +1 -1
  498. package/dist/RovingFocus/utils.js +2 -2
  499. package/dist/RovingFocus/utils.js.map +1 -1
  500. package/dist/ScrollArea/ScrollAreaCorner.js +1 -1
  501. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +2 -2
  502. package/dist/ScrollArea/ScrollAreaCornerImpl.js +3 -3
  503. package/dist/ScrollArea/ScrollAreaRoot.cjs +4 -4
  504. package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
  505. package/dist/ScrollArea/ScrollAreaRoot.js +5 -5
  506. package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
  507. package/dist/ScrollArea/ScrollAreaScrollbar.cjs +1 -1
  508. package/dist/ScrollArea/ScrollAreaScrollbar.js +2 -2
  509. package/dist/ScrollArea/ScrollAreaScrollbarAuto.js +1 -1
  510. package/dist/ScrollArea/ScrollAreaScrollbarHover.js +1 -1
  511. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs +1 -1
  512. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
  513. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js +2 -2
  514. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
  515. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js +1 -1
  516. package/dist/ScrollArea/ScrollAreaScrollbarVisible.js +1 -1
  517. package/dist/ScrollArea/ScrollAreaScrollbarX.cjs +1 -1
  518. package/dist/ScrollArea/ScrollAreaScrollbarX.js +2 -2
  519. package/dist/ScrollArea/ScrollAreaScrollbarY.cjs +3 -3
  520. package/dist/ScrollArea/ScrollAreaScrollbarY.js +4 -4
  521. package/dist/ScrollArea/ScrollAreaThumb.js +1 -1
  522. package/dist/ScrollArea/ScrollAreaViewport.cjs +1 -1
  523. package/dist/ScrollArea/ScrollAreaViewport.js +2 -2
  524. package/dist/Select/BubbleSelect.cjs +2 -2
  525. package/dist/Select/BubbleSelect.cjs.map +1 -1
  526. package/dist/Select/BubbleSelect.js +3 -3
  527. package/dist/Select/BubbleSelect.js.map +1 -1
  528. package/dist/Select/SelectArrow.js +1 -1
  529. package/dist/Select/SelectContent.js +1 -1
  530. package/dist/Select/SelectContentImpl.cjs +2 -2
  531. package/dist/Select/SelectContentImpl.js +3 -3
  532. package/dist/Select/SelectGroup.cjs +2 -2
  533. package/dist/Select/SelectGroup.cjs.map +1 -1
  534. package/dist/Select/SelectGroup.js +3 -3
  535. package/dist/Select/SelectGroup.js.map +1 -1
  536. package/dist/Select/SelectIcon.js +1 -1
  537. package/dist/Select/SelectItem.cjs +6 -6
  538. package/dist/Select/SelectItem.cjs.map +1 -1
  539. package/dist/Select/SelectItem.js +7 -7
  540. package/dist/Select/SelectItem.js.map +1 -1
  541. package/dist/Select/SelectItemAlignedPosition.cjs +1 -1
  542. package/dist/Select/SelectItemAlignedPosition.js +2 -2
  543. package/dist/Select/SelectItemIndicator.js +1 -1
  544. package/dist/Select/SelectItemText.js +1 -1
  545. package/dist/Select/SelectLabel.js +1 -1
  546. package/dist/Select/SelectPopperPosition.js +1 -1
  547. package/dist/Select/SelectPortal.js +1 -1
  548. package/dist/Select/SelectRoot.cjs +6 -6
  549. package/dist/Select/SelectRoot.cjs.map +1 -1
  550. package/dist/Select/SelectRoot.js +7 -7
  551. package/dist/Select/SelectRoot.js.map +1 -1
  552. package/dist/Select/SelectScrollButtonImpl.js +1 -1
  553. package/dist/Select/SelectScrollDownButton.cjs +1 -1
  554. package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
  555. package/dist/Select/SelectScrollDownButton.js +2 -2
  556. package/dist/Select/SelectScrollDownButton.js.map +1 -1
  557. package/dist/Select/SelectScrollUpButton.cjs +1 -1
  558. package/dist/Select/SelectScrollUpButton.cjs.map +1 -1
  559. package/dist/Select/SelectScrollUpButton.js +2 -2
  560. package/dist/Select/SelectScrollUpButton.js.map +1 -1
  561. package/dist/Select/SelectSeparator.js +1 -1
  562. package/dist/Select/SelectTrigger.cjs +4 -4
  563. package/dist/Select/SelectTrigger.cjs.map +1 -1
  564. package/dist/Select/SelectTrigger.js +5 -5
  565. package/dist/Select/SelectTrigger.js.map +1 -1
  566. package/dist/Select/SelectValue.cjs +1 -1
  567. package/dist/Select/SelectValue.js +2 -2
  568. package/dist/Select/SelectViewport.cjs +1 -1
  569. package/dist/Select/SelectViewport.cjs.map +1 -1
  570. package/dist/Select/SelectViewport.js +2 -2
  571. package/dist/Select/SelectViewport.js.map +1 -1
  572. package/dist/Select/utils.cjs +2 -2
  573. package/dist/Select/utils.cjs.map +1 -1
  574. package/dist/Select/utils.js +2 -2
  575. package/dist/Select/utils.js.map +1 -1
  576. package/dist/Separator/Separator.js +1 -1
  577. package/dist/Slider/SliderHorizontal.cjs +2 -2
  578. package/dist/Slider/SliderHorizontal.js +3 -3
  579. package/dist/Slider/SliderImpl.js +1 -1
  580. package/dist/Slider/SliderRange.cjs +1 -1
  581. package/dist/Slider/SliderRange.js +2 -2
  582. package/dist/Slider/SliderRoot.cjs +3 -3
  583. package/dist/Slider/SliderRoot.js +4 -4
  584. package/dist/Slider/SliderThumb.js +1 -1
  585. package/dist/Slider/SliderThumbImpl.cjs +4 -4
  586. package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
  587. package/dist/Slider/SliderThumbImpl.js +5 -5
  588. package/dist/Slider/SliderThumbImpl.js.map +1 -1
  589. package/dist/Slider/SliderTrack.cjs +1 -1
  590. package/dist/Slider/SliderTrack.js +2 -2
  591. package/dist/Slider/SliderVertical.cjs +2 -2
  592. package/dist/Slider/SliderVertical.js +3 -3
  593. package/dist/Slider/utils.cjs +1 -1
  594. package/dist/Slider/utils.cjs.map +1 -1
  595. package/dist/Slider/utils.js +1 -1
  596. package/dist/Slider/utils.js.map +1 -1
  597. package/dist/Splitter/SplitterGroup.cjs +2 -2
  598. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  599. package/dist/Splitter/SplitterGroup.js +3 -3
  600. package/dist/Splitter/SplitterGroup.js.map +1 -1
  601. package/dist/Splitter/SplitterPanel.cjs +3 -3
  602. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  603. package/dist/Splitter/SplitterPanel.js +4 -4
  604. package/dist/Splitter/SplitterPanel.js.map +1 -1
  605. package/dist/Splitter/SplitterResizeHandle.cjs +2 -2
  606. package/dist/Splitter/SplitterResizeHandle.js +3 -3
  607. package/dist/Stepper/StepperDescription.js +1 -1
  608. package/dist/Stepper/StepperIndicator.js +1 -1
  609. package/dist/Stepper/StepperItem.cjs +6 -6
  610. package/dist/Stepper/StepperItem.cjs.map +1 -1
  611. package/dist/Stepper/StepperItem.js +7 -7
  612. package/dist/Stepper/StepperItem.js.map +1 -1
  613. package/dist/Stepper/StepperRoot.cjs +3 -3
  614. package/dist/Stepper/StepperRoot.js +4 -4
  615. package/dist/Stepper/StepperSeparator.js +1 -1
  616. package/dist/Stepper/StepperTitle.js +1 -1
  617. package/dist/Stepper/StepperTrigger.cjs +5 -5
  618. package/dist/Stepper/StepperTrigger.cjs.map +1 -1
  619. package/dist/Stepper/StepperTrigger.js +6 -6
  620. package/dist/Stepper/StepperTrigger.js.map +1 -1
  621. package/dist/Switch/SwitchRoot.cjs +6 -6
  622. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  623. package/dist/Switch/SwitchRoot.js +7 -7
  624. package/dist/Switch/SwitchRoot.js.map +1 -1
  625. package/dist/Switch/SwitchThumb.cjs +1 -1
  626. package/dist/Switch/SwitchThumb.js +2 -2
  627. package/dist/Tabs/TabsContent.cjs +1 -1
  628. package/dist/Tabs/TabsContent.js +2 -2
  629. package/dist/Tabs/TabsIndicator.js +1 -1
  630. package/dist/Tabs/TabsList.cjs +1 -1
  631. package/dist/Tabs/TabsList.js +2 -2
  632. package/dist/Tabs/TabsRoot.cjs +3 -3
  633. package/dist/Tabs/TabsRoot.cjs.map +1 -1
  634. package/dist/Tabs/TabsRoot.js +4 -4
  635. package/dist/Tabs/TabsRoot.js.map +1 -1
  636. package/dist/Tabs/TabsTrigger.cjs +3 -3
  637. package/dist/Tabs/TabsTrigger.js +4 -4
  638. package/dist/TagsInput/TagsInputClear.cjs +2 -2
  639. package/dist/TagsInput/TagsInputClear.js +3 -3
  640. package/dist/TagsInput/TagsInputInput.cjs +1 -1
  641. package/dist/TagsInput/TagsInputInput.js +2 -2
  642. package/dist/TagsInput/TagsInputItem.cjs +2 -2
  643. package/dist/TagsInput/TagsInputItem.js +3 -3
  644. package/dist/TagsInput/TagsInputItemDelete.cjs +2 -2
  645. package/dist/TagsInput/TagsInputItemDelete.js +3 -3
  646. package/dist/TagsInput/TagsInputItemText.cjs +1 -1
  647. package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
  648. package/dist/TagsInput/TagsInputItemText.js +2 -2
  649. package/dist/TagsInput/TagsInputItemText.js.map +1 -1
  650. package/dist/TagsInput/TagsInputRoot.cjs +7 -7
  651. package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
  652. package/dist/TagsInput/TagsInputRoot.js +8 -8
  653. package/dist/TagsInput/TagsInputRoot.js.map +1 -1
  654. package/dist/Teleport/Teleport.js +1 -1
  655. package/dist/TimeField/TimeFieldInput.cjs +5 -5
  656. package/dist/TimeField/TimeFieldInput.js +6 -6
  657. package/dist/TimeField/TimeFieldRoot.cjs +17 -14
  658. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  659. package/dist/TimeField/TimeFieldRoot.js +19 -16
  660. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  661. package/dist/Toast/FocusProxy.js +1 -1
  662. package/dist/Toast/ToastAction.js +1 -1
  663. package/dist/Toast/ToastAnnounce.js +1 -1
  664. package/dist/Toast/ToastAnnounceExclude.cjs +1 -1
  665. package/dist/Toast/ToastAnnounceExclude.js +2 -2
  666. package/dist/Toast/ToastClose.cjs +1 -1
  667. package/dist/Toast/ToastClose.js +2 -2
  668. package/dist/Toast/ToastDescription.js +1 -1
  669. package/dist/Toast/ToastPortal.js +1 -1
  670. package/dist/Toast/ToastRoot.cjs +2 -2
  671. package/dist/Toast/ToastRoot.js +3 -3
  672. package/dist/Toast/ToastRootImpl.cjs +1 -1
  673. package/dist/Toast/ToastRootImpl.js +3 -3
  674. package/dist/Toast/ToastTitle.js +1 -1
  675. package/dist/Toast/ToastViewport.cjs +3 -3
  676. package/dist/Toast/ToastViewport.js +4 -4
  677. package/dist/Toast/utils.js +1 -1
  678. package/dist/Toggle/Toggle.cjs +4 -4
  679. package/dist/Toggle/Toggle.js +5 -5
  680. package/dist/ToggleGroup/ToggleGroupItem.cjs +1 -1
  681. package/dist/ToggleGroup/ToggleGroupItem.js +2 -2
  682. package/dist/ToggleGroup/ToggleGroupRoot.cjs +4 -4
  683. package/dist/ToggleGroup/ToggleGroupRoot.js +5 -5
  684. package/dist/Toolbar/ToolbarButton.cjs +2 -2
  685. package/dist/Toolbar/ToolbarButton.js +3 -3
  686. package/dist/Toolbar/ToolbarLink.cjs +1 -1
  687. package/dist/Toolbar/ToolbarLink.js +2 -2
  688. package/dist/Toolbar/ToolbarRoot.cjs +2 -2
  689. package/dist/Toolbar/ToolbarRoot.js +3 -3
  690. package/dist/Toolbar/ToolbarSeparator.js +1 -1
  691. package/dist/Toolbar/ToolbarToggleGroup.js +1 -1
  692. package/dist/Toolbar/ToolbarToggleItem.js +1 -1
  693. package/dist/Tooltip/TooltipArrow.js +1 -1
  694. package/dist/Tooltip/TooltipContent.js +1 -1
  695. package/dist/Tooltip/TooltipContentHoverable.js +1 -1
  696. package/dist/Tooltip/TooltipContentImpl.js +1 -1
  697. package/dist/Tooltip/TooltipPortal.js +1 -1
  698. package/dist/Tooltip/TooltipProvider.cjs +1 -1
  699. package/dist/Tooltip/TooltipProvider.js +1 -1
  700. package/dist/Tooltip/TooltipRoot.cjs +8 -8
  701. package/dist/Tooltip/TooltipRoot.js +9 -9
  702. package/dist/Tooltip/TooltipTrigger.cjs +2 -2
  703. package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
  704. package/dist/Tooltip/TooltipTrigger.js +3 -3
  705. package/dist/Tooltip/TooltipTrigger.js.map +1 -1
  706. package/dist/Tree/TreeItem.cjs +5 -5
  707. package/dist/Tree/TreeItem.cjs.map +1 -1
  708. package/dist/Tree/TreeItem.js +6 -6
  709. package/dist/Tree/TreeItem.js.map +1 -1
  710. package/dist/Tree/TreeRoot.cjs +8 -8
  711. package/dist/Tree/TreeRoot.cjs.map +1 -1
  712. package/dist/Tree/TreeRoot.js +9 -9
  713. package/dist/Tree/TreeRoot.js.map +1 -1
  714. package/dist/Tree/TreeVirtualizer.js +1 -1
  715. package/dist/Viewport/Viewport.js +1 -1
  716. package/dist/VisuallyHidden/VisuallyHidden.cjs +3 -3
  717. package/dist/VisuallyHidden/VisuallyHidden.js +4 -4
  718. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs +9 -3
  719. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs.map +1 -1
  720. package/dist/VisuallyHidden/VisuallyHiddenInput.js +10 -4
  721. package/dist/VisuallyHidden/VisuallyHiddenInput.js.map +1 -1
  722. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs +1 -1
  723. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js +2 -2
  724. package/dist/component/Arrow.cjs +2 -2
  725. package/dist/component/Arrow.js +3 -3
  726. package/dist/component/BaseSeparator.cjs +1 -1
  727. package/dist/component/BaseSeparator.js +2 -2
  728. package/dist/constant/components.cjs +4 -0
  729. package/dist/constant/components.cjs.map +1 -1
  730. package/dist/constant/components.js +4 -0
  731. package/dist/constant/components.js.map +1 -1
  732. package/dist/date/comparators.cjs +1 -1
  733. package/dist/date/comparators.cjs.map +1 -1
  734. package/dist/date/comparators.js +2 -2
  735. package/dist/date/comparators.js.map +1 -1
  736. package/dist/date/parser.cjs +2 -2
  737. package/dist/date/parser.js +3 -3
  738. package/dist/date/useDateField.cjs +9 -9
  739. package/dist/date/useDateField.cjs.map +1 -1
  740. package/dist/date/useDateField.js +10 -10
  741. package/dist/date/useDateField.js.map +1 -1
  742. package/dist/date/utils.cjs +2 -2
  743. package/dist/date/utils.cjs.map +1 -1
  744. package/dist/date/utils.js +2 -2
  745. package/dist/date/utils.js.map +1 -1
  746. package/dist/index.cjs +91 -87
  747. package/dist/index.cjs.map +1 -1
  748. package/dist/index.d.ts +66 -2
  749. package/dist/index.js +42 -40
  750. package/dist/index.js.map +1 -1
  751. package/dist/shared/nullish.cjs +1 -1
  752. package/dist/shared/nullish.cjs.map +1 -1
  753. package/dist/shared/nullish.js +1 -1
  754. package/dist/shared/nullish.js.map +1 -1
  755. package/dist/shared/useBodyScrollLock.cjs +2 -2
  756. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  757. package/dist/shared/useBodyScrollLock.js +4 -4
  758. package/dist/shared/useBodyScrollLock.js.map +1 -1
  759. package/dist/shared/useDateFormatter.js +2 -2
  760. package/dist/shared/useForwardProps.cjs +2 -2
  761. package/dist/shared/useForwardProps.cjs.map +1 -1
  762. package/dist/shared/useForwardProps.js +2 -2
  763. package/dist/shared/useForwardProps.js.map +1 -1
  764. package/dist/shared/useGraceArea.cjs +1 -1
  765. package/dist/shared/useGraceArea.cjs.map +1 -1
  766. package/dist/shared/useGraceArea.js +1 -1
  767. package/dist/shared/useGraceArea.js.map +1 -1
  768. package/dist/shared/useId.cjs +1 -1
  769. package/dist/shared/useId.cjs.map +1 -1
  770. package/dist/shared/useId.js +1 -1
  771. package/dist/shared/useId.js.map +1 -1
  772. package/dist/shared/useSelectionBehavior.cjs +1 -1
  773. package/dist/shared/useSelectionBehavior.cjs.map +1 -1
  774. package/dist/shared/useSelectionBehavior.js +1 -1
  775. package/dist/shared/useSelectionBehavior.js.map +1 -1
  776. package/dist/shared/useSingleOrMultipleValue.cjs +5 -5
  777. package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
  778. package/dist/shared/useSingleOrMultipleValue.js +5 -5
  779. package/dist/shared/useSingleOrMultipleValue.js.map +1 -1
  780. package/dist/shared/useSize.cjs +1 -1
  781. package/dist/shared/useSize.cjs.map +1 -1
  782. package/dist/shared/useSize.js +1 -1
  783. package/dist/shared/useSize.js.map +1 -1
  784. package/dist/shared/useTypeahead.cjs +1 -1
  785. package/dist/shared/useTypeahead.cjs.map +1 -1
  786. package/dist/shared/useTypeahead.js +1 -1
  787. package/dist/shared/useTypeahead.js.map +1 -1
  788. package/dist/utils/layout.cjs +1 -1
  789. package/dist/utils/layout.cjs.map +1 -1
  790. package/dist/utils/layout.js +1 -1
  791. package/dist/utils/layout.js.map +1 -1
  792. package/dist/utils/style.cjs +2 -2
  793. package/dist/utils/style.cjs.map +1 -1
  794. package/dist/utils/style.js +3 -3
  795. package/dist/utils/style.js.map +1 -1
  796. package/package.json +2 -2
@@ -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 { 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,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, 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,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, 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,MAAA;AAAA;AACf,GACD,CAAA;AAED,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;
@@ -1 +1 @@
1
- {"version":3,"file":"useTypeahead.cjs","sources":["../../src/shared/useTypeahead.ts"],"sourcesContent":["import { refAutoReset } from '@vueuse/shared'\nimport { getActiveElement } from './getActiveElement'\n\nexport function useTypeahead(callback?: (search: string) => void) {\n // Reset `search` 1 second after it was last updated\n const search = refAutoReset('', 1000)\n\n const handleTypeaheadSearch = (key: string, items: { ref: HTMLElement, value?: any }[]) => {\n search.value = search.value + key\n\n if (callback) {\n callback(key)\n }\n else {\n const currentItem = getActiveElement()\n const itemsWithTextValue = items.map(item => ({\n ...item,\n textValue: item.value?.textValue ?? item.ref.textContent?.trim() ?? '',\n }))\n const currentMatch = itemsWithTextValue.find(item => item.ref === currentItem)\n const values = itemsWithTextValue.map(item => item.textValue)\n const nextMatch = getNextMatch(values, search.value, currentMatch?.textValue)\n\n const newItem = itemsWithTextValue.find(item => item.textValue === nextMatch)\n\n if (newItem)\n (newItem.ref as HTMLElement).focus()\n return newItem?.ref\n }\n }\n\n const resetTypeahead = () => {\n search.value = ''\n }\n\n return {\n search,\n handleTypeaheadSearch,\n resetTypeahead,\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nexport function wrapArray<T>(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length])\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in all the values,\n * the search and the current match, and returns the next match (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through options starting with that character)\n *\n * We also reorder the values by wrapping the array around the current match.\n * This is so we always look forward from the current match, and picking the first\n * match will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current match from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current match still matches.\n */\nexport function getNextMatch(\n values: string[],\n search: string,\n currentMatch?: string,\n) {\n const isRepeated\n = search.length > 1 && Array.from(search).every(char => char === search[0])\n const normalizedSearch = isRepeated ? search[0] : search\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0))\n const excludeCurrentMatch = normalizedSearch.length === 1\n if (excludeCurrentMatch)\n wrappedValues = wrappedValues.filter(v => v !== currentMatch)\n const nextMatch = wrappedValues.find(value =>\n value.toLowerCase().startsWith(normalizedSearch.toLowerCase()),\n )\n return nextMatch !== currentMatch ? nextMatch : undefined\n}\n"],"names":["refAutoReset","getActiveElement"],"mappings":";;;;;AAGO,SAAS,aAAa,QAAqC,EAAA;AAEhE,EAAM,MAAA,MAAA,GAASA,mBAAa,CAAA,EAAA,EAAI,GAAI,CAAA;AAEpC,EAAM,MAAA,qBAAA,GAAwB,CAAC,GAAA,EAAa,KAA+C,KAAA;AACzF,IAAO,MAAA,CAAA,KAAA,GAAQ,OAAO,KAAQ,GAAA,GAAA;AAE9B,IAGK;AACH,MAAA,MAAM,cAAcC,wCAAiB,EAAA;AACrC,MAAM,MAAA,kBAAA,GAAqB,KAAM,CAAA,GAAA,CAAI,CAAS,IAAA,MAAA;AAAA,QAC5C,GAAG,IAAA;AAAA,QACH,SAAA,EAAW,KAAK,KAAO,EAAA,SAAA,IAAa,KAAK,GAAI,CAAA,WAAA,EAAa,MAAU,IAAA;AAAA,OACpE,CAAA,CAAA;AACF,MAAA,MAAM,eAAe,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,WAAW,CAAA;AAC7E,MAAA,MAAM,MAAS,GAAA,kBAAA,CAAmB,GAAI,CAAA,CAAA,IAAA,KAAQ,KAAK,SAAS,CAAA;AAC5D,MAAA,MAAM,YAAY,YAAa,CAAA,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,cAAc,SAAS,CAAA;AAE5E,MAAA,MAAM,UAAU,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,cAAc,SAAS,CAAA;AAE5E,MAAI,IAAA,OAAA;AACF,QAAC,OAAA,CAAQ,IAAoB,KAAM,EAAA;AACrC,MAAA,OAAO,OAAS,EAAA,GAAA;AAAA;AAClB,GACF;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAA,CAAO,KAAQ,GAAA,EAAA;AAAA,GACjB;AAEA,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF;AACF;AAMgB,SAAA,SAAA,CAAa,OAAY,UAAoB,EAAA;AAC3D,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,CAAG,EAAA,KAAA,KAAU,OAAO,UAAa,GAAA,KAAA,IAAS,KAAM,CAAA,MAAM,CAAC,CAAA;AAC3E;AAmBgB,SAAA,YAAA,CACd,MACA,EAAA,MAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,UACF,GAAA,MAAA,CAAO,MAAS,GAAA,CAAA,IAAK,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,KAAM,CAAA,CAAA,IAAA,KAAQ,IAAS,KAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAC5E,EAAA,MAAM,gBAAmB,GAAA,UAAA,GAAa,MAAO,CAAA,CAAC,CAAI,GAAA,MAAA;AAClD,EAAA,MAAM,iBAAoB,GAAA,YAAA,GAAe,MAAO,CAAA,OAAA,CAAQ,YAAY,CAAI,GAAA,EAAA;AACxE,EAAA,IAAI,gBAAgB,SAAU,CAAA,MAAA,EAAQ,KAAK,GAAI,CAAA,iBAAA,EAAmB,CAAC,CAAC,CAAA;AACpE,EAAM,MAAA,mBAAA,GAAsB,iBAAiB,MAAW,KAAA,CAAA;AACxD,EAAI,IAAA,mBAAA;AACF,IAAA,aAAA,GAAgB,aAAc,CAAA,MAAA,CAAO,CAAK,CAAA,KAAA,CAAA,KAAM,YAAY,CAAA;AAC9D,EAAA,MAAM,YAAY,aAAc,CAAA,IAAA;AAAA,IAAK,WACnC,KAAM,CAAA,WAAA,GAAc,UAAW,CAAA,gBAAA,CAAiB,aAAa;AAAA,GAC/D;AACA,EAAO,OAAA,SAAA,KAAc,eAAe,SAAY,GAAA,SAAA;AAClD;;;;;;"}
1
+ {"version":3,"file":"useTypeahead.cjs","sources":["../../src/shared/useTypeahead.ts"],"sourcesContent":["import { refAutoReset } from '@vueuse/shared'\nimport { getActiveElement } from './getActiveElement'\n\nexport function useTypeahead(callback?: (search: string) => void) {\n // Reset `search` 1 second after it was last updated\n const search = refAutoReset('', 1000)\n\n const handleTypeaheadSearch = (key: string, items: { ref: HTMLElement, value?: any }[]) => {\n search.value = search.value + key\n\n if (callback) {\n callback(key)\n }\n else {\n const currentItem = getActiveElement()\n const itemsWithTextValue = items.map(item => ({\n ...item,\n textValue: item.value?.textValue ?? item.ref.textContent?.trim() ?? '',\n }))\n const currentMatch = itemsWithTextValue.find(item => item.ref === currentItem)\n const values = itemsWithTextValue.map(item => item.textValue)\n const nextMatch = getNextMatch(values, search.value, currentMatch?.textValue)\n\n const newItem = itemsWithTextValue.find(item => item.textValue === nextMatch)\n\n if (newItem)\n (newItem.ref as HTMLElement).focus()\n return newItem?.ref\n }\n }\n\n const resetTypeahead = () => {\n search.value = ''\n }\n\n return {\n search,\n handleTypeaheadSearch,\n resetTypeahead,\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nexport function wrapArray<T>(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length])\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in all the values,\n * the search and the current match, and returns the next match (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through options starting with that character)\n *\n * We also reorder the values by wrapping the array around the current match.\n * This is so we always look forward from the current match, and picking the first\n * match will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current match from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current match still matches.\n */\nexport function getNextMatch(\n values: string[],\n search: string,\n currentMatch?: string,\n) {\n const isRepeated\n = search.length > 1 && Array.from(search).every(char => char === search[0])\n const normalizedSearch = isRepeated ? search[0] : search\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0))\n const excludeCurrentMatch = normalizedSearch.length === 1\n if (excludeCurrentMatch)\n wrappedValues = wrappedValues.filter(v => v !== currentMatch)\n const nextMatch = wrappedValues.find(value =>\n value.toLowerCase().startsWith(normalizedSearch.toLowerCase()),\n )\n return nextMatch !== currentMatch ? nextMatch : undefined\n}\n"],"names":["refAutoReset","getActiveElement"],"mappings":";;;;;AAGO,SAAS,aAAa,QAAqC,EAAA;AAEhE,EAAM,MAAA,MAAA,GAASA,mBAAa,CAAA,EAAA,EAAI,GAAI,CAAA;AAEpC,EAAM,MAAA,qBAAA,GAAwB,CAAC,GAAA,EAAa,KAA+C,KAAA;AACzF,IAAO,MAAA,CAAA,KAAA,GAAQ,OAAO,KAAQ,GAAA,GAAA;AAE9B,IAGK;AACH,MAAA,MAAM,cAAcC,wCAAiB,EAAA;AACrC,MAAM,MAAA,kBAAA,GAAqB,KAAM,CAAA,GAAA,CAAI,CAAS,IAAA,MAAA;AAAA,QAC5C,GAAG,IAAA;AAAA,QACH,SAAA,EAAW,KAAK,KAAO,EAAA,SAAA,IAAa,KAAK,GAAI,CAAA,WAAA,EAAa,MAAU,IAAA;AAAA,OACpE,CAAA,CAAA;AACF,MAAA,MAAM,eAAe,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,WAAW,CAAA;AAC7E,MAAA,MAAM,MAAS,GAAA,kBAAA,CAAmB,GAAI,CAAA,CAAA,IAAA,KAAQ,KAAK,SAAS,CAAA;AAC5D,MAAA,MAAM,YAAY,YAAa,CAAA,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,cAAc,SAAS,CAAA;AAE5E,MAAA,MAAM,UAAU,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,cAAc,SAAS,CAAA;AAE5E,MAAI,IAAA,OAAA;AACF,QAAC,OAAA,CAAQ,IAAoB,KAAM,EAAA;AACrC,MAAA,OAAO,OAAS,EAAA,GAAA;AAAA;AAClB,GACF;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAA,CAAO,KAAQ,GAAA,EAAA;AAAA,GACjB;AAEA,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF;AACF;AAMgB,SAAA,SAAA,CAAa,OAAY,UAAoB,EAAA;AAC3D,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,CAAG,EAAA,KAAA,KAAU,OAAO,UAAa,GAAA,KAAA,IAAS,KAAM,CAAA,MAAM,CAAC,CAAA;AAC3E;AAmBgB,SAAA,YAAA,CACd,MACA,EAAA,MAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,UACF,GAAA,MAAA,CAAO,MAAS,GAAA,CAAA,IAAK,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,KAAM,CAAA,CAAA,IAAA,KAAQ,IAAS,KAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAC5E,EAAA,MAAM,gBAAmB,GAAA,UAAA,GAAa,MAAO,CAAA,CAAC,CAAI,GAAA,MAAA;AAClD,EAAA,MAAM,iBAAoB,GAAA,YAAA,GAAe,MAAO,CAAA,OAAA,CAAQ,YAAY,CAAI,GAAA,EAAA;AACxE,EAAA,IAAI,gBAAgB,SAAU,CAAA,MAAA,EAAQ,KAAK,GAAI,CAAA,iBAAA,EAAmB,CAAC,CAAC,CAAA;AACpE,EAAM,MAAA,mBAAA,GAAsB,iBAAiB,MAAW,KAAA,CAAA;AACxD,EAAI,IAAA,mBAAA;AACF,IAAA,aAAA,GAAgB,aAAc,CAAA,MAAA,CAAO,CAAK,CAAA,KAAA,CAAA,KAAM,YAAY,CAAA;AAC9D,EAAA,MAAM,YAAY,aAAc,CAAA,IAAA;AAAA,IAAK,WACnC,KAAM,CAAA,WAAA,GAAc,UAAW,CAAA,gBAAA,CAAiB,aAAa;AAAA,GAC/D;AACA,EAAO,OAAA,SAAA,KAAc,eAAe,SAAY,GAAA,MAAA;AAClD;;;;;;"}
@@ -43,7 +43,7 @@ function getNextMatch(values, search, currentMatch) {
43
43
  const nextMatch = wrappedValues.find(
44
44
  (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())
45
45
  );
46
- return nextMatch !== currentMatch ? nextMatch : undefined;
46
+ return nextMatch !== currentMatch ? nextMatch : void 0;
47
47
  }
48
48
 
49
49
  export { getNextMatch as g, useTypeahead as u, wrapArray as w };
@@ -1 +1 @@
1
- {"version":3,"file":"useTypeahead.js","sources":["../../src/shared/useTypeahead.ts"],"sourcesContent":["import { refAutoReset } from '@vueuse/shared'\nimport { getActiveElement } from './getActiveElement'\n\nexport function useTypeahead(callback?: (search: string) => void) {\n // Reset `search` 1 second after it was last updated\n const search = refAutoReset('', 1000)\n\n const handleTypeaheadSearch = (key: string, items: { ref: HTMLElement, value?: any }[]) => {\n search.value = search.value + key\n\n if (callback) {\n callback(key)\n }\n else {\n const currentItem = getActiveElement()\n const itemsWithTextValue = items.map(item => ({\n ...item,\n textValue: item.value?.textValue ?? item.ref.textContent?.trim() ?? '',\n }))\n const currentMatch = itemsWithTextValue.find(item => item.ref === currentItem)\n const values = itemsWithTextValue.map(item => item.textValue)\n const nextMatch = getNextMatch(values, search.value, currentMatch?.textValue)\n\n const newItem = itemsWithTextValue.find(item => item.textValue === nextMatch)\n\n if (newItem)\n (newItem.ref as HTMLElement).focus()\n return newItem?.ref\n }\n }\n\n const resetTypeahead = () => {\n search.value = ''\n }\n\n return {\n search,\n handleTypeaheadSearch,\n resetTypeahead,\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nexport function wrapArray<T>(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length])\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in all the values,\n * the search and the current match, and returns the next match (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through options starting with that character)\n *\n * We also reorder the values by wrapping the array around the current match.\n * This is so we always look forward from the current match, and picking the first\n * match will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current match from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current match still matches.\n */\nexport function getNextMatch(\n values: string[],\n search: string,\n currentMatch?: string,\n) {\n const isRepeated\n = search.length > 1 && Array.from(search).every(char => char === search[0])\n const normalizedSearch = isRepeated ? search[0] : search\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0))\n const excludeCurrentMatch = normalizedSearch.length === 1\n if (excludeCurrentMatch)\n wrappedValues = wrappedValues.filter(v => v !== currentMatch)\n const nextMatch = wrappedValues.find(value =>\n value.toLowerCase().startsWith(normalizedSearch.toLowerCase()),\n )\n return nextMatch !== currentMatch ? nextMatch : undefined\n}\n"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,QAAqC,EAAA;AAEhE,EAAM,MAAA,MAAA,GAAS,YAAa,CAAA,EAAA,EAAI,GAAI,CAAA;AAEpC,EAAM,MAAA,qBAAA,GAAwB,CAAC,GAAA,EAAa,KAA+C,KAAA;AACzF,IAAO,MAAA,CAAA,KAAA,GAAQ,OAAO,KAAQ,GAAA,GAAA;AAE9B,IAGK;AACH,MAAA,MAAM,cAAc,gBAAiB,EAAA;AACrC,MAAM,MAAA,kBAAA,GAAqB,KAAM,CAAA,GAAA,CAAI,CAAS,IAAA,MAAA;AAAA,QAC5C,GAAG,IAAA;AAAA,QACH,SAAA,EAAW,KAAK,KAAO,EAAA,SAAA,IAAa,KAAK,GAAI,CAAA,WAAA,EAAa,MAAU,IAAA;AAAA,OACpE,CAAA,CAAA;AACF,MAAA,MAAM,eAAe,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,WAAW,CAAA;AAC7E,MAAA,MAAM,MAAS,GAAA,kBAAA,CAAmB,GAAI,CAAA,CAAA,IAAA,KAAQ,KAAK,SAAS,CAAA;AAC5D,MAAA,MAAM,YAAY,YAAa,CAAA,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,cAAc,SAAS,CAAA;AAE5E,MAAA,MAAM,UAAU,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,cAAc,SAAS,CAAA;AAE5E,MAAI,IAAA,OAAA;AACF,QAAC,OAAA,CAAQ,IAAoB,KAAM,EAAA;AACrC,MAAA,OAAO,OAAS,EAAA,GAAA;AAAA;AAClB,GACF;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAA,CAAO,KAAQ,GAAA,EAAA;AAAA,GACjB;AAEA,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF;AACF;AAMgB,SAAA,SAAA,CAAa,OAAY,UAAoB,EAAA;AAC3D,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,CAAG,EAAA,KAAA,KAAU,OAAO,UAAa,GAAA,KAAA,IAAS,KAAM,CAAA,MAAM,CAAC,CAAA;AAC3E;AAmBgB,SAAA,YAAA,CACd,MACA,EAAA,MAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,UACF,GAAA,MAAA,CAAO,MAAS,GAAA,CAAA,IAAK,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,KAAM,CAAA,CAAA,IAAA,KAAQ,IAAS,KAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAC5E,EAAA,MAAM,gBAAmB,GAAA,UAAA,GAAa,MAAO,CAAA,CAAC,CAAI,GAAA,MAAA;AAClD,EAAA,MAAM,iBAAoB,GAAA,YAAA,GAAe,MAAO,CAAA,OAAA,CAAQ,YAAY,CAAI,GAAA,EAAA;AACxE,EAAA,IAAI,gBAAgB,SAAU,CAAA,MAAA,EAAQ,KAAK,GAAI,CAAA,iBAAA,EAAmB,CAAC,CAAC,CAAA;AACpE,EAAM,MAAA,mBAAA,GAAsB,iBAAiB,MAAW,KAAA,CAAA;AACxD,EAAI,IAAA,mBAAA;AACF,IAAA,aAAA,GAAgB,aAAc,CAAA,MAAA,CAAO,CAAK,CAAA,KAAA,CAAA,KAAM,YAAY,CAAA;AAC9D,EAAA,MAAM,YAAY,aAAc,CAAA,IAAA;AAAA,IAAK,WACnC,KAAM,CAAA,WAAA,GAAc,UAAW,CAAA,gBAAA,CAAiB,aAAa;AAAA,GAC/D;AACA,EAAO,OAAA,SAAA,KAAc,eAAe,SAAY,GAAA,SAAA;AAClD;;;;"}
1
+ {"version":3,"file":"useTypeahead.js","sources":["../../src/shared/useTypeahead.ts"],"sourcesContent":["import { refAutoReset } from '@vueuse/shared'\nimport { getActiveElement } from './getActiveElement'\n\nexport function useTypeahead(callback?: (search: string) => void) {\n // Reset `search` 1 second after it was last updated\n const search = refAutoReset('', 1000)\n\n const handleTypeaheadSearch = (key: string, items: { ref: HTMLElement, value?: any }[]) => {\n search.value = search.value + key\n\n if (callback) {\n callback(key)\n }\n else {\n const currentItem = getActiveElement()\n const itemsWithTextValue = items.map(item => ({\n ...item,\n textValue: item.value?.textValue ?? item.ref.textContent?.trim() ?? '',\n }))\n const currentMatch = itemsWithTextValue.find(item => item.ref === currentItem)\n const values = itemsWithTextValue.map(item => item.textValue)\n const nextMatch = getNextMatch(values, search.value, currentMatch?.textValue)\n\n const newItem = itemsWithTextValue.find(item => item.textValue === nextMatch)\n\n if (newItem)\n (newItem.ref as HTMLElement).focus()\n return newItem?.ref\n }\n }\n\n const resetTypeahead = () => {\n search.value = ''\n }\n\n return {\n search,\n handleTypeaheadSearch,\n resetTypeahead,\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nexport function wrapArray<T>(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length])\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in all the values,\n * the search and the current match, and returns the next match (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through options starting with that character)\n *\n * We also reorder the values by wrapping the array around the current match.\n * This is so we always look forward from the current match, and picking the first\n * match will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current match from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current match still matches.\n */\nexport function getNextMatch(\n values: string[],\n search: string,\n currentMatch?: string,\n) {\n const isRepeated\n = search.length > 1 && Array.from(search).every(char => char === search[0])\n const normalizedSearch = isRepeated ? search[0] : search\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0))\n const excludeCurrentMatch = normalizedSearch.length === 1\n if (excludeCurrentMatch)\n wrappedValues = wrappedValues.filter(v => v !== currentMatch)\n const nextMatch = wrappedValues.find(value =>\n value.toLowerCase().startsWith(normalizedSearch.toLowerCase()),\n )\n return nextMatch !== currentMatch ? nextMatch : undefined\n}\n"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,QAAqC,EAAA;AAEhE,EAAM,MAAA,MAAA,GAAS,YAAa,CAAA,EAAA,EAAI,GAAI,CAAA;AAEpC,EAAM,MAAA,qBAAA,GAAwB,CAAC,GAAA,EAAa,KAA+C,KAAA;AACzF,IAAO,MAAA,CAAA,KAAA,GAAQ,OAAO,KAAQ,GAAA,GAAA;AAE9B,IAGK;AACH,MAAA,MAAM,cAAc,gBAAiB,EAAA;AACrC,MAAM,MAAA,kBAAA,GAAqB,KAAM,CAAA,GAAA,CAAI,CAAS,IAAA,MAAA;AAAA,QAC5C,GAAG,IAAA;AAAA,QACH,SAAA,EAAW,KAAK,KAAO,EAAA,SAAA,IAAa,KAAK,GAAI,CAAA,WAAA,EAAa,MAAU,IAAA;AAAA,OACpE,CAAA,CAAA;AACF,MAAA,MAAM,eAAe,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,WAAW,CAAA;AAC7E,MAAA,MAAM,MAAS,GAAA,kBAAA,CAAmB,GAAI,CAAA,CAAA,IAAA,KAAQ,KAAK,SAAS,CAAA;AAC5D,MAAA,MAAM,YAAY,YAAa,CAAA,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,cAAc,SAAS,CAAA;AAE5E,MAAA,MAAM,UAAU,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,cAAc,SAAS,CAAA;AAE5E,MAAI,IAAA,OAAA;AACF,QAAC,OAAA,CAAQ,IAAoB,KAAM,EAAA;AACrC,MAAA,OAAO,OAAS,EAAA,GAAA;AAAA;AAClB,GACF;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAA,CAAO,KAAQ,GAAA,EAAA;AAAA,GACjB;AAEA,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF;AACF;AAMgB,SAAA,SAAA,CAAa,OAAY,UAAoB,EAAA;AAC3D,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,CAAG,EAAA,KAAA,KAAU,OAAO,UAAa,GAAA,KAAA,IAAS,KAAM,CAAA,MAAM,CAAC,CAAA;AAC3E;AAmBgB,SAAA,YAAA,CACd,MACA,EAAA,MAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,UACF,GAAA,MAAA,CAAO,MAAS,GAAA,CAAA,IAAK,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,KAAM,CAAA,CAAA,IAAA,KAAQ,IAAS,KAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAC5E,EAAA,MAAM,gBAAmB,GAAA,UAAA,GAAa,MAAO,CAAA,CAAC,CAAI,GAAA,MAAA;AAClD,EAAA,MAAM,iBAAoB,GAAA,YAAA,GAAe,MAAO,CAAA,OAAA,CAAQ,YAAY,CAAI,GAAA,EAAA;AACxE,EAAA,IAAI,gBAAgB,SAAU,CAAA,MAAA,EAAQ,KAAK,GAAI,CAAA,iBAAA,EAAmB,CAAC,CAAC,CAAA;AACpE,EAAM,MAAA,mBAAA,GAAsB,iBAAiB,MAAW,KAAA,CAAA;AACxD,EAAI,IAAA,mBAAA;AACF,IAAA,aAAA,GAAgB,aAAc,CAAA,MAAA,CAAO,CAAK,CAAA,KAAA,CAAA,KAAM,YAAY,CAAA;AAC9D,EAAA,MAAM,YAAY,aAAc,CAAA,IAAA;AAAA,IAAK,WACnC,KAAM,CAAA,WAAA,GAAc,UAAW,CAAA,gBAAA,CAAiB,aAAa;AAAA,GAC/D;AACA,EAAO,OAAA,SAAA,KAAc,eAAe,SAAY,GAAA,MAAA;AAClD;;;;"}
@@ -105,7 +105,7 @@ function adjustLayoutByDelta({
105
105
  if (!utils_compare.fuzzyNumbersEqual(prevSize, safeSize)) {
106
106
  deltaApplied += prevSize - safeSize;
107
107
  nextLayout[index] = safeSize;
108
- if (deltaApplied.toPrecision(3).localeCompare(Math.abs(delta).toPrecision(3), undefined, {
108
+ if (deltaApplied.toPrecision(3).localeCompare(Math.abs(delta).toPrecision(3), void 0, {
109
109
  numeric: true
110
110
  }) >= 0) {
111
111
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.cjs","sources":["../../src/Splitter/utils/layout.ts"],"sourcesContent":["/* eslint-disable no-lone-blocks */\nimport type { PanelConstraints } from '../SplitterPanel.vue'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers, fuzzyNumbersEqual } from './compare'\nimport { resizePanel } from './resizePanel'\n\nexport function compareLayouts(a: number[], b: number[]) {\n if (a.length !== b.length) {\n return false\n }\n else {\n for (let index = 0; index < a.length; index++) {\n if (a[index] !== b[index])\n return false\n }\n }\n return true\n}\n\n// All units must be in percentages; pixel values should be pre-converted\nexport function adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger,\n}: {\n delta: number\n layout: number[]\n panelConstraints: PanelConstraints[]\n pivotIndices: number[]\n trigger: 'imperative-api' | 'keyboard' | 'mouse-or-touch'\n}): number[] {\n if (fuzzyNumbersEqual(delta, 0))\n return prevLayout\n\n const nextLayout = [...prevLayout]\n\n const [firstPivotIndex, secondPivotIndex] = pivotIndices\n assert(firstPivotIndex != null)\n assert(secondPivotIndex != null)\n\n let deltaApplied = 0\n\n // const DEBUG = [];\n // DEBUG.push(`adjustLayoutByDelta() ${prevLayout.join(\", \")}`);\n // DEBUG.push(` delta: ${delta}`);\n // DEBUG.push(` pivotIndices: ${pivotIndices.join(\", \")}`);\n // DEBUG.push(` trigger: ${trigger}`);\n // DEBUG.push(\"\");\n\n // A resizing panel affects the panels before or after it.\n //\n // A negative delta means the panel(s) immediately after the resize handle should grow/expand by decreasing its offset.\n // Other panels may also need to shrink/contract (and shift) to make room, depending on the min weights.\n //\n // A positive delta means the panel(s) immediately before the resize handle should \"expand\".\n // This is accomplished by shrinking/contracting (and shifting) one or more of the panels after the resize handle.\n\n {\n // If this is a resize triggered by a keyboard event, our logic for expanding/collapsing is different.\n // We no longer check the halfway threshold because this may prevent the panel from expanding at all.\n if (trigger === 'keyboard') {\n {\n // Check if we should expand a collapsed panel\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n\n // DEBUG.push(`edge case check 1: ${index}`);\n // DEBUG.push(` -> collapsible? ${constraints.collapsible}`);\n if (panelConstraints.collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n\n {\n // Check if we should collapse a panel at its minimum size\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsible } = panelConstraints\n\n // DEBUG.push(`edge case check 2: ${index}`);\n // DEBUG.push(` -> collapsible? ${collapsible}`);\n if (collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n }\n // DEBUG.push(\"\");\n }\n\n {\n // Pre-calculate max available delta in the opposite direction of our pivot.\n // This will be the maximum amount we're allowed to expand/contract the panels in the primary direction.\n // If this amount is less than the requested delta, adjust the requested delta.\n // If this amount is greater than the requested delta, that's useful information too–\n // as an expanding panel might change from collapsed to min size.\n\n const increment = delta < 0 ? 1 : -1\n\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex\n let maxAvailableDelta = 0\n\n // DEBUG.push(\"pre calc...\");\n while (true) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const maxSafeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: 100,\n })\n const delta = maxSafeSize - prevSize\n // DEBUG.push(` ${index}: ${prevSize} -> ${maxSafeSize}`);\n\n maxAvailableDelta += delta\n index += increment\n\n if (index < 0 || index >= panelConstraintsArray.length)\n break\n }\n\n // DEBUG.push(` -> max available delta: ${maxAvailableDelta}`);\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta))\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta\n // DEBUG.push(` -> adjusted delta: ${delta}`);\n // DEBUG.push(\"\");\n }\n\n {\n // Delta added to a panel needs to be subtracted from other panels (within the constraints that those panels allow).\n\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied)\n\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize - deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize\n\n nextLayout[index] = safeSize\n\n if (\n deltaApplied\n .toPrecision(3)\n .localeCompare(Math.abs(delta).toPrecision(3), undefined, {\n numeric: true,\n }) >= 0\n ) {\n break\n }\n }\n\n if (delta < 0)\n index--\n else\n index++\n }\n }\n // DEBUG.push(`after 1: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n // If we were unable to resize any of the panels panels, return the previous state.\n // This will essentially bailout and ignore e.g. drags past a panel's boundaries\n if (fuzzyNumbersEqual(deltaApplied, 0)) {\n // console.log(DEBUG.join(\"\\n\"));\n return prevLayout\n }\n\n {\n // Now distribute the applied delta to the panels in the other direction\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n\n const prevSize = prevLayout[pivotIndex]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaApplied\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: pivotIndex,\n size: unsafeSize,\n })\n\n // Adjust the pivot panel before, but only by the amount that surrounding panels were able to shrink/contract.\n nextLayout[pivotIndex] = safeSize\n\n // Edge case where expanding or contracting one panel caused another one to change collapsed state\n if (!fuzzyNumbersEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize\n\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const prevSize = nextLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaRemaining -= safeSize - prevSize\n\n nextLayout[index] = safeSize\n }\n\n if (fuzzyNumbersEqual(deltaRemaining, 0))\n break\n\n if (delta > 0)\n index--\n else\n index++\n }\n }\n }\n // DEBUG.push(`after 2: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n const totalSize = nextLayout.reduce((total, size) => size + total, 0)\n // DEBUG.push(`total size: ${totalSize}`);\n // console.log(DEBUG.join(\"\\n\"));\n\n if (!fuzzyNumbersEqual(totalSize, 100))\n return prevLayout\n\n return nextLayout\n}\n"],"names":["fuzzyNumbersEqual","assert","panelConstraints","fuzzyCompareNumbers","resizePanel","delta","pivotIndex","prevSize","unsafeSize","safeSize"],"mappings":"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"}
1
+ {"version":3,"file":"layout.cjs","sources":["../../src/Splitter/utils/layout.ts"],"sourcesContent":["/* eslint-disable no-lone-blocks */\nimport type { PanelConstraints } from '../SplitterPanel.vue'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers, fuzzyNumbersEqual } from './compare'\nimport { resizePanel } from './resizePanel'\n\nexport function compareLayouts(a: number[], b: number[]) {\n if (a.length !== b.length) {\n return false\n }\n else {\n for (let index = 0; index < a.length; index++) {\n if (a[index] !== b[index])\n return false\n }\n }\n return true\n}\n\n// All units must be in percentages; pixel values should be pre-converted\nexport function adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger,\n}: {\n delta: number\n layout: number[]\n panelConstraints: PanelConstraints[]\n pivotIndices: number[]\n trigger: 'imperative-api' | 'keyboard' | 'mouse-or-touch'\n}): number[] {\n if (fuzzyNumbersEqual(delta, 0))\n return prevLayout\n\n const nextLayout = [...prevLayout]\n\n const [firstPivotIndex, secondPivotIndex] = pivotIndices\n assert(firstPivotIndex != null)\n assert(secondPivotIndex != null)\n\n let deltaApplied = 0\n\n // const DEBUG = [];\n // DEBUG.push(`adjustLayoutByDelta() ${prevLayout.join(\", \")}`);\n // DEBUG.push(` delta: ${delta}`);\n // DEBUG.push(` pivotIndices: ${pivotIndices.join(\", \")}`);\n // DEBUG.push(` trigger: ${trigger}`);\n // DEBUG.push(\"\");\n\n // A resizing panel affects the panels before or after it.\n //\n // A negative delta means the panel(s) immediately after the resize handle should grow/expand by decreasing its offset.\n // Other panels may also need to shrink/contract (and shift) to make room, depending on the min weights.\n //\n // A positive delta means the panel(s) immediately before the resize handle should \"expand\".\n // This is accomplished by shrinking/contracting (and shifting) one or more of the panels after the resize handle.\n\n {\n // If this is a resize triggered by a keyboard event, our logic for expanding/collapsing is different.\n // We no longer check the halfway threshold because this may prevent the panel from expanding at all.\n if (trigger === 'keyboard') {\n {\n // Check if we should expand a collapsed panel\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n\n // DEBUG.push(`edge case check 1: ${index}`);\n // DEBUG.push(` -> collapsible? ${constraints.collapsible}`);\n if (panelConstraints.collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n\n {\n // Check if we should collapse a panel at its minimum size\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsible } = panelConstraints\n\n // DEBUG.push(`edge case check 2: ${index}`);\n // DEBUG.push(` -> collapsible? ${collapsible}`);\n if (collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n }\n // DEBUG.push(\"\");\n }\n\n {\n // Pre-calculate max available delta in the opposite direction of our pivot.\n // This will be the maximum amount we're allowed to expand/contract the panels in the primary direction.\n // If this amount is less than the requested delta, adjust the requested delta.\n // If this amount is greater than the requested delta, that's useful information too–\n // as an expanding panel might change from collapsed to min size.\n\n const increment = delta < 0 ? 1 : -1\n\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex\n let maxAvailableDelta = 0\n\n // DEBUG.push(\"pre calc...\");\n while (true) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const maxSafeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: 100,\n })\n const delta = maxSafeSize - prevSize\n // DEBUG.push(` ${index}: ${prevSize} -> ${maxSafeSize}`);\n\n maxAvailableDelta += delta\n index += increment\n\n if (index < 0 || index >= panelConstraintsArray.length)\n break\n }\n\n // DEBUG.push(` -> max available delta: ${maxAvailableDelta}`);\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta))\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta\n // DEBUG.push(` -> adjusted delta: ${delta}`);\n // DEBUG.push(\"\");\n }\n\n {\n // Delta added to a panel needs to be subtracted from other panels (within the constraints that those panels allow).\n\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied)\n\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize - deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize\n\n nextLayout[index] = safeSize\n\n if (\n deltaApplied\n .toPrecision(3)\n .localeCompare(Math.abs(delta).toPrecision(3), undefined, {\n numeric: true,\n }) >= 0\n ) {\n break\n }\n }\n\n if (delta < 0)\n index--\n else\n index++\n }\n }\n // DEBUG.push(`after 1: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n // If we were unable to resize any of the panels panels, return the previous state.\n // This will essentially bailout and ignore e.g. drags past a panel's boundaries\n if (fuzzyNumbersEqual(deltaApplied, 0)) {\n // console.log(DEBUG.join(\"\\n\"));\n return prevLayout\n }\n\n {\n // Now distribute the applied delta to the panels in the other direction\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n\n const prevSize = prevLayout[pivotIndex]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaApplied\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: pivotIndex,\n size: unsafeSize,\n })\n\n // Adjust the pivot panel before, but only by the amount that surrounding panels were able to shrink/contract.\n nextLayout[pivotIndex] = safeSize\n\n // Edge case where expanding or contracting one panel caused another one to change collapsed state\n if (!fuzzyNumbersEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize\n\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const prevSize = nextLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaRemaining -= safeSize - prevSize\n\n nextLayout[index] = safeSize\n }\n\n if (fuzzyNumbersEqual(deltaRemaining, 0))\n break\n\n if (delta > 0)\n index--\n else\n index++\n }\n }\n }\n // DEBUG.push(`after 2: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n const totalSize = nextLayout.reduce((total, size) => size + total, 0)\n // DEBUG.push(`total size: ${totalSize}`);\n // console.log(DEBUG.join(\"\\n\"));\n\n if (!fuzzyNumbersEqual(totalSize, 100))\n return prevLayout\n\n return nextLayout\n}\n"],"names":["fuzzyNumbersEqual","assert","panelConstraints","fuzzyCompareNumbers","resizePanel","delta","pivotIndex","prevSize","unsafeSize","safeSize"],"mappings":"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"}
@@ -103,7 +103,7 @@ function adjustLayoutByDelta({
103
103
  if (!fuzzyNumbersEqual(prevSize, safeSize)) {
104
104
  deltaApplied += prevSize - safeSize;
105
105
  nextLayout[index] = safeSize;
106
- if (deltaApplied.toPrecision(3).localeCompare(Math.abs(delta).toPrecision(3), undefined, {
106
+ if (deltaApplied.toPrecision(3).localeCompare(Math.abs(delta).toPrecision(3), void 0, {
107
107
  numeric: true
108
108
  }) >= 0) {
109
109
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sources":["../../src/Splitter/utils/layout.ts"],"sourcesContent":["/* eslint-disable no-lone-blocks */\nimport type { PanelConstraints } from '../SplitterPanel.vue'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers, fuzzyNumbersEqual } from './compare'\nimport { resizePanel } from './resizePanel'\n\nexport function compareLayouts(a: number[], b: number[]) {\n if (a.length !== b.length) {\n return false\n }\n else {\n for (let index = 0; index < a.length; index++) {\n if (a[index] !== b[index])\n return false\n }\n }\n return true\n}\n\n// All units must be in percentages; pixel values should be pre-converted\nexport function adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger,\n}: {\n delta: number\n layout: number[]\n panelConstraints: PanelConstraints[]\n pivotIndices: number[]\n trigger: 'imperative-api' | 'keyboard' | 'mouse-or-touch'\n}): number[] {\n if (fuzzyNumbersEqual(delta, 0))\n return prevLayout\n\n const nextLayout = [...prevLayout]\n\n const [firstPivotIndex, secondPivotIndex] = pivotIndices\n assert(firstPivotIndex != null)\n assert(secondPivotIndex != null)\n\n let deltaApplied = 0\n\n // const DEBUG = [];\n // DEBUG.push(`adjustLayoutByDelta() ${prevLayout.join(\", \")}`);\n // DEBUG.push(` delta: ${delta}`);\n // DEBUG.push(` pivotIndices: ${pivotIndices.join(\", \")}`);\n // DEBUG.push(` trigger: ${trigger}`);\n // DEBUG.push(\"\");\n\n // A resizing panel affects the panels before or after it.\n //\n // A negative delta means the panel(s) immediately after the resize handle should grow/expand by decreasing its offset.\n // Other panels may also need to shrink/contract (and shift) to make room, depending on the min weights.\n //\n // A positive delta means the panel(s) immediately before the resize handle should \"expand\".\n // This is accomplished by shrinking/contracting (and shifting) one or more of the panels after the resize handle.\n\n {\n // If this is a resize triggered by a keyboard event, our logic for expanding/collapsing is different.\n // We no longer check the halfway threshold because this may prevent the panel from expanding at all.\n if (trigger === 'keyboard') {\n {\n // Check if we should expand a collapsed panel\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n\n // DEBUG.push(`edge case check 1: ${index}`);\n // DEBUG.push(` -> collapsible? ${constraints.collapsible}`);\n if (panelConstraints.collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n\n {\n // Check if we should collapse a panel at its minimum size\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsible } = panelConstraints\n\n // DEBUG.push(`edge case check 2: ${index}`);\n // DEBUG.push(` -> collapsible? ${collapsible}`);\n if (collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n }\n // DEBUG.push(\"\");\n }\n\n {\n // Pre-calculate max available delta in the opposite direction of our pivot.\n // This will be the maximum amount we're allowed to expand/contract the panels in the primary direction.\n // If this amount is less than the requested delta, adjust the requested delta.\n // If this amount is greater than the requested delta, that's useful information too–\n // as an expanding panel might change from collapsed to min size.\n\n const increment = delta < 0 ? 1 : -1\n\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex\n let maxAvailableDelta = 0\n\n // DEBUG.push(\"pre calc...\");\n while (true) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const maxSafeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: 100,\n })\n const delta = maxSafeSize - prevSize\n // DEBUG.push(` ${index}: ${prevSize} -> ${maxSafeSize}`);\n\n maxAvailableDelta += delta\n index += increment\n\n if (index < 0 || index >= panelConstraintsArray.length)\n break\n }\n\n // DEBUG.push(` -> max available delta: ${maxAvailableDelta}`);\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta))\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta\n // DEBUG.push(` -> adjusted delta: ${delta}`);\n // DEBUG.push(\"\");\n }\n\n {\n // Delta added to a panel needs to be subtracted from other panels (within the constraints that those panels allow).\n\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied)\n\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize - deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize\n\n nextLayout[index] = safeSize\n\n if (\n deltaApplied\n .toPrecision(3)\n .localeCompare(Math.abs(delta).toPrecision(3), undefined, {\n numeric: true,\n }) >= 0\n ) {\n break\n }\n }\n\n if (delta < 0)\n index--\n else\n index++\n }\n }\n // DEBUG.push(`after 1: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n // If we were unable to resize any of the panels panels, return the previous state.\n // This will essentially bailout and ignore e.g. drags past a panel's boundaries\n if (fuzzyNumbersEqual(deltaApplied, 0)) {\n // console.log(DEBUG.join(\"\\n\"));\n return prevLayout\n }\n\n {\n // Now distribute the applied delta to the panels in the other direction\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n\n const prevSize = prevLayout[pivotIndex]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaApplied\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: pivotIndex,\n size: unsafeSize,\n })\n\n // Adjust the pivot panel before, but only by the amount that surrounding panels were able to shrink/contract.\n nextLayout[pivotIndex] = safeSize\n\n // Edge case where expanding or contracting one panel caused another one to change collapsed state\n if (!fuzzyNumbersEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize\n\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const prevSize = nextLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaRemaining -= safeSize - prevSize\n\n nextLayout[index] = safeSize\n }\n\n if (fuzzyNumbersEqual(deltaRemaining, 0))\n break\n\n if (delta > 0)\n index--\n else\n index++\n }\n }\n }\n // DEBUG.push(`after 2: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n const totalSize = nextLayout.reduce((total, size) => size + total, 0)\n // DEBUG.push(`total size: ${totalSize}`);\n // console.log(DEBUG.join(\"\\n\"));\n\n if (!fuzzyNumbersEqual(totalSize, 100))\n return prevLayout\n\n return nextLayout\n}\n"],"names":["panelConstraints","delta","pivotIndex","prevSize","unsafeSize","safeSize"],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sources":["../../src/Splitter/utils/layout.ts"],"sourcesContent":["/* eslint-disable no-lone-blocks */\nimport type { PanelConstraints } from '../SplitterPanel.vue'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers, fuzzyNumbersEqual } from './compare'\nimport { resizePanel } from './resizePanel'\n\nexport function compareLayouts(a: number[], b: number[]) {\n if (a.length !== b.length) {\n return false\n }\n else {\n for (let index = 0; index < a.length; index++) {\n if (a[index] !== b[index])\n return false\n }\n }\n return true\n}\n\n// All units must be in percentages; pixel values should be pre-converted\nexport function adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger,\n}: {\n delta: number\n layout: number[]\n panelConstraints: PanelConstraints[]\n pivotIndices: number[]\n trigger: 'imperative-api' | 'keyboard' | 'mouse-or-touch'\n}): number[] {\n if (fuzzyNumbersEqual(delta, 0))\n return prevLayout\n\n const nextLayout = [...prevLayout]\n\n const [firstPivotIndex, secondPivotIndex] = pivotIndices\n assert(firstPivotIndex != null)\n assert(secondPivotIndex != null)\n\n let deltaApplied = 0\n\n // const DEBUG = [];\n // DEBUG.push(`adjustLayoutByDelta() ${prevLayout.join(\", \")}`);\n // DEBUG.push(` delta: ${delta}`);\n // DEBUG.push(` pivotIndices: ${pivotIndices.join(\", \")}`);\n // DEBUG.push(` trigger: ${trigger}`);\n // DEBUG.push(\"\");\n\n // A resizing panel affects the panels before or after it.\n //\n // A negative delta means the panel(s) immediately after the resize handle should grow/expand by decreasing its offset.\n // Other panels may also need to shrink/contract (and shift) to make room, depending on the min weights.\n //\n // A positive delta means the panel(s) immediately before the resize handle should \"expand\".\n // This is accomplished by shrinking/contracting (and shifting) one or more of the panels after the resize handle.\n\n {\n // If this is a resize triggered by a keyboard event, our logic for expanding/collapsing is different.\n // We no longer check the halfway threshold because this may prevent the panel from expanding at all.\n if (trigger === 'keyboard') {\n {\n // Check if we should expand a collapsed panel\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n\n // DEBUG.push(`edge case check 1: ${index}`);\n // DEBUG.push(` -> collapsible? ${constraints.collapsible}`);\n if (panelConstraints.collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n\n {\n // Check if we should collapse a panel at its minimum size\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsible } = panelConstraints\n\n // DEBUG.push(`edge case check 2: ${index}`);\n // DEBUG.push(` -> collapsible? ${collapsible}`);\n if (collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n }\n // DEBUG.push(\"\");\n }\n\n {\n // Pre-calculate max available delta in the opposite direction of our pivot.\n // This will be the maximum amount we're allowed to expand/contract the panels in the primary direction.\n // If this amount is less than the requested delta, adjust the requested delta.\n // If this amount is greater than the requested delta, that's useful information too–\n // as an expanding panel might change from collapsed to min size.\n\n const increment = delta < 0 ? 1 : -1\n\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex\n let maxAvailableDelta = 0\n\n // DEBUG.push(\"pre calc...\");\n while (true) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const maxSafeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: 100,\n })\n const delta = maxSafeSize - prevSize\n // DEBUG.push(` ${index}: ${prevSize} -> ${maxSafeSize}`);\n\n maxAvailableDelta += delta\n index += increment\n\n if (index < 0 || index >= panelConstraintsArray.length)\n break\n }\n\n // DEBUG.push(` -> max available delta: ${maxAvailableDelta}`);\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta))\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta\n // DEBUG.push(` -> adjusted delta: ${delta}`);\n // DEBUG.push(\"\");\n }\n\n {\n // Delta added to a panel needs to be subtracted from other panels (within the constraints that those panels allow).\n\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied)\n\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize - deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize\n\n nextLayout[index] = safeSize\n\n if (\n deltaApplied\n .toPrecision(3)\n .localeCompare(Math.abs(delta).toPrecision(3), undefined, {\n numeric: true,\n }) >= 0\n ) {\n break\n }\n }\n\n if (delta < 0)\n index--\n else\n index++\n }\n }\n // DEBUG.push(`after 1: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n // If we were unable to resize any of the panels panels, return the previous state.\n // This will essentially bailout and ignore e.g. drags past a panel's boundaries\n if (fuzzyNumbersEqual(deltaApplied, 0)) {\n // console.log(DEBUG.join(\"\\n\"));\n return prevLayout\n }\n\n {\n // Now distribute the applied delta to the panels in the other direction\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n\n const prevSize = prevLayout[pivotIndex]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaApplied\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: pivotIndex,\n size: unsafeSize,\n })\n\n // Adjust the pivot panel before, but only by the amount that surrounding panels were able to shrink/contract.\n nextLayout[pivotIndex] = safeSize\n\n // Edge case where expanding or contracting one panel caused another one to change collapsed state\n if (!fuzzyNumbersEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize\n\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const prevSize = nextLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaRemaining -= safeSize - prevSize\n\n nextLayout[index] = safeSize\n }\n\n if (fuzzyNumbersEqual(deltaRemaining, 0))\n break\n\n if (delta > 0)\n index--\n else\n index++\n }\n }\n }\n // DEBUG.push(`after 2: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n const totalSize = nextLayout.reduce((total, size) => size + total, 0)\n // DEBUG.push(`total size: ${totalSize}`);\n // console.log(DEBUG.join(\"\\n\"));\n\n if (!fuzzyNumbersEqual(totalSize, 100))\n return prevLayout\n\n return nextLayout\n}\n"],"names":["panelConstraints","delta","pivotIndex","prevSize","unsafeSize","safeSize"],"mappings":"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"}
@@ -68,7 +68,7 @@ function computePanelFlexBoxStyle({
68
68
  const size = layout[panelIndex];
69
69
  let flexGrow;
70
70
  if (size == null) {
71
- flexGrow = defaultSize !== undefined ? defaultSize.toPrecision(precision) : "1";
71
+ flexGrow = defaultSize !== void 0 ? defaultSize.toPrecision(precision) : "1";
72
72
  } else if (panelData.length === 1) {
73
73
  flexGrow = "1";
74
74
  } else {
@@ -82,7 +82,7 @@ function computePanelFlexBoxStyle({
82
82
  overflow: "hidden",
83
83
  // Disable pointer events inside of a panel during resize
84
84
  // This avoid edge cases like nested iframes
85
- pointerEvents: dragState !== null ? "none" : undefined
85
+ pointerEvents: dragState !== null ? "none" : void 0
86
86
  };
87
87
  }
88
88
 
@@ -1 +1 @@
1
- {"version":3,"file":"style.cjs","sources":["../../src/Splitter/utils/style.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport type { DragState } from './types'\nimport type { CSSProperties } from 'vue'\nimport {\n EXCEEDED_HORIZONTAL_MAX,\n EXCEEDED_HORIZONTAL_MIN,\n EXCEEDED_VERTICAL_MAX,\n EXCEEDED_VERTICAL_MIN,\n} from './registry'\n\ntype CursorState = 'horizontal' | 'intersection' | 'vertical'\n\nlet currentCursorStyle: string | null = null\nlet styleElement: HTMLStyleElement | null = null\n\nexport function getCursorStyle(\n state: CursorState,\n constraintFlags: number,\n): string {\n if (constraintFlags) {\n const horizontalMin = (constraintFlags & EXCEEDED_HORIZONTAL_MIN) !== 0\n const horizontalMax = (constraintFlags & EXCEEDED_HORIZONTAL_MAX) !== 0\n const verticalMin = (constraintFlags & EXCEEDED_VERTICAL_MIN) !== 0\n const verticalMax = (constraintFlags & EXCEEDED_VERTICAL_MAX) !== 0\n\n if (horizontalMin) {\n if (verticalMin)\n return 'se-resize'\n else if (verticalMax)\n return 'ne-resize'\n else\n return 'e-resize'\n }\n else if (horizontalMax) {\n if (verticalMin)\n return 'sw-resize'\n else if (verticalMax)\n return 'nw-resize'\n else\n return 'w-resize'\n }\n else if (verticalMin) {\n return 's-resize'\n }\n else if (verticalMax) {\n return 'n-resize'\n }\n }\n\n switch (state) {\n case 'horizontal':\n return 'ew-resize'\n case 'intersection':\n return 'move'\n case 'vertical':\n return 'ns-resize'\n }\n}\n\nexport function resetGlobalCursorStyle() {\n if (styleElement !== null) {\n document.head.removeChild(styleElement)\n\n currentCursorStyle = null\n styleElement = null\n }\n}\n\nexport function setGlobalCursorStyle(\n state: CursorState,\n constraintFlags: number,\n) {\n const style = getCursorStyle(state, constraintFlags)\n\n if (currentCursorStyle === style)\n return\n\n currentCursorStyle = style\n\n if (styleElement === null) {\n styleElement = document.createElement('style')\n\n document.head.appendChild(styleElement)\n }\n\n styleElement.innerHTML = `*{cursor: ${style}!important;}`\n}\n\n// the % of the group's overall space this panel should occupy.\nexport function computePanelFlexBoxStyle({\n defaultSize,\n dragState,\n layout,\n panelData,\n panelIndex,\n precision = 3,\n}: {\n defaultSize: number | undefined\n layout: number[]\n dragState: DragState | null\n panelData: PanelData[]\n panelIndex: number\n precision?: number\n}): CSSProperties {\n const size = layout[panelIndex]\n\n let flexGrow\n if (size == null) {\n // Initial render (before panels have registered themselves)\n // In order to support server rendering, fall back to default size if provided\n flexGrow\n = defaultSize !== undefined ? defaultSize.toPrecision(precision) : '1'\n }\n else if (panelData.length === 1) {\n // Special case: Single panel group should always fill full width/height\n flexGrow = '1'\n }\n else {\n flexGrow = size.toPrecision(precision)\n }\n\n return {\n flexBasis: 0,\n flexGrow,\n flexShrink: 1,\n\n // Without this, Panel sizes may be unintentionally overridden by their content\n overflow: 'hidden',\n\n // Disable pointer events inside of a panel during resize\n // This avoid edge cases like nested iframes\n pointerEvents: dragState !== null ? 'none' : undefined,\n }\n}\n"],"names":["EXCEEDED_HORIZONTAL_MIN","EXCEEDED_HORIZONTAL_MAX","EXCEEDED_VERTICAL_MIN","EXCEEDED_VERTICAL_MAX"],"mappings":"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"}
1
+ {"version":3,"file":"style.cjs","sources":["../../src/Splitter/utils/style.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport type { DragState } from './types'\nimport type { CSSProperties } from 'vue'\nimport {\n EXCEEDED_HORIZONTAL_MAX,\n EXCEEDED_HORIZONTAL_MIN,\n EXCEEDED_VERTICAL_MAX,\n EXCEEDED_VERTICAL_MIN,\n} from './registry'\n\ntype CursorState = 'horizontal' | 'intersection' | 'vertical'\n\nlet currentCursorStyle: string | null = null\nlet styleElement: HTMLStyleElement | null = null\n\nexport function getCursorStyle(\n state: CursorState,\n constraintFlags: number,\n): string {\n if (constraintFlags) {\n const horizontalMin = (constraintFlags & EXCEEDED_HORIZONTAL_MIN) !== 0\n const horizontalMax = (constraintFlags & EXCEEDED_HORIZONTAL_MAX) !== 0\n const verticalMin = (constraintFlags & EXCEEDED_VERTICAL_MIN) !== 0\n const verticalMax = (constraintFlags & EXCEEDED_VERTICAL_MAX) !== 0\n\n if (horizontalMin) {\n if (verticalMin)\n return 'se-resize'\n else if (verticalMax)\n return 'ne-resize'\n else\n return 'e-resize'\n }\n else if (horizontalMax) {\n if (verticalMin)\n return 'sw-resize'\n else if (verticalMax)\n return 'nw-resize'\n else\n return 'w-resize'\n }\n else if (verticalMin) {\n return 's-resize'\n }\n else if (verticalMax) {\n return 'n-resize'\n }\n }\n\n switch (state) {\n case 'horizontal':\n return 'ew-resize'\n case 'intersection':\n return 'move'\n case 'vertical':\n return 'ns-resize'\n }\n}\n\nexport function resetGlobalCursorStyle() {\n if (styleElement !== null) {\n document.head.removeChild(styleElement)\n\n currentCursorStyle = null\n styleElement = null\n }\n}\n\nexport function setGlobalCursorStyle(\n state: CursorState,\n constraintFlags: number,\n) {\n const style = getCursorStyle(state, constraintFlags)\n\n if (currentCursorStyle === style)\n return\n\n currentCursorStyle = style\n\n if (styleElement === null) {\n styleElement = document.createElement('style')\n\n document.head.appendChild(styleElement)\n }\n\n styleElement.innerHTML = `*{cursor: ${style}!important;}`\n}\n\n// the % of the group's overall space this panel should occupy.\nexport function computePanelFlexBoxStyle({\n defaultSize,\n dragState,\n layout,\n panelData,\n panelIndex,\n precision = 3,\n}: {\n defaultSize: number | undefined\n layout: number[]\n dragState: DragState | null\n panelData: PanelData[]\n panelIndex: number\n precision?: number\n}): CSSProperties {\n const size = layout[panelIndex]\n\n let flexGrow\n if (size == null) {\n // Initial render (before panels have registered themselves)\n // In order to support server rendering, fall back to default size if provided\n flexGrow\n = defaultSize !== undefined ? defaultSize.toPrecision(precision) : '1'\n }\n else if (panelData.length === 1) {\n // Special case: Single panel group should always fill full width/height\n flexGrow = '1'\n }\n else {\n flexGrow = size.toPrecision(precision)\n }\n\n return {\n flexBasis: 0,\n flexGrow,\n flexShrink: 1,\n\n // Without this, Panel sizes may be unintentionally overridden by their content\n overflow: 'hidden',\n\n // Disable pointer events inside of a panel during resize\n // This avoid edge cases like nested iframes\n pointerEvents: dragState !== null ? 'none' : undefined,\n }\n}\n"],"names":["EXCEEDED_HORIZONTAL_MIN","EXCEEDED_HORIZONTAL_MAX","EXCEEDED_VERTICAL_MIN","EXCEEDED_VERTICAL_MAX"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { E as EXCEEDED_HORIZONTAL_MIN, a as EXCEEDED_HORIZONTAL_MAX, b as EXCEEDED_VERTICAL_MIN, c as EXCEEDED_VERTICAL_MAX } from './registry.js';
1
+ import { E as EXCEEDED_HORIZONTAL_MIN, b as EXCEEDED_VERTICAL_MIN, c as EXCEEDED_VERTICAL_MAX, a as EXCEEDED_HORIZONTAL_MAX } from './registry.js';
2
2
 
3
3
  let currentCursorStyle = null;
4
4
  let styleElement = null;
@@ -66,7 +66,7 @@ function computePanelFlexBoxStyle({
66
66
  const size = layout[panelIndex];
67
67
  let flexGrow;
68
68
  if (size == null) {
69
- flexGrow = defaultSize !== undefined ? defaultSize.toPrecision(precision) : "1";
69
+ flexGrow = defaultSize !== void 0 ? defaultSize.toPrecision(precision) : "1";
70
70
  } else if (panelData.length === 1) {
71
71
  flexGrow = "1";
72
72
  } else {
@@ -80,7 +80,7 @@ function computePanelFlexBoxStyle({
80
80
  overflow: "hidden",
81
81
  // Disable pointer events inside of a panel during resize
82
82
  // This avoid edge cases like nested iframes
83
- pointerEvents: dragState !== null ? "none" : undefined
83
+ pointerEvents: dragState !== null ? "none" : void 0
84
84
  };
85
85
  }
86
86
 
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../src/Splitter/utils/style.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport type { DragState } from './types'\nimport type { CSSProperties } from 'vue'\nimport {\n EXCEEDED_HORIZONTAL_MAX,\n EXCEEDED_HORIZONTAL_MIN,\n EXCEEDED_VERTICAL_MAX,\n EXCEEDED_VERTICAL_MIN,\n} from './registry'\n\ntype CursorState = 'horizontal' | 'intersection' | 'vertical'\n\nlet currentCursorStyle: string | null = null\nlet styleElement: HTMLStyleElement | null = null\n\nexport function getCursorStyle(\n state: CursorState,\n constraintFlags: number,\n): string {\n if (constraintFlags) {\n const horizontalMin = (constraintFlags & EXCEEDED_HORIZONTAL_MIN) !== 0\n const horizontalMax = (constraintFlags & EXCEEDED_HORIZONTAL_MAX) !== 0\n const verticalMin = (constraintFlags & EXCEEDED_VERTICAL_MIN) !== 0\n const verticalMax = (constraintFlags & EXCEEDED_VERTICAL_MAX) !== 0\n\n if (horizontalMin) {\n if (verticalMin)\n return 'se-resize'\n else if (verticalMax)\n return 'ne-resize'\n else\n return 'e-resize'\n }\n else if (horizontalMax) {\n if (verticalMin)\n return 'sw-resize'\n else if (verticalMax)\n return 'nw-resize'\n else\n return 'w-resize'\n }\n else if (verticalMin) {\n return 's-resize'\n }\n else if (verticalMax) {\n return 'n-resize'\n }\n }\n\n switch (state) {\n case 'horizontal':\n return 'ew-resize'\n case 'intersection':\n return 'move'\n case 'vertical':\n return 'ns-resize'\n }\n}\n\nexport function resetGlobalCursorStyle() {\n if (styleElement !== null) {\n document.head.removeChild(styleElement)\n\n currentCursorStyle = null\n styleElement = null\n }\n}\n\nexport function setGlobalCursorStyle(\n state: CursorState,\n constraintFlags: number,\n) {\n const style = getCursorStyle(state, constraintFlags)\n\n if (currentCursorStyle === style)\n return\n\n currentCursorStyle = style\n\n if (styleElement === null) {\n styleElement = document.createElement('style')\n\n document.head.appendChild(styleElement)\n }\n\n styleElement.innerHTML = `*{cursor: ${style}!important;}`\n}\n\n// the % of the group's overall space this panel should occupy.\nexport function computePanelFlexBoxStyle({\n defaultSize,\n dragState,\n layout,\n panelData,\n panelIndex,\n precision = 3,\n}: {\n defaultSize: number | undefined\n layout: number[]\n dragState: DragState | null\n panelData: PanelData[]\n panelIndex: number\n precision?: number\n}): CSSProperties {\n const size = layout[panelIndex]\n\n let flexGrow\n if (size == null) {\n // Initial render (before panels have registered themselves)\n // In order to support server rendering, fall back to default size if provided\n flexGrow\n = defaultSize !== undefined ? defaultSize.toPrecision(precision) : '1'\n }\n else if (panelData.length === 1) {\n // Special case: Single panel group should always fill full width/height\n flexGrow = '1'\n }\n else {\n flexGrow = size.toPrecision(precision)\n }\n\n return {\n flexBasis: 0,\n flexGrow,\n flexShrink: 1,\n\n // Without this, Panel sizes may be unintentionally overridden by their content\n overflow: 'hidden',\n\n // Disable pointer events inside of a panel during resize\n // This avoid edge cases like nested iframes\n pointerEvents: dragState !== null ? 'none' : undefined,\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sources":["../../src/Splitter/utils/style.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport type { DragState } from './types'\nimport type { CSSProperties } from 'vue'\nimport {\n EXCEEDED_HORIZONTAL_MAX,\n EXCEEDED_HORIZONTAL_MIN,\n EXCEEDED_VERTICAL_MAX,\n EXCEEDED_VERTICAL_MIN,\n} from './registry'\n\ntype CursorState = 'horizontal' | 'intersection' | 'vertical'\n\nlet currentCursorStyle: string | null = null\nlet styleElement: HTMLStyleElement | null = null\n\nexport function getCursorStyle(\n state: CursorState,\n constraintFlags: number,\n): string {\n if (constraintFlags) {\n const horizontalMin = (constraintFlags & EXCEEDED_HORIZONTAL_MIN) !== 0\n const horizontalMax = (constraintFlags & EXCEEDED_HORIZONTAL_MAX) !== 0\n const verticalMin = (constraintFlags & EXCEEDED_VERTICAL_MIN) !== 0\n const verticalMax = (constraintFlags & EXCEEDED_VERTICAL_MAX) !== 0\n\n if (horizontalMin) {\n if (verticalMin)\n return 'se-resize'\n else if (verticalMax)\n return 'ne-resize'\n else\n return 'e-resize'\n }\n else if (horizontalMax) {\n if (verticalMin)\n return 'sw-resize'\n else if (verticalMax)\n return 'nw-resize'\n else\n return 'w-resize'\n }\n else if (verticalMin) {\n return 's-resize'\n }\n else if (verticalMax) {\n return 'n-resize'\n }\n }\n\n switch (state) {\n case 'horizontal':\n return 'ew-resize'\n case 'intersection':\n return 'move'\n case 'vertical':\n return 'ns-resize'\n }\n}\n\nexport function resetGlobalCursorStyle() {\n if (styleElement !== null) {\n document.head.removeChild(styleElement)\n\n currentCursorStyle = null\n styleElement = null\n }\n}\n\nexport function setGlobalCursorStyle(\n state: CursorState,\n constraintFlags: number,\n) {\n const style = getCursorStyle(state, constraintFlags)\n\n if (currentCursorStyle === style)\n return\n\n currentCursorStyle = style\n\n if (styleElement === null) {\n styleElement = document.createElement('style')\n\n document.head.appendChild(styleElement)\n }\n\n styleElement.innerHTML = `*{cursor: ${style}!important;}`\n}\n\n// the % of the group's overall space this panel should occupy.\nexport function computePanelFlexBoxStyle({\n defaultSize,\n dragState,\n layout,\n panelData,\n panelIndex,\n precision = 3,\n}: {\n defaultSize: number | undefined\n layout: number[]\n dragState: DragState | null\n panelData: PanelData[]\n panelIndex: number\n precision?: number\n}): CSSProperties {\n const size = layout[panelIndex]\n\n let flexGrow\n if (size == null) {\n // Initial render (before panels have registered themselves)\n // In order to support server rendering, fall back to default size if provided\n flexGrow\n = defaultSize !== undefined ? defaultSize.toPrecision(precision) : '1'\n }\n else if (panelData.length === 1) {\n // Special case: Single panel group should always fill full width/height\n flexGrow = '1'\n }\n else {\n flexGrow = size.toPrecision(precision)\n }\n\n return {\n flexBasis: 0,\n flexGrow,\n flexShrink: 1,\n\n // Without this, Panel sizes may be unintentionally overridden by their content\n overflow: 'hidden',\n\n // Disable pointer events inside of a panel during resize\n // This avoid edge cases like nested iframes\n pointerEvents: dragState !== null ? 'none' : undefined,\n }\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "reka-ui",
3
3
  "type": "module",
4
- "version": "2.1.1",
4
+ "version": "2.2.0",
5
5
  "description": "Vue port for Radix UI Primitives.",
6
6
  "author": "UnoVue Contributors (https://github.com/unovue)",
7
7
  "license": "MIT",
@@ -119,7 +119,7 @@
119
119
  "@vue/test-utils": "^2.4.6",
120
120
  "@vue/tsconfig": "^0.5.1",
121
121
  "jsdom": "^25.0.1",
122
- "vite": "^5.4.12",
122
+ "vite": "^5.4.16",
123
123
  "vite-plugin-dts": "^4.2.3",
124
124
  "vitest": "^2.1.9",
125
125
  "vitest-axe": "0.1.0",