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":"ScrollAreaRoot.js","sources":["../../src/ScrollArea/ScrollAreaRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Direction, ScrollType } from './types'\nimport { createContext, useDirection, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaRootContext {\n type: Ref<ScrollType>\n dir: Ref<Direction>\n scrollHideDelay: Ref<number>\n scrollArea: Ref<HTMLElement | undefined>\n viewport: Ref<HTMLElement | undefined>\n onViewportChange: (viewport: HTMLElement | null) => void\n content: Ref<HTMLElement | undefined>\n onContentChange: (content: HTMLElement) => void\n scrollbarX: Ref<HTMLElement | undefined>\n onScrollbarXChange: (scrollbar: HTMLElement | null) => void\n scrollbarXEnabled: Ref<boolean>\n onScrollbarXEnabledChange: (rendered: boolean) => void\n scrollbarY: Ref<HTMLElement | undefined>\n onScrollbarYChange: (scrollbar: HTMLElement | null) => void\n scrollbarYEnabled: Ref<boolean>\n onScrollbarYEnabledChange: (rendered: boolean) => void\n onCornerWidthChange: (width: number) => void\n onCornerHeightChange: (height: number) => void\n}\n\nexport const [injectScrollAreaRootContext, provideScrollAreaRootContext]\n = createContext<ScrollAreaRootContext>('ScrollAreaRoot')\n\nexport interface ScrollAreaRootProps extends PrimitiveProps {\n /**\n * Describes the nature of scrollbar visibility, similar to how the scrollbar preferences in MacOS control visibility of native scrollbars.\n *\n * `auto` - means that scrollbars are visible when content is overflowing on the corresponding orientation. <br>\n * `always` - means that scrollbars are always visible regardless of whether the content is overflowing.<br>\n * `scroll` - means that scrollbars are visible when the user is scrolling along its corresponding orientation.<br>\n * `hover` - when the user is scrolling along its corresponding orientation and when the user is hovering over the scroll area.\n */\n type?: ScrollType\n /** The reading direction of the combobox when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** If type is set to either `scroll` or `hover`, this prop determines the length of time, in milliseconds, <br> before the scrollbars are hidden after the user stops interacting with scrollbars. */\n scrollHideDelay?: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, toRefs } from 'vue'\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<ScrollAreaRootProps>(), {\n type: 'hover',\n scrollHideDelay: 600,\n})\n\nconst cornerWidth = ref(0)\nconst cornerHeight = ref(0)\nconst viewport = ref<HTMLElement>()\nconst content = ref<HTMLElement>()\nconst scrollbarX = ref<HTMLElement>()\nconst scrollbarY = ref<HTMLElement>()\nconst scrollbarXEnabled = ref(false)\nconst scrollbarYEnabled = ref(false)\n\nconst { type, dir: propDir, scrollHideDelay } = toRefs(props)\nconst dir = useDirection(propDir)\n\nfunction scrollTop() {\n viewport.value?.scrollTo({\n top: 0,\n })\n}\nfunction scrollTopLeft() {\n viewport.value?.scrollTo({\n top: 0,\n left: 0,\n })\n}\n\ndefineExpose({\n /** Viewport element within ScrollArea */\n viewport,\n /** Scroll viewport to top */\n scrollTop,\n /** Scroll viewport to top-left */\n scrollTopLeft,\n})\n\nconst { forwardRef, currentElement: scrollArea } = useForwardExpose()\n\nprovideScrollAreaRootContext({\n type,\n dir,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: (el) => {\n viewport.value = el || undefined\n },\n content,\n onContentChange: (el) => {\n content.value = el\n },\n scrollbarX,\n scrollbarXEnabled,\n scrollbarY,\n scrollbarYEnabled,\n onScrollbarXChange: (scrollbar) => {\n scrollbarX.value = scrollbar || undefined\n },\n onScrollbarYChange: (scrollbar) => {\n scrollbarY.value = scrollbar || undefined\n },\n onScrollbarXEnabledChange: (rendered) => {\n scrollbarXEnabled.value = rendered\n },\n onScrollbarYEnabledChange: (rendered) => {\n scrollbarYEnabled.value = rendered\n },\n onCornerWidthChange: (width) => {\n cornerWidth.value = width\n },\n onCornerHeightChange: (height) => {\n cornerHeight.value = height\n },\n})\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n :dir=\"dir\"\n :style=\"{\n position: 'relative',\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n ['--reka-scroll-area-corner-width' as any]: `${cornerWidth}px`,\n ['--reka-scroll-area-corner-height' as any]: `${cornerHeight}px`,\n }\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;AA2BO,MAAM,CAAC,2BAAA,EAA6B,4BAA4B,CAAA,GACnE,cAAqC,gBAAgB;;;;;;;;;;;AAuBzD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAM,MAAA,WAAA,GAAc,IAAI,CAAC,CAAA;AACzB,IAAM,MAAA,YAAA,GAAe,IAAI,CAAC,CAAA;AAC1B,IAAA,MAAM,WAAW,GAAiB,EAAA;AAClC,IAAA,MAAM,UAAU,GAAiB,EAAA;AACjC,IAAA,MAAM,aAAa,GAAiB,EAAA;AACpC,IAAA,MAAM,aAAa,GAAiB,EAAA;AACpC,IAAM,MAAA,iBAAA,GAAoB,IAAI,KAAK,CAAA;AACnC,IAAM,MAAA,iBAAA,GAAoB,IAAI,KAAK,CAAA;AAEnC,IAAA,MAAM,EAAE,IAAM,EAAA,GAAA,EAAK,SAAS,eAAgB,EAAA,GAAI,OAAO,KAAK,CAAA;AAC5D,IAAM,MAAA,GAAA,GAAM,aAAa,OAAO,CAAA;AAEhC,IAAA,SAAS,SAAY,GAAA;AACnB,MAAA,QAAA,CAAS,OAAO,QAAS,CAAA;AAAA,QACvB,GAAK,EAAA;AAAA,OACN,CAAA;AAAA;AAEH,IAAA,SAAS,aAAgB,GAAA;AACvB,MAAA,QAAA,CAAS,OAAO,QAAS,CAAA;AAAA,QACvB,GAAK,EAAA,CAAA;AAAA,QACL,IAAM,EAAA;AAAA,OACP,CAAA;AAAA;AAGH,IAAa,QAAA,CAAA;AAAA;AAAA,MAEX,QAAA;AAAA;AAAA,MAEA,SAAA;AAAA;AAAA,MAEA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,UAAA,KAAe,gBAAiB,EAAA;AAEpE,IAA6B,4BAAA,CAAA;AAAA,MAC3B,IAAA;AAAA,MACA,GAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA,EAAkB,CAAC,EAAO,KAAA;AACxB,QAAA,QAAA,CAAS,QAAQ,EAAM,IAAA,MAAA;AAAA,OACzB;AAAA,MACA,OAAA;AAAA,MACA,eAAA,EAAiB,CAAC,EAAO,KAAA;AACvB,QAAA,OAAA,CAAQ,KAAQ,GAAA,EAAA;AAAA,OAClB;AAAA,MACA,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,kBAAA,EAAoB,CAAC,SAAc,KAAA;AACjC,QAAA,UAAA,CAAW,QAAQ,SAAa,IAAA,MAAA;AAAA,OAClC;AAAA,MACA,kBAAA,EAAoB,CAAC,SAAc,KAAA;AACjC,QAAA,UAAA,CAAW,QAAQ,SAAa,IAAA,MAAA;AAAA,OAClC;AAAA,MACA,yBAAA,EAA2B,CAAC,QAAa,KAAA;AACvC,QAAA,iBAAA,CAAkB,KAAQ,GAAA,QAAA;AAAA,OAC5B;AAAA,MACA,yBAAA,EAA2B,CAAC,QAAa,KAAA;AACvC,QAAA,iBAAA,CAAkB,KAAQ,GAAA,QAAA;AAAA,OAC5B;AAAA,MACA,mBAAA,EAAqB,CAAC,KAAU,KAAA;AAC9B,QAAA,WAAA,CAAY,KAAQ,GAAA,KAAA;AAAA,OACtB;AAAA,MACA,oBAAA,EAAsB,CAAC,MAAW,KAAA;AAChC,QAAA,YAAA,CAAa,KAAQ,GAAA,MAAA;AAAA;AACvB,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaRoot.js","sources":["../../src/ScrollArea/ScrollAreaRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { Direction, ScrollType } from './types'\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useDirection, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaRootContext {\n type: Ref<ScrollType>\n dir: Ref<Direction>\n scrollHideDelay: Ref<number>\n scrollArea: Ref<HTMLElement | undefined>\n viewport: Ref<HTMLElement | undefined>\n onViewportChange: (viewport: HTMLElement | null) => void\n content: Ref<HTMLElement | undefined>\n onContentChange: (content: HTMLElement) => void\n scrollbarX: Ref<HTMLElement | undefined>\n onScrollbarXChange: (scrollbar: HTMLElement | null) => void\n scrollbarXEnabled: Ref<boolean>\n onScrollbarXEnabledChange: (rendered: boolean) => void\n scrollbarY: Ref<HTMLElement | undefined>\n onScrollbarYChange: (scrollbar: HTMLElement | null) => void\n scrollbarYEnabled: Ref<boolean>\n onScrollbarYEnabledChange: (rendered: boolean) => void\n onCornerWidthChange: (width: number) => void\n onCornerHeightChange: (height: number) => void\n}\n\nexport const [injectScrollAreaRootContext, provideScrollAreaRootContext]\n = createContext<ScrollAreaRootContext>('ScrollAreaRoot')\n\nexport interface ScrollAreaRootProps extends PrimitiveProps {\n /**\n * Describes the nature of scrollbar visibility, similar to how the scrollbar preferences in MacOS control visibility of native scrollbars.\n *\n * `auto` - means that scrollbars are visible when content is overflowing on the corresponding orientation. <br>\n * `always` - means that scrollbars are always visible regardless of whether the content is overflowing.<br>\n * `scroll` - means that scrollbars are visible when the user is scrolling along its corresponding orientation.<br>\n * `hover` - when the user is scrolling along its corresponding orientation and when the user is hovering over the scroll area.\n */\n type?: ScrollType\n /** The reading direction of the combobox when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** If type is set to either `scroll` or `hover`, this prop determines the length of time, in milliseconds, <br> before the scrollbars are hidden after the user stops interacting with scrollbars. */\n scrollHideDelay?: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, toRefs } from 'vue'\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<ScrollAreaRootProps>(), {\n type: 'hover',\n scrollHideDelay: 600,\n})\n\nconst cornerWidth = ref(0)\nconst cornerHeight = ref(0)\nconst viewport = ref<HTMLElement>()\nconst content = ref<HTMLElement>()\nconst scrollbarX = ref<HTMLElement>()\nconst scrollbarY = ref<HTMLElement>()\nconst scrollbarXEnabled = ref(false)\nconst scrollbarYEnabled = ref(false)\n\nconst { type, dir: propDir, scrollHideDelay } = toRefs(props)\nconst dir = useDirection(propDir)\n\nfunction scrollTop() {\n viewport.value?.scrollTo({\n top: 0,\n })\n}\nfunction scrollTopLeft() {\n viewport.value?.scrollTo({\n top: 0,\n left: 0,\n })\n}\n\ndefineExpose({\n /** Viewport element within ScrollArea */\n viewport,\n /** Scroll viewport to top */\n scrollTop,\n /** Scroll viewport to top-left */\n scrollTopLeft,\n})\n\nconst { forwardRef, currentElement: scrollArea } = useForwardExpose()\n\nprovideScrollAreaRootContext({\n type,\n dir,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: (el) => {\n viewport.value = el || undefined\n },\n content,\n onContentChange: (el) => {\n content.value = el\n },\n scrollbarX,\n scrollbarXEnabled,\n scrollbarY,\n scrollbarYEnabled,\n onScrollbarXChange: (scrollbar) => {\n scrollbarX.value = scrollbar || undefined\n },\n onScrollbarYChange: (scrollbar) => {\n scrollbarY.value = scrollbar || undefined\n },\n onScrollbarXEnabledChange: (rendered) => {\n scrollbarXEnabled.value = rendered\n },\n onScrollbarYEnabledChange: (rendered) => {\n scrollbarYEnabled.value = rendered\n },\n onCornerWidthChange: (width) => {\n cornerWidth.value = width\n },\n onCornerHeightChange: (height) => {\n cornerHeight.value = height\n },\n})\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n :dir=\"dir\"\n :style=\"{\n position: 'relative',\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n ['--reka-scroll-area-corner-width' as any]: `${cornerWidth}px`,\n ['--reka-scroll-area-corner-height' as any]: `${cornerHeight}px`,\n }\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;AA2BO,MAAM,CAAC,2BAAA,EAA6B,4BAA4B,CAAA,GACnE,cAAqC,gBAAgB;;;;;;;;;;;AAuBzD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAM,MAAA,WAAA,GAAc,IAAI,CAAC,CAAA;AACzB,IAAM,MAAA,YAAA,GAAe,IAAI,CAAC,CAAA;AAC1B,IAAA,MAAM,WAAW,GAAiB,EAAA;AAClC,IAAA,MAAM,UAAU,GAAiB,EAAA;AACjC,IAAA,MAAM,aAAa,GAAiB,EAAA;AACpC,IAAA,MAAM,aAAa,GAAiB,EAAA;AACpC,IAAM,MAAA,iBAAA,GAAoB,IAAI,KAAK,CAAA;AACnC,IAAM,MAAA,iBAAA,GAAoB,IAAI,KAAK,CAAA;AAEnC,IAAA,MAAM,EAAE,IAAM,EAAA,GAAA,EAAK,SAAS,eAAgB,EAAA,GAAI,OAAO,KAAK,CAAA;AAC5D,IAAM,MAAA,GAAA,GAAM,aAAa,OAAO,CAAA;AAEhC,IAAA,SAAS,SAAY,GAAA;AACnB,MAAA,QAAA,CAAS,OAAO,QAAS,CAAA;AAAA,QACvB,GAAK,EAAA;AAAA,OACN,CAAA;AAAA;AAEH,IAAA,SAAS,aAAgB,GAAA;AACvB,MAAA,QAAA,CAAS,OAAO,QAAS,CAAA;AAAA,QACvB,GAAK,EAAA,CAAA;AAAA,QACL,IAAM,EAAA;AAAA,OACP,CAAA;AAAA;AAGH,IAAa,QAAA,CAAA;AAAA;AAAA,MAEX,QAAA;AAAA;AAAA,MAEA,SAAA;AAAA;AAAA,MAEA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,UAAA,KAAe,gBAAiB,EAAA;AAEpE,IAA6B,4BAAA,CAAA;AAAA,MAC3B,IAAA;AAAA,MACA,GAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA,EAAkB,CAAC,EAAO,KAAA;AACxB,QAAA,QAAA,CAAS,QAAQ,EAAM,IAAA,MAAA;AAAA,OACzB;AAAA,MACA,OAAA;AAAA,MACA,eAAA,EAAiB,CAAC,EAAO,KAAA;AACvB,QAAA,OAAA,CAAQ,KAAQ,GAAA,EAAA;AAAA,OAClB;AAAA,MACA,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,kBAAA,EAAoB,CAAC,SAAc,KAAA;AACjC,QAAA,UAAA,CAAW,QAAQ,SAAa,IAAA,MAAA;AAAA,OAClC;AAAA,MACA,kBAAA,EAAoB,CAAC,SAAc,KAAA;AACjC,QAAA,UAAA,CAAW,QAAQ,SAAa,IAAA,MAAA;AAAA,OAClC;AAAA,MACA,yBAAA,EAA2B,CAAC,QAAa,KAAA;AACvC,QAAA,iBAAA,CAAkB,KAAQ,GAAA,QAAA;AAAA,OAC5B;AAAA,MACA,yBAAA,EAA2B,CAAC,QAAa,KAAA;AACvC,QAAA,iBAAA,CAAkB,KAAQ,GAAA,QAAA;AAAA,OAC5B;AAAA,MACA,mBAAA,EAAqB,CAAC,KAAU,KAAA;AAC9B,QAAA,WAAA,CAAY,KAAQ,GAAA,KAAA;AAAA,OACtB;AAAA,MACA,oBAAA,EAAsB,CAAC,MAAW,KAAA;AAChC,QAAA,YAAA,CAAa,KAAQ,GAAA,MAAA;AAAA;AACvB,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  const vue = require('vue');
4
+ const ScrollArea_ScrollAreaScrollbarAuto = require('./ScrollAreaScrollbarAuto.cjs');
4
5
  const ScrollArea_ScrollAreaScrollbarHover = require('./ScrollAreaScrollbarHover.cjs');
5
6
  const ScrollArea_ScrollAreaScrollbarScroll = require('./ScrollAreaScrollbarScroll.cjs');
6
- const ScrollArea_ScrollAreaScrollbarAuto = require('./ScrollAreaScrollbarAuto.cjs');
7
7
  const ScrollArea_ScrollAreaScrollbarVisible = require('./ScrollAreaScrollbarVisible.cjs');
8
8
  const shared_createContext = require('../shared/createContext.cjs');
9
9
  const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbar.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaScrollbarProps extends PrimitiveProps {\n /** The orientation of the scrollbar */\n orientation?: 'vertical' | 'horizontal'\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n\nexport interface ScrollAreaScollbarContext {\n as: Ref<PrimitiveProps['as']>\n orientation: Ref<'vertical' | 'horizontal'>\n forceMount?: Ref<boolean>\n isHorizontal: Ref<boolean>\n asChild: Ref<boolean>\n}\n\nexport const [injectScrollAreaScrollbarContext, provideScrollAreaScrollbarContext]\n = createContext<ScrollAreaScollbarContext>('ScrollAreaScrollbar')\n</script>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n onUnmounted,\n toRefs,\n watch,\n} from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarHover from './ScrollAreaScrollbarHover.vue'\nimport ScrollAreaScrollbarScroll from './ScrollAreaScrollbarScroll.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ScrollAreaScrollbarProps>(), {\n orientation: 'vertical',\n as: 'div',\n})\n\nconst { forwardRef } = useForwardExpose()\nconst rootContext = injectScrollAreaRootContext()\n\nconst isHorizontal = computed(() => props.orientation === 'horizontal')\n\nwatch(\n isHorizontal,\n () => {\n if (isHorizontal.value)\n rootContext.onScrollbarXEnabledChange(true)\n else rootContext.onScrollbarYEnabledChange(true)\n },\n { immediate: true },\n)\n\nonUnmounted(() => {\n rootContext.onScrollbarXEnabledChange(false)\n rootContext.onScrollbarYEnabledChange(false)\n})\n\nconst { orientation, forceMount, asChild, as } = toRefs(props)\nprovideScrollAreaScrollbarContext({\n orientation,\n forceMount,\n isHorizontal,\n as,\n asChild,\n})\n</script>\n\n<template>\n <ScrollAreaScrollbarHover\n v-if=\"rootContext.type.value === 'hover'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarHover>\n <ScrollAreaScrollbarScroll\n v-else-if=\"rootContext.type.value === 'scroll'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarScroll>\n <ScrollAreaScrollbarAuto\n v-else-if=\"rootContext.type.value === 'auto'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n <ScrollAreaScrollbarVisible\n v-else-if=\"rootContext.type.value === 'always'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n data-state=\"visible\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n</template>\n"],"names":["createContext","useForwardExpose","injectScrollAreaRootContext","computed","watch","onUnmounted","toRefs"],"mappings":";;;;;;;;;;;AAuBO,MAAM,CAAC,gCAAA,EAAkC,iCAAiC,CAAA,GAC7EA,mCAAyC,qBAAqB;;;;;;;;;;;;;AAoBlE,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AACxC,IAAA,MAAM,cAAcC,qDAA4B,EAAA;AAEhD,IAAA,MAAM,YAAe,GAAAC,YAAA,CAAS,MAAM,KAAA,CAAM,gBAAgB,YAAY,CAAA;AAEtE,IAAAC,SAAA;AAAA,MACE,YAAA;AAAA,MACA,MAAM;AACJ,QAAA,IAAI,YAAa,CAAA,KAAA;AACf,UAAA,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,aACvC,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,OACjD;AAAA,MACA,EAAE,WAAW,IAAK;AAAA,KACpB;AAEA,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAC3C,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAAA,KAC5C,CAAA;AAED,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,SAAS,EAAG,EAAA,GAAIC,WAAO,KAAK,CAAA;AAC7D,IAAkC,iCAAA,CAAA;AAAA,MAChC,WAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,EAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbar.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaScrollbarProps extends PrimitiveProps {\n /** The orientation of the scrollbar */\n orientation?: 'vertical' | 'horizontal'\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n\nexport interface ScrollAreaScollbarContext {\n as: Ref<PrimitiveProps['as']>\n orientation: Ref<'vertical' | 'horizontal'>\n forceMount?: Ref<boolean>\n isHorizontal: Ref<boolean>\n asChild: Ref<boolean>\n}\n\nexport const [injectScrollAreaScrollbarContext, provideScrollAreaScrollbarContext]\n = createContext<ScrollAreaScollbarContext>('ScrollAreaScrollbar')\n</script>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n onUnmounted,\n toRefs,\n watch,\n} from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\nimport ScrollAreaScrollbarHover from './ScrollAreaScrollbarHover.vue'\nimport ScrollAreaScrollbarScroll from './ScrollAreaScrollbarScroll.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ScrollAreaScrollbarProps>(), {\n orientation: 'vertical',\n as: 'div',\n})\n\nconst { forwardRef } = useForwardExpose()\nconst rootContext = injectScrollAreaRootContext()\n\nconst isHorizontal = computed(() => props.orientation === 'horizontal')\n\nwatch(\n isHorizontal,\n () => {\n if (isHorizontal.value)\n rootContext.onScrollbarXEnabledChange(true)\n else rootContext.onScrollbarYEnabledChange(true)\n },\n { immediate: true },\n)\n\nonUnmounted(() => {\n rootContext.onScrollbarXEnabledChange(false)\n rootContext.onScrollbarYEnabledChange(false)\n})\n\nconst { orientation, forceMount, asChild, as } = toRefs(props)\nprovideScrollAreaScrollbarContext({\n orientation,\n forceMount,\n isHorizontal,\n as,\n asChild,\n})\n</script>\n\n<template>\n <ScrollAreaScrollbarHover\n v-if=\"rootContext.type.value === 'hover'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarHover>\n <ScrollAreaScrollbarScroll\n v-else-if=\"rootContext.type.value === 'scroll'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarScroll>\n <ScrollAreaScrollbarAuto\n v-else-if=\"rootContext.type.value === 'auto'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n <ScrollAreaScrollbarVisible\n v-else-if=\"rootContext.type.value === 'always'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n data-state=\"visible\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n</template>\n"],"names":["createContext","useForwardExpose","injectScrollAreaRootContext","computed","watch","onUnmounted","toRefs"],"mappings":";;;;;;;;;;;AAuBO,MAAM,CAAC,gCAAA,EAAkC,iCAAiC,CAAA,GAC7EA,mCAAyC,qBAAqB;;;;;;;;;;;;;AAoBlE,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AACxC,IAAA,MAAM,cAAcC,qDAA4B,EAAA;AAEhD,IAAA,MAAM,YAAe,GAAAC,YAAA,CAAS,MAAM,KAAA,CAAM,gBAAgB,YAAY,CAAA;AAEtE,IAAAC,SAAA;AAAA,MACE,YAAA;AAAA,MACA,MAAM;AACJ,QAAA,IAAI,YAAa,CAAA,KAAA;AACf,UAAA,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,aACvC,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,OACjD;AAAA,MACA,EAAE,WAAW,IAAK;AAAA,KACpB;AAEA,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAC3C,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAAA,KAC5C,CAAA;AAED,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,SAAS,EAAG,EAAA,GAAIC,WAAO,KAAK,CAAA;AAC7D,IAAkC,iCAAA,CAAA;AAAA,MAChC,WAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,EAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, watch, onUnmounted, toRefs, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, renderSlot } from 'vue';
2
+ import { _ as _sfc_main$3 } from './ScrollAreaScrollbarAuto.js';
2
3
  import { _ as _sfc_main$1 } from './ScrollAreaScrollbarHover.js';
3
4
  import { _ as _sfc_main$2 } from './ScrollAreaScrollbarScroll.js';
4
- import { _ as _sfc_main$3 } from './ScrollAreaScrollbarAuto.js';
5
5
  import { _ as _sfc_main$4 } from './ScrollAreaScrollbarVisible.js';
6
6
  import { c as createContext } from '../shared/createContext.js';
7
7
  import { u as useForwardExpose } from '../shared/useForwardExpose.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbar.js","sources":["../../src/ScrollArea/ScrollAreaScrollbar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaScrollbarProps extends PrimitiveProps {\n /** The orientation of the scrollbar */\n orientation?: 'vertical' | 'horizontal'\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n\nexport interface ScrollAreaScollbarContext {\n as: Ref<PrimitiveProps['as']>\n orientation: Ref<'vertical' | 'horizontal'>\n forceMount?: Ref<boolean>\n isHorizontal: Ref<boolean>\n asChild: Ref<boolean>\n}\n\nexport const [injectScrollAreaScrollbarContext, provideScrollAreaScrollbarContext]\n = createContext<ScrollAreaScollbarContext>('ScrollAreaScrollbar')\n</script>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n onUnmounted,\n toRefs,\n watch,\n} from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarHover from './ScrollAreaScrollbarHover.vue'\nimport ScrollAreaScrollbarScroll from './ScrollAreaScrollbarScroll.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ScrollAreaScrollbarProps>(), {\n orientation: 'vertical',\n as: 'div',\n})\n\nconst { forwardRef } = useForwardExpose()\nconst rootContext = injectScrollAreaRootContext()\n\nconst isHorizontal = computed(() => props.orientation === 'horizontal')\n\nwatch(\n isHorizontal,\n () => {\n if (isHorizontal.value)\n rootContext.onScrollbarXEnabledChange(true)\n else rootContext.onScrollbarYEnabledChange(true)\n },\n { immediate: true },\n)\n\nonUnmounted(() => {\n rootContext.onScrollbarXEnabledChange(false)\n rootContext.onScrollbarYEnabledChange(false)\n})\n\nconst { orientation, forceMount, asChild, as } = toRefs(props)\nprovideScrollAreaScrollbarContext({\n orientation,\n forceMount,\n isHorizontal,\n as,\n asChild,\n})\n</script>\n\n<template>\n <ScrollAreaScrollbarHover\n v-if=\"rootContext.type.value === 'hover'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarHover>\n <ScrollAreaScrollbarScroll\n v-else-if=\"rootContext.type.value === 'scroll'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarScroll>\n <ScrollAreaScrollbarAuto\n v-else-if=\"rootContext.type.value === 'auto'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n <ScrollAreaScrollbarVisible\n v-else-if=\"rootContext.type.value === 'always'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n data-state=\"visible\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n</template>\n"],"names":[],"mappings":";;;;;;;;;AAuBO,MAAM,CAAC,gCAAA,EAAkC,iCAAiC,CAAA,GAC7E,cAAyC,qBAAqB;;;;;;;;;;;;;AAoBlE,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AACxC,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAEhD,IAAA,MAAM,YAAe,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,gBAAgB,YAAY,CAAA;AAEtE,IAAA,KAAA;AAAA,MACE,YAAA;AAAA,MACA,MAAM;AACJ,QAAA,IAAI,YAAa,CAAA,KAAA;AACf,UAAA,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,aACvC,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,OACjD;AAAA,MACA,EAAE,WAAW,IAAK;AAAA,KACpB;AAEA,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAC3C,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAAA,KAC5C,CAAA;AAED,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,SAAS,EAAG,EAAA,GAAI,OAAO,KAAK,CAAA;AAC7D,IAAkC,iCAAA,CAAA;AAAA,MAChC,WAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,EAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbar.js","sources":["../../src/ScrollArea/ScrollAreaScrollbar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaScrollbarProps extends PrimitiveProps {\n /** The orientation of the scrollbar */\n orientation?: 'vertical' | 'horizontal'\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n\nexport interface ScrollAreaScollbarContext {\n as: Ref<PrimitiveProps['as']>\n orientation: Ref<'vertical' | 'horizontal'>\n forceMount?: Ref<boolean>\n isHorizontal: Ref<boolean>\n asChild: Ref<boolean>\n}\n\nexport const [injectScrollAreaScrollbarContext, provideScrollAreaScrollbarContext]\n = createContext<ScrollAreaScollbarContext>('ScrollAreaScrollbar')\n</script>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n onUnmounted,\n toRefs,\n watch,\n} from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\nimport ScrollAreaScrollbarHover from './ScrollAreaScrollbarHover.vue'\nimport ScrollAreaScrollbarScroll from './ScrollAreaScrollbarScroll.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ScrollAreaScrollbarProps>(), {\n orientation: 'vertical',\n as: 'div',\n})\n\nconst { forwardRef } = useForwardExpose()\nconst rootContext = injectScrollAreaRootContext()\n\nconst isHorizontal = computed(() => props.orientation === 'horizontal')\n\nwatch(\n isHorizontal,\n () => {\n if (isHorizontal.value)\n rootContext.onScrollbarXEnabledChange(true)\n else rootContext.onScrollbarYEnabledChange(true)\n },\n { immediate: true },\n)\n\nonUnmounted(() => {\n rootContext.onScrollbarXEnabledChange(false)\n rootContext.onScrollbarYEnabledChange(false)\n})\n\nconst { orientation, forceMount, asChild, as } = toRefs(props)\nprovideScrollAreaScrollbarContext({\n orientation,\n forceMount,\n isHorizontal,\n as,\n asChild,\n})\n</script>\n\n<template>\n <ScrollAreaScrollbarHover\n v-if=\"rootContext.type.value === 'hover'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarHover>\n <ScrollAreaScrollbarScroll\n v-else-if=\"rootContext.type.value === 'scroll'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarScroll>\n <ScrollAreaScrollbarAuto\n v-else-if=\"rootContext.type.value === 'auto'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n <ScrollAreaScrollbarVisible\n v-else-if=\"rootContext.type.value === 'always'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n data-state=\"visible\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n</template>\n"],"names":[],"mappings":";;;;;;;;;AAuBO,MAAM,CAAC,gCAAA,EAAkC,iCAAiC,CAAA,GAC7E,cAAyC,qBAAqB;;;;;;;;;;;;;AAoBlE,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AACxC,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAEhD,IAAA,MAAM,YAAe,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,gBAAgB,YAAY,CAAA;AAEtE,IAAA,KAAA;AAAA,MACE,YAAA;AAAA,MACA,MAAM;AACJ,QAAA,IAAI,YAAa,CAAA,KAAA;AACf,UAAA,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,aACvC,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,OACjD;AAAA,MACA,EAAE,WAAW,IAAK;AAAA,KACpB;AAEA,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAC3C,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAAA,KAC5C,CAAA;AAED,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,SAAS,EAAG,EAAA,GAAI,OAAO,KAAK,CAAA;AAC7D,IAAkC,iCAAA,CAAA;AAAA,MAChC,WAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,EAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarAuto.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarAuto.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarAutoProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref } from 'vue'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\n\ndefineProps<ScrollAreaScrollbarAutoProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst visible = ref(false)\n\nconst handleResize = useDebounceFn(() => {\n if (rootContext.viewport.value) {\n const isOverflowX\n = rootContext.viewport.value.offsetWidth\n < rootContext.viewport.value.scrollWidth\n const isOverflowY\n = rootContext.viewport.value.offsetHeight\n < rootContext.viewport.value.scrollHeight\n\n visible.value = scrollbarContext.isHorizontal.value\n ? isOverflowX\n : isOverflowY\n }\n}, 10)\n\nonMounted(() => handleResize())\n\nuseResizeObserver(rootContext.viewport, handleResize)\nuseResizeObserver(rootContext.content, handleResize)\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarContext","useForwardExpose","ref","useDebounceFn","onMounted","useResizeObserver"],"mappings":";;;;;;;;;;;;;;;;AAiBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmBC,+DAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAM,MAAA,OAAA,GAAUC,QAAI,KAAK,CAAA;AAEzB,IAAM,MAAA,YAAA,GAAeC,mBAAc,MAAM;AACvC,MAAI,IAAA,WAAA,CAAY,SAAS,KAAO,EAAA;AAC9B,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,WAC3B,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,WAAA;AAC/B,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,YAC3B,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,YAAA;AAE/B,QAAA,OAAA,CAAQ,KAAQ,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAC1C,WACA,GAAA,WAAA;AAAA;AACN,OACC,EAAE,CAAA;AAEL,IAAUC,aAAA,CAAA,MAAM,cAAc,CAAA;AAE9B,IAAkBC,sBAAA,CAAA,WAAA,CAAY,UAAU,YAAY,CAAA;AACpD,IAAkBA,sBAAA,CAAA,WAAA,CAAY,SAAS,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarAuto.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarAuto.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarAutoProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport { onMounted, ref } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineProps<ScrollAreaScrollbarAutoProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst visible = ref(false)\n\nconst handleResize = useDebounceFn(() => {\n if (rootContext.viewport.value) {\n const isOverflowX\n = rootContext.viewport.value.offsetWidth\n < rootContext.viewport.value.scrollWidth\n const isOverflowY\n = rootContext.viewport.value.offsetHeight\n < rootContext.viewport.value.scrollHeight\n\n visible.value = scrollbarContext.isHorizontal.value\n ? isOverflowX\n : isOverflowY\n }\n}, 10)\n\nonMounted(() => handleResize())\n\nuseResizeObserver(rootContext.viewport, handleResize)\nuseResizeObserver(rootContext.content, handleResize)\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarContext","useForwardExpose","ref","useDebounceFn","onMounted","useResizeObserver"],"mappings":";;;;;;;;;;;;;;;;AAiBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmBC,+DAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAM,MAAA,OAAA,GAAUC,QAAI,KAAK,CAAA;AAEzB,IAAM,MAAA,YAAA,GAAeC,mBAAc,MAAM;AACvC,MAAI,IAAA,WAAA,CAAY,SAAS,KAAO,EAAA;AAC9B,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,WACzB,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,WAAA;AACjC,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,YACzB,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,YAAA;AAEjC,QAAA,OAAA,CAAQ,KAAQ,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAC1C,WACA,GAAA,WAAA;AAAA;AACN,OACC,EAAE,CAAA;AAEL,IAAUC,aAAA,CAAA,MAAM,cAAc,CAAA;AAE9B,IAAkBC,sBAAA,CAAA,WAAA,CAAY,UAAU,YAAY,CAAA;AACpD,IAAkBA,sBAAA,CAAA,WAAA,CAAY,SAAS,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarAuto.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarAuto.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarAutoProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref } from 'vue'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\n\ndefineProps<ScrollAreaScrollbarAutoProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst visible = ref(false)\n\nconst handleResize = useDebounceFn(() => {\n if (rootContext.viewport.value) {\n const isOverflowX\n = rootContext.viewport.value.offsetWidth\n < rootContext.viewport.value.scrollWidth\n const isOverflowY\n = rootContext.viewport.value.offsetHeight\n < rootContext.viewport.value.scrollHeight\n\n visible.value = scrollbarContext.isHorizontal.value\n ? isOverflowX\n : isOverflowY\n }\n}, 10)\n\nonMounted(() => handleResize())\n\nuseResizeObserver(rootContext.viewport, handleResize)\nuseResizeObserver(rootContext.content, handleResize)\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAiBA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmB,gCAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA;AAEzB,IAAM,MAAA,YAAA,GAAe,cAAc,MAAM;AACvC,MAAI,IAAA,WAAA,CAAY,SAAS,KAAO,EAAA;AAC9B,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,WAC3B,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,WAAA;AAC/B,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,YAC3B,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,YAAA;AAE/B,QAAA,OAAA,CAAQ,KAAQ,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAC1C,WACA,GAAA,WAAA;AAAA;AACN,OACC,EAAE,CAAA;AAEL,IAAU,SAAA,CAAA,MAAM,cAAc,CAAA;AAE9B,IAAkB,iBAAA,CAAA,WAAA,CAAY,UAAU,YAAY,CAAA;AACpD,IAAkB,iBAAA,CAAA,WAAA,CAAY,SAAS,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarAuto.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarAuto.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarAutoProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport { onMounted, ref } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineProps<ScrollAreaScrollbarAutoProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst visible = ref(false)\n\nconst handleResize = useDebounceFn(() => {\n if (rootContext.viewport.value) {\n const isOverflowX\n = rootContext.viewport.value.offsetWidth\n < rootContext.viewport.value.scrollWidth\n const isOverflowY\n = rootContext.viewport.value.offsetHeight\n < rootContext.viewport.value.scrollHeight\n\n visible.value = scrollbarContext.isHorizontal.value\n ? isOverflowX\n : isOverflowY\n }\n}, 10)\n\nonMounted(() => handleResize())\n\nuseResizeObserver(rootContext.viewport, handleResize)\nuseResizeObserver(rootContext.content, handleResize)\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAiBA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmB,gCAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA;AAEzB,IAAM,MAAA,YAAA,GAAe,cAAc,MAAM;AACvC,MAAI,IAAA,WAAA,CAAY,SAAS,KAAO,EAAA;AAC9B,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,WACzB,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,WAAA;AACjC,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,YACzB,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,YAAA;AAEjC,QAAA,OAAA,CAAQ,KAAQ,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAC1C,WACA,GAAA,WAAA;AAAA;AACN,OACC,EAAE,CAAA;AAEL,IAAU,SAAA,CAAA,MAAM,cAAc,CAAA;AAE9B,IAAkB,iBAAA,CAAA,WAAA,CAAY,UAAU,YAAY,CAAA;AACpD,IAAkB,iBAAA,CAAA,WAAA,CAAY,SAAS,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarHover.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarHover.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ScrollAreaScrollbarAutoProps } from './ScrollAreaScrollbarAuto.vue'\n\nexport interface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\ndefineProps<ScrollAreaScrollbarHoverProps>()\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst { forwardRef } = useForwardExpose()\n\nlet timeout: ReturnType<typeof setTimeout> | undefined | number\nconst visible = ref(false)\n\nfunction handlePointerEnter() {\n window.clearTimeout(timeout)\n visible.value = true\n}\nfunction handlePointerLeave() {\n timeout = window.setTimeout(() => {\n visible.value = false\n }, rootContext.scrollHideDelay.value)\n}\n\nonMounted(() => {\n const scrollArea = rootContext.scrollArea.value\n\n if (scrollArea) {\n scrollArea.addEventListener('pointerenter', handlePointerEnter)\n scrollArea.addEventListener('pointerleave', handlePointerLeave)\n }\n})\n\nonUnmounted(() => {\n const scrollArea = rootContext.scrollArea.value\n if (scrollArea) {\n window.clearTimeout(timeout)\n scrollArea.removeEventListener('pointerenter', handlePointerEnter)\n scrollArea.removeEventListener('pointerleave', handlePointerLeave)\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarAuto\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","useForwardExpose","ref","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAEhD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAI,IAAA,OAAA;AACJ,IAAM,MAAA,OAAA,GAAUC,QAAI,KAAK,CAAA;AAEzB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA;AAAA;AAElB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAU,OAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AAChC,QAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA;AAAA,OAClB,EAAG,WAAY,CAAA,eAAA,CAAgB,KAAK,CAAA;AAAA;AAGtC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAE1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAC9D,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAAA;AAChE,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAC1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AACjE,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AAAA;AACnE,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarHover.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarHover.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ScrollAreaScrollbarAutoProps } from './ScrollAreaScrollbarAuto.vue'\n\nexport interface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\ndefineProps<ScrollAreaScrollbarHoverProps>()\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst { forwardRef } = useForwardExpose()\n\nlet timeout: ReturnType<typeof setTimeout> | undefined | number\nconst visible = ref(false)\n\nfunction handlePointerEnter() {\n window.clearTimeout(timeout)\n visible.value = true\n}\nfunction handlePointerLeave() {\n timeout = window.setTimeout(() => {\n visible.value = false\n }, rootContext.scrollHideDelay.value)\n}\n\nonMounted(() => {\n const scrollArea = rootContext.scrollArea.value\n\n if (scrollArea) {\n scrollArea.addEventListener('pointerenter', handlePointerEnter)\n scrollArea.addEventListener('pointerleave', handlePointerLeave)\n }\n})\n\nonUnmounted(() => {\n const scrollArea = rootContext.scrollArea.value\n if (scrollArea) {\n window.clearTimeout(timeout)\n scrollArea.removeEventListener('pointerenter', handlePointerEnter)\n scrollArea.removeEventListener('pointerleave', handlePointerLeave)\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarAuto\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","useForwardExpose","ref","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAEhD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAI,IAAA,OAAA;AACJ,IAAM,MAAA,OAAA,GAAUC,QAAI,KAAK,CAAA;AAEzB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA;AAAA;AAElB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAU,OAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AAChC,QAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA;AAAA,OAClB,EAAG,WAAY,CAAA,eAAA,CAAgB,KAAK,CAAA;AAAA;AAGtC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAE1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAC9D,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAAA;AAChE,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAC1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AACjE,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AAAA;AACnE,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarHover.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarHover.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ScrollAreaScrollbarAutoProps } from './ScrollAreaScrollbarAuto.vue'\n\nexport interface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\ndefineProps<ScrollAreaScrollbarHoverProps>()\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst { forwardRef } = useForwardExpose()\n\nlet timeout: ReturnType<typeof setTimeout> | undefined | number\nconst visible = ref(false)\n\nfunction handlePointerEnter() {\n window.clearTimeout(timeout)\n visible.value = true\n}\nfunction handlePointerLeave() {\n timeout = window.setTimeout(() => {\n visible.value = false\n }, rootContext.scrollHideDelay.value)\n}\n\nonMounted(() => {\n const scrollArea = rootContext.scrollArea.value\n\n if (scrollArea) {\n scrollArea.addEventListener('pointerenter', handlePointerEnter)\n scrollArea.addEventListener('pointerleave', handlePointerLeave)\n }\n})\n\nonUnmounted(() => {\n const scrollArea = rootContext.scrollArea.value\n if (scrollArea) {\n window.clearTimeout(timeout)\n scrollArea.removeEventListener('pointerenter', handlePointerEnter)\n scrollArea.removeEventListener('pointerleave', handlePointerLeave)\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarAuto\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAEhD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAI,IAAA,OAAA;AACJ,IAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA;AAEzB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA;AAAA;AAElB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAU,OAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AAChC,QAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA;AAAA,OAClB,EAAG,WAAY,CAAA,eAAA,CAAgB,KAAK,CAAA;AAAA;AAGtC,IAAA,SAAA,CAAU,MAAM;AACd,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAE1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAC9D,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAAA;AAChE,KACD,CAAA;AAED,IAAA,WAAA,CAAY,MAAM;AAChB,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAC1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AACjE,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AAAA;AACnE,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarHover.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarHover.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ScrollAreaScrollbarAutoProps } from './ScrollAreaScrollbarAuto.vue'\n\nexport interface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\ndefineProps<ScrollAreaScrollbarHoverProps>()\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst { forwardRef } = useForwardExpose()\n\nlet timeout: ReturnType<typeof setTimeout> | undefined | number\nconst visible = ref(false)\n\nfunction handlePointerEnter() {\n window.clearTimeout(timeout)\n visible.value = true\n}\nfunction handlePointerLeave() {\n timeout = window.setTimeout(() => {\n visible.value = false\n }, rootContext.scrollHideDelay.value)\n}\n\nonMounted(() => {\n const scrollArea = rootContext.scrollArea.value\n\n if (scrollArea) {\n scrollArea.addEventListener('pointerenter', handlePointerEnter)\n scrollArea.addEventListener('pointerleave', handlePointerLeave)\n }\n})\n\nonUnmounted(() => {\n const scrollArea = rootContext.scrollArea.value\n if (scrollArea) {\n window.clearTimeout(timeout)\n scrollArea.removeEventListener('pointerenter', handlePointerEnter)\n scrollArea.removeEventListener('pointerleave', handlePointerLeave)\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarAuto\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAEhD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAI,IAAA,OAAA;AACJ,IAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA;AAEzB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA;AAAA;AAElB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAU,OAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AAChC,QAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA;AAAA,OAClB,EAAG,WAAY,CAAA,eAAA,CAAgB,KAAK,CAAA;AAAA;AAGtC,IAAA,SAAA,CAAU,MAAM;AACd,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAE1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAC9D,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAAA;AAChE,KACD,CAAA;AAED,IAAA,WAAA,CAAY,MAAM;AAChB,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAC1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AACjE,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AAAA;AACnE,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarImpl.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarImpl.vue"],"sourcesContent":["<script lang=\"ts\">\ntype ScrollbarAreaScrollbarImplEmits = {\n onDragScroll: [payload: { x: number, y: number }]\n onWheelScroll: [payload: { x: number, y: number }]\n onThumbPointerDown: [payload: { x: number, y: number }]\n}\n\nexport interface ScrollAreaScrollbarImplProps {\n isHorizontal: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport { toInt } from './utils'\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nconst props = defineProps<ScrollAreaScrollbarImplProps>()\nconst emit = defineEmits<ScrollbarAreaScrollbarImplEmits>()\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef, currentElement: scrollbar } = useForwardExpose()\nconst prevWebkitUserSelectRef = ref('')\nconst rectRef = ref<DOMRect>()\n\nfunction handleDragScroll(event: MouseEvent) {\n if (rectRef.value) {\n const x = event.clientX - rectRef.value?.left\n const y = event.clientY - rectRef.value?.top\n emit('onDragScroll', { x, y })\n }\n}\n\nfunction handlePointerDown(event: PointerEvent) {\n const mainPointer = 0\n if (event.button === mainPointer) {\n const element = event.target as HTMLElement\n element.setPointerCapture(event.pointerId)\n rectRef.value = scrollbar.value!.getBoundingClientRect()\n\n // pointer capture doesn't prevent text selection in Safari\n // so we remove text selection manually when scrolling\n prevWebkitUserSelectRef.value = document.body.style.webkitUserSelect\n document.body.style.webkitUserSelect = 'none'\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = 'auto'\n\n handleDragScroll(event)\n }\n}\n\nfunction handlePointerMove(event: PointerEvent) {\n handleDragScroll(event)\n}\n\nfunction handlePointerUp(event: PointerEvent) {\n const element = event.target as HTMLElement\n if (element.hasPointerCapture(event.pointerId))\n element.releasePointerCapture(event.pointerId)\n\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.value\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = ''\n\n rectRef.value = undefined\n}\n\nfunction handleWheel(event: WheelEvent) {\n const element = event.target as HTMLElement\n const isScrollbarWheel = scrollbar.value?.contains(element)\n const maxScrollPos\n = scrollbarVisibleContext.sizes.value.content\n - scrollbarVisibleContext.sizes.value.viewport\n if (isScrollbarWheel)\n scrollbarVisibleContext.handleWheelScroll(event, maxScrollPos)\n}\n\nonMounted(() => {\n document.addEventListener('wheel', handleWheel, { passive: false })\n})\nonUnmounted(() => {\n document.removeEventListener('wheel', handleWheel)\n})\n\nfunction handleSizeChange() {\n if (!scrollbar.value)\n return\n if (props.isHorizontal) {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollWidth ?? 0,\n viewport: rootContext.viewport.value?.offsetWidth ?? 0,\n scrollbar: {\n size: scrollbar.value.clientWidth ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value).paddingRight),\n },\n })\n }\n else {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollHeight ?? 0,\n viewport: rootContext.viewport.value?.offsetHeight ?? 0,\n scrollbar: {\n size: scrollbar.value?.clientHeight ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value!).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value!).paddingRight),\n },\n })\n }\n}\n\nuseResizeObserver(scrollbar, handleSizeChange)\nuseResizeObserver(rootContext.content, handleSizeChange)\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n style=\"position: absolute\"\n data-scrollbarimpl\n :as=\"scrollbarContext.as.value\"\n :as-child=\"scrollbarContext.asChild.value\"\n @pointerdown=\"handlePointerDown\"\n @pointermove=\"handlePointerMove\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","injectScrollAreaScrollbarContext","useForwardExpose","ref","onMounted","onUnmounted","toInt","useResizeObserver"],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA;AACb,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AACxE,IAAA,MAAM,mBAAmBC,+DAAiC,EAAA;AAE1D,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,SAAA,KAAcC,wCAAiB,EAAA;AACnE,IAAM,MAAA,uBAAA,GAA0BC,QAAI,EAAE,CAAA;AACtC,IAAA,MAAM,UAAUA,OAAa,EAAA;AAE7B,IAAA,SAAS,iBAAiB,KAAmB,EAAA;AAC3C,MAAA,IAAI,QAAQ,KAAO,EAAA;AACjB,QAAA,MAAM,CAAI,GAAA,KAAA,CAAM,OAAU,GAAA,OAAA,CAAQ,KAAO,EAAA,IAAA;AACzC,QAAA,MAAM,CAAI,GAAA,KAAA,CAAM,OAAU,GAAA,OAAA,CAAQ,KAAO,EAAA,GAAA;AACzC,QAAA,IAAA,CAAK,cAAgB,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,CAAA;AAAA;AAC/B;AAGF,IAAA,SAAS,kBAAkB,KAAqB,EAAA;AAC9C,MAAA,MAAM,WAAc,GAAA,CAAA;AACpB,MAAI,IAAA,KAAA,CAAM,WAAW,WAAa,EAAA;AAChC,QAAA,MAAM,UAAU,KAAM,CAAA,MAAA;AACtB,QAAQ,OAAA,CAAA,iBAAA,CAAkB,MAAM,SAAS,CAAA;AACzC,QAAQ,OAAA,CAAA,KAAA,GAAQ,SAAU,CAAA,KAAA,CAAO,qBAAsB,EAAA;AAIvD,QAAwB,uBAAA,CAAA,KAAA,GAAQ,QAAS,CAAA,IAAA,CAAK,KAAM,CAAA,gBAAA;AACpD,QAAS,QAAA,CAAA,IAAA,CAAK,MAAM,gBAAmB,GAAA,MAAA;AACvC,QAAA,IAAI,WAAY,CAAA,QAAA;AACd,UAAY,WAAA,CAAA,QAAA,CAAS,KAAO,CAAA,KAAA,CAAM,cAAiB,GAAA,MAAA;AAErD,QAAA,gBAAA,CAAiB,KAAK,CAAA;AAAA;AACxB;AAGF,IAAA,SAAS,kBAAkB,KAAqB,EAAA;AAC9C,MAAA,gBAAA,CAAiB,KAAK,CAAA;AAAA;AAGxB,IAAA,SAAS,gBAAgB,KAAqB,EAAA;AAC5C,MAAA,MAAM,UAAU,KAAM,CAAA,MAAA;AACtB,MAAI,IAAA,OAAA,CAAQ,iBAAkB,CAAA,KAAA,CAAM,SAAS,CAAA;AAC3C,QAAQ,OAAA,CAAA,qBAAA,CAAsB,MAAM,SAAS,CAAA;AAE/C,MAAS,QAAA,CAAA,IAAA,CAAK,KAAM,CAAA,gBAAA,GAAmB,uBAAwB,CAAA,KAAA;AAC/D,MAAA,IAAI,WAAY,CAAA,QAAA;AACd,QAAY,WAAA,CAAA,QAAA,CAAS,KAAO,CAAA,KAAA,CAAM,cAAiB,GAAA,EAAA;AAErD,MAAA,OAAA,CAAQ,KAAQ,GAAA,MAAA;AAAA;AAGlB,IAAA,SAAS,YAAY,KAAmB,EAAA;AACtC,MAAA,MAAM,UAAU,KAAM,CAAA,MAAA;AACtB,MAAA,MAAM,gBAAmB,GAAA,SAAA,CAAU,KAAO,EAAA,QAAA,CAAS,OAAO,CAAA;AAC1D,MAAA,MAAM,eACF,uBAAwB,CAAA,KAAA,CAAM,MAAM,OACpC,GAAA,uBAAA,CAAwB,MAAM,KAAM,CAAA,QAAA;AACxC,MAAI,IAAA,gBAAA;AACF,QAAwB,uBAAA,CAAA,iBAAA,CAAkB,OAAO,YAAY,CAAA;AAAA;AAGjE,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,QAAA,CAAS,iBAAiB,OAAS,EAAA,WAAA,EAAa,EAAE,OAAA,EAAS,OAAO,CAAA;AAAA,KACnE,CAAA;AACD,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAS,QAAA,CAAA,mBAAA,CAAoB,SAAS,WAAW,CAAA;AAAA,KAClD,CAAA;AAED,IAAA,SAAS,gBAAmB,GAAA;AAC1B,MAAA,IAAI,CAAC,SAAU,CAAA,KAAA;AACb,QAAA;AACF,MAAA,IAAI,MAAM,YAAc,EAAA;AACtB,QAAA,uBAAA,CAAwB,gBAAiB,CAAA;AAAA,UACvC,OAAS,EAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,WAAe,IAAA,CAAA;AAAA,UACpD,QAAU,EAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,WAAe,IAAA,CAAA;AAAA,UACrD,SAAW,EAAA;AAAA,YACT,IAAA,EAAM,SAAU,CAAA,KAAA,CAAM,WAAe,IAAA,CAAA;AAAA,YACrC,cAAcC,sBAAM,CAAA,gBAAA,CAAiB,SAAU,CAAA,KAAK,EAAE,WAAW,CAAA;AAAA,YACjE,YAAYA,sBAAM,CAAA,gBAAA,CAAiB,SAAU,CAAA,KAAK,EAAE,YAAY;AAAA;AAClE,SACD,CAAA;AAAA,OAEE,MAAA;AACH,QAAA,uBAAA,CAAwB,gBAAiB,CAAA;AAAA,UACvC,OAAS,EAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,YAAgB,IAAA,CAAA;AAAA,UACrD,QAAU,EAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,YAAgB,IAAA,CAAA;AAAA,UACtD,SAAW,EAAA;AAAA,YACT,IAAA,EAAM,SAAU,CAAA,KAAA,EAAO,YAAgB,IAAA,CAAA;AAAA,YACvC,cAAcA,sBAAM,CAAA,gBAAA,CAAiB,SAAU,CAAA,KAAM,EAAE,WAAW,CAAA;AAAA,YAClE,YAAYA,sBAAM,CAAA,gBAAA,CAAiB,SAAU,CAAA,KAAM,EAAE,YAAY;AAAA;AACnE,SACD,CAAA;AAAA;AACH;AAGF,IAAAC,sBAAA,CAAkB,WAAW,gBAAgB,CAAA;AAC7C,IAAkBA,sBAAA,CAAA,WAAA,CAAY,SAAS,gBAAgB,CAAA;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarImpl.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarImpl.vue"],"sourcesContent":["<script lang=\"ts\">\ntype ScrollbarAreaScrollbarImplEmits = {\n onDragScroll: [payload: { x: number, y: number }]\n onWheelScroll: [payload: { x: number, y: number }]\n onThumbPointerDown: [payload: { x: number, y: number }]\n}\n\nexport interface ScrollAreaScrollbarImplProps {\n isHorizontal: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useResizeObserver } from '@vueuse/core'\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { toInt } from './utils'\n\nconst props = defineProps<ScrollAreaScrollbarImplProps>()\nconst emit = defineEmits<ScrollbarAreaScrollbarImplEmits>()\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef, currentElement: scrollbar } = useForwardExpose()\nconst prevWebkitUserSelectRef = ref('')\nconst rectRef = ref<DOMRect>()\n\nfunction handleDragScroll(event: MouseEvent) {\n if (rectRef.value) {\n const x = event.clientX - rectRef.value?.left\n const y = event.clientY - rectRef.value?.top\n emit('onDragScroll', { x, y })\n }\n}\n\nfunction handlePointerDown(event: PointerEvent) {\n const mainPointer = 0\n if (event.button === mainPointer) {\n const element = event.target as HTMLElement\n element.setPointerCapture(event.pointerId)\n rectRef.value = scrollbar.value!.getBoundingClientRect()\n\n // pointer capture doesn't prevent text selection in Safari\n // so we remove text selection manually when scrolling\n prevWebkitUserSelectRef.value = document.body.style.webkitUserSelect\n document.body.style.webkitUserSelect = 'none'\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = 'auto'\n\n handleDragScroll(event)\n }\n}\n\nfunction handlePointerMove(event: PointerEvent) {\n handleDragScroll(event)\n}\n\nfunction handlePointerUp(event: PointerEvent) {\n const element = event.target as HTMLElement\n if (element.hasPointerCapture(event.pointerId))\n element.releasePointerCapture(event.pointerId)\n\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.value\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = ''\n\n rectRef.value = undefined\n}\n\nfunction handleWheel(event: WheelEvent) {\n const element = event.target as HTMLElement\n const isScrollbarWheel = scrollbar.value?.contains(element)\n const maxScrollPos\n = scrollbarVisibleContext.sizes.value.content\n - scrollbarVisibleContext.sizes.value.viewport\n if (isScrollbarWheel)\n scrollbarVisibleContext.handleWheelScroll(event, maxScrollPos)\n}\n\nonMounted(() => {\n document.addEventListener('wheel', handleWheel, { passive: false })\n})\nonUnmounted(() => {\n document.removeEventListener('wheel', handleWheel)\n})\n\nfunction handleSizeChange() {\n if (!scrollbar.value)\n return\n if (props.isHorizontal) {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollWidth ?? 0,\n viewport: rootContext.viewport.value?.offsetWidth ?? 0,\n scrollbar: {\n size: scrollbar.value.clientWidth ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value).paddingRight),\n },\n })\n }\n else {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollHeight ?? 0,\n viewport: rootContext.viewport.value?.offsetHeight ?? 0,\n scrollbar: {\n size: scrollbar.value?.clientHeight ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value!).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value!).paddingRight),\n },\n })\n }\n}\n\nuseResizeObserver(scrollbar, handleSizeChange)\nuseResizeObserver(rootContext.content, handleSizeChange)\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n style=\"position: absolute\"\n data-scrollbarimpl\n :as=\"scrollbarContext.as.value\"\n :as-child=\"scrollbarContext.asChild.value\"\n @pointerdown=\"handlePointerDown\"\n @pointermove=\"handlePointerMove\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","injectScrollAreaScrollbarContext","useForwardExpose","ref","onMounted","onUnmounted","toInt","useResizeObserver"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarImpl.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarImpl.vue"],"sourcesContent":["<script lang=\"ts\">\ntype ScrollbarAreaScrollbarImplEmits = {\n onDragScroll: [payload: { x: number, y: number }]\n onWheelScroll: [payload: { x: number, y: number }]\n onThumbPointerDown: [payload: { x: number, y: number }]\n}\n\nexport interface ScrollAreaScrollbarImplProps {\n isHorizontal: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport { toInt } from './utils'\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nconst props = defineProps<ScrollAreaScrollbarImplProps>()\nconst emit = defineEmits<ScrollbarAreaScrollbarImplEmits>()\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef, currentElement: scrollbar } = useForwardExpose()\nconst prevWebkitUserSelectRef = ref('')\nconst rectRef = ref<DOMRect>()\n\nfunction handleDragScroll(event: MouseEvent) {\n if (rectRef.value) {\n const x = event.clientX - rectRef.value?.left\n const y = event.clientY - rectRef.value?.top\n emit('onDragScroll', { x, y })\n }\n}\n\nfunction handlePointerDown(event: PointerEvent) {\n const mainPointer = 0\n if (event.button === mainPointer) {\n const element = event.target as HTMLElement\n element.setPointerCapture(event.pointerId)\n rectRef.value = scrollbar.value!.getBoundingClientRect()\n\n // pointer capture doesn't prevent text selection in Safari\n // so we remove text selection manually when scrolling\n prevWebkitUserSelectRef.value = document.body.style.webkitUserSelect\n document.body.style.webkitUserSelect = 'none'\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = 'auto'\n\n handleDragScroll(event)\n }\n}\n\nfunction handlePointerMove(event: PointerEvent) {\n handleDragScroll(event)\n}\n\nfunction handlePointerUp(event: PointerEvent) {\n const element = event.target as HTMLElement\n if (element.hasPointerCapture(event.pointerId))\n element.releasePointerCapture(event.pointerId)\n\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.value\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = ''\n\n rectRef.value = undefined\n}\n\nfunction handleWheel(event: WheelEvent) {\n const element = event.target as HTMLElement\n const isScrollbarWheel = scrollbar.value?.contains(element)\n const maxScrollPos\n = scrollbarVisibleContext.sizes.value.content\n - scrollbarVisibleContext.sizes.value.viewport\n if (isScrollbarWheel)\n scrollbarVisibleContext.handleWheelScroll(event, maxScrollPos)\n}\n\nonMounted(() => {\n document.addEventListener('wheel', handleWheel, { passive: false })\n})\nonUnmounted(() => {\n document.removeEventListener('wheel', handleWheel)\n})\n\nfunction handleSizeChange() {\n if (!scrollbar.value)\n return\n if (props.isHorizontal) {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollWidth ?? 0,\n viewport: rootContext.viewport.value?.offsetWidth ?? 0,\n scrollbar: {\n size: scrollbar.value.clientWidth ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value).paddingRight),\n },\n })\n }\n else {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollHeight ?? 0,\n viewport: rootContext.viewport.value?.offsetHeight ?? 0,\n scrollbar: {\n size: scrollbar.value?.clientHeight ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value!).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value!).paddingRight),\n },\n })\n }\n}\n\nuseResizeObserver(scrollbar, handleSizeChange)\nuseResizeObserver(rootContext.content, handleSizeChange)\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n style=\"position: absolute\"\n data-scrollbarimpl\n :as=\"scrollbarContext.as.value\"\n :as-child=\"scrollbarContext.asChild.value\"\n @pointerdown=\"handlePointerDown\"\n @pointermove=\"handlePointerMove\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollAreaScrollbarImpl.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarImpl.vue"],"sourcesContent":["<script lang=\"ts\">\ntype ScrollbarAreaScrollbarImplEmits = {\n onDragScroll: [payload: { x: number, y: number }]\n onWheelScroll: [payload: { x: number, y: number }]\n onThumbPointerDown: [payload: { x: number, y: number }]\n}\n\nexport interface ScrollAreaScrollbarImplProps {\n isHorizontal: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useResizeObserver } from '@vueuse/core'\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { toInt } from './utils'\n\nconst props = defineProps<ScrollAreaScrollbarImplProps>()\nconst emit = defineEmits<ScrollbarAreaScrollbarImplEmits>()\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef, currentElement: scrollbar } = useForwardExpose()\nconst prevWebkitUserSelectRef = ref('')\nconst rectRef = ref<DOMRect>()\n\nfunction handleDragScroll(event: MouseEvent) {\n if (rectRef.value) {\n const x = event.clientX - rectRef.value?.left\n const y = event.clientY - rectRef.value?.top\n emit('onDragScroll', { x, y })\n }\n}\n\nfunction handlePointerDown(event: PointerEvent) {\n const mainPointer = 0\n if (event.button === mainPointer) {\n const element = event.target as HTMLElement\n element.setPointerCapture(event.pointerId)\n rectRef.value = scrollbar.value!.getBoundingClientRect()\n\n // pointer capture doesn't prevent text selection in Safari\n // so we remove text selection manually when scrolling\n prevWebkitUserSelectRef.value = document.body.style.webkitUserSelect\n document.body.style.webkitUserSelect = 'none'\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = 'auto'\n\n handleDragScroll(event)\n }\n}\n\nfunction handlePointerMove(event: PointerEvent) {\n handleDragScroll(event)\n}\n\nfunction handlePointerUp(event: PointerEvent) {\n const element = event.target as HTMLElement\n if (element.hasPointerCapture(event.pointerId))\n element.releasePointerCapture(event.pointerId)\n\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.value\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = ''\n\n rectRef.value = undefined\n}\n\nfunction handleWheel(event: WheelEvent) {\n const element = event.target as HTMLElement\n const isScrollbarWheel = scrollbar.value?.contains(element)\n const maxScrollPos\n = scrollbarVisibleContext.sizes.value.content\n - scrollbarVisibleContext.sizes.value.viewport\n if (isScrollbarWheel)\n scrollbarVisibleContext.handleWheelScroll(event, maxScrollPos)\n}\n\nonMounted(() => {\n document.addEventListener('wheel', handleWheel, { passive: false })\n})\nonUnmounted(() => {\n document.removeEventListener('wheel', handleWheel)\n})\n\nfunction handleSizeChange() {\n if (!scrollbar.value)\n return\n if (props.isHorizontal) {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollWidth ?? 0,\n viewport: rootContext.viewport.value?.offsetWidth ?? 0,\n scrollbar: {\n size: scrollbar.value.clientWidth ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value).paddingRight),\n },\n })\n }\n else {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollHeight ?? 0,\n viewport: rootContext.viewport.value?.offsetHeight ?? 0,\n scrollbar: {\n size: scrollbar.value?.clientHeight ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value!).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value!).paddingRight),\n },\n })\n }\n}\n\nuseResizeObserver(scrollbar, handleSizeChange)\nuseResizeObserver(rootContext.content, handleSizeChange)\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n style=\"position: absolute\"\n data-scrollbarimpl\n :as=\"scrollbarContext.as.value\"\n :as-child=\"scrollbarContext.asChild.value\"\n @pointerdown=\"handlePointerDown\"\n @pointermove=\"handlePointerMove\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarScroll.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarScroll.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarScrollProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { watchEffect } from 'vue'\nimport { useDebounceFn } from '@vueuse/core'\nimport { useStateMachine } from '../shared/useStateMachine'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\n\ndefineProps<ScrollAreaScrollbarScrollProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst { state, dispatch } = useStateMachine('hidden', {\n hidden: {\n SCROLL: 'scrolling',\n },\n scrolling: {\n SCROLL_END: 'idle',\n POINTER_ENTER: 'interacting',\n },\n interacting: {\n SCROLL: 'interacting',\n POINTER_LEAVE: 'idle',\n },\n idle: {\n HIDE: 'hidden',\n SCROLL: 'scrolling',\n POINTER_ENTER: 'interacting',\n },\n})\n\nwatchEffect((onCleanup) => {\n if (state.value === 'idle') {\n const timeId = window.setTimeout(\n () => dispatch('HIDE'),\n rootContext.scrollHideDelay.value,\n )\n\n onCleanup(() => {\n window.clearTimeout(timeId)\n })\n }\n})\n\nconst debounceScrollEnd = useDebounceFn(() => dispatch('SCROLL_END'), 100)\n\nwatchEffect((onCleanup) => {\n const viewport = rootContext.viewport.value\n const scrollDirection = scrollbarContext.isHorizontal.value\n ? 'scrollLeft'\n : 'scrollTop'\n\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection]\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection]\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos\n if (hasScrollInDirectionChanged) {\n dispatch('SCROLL')\n debounceScrollEnd()\n }\n prevScrollPos = scrollPos\n }\n viewport.addEventListener('scroll', handleScroll)\n\n onCleanup(() => {\n viewport.removeEventListener('scroll', handleScroll)\n })\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || state !== 'hidden'\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarContext","useForwardExpose","useStateMachine","watchEffect","useDebounceFn"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmBC,+DAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAA,MAAM,EAAE,KAAA,EAAO,QAAS,EAAA,GAAIC,uCAAgB,QAAU,EAAA;AAAA,MACpD,MAAQ,EAAA;AAAA,QACN,MAAQ,EAAA;AAAA,OACV;AAAA,MACA,SAAW,EAAA;AAAA,QACT,UAAY,EAAA,MAAA;AAAA,QACZ,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,WAAa,EAAA;AAAA,QACX,MAAQ,EAAA,aAAA;AAAA,QACR,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,QAAA;AAAA,QACN,MAAQ,EAAA,WAAA;AAAA,QACR,aAAe,EAAA;AAAA;AACjB,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAI,IAAA,KAAA,CAAM,UAAU,MAAQ,EAAA;AAC1B,QAAA,MAAM,SAAS,MAAO,CAAA,UAAA;AAAA,UACpB,MAAM,SAAS,MAAM,CAAA;AAAA,UACrB,YAAY,eAAgB,CAAA;AAAA,SAC9B;AAEA,QAAA,SAAA,CAAU,MAAM;AACd,UAAA,MAAA,CAAO,aAAa,MAAM,CAAA;AAAA,SAC3B,CAAA;AAAA;AACH,KACD,CAAA;AAED,IAAA,MAAM,oBAAoBC,kBAAc,CAAA,MAAM,QAAS,CAAA,YAAY,GAAG,GAAG,CAAA;AAEzE,IAAAD,eAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAM,MAAA,QAAA,GAAW,YAAY,QAAS,CAAA,KAAA;AACtC,MAAA,MAAM,eAAkB,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAClD,YACA,GAAA,WAAA;AAEJ,MAAA,IAAI,QAAU,EAAA;AACZ,QAAI,IAAA,aAAA,GAAgB,SAAS,eAAe,CAAA;AAC5C,QAAA,MAAM,eAAe,MAAM;AACzB,UAAM,MAAA,SAAA,GAAY,SAAS,eAAe,CAAA;AAC1C,UAAA,MAAM,8BAA8B,aAAkB,KAAA,SAAA;AACtD,UAAA,IAAI,2BAA6B,EAAA;AAC/B,YAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,YAAkB,iBAAA,EAAA;AAAA;AAEpB,UAAgB,aAAA,GAAA,SAAA;AAAA,SAClB;AACA,QAAS,QAAA,CAAA,gBAAA,CAAiB,UAAU,YAAY,CAAA;AAEhD,QAAA,SAAA,CAAU,MAAM;AACd,UAAS,QAAA,CAAA,mBAAA,CAAoB,UAAU,YAAY,CAAA;AAAA,SACpD,CAAA;AAAA;AACH,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarScroll.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarScroll.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarScrollProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useDebounceFn } from '@vueuse/core'\nimport { watchEffect } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { useStateMachine } from '../shared/useStateMachine'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineProps<ScrollAreaScrollbarScrollProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst { state, dispatch } = useStateMachine('hidden', {\n hidden: {\n SCROLL: 'scrolling',\n },\n scrolling: {\n SCROLL_END: 'idle',\n POINTER_ENTER: 'interacting',\n },\n interacting: {\n SCROLL: 'interacting',\n POINTER_LEAVE: 'idle',\n },\n idle: {\n HIDE: 'hidden',\n SCROLL: 'scrolling',\n POINTER_ENTER: 'interacting',\n },\n})\n\nwatchEffect((onCleanup) => {\n if (state.value === 'idle') {\n const timeId = window.setTimeout(\n () => dispatch('HIDE'),\n rootContext.scrollHideDelay.value,\n )\n\n onCleanup(() => {\n window.clearTimeout(timeId)\n })\n }\n})\n\nconst debounceScrollEnd = useDebounceFn(() => dispatch('SCROLL_END'), 100)\n\nwatchEffect((onCleanup) => {\n const viewport = rootContext.viewport.value\n const scrollDirection = scrollbarContext.isHorizontal.value\n ? 'scrollLeft'\n : 'scrollTop'\n\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection]\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection]\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos\n if (hasScrollInDirectionChanged) {\n dispatch('SCROLL')\n debounceScrollEnd()\n }\n prevScrollPos = scrollPos\n }\n viewport.addEventListener('scroll', handleScroll)\n\n onCleanup(() => {\n viewport.removeEventListener('scroll', handleScroll)\n })\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || state !== 'hidden'\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarContext","useForwardExpose","useStateMachine","watchEffect","useDebounceFn"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmBC,+DAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAA,MAAM,EAAE,KAAA,EAAO,QAAS,EAAA,GAAIC,uCAAgB,QAAU,EAAA;AAAA,MACpD,MAAQ,EAAA;AAAA,QACN,MAAQ,EAAA;AAAA,OACV;AAAA,MACA,SAAW,EAAA;AAAA,QACT,UAAY,EAAA,MAAA;AAAA,QACZ,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,WAAa,EAAA;AAAA,QACX,MAAQ,EAAA,aAAA;AAAA,QACR,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,QAAA;AAAA,QACN,MAAQ,EAAA,WAAA;AAAA,QACR,aAAe,EAAA;AAAA;AACjB,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAI,IAAA,KAAA,CAAM,UAAU,MAAQ,EAAA;AAC1B,QAAA,MAAM,SAAS,MAAO,CAAA,UAAA;AAAA,UACpB,MAAM,SAAS,MAAM,CAAA;AAAA,UACrB,YAAY,eAAgB,CAAA;AAAA,SAC9B;AAEA,QAAA,SAAA,CAAU,MAAM;AACd,UAAA,MAAA,CAAO,aAAa,MAAM,CAAA;AAAA,SAC3B,CAAA;AAAA;AACH,KACD,CAAA;AAED,IAAA,MAAM,oBAAoBC,kBAAc,CAAA,MAAM,QAAS,CAAA,YAAY,GAAG,GAAG,CAAA;AAEzE,IAAAD,eAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAM,MAAA,QAAA,GAAW,YAAY,QAAS,CAAA,KAAA;AACtC,MAAA,MAAM,eAAkB,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAClD,YACA,GAAA,WAAA;AAEJ,MAAA,IAAI,QAAU,EAAA;AACZ,QAAI,IAAA,aAAA,GAAgB,SAAS,eAAe,CAAA;AAC5C,QAAA,MAAM,eAAe,MAAM;AACzB,UAAM,MAAA,SAAA,GAAY,SAAS,eAAe,CAAA;AAC1C,UAAA,MAAM,8BAA8B,aAAkB,KAAA,SAAA;AACtD,UAAA,IAAI,2BAA6B,EAAA;AAC/B,YAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,YAAkB,iBAAA,EAAA;AAAA;AAEpB,UAAgB,aAAA,GAAA,SAAA;AAAA,SAClB;AACA,QAAS,QAAA,CAAA,gBAAA,CAAiB,UAAU,YAAY,CAAA;AAEhD,QAAA,SAAA,CAAU,MAAM;AACd,UAAS,QAAA,CAAA,mBAAA,CAAoB,UAAU,YAAY,CAAA;AAAA,SACpD,CAAA;AAAA;AACH,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarScroll.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarScroll.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarScrollProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { watchEffect } from 'vue'\nimport { useDebounceFn } from '@vueuse/core'\nimport { useStateMachine } from '../shared/useStateMachine'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\n\ndefineProps<ScrollAreaScrollbarScrollProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst { state, dispatch } = useStateMachine('hidden', {\n hidden: {\n SCROLL: 'scrolling',\n },\n scrolling: {\n SCROLL_END: 'idle',\n POINTER_ENTER: 'interacting',\n },\n interacting: {\n SCROLL: 'interacting',\n POINTER_LEAVE: 'idle',\n },\n idle: {\n HIDE: 'hidden',\n SCROLL: 'scrolling',\n POINTER_ENTER: 'interacting',\n },\n})\n\nwatchEffect((onCleanup) => {\n if (state.value === 'idle') {\n const timeId = window.setTimeout(\n () => dispatch('HIDE'),\n rootContext.scrollHideDelay.value,\n )\n\n onCleanup(() => {\n window.clearTimeout(timeId)\n })\n }\n})\n\nconst debounceScrollEnd = useDebounceFn(() => dispatch('SCROLL_END'), 100)\n\nwatchEffect((onCleanup) => {\n const viewport = rootContext.viewport.value\n const scrollDirection = scrollbarContext.isHorizontal.value\n ? 'scrollLeft'\n : 'scrollTop'\n\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection]\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection]\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos\n if (hasScrollInDirectionChanged) {\n dispatch('SCROLL')\n debounceScrollEnd()\n }\n prevScrollPos = scrollPos\n }\n viewport.addEventListener('scroll', handleScroll)\n\n onCleanup(() => {\n viewport.removeEventListener('scroll', handleScroll)\n })\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || state !== 'hidden'\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmB,gCAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAA,MAAM,EAAE,KAAA,EAAO,QAAS,EAAA,GAAI,gBAAgB,QAAU,EAAA;AAAA,MACpD,MAAQ,EAAA;AAAA,QACN,MAAQ,EAAA;AAAA,OACV;AAAA,MACA,SAAW,EAAA;AAAA,QACT,UAAY,EAAA,MAAA;AAAA,QACZ,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,WAAa,EAAA;AAAA,QACX,MAAQ,EAAA,aAAA;AAAA,QACR,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,QAAA;AAAA,QACN,MAAQ,EAAA,WAAA;AAAA,QACR,aAAe,EAAA;AAAA;AACjB,KACD,CAAA;AAED,IAAA,WAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAI,IAAA,KAAA,CAAM,UAAU,MAAQ,EAAA;AAC1B,QAAA,MAAM,SAAS,MAAO,CAAA,UAAA;AAAA,UACpB,MAAM,SAAS,MAAM,CAAA;AAAA,UACrB,YAAY,eAAgB,CAAA;AAAA,SAC9B;AAEA,QAAA,SAAA,CAAU,MAAM;AACd,UAAA,MAAA,CAAO,aAAa,MAAM,CAAA;AAAA,SAC3B,CAAA;AAAA;AACH,KACD,CAAA;AAED,IAAA,MAAM,oBAAoB,aAAc,CAAA,MAAM,QAAS,CAAA,YAAY,GAAG,GAAG,CAAA;AAEzE,IAAA,WAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAM,MAAA,QAAA,GAAW,YAAY,QAAS,CAAA,KAAA;AACtC,MAAA,MAAM,eAAkB,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAClD,YACA,GAAA,WAAA;AAEJ,MAAA,IAAI,QAAU,EAAA;AACZ,QAAI,IAAA,aAAA,GAAgB,SAAS,eAAe,CAAA;AAC5C,QAAA,MAAM,eAAe,MAAM;AACzB,UAAM,MAAA,SAAA,GAAY,SAAS,eAAe,CAAA;AAC1C,UAAA,MAAM,8BAA8B,aAAkB,KAAA,SAAA;AACtD,UAAA,IAAI,2BAA6B,EAAA;AAC/B,YAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,YAAkB,iBAAA,EAAA;AAAA;AAEpB,UAAgB,aAAA,GAAA,SAAA;AAAA,SAClB;AACA,QAAS,QAAA,CAAA,gBAAA,CAAiB,UAAU,YAAY,CAAA;AAEhD,QAAA,SAAA,CAAU,MAAM;AACd,UAAS,QAAA,CAAA,mBAAA,CAAoB,UAAU,YAAY,CAAA;AAAA,SACpD,CAAA;AAAA;AACH,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarScroll.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarScroll.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarScrollProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useDebounceFn } from '@vueuse/core'\nimport { watchEffect } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { useStateMachine } from '../shared/useStateMachine'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineProps<ScrollAreaScrollbarScrollProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst { state, dispatch } = useStateMachine('hidden', {\n hidden: {\n SCROLL: 'scrolling',\n },\n scrolling: {\n SCROLL_END: 'idle',\n POINTER_ENTER: 'interacting',\n },\n interacting: {\n SCROLL: 'interacting',\n POINTER_LEAVE: 'idle',\n },\n idle: {\n HIDE: 'hidden',\n SCROLL: 'scrolling',\n POINTER_ENTER: 'interacting',\n },\n})\n\nwatchEffect((onCleanup) => {\n if (state.value === 'idle') {\n const timeId = window.setTimeout(\n () => dispatch('HIDE'),\n rootContext.scrollHideDelay.value,\n )\n\n onCleanup(() => {\n window.clearTimeout(timeId)\n })\n }\n})\n\nconst debounceScrollEnd = useDebounceFn(() => dispatch('SCROLL_END'), 100)\n\nwatchEffect((onCleanup) => {\n const viewport = rootContext.viewport.value\n const scrollDirection = scrollbarContext.isHorizontal.value\n ? 'scrollLeft'\n : 'scrollTop'\n\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection]\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection]\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos\n if (hasScrollInDirectionChanged) {\n dispatch('SCROLL')\n debounceScrollEnd()\n }\n prevScrollPos = scrollPos\n }\n viewport.addEventListener('scroll', handleScroll)\n\n onCleanup(() => {\n viewport.removeEventListener('scroll', handleScroll)\n })\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || state !== 'hidden'\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmB,gCAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAA,MAAM,EAAE,KAAA,EAAO,QAAS,EAAA,GAAI,gBAAgB,QAAU,EAAA;AAAA,MACpD,MAAQ,EAAA;AAAA,QACN,MAAQ,EAAA;AAAA,OACV;AAAA,MACA,SAAW,EAAA;AAAA,QACT,UAAY,EAAA,MAAA;AAAA,QACZ,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,WAAa,EAAA;AAAA,QACX,MAAQ,EAAA,aAAA;AAAA,QACR,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,QAAA;AAAA,QACN,MAAQ,EAAA,WAAA;AAAA,QACR,aAAe,EAAA;AAAA;AACjB,KACD,CAAA;AAED,IAAA,WAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAI,IAAA,KAAA,CAAM,UAAU,MAAQ,EAAA;AAC1B,QAAA,MAAM,SAAS,MAAO,CAAA,UAAA;AAAA,UACpB,MAAM,SAAS,MAAM,CAAA;AAAA,UACrB,YAAY,eAAgB,CAAA;AAAA,SAC9B;AAEA,QAAA,SAAA,CAAU,MAAM;AACd,UAAA,MAAA,CAAO,aAAa,MAAM,CAAA;AAAA,SAC3B,CAAA;AAAA;AACH,KACD,CAAA;AAED,IAAA,MAAM,oBAAoB,aAAc,CAAA,MAAM,QAAS,CAAA,YAAY,GAAG,GAAG,CAAA;AAEzE,IAAA,WAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAM,MAAA,QAAA,GAAW,YAAY,QAAS,CAAA,KAAA;AACtC,MAAA,MAAM,eAAkB,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAClD,YACA,GAAA,WAAA;AAEJ,MAAA,IAAI,QAAU,EAAA;AACZ,QAAI,IAAA,aAAA,GAAgB,SAAS,eAAe,CAAA;AAC5C,QAAA,MAAM,eAAe,MAAM;AACzB,UAAM,MAAA,SAAA,GAAY,SAAS,eAAe,CAAA;AAC1C,UAAA,MAAM,8BAA8B,aAAkB,KAAA,SAAA;AACtD,UAAA,IAAI,2BAA6B,EAAA;AAC/B,YAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,YAAkB,iBAAA,EAAA;AAAA;AAEpB,UAAgB,aAAA,GAAA,SAAA;AAAA,SAClB;AACA,QAAS,QAAA,CAAA,gBAAA,CAAiB,UAAU,YAAY,CAAA;AAEhD,QAAA,SAAA,CAAU,MAAM;AACd,UAAS,QAAA,CAAA,mBAAA,CAAoB,UAAU,YAAY,CAAA;AAAA,SACpD,CAAA;AAAA;AACH,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarVisible.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarVisible.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { createContext, useForwardExpose } from '@/shared'\nimport type { Direction, Sizes } from './types'\n\nexport interface ScrollAreaScrollbarVisibleContext {\n sizes: Ref<Sizes>\n hasThumb: Ref<boolean>\n handleWheelScroll: (event: WheelEvent, payload: number) => void\n handleThumbDown: (\n event: MouseEvent,\n payload: { x: number, y: number }\n ) => void\n handleThumbUp: (event: MouseEvent) => void\n handleSizeChange: (payload: Sizes) => void\n onThumbPositionChange: () => void\n onDragScroll: (payload: number) => void\n onThumbChange: (element: HTMLElement) => void\n}\n\nexport const [injectScrollAreaScrollbarVisibleContext, provideScrollAreaScrollbarVisibleContext]\n = createContext<ScrollAreaScrollbarVisibleContext>('ScrollAreaScrollbarVisible')\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarX from './ScrollAreaScrollbarX.vue'\nimport ScrollAreaScrollbarY from './ScrollAreaScrollbarY.vue'\nimport {\n getScrollPositionFromPointer,\n getThumbOffsetFromScroll,\n getThumbRatio,\n isScrollingWithinScrollbarBounds,\n} from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\nconst { forwardRef } = useForwardExpose()\n\nconst sizes = ref<Sizes>({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 },\n})\n\nconst hasThumb = computed(() => {\n const thumbRatio = getThumbRatio(sizes.value.viewport, sizes.value.content)\n return Boolean(thumbRatio > 0 && thumbRatio < 1)\n})\n\nconst thumbRef = ref<HTMLElement>()\nconst pointerOffset = ref(0)\n\nfunction handleWheelScroll(event: WheelEvent, payload: number) {\n if (isShowingScrollbarX.value) {\n const scrollPos = rootContext.viewport.value!.scrollLeft + event.deltaY\n\n rootContext.viewport.value!.scrollLeft = scrollPos\n // prevent window scroll when wheeling on scrollbar\n if (isScrollingWithinScrollbarBounds(scrollPos, payload))\n event.preventDefault()\n }\n else {\n const scrollPos = rootContext.viewport.value!.scrollTop + event.deltaY\n\n rootContext.viewport.value!.scrollTop = scrollPos\n // prevent window scroll when wheeling on scrollbar\n if (isScrollingWithinScrollbarBounds(scrollPos, payload))\n event.preventDefault()\n }\n}\n\nfunction handleThumbDown(event: MouseEvent, payload: { x: number, y: number }) {\n if (isShowingScrollbarX.value)\n pointerOffset.value = payload.x\n else pointerOffset.value = payload.y\n}\nfunction handleThumbUp(event: MouseEvent) {\n pointerOffset.value = 0\n}\n\nfunction handleSizeChange(payload: Sizes) {\n sizes.value = payload\n}\n\nfunction getScrollPosition(pointerPos: number, dir?: Direction) {\n return getScrollPositionFromPointer(\n pointerPos,\n pointerOffset.value,\n sizes.value,\n dir,\n )\n}\n\nconst isShowingScrollbarX = computed(\n () => scrollbarContext.isHorizontal.value,\n)\n\nfunction onDragScroll(payload: number) {\n if (isShowingScrollbarX.value) {\n rootContext.viewport.value!.scrollLeft = getScrollPosition(\n payload,\n rootContext.dir.value,\n )\n }\n else {\n rootContext.viewport.value!.scrollTop = getScrollPosition(payload)\n }\n}\n\nfunction onThumbPositionChange() {\n if (isShowingScrollbarX.value) {\n if (rootContext.viewport.value && thumbRef.value) {\n const scrollPos = rootContext.viewport.value.scrollLeft\n const offset = getThumbOffsetFromScroll(\n scrollPos,\n sizes.value,\n rootContext.dir.value,\n )\n thumbRef.value.style.transform = `translate3d(${offset}px, 0, 0)`\n }\n }\n else {\n if (rootContext.viewport.value && thumbRef.value) {\n const scrollPos = rootContext.viewport.value.scrollTop\n const offset = getThumbOffsetFromScroll(scrollPos, sizes.value)\n thumbRef.value.style.transform = `translate3d(0, ${offset}px, 0)`\n }\n }\n}\nfunction onThumbChange(element: HTMLElement) {\n thumbRef.value = element\n}\n\nprovideScrollAreaScrollbarVisibleContext({\n sizes,\n hasThumb,\n handleWheelScroll,\n handleThumbDown,\n handleThumbUp,\n handleSizeChange,\n onThumbPositionChange,\n onThumbChange,\n onDragScroll,\n})\n</script>\n\n<template>\n <ScrollAreaScrollbarX\n v-if=\"isShowingScrollbarX\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarX>\n <ScrollAreaScrollbarY\n v-else\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarY>\n</template>\n"],"names":["createContext","injectScrollAreaRootContext","injectScrollAreaScrollbarContext","useForwardExpose","ref","computed","getThumbRatio","isScrollingWithinScrollbarBounds","getScrollPositionFromPointer","getThumbOffsetFromScroll"],"mappings":"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"}
1
+ {"version":3,"file":"ScrollAreaScrollbarVisible.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarVisible.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { Direction, Sizes } from './types'\nimport { createContext, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaScrollbarVisibleContext {\n sizes: Ref<Sizes>\n hasThumb: Ref<boolean>\n handleWheelScroll: (event: WheelEvent, payload: number) => void\n handleThumbDown: (\n event: MouseEvent,\n payload: { x: number, y: number }\n ) => void\n handleThumbUp: (event: MouseEvent) => void\n handleSizeChange: (payload: Sizes) => void\n onThumbPositionChange: () => void\n onDragScroll: (payload: number) => void\n onThumbChange: (element: HTMLElement) => void\n}\n\nexport const [injectScrollAreaScrollbarVisibleContext, provideScrollAreaScrollbarVisibleContext]\n = createContext<ScrollAreaScrollbarVisibleContext>('ScrollAreaScrollbarVisible')\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarX from './ScrollAreaScrollbarX.vue'\nimport ScrollAreaScrollbarY from './ScrollAreaScrollbarY.vue'\nimport {\n getScrollPositionFromPointer,\n getThumbOffsetFromScroll,\n getThumbRatio,\n isScrollingWithinScrollbarBounds,\n} from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\nconst { forwardRef } = useForwardExpose()\n\nconst sizes = ref<Sizes>({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 },\n})\n\nconst hasThumb = computed(() => {\n const thumbRatio = getThumbRatio(sizes.value.viewport, sizes.value.content)\n return Boolean(thumbRatio > 0 && thumbRatio < 1)\n})\n\nconst thumbRef = ref<HTMLElement>()\nconst pointerOffset = ref(0)\n\nfunction handleWheelScroll(event: WheelEvent, payload: number) {\n if (isShowingScrollbarX.value) {\n const scrollPos = rootContext.viewport.value!.scrollLeft + event.deltaY\n\n rootContext.viewport.value!.scrollLeft = scrollPos\n // prevent window scroll when wheeling on scrollbar\n if (isScrollingWithinScrollbarBounds(scrollPos, payload))\n event.preventDefault()\n }\n else {\n const scrollPos = rootContext.viewport.value!.scrollTop + event.deltaY\n\n rootContext.viewport.value!.scrollTop = scrollPos\n // prevent window scroll when wheeling on scrollbar\n if (isScrollingWithinScrollbarBounds(scrollPos, payload))\n event.preventDefault()\n }\n}\n\nfunction handleThumbDown(event: MouseEvent, payload: { x: number, y: number }) {\n if (isShowingScrollbarX.value)\n pointerOffset.value = payload.x\n else pointerOffset.value = payload.y\n}\nfunction handleThumbUp(event: MouseEvent) {\n pointerOffset.value = 0\n}\n\nfunction handleSizeChange(payload: Sizes) {\n sizes.value = payload\n}\n\nfunction getScrollPosition(pointerPos: number, dir?: Direction) {\n return getScrollPositionFromPointer(\n pointerPos,\n pointerOffset.value,\n sizes.value,\n dir,\n )\n}\n\nconst isShowingScrollbarX = computed(\n () => scrollbarContext.isHorizontal.value,\n)\n\nfunction onDragScroll(payload: number) {\n if (isShowingScrollbarX.value) {\n rootContext.viewport.value!.scrollLeft = getScrollPosition(\n payload,\n rootContext.dir.value,\n )\n }\n else {\n rootContext.viewport.value!.scrollTop = getScrollPosition(payload)\n }\n}\n\nfunction onThumbPositionChange() {\n if (isShowingScrollbarX.value) {\n if (rootContext.viewport.value && thumbRef.value) {\n const scrollPos = rootContext.viewport.value.scrollLeft\n const offset = getThumbOffsetFromScroll(\n scrollPos,\n sizes.value,\n rootContext.dir.value,\n )\n thumbRef.value.style.transform = `translate3d(${offset}px, 0, 0)`\n }\n }\n else {\n if (rootContext.viewport.value && thumbRef.value) {\n const scrollPos = rootContext.viewport.value.scrollTop\n const offset = getThumbOffsetFromScroll(scrollPos, sizes.value)\n thumbRef.value.style.transform = `translate3d(0, ${offset}px, 0)`\n }\n }\n}\nfunction onThumbChange(element: HTMLElement) {\n thumbRef.value = element\n}\n\nprovideScrollAreaScrollbarVisibleContext({\n sizes,\n hasThumb,\n handleWheelScroll,\n handleThumbDown,\n handleThumbUp,\n handleSizeChange,\n onThumbPositionChange,\n onThumbChange,\n onDragScroll,\n})\n</script>\n\n<template>\n <ScrollAreaScrollbarX\n v-if=\"isShowingScrollbarX\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarX>\n <ScrollAreaScrollbarY\n v-else\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarY>\n</template>\n"],"names":["createContext","injectScrollAreaRootContext","injectScrollAreaScrollbarContext","useForwardExpose","ref","computed","getThumbRatio","isScrollingWithinScrollbarBounds","getScrollPositionFromPointer","getThumbOffsetFromScroll"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarVisible.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarVisible.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { createContext, useForwardExpose } from '@/shared'\nimport type { Direction, Sizes } from './types'\n\nexport interface ScrollAreaScrollbarVisibleContext {\n sizes: Ref<Sizes>\n hasThumb: Ref<boolean>\n handleWheelScroll: (event: WheelEvent, payload: number) => void\n handleThumbDown: (\n event: MouseEvent,\n payload: { x: number, y: number }\n ) => void\n handleThumbUp: (event: MouseEvent) => void\n handleSizeChange: (payload: Sizes) => void\n onThumbPositionChange: () => void\n onDragScroll: (payload: number) => void\n onThumbChange: (element: HTMLElement) => void\n}\n\nexport const [injectScrollAreaScrollbarVisibleContext, provideScrollAreaScrollbarVisibleContext]\n = createContext<ScrollAreaScrollbarVisibleContext>('ScrollAreaScrollbarVisible')\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarX from './ScrollAreaScrollbarX.vue'\nimport ScrollAreaScrollbarY from './ScrollAreaScrollbarY.vue'\nimport {\n getScrollPositionFromPointer,\n getThumbOffsetFromScroll,\n getThumbRatio,\n isScrollingWithinScrollbarBounds,\n} from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\nconst { forwardRef } = useForwardExpose()\n\nconst sizes = ref<Sizes>({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 },\n})\n\nconst hasThumb = computed(() => {\n const thumbRatio = getThumbRatio(sizes.value.viewport, sizes.value.content)\n return Boolean(thumbRatio > 0 && thumbRatio < 1)\n})\n\nconst thumbRef = ref<HTMLElement>()\nconst pointerOffset = ref(0)\n\nfunction handleWheelScroll(event: WheelEvent, payload: number) {\n if (isShowingScrollbarX.value) {\n const scrollPos = rootContext.viewport.value!.scrollLeft + event.deltaY\n\n rootContext.viewport.value!.scrollLeft = scrollPos\n // prevent window scroll when wheeling on scrollbar\n if (isScrollingWithinScrollbarBounds(scrollPos, payload))\n event.preventDefault()\n }\n else {\n const scrollPos = rootContext.viewport.value!.scrollTop + event.deltaY\n\n rootContext.viewport.value!.scrollTop = scrollPos\n // prevent window scroll when wheeling on scrollbar\n if (isScrollingWithinScrollbarBounds(scrollPos, payload))\n event.preventDefault()\n }\n}\n\nfunction handleThumbDown(event: MouseEvent, payload: { x: number, y: number }) {\n if (isShowingScrollbarX.value)\n pointerOffset.value = payload.x\n else pointerOffset.value = payload.y\n}\nfunction handleThumbUp(event: MouseEvent) {\n pointerOffset.value = 0\n}\n\nfunction handleSizeChange(payload: Sizes) {\n sizes.value = payload\n}\n\nfunction getScrollPosition(pointerPos: number, dir?: Direction) {\n return getScrollPositionFromPointer(\n pointerPos,\n pointerOffset.value,\n sizes.value,\n dir,\n )\n}\n\nconst isShowingScrollbarX = computed(\n () => scrollbarContext.isHorizontal.value,\n)\n\nfunction onDragScroll(payload: number) {\n if (isShowingScrollbarX.value) {\n rootContext.viewport.value!.scrollLeft = getScrollPosition(\n payload,\n rootContext.dir.value,\n )\n }\n else {\n rootContext.viewport.value!.scrollTop = getScrollPosition(payload)\n }\n}\n\nfunction onThumbPositionChange() {\n if (isShowingScrollbarX.value) {\n if (rootContext.viewport.value && thumbRef.value) {\n const scrollPos = rootContext.viewport.value.scrollLeft\n const offset = getThumbOffsetFromScroll(\n scrollPos,\n sizes.value,\n rootContext.dir.value,\n )\n thumbRef.value.style.transform = `translate3d(${offset}px, 0, 0)`\n }\n }\n else {\n if (rootContext.viewport.value && thumbRef.value) {\n const scrollPos = rootContext.viewport.value.scrollTop\n const offset = getThumbOffsetFromScroll(scrollPos, sizes.value)\n thumbRef.value.style.transform = `translate3d(0, ${offset}px, 0)`\n }\n }\n}\nfunction onThumbChange(element: HTMLElement) {\n thumbRef.value = element\n}\n\nprovideScrollAreaScrollbarVisibleContext({\n sizes,\n hasThumb,\n handleWheelScroll,\n handleThumbDown,\n handleThumbUp,\n handleSizeChange,\n onThumbPositionChange,\n onThumbChange,\n onDragScroll,\n})\n</script>\n\n<template>\n <ScrollAreaScrollbarX\n v-if=\"isShowingScrollbarX\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarX>\n <ScrollAreaScrollbarY\n v-else\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarY>\n</template>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollAreaScrollbarVisible.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarVisible.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { Direction, Sizes } from './types'\nimport { createContext, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaScrollbarVisibleContext {\n sizes: Ref<Sizes>\n hasThumb: Ref<boolean>\n handleWheelScroll: (event: WheelEvent, payload: number) => void\n handleThumbDown: (\n event: MouseEvent,\n payload: { x: number, y: number }\n ) => void\n handleThumbUp: (event: MouseEvent) => void\n handleSizeChange: (payload: Sizes) => void\n onThumbPositionChange: () => void\n onDragScroll: (payload: number) => void\n onThumbChange: (element: HTMLElement) => void\n}\n\nexport const [injectScrollAreaScrollbarVisibleContext, provideScrollAreaScrollbarVisibleContext]\n = createContext<ScrollAreaScrollbarVisibleContext>('ScrollAreaScrollbarVisible')\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarX from './ScrollAreaScrollbarX.vue'\nimport ScrollAreaScrollbarY from './ScrollAreaScrollbarY.vue'\nimport {\n getScrollPositionFromPointer,\n getThumbOffsetFromScroll,\n getThumbRatio,\n isScrollingWithinScrollbarBounds,\n} from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\nconst { forwardRef } = useForwardExpose()\n\nconst sizes = ref<Sizes>({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 },\n})\n\nconst hasThumb = computed(() => {\n const thumbRatio = getThumbRatio(sizes.value.viewport, sizes.value.content)\n return Boolean(thumbRatio > 0 && thumbRatio < 1)\n})\n\nconst thumbRef = ref<HTMLElement>()\nconst pointerOffset = ref(0)\n\nfunction handleWheelScroll(event: WheelEvent, payload: number) {\n if (isShowingScrollbarX.value) {\n const scrollPos = rootContext.viewport.value!.scrollLeft + event.deltaY\n\n rootContext.viewport.value!.scrollLeft = scrollPos\n // prevent window scroll when wheeling on scrollbar\n if (isScrollingWithinScrollbarBounds(scrollPos, payload))\n event.preventDefault()\n }\n else {\n const scrollPos = rootContext.viewport.value!.scrollTop + event.deltaY\n\n rootContext.viewport.value!.scrollTop = scrollPos\n // prevent window scroll when wheeling on scrollbar\n if (isScrollingWithinScrollbarBounds(scrollPos, payload))\n event.preventDefault()\n }\n}\n\nfunction handleThumbDown(event: MouseEvent, payload: { x: number, y: number }) {\n if (isShowingScrollbarX.value)\n pointerOffset.value = payload.x\n else pointerOffset.value = payload.y\n}\nfunction handleThumbUp(event: MouseEvent) {\n pointerOffset.value = 0\n}\n\nfunction handleSizeChange(payload: Sizes) {\n sizes.value = payload\n}\n\nfunction getScrollPosition(pointerPos: number, dir?: Direction) {\n return getScrollPositionFromPointer(\n pointerPos,\n pointerOffset.value,\n sizes.value,\n dir,\n )\n}\n\nconst isShowingScrollbarX = computed(\n () => scrollbarContext.isHorizontal.value,\n)\n\nfunction onDragScroll(payload: number) {\n if (isShowingScrollbarX.value) {\n rootContext.viewport.value!.scrollLeft = getScrollPosition(\n payload,\n rootContext.dir.value,\n )\n }\n else {\n rootContext.viewport.value!.scrollTop = getScrollPosition(payload)\n }\n}\n\nfunction onThumbPositionChange() {\n if (isShowingScrollbarX.value) {\n if (rootContext.viewport.value && thumbRef.value) {\n const scrollPos = rootContext.viewport.value.scrollLeft\n const offset = getThumbOffsetFromScroll(\n scrollPos,\n sizes.value,\n rootContext.dir.value,\n )\n thumbRef.value.style.transform = `translate3d(${offset}px, 0, 0)`\n }\n }\n else {\n if (rootContext.viewport.value && thumbRef.value) {\n const scrollPos = rootContext.viewport.value.scrollTop\n const offset = getThumbOffsetFromScroll(scrollPos, sizes.value)\n thumbRef.value.style.transform = `translate3d(0, ${offset}px, 0)`\n }\n }\n}\nfunction onThumbChange(element: HTMLElement) {\n thumbRef.value = element\n}\n\nprovideScrollAreaScrollbarVisibleContext({\n sizes,\n hasThumb,\n handleWheelScroll,\n handleThumbDown,\n handleThumbUp,\n handleSizeChange,\n onThumbPositionChange,\n onThumbChange,\n onDragScroll,\n})\n</script>\n\n<template>\n <ScrollAreaScrollbarX\n v-if=\"isShowingScrollbarX\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarX>\n <ScrollAreaScrollbarY\n v-else\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarY>\n</template>\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarX.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarX.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { getThumbSize } from './utils'\nimport { useForwardExpose } from '@/shared'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarXChange(scrollbarElement.value)\n})\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"true\"\n data-orientation=\"horizontal\"\n :style=\"{\n bottom: 0,\n left: rootContext.dir.value === 'rtl' ? 'var(--reka-scroll-area-corner-width)' : 0,\n right: rootContext.dir.value === 'ltr' ? 'var(--reka-scroll-area-corner-width)' : 0,\n ['--reka-scroll-area-thumb-width' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.x)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","useForwardExpose","onMounted","computed"],"mappings":";;;;;;;;;;;;AAQA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqBC,wCAAiB,EAAA;AAE1E,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AACD,IAAA,MAAM,KAAQ,GAAAC,YAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarX.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarX.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { getThumbSize } from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarXChange(scrollbarElement.value)\n})\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"true\"\n data-orientation=\"horizontal\"\n :style=\"{\n bottom: 0,\n left: rootContext.dir.value === 'rtl' ? 'var(--reka-scroll-area-corner-width)' : 0,\n right: rootContext.dir.value === 'ltr' ? 'var(--reka-scroll-area-corner-width)' : 0,\n ['--reka-scroll-area-thumb-width' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.x)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","useForwardExpose","onMounted","computed"],"mappings":";;;;;;;;;;;;AAQA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqBC,wCAAiB,EAAA;AAE1E,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AACD,IAAA,MAAM,KAAQ,GAAAC,YAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarX.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarX.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { getThumbSize } from './utils'\nimport { useForwardExpose } from '@/shared'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarXChange(scrollbarElement.value)\n})\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"true\"\n data-orientation=\"horizontal\"\n :style=\"{\n bottom: 0,\n left: rootContext.dir.value === 'rtl' ? 'var(--reka-scroll-area-corner-width)' : 0,\n right: rootContext.dir.value === 'ltr' ? 'var(--reka-scroll-area-corner-width)' : 0,\n ['--reka-scroll-area-thumb-width' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.x)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;AAQA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0B,uCAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqB,gBAAiB,EAAA;AAE1E,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AACD,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarX.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarX.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { getThumbSize } from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarXChange(scrollbarElement.value)\n})\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"true\"\n data-orientation=\"horizontal\"\n :style=\"{\n bottom: 0,\n left: rootContext.dir.value === 'rtl' ? 'var(--reka-scroll-area-corner-width)' : 0,\n right: rootContext.dir.value === 'ltr' ? 'var(--reka-scroll-area-corner-width)' : 0,\n ['--reka-scroll-area-thumb-width' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.x)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;AAQA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0B,uCAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqB,gBAAiB,EAAA;AAE1E,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AACD,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarY.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarY.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { getThumbSize } from './utils'\nimport { useForwardExpose } from '@/shared'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarYChange(scrollbarElement.value)\n})\n\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"false\"\n data-orientation=\"vertical\"\n :style=\"{\n top: 0,\n right: rootContext.dir.value === 'ltr' ? 0 : undefined,\n left: rootContext.dir.value === 'rtl' ? 0 : undefined,\n bottom: 'var(--reka-scroll-area-corner-height)',\n ['--reka-scroll-area-thumb-height' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.y)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","useForwardExpose","onMounted","computed"],"mappings":";;;;;;;;;;;;AAQA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqBC,wCAAiB,EAAA;AAE1E,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AAED,IAAA,MAAM,KAAQ,GAAAC,YAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarY.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarY.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { getThumbSize } from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarYChange(scrollbarElement.value)\n})\n\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"false\"\n data-orientation=\"vertical\"\n :style=\"{\n top: 0,\n right: rootContext.dir.value === 'ltr' ? 0 : undefined,\n left: rootContext.dir.value === 'rtl' ? 0 : undefined,\n bottom: 'var(--reka-scroll-area-corner-height)',\n ['--reka-scroll-area-thumb-height' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.y)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","useForwardExpose","onMounted","computed"],"mappings":";;;;;;;;;;;;AAQA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqBC,wCAAiB,EAAA;AAE1E,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AAED,IAAA,MAAM,KAAQ,GAAAC,YAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaScrollbarY.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarY.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { getThumbSize } from './utils'\nimport { useForwardExpose } from '@/shared'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarYChange(scrollbarElement.value)\n})\n\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"false\"\n data-orientation=\"vertical\"\n :style=\"{\n top: 0,\n right: rootContext.dir.value === 'ltr' ? 0 : undefined,\n left: rootContext.dir.value === 'rtl' ? 0 : undefined,\n bottom: 'var(--reka-scroll-area-corner-height)',\n ['--reka-scroll-area-thumb-height' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.y)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;AAQA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0B,uCAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqB,gBAAiB,EAAA;AAE1E,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AAED,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaScrollbarY.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarY.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { getThumbSize } from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarYChange(scrollbarElement.value)\n})\n\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"false\"\n data-orientation=\"vertical\"\n :style=\"{\n top: 0,\n right: rootContext.dir.value === 'ltr' ? 0 : undefined,\n left: rootContext.dir.value === 'rtl' ? 0 : undefined,\n bottom: 'var(--reka-scroll-area-corner-height)',\n ['--reka-scroll-area-thumb-height' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.y)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;AAQA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0B,uCAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqB,gBAAiB,EAAA;AAE1E,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AAED,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaThumb.cjs","sources":["../../src/ScrollArea/ScrollAreaThumb.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaThumbProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onUnmounted, ref } from 'vue'\nimport { watchOnce } from '@vueuse/core'\nimport { Primitive } from '@/Primitive'\nimport { addUnlinkedScrollListener } from './utils'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\n\nconst props = defineProps<ScrollAreaThumbProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContextVisible = injectScrollAreaScrollbarVisibleContext()\n\nfunction handlePointerDown(event: MouseEvent) {\n const thumb = event.target as HTMLElement\n const thumbRect = thumb.getBoundingClientRect()\n const x = event.clientX - thumbRect.left\n const y = event.clientY - thumbRect.top\n scrollbarContextVisible.handleThumbDown(event, { x, y })\n}\n\nfunction handlePointerUp(event: MouseEvent) {\n scrollbarContextVisible.handleThumbUp(event)\n}\n\nconst { forwardRef, currentElement: thumbElement } = useForwardExpose()\nconst removeUnlinkedScrollListenerRef = ref<() => void>()\nconst viewport = computed(() => rootContext.viewport.value)\n\nfunction handleScroll() {\n if (!removeUnlinkedScrollListenerRef.value) {\n const listener = addUnlinkedScrollListener(\n viewport.value!,\n scrollbarContextVisible.onThumbPositionChange,\n )\n removeUnlinkedScrollListenerRef.value = listener\n scrollbarContextVisible.onThumbPositionChange()\n }\n}\n\nconst sizes = computed(() => scrollbarContextVisible.sizes.value)\n\nwatchOnce(sizes, () => {\n scrollbarContextVisible.onThumbChange(thumbElement.value!)\n if (viewport.value) {\n /**\n * We only bind to native scroll event so we know when scroll starts and ends.\n * When scroll starts we start a requestAnimationFrame loop that checks for\n * changes to scroll position. That rAF loop triggers our thumb position change\n * when relevant to avoid scroll-linked effects. We cancel the loop when scroll ends.\n * https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\n */\n scrollbarContextVisible.onThumbPositionChange()\n viewport.value.addEventListener('scroll', handleScroll)\n }\n})\n\nonUnmounted(() => {\n viewport.value!.removeEventListener('scroll', handleScroll)\n rootContext.viewport.value?.removeEventListener('scroll', handleScroll)\n})\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :data-state=\"scrollbarContextVisible.hasThumb ? 'visible' : 'hidden'\"\n :style=\"{\n width: 'var(--reka-scroll-area-thumb-width)',\n height: 'var(--reka-scroll-area-thumb-height)',\n }\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n @pointerdown=\"handlePointerDown\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","useForwardExpose","ref","computed","addUnlinkedScrollListener","watchOnce","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AAExE,IAAA,SAAS,kBAAkB,KAAmB,EAAA;AAC5C,MAAA,MAAM,QAAQ,KAAM,CAAA,MAAA;AACpB,MAAM,MAAA,SAAA,GAAY,MAAM,qBAAsB,EAAA;AAC9C,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,IAAA;AACpC,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,GAAA;AACpC,MAAA,uBAAA,CAAwB,eAAgB,CAAA,KAAA,EAAO,EAAE,CAAA,EAAG,GAAG,CAAA;AAAA;AAGzD,IAAA,SAAS,gBAAgB,KAAmB,EAAA;AAC1C,MAAA,uBAAA,CAAwB,cAAc,KAAK,CAAA;AAAA;AAG7C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,YAAA,KAAiBC,wCAAiB,EAAA;AACtE,IAAA,MAAM,kCAAkCC,OAAgB,EAAA;AACxD,IAAA,MAAM,QAAW,GAAAC,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAE1D,IAAA,SAAS,YAAe,GAAA;AACtB,MAAI,IAAA,CAAC,gCAAgC,KAAO,EAAA;AAC1C,QAAA,MAAM,QAAW,GAAAC,0CAAA;AAAA,UACf,QAAS,CAAA,KAAA;AAAA,UACT,uBAAwB,CAAA;AAAA,SAC1B;AACA,QAAA,+BAAA,CAAgC,KAAQ,GAAA,QAAA;AACxC,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAAA;AAChD;AAGF,IAAA,MAAM,KAAQ,GAAAD,YAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;AAEhE,IAAAE,cAAA,CAAU,OAAO,MAAM;AACrB,MAAwB,uBAAA,CAAA,aAAA,CAAc,aAAa,KAAM,CAAA;AACzD,MAAA,IAAI,SAAS,KAAO,EAAA;AAQlB,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAC9C,QAAS,QAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA;AACxD,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAS,QAAA,CAAA,KAAA,CAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAC1D,MAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA,KACvE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaThumb.cjs","sources":["../../src/ScrollArea/ScrollAreaThumb.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaThumbProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { watchOnce } from '@vueuse/core'\nimport { computed, onUnmounted, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { addUnlinkedScrollListener } from './utils'\n\nconst props = defineProps<ScrollAreaThumbProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContextVisible = injectScrollAreaScrollbarVisibleContext()\n\nfunction handlePointerDown(event: MouseEvent) {\n const thumb = event.target as HTMLElement\n const thumbRect = thumb.getBoundingClientRect()\n const x = event.clientX - thumbRect.left\n const y = event.clientY - thumbRect.top\n scrollbarContextVisible.handleThumbDown(event, { x, y })\n}\n\nfunction handlePointerUp(event: MouseEvent) {\n scrollbarContextVisible.handleThumbUp(event)\n}\n\nconst { forwardRef, currentElement: thumbElement } = useForwardExpose()\nconst removeUnlinkedScrollListenerRef = ref<() => void>()\nconst viewport = computed(() => rootContext.viewport.value)\n\nfunction handleScroll() {\n if (!removeUnlinkedScrollListenerRef.value) {\n const listener = addUnlinkedScrollListener(\n viewport.value!,\n scrollbarContextVisible.onThumbPositionChange,\n )\n removeUnlinkedScrollListenerRef.value = listener\n scrollbarContextVisible.onThumbPositionChange()\n }\n}\n\nconst sizes = computed(() => scrollbarContextVisible.sizes.value)\n\nwatchOnce(sizes, () => {\n scrollbarContextVisible.onThumbChange(thumbElement.value!)\n if (viewport.value) {\n /**\n * We only bind to native scroll event so we know when scroll starts and ends.\n * When scroll starts we start a requestAnimationFrame loop that checks for\n * changes to scroll position. That rAF loop triggers our thumb position change\n * when relevant to avoid scroll-linked effects. We cancel the loop when scroll ends.\n * https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\n */\n scrollbarContextVisible.onThumbPositionChange()\n viewport.value.addEventListener('scroll', handleScroll)\n }\n})\n\nonUnmounted(() => {\n viewport.value!.removeEventListener('scroll', handleScroll)\n rootContext.viewport.value?.removeEventListener('scroll', handleScroll)\n})\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :data-state=\"scrollbarContextVisible.hasThumb ? 'visible' : 'hidden'\"\n :style=\"{\n width: 'var(--reka-scroll-area-thumb-width)',\n height: 'var(--reka-scroll-area-thumb-height)',\n }\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n @pointerdown=\"handlePointerDown\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","useForwardExpose","ref","computed","addUnlinkedScrollListener","watchOnce","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AAExE,IAAA,SAAS,kBAAkB,KAAmB,EAAA;AAC5C,MAAA,MAAM,QAAQ,KAAM,CAAA,MAAA;AACpB,MAAM,MAAA,SAAA,GAAY,MAAM,qBAAsB,EAAA;AAC9C,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,IAAA;AACpC,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,GAAA;AACpC,MAAA,uBAAA,CAAwB,eAAgB,CAAA,KAAA,EAAO,EAAE,CAAA,EAAG,GAAG,CAAA;AAAA;AAGzD,IAAA,SAAS,gBAAgB,KAAmB,EAAA;AAC1C,MAAA,uBAAA,CAAwB,cAAc,KAAK,CAAA;AAAA;AAG7C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,YAAA,KAAiBC,wCAAiB,EAAA;AACtE,IAAA,MAAM,kCAAkCC,OAAgB,EAAA;AACxD,IAAA,MAAM,QAAW,GAAAC,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAE1D,IAAA,SAAS,YAAe,GAAA;AACtB,MAAI,IAAA,CAAC,gCAAgC,KAAO,EAAA;AAC1C,QAAA,MAAM,QAAW,GAAAC,0CAAA;AAAA,UACf,QAAS,CAAA,KAAA;AAAA,UACT,uBAAwB,CAAA;AAAA,SAC1B;AACA,QAAA,+BAAA,CAAgC,KAAQ,GAAA,QAAA;AACxC,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAAA;AAChD;AAGF,IAAA,MAAM,KAAQ,GAAAD,YAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;AAEhE,IAAAE,cAAA,CAAU,OAAO,MAAM;AACrB,MAAwB,uBAAA,CAAA,aAAA,CAAc,aAAa,KAAM,CAAA;AACzD,MAAA,IAAI,SAAS,KAAO,EAAA;AAQlB,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAC9C,QAAS,QAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA;AACxD,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAS,QAAA,CAAA,KAAA,CAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAC1D,MAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA,KACvE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaThumb.js","sources":["../../src/ScrollArea/ScrollAreaThumb.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaThumbProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onUnmounted, ref } from 'vue'\nimport { watchOnce } from '@vueuse/core'\nimport { Primitive } from '@/Primitive'\nimport { addUnlinkedScrollListener } from './utils'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\n\nconst props = defineProps<ScrollAreaThumbProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContextVisible = injectScrollAreaScrollbarVisibleContext()\n\nfunction handlePointerDown(event: MouseEvent) {\n const thumb = event.target as HTMLElement\n const thumbRect = thumb.getBoundingClientRect()\n const x = event.clientX - thumbRect.left\n const y = event.clientY - thumbRect.top\n scrollbarContextVisible.handleThumbDown(event, { x, y })\n}\n\nfunction handlePointerUp(event: MouseEvent) {\n scrollbarContextVisible.handleThumbUp(event)\n}\n\nconst { forwardRef, currentElement: thumbElement } = useForwardExpose()\nconst removeUnlinkedScrollListenerRef = ref<() => void>()\nconst viewport = computed(() => rootContext.viewport.value)\n\nfunction handleScroll() {\n if (!removeUnlinkedScrollListenerRef.value) {\n const listener = addUnlinkedScrollListener(\n viewport.value!,\n scrollbarContextVisible.onThumbPositionChange,\n )\n removeUnlinkedScrollListenerRef.value = listener\n scrollbarContextVisible.onThumbPositionChange()\n }\n}\n\nconst sizes = computed(() => scrollbarContextVisible.sizes.value)\n\nwatchOnce(sizes, () => {\n scrollbarContextVisible.onThumbChange(thumbElement.value!)\n if (viewport.value) {\n /**\n * We only bind to native scroll event so we know when scroll starts and ends.\n * When scroll starts we start a requestAnimationFrame loop that checks for\n * changes to scroll position. That rAF loop triggers our thumb position change\n * when relevant to avoid scroll-linked effects. We cancel the loop when scroll ends.\n * https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\n */\n scrollbarContextVisible.onThumbPositionChange()\n viewport.value.addEventListener('scroll', handleScroll)\n }\n})\n\nonUnmounted(() => {\n viewport.value!.removeEventListener('scroll', handleScroll)\n rootContext.viewport.value?.removeEventListener('scroll', handleScroll)\n})\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :data-state=\"scrollbarContextVisible.hasThumb ? 'visible' : 'hidden'\"\n :style=\"{\n width: 'var(--reka-scroll-area-thumb-width)',\n height: 'var(--reka-scroll-area-thumb-height)',\n }\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n @pointerdown=\"handlePointerDown\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0B,uCAAwC,EAAA;AAExE,IAAA,SAAS,kBAAkB,KAAmB,EAAA;AAC5C,MAAA,MAAM,QAAQ,KAAM,CAAA,MAAA;AACpB,MAAM,MAAA,SAAA,GAAY,MAAM,qBAAsB,EAAA;AAC9C,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,IAAA;AACpC,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,GAAA;AACpC,MAAA,uBAAA,CAAwB,eAAgB,CAAA,KAAA,EAAO,EAAE,CAAA,EAAG,GAAG,CAAA;AAAA;AAGzD,IAAA,SAAS,gBAAgB,KAAmB,EAAA;AAC1C,MAAA,uBAAA,CAAwB,cAAc,KAAK,CAAA;AAAA;AAG7C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,YAAA,KAAiB,gBAAiB,EAAA;AACtE,IAAA,MAAM,kCAAkC,GAAgB,EAAA;AACxD,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAE1D,IAAA,SAAS,YAAe,GAAA;AACtB,MAAI,IAAA,CAAC,gCAAgC,KAAO,EAAA;AAC1C,QAAA,MAAM,QAAW,GAAA,yBAAA;AAAA,UACf,QAAS,CAAA,KAAA;AAAA,UACT,uBAAwB,CAAA;AAAA,SAC1B;AACA,QAAA,+BAAA,CAAgC,KAAQ,GAAA,QAAA;AACxC,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAAA;AAChD;AAGF,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;AAEhE,IAAA,SAAA,CAAU,OAAO,MAAM;AACrB,MAAwB,uBAAA,CAAA,aAAA,CAAc,aAAa,KAAM,CAAA;AACzD,MAAA,IAAI,SAAS,KAAO,EAAA;AAQlB,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAC9C,QAAS,QAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA;AACxD,KACD,CAAA;AAED,IAAA,WAAA,CAAY,MAAM;AAChB,MAAS,QAAA,CAAA,KAAA,CAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAC1D,MAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA,KACvE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaThumb.js","sources":["../../src/ScrollArea/ScrollAreaThumb.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaThumbProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { watchOnce } from '@vueuse/core'\nimport { computed, onUnmounted, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { addUnlinkedScrollListener } from './utils'\n\nconst props = defineProps<ScrollAreaThumbProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContextVisible = injectScrollAreaScrollbarVisibleContext()\n\nfunction handlePointerDown(event: MouseEvent) {\n const thumb = event.target as HTMLElement\n const thumbRect = thumb.getBoundingClientRect()\n const x = event.clientX - thumbRect.left\n const y = event.clientY - thumbRect.top\n scrollbarContextVisible.handleThumbDown(event, { x, y })\n}\n\nfunction handlePointerUp(event: MouseEvent) {\n scrollbarContextVisible.handleThumbUp(event)\n}\n\nconst { forwardRef, currentElement: thumbElement } = useForwardExpose()\nconst removeUnlinkedScrollListenerRef = ref<() => void>()\nconst viewport = computed(() => rootContext.viewport.value)\n\nfunction handleScroll() {\n if (!removeUnlinkedScrollListenerRef.value) {\n const listener = addUnlinkedScrollListener(\n viewport.value!,\n scrollbarContextVisible.onThumbPositionChange,\n )\n removeUnlinkedScrollListenerRef.value = listener\n scrollbarContextVisible.onThumbPositionChange()\n }\n}\n\nconst sizes = computed(() => scrollbarContextVisible.sizes.value)\n\nwatchOnce(sizes, () => {\n scrollbarContextVisible.onThumbChange(thumbElement.value!)\n if (viewport.value) {\n /**\n * We only bind to native scroll event so we know when scroll starts and ends.\n * When scroll starts we start a requestAnimationFrame loop that checks for\n * changes to scroll position. That rAF loop triggers our thumb position change\n * when relevant to avoid scroll-linked effects. We cancel the loop when scroll ends.\n * https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\n */\n scrollbarContextVisible.onThumbPositionChange()\n viewport.value.addEventListener('scroll', handleScroll)\n }\n})\n\nonUnmounted(() => {\n viewport.value!.removeEventListener('scroll', handleScroll)\n rootContext.viewport.value?.removeEventListener('scroll', handleScroll)\n})\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :data-state=\"scrollbarContextVisible.hasThumb ? 'visible' : 'hidden'\"\n :style=\"{\n width: 'var(--reka-scroll-area-thumb-width)',\n height: 'var(--reka-scroll-area-thumb-height)',\n }\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n @pointerdown=\"handlePointerDown\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0B,uCAAwC,EAAA;AAExE,IAAA,SAAS,kBAAkB,KAAmB,EAAA;AAC5C,MAAA,MAAM,QAAQ,KAAM,CAAA,MAAA;AACpB,MAAM,MAAA,SAAA,GAAY,MAAM,qBAAsB,EAAA;AAC9C,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,IAAA;AACpC,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,GAAA;AACpC,MAAA,uBAAA,CAAwB,eAAgB,CAAA,KAAA,EAAO,EAAE,CAAA,EAAG,GAAG,CAAA;AAAA;AAGzD,IAAA,SAAS,gBAAgB,KAAmB,EAAA;AAC1C,MAAA,uBAAA,CAAwB,cAAc,KAAK,CAAA;AAAA;AAG7C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,YAAA,KAAiB,gBAAiB,EAAA;AACtE,IAAA,MAAM,kCAAkC,GAAgB,EAAA;AACxD,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAE1D,IAAA,SAAS,YAAe,GAAA;AACtB,MAAI,IAAA,CAAC,gCAAgC,KAAO,EAAA;AAC1C,QAAA,MAAM,QAAW,GAAA,yBAAA;AAAA,UACf,QAAS,CAAA,KAAA;AAAA,UACT,uBAAwB,CAAA;AAAA,SAC1B;AACA,QAAA,+BAAA,CAAgC,KAAQ,GAAA,QAAA;AACxC,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAAA;AAChD;AAGF,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;AAEhE,IAAA,SAAA,CAAU,OAAO,MAAM;AACrB,MAAwB,uBAAA,CAAA,aAAA,CAAc,aAAa,KAAM,CAAA;AACzD,MAAA,IAAI,SAAS,KAAO,EAAA;AAQlB,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAC9C,QAAS,QAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA;AACxD,KACD,CAAA;AAED,IAAA,WAAA,CAAY,MAAM;AAChB,MAAS,QAAA,CAAA,KAAA,CAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAC1D,MAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA,KACvE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  const vue = require('vue');
4
4
  const shared_useNonce = require('../shared/useNonce.cjs');
5
- const ScrollArea_ScrollAreaRoot = require('./ScrollAreaRoot.cjs');
6
5
  const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
7
6
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
7
+ const ScrollArea_ScrollAreaRoot = require('./ScrollAreaRoot.cjs');
8
8
 
9
9
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
10
10
  ...{
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaViewport.cjs","sources":["../../src/ScrollArea/ScrollAreaViewport.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { useNonce } from '@/shared/useNonce'\n\nexport interface ScrollAreaViewportProps extends PrimitiveProps {\n /**\n * Will add `nonce` attribute to the style tag which can be used by Content Security Policy. <br> If omitted, inherits globally from `ConfigProvider`.\n */\n nonce?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref, toRefs } from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { Primitive } from '@/Primitive'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<ScrollAreaViewportProps>()\n\nconst { nonce: propNonce } = toRefs(props)\nconst nonce = useNonce(propNonce)\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst viewportElement = ref<HTMLElement>()\n\nonMounted(() => {\n rootContext.onViewportChange(viewportElement.value!)\n rootContext.onContentChange(contentElement.value!)\n})\n\ndefineExpose({\n viewportElement,\n})\nconst { forwardRef, currentElement: contentElement } = useForwardExpose()\n</script>\n\n<template>\n <div\n ref=\"viewportElement\"\n data-reka-scroll-area-viewport=\"\"\n :style=\"{\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflowed#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: rootContext.scrollbarXEnabled.value ? 'scroll' : 'hidden',\n overflowY: rootContext.scrollbarYEnabled.value ? 'scroll' : 'hidden',\n }\"\n v-bind=\"$attrs\"\n :tabindex=\"0\"\n >\n <Primitive\n :ref=\"forwardRef\"\n :style=\"{\n /**\n * When horizontal scrollbar is visible: this element should be at least\n * as wide as its children for size calculations to work correctly.\n *\n * When horizontal scrollbar is NOT visible: this element's width should\n * be constrained by the parent container to enable `text-overflow: ellipsis`\n */\n minWidth: rootContext.scrollbarXEnabled.value ? 'fit-content' : undefined,\n }\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n >\n <slot />\n </Primitive>\n </div>\n <Primitive\n as=\"style\"\n :nonce=\"nonce\"\n >\n /* Hide scrollbars cross-browser and enable momentum scroll for touch\n devices */\n [data-reka-scroll-area-viewport] {\n scrollbar-width:none;\n -ms-overflow-style:none;\n -webkit-overflow-scrolling:touch;\n }\n\n [data-reka-scroll-area-viewport]::-webkit-scrollbar {\n display:none;\n }\n </Primitive>\n</template>\n"],"names":["toRefs","useNonce","injectScrollAreaRootContext","ref","onMounted","useForwardExpose"],"mappings":";;;;;;;;;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,EAAE,KAAA,EAAO,SAAU,EAAA,GAAIA,WAAO,KAAK,CAAA;AACzC,IAAM,MAAA,KAAA,GAAQC,yBAAS,SAAS,CAAA;AAEhC,IAAA,MAAM,cAAcC,qDAA4B,EAAA;AAEhD,IAAA,MAAM,kBAAkBC,OAAiB,EAAA;AAEzC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAY,WAAA,CAAA,gBAAA,CAAiB,gBAAgB,KAAM,CAAA;AACnD,MAAY,WAAA,CAAA,eAAA,CAAgB,eAAe,KAAM,CAAA;AAAA,KAClD,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX;AAAA,KACD,CAAA;AACD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,cAAA,KAAmBC,wCAAiB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ScrollAreaViewport.cjs","sources":["../../src/ScrollArea/ScrollAreaViewport.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { useNonce } from '@/shared/useNonce'\n\nexport interface ScrollAreaViewportProps extends PrimitiveProps {\n /**\n * Will add `nonce` attribute to the style tag which can be used by Content Security Policy. <br> If omitted, inherits globally from `ConfigProvider`.\n */\n nonce?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref, toRefs } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<ScrollAreaViewportProps>()\n\nconst { nonce: propNonce } = toRefs(props)\nconst nonce = useNonce(propNonce)\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst viewportElement = ref<HTMLElement>()\n\nonMounted(() => {\n rootContext.onViewportChange(viewportElement.value!)\n rootContext.onContentChange(contentElement.value!)\n})\n\ndefineExpose({\n viewportElement,\n})\nconst { forwardRef, currentElement: contentElement } = useForwardExpose()\n</script>\n\n<template>\n <div\n ref=\"viewportElement\"\n data-reka-scroll-area-viewport=\"\"\n :style=\"{\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflowed#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: rootContext.scrollbarXEnabled.value ? 'scroll' : 'hidden',\n overflowY: rootContext.scrollbarYEnabled.value ? 'scroll' : 'hidden',\n }\"\n v-bind=\"$attrs\"\n :tabindex=\"0\"\n >\n <Primitive\n :ref=\"forwardRef\"\n :style=\"{\n /**\n * When horizontal scrollbar is visible: this element should be at least\n * as wide as its children for size calculations to work correctly.\n *\n * When horizontal scrollbar is NOT visible: this element's width should\n * be constrained by the parent container to enable `text-overflow: ellipsis`\n */\n minWidth: rootContext.scrollbarXEnabled.value ? 'fit-content' : undefined,\n }\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n >\n <slot />\n </Primitive>\n </div>\n <Primitive\n as=\"style\"\n :nonce=\"nonce\"\n >\n /* Hide scrollbars cross-browser and enable momentum scroll for touch\n devices */\n [data-reka-scroll-area-viewport] {\n scrollbar-width:none;\n -ms-overflow-style:none;\n -webkit-overflow-scrolling:touch;\n }\n\n [data-reka-scroll-area-viewport]::-webkit-scrollbar {\n display:none;\n }\n </Primitive>\n</template>\n"],"names":["toRefs","useNonce","injectScrollAreaRootContext","ref","onMounted","useForwardExpose"],"mappings":";;;;;;;;;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,EAAE,KAAA,EAAO,SAAU,EAAA,GAAIA,WAAO,KAAK,CAAA;AACzC,IAAM,MAAA,KAAA,GAAQC,yBAAS,SAAS,CAAA;AAEhC,IAAA,MAAM,cAAcC,qDAA4B,EAAA;AAEhD,IAAA,MAAM,kBAAkBC,OAAiB,EAAA;AAEzC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAY,WAAA,CAAA,gBAAA,CAAiB,gBAAgB,KAAM,CAAA;AACnD,MAAY,WAAA,CAAA,eAAA,CAAgB,eAAe,KAAM,CAAA;AAAA,KAClD,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX;AAAA,KACD,CAAA;AACD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,cAAA,KAAmBC,wCAAiB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, toRefs, ref, onMounted, createElementBlock, openBlock, Fragment, createElementVNode, createVNode, mergeProps, unref, normalizeStyle, withCtx, renderSlot, createTextVNode } from 'vue';
2
2
  import { u as useNonce } from '../shared/useNonce.js';
3
- import { i as injectScrollAreaRootContext } from './ScrollAreaRoot.js';
4
3
  import { u as useForwardExpose } from '../shared/useForwardExpose.js';
5
4
  import { P as Primitive } from '../Primitive/Primitive.js';
5
+ import { i as injectScrollAreaRootContext } from './ScrollAreaRoot.js';
6
6
 
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  ...{