reka-ui 2.2.0 → 2.3.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 (902) hide show
  1. package/dist/Accordion/AccordionHeader.cjs.map +1 -1
  2. package/dist/Accordion/AccordionHeader.js.map +1 -1
  3. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/AccordionRoot.cjs.map +1 -1
  6. package/dist/Accordion/AccordionRoot.js.map +1 -1
  7. package/dist/Accordion/AccordionTrigger.cjs.map +1 -1
  8. package/dist/Accordion/AccordionTrigger.js.map +1 -1
  9. package/dist/AlertDialog/AlertDialogCancel.cjs.map +1 -1
  10. package/dist/AlertDialog/AlertDialogCancel.js.map +1 -1
  11. package/dist/AspectRatio/AspectRatio.cjs.map +1 -1
  12. package/dist/AspectRatio/AspectRatio.js.map +1 -1
  13. package/dist/Avatar/AvatarFallback.cjs +11 -14
  14. package/dist/Avatar/AvatarFallback.cjs.map +1 -1
  15. package/dist/Avatar/AvatarFallback.js +12 -15
  16. package/dist/Avatar/AvatarFallback.js.map +1 -1
  17. package/dist/Avatar/AvatarImage.cjs +3 -2
  18. package/dist/Avatar/AvatarImage.cjs.map +1 -1
  19. package/dist/Avatar/AvatarImage.js +3 -2
  20. package/dist/Avatar/AvatarImage.js.map +1 -1
  21. package/dist/Avatar/AvatarRoot.cjs +1 -1
  22. package/dist/Avatar/AvatarRoot.cjs.map +1 -1
  23. package/dist/Avatar/AvatarRoot.js +1 -1
  24. package/dist/Avatar/AvatarRoot.js.map +1 -1
  25. package/dist/Avatar/utils.cjs +43 -16
  26. package/dist/Avatar/utils.cjs.map +1 -1
  27. package/dist/Avatar/utils.js +44 -17
  28. package/dist/Avatar/utils.js.map +1 -1
  29. package/dist/Calendar/CalendarCell.cjs +3 -3
  30. package/dist/Calendar/CalendarCell.cjs.map +1 -1
  31. package/dist/Calendar/CalendarCell.js +3 -3
  32. package/dist/Calendar/CalendarCell.js.map +1 -1
  33. package/dist/Calendar/CalendarCellTrigger.cjs +5 -1
  34. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  35. package/dist/Calendar/CalendarCellTrigger.js +5 -1
  36. package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
  37. package/dist/Calendar/CalendarGrid.cjs.map +1 -1
  38. package/dist/Calendar/CalendarGrid.js.map +1 -1
  39. package/dist/Calendar/CalendarHeading.cjs +1 -1
  40. package/dist/Calendar/CalendarHeading.cjs.map +1 -1
  41. package/dist/Calendar/CalendarHeading.js +1 -1
  42. package/dist/Calendar/CalendarHeading.js.map +1 -1
  43. package/dist/Calendar/CalendarNext.cjs.map +1 -1
  44. package/dist/Calendar/CalendarNext.js.map +1 -1
  45. package/dist/Calendar/CalendarPrev.cjs.map +1 -1
  46. package/dist/Calendar/CalendarPrev.js.map +1 -1
  47. package/dist/Calendar/CalendarRoot.cjs +7 -4
  48. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  49. package/dist/Calendar/CalendarRoot.js +7 -4
  50. package/dist/Calendar/CalendarRoot.js.map +1 -1
  51. package/dist/Calendar/useCalendar.cjs.map +1 -1
  52. package/dist/Calendar/useCalendar.js.map +1 -1
  53. package/dist/Checkbox/CheckboxGroupRoot.cjs +1 -1
  54. package/dist/Checkbox/CheckboxGroupRoot.cjs.map +1 -1
  55. package/dist/Checkbox/CheckboxGroupRoot.js +1 -1
  56. package/dist/Checkbox/CheckboxGroupRoot.js.map +1 -1
  57. package/dist/Checkbox/CheckboxIndicator.cjs.map +1 -1
  58. package/dist/Checkbox/CheckboxIndicator.js.map +1 -1
  59. package/dist/Checkbox/CheckboxRoot.cjs +1 -1
  60. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  61. package/dist/Checkbox/CheckboxRoot.js +1 -1
  62. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  63. package/dist/Collapsible/CollapsibleContent.cjs +1 -1
  64. package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
  65. package/dist/Collapsible/CollapsibleContent.js +1 -1
  66. package/dist/Collapsible/CollapsibleContent.js.map +1 -1
  67. package/dist/Collapsible/CollapsibleRoot.cjs +2 -0
  68. package/dist/Collapsible/CollapsibleRoot.cjs.map +1 -1
  69. package/dist/Collapsible/CollapsibleRoot.js +2 -0
  70. package/dist/Collapsible/CollapsibleRoot.js.map +1 -1
  71. package/dist/Collapsible/CollapsibleTrigger.cjs +1 -1
  72. package/dist/Collapsible/CollapsibleTrigger.js +1 -1
  73. package/dist/Collection/Collection.cjs.map +1 -1
  74. package/dist/Collection/Collection.js.map +1 -1
  75. package/dist/Combobox/ComboboxAnchor.cjs.map +1 -1
  76. package/dist/Combobox/ComboboxAnchor.js.map +1 -1
  77. package/dist/Combobox/ComboboxArrow.cjs.map +1 -1
  78. package/dist/Combobox/ComboboxArrow.js.map +1 -1
  79. package/dist/Combobox/ComboboxCancel.cjs +1 -0
  80. package/dist/Combobox/ComboboxCancel.cjs.map +1 -1
  81. package/dist/Combobox/ComboboxCancel.js +1 -0
  82. package/dist/Combobox/ComboboxCancel.js.map +1 -1
  83. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  84. package/dist/Combobox/ComboboxContent.js.map +1 -1
  85. package/dist/Combobox/ComboboxContentImpl.cjs +2 -2
  86. package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
  87. package/dist/Combobox/ComboboxContentImpl.js +2 -2
  88. package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
  89. package/dist/Combobox/ComboboxEmpty.cjs.map +1 -1
  90. package/dist/Combobox/ComboboxEmpty.js.map +1 -1
  91. package/dist/Combobox/ComboboxGroup.cjs +1 -1
  92. package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
  93. package/dist/Combobox/ComboboxGroup.js +1 -1
  94. package/dist/Combobox/ComboboxGroup.js.map +1 -1
  95. package/dist/Combobox/ComboboxInput.cjs +9 -1
  96. package/dist/Combobox/ComboboxInput.cjs.map +1 -1
  97. package/dist/Combobox/ComboboxInput.js +9 -1
  98. package/dist/Combobox/ComboboxInput.js.map +1 -1
  99. package/dist/Combobox/ComboboxItem.cjs +4 -3
  100. package/dist/Combobox/ComboboxItem.cjs.map +1 -1
  101. package/dist/Combobox/ComboboxItem.js +4 -3
  102. package/dist/Combobox/ComboboxItem.js.map +1 -1
  103. package/dist/Combobox/ComboboxLabel.cjs +1 -1
  104. package/dist/Combobox/ComboboxLabel.js +1 -1
  105. package/dist/Combobox/ComboboxRoot.cjs +1 -2
  106. package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
  107. package/dist/Combobox/ComboboxRoot.js +1 -2
  108. package/dist/Combobox/ComboboxRoot.js.map +1 -1
  109. package/dist/Combobox/ComboboxTrigger.cjs.map +1 -1
  110. package/dist/Combobox/ComboboxTrigger.js.map +1 -1
  111. package/dist/Combobox/ComboboxViewport.cjs.map +1 -1
  112. package/dist/Combobox/ComboboxViewport.js.map +1 -1
  113. package/dist/Combobox/ComboboxVirtualizer.cjs.map +1 -1
  114. package/dist/Combobox/ComboboxVirtualizer.js.map +1 -1
  115. package/dist/ConfigProvider/ConfigProvider.cjs.map +1 -1
  116. package/dist/ConfigProvider/ConfigProvider.js.map +1 -1
  117. package/dist/ContextMenu/ContextMenuContent.cjs.map +1 -1
  118. package/dist/ContextMenu/ContextMenuContent.js.map +1 -1
  119. package/dist/ContextMenu/ContextMenuPortal.cjs.map +1 -1
  120. package/dist/ContextMenu/ContextMenuPortal.js.map +1 -1
  121. package/dist/ContextMenu/ContextMenuRoot.cjs.map +1 -1
  122. package/dist/ContextMenu/ContextMenuRoot.js.map +1 -1
  123. package/dist/ContextMenu/ContextMenuSub.cjs.map +1 -1
  124. package/dist/ContextMenu/ContextMenuSub.js.map +1 -1
  125. package/dist/ContextMenu/ContextMenuTrigger.cjs +2 -2
  126. package/dist/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
  127. package/dist/ContextMenu/ContextMenuTrigger.js +2 -2
  128. package/dist/ContextMenu/ContextMenuTrigger.js.map +1 -1
  129. package/dist/DateField/DateFieldInput.cjs +1 -0
  130. package/dist/DateField/DateFieldInput.cjs.map +1 -1
  131. package/dist/DateField/DateFieldInput.js +1 -0
  132. package/dist/DateField/DateFieldInput.js.map +1 -1
  133. package/dist/DateField/DateFieldRoot.cjs +7 -1
  134. package/dist/DateField/DateFieldRoot.cjs.map +1 -1
  135. package/dist/DateField/DateFieldRoot.js +7 -1
  136. package/dist/DateField/DateFieldRoot.js.map +1 -1
  137. package/dist/DatePicker/DatePickerArrow.cjs.map +1 -1
  138. package/dist/DatePicker/DatePickerArrow.js.map +1 -1
  139. package/dist/DatePicker/DatePickerCalendar.cjs.map +1 -1
  140. package/dist/DatePicker/DatePickerCalendar.js.map +1 -1
  141. package/dist/DatePicker/DatePickerCell.cjs.map +1 -1
  142. package/dist/DatePicker/DatePickerCell.js.map +1 -1
  143. package/dist/DatePicker/DatePickerCellTrigger.cjs.map +1 -1
  144. package/dist/DatePicker/DatePickerCellTrigger.js.map +1 -1
  145. package/dist/DatePicker/DatePickerClose.cjs.map +1 -1
  146. package/dist/DatePicker/DatePickerClose.js.map +1 -1
  147. package/dist/DatePicker/DatePickerContent.cjs +8 -3
  148. package/dist/DatePicker/DatePickerContent.cjs.map +1 -1
  149. package/dist/DatePicker/DatePickerContent.js +9 -4
  150. package/dist/DatePicker/DatePickerContent.js.map +1 -1
  151. package/dist/DatePicker/DatePickerGrid.cjs.map +1 -1
  152. package/dist/DatePicker/DatePickerGrid.js.map +1 -1
  153. package/dist/DatePicker/DatePickerGridBody.cjs.map +1 -1
  154. package/dist/DatePicker/DatePickerGridBody.js.map +1 -1
  155. package/dist/DatePicker/DatePickerGridHead.cjs.map +1 -1
  156. package/dist/DatePicker/DatePickerGridHead.js.map +1 -1
  157. package/dist/DatePicker/DatePickerGridRow.cjs.map +1 -1
  158. package/dist/DatePicker/DatePickerGridRow.js.map +1 -1
  159. package/dist/DatePicker/DatePickerHeadCell.cjs.map +1 -1
  160. package/dist/DatePicker/DatePickerHeadCell.js.map +1 -1
  161. package/dist/DatePicker/DatePickerHeader.cjs.map +1 -1
  162. package/dist/DatePicker/DatePickerHeader.js.map +1 -1
  163. package/dist/DatePicker/DatePickerHeading.cjs.map +1 -1
  164. package/dist/DatePicker/DatePickerHeading.js.map +1 -1
  165. package/dist/DatePicker/DatePickerInput.cjs.map +1 -1
  166. package/dist/DatePicker/DatePickerInput.js.map +1 -1
  167. package/dist/DatePicker/DatePickerNext.cjs.map +1 -1
  168. package/dist/DatePicker/DatePickerNext.js.map +1 -1
  169. package/dist/DatePicker/DatePickerPrev.cjs.map +1 -1
  170. package/dist/DatePicker/DatePickerPrev.js.map +1 -1
  171. package/dist/DatePicker/DatePickerRoot.cjs +1 -0
  172. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  173. package/dist/DatePicker/DatePickerRoot.js +1 -0
  174. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  175. package/dist/DatePicker/DatePickerTrigger.cjs.map +1 -1
  176. package/dist/DatePicker/DatePickerTrigger.js.map +1 -1
  177. package/dist/DateRangeField/DateRangeFieldInput.cjs +1 -0
  178. package/dist/DateRangeField/DateRangeFieldInput.cjs.map +1 -1
  179. package/dist/DateRangeField/DateRangeFieldInput.js +1 -0
  180. package/dist/DateRangeField/DateRangeFieldInput.js.map +1 -1
  181. package/dist/DateRangeField/DateRangeFieldRoot.cjs +13 -9
  182. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  183. package/dist/DateRangeField/DateRangeFieldRoot.js +13 -9
  184. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  185. package/dist/DateRangePicker/DateRangePickerAnchor.cjs.map +1 -1
  186. package/dist/DateRangePicker/DateRangePickerAnchor.js.map +1 -1
  187. package/dist/DateRangePicker/DateRangePickerArrow.cjs.map +1 -1
  188. package/dist/DateRangePicker/DateRangePickerArrow.js.map +1 -1
  189. package/dist/DateRangePicker/DateRangePickerCalendar.cjs +3 -1
  190. package/dist/DateRangePicker/DateRangePickerCalendar.cjs.map +1 -1
  191. package/dist/DateRangePicker/DateRangePickerCalendar.js +3 -1
  192. package/dist/DateRangePicker/DateRangePickerCalendar.js.map +1 -1
  193. package/dist/DateRangePicker/DateRangePickerCell.cjs.map +1 -1
  194. package/dist/DateRangePicker/DateRangePickerCell.js.map +1 -1
  195. package/dist/DateRangePicker/DateRangePickerClose.cjs.map +1 -1
  196. package/dist/DateRangePicker/DateRangePickerClose.js.map +1 -1
  197. package/dist/DateRangePicker/DateRangePickerContent.cjs +8 -3
  198. package/dist/DateRangePicker/DateRangePickerContent.cjs.map +1 -1
  199. package/dist/DateRangePicker/DateRangePickerContent.js +9 -4
  200. package/dist/DateRangePicker/DateRangePickerContent.js.map +1 -1
  201. package/dist/DateRangePicker/DateRangePickerGrid.cjs.map +1 -1
  202. package/dist/DateRangePicker/DateRangePickerGrid.js.map +1 -1
  203. package/dist/DateRangePicker/DateRangePickerGridBody.cjs.map +1 -1
  204. package/dist/DateRangePicker/DateRangePickerGridBody.js.map +1 -1
  205. package/dist/DateRangePicker/DateRangePickerGridHead.cjs.map +1 -1
  206. package/dist/DateRangePicker/DateRangePickerGridHead.js.map +1 -1
  207. package/dist/DateRangePicker/DateRangePickerGridRow.cjs.map +1 -1
  208. package/dist/DateRangePicker/DateRangePickerGridRow.js.map +1 -1
  209. package/dist/DateRangePicker/DateRangePickerHeadCell.cjs.map +1 -1
  210. package/dist/DateRangePicker/DateRangePickerHeadCell.js.map +1 -1
  211. package/dist/DateRangePicker/DateRangePickerHeader.cjs.map +1 -1
  212. package/dist/DateRangePicker/DateRangePickerHeader.js.map +1 -1
  213. package/dist/DateRangePicker/DateRangePickerHeading.cjs.map +1 -1
  214. package/dist/DateRangePicker/DateRangePickerHeading.js.map +1 -1
  215. package/dist/DateRangePicker/DateRangePickerInput.cjs.map +1 -1
  216. package/dist/DateRangePicker/DateRangePickerInput.js.map +1 -1
  217. package/dist/DateRangePicker/DateRangePickerNext.cjs.map +1 -1
  218. package/dist/DateRangePicker/DateRangePickerNext.js.map +1 -1
  219. package/dist/DateRangePicker/DateRangePickerPrev.cjs.map +1 -1
  220. package/dist/DateRangePicker/DateRangePickerPrev.js.map +1 -1
  221. package/dist/DateRangePicker/DateRangePickerRoot.cjs +9 -2
  222. package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
  223. package/dist/DateRangePicker/DateRangePickerRoot.js +9 -2
  224. package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
  225. package/dist/DateRangePicker/DateRangePickerTrigger.cjs.map +1 -1
  226. package/dist/DateRangePicker/DateRangePickerTrigger.js.map +1 -1
  227. package/dist/Dialog/DialogClose.cjs +1 -1
  228. package/dist/Dialog/DialogClose.cjs.map +1 -1
  229. package/dist/Dialog/DialogClose.js +1 -1
  230. package/dist/Dialog/DialogClose.js.map +1 -1
  231. package/dist/Dialog/DialogContent.cjs.map +1 -1
  232. package/dist/Dialog/DialogContent.js.map +1 -1
  233. package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
  234. package/dist/Dialog/DialogContentImpl.js.map +1 -1
  235. package/dist/Dialog/DialogContentModal.cjs.map +1 -1
  236. package/dist/Dialog/DialogContentModal.js.map +1 -1
  237. package/dist/Dialog/DialogContentNonModal.cjs.map +1 -1
  238. package/dist/Dialog/DialogContentNonModal.js.map +1 -1
  239. package/dist/Dialog/DialogDescription.cjs.map +1 -1
  240. package/dist/Dialog/DialogDescription.js.map +1 -1
  241. package/dist/Dialog/DialogOverlay.cjs.map +1 -1
  242. package/dist/Dialog/DialogOverlay.js.map +1 -1
  243. package/dist/Dialog/DialogOverlayImpl.cjs.map +1 -1
  244. package/dist/Dialog/DialogOverlayImpl.js.map +1 -1
  245. package/dist/Dialog/DialogRoot.cjs +4 -1
  246. package/dist/Dialog/DialogRoot.cjs.map +1 -1
  247. package/dist/Dialog/DialogRoot.js +4 -1
  248. package/dist/Dialog/DialogRoot.js.map +1 -1
  249. package/dist/Dialog/DialogTitle.cjs.map +1 -1
  250. package/dist/Dialog/DialogTitle.js.map +1 -1
  251. package/dist/Dialog/DialogTrigger.cjs +1 -1
  252. package/dist/Dialog/DialogTrigger.cjs.map +1 -1
  253. package/dist/Dialog/DialogTrigger.js +1 -1
  254. package/dist/Dialog/DialogTrigger.js.map +1 -1
  255. package/dist/Dialog/utils.cjs.map +1 -1
  256. package/dist/Dialog/utils.js.map +1 -1
  257. package/dist/DismissableLayer/DismissableLayer.cjs.map +1 -1
  258. package/dist/DismissableLayer/DismissableLayer.js.map +1 -1
  259. package/dist/DismissableLayer/DismissableLayerBranch.cjs.map +1 -1
  260. package/dist/DismissableLayer/DismissableLayerBranch.js.map +1 -1
  261. package/dist/DismissableLayer/utils.cjs +11 -6
  262. package/dist/DismissableLayer/utils.cjs.map +1 -1
  263. package/dist/DismissableLayer/utils.js +12 -7
  264. package/dist/DismissableLayer/utils.js.map +1 -1
  265. package/dist/DropdownMenu/DropdownMenuContent.cjs +1 -1
  266. package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
  267. package/dist/DropdownMenu/DropdownMenuContent.js +1 -1
  268. package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
  269. package/dist/DropdownMenu/DropdownMenuRoot.cjs.map +1 -1
  270. package/dist/DropdownMenu/DropdownMenuRoot.js.map +1 -1
  271. package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
  272. package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
  273. package/dist/DropdownMenu/DropdownMenuTrigger.cjs +1 -1
  274. package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  275. package/dist/DropdownMenu/DropdownMenuTrigger.js +1 -1
  276. package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  277. package/dist/Editable/EditableInput.cjs.map +1 -1
  278. package/dist/Editable/EditableInput.js.map +1 -1
  279. package/dist/Editable/EditablePreview.cjs.map +1 -1
  280. package/dist/Editable/EditablePreview.js.map +1 -1
  281. package/dist/Editable/EditableRoot.cjs +1 -1
  282. package/dist/Editable/EditableRoot.cjs.map +1 -1
  283. package/dist/Editable/EditableRoot.js +1 -1
  284. package/dist/Editable/EditableRoot.js.map +1 -1
  285. package/dist/FocusScope/FocusScope.cjs +1 -1
  286. package/dist/FocusScope/FocusScope.cjs.map +1 -1
  287. package/dist/FocusScope/FocusScope.js +1 -1
  288. package/dist/FocusScope/FocusScope.js.map +1 -1
  289. package/dist/HoverCard/HoverCardContent.cjs +1 -1
  290. package/dist/HoverCard/HoverCardContent.cjs.map +1 -1
  291. package/dist/HoverCard/HoverCardContent.js +1 -1
  292. package/dist/HoverCard/HoverCardContent.js.map +1 -1
  293. package/dist/HoverCard/HoverCardContentImpl.cjs +3 -3
  294. package/dist/HoverCard/HoverCardContentImpl.cjs.map +1 -1
  295. package/dist/HoverCard/HoverCardContentImpl.js +3 -3
  296. package/dist/HoverCard/HoverCardContentImpl.js.map +1 -1
  297. package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
  298. package/dist/HoverCard/HoverCardRoot.js.map +1 -1
  299. package/dist/HoverCard/HoverCardTrigger.cjs +1 -1
  300. package/dist/HoverCard/HoverCardTrigger.cjs.map +1 -1
  301. package/dist/HoverCard/HoverCardTrigger.js +1 -1
  302. package/dist/HoverCard/HoverCardTrigger.js.map +1 -1
  303. package/dist/Listbox/ListboxContent.cjs +1 -1
  304. package/dist/Listbox/ListboxContent.cjs.map +1 -1
  305. package/dist/Listbox/ListboxContent.js +1 -1
  306. package/dist/Listbox/ListboxContent.js.map +1 -1
  307. package/dist/Listbox/ListboxFilter.cjs.map +1 -1
  308. package/dist/Listbox/ListboxFilter.js.map +1 -1
  309. package/dist/Listbox/ListboxItem.cjs +2 -2
  310. package/dist/Listbox/ListboxItem.cjs.map +1 -1
  311. package/dist/Listbox/ListboxItem.js +2 -2
  312. package/dist/Listbox/ListboxItem.js.map +1 -1
  313. package/dist/Listbox/ListboxItemIndicator.cjs.map +1 -1
  314. package/dist/Listbox/ListboxItemIndicator.js.map +1 -1
  315. package/dist/Listbox/ListboxRoot.cjs +3 -3
  316. package/dist/Listbox/ListboxRoot.cjs.map +1 -1
  317. package/dist/Listbox/ListboxRoot.js +3 -3
  318. package/dist/Listbox/ListboxRoot.js.map +1 -1
  319. package/dist/Listbox/ListboxVirtualizer.cjs +4 -4
  320. package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
  321. package/dist/Listbox/ListboxVirtualizer.js +4 -4
  322. package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
  323. package/dist/Menu/MenuAnchor.cjs.map +1 -1
  324. package/dist/Menu/MenuAnchor.js.map +1 -1
  325. package/dist/Menu/MenuCheckboxItem.cjs +1 -1
  326. package/dist/Menu/MenuCheckboxItem.cjs.map +1 -1
  327. package/dist/Menu/MenuCheckboxItem.js +1 -1
  328. package/dist/Menu/MenuCheckboxItem.js.map +1 -1
  329. package/dist/Menu/MenuContent.cjs.map +1 -1
  330. package/dist/Menu/MenuContent.js.map +1 -1
  331. package/dist/Menu/MenuContentImpl.cjs +2 -2
  332. package/dist/Menu/MenuContentImpl.cjs.map +1 -1
  333. package/dist/Menu/MenuContentImpl.js +2 -2
  334. package/dist/Menu/MenuContentImpl.js.map +1 -1
  335. package/dist/Menu/MenuItem.cjs.map +1 -1
  336. package/dist/Menu/MenuItem.js.map +1 -1
  337. package/dist/Menu/MenuItemImpl.cjs +1 -1
  338. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  339. package/dist/Menu/MenuItemImpl.js +1 -1
  340. package/dist/Menu/MenuItemImpl.js.map +1 -1
  341. package/dist/Menu/MenuItemIndicator.cjs.map +1 -1
  342. package/dist/Menu/MenuItemIndicator.js.map +1 -1
  343. package/dist/Menu/MenuRadioGroup.cjs.map +1 -1
  344. package/dist/Menu/MenuRadioGroup.js.map +1 -1
  345. package/dist/Menu/MenuRadioItem.cjs +1 -1
  346. package/dist/Menu/MenuRadioItem.cjs.map +1 -1
  347. package/dist/Menu/MenuRadioItem.js +1 -1
  348. package/dist/Menu/MenuRadioItem.js.map +1 -1
  349. package/dist/Menu/MenuRoot.cjs +1 -1
  350. package/dist/Menu/MenuRoot.cjs.map +1 -1
  351. package/dist/Menu/MenuRoot.js +1 -1
  352. package/dist/Menu/MenuRoot.js.map +1 -1
  353. package/dist/Menu/MenuRootContentModal.cjs.map +1 -1
  354. package/dist/Menu/MenuRootContentModal.js.map +1 -1
  355. package/dist/Menu/MenuRootContentNonModal.cjs.map +1 -1
  356. package/dist/Menu/MenuRootContentNonModal.js.map +1 -1
  357. package/dist/Menu/MenuSub.cjs.map +1 -1
  358. package/dist/Menu/MenuSub.js.map +1 -1
  359. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  360. package/dist/Menu/MenuSubContent.js.map +1 -1
  361. package/dist/Menu/MenuSubTrigger.cjs +1 -1
  362. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  363. package/dist/Menu/MenuSubTrigger.js +1 -1
  364. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  365. package/dist/Menubar/MenubarContent.cjs +1 -1
  366. package/dist/Menubar/MenubarContent.cjs.map +1 -1
  367. package/dist/Menubar/MenubarContent.js +1 -1
  368. package/dist/Menubar/MenubarContent.js.map +1 -1
  369. package/dist/Menubar/MenubarGroup.cjs.map +1 -1
  370. package/dist/Menubar/MenubarGroup.js.map +1 -1
  371. package/dist/Menubar/MenubarMenu.cjs.map +1 -1
  372. package/dist/Menubar/MenubarMenu.js.map +1 -1
  373. package/dist/Menubar/MenubarRoot.cjs.map +1 -1
  374. package/dist/Menubar/MenubarRoot.js.map +1 -1
  375. package/dist/Menubar/MenubarSub.cjs.map +1 -1
  376. package/dist/Menubar/MenubarSub.js.map +1 -1
  377. package/dist/Menubar/MenubarSubContent.cjs.map +1 -1
  378. package/dist/Menubar/MenubarSubContent.js.map +1 -1
  379. package/dist/Menubar/MenubarTrigger.cjs +1 -1
  380. package/dist/Menubar/MenubarTrigger.cjs.map +1 -1
  381. package/dist/Menubar/MenubarTrigger.js +1 -1
  382. package/dist/Menubar/MenubarTrigger.js.map +1 -1
  383. package/dist/NavigationMenu/NavigationMenuContent.cjs +1 -1
  384. package/dist/NavigationMenu/NavigationMenuContent.cjs.map +1 -1
  385. package/dist/NavigationMenu/NavigationMenuContent.js +1 -1
  386. package/dist/NavigationMenu/NavigationMenuContent.js.map +1 -1
  387. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +1 -1
  388. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
  389. package/dist/NavigationMenu/NavigationMenuContentImpl.js +1 -1
  390. package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
  391. package/dist/NavigationMenu/NavigationMenuIndicator.cjs.map +1 -1
  392. package/dist/NavigationMenu/NavigationMenuIndicator.js.map +1 -1
  393. package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
  394. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  395. package/dist/NavigationMenu/NavigationMenuLink.cjs.map +1 -1
  396. package/dist/NavigationMenu/NavigationMenuLink.js.map +1 -1
  397. package/dist/NavigationMenu/NavigationMenuList.cjs.map +1 -1
  398. package/dist/NavigationMenu/NavigationMenuList.js.map +1 -1
  399. package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
  400. package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
  401. package/dist/NavigationMenu/NavigationMenuSub.cjs.map +1 -1
  402. package/dist/NavigationMenu/NavigationMenuSub.js.map +1 -1
  403. package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  404. package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  405. package/dist/NavigationMenu/NavigationMenuViewport.cjs.map +1 -1
  406. package/dist/NavigationMenu/NavigationMenuViewport.js.map +1 -1
  407. package/dist/NumberField/NumberFieldDecrement.cjs +1 -1
  408. package/dist/NumberField/NumberFieldDecrement.cjs.map +1 -1
  409. package/dist/NumberField/NumberFieldDecrement.js +1 -1
  410. package/dist/NumberField/NumberFieldDecrement.js.map +1 -1
  411. package/dist/NumberField/NumberFieldIncrement.cjs.map +1 -1
  412. package/dist/NumberField/NumberFieldIncrement.js.map +1 -1
  413. package/dist/NumberField/NumberFieldInput.cjs +3 -3
  414. package/dist/NumberField/NumberFieldInput.cjs.map +1 -1
  415. package/dist/NumberField/NumberFieldInput.js +3 -3
  416. package/dist/NumberField/NumberFieldInput.js.map +1 -1
  417. package/dist/NumberField/NumberFieldRoot.cjs +8 -5
  418. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  419. package/dist/NumberField/NumberFieldRoot.js +8 -5
  420. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  421. package/dist/NumberField/utils.cjs.map +1 -1
  422. package/dist/NumberField/utils.js +1 -1
  423. package/dist/NumberField/utils.js.map +1 -1
  424. package/dist/Pagination/PaginationList.cjs.map +1 -1
  425. package/dist/Pagination/PaginationList.js.map +1 -1
  426. package/dist/Pagination/PaginationRoot.cjs.map +1 -1
  427. package/dist/Pagination/PaginationRoot.js.map +1 -1
  428. package/dist/Pagination/utils.cjs.map +1 -1
  429. package/dist/Pagination/utils.js.map +1 -1
  430. package/dist/PinInput/PinInputInput.cjs +1 -1
  431. package/dist/PinInput/PinInputInput.cjs.map +1 -1
  432. package/dist/PinInput/PinInputInput.js +1 -1
  433. package/dist/PinInput/PinInputInput.js.map +1 -1
  434. package/dist/PinInput/PinInputRoot.cjs.map +1 -1
  435. package/dist/PinInput/PinInputRoot.js.map +1 -1
  436. package/dist/Popover/PopoverAnchor.cjs.map +1 -1
  437. package/dist/Popover/PopoverAnchor.js.map +1 -1
  438. package/dist/Popover/PopoverClose.cjs.map +1 -1
  439. package/dist/Popover/PopoverClose.js.map +1 -1
  440. package/dist/Popover/PopoverContent.cjs.map +1 -1
  441. package/dist/Popover/PopoverContent.js.map +1 -1
  442. package/dist/Popover/PopoverContentImpl.cjs +1 -1
  443. package/dist/Popover/PopoverContentImpl.cjs.map +1 -1
  444. package/dist/Popover/PopoverContentImpl.js +1 -1
  445. package/dist/Popover/PopoverContentImpl.js.map +1 -1
  446. package/dist/Popover/PopoverContentModal.cjs +1 -1
  447. package/dist/Popover/PopoverContentModal.cjs.map +1 -1
  448. package/dist/Popover/PopoverContentModal.js +1 -1
  449. package/dist/Popover/PopoverContentModal.js.map +1 -1
  450. package/dist/Popover/PopoverContentNonModal.cjs.map +1 -1
  451. package/dist/Popover/PopoverContentNonModal.js.map +1 -1
  452. package/dist/Popover/PopoverRoot.cjs.map +1 -1
  453. package/dist/Popover/PopoverRoot.js.map +1 -1
  454. package/dist/Popover/PopoverTrigger.cjs +1 -1
  455. package/dist/Popover/PopoverTrigger.cjs.map +1 -1
  456. package/dist/Popover/PopoverTrigger.js +1 -1
  457. package/dist/Popover/PopoverTrigger.js.map +1 -1
  458. package/dist/Popper/PopperAnchor.cjs.map +1 -1
  459. package/dist/Popper/PopperAnchor.js.map +1 -1
  460. package/dist/Popper/PopperArrow.cjs.map +1 -1
  461. package/dist/Popper/PopperArrow.js.map +1 -1
  462. package/dist/Popper/PopperContent.cjs +2 -2
  463. package/dist/Popper/PopperContent.cjs.map +1 -1
  464. package/dist/Popper/PopperContent.js +2 -2
  465. package/dist/Popper/PopperContent.js.map +1 -1
  466. package/dist/Popper/PopperRoot.cjs.map +1 -1
  467. package/dist/Popper/PopperRoot.js.map +1 -1
  468. package/dist/Presence/Presence.cjs +1 -1
  469. package/dist/Presence/Presence.cjs.map +1 -1
  470. package/dist/Presence/Presence.js +1 -1
  471. package/dist/Presence/Presence.js.map +1 -1
  472. package/dist/Presence/usePresence.cjs +2 -2
  473. package/dist/Presence/usePresence.cjs.map +1 -1
  474. package/dist/Presence/usePresence.js +2 -2
  475. package/dist/Presence/usePresence.js.map +1 -1
  476. package/dist/Primitive/Primitive.cjs.map +1 -1
  477. package/dist/Primitive/Primitive.js.map +1 -1
  478. package/dist/Primitive/Slot.cjs +1 -9
  479. package/dist/Primitive/Slot.cjs.map +1 -1
  480. package/dist/Primitive/Slot.js +1 -9
  481. package/dist/Primitive/Slot.js.map +1 -1
  482. package/dist/Primitive/usePrimitiveElement.cjs.map +1 -1
  483. package/dist/Primitive/usePrimitiveElement.js.map +1 -1
  484. package/dist/Progress/ProgressIndicator.cjs.map +1 -1
  485. package/dist/Progress/ProgressIndicator.js.map +1 -1
  486. package/dist/Progress/ProgressRoot.cjs +3 -2
  487. package/dist/Progress/ProgressRoot.cjs.map +1 -1
  488. package/dist/Progress/ProgressRoot.js +3 -2
  489. package/dist/Progress/ProgressRoot.js.map +1 -1
  490. package/dist/RadioGroup/Radio.cjs.map +1 -1
  491. package/dist/RadioGroup/Radio.js.map +1 -1
  492. package/dist/RadioGroup/RadioGroupIndicator.cjs.map +1 -1
  493. package/dist/RadioGroup/RadioGroupIndicator.js.map +1 -1
  494. package/dist/RadioGroup/RadioGroupItem.cjs +1 -1
  495. package/dist/RadioGroup/RadioGroupItem.cjs.map +1 -1
  496. package/dist/RadioGroup/RadioGroupItem.js +1 -1
  497. package/dist/RadioGroup/RadioGroupItem.js.map +1 -1
  498. package/dist/RadioGroup/RadioGroupRoot.cjs.map +1 -1
  499. package/dist/RadioGroup/RadioGroupRoot.js.map +1 -1
  500. package/dist/RadioGroup/utils.cjs.map +1 -1
  501. package/dist/RadioGroup/utils.js.map +1 -1
  502. package/dist/RangeCalendar/RangeCalendarCell.cjs +3 -3
  503. package/dist/RangeCalendar/RangeCalendarCell.cjs.map +1 -1
  504. package/dist/RangeCalendar/RangeCalendarCell.js +3 -3
  505. package/dist/RangeCalendar/RangeCalendarCell.js.map +1 -1
  506. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +28 -9
  507. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
  508. package/dist/RangeCalendar/RangeCalendarCellTrigger.js +28 -9
  509. package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
  510. package/dist/RangeCalendar/RangeCalendarHeading.cjs +1 -1
  511. package/dist/RangeCalendar/RangeCalendarHeading.cjs.map +1 -1
  512. package/dist/RangeCalendar/RangeCalendarHeading.js +1 -1
  513. package/dist/RangeCalendar/RangeCalendarHeading.js.map +1 -1
  514. package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
  515. package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
  516. package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
  517. package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
  518. package/dist/RangeCalendar/RangeCalendarRoot.cjs +32 -10
  519. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  520. package/dist/RangeCalendar/RangeCalendarRoot.js +32 -10
  521. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  522. package/dist/RangeCalendar/useRangeCalendar.cjs +26 -3
  523. package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
  524. package/dist/RangeCalendar/useRangeCalendar.js +26 -3
  525. package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
  526. package/dist/RovingFocus/RovingFocusGroup.cjs +1 -1
  527. package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
  528. package/dist/RovingFocus/RovingFocusGroup.js +1 -1
  529. package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
  530. package/dist/RovingFocus/RovingFocusItem.cjs +1 -1
  531. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  532. package/dist/RovingFocus/RovingFocusItem.js +1 -1
  533. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  534. package/dist/ScrollArea/ScrollAreaCorner.cjs.map +1 -1
  535. package/dist/ScrollArea/ScrollAreaCorner.js.map +1 -1
  536. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +1 -1
  537. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs.map +1 -1
  538. package/dist/ScrollArea/ScrollAreaCornerImpl.js +1 -1
  539. package/dist/ScrollArea/ScrollAreaCornerImpl.js.map +1 -1
  540. package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
  541. package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
  542. package/dist/ScrollArea/ScrollAreaScrollbar.cjs +1 -1
  543. package/dist/ScrollArea/ScrollAreaScrollbar.cjs.map +1 -1
  544. package/dist/ScrollArea/ScrollAreaScrollbar.js +1 -1
  545. package/dist/ScrollArea/ScrollAreaScrollbar.js.map +1 -1
  546. package/dist/ScrollArea/ScrollAreaScrollbarAuto.cjs.map +1 -1
  547. package/dist/ScrollArea/ScrollAreaScrollbarAuto.js.map +1 -1
  548. package/dist/ScrollArea/ScrollAreaScrollbarHover.cjs.map +1 -1
  549. package/dist/ScrollArea/ScrollAreaScrollbarHover.js.map +1 -1
  550. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
  551. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
  552. package/dist/ScrollArea/ScrollAreaScrollbarScroll.cjs.map +1 -1
  553. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js.map +1 -1
  554. package/dist/ScrollArea/ScrollAreaScrollbarVisible.cjs.map +1 -1
  555. package/dist/ScrollArea/ScrollAreaScrollbarVisible.js.map +1 -1
  556. package/dist/ScrollArea/ScrollAreaScrollbarX.cjs.map +1 -1
  557. package/dist/ScrollArea/ScrollAreaScrollbarX.js.map +1 -1
  558. package/dist/ScrollArea/ScrollAreaScrollbarY.cjs.map +1 -1
  559. package/dist/ScrollArea/ScrollAreaScrollbarY.js.map +1 -1
  560. package/dist/ScrollArea/ScrollAreaThumb.cjs.map +1 -1
  561. package/dist/ScrollArea/ScrollAreaThumb.js.map +1 -1
  562. package/dist/ScrollArea/ScrollAreaViewport.cjs +1 -1
  563. package/dist/ScrollArea/ScrollAreaViewport.cjs.map +1 -1
  564. package/dist/ScrollArea/ScrollAreaViewport.js +1 -1
  565. package/dist/ScrollArea/ScrollAreaViewport.js.map +1 -1
  566. package/dist/ScrollArea/utils.cjs.map +1 -1
  567. package/dist/ScrollArea/utils.js.map +1 -1
  568. package/dist/Select/SelectArrow.cjs +1 -1
  569. package/dist/Select/SelectArrow.cjs.map +1 -1
  570. package/dist/Select/SelectArrow.js +1 -1
  571. package/dist/Select/SelectArrow.js.map +1 -1
  572. package/dist/Select/SelectContent.cjs.map +1 -1
  573. package/dist/Select/SelectContent.js.map +1 -1
  574. package/dist/Select/SelectContentImpl.cjs +4 -4
  575. package/dist/Select/SelectContentImpl.cjs.map +1 -1
  576. package/dist/Select/SelectContentImpl.js +4 -4
  577. package/dist/Select/SelectContentImpl.js.map +1 -1
  578. package/dist/Select/SelectItem.cjs +1 -1
  579. package/dist/Select/SelectItem.cjs.map +1 -1
  580. package/dist/Select/SelectItem.js +1 -1
  581. package/dist/Select/SelectItem.js.map +1 -1
  582. package/dist/Select/SelectItemAlignedPosition.cjs +2 -2
  583. package/dist/Select/SelectItemAlignedPosition.cjs.map +1 -1
  584. package/dist/Select/SelectItemAlignedPosition.js +2 -2
  585. package/dist/Select/SelectItemAlignedPosition.js.map +1 -1
  586. package/dist/Select/SelectItemIndicator.cjs.map +1 -1
  587. package/dist/Select/SelectItemIndicator.js.map +1 -1
  588. package/dist/Select/SelectItemText.cjs.map +1 -1
  589. package/dist/Select/SelectItemText.js.map +1 -1
  590. package/dist/Select/SelectPopperPosition.cjs +1 -1
  591. package/dist/Select/SelectPopperPosition.cjs.map +1 -1
  592. package/dist/Select/SelectPopperPosition.js +1 -1
  593. package/dist/Select/SelectPopperPosition.js.map +1 -1
  594. package/dist/Select/SelectProvider.cjs.map +1 -1
  595. package/dist/Select/SelectProvider.js.map +1 -1
  596. package/dist/Select/SelectRoot.cjs +5 -3
  597. package/dist/Select/SelectRoot.cjs.map +1 -1
  598. package/dist/Select/SelectRoot.js +5 -3
  599. package/dist/Select/SelectRoot.js.map +1 -1
  600. package/dist/Select/SelectScrollButtonImpl.cjs.map +1 -1
  601. package/dist/Select/SelectScrollButtonImpl.js.map +1 -1
  602. package/dist/Select/SelectScrollDownButton.cjs +1 -1
  603. package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
  604. package/dist/Select/SelectScrollDownButton.js +1 -1
  605. package/dist/Select/SelectScrollDownButton.js.map +1 -1
  606. package/dist/Select/SelectTrigger.cjs +3 -3
  607. package/dist/Select/SelectTrigger.cjs.map +1 -1
  608. package/dist/Select/SelectTrigger.js +3 -3
  609. package/dist/Select/SelectTrigger.js.map +1 -1
  610. package/dist/Select/SelectValue.cjs +2 -1
  611. package/dist/Select/SelectValue.cjs.map +1 -1
  612. package/dist/Select/SelectValue.js +2 -1
  613. package/dist/Select/SelectValue.js.map +1 -1
  614. package/dist/Select/SelectViewport.cjs +1 -1
  615. package/dist/Select/SelectViewport.cjs.map +1 -1
  616. package/dist/Select/SelectViewport.js +1 -1
  617. package/dist/Select/SelectViewport.js.map +1 -1
  618. package/dist/Select/utils.cjs +4 -0
  619. package/dist/Select/utils.cjs.map +1 -1
  620. package/dist/Select/utils.js +4 -1
  621. package/dist/Select/utils.js.map +1 -1
  622. package/dist/Slider/SliderHorizontal.cjs +7 -4
  623. package/dist/Slider/SliderHorizontal.cjs.map +1 -1
  624. package/dist/Slider/SliderHorizontal.js +7 -4
  625. package/dist/Slider/SliderHorizontal.js.map +1 -1
  626. package/dist/Slider/SliderRange.cjs +2 -2
  627. package/dist/Slider/SliderRange.cjs.map +1 -1
  628. package/dist/Slider/SliderRange.js +2 -2
  629. package/dist/Slider/SliderRange.js.map +1 -1
  630. package/dist/Slider/SliderRoot.cjs +1 -1
  631. package/dist/Slider/SliderRoot.cjs.map +1 -1
  632. package/dist/Slider/SliderRoot.js +1 -1
  633. package/dist/Slider/SliderRoot.js.map +1 -1
  634. package/dist/Slider/SliderThumb.cjs +1 -1
  635. package/dist/Slider/SliderThumb.cjs.map +1 -1
  636. package/dist/Slider/SliderThumb.js +1 -1
  637. package/dist/Slider/SliderThumb.js.map +1 -1
  638. package/dist/Slider/SliderThumbImpl.cjs +2 -2
  639. package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
  640. package/dist/Slider/SliderThumbImpl.js +2 -2
  641. package/dist/Slider/SliderThumbImpl.js.map +1 -1
  642. package/dist/Slider/SliderVertical.cjs +7 -4
  643. package/dist/Slider/SliderVertical.cjs.map +1 -1
  644. package/dist/Slider/SliderVertical.js +7 -4
  645. package/dist/Slider/SliderVertical.js.map +1 -1
  646. package/dist/Slider/utils.cjs +1 -1
  647. package/dist/Slider/utils.cjs.map +1 -1
  648. package/dist/Slider/utils.js +1 -1
  649. package/dist/Slider/utils.js.map +1 -1
  650. package/dist/Splitter/SplitterGroup.cjs +5 -5
  651. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  652. package/dist/Splitter/SplitterGroup.js +5 -5
  653. package/dist/Splitter/SplitterGroup.js.map +1 -1
  654. package/dist/Splitter/SplitterPanel.cjs +16 -10
  655. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  656. package/dist/Splitter/SplitterPanel.js +16 -10
  657. package/dist/Splitter/SplitterPanel.js.map +1 -1
  658. package/dist/Splitter/SplitterResizeHandle.cjs +1 -1
  659. package/dist/Splitter/SplitterResizeHandle.cjs.map +1 -1
  660. package/dist/Splitter/SplitterResizeHandle.js +1 -1
  661. package/dist/Splitter/SplitterResizeHandle.js.map +1 -1
  662. package/dist/Stepper/StepperDescription.cjs +1 -1
  663. package/dist/Stepper/StepperDescription.cjs.map +1 -1
  664. package/dist/Stepper/StepperDescription.js +1 -1
  665. package/dist/Stepper/StepperDescription.js.map +1 -1
  666. package/dist/Stepper/StepperIndicator.cjs.map +1 -1
  667. package/dist/Stepper/StepperIndicator.js.map +1 -1
  668. package/dist/Stepper/StepperItem.cjs.map +1 -1
  669. package/dist/Stepper/StepperItem.js.map +1 -1
  670. package/dist/Stepper/StepperRoot.cjs +30 -3
  671. package/dist/Stepper/StepperRoot.cjs.map +1 -1
  672. package/dist/Stepper/StepperRoot.js +30 -3
  673. package/dist/Stepper/StepperRoot.js.map +1 -1
  674. package/dist/Stepper/StepperSeparator.cjs.map +1 -1
  675. package/dist/Stepper/StepperSeparator.js.map +1 -1
  676. package/dist/Stepper/StepperTitle.cjs.map +1 -1
  677. package/dist/Stepper/StepperTitle.js.map +1 -1
  678. package/dist/Stepper/StepperTrigger.cjs +1 -1
  679. package/dist/Stepper/StepperTrigger.cjs.map +1 -1
  680. package/dist/Stepper/StepperTrigger.js +1 -1
  681. package/dist/Stepper/StepperTrigger.js.map +1 -1
  682. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  683. package/dist/Switch/SwitchRoot.js.map +1 -1
  684. package/dist/Switch/SwitchThumb.cjs.map +1 -1
  685. package/dist/Switch/SwitchThumb.js.map +1 -1
  686. package/dist/Tabs/TabsContent.cjs +1 -1
  687. package/dist/Tabs/TabsContent.cjs.map +1 -1
  688. package/dist/Tabs/TabsContent.js +1 -1
  689. package/dist/Tabs/TabsContent.js.map +1 -1
  690. package/dist/Tabs/TabsIndicator.cjs.map +1 -1
  691. package/dist/Tabs/TabsIndicator.js.map +1 -1
  692. package/dist/Tabs/TabsList.cjs +1 -1
  693. package/dist/Tabs/TabsList.cjs.map +1 -1
  694. package/dist/Tabs/TabsList.js +1 -1
  695. package/dist/Tabs/TabsList.js.map +1 -1
  696. package/dist/Tabs/TabsRoot.cjs.map +1 -1
  697. package/dist/Tabs/TabsRoot.js.map +1 -1
  698. package/dist/Tabs/TabsTrigger.cjs.map +1 -1
  699. package/dist/Tabs/TabsTrigger.js.map +1 -1
  700. package/dist/TagsInput/TagsInputClear.cjs +1 -1
  701. package/dist/TagsInput/TagsInputClear.cjs.map +1 -1
  702. package/dist/TagsInput/TagsInputClear.js +1 -1
  703. package/dist/TagsInput/TagsInputClear.js.map +1 -1
  704. package/dist/TagsInput/TagsInputInput.cjs +2 -1
  705. package/dist/TagsInput/TagsInputInput.cjs.map +1 -1
  706. package/dist/TagsInput/TagsInputInput.js +2 -1
  707. package/dist/TagsInput/TagsInputInput.js.map +1 -1
  708. package/dist/TagsInput/TagsInputItem.cjs.map +1 -1
  709. package/dist/TagsInput/TagsInputItem.js.map +1 -1
  710. package/dist/TagsInput/TagsInputItemDelete.cjs +1 -1
  711. package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
  712. package/dist/TagsInput/TagsInputItemDelete.js +1 -1
  713. package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
  714. package/dist/TagsInput/TagsInputItemText.cjs +1 -1
  715. package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
  716. package/dist/TagsInput/TagsInputItemText.js +1 -1
  717. package/dist/TagsInput/TagsInputItemText.js.map +1 -1
  718. package/dist/TagsInput/TagsInputRoot.cjs +1 -1
  719. package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
  720. package/dist/TagsInput/TagsInputRoot.js +1 -1
  721. package/dist/TagsInput/TagsInputRoot.js.map +1 -1
  722. package/dist/TimeField/TimeFieldInput.cjs +1 -0
  723. package/dist/TimeField/TimeFieldInput.cjs.map +1 -1
  724. package/dist/TimeField/TimeFieldInput.js +1 -0
  725. package/dist/TimeField/TimeFieldInput.js.map +1 -1
  726. package/dist/TimeField/TimeFieldRoot.cjs +12 -3
  727. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  728. package/dist/TimeField/TimeFieldRoot.js +12 -3
  729. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  730. package/dist/Toast/ToastAnnounce.cjs +1 -1
  731. package/dist/Toast/ToastAnnounce.cjs.map +1 -1
  732. package/dist/Toast/ToastAnnounce.js +1 -1
  733. package/dist/Toast/ToastAnnounce.js.map +1 -1
  734. package/dist/Toast/ToastProvider.cjs.map +1 -1
  735. package/dist/Toast/ToastProvider.js.map +1 -1
  736. package/dist/Toast/ToastRoot.cjs +28 -20
  737. package/dist/Toast/ToastRoot.cjs.map +1 -1
  738. package/dist/Toast/ToastRoot.js +28 -20
  739. package/dist/Toast/ToastRoot.js.map +1 -1
  740. package/dist/Toast/ToastRootImpl.cjs +2 -2
  741. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  742. package/dist/Toast/ToastRootImpl.js +2 -2
  743. package/dist/Toast/ToastRootImpl.js.map +1 -1
  744. package/dist/Toast/ToastViewport.cjs +2 -2
  745. package/dist/Toast/ToastViewport.cjs.map +1 -1
  746. package/dist/Toast/ToastViewport.js +2 -2
  747. package/dist/Toast/ToastViewport.js.map +1 -1
  748. package/dist/Toggle/Toggle.cjs.map +1 -1
  749. package/dist/Toggle/Toggle.js.map +1 -1
  750. package/dist/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
  751. package/dist/ToggleGroup/ToggleGroupItem.js.map +1 -1
  752. package/dist/ToggleGroup/ToggleGroupRoot.cjs.map +1 -1
  753. package/dist/ToggleGroup/ToggleGroupRoot.js.map +1 -1
  754. package/dist/Toolbar/ToolbarSeparator.cjs +1 -1
  755. package/dist/Toolbar/ToolbarSeparator.js +1 -1
  756. package/dist/Toolbar/ToolbarToggleGroup.cjs +1 -1
  757. package/dist/Toolbar/ToolbarToggleGroup.cjs.map +1 -1
  758. package/dist/Toolbar/ToolbarToggleGroup.js +1 -1
  759. package/dist/Toolbar/ToolbarToggleGroup.js.map +1 -1
  760. package/dist/Toolbar/ToolbarToggleItem.cjs.map +1 -1
  761. package/dist/Toolbar/ToolbarToggleItem.js.map +1 -1
  762. package/dist/Tooltip/TooltipContent.cjs +1 -1
  763. package/dist/Tooltip/TooltipContent.cjs.map +1 -1
  764. package/dist/Tooltip/TooltipContent.js +1 -1
  765. package/dist/Tooltip/TooltipContent.js.map +1 -1
  766. package/dist/Tooltip/TooltipContentHoverable.cjs.map +1 -1
  767. package/dist/Tooltip/TooltipContentHoverable.js.map +1 -1
  768. package/dist/Tooltip/TooltipContentImpl.cjs +3 -3
  769. package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
  770. package/dist/Tooltip/TooltipContentImpl.js +3 -3
  771. package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
  772. package/dist/Tooltip/TooltipRoot.cjs.map +1 -1
  773. package/dist/Tooltip/TooltipRoot.js.map +1 -1
  774. package/dist/Tooltip/TooltipTrigger.cjs +4 -1
  775. package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
  776. package/dist/Tooltip/TooltipTrigger.js +4 -1
  777. package/dist/Tooltip/TooltipTrigger.js.map +1 -1
  778. package/dist/Tree/TreeItem.cjs +4 -1
  779. package/dist/Tree/TreeItem.cjs.map +1 -1
  780. package/dist/Tree/TreeItem.js +4 -1
  781. package/dist/Tree/TreeItem.js.map +1 -1
  782. package/dist/Tree/TreeRoot.cjs +28 -2
  783. package/dist/Tree/TreeRoot.cjs.map +1 -1
  784. package/dist/Tree/TreeRoot.js +28 -2
  785. package/dist/Tree/TreeRoot.js.map +1 -1
  786. package/dist/Tree/TreeVirtualizer.cjs +2 -2
  787. package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
  788. package/dist/Tree/TreeVirtualizer.js +2 -2
  789. package/dist/Tree/TreeVirtualizer.js.map +1 -1
  790. package/dist/Tree/utils.cjs.map +1 -1
  791. package/dist/Tree/utils.js.map +1 -1
  792. package/dist/Viewport/Viewport.cjs.map +1 -1
  793. package/dist/Viewport/Viewport.js.map +1 -1
  794. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs.map +1 -1
  795. package/dist/VisuallyHidden/VisuallyHiddenInput.js.map +1 -1
  796. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs.map +1 -1
  797. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js.map +1 -1
  798. package/dist/composables/useWindowSplitterBehavior.cjs.map +1 -1
  799. package/dist/composables/useWindowSplitterBehavior.js.map +1 -1
  800. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs +3 -3
  801. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs.map +1 -1
  802. package/dist/composables/useWindowSplitterPanelGroupBehavior.js +3 -3
  803. package/dist/composables/useWindowSplitterPanelGroupBehavior.js.map +1 -1
  804. package/dist/date/calendar.cjs +1 -1
  805. package/dist/date/calendar.cjs.map +1 -1
  806. package/dist/date/calendar.js +1 -1
  807. package/dist/date/calendar.js.map +1 -1
  808. package/dist/date/comparators.cjs +6 -4
  809. package/dist/date/comparators.cjs.map +1 -1
  810. package/dist/date/comparators.js +6 -4
  811. package/dist/date/comparators.js.map +1 -1
  812. package/dist/date/parser.cjs +22 -7
  813. package/dist/date/parser.cjs.map +1 -1
  814. package/dist/date/parser.js +23 -8
  815. package/dist/date/parser.js.map +1 -1
  816. package/dist/date/useDateField.cjs +21 -6
  817. package/dist/date/useDateField.cjs.map +1 -1
  818. package/dist/date/useDateField.js +21 -6
  819. package/dist/date/useDateField.js.map +1 -1
  820. package/dist/date/utils.cjs +37 -8
  821. package/dist/date/utils.cjs.map +1 -1
  822. package/dist/date/utils.js +36 -9
  823. package/dist/date/utils.js.map +1 -1
  824. package/dist/date.d.ts +2 -2
  825. package/dist/index.cjs +347 -347
  826. package/dist/index.cjs.map +1 -1
  827. package/dist/index.d.ts +1558 -1552
  828. package/dist/index.js +161 -161
  829. package/dist/index.js.map +1 -1
  830. package/dist/shared/createContext.cjs.map +1 -1
  831. package/dist/shared/createContext.js.map +1 -1
  832. package/dist/shared/renderSlotFragments.cjs.map +1 -1
  833. package/dist/shared/renderSlotFragments.js.map +1 -1
  834. package/dist/shared/useArrowNavigation.cjs.map +1 -1
  835. package/dist/shared/useArrowNavigation.js.map +1 -1
  836. package/dist/shared/useBodyScrollLock.cjs +3 -3
  837. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  838. package/dist/shared/useBodyScrollLock.js +3 -3
  839. package/dist/shared/useBodyScrollLock.js.map +1 -1
  840. package/dist/shared/useDateFormatter.cjs +12 -10
  841. package/dist/shared/useDateFormatter.cjs.map +1 -1
  842. package/dist/shared/useDateFormatter.js +12 -10
  843. package/dist/shared/useDateFormatter.js.map +1 -1
  844. package/dist/shared/useDirection.cjs.map +1 -1
  845. package/dist/shared/useDirection.js.map +1 -1
  846. package/dist/shared/useFilter.cjs.map +1 -1
  847. package/dist/shared/useFilter.js.map +1 -1
  848. package/dist/shared/useFormControl.cjs.map +1 -1
  849. package/dist/shared/useFormControl.js.map +1 -1
  850. package/dist/shared/useForwardExpose.cjs.map +1 -1
  851. package/dist/shared/useForwardExpose.js.map +1 -1
  852. package/dist/shared/useForwardProps.cjs +4 -2
  853. package/dist/shared/useForwardProps.cjs.map +1 -1
  854. package/dist/shared/useForwardProps.js +5 -3
  855. package/dist/shared/useForwardProps.js.map +1 -1
  856. package/dist/shared/useForwardPropsEmits.cjs.map +1 -1
  857. package/dist/shared/useForwardPropsEmits.js.map +1 -1
  858. package/dist/shared/useGraceArea.cjs +1 -1
  859. package/dist/shared/useGraceArea.cjs.map +1 -1
  860. package/dist/shared/useGraceArea.js +1 -1
  861. package/dist/shared/useGraceArea.js.map +1 -1
  862. package/dist/shared/useHideOthers.cjs.map +1 -1
  863. package/dist/shared/useHideOthers.js.map +1 -1
  864. package/dist/shared/useId.cjs +2 -2
  865. package/dist/shared/useId.cjs.map +1 -1
  866. package/dist/shared/useId.js +2 -2
  867. package/dist/shared/useId.js.map +1 -1
  868. package/dist/shared/useLocale.cjs.map +1 -1
  869. package/dist/shared/useLocale.js.map +1 -1
  870. package/dist/shared/useNonce.cjs.map +1 -1
  871. package/dist/shared/useNonce.js.map +1 -1
  872. package/dist/shared/useSelectionBehavior.cjs +2 -2
  873. package/dist/shared/useSelectionBehavior.cjs.map +1 -1
  874. package/dist/shared/useSelectionBehavior.js +2 -2
  875. package/dist/shared/useSelectionBehavior.js.map +1 -1
  876. package/dist/shared/useSingleOrMultipleValue.cjs +1 -1
  877. package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
  878. package/dist/shared/useSingleOrMultipleValue.js +1 -1
  879. package/dist/shared/useSingleOrMultipleValue.js.map +1 -1
  880. package/dist/shared/useSize.cjs.map +1 -1
  881. package/dist/shared/useSize.js.map +1 -1
  882. package/dist/shared/useStateMachine.cjs.map +1 -1
  883. package/dist/shared/useStateMachine.js.map +1 -1
  884. package/dist/shared/withDefault.cjs.map +1 -1
  885. package/dist/shared/withDefault.js.map +1 -1
  886. package/dist/utils/calculate.cjs +1 -1
  887. package/dist/utils/calculate.cjs.map +1 -1
  888. package/dist/utils/calculate.js +1 -1
  889. package/dist/utils/calculate.js.map +1 -1
  890. package/dist/utils/dom.cjs.map +1 -1
  891. package/dist/utils/dom.js.map +1 -1
  892. package/dist/utils/registry.cjs +1 -1
  893. package/dist/utils/registry.cjs.map +1 -1
  894. package/dist/utils/registry.js +1 -1
  895. package/dist/utils/registry.js.map +1 -1
  896. package/dist/utils/resizePanel.cjs +1 -1
  897. package/dist/utils/resizePanel.cjs.map +1 -1
  898. package/dist/utils/resizePanel.js +1 -1
  899. package/dist/utils/resizePanel.js.map +1 -1
  900. package/dist/utils/style.cjs.map +1 -1
  901. package/dist/utils/style.js.map +1 -1
  902. package/package.json +7 -8
@@ -1 +1 @@
1
- {"version":3,"file":"withDefault.js","sources":["../../src/shared/withDefault.ts"],"sourcesContent":["import { h, mergeProps } from 'vue'\nimport type { ComponentOptionsBase, DefineComponent, VNodeProps } from 'vue'\nimport type { ComponentProps } from 'vue-component-type-helpers'\nimport { useForwardExpose } from './useForwardExpose'\n\n// TODO: TEST\n\n// From vue next\n// https://github.com/vuejs/core/blob/1f2a652a9d2e3bec472fb1786a4c16d6ccfa1fb1/packages/runtime-core/src/h.ts#L53-L58\ntype RawProps = VNodeProps & {\n // used to differ from a single VNode object as children\n __v_isVNode?: never\n // used to differ from Array children\n [Symbol.iterator]?: never\n} & Record<string, any>\n\n// types inspired from vue-test-utils\n// https://github.com/vuejs/test-utils/blob/main/src/mount.ts#L36\ninterface MountingOptions<Props> {\n /**\n * Default props for the component\n */\n props?: (RawProps & Props) | ({} extends Props ? null : never) | ((attrs: Record<string, any>) => (RawProps & Props))\n /**\n * Pass attributes into the component\n */\n attrs?: Record<string, unknown>\n}\n\nexport function withDefault<\n T,\n C = T extends ((...args: any) => any) | (new (...args: any) => any)\n ? T\n : T extends { props?: infer Props }\n ? DefineComponent<\n Props extends Readonly<(infer PropNames)[]> | (infer PropNames)[]\n ? { [key in PropNames extends string ? PropNames : string]?: any }\n : Props\n >\n : DefineComponent,\n P extends ComponentProps<C> = ComponentProps<C>,\n>(\n originalComponent: T,\n options?: MountingOptions<P>\n): T\n\nexport function withDefault<T extends ComponentOptionsBase<{}, {}, {}, any, any, any, any, any>>(WrappedComponent: T, options?: MountingOptions<any>) {\n return ({\n inheritAttrs: false,\n name: `${WrappedComponent.__name ?? ''}Wrapper`,\n setup(_, ctx) {\n return () => {\n const optionProps = typeof options?.props === 'function' ? options?.props(ctx.attrs) : options?.props\n const { forwardRef } = useForwardExpose()\n\n const mergedProps = mergeProps(optionProps, ctx.attrs)\n return h(WrappedComponent, { ...mergedProps, ref: forwardRef }, ctx.slots)\n }\n },\n }) as T\n}\n"],"names":[],"mappings":";;;AA8CgB,SAAA,WAAA,CAAiF,kBAAqB,OAAgC,EAAA;AACpJ,EAAQ,OAAA;AAAA,IACN,YAAc,EAAA,KAAA;AAAA,IACd,IAAM,EAAA,CAAA,EAAG,gBAAiB,CAAA,MAAA,IAAU,EAAE,CAAA,OAAA,CAAA;AAAA,IACtC,KAAA,CAAM,GAAG,GAAK,EAAA;AACZ,MAAA,OAAO,MAAM;AACX,QAAM,MAAA,WAAA,GAAc,OAAO,OAAA,EAAS,KAAU,KAAA,UAAA,GAAa,SAAS,KAAM,CAAA,GAAA,CAAI,KAAK,CAAA,GAAI,OAAS,EAAA,KAAA;AAChG,QAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,QAAA,MAAM,WAAc,GAAA,UAAA,CAAW,WAAa,EAAA,GAAA,CAAI,KAAK,CAAA;AACrD,QAAO,OAAA,CAAA,CAAE,kBAAkB,EAAE,GAAG,aAAa,GAAK,EAAA,UAAA,EAAc,EAAA,GAAA,CAAI,KAAK,CAAA;AAAA,OAC3E;AAAA;AACF,GACF;AACF;;;;"}
1
+ {"version":3,"file":"withDefault.js","sources":["../../src/shared/withDefault.ts"],"sourcesContent":["import type { ComponentOptionsBase, DefineComponent, VNodeProps } from 'vue'\nimport type { ComponentProps } from 'vue-component-type-helpers'\nimport { h, mergeProps } from 'vue'\nimport { useForwardExpose } from './useForwardExpose'\n\n// TODO: TEST\n\n// From vue next\n// https://github.com/vuejs/core/blob/1f2a652a9d2e3bec472fb1786a4c16d6ccfa1fb1/packages/runtime-core/src/h.ts#L53-L58\ntype RawProps = VNodeProps & {\n // used to differ from a single VNode object as children\n __v_isVNode?: never\n // used to differ from Array children\n [Symbol.iterator]?: never\n} & Record<string, any>\n\n// types inspired from vue-test-utils\n// https://github.com/vuejs/test-utils/blob/main/src/mount.ts#L36\ninterface MountingOptions<Props> {\n /**\n * Default props for the component\n */\n props?: (RawProps & Props) | ({} extends Props ? null : never) | ((attrs: Record<string, any>) => (RawProps & Props))\n /**\n * Pass attributes into the component\n */\n attrs?: Record<string, unknown>\n}\n\nexport function withDefault<\n T,\n C = T extends ((...args: any) => any) | (new (...args: any) => any)\n ? T\n : T extends { props?: infer Props }\n ? DefineComponent<\n Props extends Readonly<(infer PropNames)[]> | (infer PropNames)[]\n ? { [key in PropNames extends string ? PropNames : string]?: any }\n : Props\n >\n : DefineComponent,\n P extends ComponentProps<C> = ComponentProps<C>,\n>(\n originalComponent: T,\n options?: MountingOptions<P>\n): T\n\nexport function withDefault<T extends ComponentOptionsBase<{}, {}, {}, any, any, any, any, any>>(WrappedComponent: T, options?: MountingOptions<any>) {\n return ({\n inheritAttrs: false,\n name: `${WrappedComponent.__name ?? ''}Wrapper`,\n setup(_, ctx) {\n return () => {\n const optionProps = typeof options?.props === 'function' ? options?.props(ctx.attrs) : options?.props\n const { forwardRef } = useForwardExpose()\n\n const mergedProps = mergeProps(optionProps, ctx.attrs)\n return h(WrappedComponent, { ...mergedProps, ref: forwardRef }, ctx.slots)\n }\n },\n }) as T\n}\n"],"names":[],"mappings":";;;AA8CgB,SAAA,WAAA,CAAiF,kBAAqB,OAAgC,EAAA;AACpJ,EAAQ,OAAA;AAAA,IACN,YAAc,EAAA,KAAA;AAAA,IACd,IAAM,EAAA,CAAA,EAAG,gBAAiB,CAAA,MAAA,IAAU,EAAE,CAAA,OAAA,CAAA;AAAA,IACtC,KAAA,CAAM,GAAG,GAAK,EAAA;AACZ,MAAA,OAAO,MAAM;AACX,QAAM,MAAA,WAAA,GAAc,OAAO,OAAA,EAAS,KAAU,KAAA,UAAA,GAAa,SAAS,KAAM,CAAA,GAAA,CAAI,KAAK,CAAA,GAAI,OAAS,EAAA,KAAA;AAChG,QAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,QAAA,MAAM,WAAc,GAAA,UAAA,CAAW,WAAa,EAAA,GAAA,CAAI,KAAK,CAAA;AACrD,QAAO,OAAA,CAAA,CAAE,kBAAkB,EAAE,GAAG,aAAa,GAAK,EAAA,UAAA,EAAc,EAAA,GAAA,CAAI,KAAK,CAAA;AAAA,OAC3E;AAAA;AACF,GACF;AACF;;;;"}
@@ -96,7 +96,7 @@ function calculateAriaValues({
96
96
  function calculateUnsafeDefaultLayout({
97
97
  panelDataArray
98
98
  }) {
99
- const layout = Array(panelDataArray.length);
99
+ const layout = Array.from({ length: panelDataArray.length });
100
100
  const panelConstraintsArray = panelDataArray.map(
101
101
  (panelData) => panelData.constraints
102
102
  );
@@ -1 +1 @@
1
- {"version":3,"file":"calculate.cjs","sources":["../../src/Splitter/utils/calculate.ts"],"sourcesContent":["import type { Direction, DragState, ResizeEvent } from './types'\nimport { assert } from './assert'\nimport { getPanelGroupElement, getResizeHandleElement } from './dom'\nimport { getResizeEventCursorPosition, isKeyDown } from './events'\nimport type { PanelData } from '../SplitterPanel.vue'\n\nexport function calculateDragOffsetPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState,\n panelGroupElement: HTMLElement,\n): number {\n const isHorizontal = direction === 'horizontal'\n\n const handleElement = getResizeHandleElement(dragHandleId, panelGroupElement)\n assert(handleElement)\n\n const groupId = handleElement.getAttribute('data-panel-group-id')\n assert(groupId)\n\n const { initialCursorPosition } = initialDragState\n\n const cursorPosition = getResizeEventCursorPosition(direction, event)\n\n const groupElement = getPanelGroupElement(groupId, panelGroupElement)\n assert(groupElement)\n\n const groupRect = groupElement.getBoundingClientRect()\n const groupSizeInPixels = isHorizontal ? groupRect.width : groupRect.height\n\n const offsetPixels = cursorPosition - initialCursorPosition\n const offsetPercentage = (offsetPixels / groupSizeInPixels) * 100\n\n return offsetPercentage\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX\nexport function calculateDeltaPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState | null,\n keyboardResizeBy: number | null,\n panelGroupElement: HTMLElement,\n): number {\n if (isKeyDown(event)) {\n const isHorizontal = direction === 'horizontal'\n\n let delta = 0\n if (event.shiftKey)\n delta = 100\n else\n delta = keyboardResizeBy ?? 10\n\n let movement = 0\n switch (event.key) {\n case 'ArrowDown':\n movement = isHorizontal ? 0 : delta\n break\n case 'ArrowLeft':\n movement = isHorizontal ? -delta : 0\n break\n case 'ArrowRight':\n movement = isHorizontal ? delta : 0\n break\n case 'ArrowUp':\n movement = isHorizontal ? 0 : -delta\n break\n case 'End':\n movement = 100\n break\n case 'Home':\n movement = -100\n break\n }\n\n return movement\n }\n else {\n if (initialDragState == null)\n return 0\n\n return calculateDragOffsetPercentage(\n event,\n dragHandleId,\n direction,\n initialDragState,\n panelGroupElement,\n )\n }\n}\n\nexport function calculateAriaValues({\n layout,\n panelsArray,\n pivotIndices,\n}: {\n layout: number[]\n panelsArray: PanelData[]\n pivotIndices: number[]\n}) {\n let currentMinSize = 0\n let currentMaxSize = 100\n let totalMinSize = 0\n let totalMaxSize = 0\n\n const firstIndex = pivotIndices[0]\n assert(firstIndex != null)\n\n // A panel's effective min/max sizes also need to account for other panel's sizes.\n panelsArray.forEach((panelData, index) => {\n const { constraints } = panelData\n const { maxSize = 100, minSize = 0 } = constraints\n\n if (index === firstIndex) {\n currentMinSize = minSize\n currentMaxSize = maxSize\n }\n else {\n totalMinSize += minSize\n totalMaxSize += maxSize\n }\n })\n\n const valueMax = Math.min(currentMaxSize, 100 - totalMinSize)\n const valueMin = Math.max(currentMinSize, 100 - totalMaxSize)\n\n const valueNow = layout[firstIndex]\n\n return {\n valueMax,\n valueMin,\n valueNow,\n }\n}\n\nexport function calculateUnsafeDefaultLayout({\n panelDataArray,\n}: {\n panelDataArray: PanelData[]\n}): number[] {\n const layout = Array<number>(panelDataArray.length)\n\n const panelConstraintsArray = panelDataArray.map(\n panelData => panelData.constraints,\n )\n\n let numPanelsWithSizes = 0\n let remainingSize = 100\n\n // Distribute default sizes first\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null) {\n numPanelsWithSizes++\n layout[index] = defaultSize\n remainingSize -= defaultSize\n }\n }\n\n // Remaining size should be distributed evenly between panels without default sizes\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null)\n continue\n\n const numRemainingPanels = panelDataArray.length - numPanelsWithSizes\n const size = remainingSize / numRemainingPanels\n\n numPanelsWithSizes++\n layout[index] = size\n remainingSize -= size\n }\n\n return layout\n}\n"],"names":["getResizeHandleElement","assert","getResizeEventCursorPosition","getPanelGroupElement","isKeyDown"],"mappings":"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"}
1
+ {"version":3,"file":"calculate.cjs","sources":["../../src/Splitter/utils/calculate.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport type { Direction, DragState, ResizeEvent } from './types'\nimport { assert } from './assert'\nimport { getPanelGroupElement, getResizeHandleElement } from './dom'\nimport { getResizeEventCursorPosition, isKeyDown } from './events'\n\nexport function calculateDragOffsetPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState,\n panelGroupElement: HTMLElement,\n): number {\n const isHorizontal = direction === 'horizontal'\n\n const handleElement = getResizeHandleElement(dragHandleId, panelGroupElement)\n assert(handleElement)\n\n const groupId = handleElement.getAttribute('data-panel-group-id')\n assert(groupId)\n\n const { initialCursorPosition } = initialDragState\n\n const cursorPosition = getResizeEventCursorPosition(direction, event)\n\n const groupElement = getPanelGroupElement(groupId, panelGroupElement)\n assert(groupElement)\n\n const groupRect = groupElement.getBoundingClientRect()\n const groupSizeInPixels = isHorizontal ? groupRect.width : groupRect.height\n\n const offsetPixels = cursorPosition - initialCursorPosition\n const offsetPercentage = (offsetPixels / groupSizeInPixels) * 100\n\n return offsetPercentage\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX\nexport function calculateDeltaPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState | null,\n keyboardResizeBy: number | null,\n panelGroupElement: HTMLElement,\n): number {\n if (isKeyDown(event)) {\n const isHorizontal = direction === 'horizontal'\n\n let delta = 0\n if (event.shiftKey)\n delta = 100\n else\n delta = keyboardResizeBy ?? 10\n\n let movement = 0\n switch (event.key) {\n case 'ArrowDown':\n movement = isHorizontal ? 0 : delta\n break\n case 'ArrowLeft':\n movement = isHorizontal ? -delta : 0\n break\n case 'ArrowRight':\n movement = isHorizontal ? delta : 0\n break\n case 'ArrowUp':\n movement = isHorizontal ? 0 : -delta\n break\n case 'End':\n movement = 100\n break\n case 'Home':\n movement = -100\n break\n }\n\n return movement\n }\n else {\n if (initialDragState == null)\n return 0\n\n return calculateDragOffsetPercentage(\n event,\n dragHandleId,\n direction,\n initialDragState,\n panelGroupElement,\n )\n }\n}\n\nexport function calculateAriaValues({\n layout,\n panelsArray,\n pivotIndices,\n}: {\n layout: number[]\n panelsArray: PanelData[]\n pivotIndices: number[]\n}) {\n let currentMinSize = 0\n let currentMaxSize = 100\n let totalMinSize = 0\n let totalMaxSize = 0\n\n const firstIndex = pivotIndices[0]\n assert(firstIndex != null)\n\n // A panel's effective min/max sizes also need to account for other panel's sizes.\n panelsArray.forEach((panelData, index) => {\n const { constraints } = panelData\n const { maxSize = 100, minSize = 0 } = constraints\n\n if (index === firstIndex) {\n currentMinSize = minSize\n currentMaxSize = maxSize\n }\n else {\n totalMinSize += minSize\n totalMaxSize += maxSize\n }\n })\n\n const valueMax = Math.min(currentMaxSize, 100 - totalMinSize)\n const valueMin = Math.max(currentMinSize, 100 - totalMaxSize)\n\n const valueNow = layout[firstIndex]\n\n return {\n valueMax,\n valueMin,\n valueNow,\n }\n}\n\nexport function calculateUnsafeDefaultLayout({\n panelDataArray,\n}: {\n panelDataArray: PanelData[]\n}): number[] {\n const layout: number[] = Array.from({ length: panelDataArray.length })\n\n const panelConstraintsArray = panelDataArray.map(\n panelData => panelData.constraints,\n )\n\n let numPanelsWithSizes = 0\n let remainingSize = 100\n\n // Distribute default sizes first\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null) {\n numPanelsWithSizes++\n layout[index] = defaultSize\n remainingSize -= defaultSize\n }\n }\n\n // Remaining size should be distributed evenly between panels without default sizes\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null)\n continue\n\n const numRemainingPanels = panelDataArray.length - numPanelsWithSizes\n const size = remainingSize / numRemainingPanels\n\n numPanelsWithSizes++\n layout[index] = size\n remainingSize -= size\n }\n\n return layout\n}\n"],"names":["getResizeHandleElement","assert","getResizeEventCursorPosition","getPanelGroupElement","isKeyDown"],"mappings":"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"}
@@ -94,7 +94,7 @@ function calculateAriaValues({
94
94
  function calculateUnsafeDefaultLayout({
95
95
  panelDataArray
96
96
  }) {
97
- const layout = Array(panelDataArray.length);
97
+ const layout = Array.from({ length: panelDataArray.length });
98
98
  const panelConstraintsArray = panelDataArray.map(
99
99
  (panelData) => panelData.constraints
100
100
  );
@@ -1 +1 @@
1
- {"version":3,"file":"calculate.js","sources":["../../src/Splitter/utils/calculate.ts"],"sourcesContent":["import type { Direction, DragState, ResizeEvent } from './types'\nimport { assert } from './assert'\nimport { getPanelGroupElement, getResizeHandleElement } from './dom'\nimport { getResizeEventCursorPosition, isKeyDown } from './events'\nimport type { PanelData } from '../SplitterPanel.vue'\n\nexport function calculateDragOffsetPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState,\n panelGroupElement: HTMLElement,\n): number {\n const isHorizontal = direction === 'horizontal'\n\n const handleElement = getResizeHandleElement(dragHandleId, panelGroupElement)\n assert(handleElement)\n\n const groupId = handleElement.getAttribute('data-panel-group-id')\n assert(groupId)\n\n const { initialCursorPosition } = initialDragState\n\n const cursorPosition = getResizeEventCursorPosition(direction, event)\n\n const groupElement = getPanelGroupElement(groupId, panelGroupElement)\n assert(groupElement)\n\n const groupRect = groupElement.getBoundingClientRect()\n const groupSizeInPixels = isHorizontal ? groupRect.width : groupRect.height\n\n const offsetPixels = cursorPosition - initialCursorPosition\n const offsetPercentage = (offsetPixels / groupSizeInPixels) * 100\n\n return offsetPercentage\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX\nexport function calculateDeltaPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState | null,\n keyboardResizeBy: number | null,\n panelGroupElement: HTMLElement,\n): number {\n if (isKeyDown(event)) {\n const isHorizontal = direction === 'horizontal'\n\n let delta = 0\n if (event.shiftKey)\n delta = 100\n else\n delta = keyboardResizeBy ?? 10\n\n let movement = 0\n switch (event.key) {\n case 'ArrowDown':\n movement = isHorizontal ? 0 : delta\n break\n case 'ArrowLeft':\n movement = isHorizontal ? -delta : 0\n break\n case 'ArrowRight':\n movement = isHorizontal ? delta : 0\n break\n case 'ArrowUp':\n movement = isHorizontal ? 0 : -delta\n break\n case 'End':\n movement = 100\n break\n case 'Home':\n movement = -100\n break\n }\n\n return movement\n }\n else {\n if (initialDragState == null)\n return 0\n\n return calculateDragOffsetPercentage(\n event,\n dragHandleId,\n direction,\n initialDragState,\n panelGroupElement,\n )\n }\n}\n\nexport function calculateAriaValues({\n layout,\n panelsArray,\n pivotIndices,\n}: {\n layout: number[]\n panelsArray: PanelData[]\n pivotIndices: number[]\n}) {\n let currentMinSize = 0\n let currentMaxSize = 100\n let totalMinSize = 0\n let totalMaxSize = 0\n\n const firstIndex = pivotIndices[0]\n assert(firstIndex != null)\n\n // A panel's effective min/max sizes also need to account for other panel's sizes.\n panelsArray.forEach((panelData, index) => {\n const { constraints } = panelData\n const { maxSize = 100, minSize = 0 } = constraints\n\n if (index === firstIndex) {\n currentMinSize = minSize\n currentMaxSize = maxSize\n }\n else {\n totalMinSize += minSize\n totalMaxSize += maxSize\n }\n })\n\n const valueMax = Math.min(currentMaxSize, 100 - totalMinSize)\n const valueMin = Math.max(currentMinSize, 100 - totalMaxSize)\n\n const valueNow = layout[firstIndex]\n\n return {\n valueMax,\n valueMin,\n valueNow,\n }\n}\n\nexport function calculateUnsafeDefaultLayout({\n panelDataArray,\n}: {\n panelDataArray: PanelData[]\n}): number[] {\n const layout = Array<number>(panelDataArray.length)\n\n const panelConstraintsArray = panelDataArray.map(\n panelData => panelData.constraints,\n )\n\n let numPanelsWithSizes = 0\n let remainingSize = 100\n\n // Distribute default sizes first\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null) {\n numPanelsWithSizes++\n layout[index] = defaultSize\n remainingSize -= defaultSize\n }\n }\n\n // Remaining size should be distributed evenly between panels without default sizes\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null)\n continue\n\n const numRemainingPanels = panelDataArray.length - numPanelsWithSizes\n const size = remainingSize / numRemainingPanels\n\n numPanelsWithSizes++\n layout[index] = size\n remainingSize -= size\n }\n\n return layout\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculate.js","sources":["../../src/Splitter/utils/calculate.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport type { Direction, DragState, ResizeEvent } from './types'\nimport { assert } from './assert'\nimport { getPanelGroupElement, getResizeHandleElement } from './dom'\nimport { getResizeEventCursorPosition, isKeyDown } from './events'\n\nexport function calculateDragOffsetPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState,\n panelGroupElement: HTMLElement,\n): number {\n const isHorizontal = direction === 'horizontal'\n\n const handleElement = getResizeHandleElement(dragHandleId, panelGroupElement)\n assert(handleElement)\n\n const groupId = handleElement.getAttribute('data-panel-group-id')\n assert(groupId)\n\n const { initialCursorPosition } = initialDragState\n\n const cursorPosition = getResizeEventCursorPosition(direction, event)\n\n const groupElement = getPanelGroupElement(groupId, panelGroupElement)\n assert(groupElement)\n\n const groupRect = groupElement.getBoundingClientRect()\n const groupSizeInPixels = isHorizontal ? groupRect.width : groupRect.height\n\n const offsetPixels = cursorPosition - initialCursorPosition\n const offsetPercentage = (offsetPixels / groupSizeInPixels) * 100\n\n return offsetPercentage\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX\nexport function calculateDeltaPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState | null,\n keyboardResizeBy: number | null,\n panelGroupElement: HTMLElement,\n): number {\n if (isKeyDown(event)) {\n const isHorizontal = direction === 'horizontal'\n\n let delta = 0\n if (event.shiftKey)\n delta = 100\n else\n delta = keyboardResizeBy ?? 10\n\n let movement = 0\n switch (event.key) {\n case 'ArrowDown':\n movement = isHorizontal ? 0 : delta\n break\n case 'ArrowLeft':\n movement = isHorizontal ? -delta : 0\n break\n case 'ArrowRight':\n movement = isHorizontal ? delta : 0\n break\n case 'ArrowUp':\n movement = isHorizontal ? 0 : -delta\n break\n case 'End':\n movement = 100\n break\n case 'Home':\n movement = -100\n break\n }\n\n return movement\n }\n else {\n if (initialDragState == null)\n return 0\n\n return calculateDragOffsetPercentage(\n event,\n dragHandleId,\n direction,\n initialDragState,\n panelGroupElement,\n )\n }\n}\n\nexport function calculateAriaValues({\n layout,\n panelsArray,\n pivotIndices,\n}: {\n layout: number[]\n panelsArray: PanelData[]\n pivotIndices: number[]\n}) {\n let currentMinSize = 0\n let currentMaxSize = 100\n let totalMinSize = 0\n let totalMaxSize = 0\n\n const firstIndex = pivotIndices[0]\n assert(firstIndex != null)\n\n // A panel's effective min/max sizes also need to account for other panel's sizes.\n panelsArray.forEach((panelData, index) => {\n const { constraints } = panelData\n const { maxSize = 100, minSize = 0 } = constraints\n\n if (index === firstIndex) {\n currentMinSize = minSize\n currentMaxSize = maxSize\n }\n else {\n totalMinSize += minSize\n totalMaxSize += maxSize\n }\n })\n\n const valueMax = Math.min(currentMaxSize, 100 - totalMinSize)\n const valueMin = Math.max(currentMinSize, 100 - totalMaxSize)\n\n const valueNow = layout[firstIndex]\n\n return {\n valueMax,\n valueMin,\n valueNow,\n }\n}\n\nexport function calculateUnsafeDefaultLayout({\n panelDataArray,\n}: {\n panelDataArray: PanelData[]\n}): number[] {\n const layout: number[] = Array.from({ length: panelDataArray.length })\n\n const panelConstraintsArray = panelDataArray.map(\n panelData => panelData.constraints,\n )\n\n let numPanelsWithSizes = 0\n let remainingSize = 100\n\n // Distribute default sizes first\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null) {\n numPanelsWithSizes++\n layout[index] = defaultSize\n remainingSize -= defaultSize\n }\n }\n\n // Remaining size should be distributed evenly between panels without default sizes\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null)\n continue\n\n const numRemainingPanels = panelDataArray.length - numPanelsWithSizes\n const size = remainingSize / numRemainingPanels\n\n numPanelsWithSizes++\n layout[index] = size\n remainingSize -= size\n }\n\n return layout\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dom.cjs","sources":["../../src/Splitter/utils/dom.ts"],"sourcesContent":["import { isBrowser } from '@/shared'\nimport type { PanelData } from '../SplitterPanel.vue'\n\nexport function getPanelElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getPanelElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(`[data-panel][data-panel-group-id=\"${groupId}\"]`),\n )\n}\n\nexport function getPanelGroupElement(\n id: string,\n rootElement: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n // If the root element is the PanelGroup\n if (\n rootElement instanceof HTMLElement\n && (rootElement as HTMLElement)?.dataset?.panelGroupId === id\n ) {\n return rootElement as HTMLElement\n }\n\n // Else query children\n const element = rootElement.querySelector(\n `[data-panel-group][data-panel-group-id=\"${id}\"]`,\n )\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-resize-handle-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElementIndex(\n groupId: string,\n id: string,\n scope: ParentNode | HTMLElement = document,\n): number | null {\n if (!isBrowser)\n return null\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handles.findIndex(\n handle => handle.getAttribute('data-panel-resize-handle-id') === id,\n )\n return index ?? null\n}\n\nexport function getResizeHandleElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(\n `[data-panel-resize-handle-id][data-panel-group-id=\"${groupId}\"]`,\n ),\n )\n}\n\nexport function getResizeHandlePanelIds(\n groupId: string,\n handleId: string,\n panelsArray: PanelData[],\n scope: ParentNode | HTMLElement = document,\n): [idBefore: string | null, idAfter: string | null] {\n const handle = getResizeHandleElement(handleId, scope)\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handle ? handles.indexOf(handle) : -1\n\n const idBefore: string | null = panelsArray[index]?.id ?? null\n const idAfter: string | null = panelsArray[index + 1]?.id ?? null\n\n return [idBefore, idAfter]\n}\n"],"names":["isBrowser"],"mappings":";;;;AA2BgB,SAAA,oBAAA,CACd,EACA,EAAA,WAAA,GAAwC,QACpB,EAAA;AACpB,EAAA,IAAI,CAACA,wBAAA;AACH,IAAO,OAAA,IAAA;AAET,EAAA,IACE,WAAuB,YAAA,WAAA,IACnB,WAA6B,EAAA,OAAA,EAAS,iBAAiB,EAC3D,EAAA;AACA,IAAO,OAAA,WAAA;AAAA;AAIT,EAAA,MAAM,UAAU,WAAY,CAAA,aAAA;AAAA,IAC1B,2CAA2C,EAAE,CAAA,EAAA;AAAA,GAC/C;AACA,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEgB,SAAA,sBAAA,CACd,EACA,EAAA,KAAA,GAAkC,QACd,EAAA;AACpB,EAAA,IAAI,CAACA,wBAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAA,MAAM,OAAU,GAAA,KAAA,CAAM,aAAc,CAAA,CAAA,8BAAA,EAAiC,EAAE,CAAI,EAAA,CAAA,CAAA;AAC3E,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEO,SAAS,2BACd,CAAA,OAAA,EACA,EACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAACA,wBAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,QAAQ,OAAQ,CAAA,SAAA;AAAA,IACpB,CAAU,MAAA,KAAA,MAAA,CAAO,YAAa,CAAA,6BAA6B,CAAM,KAAA;AAAA,GACnE;AACA,EAAA,OAAO,KAAS,IAAA,IAAA;AAClB;AAEgB,SAAA,+BAAA,CACd,OACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAACA,wBAAA;AACH,IAAA,OAAO,EAAC;AACV,EAAA,OAAO,KAAM,CAAA,IAAA;AAAA,IACX,KAAM,CAAA,gBAAA;AAAA,MACJ,sDAAsD,OAAO,CAAA,EAAA;AAAA;AAC/D,GACF;AACF;AAEO,SAAS,uBACd,CAAA,OAAA,EACA,QACA,EAAA,WAAA,EACA,QAAkC,QACiB,EAAA;AACnD,EAAM,MAAA,MAAA,GAAS,sBAAuB,CAAA,QAAA,EAAU,KAAK,CAAA;AACrD,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,KAAQ,GAAA,MAAA,GAAS,OAAQ,CAAA,OAAA,CAAQ,MAAM,CAAI,GAAA,EAAA;AAEjD,EAAA,MAAM,QAA0B,GAAA,WAAA,CAAY,KAAK,CAAA,EAAG,EAAM,IAAA,IAAA;AAC1D,EAAA,MAAM,OAAyB,GAAA,WAAA,CAAY,KAAQ,GAAA,CAAC,GAAG,EAAM,IAAA,IAAA;AAE7D,EAAO,OAAA,CAAC,UAAU,OAAO,CAAA;AAC3B;;;;;;;;"}
1
+ {"version":3,"file":"dom.cjs","sources":["../../src/Splitter/utils/dom.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport { isBrowser } from '@/shared'\n\nexport function getPanelElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getPanelElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(`[data-panel][data-panel-group-id=\"${groupId}\"]`),\n )\n}\n\nexport function getPanelGroupElement(\n id: string,\n rootElement: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n // If the root element is the PanelGroup\n if (\n rootElement instanceof HTMLElement\n && (rootElement as HTMLElement)?.dataset?.panelGroupId === id\n ) {\n return rootElement as HTMLElement\n }\n\n // Else query children\n const element = rootElement.querySelector(\n `[data-panel-group][data-panel-group-id=\"${id}\"]`,\n )\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-resize-handle-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElementIndex(\n groupId: string,\n id: string,\n scope: ParentNode | HTMLElement = document,\n): number | null {\n if (!isBrowser)\n return null\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handles.findIndex(\n handle => handle.getAttribute('data-panel-resize-handle-id') === id,\n )\n return index ?? null\n}\n\nexport function getResizeHandleElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(\n `[data-panel-resize-handle-id][data-panel-group-id=\"${groupId}\"]`,\n ),\n )\n}\n\nexport function getResizeHandlePanelIds(\n groupId: string,\n handleId: string,\n panelsArray: PanelData[],\n scope: ParentNode | HTMLElement = document,\n): [idBefore: string | null, idAfter: string | null] {\n const handle = getResizeHandleElement(handleId, scope)\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handle ? handles.indexOf(handle) : -1\n\n const idBefore: string | null = panelsArray[index]?.id ?? null\n const idAfter: string | null = panelsArray[index + 1]?.id ?? null\n\n return [idBefore, idAfter]\n}\n"],"names":["isBrowser"],"mappings":";;;;AA2BgB,SAAA,oBAAA,CACd,EACA,EAAA,WAAA,GAAwC,QACpB,EAAA;AACpB,EAAA,IAAI,CAACA,wBAAA;AACH,IAAO,OAAA,IAAA;AAET,EAAA,IACE,WAAuB,YAAA,WAAA,IACnB,WAA6B,EAAA,OAAA,EAAS,iBAAiB,EAC3D,EAAA;AACA,IAAO,OAAA,WAAA;AAAA;AAIT,EAAA,MAAM,UAAU,WAAY,CAAA,aAAA;AAAA,IAC1B,2CAA2C,EAAE,CAAA,EAAA;AAAA,GAC/C;AACA,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEgB,SAAA,sBAAA,CACd,EACA,EAAA,KAAA,GAAkC,QACd,EAAA;AACpB,EAAA,IAAI,CAACA,wBAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAA,MAAM,OAAU,GAAA,KAAA,CAAM,aAAc,CAAA,CAAA,8BAAA,EAAiC,EAAE,CAAI,EAAA,CAAA,CAAA;AAC3E,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEO,SAAS,2BACd,CAAA,OAAA,EACA,EACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAACA,wBAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,QAAQ,OAAQ,CAAA,SAAA;AAAA,IACpB,CAAU,MAAA,KAAA,MAAA,CAAO,YAAa,CAAA,6BAA6B,CAAM,KAAA;AAAA,GACnE;AACA,EAAA,OAAO,KAAS,IAAA,IAAA;AAClB;AAEgB,SAAA,+BAAA,CACd,OACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAACA,wBAAA;AACH,IAAA,OAAO,EAAC;AACV,EAAA,OAAO,KAAM,CAAA,IAAA;AAAA,IACX,KAAM,CAAA,gBAAA;AAAA,MACJ,sDAAsD,OAAO,CAAA,EAAA;AAAA;AAC/D,GACF;AACF;AAEO,SAAS,uBACd,CAAA,OAAA,EACA,QACA,EAAA,WAAA,EACA,QAAkC,QACiB,EAAA;AACnD,EAAM,MAAA,MAAA,GAAS,sBAAuB,CAAA,QAAA,EAAU,KAAK,CAAA;AACrD,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,KAAQ,GAAA,MAAA,GAAS,OAAQ,CAAA,OAAA,CAAQ,MAAM,CAAI,GAAA,EAAA;AAEjD,EAAA,MAAM,QAA0B,GAAA,WAAA,CAAY,KAAK,CAAA,EAAG,EAAM,IAAA,IAAA;AAC1D,EAAA,MAAM,OAAyB,GAAA,WAAA,CAAY,KAAQ,GAAA,CAAC,GAAG,EAAM,IAAA,IAAA;AAE7D,EAAO,OAAA,CAAC,UAAU,OAAO,CAAA;AAC3B;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sources":["../../src/Splitter/utils/dom.ts"],"sourcesContent":["import { isBrowser } from '@/shared'\nimport type { PanelData } from '../SplitterPanel.vue'\n\nexport function getPanelElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getPanelElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(`[data-panel][data-panel-group-id=\"${groupId}\"]`),\n )\n}\n\nexport function getPanelGroupElement(\n id: string,\n rootElement: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n // If the root element is the PanelGroup\n if (\n rootElement instanceof HTMLElement\n && (rootElement as HTMLElement)?.dataset?.panelGroupId === id\n ) {\n return rootElement as HTMLElement\n }\n\n // Else query children\n const element = rootElement.querySelector(\n `[data-panel-group][data-panel-group-id=\"${id}\"]`,\n )\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-resize-handle-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElementIndex(\n groupId: string,\n id: string,\n scope: ParentNode | HTMLElement = document,\n): number | null {\n if (!isBrowser)\n return null\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handles.findIndex(\n handle => handle.getAttribute('data-panel-resize-handle-id') === id,\n )\n return index ?? null\n}\n\nexport function getResizeHandleElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(\n `[data-panel-resize-handle-id][data-panel-group-id=\"${groupId}\"]`,\n ),\n )\n}\n\nexport function getResizeHandlePanelIds(\n groupId: string,\n handleId: string,\n panelsArray: PanelData[],\n scope: ParentNode | HTMLElement = document,\n): [idBefore: string | null, idAfter: string | null] {\n const handle = getResizeHandleElement(handleId, scope)\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handle ? handles.indexOf(handle) : -1\n\n const idBefore: string | null = panelsArray[index]?.id ?? null\n const idAfter: string | null = panelsArray[index + 1]?.id ?? null\n\n return [idBefore, idAfter]\n}\n"],"names":[],"mappings":";;AA2BgB,SAAA,oBAAA,CACd,EACA,EAAA,WAAA,GAAwC,QACpB,EAAA;AACpB,EAAA,IAAI,CAAC,SAAA;AACH,IAAO,OAAA,IAAA;AAET,EAAA,IACE,WAAuB,YAAA,WAAA,IACnB,WAA6B,EAAA,OAAA,EAAS,iBAAiB,EAC3D,EAAA;AACA,IAAO,OAAA,WAAA;AAAA;AAIT,EAAA,MAAM,UAAU,WAAY,CAAA,aAAA;AAAA,IAC1B,2CAA2C,EAAE,CAAA,EAAA;AAAA,GAC/C;AACA,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEgB,SAAA,sBAAA,CACd,EACA,EAAA,KAAA,GAAkC,QACd,EAAA;AACpB,EAAA,IAAI,CAAC,SAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAA,MAAM,OAAU,GAAA,KAAA,CAAM,aAAc,CAAA,CAAA,8BAAA,EAAiC,EAAE,CAAI,EAAA,CAAA,CAAA;AAC3E,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEO,SAAS,2BACd,CAAA,OAAA,EACA,EACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAAC,SAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,QAAQ,OAAQ,CAAA,SAAA;AAAA,IACpB,CAAU,MAAA,KAAA,MAAA,CAAO,YAAa,CAAA,6BAA6B,CAAM,KAAA;AAAA,GACnE;AACA,EAAA,OAAO,KAAS,IAAA,IAAA;AAClB;AAEgB,SAAA,+BAAA,CACd,OACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAAC,SAAA;AACH,IAAA,OAAO,EAAC;AACV,EAAA,OAAO,KAAM,CAAA,IAAA;AAAA,IACX,KAAM,CAAA,gBAAA;AAAA,MACJ,sDAAsD,OAAO,CAAA,EAAA;AAAA;AAC/D,GACF;AACF;AAEO,SAAS,uBACd,CAAA,OAAA,EACA,QACA,EAAA,WAAA,EACA,QAAkC,QACiB,EAAA;AACnD,EAAM,MAAA,MAAA,GAAS,sBAAuB,CAAA,QAAA,EAAU,KAAK,CAAA;AACrD,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,KAAQ,GAAA,MAAA,GAAS,OAAQ,CAAA,OAAA,CAAQ,MAAM,CAAI,GAAA,EAAA;AAEjD,EAAA,MAAM,QAA0B,GAAA,WAAA,CAAY,KAAK,CAAA,EAAG,EAAM,IAAA,IAAA;AAC1D,EAAA,MAAM,OAAyB,GAAA,WAAA,CAAY,KAAQ,GAAA,CAAC,GAAG,EAAM,IAAA,IAAA;AAE7D,EAAO,OAAA,CAAC,UAAU,OAAO,CAAA;AAC3B;;;;"}
1
+ {"version":3,"file":"dom.js","sources":["../../src/Splitter/utils/dom.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport { isBrowser } from '@/shared'\n\nexport function getPanelElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getPanelElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(`[data-panel][data-panel-group-id=\"${groupId}\"]`),\n )\n}\n\nexport function getPanelGroupElement(\n id: string,\n rootElement: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n // If the root element is the PanelGroup\n if (\n rootElement instanceof HTMLElement\n && (rootElement as HTMLElement)?.dataset?.panelGroupId === id\n ) {\n return rootElement as HTMLElement\n }\n\n // Else query children\n const element = rootElement.querySelector(\n `[data-panel-group][data-panel-group-id=\"${id}\"]`,\n )\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-resize-handle-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElementIndex(\n groupId: string,\n id: string,\n scope: ParentNode | HTMLElement = document,\n): number | null {\n if (!isBrowser)\n return null\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handles.findIndex(\n handle => handle.getAttribute('data-panel-resize-handle-id') === id,\n )\n return index ?? null\n}\n\nexport function getResizeHandleElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(\n `[data-panel-resize-handle-id][data-panel-group-id=\"${groupId}\"]`,\n ),\n )\n}\n\nexport function getResizeHandlePanelIds(\n groupId: string,\n handleId: string,\n panelsArray: PanelData[],\n scope: ParentNode | HTMLElement = document,\n): [idBefore: string | null, idAfter: string | null] {\n const handle = getResizeHandleElement(handleId, scope)\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handle ? handles.indexOf(handle) : -1\n\n const idBefore: string | null = panelsArray[index]?.id ?? null\n const idAfter: string | null = panelsArray[index + 1]?.id ?? null\n\n return [idBefore, idAfter]\n}\n"],"names":[],"mappings":";;AA2BgB,SAAA,oBAAA,CACd,EACA,EAAA,WAAA,GAAwC,QACpB,EAAA;AACpB,EAAA,IAAI,CAAC,SAAA;AACH,IAAO,OAAA,IAAA;AAET,EAAA,IACE,WAAuB,YAAA,WAAA,IACnB,WAA6B,EAAA,OAAA,EAAS,iBAAiB,EAC3D,EAAA;AACA,IAAO,OAAA,WAAA;AAAA;AAIT,EAAA,MAAM,UAAU,WAAY,CAAA,aAAA;AAAA,IAC1B,2CAA2C,EAAE,CAAA,EAAA;AAAA,GAC/C;AACA,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEgB,SAAA,sBAAA,CACd,EACA,EAAA,KAAA,GAAkC,QACd,EAAA;AACpB,EAAA,IAAI,CAAC,SAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAA,MAAM,OAAU,GAAA,KAAA,CAAM,aAAc,CAAA,CAAA,8BAAA,EAAiC,EAAE,CAAI,EAAA,CAAA,CAAA;AAC3E,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEO,SAAS,2BACd,CAAA,OAAA,EACA,EACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAAC,SAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,QAAQ,OAAQ,CAAA,SAAA;AAAA,IACpB,CAAU,MAAA,KAAA,MAAA,CAAO,YAAa,CAAA,6BAA6B,CAAM,KAAA;AAAA,GACnE;AACA,EAAA,OAAO,KAAS,IAAA,IAAA;AAClB;AAEgB,SAAA,+BAAA,CACd,OACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAAC,SAAA;AACH,IAAA,OAAO,EAAC;AACV,EAAA,OAAO,KAAM,CAAA,IAAA;AAAA,IACX,KAAM,CAAA,gBAAA;AAAA,MACJ,sDAAsD,OAAO,CAAA,EAAA;AAAA;AAC/D,GACF;AACF;AAEO,SAAS,uBACd,CAAA,OAAA,EACA,QACA,EAAA,WAAA,EACA,QAAkC,QACiB,EAAA;AACnD,EAAM,MAAA,MAAA,GAAS,sBAAuB,CAAA,QAAA,EAAU,KAAK,CAAA;AACrD,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,KAAQ,GAAA,MAAA,GAAS,OAAQ,CAAA,OAAA,CAAQ,MAAM,CAAI,GAAA,EAAA;AAEjD,EAAA,MAAM,QAA0B,GAAA,WAAA,CAAY,KAAK,CAAA,EAAG,EAAM,IAAA,IAAA;AAC1D,EAAA,MAAM,OAAyB,GAAA,WAAA,CAAY,KAAQ,GAAA,CAAC,GAAG,EAAM,IAAA,IAAA;AAE7D,EAAO,OAAA,CAAC,UAAU,OAAO,CAAA;AAC3B;;;;"}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- const utils_style = require('./style.cjs');
4
3
  const utils_events = require('./events.cjs');
5
4
  const utils_rects = require('./rects.cjs');
6
5
  const utils_stackingOrder = require('./stackingOrder.cjs');
6
+ const utils_style = require('./style.cjs');
7
7
 
8
8
  const EXCEEDED_HORIZONTAL_MIN = 1;
9
9
  const EXCEEDED_HORIZONTAL_MAX = 2;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.cjs","sources":["../../src/Splitter/utils/registry.ts"],"sourcesContent":["import type { Direction, ResizeEvent } from './types'\nimport { resetGlobalCursorStyle, setGlobalCursorStyle } from './style'\nimport { getResizeEventCoordinates } from './events'\nimport { intersects } from './rects'\nimport { compare } from './stackingOrder'\nimport type { Ref } from 'vue'\n\nexport type ResizeHandlerAction = 'down' | 'move' | 'up'\nexport type SetResizeHandlerState = (\n action: ResizeHandlerAction,\n isActive: boolean,\n event: ResizeEvent\n) => void\n\nexport type PointerHitAreaMargins = {\n coarse: number\n fine: number\n}\n\nexport type ResizeHandlerData = {\n direction: Ref<Direction>\n element: HTMLElement\n hitAreaMargins: PointerHitAreaMargins\n setResizeHandlerState: SetResizeHandlerState\n}\n\nexport const EXCEEDED_HORIZONTAL_MIN = 0b0001\nexport const EXCEEDED_HORIZONTAL_MAX = 0b0010\nexport const EXCEEDED_VERTICAL_MIN = 0b0100\nexport const EXCEEDED_VERTICAL_MAX = 0b1000\n\nfunction getInputType(): 'coarse' | 'fine' | undefined {\n if (typeof matchMedia === 'function')\n return matchMedia('(pointer:coarse)').matches ? 'coarse' : 'fine'\n}\n\nconst isCoarsePointer = getInputType() === 'coarse'\n\nconst intersectingHandles: ResizeHandlerData[] = []\nlet isPointerDown = false\nconst ownerDocumentCounts: Map<Document, number> = new Map()\nconst panelConstraintFlags: Map<string, number> = new Map()\n\nconst registeredResizeHandlers = new Set<ResizeHandlerData>()\n\nexport function registerResizeHandle(\n resizeHandleId: string,\n element: HTMLElement,\n direction: Ref<Direction>,\n hitAreaMargins: PointerHitAreaMargins,\n setResizeHandlerState: SetResizeHandlerState,\n) {\n const { ownerDocument } = element\n\n const data: ResizeHandlerData = {\n direction,\n element,\n hitAreaMargins,\n setResizeHandlerState,\n }\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 0\n ownerDocumentCounts.set(ownerDocument, count + 1)\n\n registeredResizeHandlers.add(data)\n\n updateListeners()\n\n return function unregisterResizeHandle() {\n panelConstraintFlags.delete(resizeHandleId)\n registeredResizeHandlers.delete(data)\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 1\n ownerDocumentCounts.set(ownerDocument, count - 1)\n\n updateListeners()\n resetGlobalCursorStyle()\n\n if (count === 1)\n ownerDocumentCounts.delete(ownerDocument)\n }\n}\n\nfunction handlePointerDown(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n isPointerDown = true\n\n recalculateIntersectingHandles({ target, x, y })\n updateListeners()\n\n if (intersectingHandles.length > 0) {\n updateResizeHandlerStates('down', event)\n\n event.preventDefault()\n }\n}\n\nfunction handlePointerMove(event: ResizeEvent) {\n const { x, y } = getResizeEventCoordinates(event)\n\n if (!isPointerDown) {\n const { target } = event\n\n // Recalculate intersecting handles whenever the pointer moves, except if it has already been pressed\n // at that point, the handles may not move with the pointer (depending on constraints)\n // but the same set of active handles should be locked until the pointer is released\n recalculateIntersectingHandles({ target, x, y })\n }\n\n updateResizeHandlerStates('move', event)\n\n // Update cursor based on return value(s) from active handles\n updateCursor()\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n}\n\nfunction handlePointerUp(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n panelConstraintFlags.clear()\n isPointerDown = false\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n\n updateResizeHandlerStates('up', event)\n recalculateIntersectingHandles({ target, x, y })\n updateCursor()\n\n updateListeners()\n}\n\nfunction recalculateIntersectingHandles({\n target,\n x,\n y,\n}: {\n target: EventTarget | null\n x: number\n y: number\n}) {\n intersectingHandles.splice(0)\n\n let targetElement: HTMLElement | null = null\n if (target instanceof HTMLElement)\n targetElement = target\n\n registeredResizeHandlers.forEach((data) => {\n const { element: dragHandleElement, hitAreaMargins } = data\n\n const dragHandleRect = dragHandleElement.getBoundingClientRect()\n const { bottom, left, right, top } = dragHandleRect\n\n const margin = isCoarsePointer\n ? hitAreaMargins.coarse\n : hitAreaMargins.fine\n\n const eventIntersects\n = x >= left - margin\n && x <= right + margin\n && y >= top - margin\n && y <= bottom + margin\n\n if (eventIntersects) {\n // TRICKY\n // We listen for pointers events at the root in order to support hit area margins\n // (determining when the pointer is close enough to an element to be considered a \"hit\")\n // Clicking on an element \"above\" a handle (e.g. a modal) should prevent a hit though\n // so at this point we need to compare stacking order of a potentially intersecting drag handle,\n // and the element that was actually clicked/touched\n if (\n targetElement !== null\n && dragHandleElement !== targetElement\n && !dragHandleElement.contains(targetElement)\n && !targetElement.contains(dragHandleElement)\n // Calculating stacking order has a cost, so we should avoid it if possible\n // That is why we only check potentially intersecting handles,\n // and why we skip if the event target is within the handle's DOM\n && compare(targetElement, dragHandleElement) > 0\n ) {\n // If the target is above the drag handle, then we also need to confirm they overlap\n // If they are beside each other (e.g. a panel and its drag handle) then the handle is still interactive\n //\n // It's not enough to compare only the target\n // The target might be a small element inside of a larger container\n // (For example, a SPAN or a DIV inside of a larger modal dialog)\n let currentElement: HTMLElement | null = targetElement\n let didIntersect = false\n while (currentElement) {\n if (currentElement.contains(dragHandleElement)) {\n break\n }\n else if (\n intersects(\n currentElement.getBoundingClientRect(),\n dragHandleRect,\n true,\n )\n ) {\n didIntersect = true\n break\n }\n\n currentElement = currentElement.parentElement\n }\n\n if (didIntersect)\n return\n }\n\n intersectingHandles.push(data)\n }\n })\n}\n\nexport function reportConstraintsViolation(\n resizeHandleId: string,\n flag: number,\n) {\n panelConstraintFlags.set(resizeHandleId, flag)\n}\n\nfunction updateCursor() {\n let intersectsHorizontal = false\n let intersectsVertical = false\n\n intersectingHandles.forEach((data) => {\n const { direction } = data\n\n if (direction.value === 'horizontal')\n intersectsHorizontal = true\n else\n intersectsVertical = true\n })\n\n let constraintFlags = 0\n panelConstraintFlags.forEach((flag) => {\n constraintFlags |= flag\n })\n\n if (intersectsHorizontal && intersectsVertical)\n setGlobalCursorStyle('intersection', constraintFlags)\n else if (intersectsHorizontal)\n setGlobalCursorStyle('horizontal', constraintFlags)\n else if (intersectsVertical)\n setGlobalCursorStyle('vertical', constraintFlags)\n else\n resetGlobalCursorStyle()\n}\n\nfunction updateListeners() {\n ownerDocumentCounts.forEach((_, ownerDocument) => {\n const { body } = ownerDocument\n\n body.removeEventListener('contextmenu', handlePointerUp)\n body.removeEventListener('mousedown', handlePointerDown)\n body.removeEventListener('mouseleave', handlePointerMove)\n body.removeEventListener('mousemove', handlePointerMove)\n body.removeEventListener('touchmove', handlePointerMove)\n body.removeEventListener('touchstart', handlePointerDown)\n })\n\n window.removeEventListener('mouseup', handlePointerUp)\n window.removeEventListener('touchcancel', handlePointerUp)\n window.removeEventListener('touchend', handlePointerUp)\n\n if (registeredResizeHandlers.size > 0) {\n if (isPointerDown) {\n if (intersectingHandles.length > 0) {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('contextmenu', handlePointerUp)\n body.addEventListener('mouseleave', handlePointerMove)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n }\n })\n }\n\n window.addEventListener('mouseup', handlePointerUp)\n window.addEventListener('touchcancel', handlePointerUp)\n window.addEventListener('touchend', handlePointerUp)\n }\n else {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('mousedown', handlePointerDown)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n body.addEventListener('touchstart', handlePointerDown)\n }\n })\n }\n }\n}\n\nfunction updateResizeHandlerStates(\n action: ResizeHandlerAction,\n event: ResizeEvent,\n) {\n registeredResizeHandlers.forEach((data) => {\n const { setResizeHandlerState } = data\n\n const isActive = intersectingHandles.includes(data)\n\n setResizeHandlerState(action, isActive, event)\n })\n}\n"],"names":["count","resetGlobalCursorStyle","getResizeEventCoordinates","compare","intersects","setGlobalCursorStyle"],"mappings":";;;;;;;AA0BO,MAAM,uBAA0B,GAAA;AAChC,MAAM,uBAA0B,GAAA;AAChC,MAAM,qBAAwB,GAAA;AAC9B,MAAM,qBAAwB,GAAA;AAErC,SAAS,YAA8C,GAAA;AACrD,EAAA,IAAI,OAAO,UAAe,KAAA,UAAA;AACxB,IAAA,OAAO,UAAW,CAAA,kBAAkB,CAAE,CAAA,OAAA,GAAU,QAAW,GAAA,MAAA;AAC/D;AAEA,MAAM,eAAA,GAAkB,cAAmB,KAAA,QAAA;AAE3C,MAAM,sBAA2C,EAAC;AAClD,IAAI,aAAgB,GAAA,KAAA;AACpB,MAAM,mBAAA,uBAAiD,GAAI,EAAA;AAC3D,MAAM,oBAAA,uBAAgD,GAAI,EAAA;AAE1D,MAAM,wBAAA,uBAA+B,GAAuB,EAAA;AAErD,SAAS,oBACd,CAAA,cAAA,EACA,OACA,EAAA,SAAA,EACA,gBACA,qBACA,EAAA;AACA,EAAM,MAAA,EAAE,eAAkB,GAAA,OAAA;AAE1B,EAAA,MAAM,IAA0B,GAAA;AAAA,IAC9B,SAAA;AAAA,IACA,OAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,MAAM,KAAQ,GAAA,mBAAA,CAAoB,GAAI,CAAA,aAAa,CAAK,IAAA,CAAA;AACxD,EAAoB,mBAAA,CAAA,GAAA,CAAI,aAAe,EAAA,KAAA,GAAQ,CAAC,CAAA;AAEhD,EAAA,wBAAA,CAAyB,IAAI,IAAI,CAAA;AAEjC,EAAgB,eAAA,EAAA;AAEhB,EAAA,OAAO,SAAS,sBAAyB,GAAA;AACvC,IAAA,oBAAA,CAAqB,OAAO,cAAc,CAAA;AAC1C,IAAA,wBAAA,CAAyB,OAAO,IAAI,CAAA;AAEpC,IAAA,MAAMA,MAAQ,GAAA,mBAAA,CAAoB,GAAI,CAAA,aAAa,CAAK,IAAA,CAAA;AACxD,IAAoB,mBAAA,CAAA,GAAA,CAAI,aAAeA,EAAAA,MAAAA,GAAQ,CAAC,CAAA;AAEhD,IAAgB,eAAA,EAAA;AAChB,IAAuBC,kCAAA,EAAA;AAEvB,IAAA,IAAID,MAAU,KAAA,CAAA;AACZ,MAAA,mBAAA,CAAoB,OAAO,aAAa,CAAA;AAAA,GAC5C;AACF;AAEA,SAAS,kBAAkB,KAAoB,EAAA;AAC7C,EAAM,MAAA,EAAE,QAAW,GAAA,KAAA;AACnB,EAAA,MAAM,EAAE,CAAA,EAAG,CAAE,EAAA,GAAIE,uCAA0B,KAAK,CAAA;AAEhD,EAAgB,aAAA,GAAA,IAAA;AAEhB,EAAA,8BAAA,CAA+B,EAAE,MAAA,EAAQ,CAAG,EAAA,CAAA,EAAG,CAAA;AAC/C,EAAgB,eAAA,EAAA;AAEhB,EAAI,IAAA,mBAAA,CAAoB,SAAS,CAAG,EAAA;AAClC,IAAA,yBAAA,CAA0B,QAAQ,KAAK,CAAA;AAEvC,IAAA,KAAA,CAAM,cAAe,EAAA;AAAA;AAEzB;AAEA,SAAS,kBAAkB,KAAoB,EAAA;AAC7C,EAAA,MAAM,EAAE,CAAA,EAAG,CAAE,EAAA,GAAIA,uCAA0B,KAAK,CAAA;AAEhD,EAAA,IAAI,CAAC,aAAe,EAAA;AAClB,IAAM,MAAA,EAAE,QAAW,GAAA,KAAA;AAKnB,IAAA,8BAAA,CAA+B,EAAE,MAAA,EAAQ,CAAG,EAAA,CAAA,EAAG,CAAA;AAAA;AAGjD,EAAA,yBAAA,CAA0B,QAAQ,KAAK,CAAA;AAGvC,EAAa,YAAA,EAAA;AAEb,EAAA,IAAI,oBAAoB,MAAS,GAAA,CAAA;AAC/B,IAAA,KAAA,CAAM,cAAe,EAAA;AACzB;AAEA,SAAS,gBAAgB,KAAoB,EAAA;AAC3C,EAAM,MAAA,EAAE,QAAW,GAAA,KAAA;AACnB,EAAA,MAAM,EAAE,CAAA,EAAG,CAAE,EAAA,GAAIA,uCAA0B,KAAK,CAAA;AAEhD,EAAA,oBAAA,CAAqB,KAAM,EAAA;AAC3B,EAAgB,aAAA,GAAA,KAAA;AAEhB,EAAA,IAAI,oBAAoB,MAAS,GAAA,CAAA;AAC/B,IAAA,KAAA,CAAM,cAAe,EAAA;AAEvB,EAAA,yBAAA,CAA0B,MAAM,KAAK,CAAA;AACrC,EAAA,8BAAA,CAA+B,EAAE,MAAA,EAAQ,CAAG,EAAA,CAAA,EAAG,CAAA;AAC/C,EAAa,YAAA,EAAA;AAEb,EAAgB,eAAA,EAAA;AAClB;AAEA,SAAS,8BAA+B,CAAA;AAAA,EACtC,MAAA;AAAA,EACA,CAAA;AAAA,EACA;AACF,CAIG,EAAA;AACD,EAAA,mBAAA,CAAoB,OAAO,CAAC,CAAA;AAE5B,EAAA,IAAI,aAAoC,GAAA,IAAA;AACxC,EAAA,IAAI,MAAkB,YAAA,WAAA;AACpB,IAAgB,aAAA,GAAA,MAAA;AAElB,EAAyB,wBAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AACzC,IAAA,MAAM,EAAE,OAAA,EAAS,iBAAmB,EAAA,cAAA,EAAmB,GAAA,IAAA;AAEvD,IAAM,MAAA,cAAA,GAAiB,kBAAkB,qBAAsB,EAAA;AAC/D,IAAA,MAAM,EAAE,MAAA,EAAQ,IAAM,EAAA,KAAA,EAAO,KAAQ,GAAA,cAAA;AAErC,IAAA,MAAM,MAAS,GAAA,eAAA,GACX,cAAe,CAAA,MAAA,GACf,cAAe,CAAA,IAAA;AAEnB,IAAM,MAAA,eAAA,GACF,CAAK,IAAA,IAAA,GAAO,MACX,IAAA,CAAA,IAAK,KAAQ,GAAA,MAAA,IACb,CAAK,IAAA,GAAA,GAAM,MACX,IAAA,CAAA,IAAK,MAAS,GAAA,MAAA;AAEnB,IAAA,IAAI,eAAiB,EAAA;AAOnB,MAAA,IACE,kBAAkB,IACf,IAAA,iBAAA,KAAsB,iBACtB,CAAC,iBAAA,CAAkB,SAAS,aAAa,CAAA,IACzC,CAAC,aAAA,CAAc,SAAS,iBAAiB,CAAA,IAIzCC,4BAAQ,aAAe,EAAA,iBAAiB,IAAI,CAC/C,EAAA;AAOA,QAAA,IAAI,cAAqC,GAAA,aAAA;AACzC,QAAA,IAAI,YAAe,GAAA,KAAA;AACnB,QAAA,OAAO,cAAgB,EAAA;AACrB,UAAI,IAAA,cAAA,CAAe,QAAS,CAAA,iBAAiB,CAAG,EAAA;AAC9C,YAAA;AAAA,WAGA,MAAA,IAAAC,sBAAA;AAAA,YACE,eAAe,qBAAsB,EAAA;AAAA,YACrC,cAEF,CACA,EAAA;AACA,YAAe,YAAA,GAAA,IAAA;AACf,YAAA;AAAA;AAGF,UAAA,cAAA,GAAiB,cAAe,CAAA,aAAA;AAAA;AAGlC,QAAI,IAAA,YAAA;AACF,UAAA;AAAA;AAGJ,MAAA,mBAAA,CAAoB,KAAK,IAAI,CAAA;AAAA;AAC/B,GACD,CAAA;AACH;AAEgB,SAAA,0BAAA,CACd,gBACA,IACA,EAAA;AACA,EAAqB,oBAAA,CAAA,GAAA,CAAI,gBAAgB,IAAI,CAAA;AAC/C;AAEA,SAAS,YAAe,GAAA;AACtB,EAAA,IAAI,oBAAuB,GAAA,KAAA;AAC3B,EAAA,IAAI,kBAAqB,GAAA,KAAA;AAEzB,EAAoB,mBAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AACpC,IAAM,MAAA,EAAE,WAAc,GAAA,IAAA;AAEtB,IAAA,IAAI,UAAU,KAAU,KAAA,YAAA;AACtB,MAAuB,oBAAA,GAAA,IAAA;AAAA;AAEvB,MAAqB,kBAAA,GAAA,IAAA;AAAA,GACxB,CAAA;AAED,EAAA,IAAI,eAAkB,GAAA,CAAA;AACtB,EAAqB,oBAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AACrC,IAAmB,eAAA,IAAA,IAAA;AAAA,GACpB,CAAA;AAED,EAAA,IAAI,oBAAwB,IAAA,kBAAA;AAC1B,IAAAC,gCAAA,CAAqB,gBAAgB,eAAe,CAAA;AAAA,OAC7C,IAAA,oBAAA;AACP,IAAAA,gCAAA,CAAqB,cAAc,eAAe,CAAA;AAAA,OAC3C,IAAA,kBAAA;AACP,IAAAA,gCAAA,CAAqB,YAAY,eAAe,CAAA;AAAA;AAEhD,IAAuBJ,kCAAA,EAAA;AAC3B;AAEA,SAAS,eAAkB,GAAA;AACzB,EAAoB,mBAAA,CAAA,OAAA,CAAQ,CAAC,CAAA,EAAG,aAAkB,KAAA;AAChD,IAAM,MAAA,EAAE,MAAS,GAAA,aAAA;AAEjB,IAAK,IAAA,CAAA,mBAAA,CAAoB,eAAe,eAAe,CAAA;AACvD,IAAK,IAAA,CAAA,mBAAA,CAAoB,aAAa,iBAAiB,CAAA;AACvD,IAAK,IAAA,CAAA,mBAAA,CAAoB,cAAc,iBAAiB,CAAA;AACxD,IAAK,IAAA,CAAA,mBAAA,CAAoB,aAAa,iBAAiB,CAAA;AACvD,IAAK,IAAA,CAAA,mBAAA,CAAoB,aAAa,iBAAiB,CAAA;AACvD,IAAK,IAAA,CAAA,mBAAA,CAAoB,cAAc,iBAAiB,CAAA;AAAA,GACzD,CAAA;AAED,EAAO,MAAA,CAAA,mBAAA,CAAoB,WAAW,eAAe,CAAA;AACrD,EAAO,MAAA,CAAA,mBAAA,CAAoB,eAAe,eAAe,CAAA;AACzD,EAAO,MAAA,CAAA,mBAAA,CAAoB,YAAY,eAAe,CAAA;AAEtD,EAAI,IAAA,wBAAA,CAAyB,OAAO,CAAG,EAAA;AACrC,IAAA,IAAI,aAAe,EAAA;AACjB,MAAI,IAAA,mBAAA,CAAoB,SAAS,CAAG,EAAA;AAClC,QAAoB,mBAAA,CAAA,OAAA,CAAQ,CAAC,KAAA,EAAO,aAAkB,KAAA;AACpD,UAAM,MAAA,EAAE,MAAS,GAAA,aAAA;AAEjB,UAAA,IAAI,QAAQ,CAAG,EAAA;AACb,YAAK,IAAA,CAAA,gBAAA,CAAiB,eAAe,eAAe,CAAA;AACpD,YAAK,IAAA,CAAA,gBAAA,CAAiB,cAAc,iBAAiB,CAAA;AACrD,YAAK,IAAA,CAAA,gBAAA,CAAiB,aAAa,iBAAiB,CAAA;AACpD,YAAK,IAAA,CAAA,gBAAA,CAAiB,aAAa,iBAAmB,EAAA;AAAA,cACpD,OAAS,EAAA;AAAA,aACV,CAAA;AAAA;AACH,SACD,CAAA;AAAA;AAGH,MAAO,MAAA,CAAA,gBAAA,CAAiB,WAAW,eAAe,CAAA;AAClD,MAAO,MAAA,CAAA,gBAAA,CAAiB,eAAe,eAAe,CAAA;AACtD,MAAO,MAAA,CAAA,gBAAA,CAAiB,YAAY,eAAe,CAAA;AAAA,KAEhD,MAAA;AACH,MAAoB,mBAAA,CAAA,OAAA,CAAQ,CAAC,KAAA,EAAO,aAAkB,KAAA;AACpD,QAAM,MAAA,EAAE,MAAS,GAAA,aAAA;AAEjB,QAAA,IAAI,QAAQ,CAAG,EAAA;AACb,UAAK,IAAA,CAAA,gBAAA,CAAiB,aAAa,iBAAiB,CAAA;AACpD,UAAK,IAAA,CAAA,gBAAA,CAAiB,aAAa,iBAAiB,CAAA;AACpD,UAAK,IAAA,CAAA,gBAAA,CAAiB,aAAa,iBAAmB,EAAA;AAAA,YACpD,OAAS,EAAA;AAAA,WACV,CAAA;AACD,UAAK,IAAA,CAAA,gBAAA,CAAiB,cAAc,iBAAiB,CAAA;AAAA;AACvD,OACD,CAAA;AAAA;AACH;AAEJ;AAEA,SAAS,yBAAA,CACP,QACA,KACA,EAAA;AACA,EAAyB,wBAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AACzC,IAAM,MAAA,EAAE,uBAA0B,GAAA,IAAA;AAElC,IAAM,MAAA,QAAA,GAAW,mBAAoB,CAAA,QAAA,CAAS,IAAI,CAAA;AAElD,IAAsB,qBAAA,CAAA,MAAA,EAAQ,UAAU,KAAK,CAAA;AAAA,GAC9C,CAAA;AACH;;;;;;;;;"}
1
+ {"version":3,"file":"registry.cjs","sources":["../../src/Splitter/utils/registry.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { Direction, ResizeEvent } from './types'\nimport { getResizeEventCoordinates } from './events'\nimport { intersects } from './rects'\nimport { compare } from './stackingOrder'\nimport { resetGlobalCursorStyle, setGlobalCursorStyle } from './style'\n\nexport type ResizeHandlerAction = 'down' | 'move' | 'up'\nexport type SetResizeHandlerState = (\n action: ResizeHandlerAction,\n isActive: boolean,\n event: ResizeEvent\n) => void\n\nexport type PointerHitAreaMargins = {\n coarse: number\n fine: number\n}\n\nexport type ResizeHandlerData = {\n direction: Ref<Direction>\n element: HTMLElement\n hitAreaMargins: PointerHitAreaMargins\n setResizeHandlerState: SetResizeHandlerState\n}\n\nexport const EXCEEDED_HORIZONTAL_MIN = 0b0001\nexport const EXCEEDED_HORIZONTAL_MAX = 0b0010\nexport const EXCEEDED_VERTICAL_MIN = 0b0100\nexport const EXCEEDED_VERTICAL_MAX = 0b1000\n\nfunction getInputType(): 'coarse' | 'fine' | undefined {\n if (typeof matchMedia === 'function')\n return matchMedia('(pointer:coarse)').matches ? 'coarse' : 'fine'\n}\n\nconst isCoarsePointer = getInputType() === 'coarse'\n\nconst intersectingHandles: ResizeHandlerData[] = []\nlet isPointerDown = false\nconst ownerDocumentCounts: Map<Document, number> = new Map()\nconst panelConstraintFlags: Map<string, number> = new Map()\n\nconst registeredResizeHandlers = new Set<ResizeHandlerData>()\n\nexport function registerResizeHandle(\n resizeHandleId: string,\n element: HTMLElement,\n direction: Ref<Direction>,\n hitAreaMargins: PointerHitAreaMargins,\n setResizeHandlerState: SetResizeHandlerState,\n) {\n const { ownerDocument } = element\n\n const data: ResizeHandlerData = {\n direction,\n element,\n hitAreaMargins,\n setResizeHandlerState,\n }\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 0\n ownerDocumentCounts.set(ownerDocument, count + 1)\n\n registeredResizeHandlers.add(data)\n\n updateListeners()\n\n return function unregisterResizeHandle() {\n panelConstraintFlags.delete(resizeHandleId)\n registeredResizeHandlers.delete(data)\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 1\n ownerDocumentCounts.set(ownerDocument, count - 1)\n\n updateListeners()\n resetGlobalCursorStyle()\n\n if (count === 1)\n ownerDocumentCounts.delete(ownerDocument)\n }\n}\n\nfunction handlePointerDown(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n isPointerDown = true\n\n recalculateIntersectingHandles({ target, x, y })\n updateListeners()\n\n if (intersectingHandles.length > 0) {\n updateResizeHandlerStates('down', event)\n\n event.preventDefault()\n }\n}\n\nfunction handlePointerMove(event: ResizeEvent) {\n const { x, y } = getResizeEventCoordinates(event)\n\n if (!isPointerDown) {\n const { target } = event\n\n // Recalculate intersecting handles whenever the pointer moves, except if it has already been pressed\n // at that point, the handles may not move with the pointer (depending on constraints)\n // but the same set of active handles should be locked until the pointer is released\n recalculateIntersectingHandles({ target, x, y })\n }\n\n updateResizeHandlerStates('move', event)\n\n // Update cursor based on return value(s) from active handles\n updateCursor()\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n}\n\nfunction handlePointerUp(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n panelConstraintFlags.clear()\n isPointerDown = false\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n\n updateResizeHandlerStates('up', event)\n recalculateIntersectingHandles({ target, x, y })\n updateCursor()\n\n updateListeners()\n}\n\nfunction recalculateIntersectingHandles({\n target,\n x,\n y,\n}: {\n target: EventTarget | null\n x: number\n y: number\n}) {\n intersectingHandles.splice(0)\n\n let targetElement: HTMLElement | null = null\n if (target instanceof HTMLElement)\n targetElement = target\n\n registeredResizeHandlers.forEach((data) => {\n const { element: dragHandleElement, hitAreaMargins } = data\n\n const dragHandleRect = dragHandleElement.getBoundingClientRect()\n const { bottom, left, right, top } = dragHandleRect\n\n const margin = isCoarsePointer\n ? hitAreaMargins.coarse\n : hitAreaMargins.fine\n\n const eventIntersects\n = x >= left - margin\n && x <= right + margin\n && y >= top - margin\n && y <= bottom + margin\n\n if (eventIntersects) {\n // TRICKY\n // We listen for pointers events at the root in order to support hit area margins\n // (determining when the pointer is close enough to an element to be considered a \"hit\")\n // Clicking on an element \"above\" a handle (e.g. a modal) should prevent a hit though\n // so at this point we need to compare stacking order of a potentially intersecting drag handle,\n // and the element that was actually clicked/touched\n if (\n targetElement !== null\n && dragHandleElement !== targetElement\n && !dragHandleElement.contains(targetElement)\n && !targetElement.contains(dragHandleElement)\n // Calculating stacking order has a cost, so we should avoid it if possible\n // That is why we only check potentially intersecting handles,\n // and why we skip if the event target is within the handle's DOM\n && compare(targetElement, dragHandleElement) > 0\n ) {\n // If the target is above the drag handle, then we also need to confirm they overlap\n // If they are beside each other (e.g. a panel and its drag handle) then the handle is still interactive\n //\n // It's not enough to compare only the target\n // The target might be a small element inside of a larger container\n // (For example, a SPAN or a DIV inside of a larger modal dialog)\n let currentElement: HTMLElement | null = targetElement\n let didIntersect = false\n while (currentElement) {\n if (currentElement.contains(dragHandleElement)) {\n break\n }\n else if (\n intersects(\n currentElement.getBoundingClientRect(),\n dragHandleRect,\n true,\n )\n ) {\n didIntersect = true\n break\n }\n\n currentElement = currentElement.parentElement\n }\n\n if (didIntersect)\n return\n }\n\n intersectingHandles.push(data)\n }\n })\n}\n\nexport function reportConstraintsViolation(\n resizeHandleId: string,\n flag: number,\n) {\n panelConstraintFlags.set(resizeHandleId, flag)\n}\n\nfunction updateCursor() {\n let intersectsHorizontal = false\n let intersectsVertical = false\n\n intersectingHandles.forEach((data) => {\n const { direction } = data\n\n if (direction.value === 'horizontal')\n intersectsHorizontal = true\n else\n intersectsVertical = true\n })\n\n let constraintFlags = 0\n panelConstraintFlags.forEach((flag) => {\n constraintFlags |= flag\n })\n\n if (intersectsHorizontal && intersectsVertical)\n setGlobalCursorStyle('intersection', constraintFlags)\n else if (intersectsHorizontal)\n setGlobalCursorStyle('horizontal', constraintFlags)\n else if (intersectsVertical)\n setGlobalCursorStyle('vertical', constraintFlags)\n else\n resetGlobalCursorStyle()\n}\n\nfunction updateListeners() {\n ownerDocumentCounts.forEach((_, ownerDocument) => {\n const { body } = ownerDocument\n\n body.removeEventListener('contextmenu', handlePointerUp)\n body.removeEventListener('mousedown', handlePointerDown)\n body.removeEventListener('mouseleave', handlePointerMove)\n body.removeEventListener('mousemove', handlePointerMove)\n body.removeEventListener('touchmove', handlePointerMove)\n body.removeEventListener('touchstart', handlePointerDown)\n })\n\n window.removeEventListener('mouseup', handlePointerUp)\n window.removeEventListener('touchcancel', handlePointerUp)\n window.removeEventListener('touchend', handlePointerUp)\n\n if (registeredResizeHandlers.size > 0) {\n if (isPointerDown) {\n if (intersectingHandles.length > 0) {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('contextmenu', handlePointerUp)\n body.addEventListener('mouseleave', handlePointerMove)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n }\n })\n }\n\n window.addEventListener('mouseup', handlePointerUp)\n window.addEventListener('touchcancel', handlePointerUp)\n window.addEventListener('touchend', handlePointerUp)\n }\n else {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('mousedown', handlePointerDown)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n body.addEventListener('touchstart', handlePointerDown)\n }\n })\n }\n }\n}\n\nfunction updateResizeHandlerStates(\n action: ResizeHandlerAction,\n event: ResizeEvent,\n) {\n registeredResizeHandlers.forEach((data) => {\n const { setResizeHandlerState } = data\n\n const isActive = intersectingHandles.includes(data)\n\n setResizeHandlerState(action, isActive, event)\n })\n}\n"],"names":["count","resetGlobalCursorStyle","getResizeEventCoordinates","compare","intersects","setGlobalCursorStyle"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { s as setGlobalCursorStyle, r as resetGlobalCursorStyle } from './style.js';
2
1
  import { c as getResizeEventCoordinates } from './events.js';
3
2
  import { i as intersects } from './rects.js';
4
3
  import { c as compare } from './stackingOrder.js';
4
+ import { s as setGlobalCursorStyle, r as resetGlobalCursorStyle } from './style.js';
5
5
 
6
6
  const EXCEEDED_HORIZONTAL_MIN = 1;
7
7
  const EXCEEDED_HORIZONTAL_MAX = 2;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sources":["../../src/Splitter/utils/registry.ts"],"sourcesContent":["import type { Direction, ResizeEvent } from './types'\nimport { resetGlobalCursorStyle, setGlobalCursorStyle } from './style'\nimport { getResizeEventCoordinates } from './events'\nimport { intersects } from './rects'\nimport { compare } from './stackingOrder'\nimport type { Ref } from 'vue'\n\nexport type ResizeHandlerAction = 'down' | 'move' | 'up'\nexport type SetResizeHandlerState = (\n action: ResizeHandlerAction,\n isActive: boolean,\n event: ResizeEvent\n) => void\n\nexport type PointerHitAreaMargins = {\n coarse: number\n fine: number\n}\n\nexport type ResizeHandlerData = {\n direction: Ref<Direction>\n element: HTMLElement\n hitAreaMargins: PointerHitAreaMargins\n setResizeHandlerState: SetResizeHandlerState\n}\n\nexport const EXCEEDED_HORIZONTAL_MIN = 0b0001\nexport const EXCEEDED_HORIZONTAL_MAX = 0b0010\nexport const EXCEEDED_VERTICAL_MIN = 0b0100\nexport const EXCEEDED_VERTICAL_MAX = 0b1000\n\nfunction getInputType(): 'coarse' | 'fine' | undefined {\n if (typeof matchMedia === 'function')\n return matchMedia('(pointer:coarse)').matches ? 'coarse' : 'fine'\n}\n\nconst isCoarsePointer = getInputType() === 'coarse'\n\nconst intersectingHandles: ResizeHandlerData[] = []\nlet isPointerDown = false\nconst ownerDocumentCounts: Map<Document, number> = new Map()\nconst panelConstraintFlags: Map<string, number> = new Map()\n\nconst registeredResizeHandlers = new Set<ResizeHandlerData>()\n\nexport function registerResizeHandle(\n resizeHandleId: string,\n element: HTMLElement,\n direction: Ref<Direction>,\n hitAreaMargins: PointerHitAreaMargins,\n setResizeHandlerState: SetResizeHandlerState,\n) {\n const { ownerDocument } = element\n\n const data: ResizeHandlerData = {\n direction,\n element,\n hitAreaMargins,\n setResizeHandlerState,\n }\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 0\n ownerDocumentCounts.set(ownerDocument, count + 1)\n\n registeredResizeHandlers.add(data)\n\n updateListeners()\n\n return function unregisterResizeHandle() {\n panelConstraintFlags.delete(resizeHandleId)\n registeredResizeHandlers.delete(data)\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 1\n ownerDocumentCounts.set(ownerDocument, count - 1)\n\n updateListeners()\n resetGlobalCursorStyle()\n\n if (count === 1)\n ownerDocumentCounts.delete(ownerDocument)\n }\n}\n\nfunction handlePointerDown(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n isPointerDown = true\n\n recalculateIntersectingHandles({ target, x, y })\n updateListeners()\n\n if (intersectingHandles.length > 0) {\n updateResizeHandlerStates('down', event)\n\n event.preventDefault()\n }\n}\n\nfunction handlePointerMove(event: ResizeEvent) {\n const { x, y } = getResizeEventCoordinates(event)\n\n if (!isPointerDown) {\n const { target } = event\n\n // Recalculate intersecting handles whenever the pointer moves, except if it has already been pressed\n // at that point, the handles may not move with the pointer (depending on constraints)\n // but the same set of active handles should be locked until the pointer is released\n recalculateIntersectingHandles({ target, x, y })\n }\n\n updateResizeHandlerStates('move', event)\n\n // Update cursor based on return value(s) from active handles\n updateCursor()\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n}\n\nfunction handlePointerUp(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n panelConstraintFlags.clear()\n isPointerDown = false\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n\n updateResizeHandlerStates('up', event)\n recalculateIntersectingHandles({ target, x, y })\n updateCursor()\n\n updateListeners()\n}\n\nfunction recalculateIntersectingHandles({\n target,\n x,\n y,\n}: {\n target: EventTarget | null\n x: number\n y: number\n}) {\n intersectingHandles.splice(0)\n\n let targetElement: HTMLElement | null = null\n if (target instanceof HTMLElement)\n targetElement = target\n\n registeredResizeHandlers.forEach((data) => {\n const { element: dragHandleElement, hitAreaMargins } = data\n\n const dragHandleRect = dragHandleElement.getBoundingClientRect()\n const { bottom, left, right, top } = dragHandleRect\n\n const margin = isCoarsePointer\n ? hitAreaMargins.coarse\n : hitAreaMargins.fine\n\n const eventIntersects\n = x >= left - margin\n && x <= right + margin\n && y >= top - margin\n && y <= bottom + margin\n\n if (eventIntersects) {\n // TRICKY\n // We listen for pointers events at the root in order to support hit area margins\n // (determining when the pointer is close enough to an element to be considered a \"hit\")\n // Clicking on an element \"above\" a handle (e.g. a modal) should prevent a hit though\n // so at this point we need to compare stacking order of a potentially intersecting drag handle,\n // and the element that was actually clicked/touched\n if (\n targetElement !== null\n && dragHandleElement !== targetElement\n && !dragHandleElement.contains(targetElement)\n && !targetElement.contains(dragHandleElement)\n // Calculating stacking order has a cost, so we should avoid it if possible\n // That is why we only check potentially intersecting handles,\n // and why we skip if the event target is within the handle's DOM\n && compare(targetElement, dragHandleElement) > 0\n ) {\n // If the target is above the drag handle, then we also need to confirm they overlap\n // If they are beside each other (e.g. a panel and its drag handle) then the handle is still interactive\n //\n // It's not enough to compare only the target\n // The target might be a small element inside of a larger container\n // (For example, a SPAN or a DIV inside of a larger modal dialog)\n let currentElement: HTMLElement | null = targetElement\n let didIntersect = false\n while (currentElement) {\n if (currentElement.contains(dragHandleElement)) {\n break\n }\n else if (\n intersects(\n currentElement.getBoundingClientRect(),\n dragHandleRect,\n true,\n )\n ) {\n didIntersect = true\n break\n }\n\n currentElement = currentElement.parentElement\n }\n\n if (didIntersect)\n return\n }\n\n intersectingHandles.push(data)\n }\n })\n}\n\nexport function reportConstraintsViolation(\n resizeHandleId: string,\n flag: number,\n) {\n panelConstraintFlags.set(resizeHandleId, flag)\n}\n\nfunction updateCursor() {\n let intersectsHorizontal = false\n let intersectsVertical = false\n\n intersectingHandles.forEach((data) => {\n const { direction } = data\n\n if (direction.value === 'horizontal')\n intersectsHorizontal = true\n else\n intersectsVertical = true\n })\n\n let constraintFlags = 0\n panelConstraintFlags.forEach((flag) => {\n constraintFlags |= flag\n })\n\n if (intersectsHorizontal && intersectsVertical)\n setGlobalCursorStyle('intersection', constraintFlags)\n else if (intersectsHorizontal)\n setGlobalCursorStyle('horizontal', constraintFlags)\n else if (intersectsVertical)\n setGlobalCursorStyle('vertical', constraintFlags)\n else\n resetGlobalCursorStyle()\n}\n\nfunction updateListeners() {\n ownerDocumentCounts.forEach((_, ownerDocument) => {\n const { body } = ownerDocument\n\n body.removeEventListener('contextmenu', handlePointerUp)\n body.removeEventListener('mousedown', handlePointerDown)\n body.removeEventListener('mouseleave', handlePointerMove)\n body.removeEventListener('mousemove', handlePointerMove)\n body.removeEventListener('touchmove', handlePointerMove)\n body.removeEventListener('touchstart', handlePointerDown)\n })\n\n window.removeEventListener('mouseup', handlePointerUp)\n window.removeEventListener('touchcancel', handlePointerUp)\n window.removeEventListener('touchend', handlePointerUp)\n\n if (registeredResizeHandlers.size > 0) {\n if (isPointerDown) {\n if (intersectingHandles.length > 0) {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('contextmenu', handlePointerUp)\n body.addEventListener('mouseleave', handlePointerMove)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n }\n })\n }\n\n window.addEventListener('mouseup', handlePointerUp)\n window.addEventListener('touchcancel', handlePointerUp)\n window.addEventListener('touchend', handlePointerUp)\n }\n else {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('mousedown', handlePointerDown)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n body.addEventListener('touchstart', handlePointerDown)\n }\n })\n }\n }\n}\n\nfunction updateResizeHandlerStates(\n action: ResizeHandlerAction,\n event: ResizeEvent,\n) {\n registeredResizeHandlers.forEach((data) => {\n const { setResizeHandlerState } = data\n\n const isActive = intersectingHandles.includes(data)\n\n setResizeHandlerState(action, isActive, event)\n })\n}\n"],"names":["count"],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sources":["../../src/Splitter/utils/registry.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { Direction, ResizeEvent } from './types'\nimport { getResizeEventCoordinates } from './events'\nimport { intersects } from './rects'\nimport { compare } from './stackingOrder'\nimport { resetGlobalCursorStyle, setGlobalCursorStyle } from './style'\n\nexport type ResizeHandlerAction = 'down' | 'move' | 'up'\nexport type SetResizeHandlerState = (\n action: ResizeHandlerAction,\n isActive: boolean,\n event: ResizeEvent\n) => void\n\nexport type PointerHitAreaMargins = {\n coarse: number\n fine: number\n}\n\nexport type ResizeHandlerData = {\n direction: Ref<Direction>\n element: HTMLElement\n hitAreaMargins: PointerHitAreaMargins\n setResizeHandlerState: SetResizeHandlerState\n}\n\nexport const EXCEEDED_HORIZONTAL_MIN = 0b0001\nexport const EXCEEDED_HORIZONTAL_MAX = 0b0010\nexport const EXCEEDED_VERTICAL_MIN = 0b0100\nexport const EXCEEDED_VERTICAL_MAX = 0b1000\n\nfunction getInputType(): 'coarse' | 'fine' | undefined {\n if (typeof matchMedia === 'function')\n return matchMedia('(pointer:coarse)').matches ? 'coarse' : 'fine'\n}\n\nconst isCoarsePointer = getInputType() === 'coarse'\n\nconst intersectingHandles: ResizeHandlerData[] = []\nlet isPointerDown = false\nconst ownerDocumentCounts: Map<Document, number> = new Map()\nconst panelConstraintFlags: Map<string, number> = new Map()\n\nconst registeredResizeHandlers = new Set<ResizeHandlerData>()\n\nexport function registerResizeHandle(\n resizeHandleId: string,\n element: HTMLElement,\n direction: Ref<Direction>,\n hitAreaMargins: PointerHitAreaMargins,\n setResizeHandlerState: SetResizeHandlerState,\n) {\n const { ownerDocument } = element\n\n const data: ResizeHandlerData = {\n direction,\n element,\n hitAreaMargins,\n setResizeHandlerState,\n }\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 0\n ownerDocumentCounts.set(ownerDocument, count + 1)\n\n registeredResizeHandlers.add(data)\n\n updateListeners()\n\n return function unregisterResizeHandle() {\n panelConstraintFlags.delete(resizeHandleId)\n registeredResizeHandlers.delete(data)\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 1\n ownerDocumentCounts.set(ownerDocument, count - 1)\n\n updateListeners()\n resetGlobalCursorStyle()\n\n if (count === 1)\n ownerDocumentCounts.delete(ownerDocument)\n }\n}\n\nfunction handlePointerDown(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n isPointerDown = true\n\n recalculateIntersectingHandles({ target, x, y })\n updateListeners()\n\n if (intersectingHandles.length > 0) {\n updateResizeHandlerStates('down', event)\n\n event.preventDefault()\n }\n}\n\nfunction handlePointerMove(event: ResizeEvent) {\n const { x, y } = getResizeEventCoordinates(event)\n\n if (!isPointerDown) {\n const { target } = event\n\n // Recalculate intersecting handles whenever the pointer moves, except if it has already been pressed\n // at that point, the handles may not move with the pointer (depending on constraints)\n // but the same set of active handles should be locked until the pointer is released\n recalculateIntersectingHandles({ target, x, y })\n }\n\n updateResizeHandlerStates('move', event)\n\n // Update cursor based on return value(s) from active handles\n updateCursor()\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n}\n\nfunction handlePointerUp(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n panelConstraintFlags.clear()\n isPointerDown = false\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n\n updateResizeHandlerStates('up', event)\n recalculateIntersectingHandles({ target, x, y })\n updateCursor()\n\n updateListeners()\n}\n\nfunction recalculateIntersectingHandles({\n target,\n x,\n y,\n}: {\n target: EventTarget | null\n x: number\n y: number\n}) {\n intersectingHandles.splice(0)\n\n let targetElement: HTMLElement | null = null\n if (target instanceof HTMLElement)\n targetElement = target\n\n registeredResizeHandlers.forEach((data) => {\n const { element: dragHandleElement, hitAreaMargins } = data\n\n const dragHandleRect = dragHandleElement.getBoundingClientRect()\n const { bottom, left, right, top } = dragHandleRect\n\n const margin = isCoarsePointer\n ? hitAreaMargins.coarse\n : hitAreaMargins.fine\n\n const eventIntersects\n = x >= left - margin\n && x <= right + margin\n && y >= top - margin\n && y <= bottom + margin\n\n if (eventIntersects) {\n // TRICKY\n // We listen for pointers events at the root in order to support hit area margins\n // (determining when the pointer is close enough to an element to be considered a \"hit\")\n // Clicking on an element \"above\" a handle (e.g. a modal) should prevent a hit though\n // so at this point we need to compare stacking order of a potentially intersecting drag handle,\n // and the element that was actually clicked/touched\n if (\n targetElement !== null\n && dragHandleElement !== targetElement\n && !dragHandleElement.contains(targetElement)\n && !targetElement.contains(dragHandleElement)\n // Calculating stacking order has a cost, so we should avoid it if possible\n // That is why we only check potentially intersecting handles,\n // and why we skip if the event target is within the handle's DOM\n && compare(targetElement, dragHandleElement) > 0\n ) {\n // If the target is above the drag handle, then we also need to confirm they overlap\n // If they are beside each other (e.g. a panel and its drag handle) then the handle is still interactive\n //\n // It's not enough to compare only the target\n // The target might be a small element inside of a larger container\n // (For example, a SPAN or a DIV inside of a larger modal dialog)\n let currentElement: HTMLElement | null = targetElement\n let didIntersect = false\n while (currentElement) {\n if (currentElement.contains(dragHandleElement)) {\n break\n }\n else if (\n intersects(\n currentElement.getBoundingClientRect(),\n dragHandleRect,\n true,\n )\n ) {\n didIntersect = true\n break\n }\n\n currentElement = currentElement.parentElement\n }\n\n if (didIntersect)\n return\n }\n\n intersectingHandles.push(data)\n }\n })\n}\n\nexport function reportConstraintsViolation(\n resizeHandleId: string,\n flag: number,\n) {\n panelConstraintFlags.set(resizeHandleId, flag)\n}\n\nfunction updateCursor() {\n let intersectsHorizontal = false\n let intersectsVertical = false\n\n intersectingHandles.forEach((data) => {\n const { direction } = data\n\n if (direction.value === 'horizontal')\n intersectsHorizontal = true\n else\n intersectsVertical = true\n })\n\n let constraintFlags = 0\n panelConstraintFlags.forEach((flag) => {\n constraintFlags |= flag\n })\n\n if (intersectsHorizontal && intersectsVertical)\n setGlobalCursorStyle('intersection', constraintFlags)\n else if (intersectsHorizontal)\n setGlobalCursorStyle('horizontal', constraintFlags)\n else if (intersectsVertical)\n setGlobalCursorStyle('vertical', constraintFlags)\n else\n resetGlobalCursorStyle()\n}\n\nfunction updateListeners() {\n ownerDocumentCounts.forEach((_, ownerDocument) => {\n const { body } = ownerDocument\n\n body.removeEventListener('contextmenu', handlePointerUp)\n body.removeEventListener('mousedown', handlePointerDown)\n body.removeEventListener('mouseleave', handlePointerMove)\n body.removeEventListener('mousemove', handlePointerMove)\n body.removeEventListener('touchmove', handlePointerMove)\n body.removeEventListener('touchstart', handlePointerDown)\n })\n\n window.removeEventListener('mouseup', handlePointerUp)\n window.removeEventListener('touchcancel', handlePointerUp)\n window.removeEventListener('touchend', handlePointerUp)\n\n if (registeredResizeHandlers.size > 0) {\n if (isPointerDown) {\n if (intersectingHandles.length > 0) {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('contextmenu', handlePointerUp)\n body.addEventListener('mouseleave', handlePointerMove)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n }\n })\n }\n\n window.addEventListener('mouseup', handlePointerUp)\n window.addEventListener('touchcancel', handlePointerUp)\n window.addEventListener('touchend', handlePointerUp)\n }\n else {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('mousedown', handlePointerDown)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n body.addEventListener('touchstart', handlePointerDown)\n }\n })\n }\n }\n}\n\nfunction updateResizeHandlerStates(\n action: ResizeHandlerAction,\n event: ResizeEvent,\n) {\n registeredResizeHandlers.forEach((data) => {\n const { setResizeHandlerState } = data\n\n const isActive = intersectingHandles.includes(data)\n\n setResizeHandlerState(action, isActive, event)\n })\n}\n"],"names":["count"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- const utils_constants = require('./constants.cjs');
4
3
  const utils_assert = require('./assert.cjs');
5
4
  const utils_compare = require('./compare.cjs');
5
+ const utils_constants = require('./constants.cjs');
6
6
 
7
7
  function resizePanel({
8
8
  panelConstraints: panelConstraintsArray,
@@ -1 +1 @@
1
- {"version":3,"file":"resizePanel.cjs","sources":["../../src/Splitter/utils/resizePanel.ts"],"sourcesContent":["import type { PanelConstraints } from '../SplitterPanel.vue'\nimport { PRECISION } from './constants'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers } from './compare'\n\n// Panel size must be in percentages; pixel values should be pre-converted\nexport function resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex,\n size,\n}: {\n panelConstraints: PanelConstraints[]\n panelIndex: number\n size: number\n}) {\n const panelConstraints = panelConstraintsArray[panelIndex]\n assert(panelConstraints != null)\n\n const { collapsedSize = 0, collapsible, maxSize = 100, minSize = 0 } = panelConstraints\n\n if (fuzzyCompareNumbers(size, minSize) < 0) {\n if (collapsible) {\n // Collapsible panels should snap closed or open only once they cross the halfway point between collapsed and min size.\n const halfwayPoint = (collapsedSize + minSize) / 2\n if (fuzzyCompareNumbers(size, halfwayPoint) < 0)\n size = collapsedSize\n else\n size = minSize\n }\n else {\n size = minSize\n }\n }\n\n size = Math.min(maxSize, size)\n size = Number.parseFloat(size.toFixed(PRECISION))\n\n return size\n}\n"],"names":["assert","fuzzyCompareNumbers","PRECISION"],"mappings":";;;;;;AAMO,SAAS,WAAY,CAAA;AAAA,EAC1B,gBAAkB,EAAA,qBAAA;AAAA,EAClB,UAAA;AAAA,EACA;AACF,CAIG,EAAA;AACD,EAAM,MAAA,gBAAA,GAAmB,sBAAsB,UAAU,CAAA;AACzD,EAAAA,mBAAA,CAAO,oBAAoB,IAAI,CAAA;AAE/B,EAAM,MAAA,EAAE,gBAAgB,CAAG,EAAA,WAAA,EAAa,UAAU,GAAK,EAAA,OAAA,GAAU,GAAM,GAAA,gBAAA;AAEvE,EAAA,IAAIC,iCAAoB,CAAA,IAAA,EAAM,OAAO,CAAA,GAAI,CAAG,EAAA;AAC1C,IAAA,IAAI,WAAa,EAAA;AAEf,MAAM,MAAA,YAAA,GAAA,CAAgB,gBAAgB,OAAW,IAAA,CAAA;AACjD,MAAI,IAAAA,iCAAA,CAAoB,IAAM,EAAA,YAAY,CAAI,GAAA,CAAA;AAC5C,QAAO,IAAA,GAAA,aAAA;AAAA;AAEP,QAAO,IAAA,GAAA,OAAA;AAAA,KAEN,MAAA;AACH,MAAO,IAAA,GAAA,OAAA;AAAA;AACT;AAGF,EAAO,IAAA,GAAA,IAAA,CAAK,GAAI,CAAA,OAAA,EAAS,IAAI,CAAA;AAC7B,EAAA,IAAA,GAAO,MAAO,CAAA,UAAA,CAAW,IAAK,CAAA,OAAA,CAAQC,yBAAS,CAAC,CAAA;AAEhD,EAAO,OAAA,IAAA;AACT;;;;"}
1
+ {"version":3,"file":"resizePanel.cjs","sources":["../../src/Splitter/utils/resizePanel.ts"],"sourcesContent":["import type { PanelConstraints } from '../SplitterPanel.vue'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers } from './compare'\nimport { PRECISION } from './constants'\n\n// Panel size must be in percentages; pixel values should be pre-converted\nexport function resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex,\n size,\n}: {\n panelConstraints: PanelConstraints[]\n panelIndex: number\n size: number\n}) {\n const panelConstraints = panelConstraintsArray[panelIndex]\n assert(panelConstraints != null)\n\n const { collapsedSize = 0, collapsible, maxSize = 100, minSize = 0 } = panelConstraints\n\n if (fuzzyCompareNumbers(size, minSize) < 0) {\n if (collapsible) {\n // Collapsible panels should snap closed or open only once they cross the halfway point between collapsed and min size.\n const halfwayPoint = (collapsedSize + minSize) / 2\n if (fuzzyCompareNumbers(size, halfwayPoint) < 0)\n size = collapsedSize\n else\n size = minSize\n }\n else {\n size = minSize\n }\n }\n\n size = Math.min(maxSize, size)\n size = Number.parseFloat(size.toFixed(PRECISION))\n\n return size\n}\n"],"names":["assert","fuzzyCompareNumbers","PRECISION"],"mappings":";;;;;;AAMO,SAAS,WAAY,CAAA;AAAA,EAC1B,gBAAkB,EAAA,qBAAA;AAAA,EAClB,UAAA;AAAA,EACA;AACF,CAIG,EAAA;AACD,EAAM,MAAA,gBAAA,GAAmB,sBAAsB,UAAU,CAAA;AACzD,EAAAA,mBAAA,CAAO,oBAAoB,IAAI,CAAA;AAE/B,EAAM,MAAA,EAAE,gBAAgB,CAAG,EAAA,WAAA,EAAa,UAAU,GAAK,EAAA,OAAA,GAAU,GAAM,GAAA,gBAAA;AAEvE,EAAA,IAAIC,iCAAoB,CAAA,IAAA,EAAM,OAAO,CAAA,GAAI,CAAG,EAAA;AAC1C,IAAA,IAAI,WAAa,EAAA;AAEf,MAAM,MAAA,YAAA,GAAA,CAAgB,gBAAgB,OAAW,IAAA,CAAA;AACjD,MAAI,IAAAA,iCAAA,CAAoB,IAAM,EAAA,YAAY,CAAI,GAAA,CAAA;AAC5C,QAAO,IAAA,GAAA,aAAA;AAAA;AAEP,QAAO,IAAA,GAAA,OAAA;AAAA,KAEN,MAAA;AACH,MAAO,IAAA,GAAA,OAAA;AAAA;AACT;AAGF,EAAO,IAAA,GAAA,IAAA,CAAK,GAAI,CAAA,OAAA,EAAS,IAAI,CAAA;AAC7B,EAAA,IAAA,GAAO,MAAO,CAAA,UAAA,CAAW,IAAK,CAAA,OAAA,CAAQC,yBAAS,CAAC,CAAA;AAEhD,EAAO,OAAA,IAAA;AACT;;;;"}
@@ -1,6 +1,6 @@
1
- import { P as PRECISION } from './constants.js';
2
1
  import { a as assert } from './assert.js';
3
2
  import { a as fuzzyCompareNumbers } from './compare.js';
3
+ import { P as PRECISION } from './constants.js';
4
4
 
5
5
  function resizePanel({
6
6
  panelConstraints: panelConstraintsArray,
@@ -1 +1 @@
1
- {"version":3,"file":"resizePanel.js","sources":["../../src/Splitter/utils/resizePanel.ts"],"sourcesContent":["import type { PanelConstraints } from '../SplitterPanel.vue'\nimport { PRECISION } from './constants'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers } from './compare'\n\n// Panel size must be in percentages; pixel values should be pre-converted\nexport function resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex,\n size,\n}: {\n panelConstraints: PanelConstraints[]\n panelIndex: number\n size: number\n}) {\n const panelConstraints = panelConstraintsArray[panelIndex]\n assert(panelConstraints != null)\n\n const { collapsedSize = 0, collapsible, maxSize = 100, minSize = 0 } = panelConstraints\n\n if (fuzzyCompareNumbers(size, minSize) < 0) {\n if (collapsible) {\n // Collapsible panels should snap closed or open only once they cross the halfway point between collapsed and min size.\n const halfwayPoint = (collapsedSize + minSize) / 2\n if (fuzzyCompareNumbers(size, halfwayPoint) < 0)\n size = collapsedSize\n else\n size = minSize\n }\n else {\n size = minSize\n }\n }\n\n size = Math.min(maxSize, size)\n size = Number.parseFloat(size.toFixed(PRECISION))\n\n return size\n}\n"],"names":[],"mappings":";;;;AAMO,SAAS,WAAY,CAAA;AAAA,EAC1B,gBAAkB,EAAA,qBAAA;AAAA,EAClB,UAAA;AAAA,EACA;AACF,CAIG,EAAA;AACD,EAAM,MAAA,gBAAA,GAAmB,sBAAsB,UAAU,CAAA;AACzD,EAAA,MAAA,CAAO,oBAAoB,IAAI,CAAA;AAE/B,EAAM,MAAA,EAAE,gBAAgB,CAAG,EAAA,WAAA,EAAa,UAAU,GAAK,EAAA,OAAA,GAAU,GAAM,GAAA,gBAAA;AAEvE,EAAA,IAAI,mBAAoB,CAAA,IAAA,EAAM,OAAO,CAAA,GAAI,CAAG,EAAA;AAC1C,IAAA,IAAI,WAAa,EAAA;AAEf,MAAM,MAAA,YAAA,GAAA,CAAgB,gBAAgB,OAAW,IAAA,CAAA;AACjD,MAAI,IAAA,mBAAA,CAAoB,IAAM,EAAA,YAAY,CAAI,GAAA,CAAA;AAC5C,QAAO,IAAA,GAAA,aAAA;AAAA;AAEP,QAAO,IAAA,GAAA,OAAA;AAAA,KAEN,MAAA;AACH,MAAO,IAAA,GAAA,OAAA;AAAA;AACT;AAGF,EAAO,IAAA,GAAA,IAAA,CAAK,GAAI,CAAA,OAAA,EAAS,IAAI,CAAA;AAC7B,EAAA,IAAA,GAAO,MAAO,CAAA,UAAA,CAAW,IAAK,CAAA,OAAA,CAAQ,SAAS,CAAC,CAAA;AAEhD,EAAO,OAAA,IAAA;AACT;;;;"}
1
+ {"version":3,"file":"resizePanel.js","sources":["../../src/Splitter/utils/resizePanel.ts"],"sourcesContent":["import type { PanelConstraints } from '../SplitterPanel.vue'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers } from './compare'\nimport { PRECISION } from './constants'\n\n// Panel size must be in percentages; pixel values should be pre-converted\nexport function resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex,\n size,\n}: {\n panelConstraints: PanelConstraints[]\n panelIndex: number\n size: number\n}) {\n const panelConstraints = panelConstraintsArray[panelIndex]\n assert(panelConstraints != null)\n\n const { collapsedSize = 0, collapsible, maxSize = 100, minSize = 0 } = panelConstraints\n\n if (fuzzyCompareNumbers(size, minSize) < 0) {\n if (collapsible) {\n // Collapsible panels should snap closed or open only once they cross the halfway point between collapsed and min size.\n const halfwayPoint = (collapsedSize + minSize) / 2\n if (fuzzyCompareNumbers(size, halfwayPoint) < 0)\n size = collapsedSize\n else\n size = minSize\n }\n else {\n size = minSize\n }\n }\n\n size = Math.min(maxSize, size)\n size = Number.parseFloat(size.toFixed(PRECISION))\n\n return size\n}\n"],"names":[],"mappings":";;;;AAMO,SAAS,WAAY,CAAA;AAAA,EAC1B,gBAAkB,EAAA,qBAAA;AAAA,EAClB,UAAA;AAAA,EACA;AACF,CAIG,EAAA;AACD,EAAM,MAAA,gBAAA,GAAmB,sBAAsB,UAAU,CAAA;AACzD,EAAA,MAAA,CAAO,oBAAoB,IAAI,CAAA;AAE/B,EAAM,MAAA,EAAE,gBAAgB,CAAG,EAAA,WAAA,EAAa,UAAU,GAAK,EAAA,OAAA,GAAU,GAAM,GAAA,gBAAA;AAEvE,EAAA,IAAI,mBAAoB,CAAA,IAAA,EAAM,OAAO,CAAA,GAAI,CAAG,EAAA;AAC1C,IAAA,IAAI,WAAa,EAAA;AAEf,MAAM,MAAA,YAAA,GAAA,CAAgB,gBAAgB,OAAW,IAAA,CAAA;AACjD,MAAI,IAAA,mBAAA,CAAoB,IAAM,EAAA,YAAY,CAAI,GAAA,CAAA;AAC5C,QAAO,IAAA,GAAA,aAAA;AAAA;AAEP,QAAO,IAAA,GAAA,OAAA;AAAA,KAEN,MAAA;AACH,MAAO,IAAA,GAAA,OAAA;AAAA;AACT;AAGF,EAAO,IAAA,GAAA,IAAA,CAAK,GAAI,CAAA,OAAA,EAAS,IAAI,CAAA;AAC7B,EAAA,IAAA,GAAO,MAAO,CAAA,UAAA,CAAW,IAAK,CAAA,OAAA,CAAQ,SAAS,CAAC,CAAA;AAEhD,EAAO,OAAA,IAAA;AACT;;;;"}
@@ -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 { CSSProperties } from 'vue'\nimport type { PanelData } from '../SplitterPanel.vue'\nimport type { DragState } from './types'\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 +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 { CSSProperties } from 'vue'\nimport type { PanelData } from '../SplitterPanel.vue'\nimport type { DragState } from './types'\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.2.0",
4
+ "version": "2.3.0",
5
5
  "description": "Vue port for Radix UI Primitives.",
6
6
  "author": "UnoVue Contributors (https://github.com/unovue)",
7
7
  "license": "MIT",
@@ -113,20 +113,19 @@
113
113
  "@testing-library/vue": "^8.1.0",
114
114
  "@tsconfig/node18": "^18.2.4",
115
115
  "@types/node": "^20.17.17",
116
- "@vitejs/plugin-vue": "^5.1.4",
117
- "@vitejs/plugin-vue-jsx": "^4.0.1",
116
+ "@vitejs/plugin-vue": "^5.2.4",
118
117
  "@vitest/coverage-istanbul": "^2.1.9",
119
118
  "@vue/test-utils": "^2.4.6",
120
- "@vue/tsconfig": "^0.5.1",
119
+ "@vue/tsconfig": "^0.7.0",
121
120
  "jsdom": "^25.0.1",
122
- "vite": "^5.4.16",
123
- "vite-plugin-dts": "^4.2.3",
121
+ "vite": "^5.4.19",
122
+ "vite-plugin-dts": "^4.5.4",
124
123
  "vitest": "^2.1.9",
125
124
  "vitest-axe": "0.1.0",
126
125
  "vitest-canvas-mock": "^0.3.3",
127
126
  "vue": "3.5.13",
128
- "vue-component-type-helpers": "^2.1.6",
129
- "vue-tsc": "2.1.6"
127
+ "vue-component-type-helpers": "^2.2.10",
128
+ "vue-tsc": "2.2.10"
130
129
  },
131
130
  "scripts": {
132
131
  "build": "pnpm type-check && pnpm build-only",