@sth87/shadcn-design-system 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (787) hide show
  1. package/AI_README.md +114 -51
  2. package/README.md +83 -27
  3. package/dist/AI_CONTEXT.md +51 -52
  4. package/dist/cjs/_virtual/_commonjsHelpers.cjs +0 -1
  5. package/dist/cjs/_virtual/index.cjs +0 -1
  6. package/dist/cjs/_virtual/index2.cjs +0 -1
  7. package/dist/cjs/components/Accordion/Accordion.cjs +0 -1
  8. package/dist/cjs/components/Accordion/index.cjs +1 -0
  9. package/dist/cjs/components/Avatar/Avatar.cjs +1 -2
  10. package/dist/cjs/components/Avatar/index.cjs +1 -0
  11. package/dist/cjs/components/Badge/Badge.cjs +0 -1
  12. package/dist/cjs/components/Badge/index.cjs +1 -0
  13. package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs +0 -1
  14. package/dist/cjs/components/Breadcrumb/index.cjs +1 -0
  15. package/dist/cjs/components/Button/Button.cjs +0 -1
  16. package/dist/cjs/components/Button/ButtonGroup.cjs +0 -1
  17. package/dist/cjs/components/Button/index.cjs +1 -0
  18. package/dist/cjs/components/Calendar/Calendar.cjs +1 -2
  19. package/dist/cjs/components/Calendar/index.cjs +1 -0
  20. package/dist/cjs/components/Carousel/Carousel.cjs +0 -1
  21. package/dist/cjs/components/Carousel/index.cjs +1 -0
  22. package/dist/cjs/components/Checkbox/Checkbox.cjs +1 -2
  23. package/dist/cjs/components/Checkbox/index.cjs +1 -0
  24. package/dist/cjs/components/Collapsible/Collapsible.cjs +0 -1
  25. package/dist/cjs/components/Collapsible/index.cjs +1 -0
  26. package/dist/cjs/components/Command/Command.cjs +0 -1
  27. package/dist/cjs/components/Command/index.cjs +0 -1
  28. package/dist/cjs/components/ContextMenu/ContextMenu.cjs +0 -1
  29. package/dist/cjs/components/ContextMenu/index.cjs +0 -1
  30. package/dist/cjs/components/Cropper/Cropper.cjs +1 -2
  31. package/dist/cjs/components/Cropper/CropperTool.cjs +0 -1
  32. package/dist/cjs/components/Cropper/index.cjs +1 -0
  33. package/dist/cjs/components/Cropper/utils.cjs +0 -1
  34. package/dist/cjs/components/DatePicker/DatePicker.cjs +1 -2
  35. package/dist/cjs/components/DatePicker/RangePicker.cjs +1 -2
  36. package/dist/cjs/components/DatePicker/TimePicker.cjs +1 -2
  37. package/dist/cjs/components/DatePicker/index.cjs +1 -0
  38. package/dist/cjs/components/Dialog/Dialog.cjs +0 -1
  39. package/dist/cjs/components/Dialog/index.cjs +1 -0
  40. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +0 -1
  41. package/dist/cjs/components/DropdownMenu/index.cjs +0 -1
  42. package/dist/cjs/components/FloatLabel.cjs +0 -1
  43. package/dist/cjs/components/Glass/Glass.cjs +1 -2
  44. package/dist/cjs/components/Glass/index.cjs +1 -0
  45. package/dist/cjs/components/ImageViewer/ImageViewer.cjs +1 -2
  46. package/dist/cjs/components/ImageViewer/index.cjs +1 -0
  47. package/dist/cjs/components/Input/Input.cjs +1 -2
  48. package/dist/cjs/components/Input/index.cjs +1 -0
  49. package/dist/cjs/components/InputOTP/InputOTP.cjs +1 -2
  50. package/dist/cjs/components/InputOTP/index.cjs +1 -0
  51. package/dist/cjs/components/Interactive/CursorFollow.cjs +1 -2
  52. package/dist/cjs/components/Interactive/index.cjs +1 -0
  53. package/dist/cjs/components/Label/index.cjs +1 -0
  54. package/dist/cjs/components/Marquee/Marquee.cjs +1 -2
  55. package/dist/cjs/components/Marquee/MarqueeWrapper.cjs +0 -1
  56. package/dist/cjs/components/Marquee/index.cjs +0 -1
  57. package/dist/cjs/components/Masonry/Masonry.cjs +1 -2
  58. package/dist/cjs/components/Masonry/MasonryWrapper.cjs +0 -1
  59. package/dist/cjs/components/Masonry/index.cjs +1 -0
  60. package/dist/cjs/components/Pagination/Pagination.cjs +0 -1
  61. package/dist/cjs/components/Pagination/index.cjs +0 -1
  62. package/dist/cjs/components/Popover/Popover.cjs +0 -1
  63. package/dist/cjs/components/Popover/index.cjs +1 -2
  64. package/dist/cjs/components/QrCode/QrCode.cjs +1 -2
  65. package/dist/cjs/components/QrCode/index.cjs +0 -1
  66. package/dist/cjs/components/Radio/Radio.cjs +1 -2
  67. package/dist/cjs/components/Radio/index.cjs +1 -0
  68. package/dist/cjs/components/Rate/Rate.cjs +0 -1
  69. package/dist/cjs/components/Rate/index.cjs +1 -0
  70. package/dist/cjs/components/Resizable/Resizable.cjs +0 -1
  71. package/dist/cjs/components/Resizable/index.cjs +1 -0
  72. package/dist/cjs/components/ScrollArea/ScrollArea.cjs +0 -1
  73. package/dist/cjs/components/ScrollArea/index.cjs +1 -0
  74. package/dist/cjs/components/Select/Select.cjs +1 -2
  75. package/dist/cjs/components/Select/index.cjs +1 -0
  76. package/dist/cjs/components/Separator/Separator.cjs +0 -1
  77. package/dist/cjs/components/Separator/index.cjs +1 -0
  78. package/dist/cjs/components/Sheet/Sheet.cjs +0 -1
  79. package/dist/cjs/components/Sheet/index.cjs +1 -0
  80. package/dist/cjs/components/Sidebar/Sidebar.cjs +0 -1
  81. package/dist/cjs/components/Sidebar/index.cjs +1 -0
  82. package/dist/cjs/components/Skeleton/Skeleton.cjs +0 -1
  83. package/dist/cjs/components/Skeleton/index.cjs +1 -0
  84. package/dist/cjs/components/Slider/Slider.cjs +0 -1
  85. package/dist/cjs/components/Slider/index.cjs +1 -0
  86. package/dist/cjs/components/Stepper/Stepper.cjs +1 -2
  87. package/dist/cjs/components/Stepper/StepperWrapper.cjs +1 -2
  88. package/dist/cjs/components/Stepper/index.cjs +0 -1
  89. package/dist/cjs/components/Switch/Switch.cjs +0 -1
  90. package/dist/cjs/components/Switch/index.cjs +1 -0
  91. package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs +1 -2
  92. package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs +1 -2
  93. package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs +1 -2
  94. package/dist/cjs/components/Table/data-table-column-header.cjs +1 -2
  95. package/dist/cjs/components/Table/data-table-pagination.cjs +1 -2
  96. package/dist/cjs/components/Table/data-table-toolbar.cjs +1 -2
  97. package/dist/cjs/components/Table/data-table-view-options.cjs +1 -2
  98. package/dist/cjs/components/Table/data-table.cjs +1 -2
  99. package/dist/cjs/components/Table/index.cjs +1 -0
  100. package/dist/cjs/components/Table/select-column.cjs +0 -1
  101. package/dist/cjs/components/Tabs/Tabs.cjs +1 -2
  102. package/dist/cjs/components/Tabs/classes.cjs +1 -2
  103. package/dist/cjs/components/Tabs/index.cjs +1 -0
  104. package/dist/cjs/components/Textarea/Textarea.cjs +1 -2
  105. package/dist/cjs/components/Textarea/index.cjs +1 -0
  106. package/dist/cjs/components/TimeGridView.cjs +1 -2
  107. package/dist/cjs/components/Toast/Toast.cjs +1 -2
  108. package/dist/cjs/components/Toast/index.cjs +1 -0
  109. package/dist/cjs/components/Toggle/Toggle.cjs +0 -1
  110. package/dist/cjs/components/Toggle/index.cjs +1 -0
  111. package/dist/cjs/components/Tooltip/Tooltip.cjs +1 -2
  112. package/dist/cjs/components/Tooltip/index.cjs +1 -0
  113. package/dist/cjs/components/Tour/Tour.cjs +1 -2
  114. package/dist/cjs/components/Tour/TourWrapper.cjs +0 -1
  115. package/dist/cjs/components/Tour/index.cjs +0 -1
  116. package/dist/cjs/components/TreeSelect/TreeSelect.cjs +0 -1
  117. package/dist/cjs/components/TreeSelect/index.cjs +1 -0
  118. package/dist/cjs/components/Upload/Upload.cjs +0 -1
  119. package/dist/cjs/components/Upload/index.cjs +1 -0
  120. package/dist/cjs/components/WheelColumn.cjs +1 -2
  121. package/dist/cjs/config/data-table.cjs +0 -1
  122. package/dist/cjs/constants/common.cjs +0 -1
  123. package/dist/cjs/hooks/index.cjs +1 -0
  124. package/dist/cjs/hooks/use-callback-ref.cjs +0 -1
  125. package/dist/cjs/hooks/use-data-table.cjs +1 -2
  126. package/dist/cjs/hooks/use-debounced-callback.cjs +1 -2
  127. package/dist/cjs/hooks/use-debounced-value.cjs +1 -2
  128. package/dist/cjs/hooks/use-event-listener.cjs +1 -2
  129. package/dist/cjs/hooks/use-intersection-observer.cjs +0 -1
  130. package/dist/cjs/hooks/use-isomorphic-layout-effect.cjs +0 -1
  131. package/dist/cjs/hooks/use-media-query.cjs +1 -2
  132. package/dist/cjs/hooks/use-mouse-position.cjs +1 -0
  133. package/dist/cjs/hooks/use-on-click-outside.cjs +1 -2
  134. package/dist/cjs/hooks/use-script.cjs +0 -1
  135. package/dist/cjs/hooks/use-scroll-lock.cjs +1 -2
  136. package/dist/cjs/index.cjs +1 -2
  137. package/dist/cjs/lib/TextAnimation/BlurText.cjs +0 -1
  138. package/dist/cjs/lib/TextAnimation/CircularText.cjs +0 -1
  139. package/dist/cjs/lib/TextAnimation/FlipWords.cjs +1 -2
  140. package/dist/cjs/lib/TextAnimation/GradientText.cjs +1 -2
  141. package/dist/cjs/lib/TextAnimation/RollingText.cjs +0 -1
  142. package/dist/cjs/lib/TextAnimation/RotatingText.cjs +1 -2
  143. package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs +1 -2
  144. package/dist/cjs/lib/TextAnimation/SplittingText.cjs +0 -1
  145. package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs +1 -2
  146. package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs +0 -1
  147. package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs +0 -1
  148. package/dist/cjs/lib/TextAnimation/TypingText.cjs +0 -1
  149. package/dist/cjs/lib/TextAnimation/WritingText.cjs +0 -1
  150. package/dist/cjs/lib/TextAnimation/index.cjs +1 -0
  151. package/dist/cjs/lib/utils.cjs +1 -0
  152. package/dist/cjs/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.1.1/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.cjs +0 -1
  153. package/dist/cjs/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/@dnd-kit/core/dist/core.esm.cjs +0 -1
  154. package/dist/cjs/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/@dnd-kit/sortable/dist/sortable.esm.cjs +0 -1
  155. package/dist/cjs/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.1.1/node_modules/@dnd-kit/utilities/dist/utilities.esm.cjs +0 -1
  156. package/dist/cjs/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.cjs +0 -1
  157. package/dist/cjs/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.cjs +0 -1
  158. package/dist/cjs/packages/ui/src/components/accordion.cjs +0 -1
  159. package/dist/cjs/packages/ui/src/components/alert-dialog.cjs +0 -1
  160. package/dist/cjs/packages/ui/src/components/avatar.cjs +0 -1
  161. package/dist/cjs/packages/ui/src/components/badge.cjs +0 -1
  162. package/dist/cjs/packages/ui/src/components/breadcrumb.cjs +0 -1
  163. package/dist/cjs/packages/ui/src/components/button-group.cjs +0 -1
  164. package/dist/cjs/packages/ui/src/components/button.cjs +0 -1
  165. package/dist/cjs/packages/ui/src/components/calendar.cjs +0 -1
  166. package/dist/cjs/packages/ui/src/components/checkbox.cjs +0 -1
  167. package/dist/cjs/packages/ui/src/components/collapsible.cjs +0 -1
  168. package/dist/cjs/packages/ui/src/components/combobox.cjs +1 -2
  169. package/dist/cjs/packages/ui/src/components/command.cjs +0 -1
  170. package/dist/cjs/packages/ui/src/components/context-menu.cjs +0 -1
  171. package/dist/cjs/packages/ui/src/components/dialog.cjs +0 -1
  172. package/dist/cjs/packages/ui/src/components/drawer.cjs +0 -1
  173. package/dist/cjs/packages/ui/src/components/dropdown-menu.cjs +0 -1
  174. package/dist/cjs/packages/ui/src/components/input-otp.cjs +0 -1
  175. package/dist/cjs/packages/ui/src/components/input.cjs +0 -1
  176. package/dist/cjs/packages/ui/src/components/label.cjs +0 -1
  177. package/dist/cjs/packages/ui/src/components/pagination.cjs +0 -1
  178. package/dist/cjs/packages/ui/src/components/popover.cjs +0 -1
  179. package/dist/cjs/packages/ui/src/components/radio-group.cjs +0 -1
  180. package/dist/cjs/packages/ui/src/components/resizable.cjs +0 -1
  181. package/dist/cjs/packages/ui/src/components/scroll-area.cjs +0 -1
  182. package/dist/cjs/packages/ui/src/components/select.cjs +1 -2
  183. package/dist/cjs/packages/ui/src/components/separator.cjs +0 -1
  184. package/dist/cjs/packages/ui/src/components/sheet.cjs +0 -1
  185. package/dist/cjs/packages/ui/src/components/sidebar.cjs +0 -1
  186. package/dist/cjs/packages/ui/src/components/skeleton.cjs +0 -1
  187. package/dist/cjs/packages/ui/src/components/switch.cjs +0 -1
  188. package/dist/cjs/packages/ui/src/components/table.cjs +0 -1
  189. package/dist/cjs/packages/ui/src/components/tabs.cjs +0 -1
  190. package/dist/cjs/packages/ui/src/components/textarea.cjs +0 -1
  191. package/dist/cjs/packages/ui/src/components/toggle.cjs +0 -1
  192. package/dist/cjs/packages/ui/src/components/tooltip.cjs +0 -1
  193. package/dist/cjs/packages/ui/src/components/tree-view.cjs +0 -1
  194. package/dist/cjs/packages/ui/src/hooks/use-mobile.cjs +0 -1
  195. package/dist/cjs/packages/ui/src/lib/compose-refs.cjs +0 -1
  196. package/dist/cjs/packages/ui/src/lib/utils.cjs +0 -1
  197. package/dist/cjs/utils/animations.cjs +1 -2
  198. package/dist/cjs/utils/css.cjs +0 -1
  199. package/dist/cjs/utils/data-table.cjs +0 -1
  200. package/dist/cjs/utils/datetime.cjs +0 -1
  201. package/dist/cjs/utils/parsers.cjs +0 -1
  202. package/dist/esm/_virtual/_commonjsHelpers.js +0 -1
  203. package/dist/esm/_virtual/index.js +0 -1
  204. package/dist/esm/_virtual/index2.js +0 -1
  205. package/dist/esm/components/Accordion/Accordion.js +0 -1
  206. package/dist/esm/components/Accordion/index.js +9 -0
  207. package/dist/esm/components/Avatar/Avatar.js +32 -63
  208. package/dist/esm/components/Avatar/index.js +4 -0
  209. package/dist/esm/components/Badge/Badge.js +0 -1
  210. package/dist/esm/components/Badge/index.js +5 -0
  211. package/dist/esm/components/Breadcrumb/Breadcrumb.js +0 -1
  212. package/dist/esm/components/Breadcrumb/index.js +5 -0
  213. package/dist/esm/components/Button/Button.js +0 -1
  214. package/dist/esm/components/Button/ButtonGroup.js +0 -1
  215. package/dist/esm/components/Button/index.js +10 -0
  216. package/dist/esm/components/Calendar/Calendar.js +25 -57
  217. package/dist/esm/components/Calendar/index.js +5 -0
  218. package/dist/esm/components/Carousel/Carousel.js +0 -1
  219. package/dist/esm/components/Carousel/index.js +6 -0
  220. package/dist/esm/components/Checkbox/Checkbox.js +29 -58
  221. package/dist/esm/components/Checkbox/index.js +5 -0
  222. package/dist/esm/components/Collapsible/Collapsible.js +0 -1
  223. package/dist/esm/components/Collapsible/index.js +5 -0
  224. package/dist/esm/components/Command/Command.js +0 -1
  225. package/dist/esm/components/Command/index.js +0 -1
  226. package/dist/esm/components/ContextMenu/ContextMenu.js +0 -1
  227. package/dist/esm/components/ContextMenu/index.js +0 -1
  228. package/dist/esm/components/Cropper/Cropper.js +261 -292
  229. package/dist/esm/components/Cropper/CropperTool.js +0 -1
  230. package/dist/esm/components/Cropper/index.js +17 -0
  231. package/dist/esm/components/Cropper/utils.js +0 -1
  232. package/dist/esm/components/DatePicker/DatePicker.js +94 -122
  233. package/dist/esm/components/DatePicker/RangePicker.js +202 -230
  234. package/dist/esm/components/DatePicker/TimePicker.js +63 -92
  235. package/dist/esm/components/DatePicker/index.js +8 -0
  236. package/dist/esm/components/Dialog/Dialog.js +0 -1
  237. package/dist/esm/components/Dialog/index.js +5 -0
  238. package/dist/esm/components/DropdownMenu/DropdownMenu.js +0 -1
  239. package/dist/esm/components/DropdownMenu/index.js +0 -1
  240. package/dist/esm/components/FloatLabel.js +0 -1
  241. package/dist/esm/components/Glass/Glass.js +7 -39
  242. package/dist/esm/components/Glass/index.js +5 -0
  243. package/dist/esm/components/ImageViewer/ImageViewer.js +95 -126
  244. package/dist/esm/components/ImageViewer/index.js +7 -0
  245. package/dist/esm/components/Input/Input.js +0 -1
  246. package/dist/esm/components/Input/index.js +5 -0
  247. package/dist/esm/components/InputOTP/InputOTP.js +28 -58
  248. package/dist/esm/components/InputOTP/index.js +5 -0
  249. package/dist/esm/components/Interactive/CursorFollow.js +90 -122
  250. package/dist/esm/components/Interactive/index.js +9 -0
  251. package/dist/esm/components/Label/index.js +4 -0
  252. package/dist/esm/components/Marquee/Marquee.js +78 -109
  253. package/dist/esm/components/Marquee/MarqueeWrapper.js +0 -1
  254. package/dist/esm/components/Marquee/index.js +0 -1
  255. package/dist/esm/components/Masonry/Masonry.js +67 -100
  256. package/dist/esm/components/Masonry/MasonryWrapper.js +0 -1
  257. package/dist/esm/components/Masonry/index.js +10 -0
  258. package/dist/esm/components/Pagination/Pagination.js +0 -1
  259. package/dist/esm/components/Pagination/index.js +0 -1
  260. package/dist/esm/components/Popover/Popover.js +0 -1
  261. package/dist/esm/components/Popover/index.js +3 -3
  262. package/dist/esm/components/QrCode/QrCode.js +126 -157
  263. package/dist/esm/components/QrCode/index.js +0 -1
  264. package/dist/esm/components/Radio/Radio.js +36 -67
  265. package/dist/esm/components/Radio/index.js +5 -0
  266. package/dist/esm/components/Rate/Rate.js +0 -1
  267. package/dist/esm/components/Rate/index.js +5 -0
  268. package/dist/esm/components/Resizable/Resizable.js +0 -1
  269. package/dist/esm/components/Resizable/index.js +13 -0
  270. package/dist/esm/components/ScrollArea/ScrollArea.js +0 -1
  271. package/dist/esm/components/ScrollArea/index.js +5 -0
  272. package/dist/esm/components/Select/Select.js +0 -1
  273. package/dist/esm/components/Select/index.js +5 -0
  274. package/dist/esm/components/Separator/Separator.js +0 -1
  275. package/dist/esm/components/Separator/index.js +5 -0
  276. package/dist/esm/components/Sheet/Sheet.js +0 -1
  277. package/dist/esm/components/Sheet/index.js +5 -0
  278. package/dist/esm/components/Sidebar/Sidebar.js +0 -1
  279. package/dist/esm/components/Sidebar/index.js +29 -0
  280. package/dist/esm/components/Skeleton/Skeleton.js +0 -1
  281. package/dist/esm/components/Skeleton/index.js +5 -0
  282. package/dist/esm/components/Slider/Slider.js +0 -1
  283. package/dist/esm/components/Slider/index.js +5 -0
  284. package/dist/esm/components/Stepper/Stepper.js +72 -102
  285. package/dist/esm/components/Stepper/StepperWrapper.js +42 -74
  286. package/dist/esm/components/Stepper/index.js +0 -1
  287. package/dist/esm/components/Switch/Switch.js +0 -1
  288. package/dist/esm/components/Switch/index.js +5 -0
  289. package/dist/esm/components/Table/TableFilter/data-table-date-filter.js +2 -3
  290. package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js +12 -13
  291. package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js +66 -97
  292. package/dist/esm/components/Table/data-table-column-header.js +41 -73
  293. package/dist/esm/components/Table/data-table-pagination.js +30 -63
  294. package/dist/esm/components/Table/data-table-toolbar.js +43 -74
  295. package/dist/esm/components/Table/data-table-view-options.js +85 -116
  296. package/dist/esm/components/Table/data-table.js +52 -85
  297. package/dist/esm/components/Table/index.js +20 -0
  298. package/dist/esm/components/Table/select-column.js +0 -1
  299. package/dist/esm/components/Tabs/Tabs.js +0 -1
  300. package/dist/esm/components/Tabs/classes.js +23 -57
  301. package/dist/esm/components/Tabs/index.js +5 -0
  302. package/dist/esm/components/Textarea/Textarea.js +0 -1
  303. package/dist/esm/components/Textarea/index.js +5 -0
  304. package/dist/esm/components/TimeGridView.js +33 -65
  305. package/dist/esm/components/Toast/Toast.js +39 -71
  306. package/dist/esm/components/Toast/index.js +6 -0
  307. package/dist/esm/components/Toggle/Toggle.js +0 -1
  308. package/dist/esm/components/Toggle/index.js +5 -0
  309. package/dist/esm/components/Tooltip/Tooltip.js +34 -65
  310. package/dist/esm/components/Tooltip/index.js +4 -0
  311. package/dist/esm/components/Tour/Tour.js +331 -361
  312. package/dist/esm/components/Tour/TourWrapper.js +0 -1
  313. package/dist/esm/components/Tour/index.js +0 -1
  314. package/dist/esm/components/TreeSelect/TreeSelect.js +0 -1
  315. package/dist/esm/components/TreeSelect/index.js +5 -0
  316. package/dist/esm/components/Upload/Upload.js +0 -1
  317. package/dist/esm/components/Upload/index.js +4 -0
  318. package/dist/esm/components/WheelColumn.js +37 -69
  319. package/dist/esm/config/data-table.js +0 -1
  320. package/dist/esm/constants/common.js +0 -1
  321. package/dist/esm/hooks/index.js +26 -0
  322. package/dist/esm/hooks/use-callback-ref.js +0 -1
  323. package/dist/esm/hooks/use-data-table.js +0 -1
  324. package/dist/esm/hooks/use-debounced-callback.js +0 -1
  325. package/dist/esm/hooks/use-debounced-value.js +0 -1
  326. package/dist/esm/hooks/use-event-listener.js +0 -1
  327. package/dist/esm/hooks/use-intersection-observer.js +0 -1
  328. package/dist/esm/hooks/use-isomorphic-layout-effect.js +0 -1
  329. package/dist/esm/hooks/use-media-query.js +0 -1
  330. package/dist/esm/hooks/use-mouse-position.js +27 -0
  331. package/dist/esm/hooks/use-on-click-outside.js +0 -1
  332. package/dist/esm/hooks/use-script.js +0 -1
  333. package/dist/esm/hooks/use-scroll-lock.js +0 -1
  334. package/dist/esm/index.js +241 -268
  335. package/dist/esm/lib/TextAnimation/BlurText.js +0 -1
  336. package/dist/esm/lib/TextAnimation/CircularText.js +0 -1
  337. package/dist/esm/lib/TextAnimation/FlipWords.js +28 -60
  338. package/dist/esm/lib/TextAnimation/GradientText.js +26 -58
  339. package/dist/esm/lib/TextAnimation/RollingText.js +0 -1
  340. package/dist/esm/lib/TextAnimation/RotatingText.js +27 -59
  341. package/dist/esm/lib/TextAnimation/ShimmeringText.js +26 -58
  342. package/dist/esm/lib/TextAnimation/SplittingText.js +0 -1
  343. package/dist/esm/lib/TextAnimation/TextGenerateEffect.js +29 -61
  344. package/dist/esm/lib/TextAnimation/TextHoverEffect.js +0 -1
  345. package/dist/esm/lib/TextAnimation/TextPressureEffect.js +0 -1
  346. package/dist/esm/lib/TextAnimation/TypingText.js +0 -1
  347. package/dist/esm/lib/TextAnimation/WritingText.js +0 -1
  348. package/dist/esm/lib/TextAnimation/index.js +28 -0
  349. package/dist/esm/lib/utils.js +12 -0
  350. package/dist/esm/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.1.1/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +0 -1
  351. package/dist/esm/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/@dnd-kit/core/dist/core.esm.js +0 -1
  352. package/dist/esm/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +0 -1
  353. package/dist/esm/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.1.1/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +0 -1
  354. package/dist/esm/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js +0 -1
  355. package/dist/esm/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.js +0 -1
  356. package/dist/esm/packages/ui/src/components/accordion.js +0 -1
  357. package/dist/esm/packages/ui/src/components/alert-dialog.js +0 -1
  358. package/dist/esm/packages/ui/src/components/avatar.js +0 -1
  359. package/dist/esm/packages/ui/src/components/badge.js +0 -1
  360. package/dist/esm/packages/ui/src/components/breadcrumb.js +0 -1
  361. package/dist/esm/packages/ui/src/components/button-group.js +0 -1
  362. package/dist/esm/packages/ui/src/components/button.js +0 -1
  363. package/dist/esm/packages/ui/src/components/calendar.js +0 -1
  364. package/dist/esm/packages/ui/src/components/checkbox.js +0 -1
  365. package/dist/esm/packages/ui/src/components/collapsible.js +0 -1
  366. package/dist/esm/packages/ui/src/components/combobox.js +96 -81
  367. package/dist/esm/packages/ui/src/components/command.js +0 -1
  368. package/dist/esm/packages/ui/src/components/context-menu.js +0 -1
  369. package/dist/esm/packages/ui/src/components/dialog.js +0 -1
  370. package/dist/esm/packages/ui/src/components/drawer.js +0 -1
  371. package/dist/esm/packages/ui/src/components/dropdown-menu.js +0 -1
  372. package/dist/esm/packages/ui/src/components/input-otp.js +0 -1
  373. package/dist/esm/packages/ui/src/components/input.js +0 -1
  374. package/dist/esm/packages/ui/src/components/label.js +0 -1
  375. package/dist/esm/packages/ui/src/components/pagination.js +0 -1
  376. package/dist/esm/packages/ui/src/components/popover.js +0 -1
  377. package/dist/esm/packages/ui/src/components/radio-group.js +0 -1
  378. package/dist/esm/packages/ui/src/components/resizable.js +0 -1
  379. package/dist/esm/packages/ui/src/components/scroll-area.js +0 -1
  380. package/dist/esm/packages/ui/src/components/select.js +89 -83
  381. package/dist/esm/packages/ui/src/components/separator.js +0 -1
  382. package/dist/esm/packages/ui/src/components/sheet.js +0 -1
  383. package/dist/esm/packages/ui/src/components/sidebar.js +0 -1
  384. package/dist/esm/packages/ui/src/components/skeleton.js +0 -1
  385. package/dist/esm/packages/ui/src/components/switch.js +0 -1
  386. package/dist/esm/packages/ui/src/components/table.js +0 -1
  387. package/dist/esm/packages/ui/src/components/tabs.js +0 -1
  388. package/dist/esm/packages/ui/src/components/textarea.js +0 -1
  389. package/dist/esm/packages/ui/src/components/toggle.js +0 -1
  390. package/dist/esm/packages/ui/src/components/tooltip.js +0 -1
  391. package/dist/esm/packages/ui/src/components/tree-view.js +1 -2
  392. package/dist/esm/packages/ui/src/hooks/use-mobile.js +0 -1
  393. package/dist/esm/packages/ui/src/lib/compose-refs.js +0 -1
  394. package/dist/esm/packages/ui/src/lib/utils.js +0 -1
  395. package/dist/esm/utils/animations.js +40 -73
  396. package/dist/esm/utils/css.js +0 -1
  397. package/dist/esm/utils/data-table.js +0 -1
  398. package/dist/esm/utils/datetime.js +0 -1
  399. package/dist/esm/utils/parsers.js +0 -1
  400. package/dist/types/components/Accordion/index.d.ts +1 -1
  401. package/dist/types/components/Accordion/index.d.ts.map +1 -1
  402. package/dist/types/components/Badge/index.d.ts +1 -1
  403. package/dist/types/components/Badge/index.d.ts.map +1 -1
  404. package/dist/types/components/Breadcrumb/index.d.ts +1 -1
  405. package/dist/types/components/Breadcrumb/index.d.ts.map +1 -1
  406. package/dist/types/components/Button/index.d.ts +1 -1
  407. package/dist/types/components/Button/index.d.ts.map +1 -1
  408. package/dist/types/components/Checkbox/Checkbox.d.ts +1 -1
  409. package/dist/types/components/Checkbox/index.d.ts +1 -1
  410. package/dist/types/components/Checkbox/index.d.ts.map +1 -1
  411. package/dist/types/components/Collapsible/index.d.ts +1 -1
  412. package/dist/types/components/Collapsible/index.d.ts.map +1 -1
  413. package/dist/types/components/Cropper/Cropper.d.ts.map +1 -1
  414. package/dist/types/components/Dialog/index.d.ts +1 -1
  415. package/dist/types/components/Dialog/index.d.ts.map +1 -1
  416. package/dist/types/components/Glass/index.d.ts +1 -1
  417. package/dist/types/components/Glass/index.d.ts.map +1 -1
  418. package/dist/types/components/Input/index.d.ts +1 -1
  419. package/dist/types/components/Input/index.d.ts.map +1 -1
  420. package/dist/types/components/InputOTP/index.d.ts +1 -1
  421. package/dist/types/components/InputOTP/index.d.ts.map +1 -1
  422. package/dist/types/components/Label/Label.d.ts +1 -1
  423. package/dist/types/components/Label/Label.d.ts.map +1 -1
  424. package/dist/types/components/Marquee/Marquee.d.ts +1 -1
  425. package/dist/types/components/Marquee/Marquee.d.ts.map +1 -1
  426. package/dist/types/components/Masonry/Masonry.d.ts.map +1 -1
  427. package/dist/types/components/Popover/index.d.ts +1 -0
  428. package/dist/types/components/Popover/index.d.ts.map +1 -1
  429. package/dist/types/components/QrCode/QrCode.d.ts.map +1 -1
  430. package/dist/types/components/Radio/index.d.ts +1 -1
  431. package/dist/types/components/Radio/index.d.ts.map +1 -1
  432. package/dist/types/components/ScrollArea/index.d.ts +1 -1
  433. package/dist/types/components/ScrollArea/index.d.ts.map +1 -1
  434. package/dist/types/components/Select/index.d.ts +1 -1
  435. package/dist/types/components/Select/index.d.ts.map +1 -1
  436. package/dist/types/components/Sheet/index.d.ts +1 -1
  437. package/dist/types/components/Sheet/index.d.ts.map +1 -1
  438. package/dist/types/components/Skeleton/index.d.ts +1 -1
  439. package/dist/types/components/Skeleton/index.d.ts.map +1 -1
  440. package/dist/types/components/Slider/Slider.d.ts +1 -1
  441. package/dist/types/components/Slider/index.d.ts +1 -1
  442. package/dist/types/components/Slider/index.d.ts.map +1 -1
  443. package/dist/types/components/Stepper/Stepper.d.ts.map +1 -1
  444. package/dist/types/components/Switch/Switch.d.ts +1 -1
  445. package/dist/types/components/Switch/index.d.ts +1 -1
  446. package/dist/types/components/Switch/index.d.ts.map +1 -1
  447. package/dist/types/components/Tabs/index.d.ts +1 -1
  448. package/dist/types/components/Tabs/index.d.ts.map +1 -1
  449. package/dist/types/components/Textarea/index.d.ts +1 -1
  450. package/dist/types/components/Textarea/index.d.ts.map +1 -1
  451. package/dist/types/components/Toggle/Toggle.d.ts +1 -1
  452. package/dist/types/components/Toggle/index.d.ts +1 -1
  453. package/dist/types/components/Toggle/index.d.ts.map +1 -1
  454. package/dist/types/components/Tour/Tour.d.ts.map +1 -1
  455. package/dist/types/hooks/index.d.ts +3 -0
  456. package/dist/types/hooks/index.d.ts.map +1 -1
  457. package/dist/types/index.d.ts +23 -6
  458. package/dist/types/index.d.ts.map +1 -1
  459. package/dist/types/lib/utils.d.ts +1 -1
  460. package/dist/types/lib/utils.d.ts.map +1 -1
  461. package/dist/types/packages/ui/src/components/badge.d.ts +3 -3
  462. package/dist/types/packages/ui/src/components/button.d.ts +2 -2
  463. package/dist/types/packages/ui/src/components/checkbox.d.ts +1 -1
  464. package/dist/types/packages/ui/src/components/combobox.d.ts +2 -2
  465. package/dist/types/packages/ui/src/components/combobox.d.ts.map +1 -1
  466. package/dist/types/packages/ui/src/components/input-otp.d.ts +1 -1
  467. package/dist/types/packages/ui/src/components/input.d.ts +1 -1
  468. package/dist/types/packages/ui/src/components/radio-group.d.ts +1 -1
  469. package/dist/types/packages/ui/src/components/select.d.ts +2 -2
  470. package/dist/types/packages/ui/src/components/select.d.ts.map +1 -1
  471. package/dist/types/packages/ui/src/components/switch.d.ts +1 -1
  472. package/dist/types/packages/ui/src/components/textarea.d.ts +1 -1
  473. package/dist/types/packages/ui/src/components/toggle.d.ts +1 -1
  474. package/dist/types/utils/parsers.d.ts +1 -1
  475. package/package.json +258 -258
  476. package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +0 -1
  477. package/dist/cjs/_virtual/index.cjs.map +0 -1
  478. package/dist/cjs/_virtual/index2.cjs.map +0 -1
  479. package/dist/cjs/components/Accordion/Accordion.cjs.map +0 -1
  480. package/dist/cjs/components/Avatar/Avatar.cjs.map +0 -1
  481. package/dist/cjs/components/Badge/Badge.cjs.map +0 -1
  482. package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs.map +0 -1
  483. package/dist/cjs/components/Button/Button.cjs.map +0 -1
  484. package/dist/cjs/components/Button/ButtonGroup.cjs.map +0 -1
  485. package/dist/cjs/components/Calendar/Calendar.cjs.map +0 -1
  486. package/dist/cjs/components/Carousel/Carousel.cjs.map +0 -1
  487. package/dist/cjs/components/Checkbox/Checkbox.cjs.map +0 -1
  488. package/dist/cjs/components/Collapsible/Collapsible.cjs.map +0 -1
  489. package/dist/cjs/components/Command/Command.cjs.map +0 -1
  490. package/dist/cjs/components/Command/index.cjs.map +0 -1
  491. package/dist/cjs/components/ContextMenu/ContextMenu.cjs.map +0 -1
  492. package/dist/cjs/components/ContextMenu/index.cjs.map +0 -1
  493. package/dist/cjs/components/Cropper/Cropper.cjs.map +0 -1
  494. package/dist/cjs/components/Cropper/CropperTool.cjs.map +0 -1
  495. package/dist/cjs/components/Cropper/utils.cjs.map +0 -1
  496. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +0 -1
  497. package/dist/cjs/components/DatePicker/RangePicker.cjs.map +0 -1
  498. package/dist/cjs/components/DatePicker/TimePicker.cjs.map +0 -1
  499. package/dist/cjs/components/Dialog/Dialog.cjs.map +0 -1
  500. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +0 -1
  501. package/dist/cjs/components/DropdownMenu/index.cjs.map +0 -1
  502. package/dist/cjs/components/FloatLabel.cjs.map +0 -1
  503. package/dist/cjs/components/Glass/Glass.cjs.map +0 -1
  504. package/dist/cjs/components/ImageViewer/ImageViewer.cjs.map +0 -1
  505. package/dist/cjs/components/Input/Input.cjs.map +0 -1
  506. package/dist/cjs/components/InputOTP/InputOTP.cjs.map +0 -1
  507. package/dist/cjs/components/Interactive/CursorFollow.cjs.map +0 -1
  508. package/dist/cjs/components/Marquee/Marquee.cjs.map +0 -1
  509. package/dist/cjs/components/Marquee/MarqueeWrapper.cjs.map +0 -1
  510. package/dist/cjs/components/Marquee/index.cjs.map +0 -1
  511. package/dist/cjs/components/Masonry/Masonry.cjs.map +0 -1
  512. package/dist/cjs/components/Masonry/MasonryWrapper.cjs.map +0 -1
  513. package/dist/cjs/components/Pagination/Pagination.cjs.map +0 -1
  514. package/dist/cjs/components/Pagination/index.cjs.map +0 -1
  515. package/dist/cjs/components/Popover/Popover.cjs.map +0 -1
  516. package/dist/cjs/components/Popover/index.cjs.map +0 -1
  517. package/dist/cjs/components/QrCode/QrCode.cjs.map +0 -1
  518. package/dist/cjs/components/QrCode/index.cjs.map +0 -1
  519. package/dist/cjs/components/Radio/Radio.cjs.map +0 -1
  520. package/dist/cjs/components/Rate/Rate.cjs.map +0 -1
  521. package/dist/cjs/components/Resizable/Resizable.cjs.map +0 -1
  522. package/dist/cjs/components/ScrollArea/ScrollArea.cjs.map +0 -1
  523. package/dist/cjs/components/Select/Select.cjs.map +0 -1
  524. package/dist/cjs/components/Separator/Separator.cjs.map +0 -1
  525. package/dist/cjs/components/Sheet/Sheet.cjs.map +0 -1
  526. package/dist/cjs/components/Sidebar/Sidebar.cjs.map +0 -1
  527. package/dist/cjs/components/Skeleton/Skeleton.cjs.map +0 -1
  528. package/dist/cjs/components/Slider/Slider.cjs.map +0 -1
  529. package/dist/cjs/components/Stepper/Stepper.cjs.map +0 -1
  530. package/dist/cjs/components/Stepper/StepperWrapper.cjs.map +0 -1
  531. package/dist/cjs/components/Stepper/index.cjs.map +0 -1
  532. package/dist/cjs/components/Switch/Switch.cjs.map +0 -1
  533. package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs.map +0 -1
  534. package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs.map +0 -1
  535. package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs.map +0 -1
  536. package/dist/cjs/components/Table/data-table-column-header.cjs.map +0 -1
  537. package/dist/cjs/components/Table/data-table-pagination.cjs.map +0 -1
  538. package/dist/cjs/components/Table/data-table-toolbar.cjs.map +0 -1
  539. package/dist/cjs/components/Table/data-table-view-options.cjs.map +0 -1
  540. package/dist/cjs/components/Table/data-table.cjs.map +0 -1
  541. package/dist/cjs/components/Table/select-column.cjs.map +0 -1
  542. package/dist/cjs/components/Tabs/Tabs.cjs.map +0 -1
  543. package/dist/cjs/components/Tabs/classes.cjs.map +0 -1
  544. package/dist/cjs/components/Textarea/Textarea.cjs.map +0 -1
  545. package/dist/cjs/components/TimeGridView.cjs.map +0 -1
  546. package/dist/cjs/components/Toast/Toast.cjs.map +0 -1
  547. package/dist/cjs/components/Toggle/Toggle.cjs.map +0 -1
  548. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +0 -1
  549. package/dist/cjs/components/Tour/Tour.cjs.map +0 -1
  550. package/dist/cjs/components/Tour/TourWrapper.cjs.map +0 -1
  551. package/dist/cjs/components/Tour/index.cjs.map +0 -1
  552. package/dist/cjs/components/TreeSelect/TreeSelect.cjs.map +0 -1
  553. package/dist/cjs/components/Upload/Upload.cjs.map +0 -1
  554. package/dist/cjs/components/WheelColumn.cjs.map +0 -1
  555. package/dist/cjs/config/data-table.cjs.map +0 -1
  556. package/dist/cjs/constants/common.cjs.map +0 -1
  557. package/dist/cjs/hooks/use-callback-ref.cjs.map +0 -1
  558. package/dist/cjs/hooks/use-data-table.cjs.map +0 -1
  559. package/dist/cjs/hooks/use-debounced-callback.cjs.map +0 -1
  560. package/dist/cjs/hooks/use-debounced-value.cjs.map +0 -1
  561. package/dist/cjs/hooks/use-event-listener.cjs.map +0 -1
  562. package/dist/cjs/hooks/use-intersection-observer.cjs.map +0 -1
  563. package/dist/cjs/hooks/use-isomorphic-layout-effect.cjs.map +0 -1
  564. package/dist/cjs/hooks/use-media-query.cjs.map +0 -1
  565. package/dist/cjs/hooks/use-on-click-outside.cjs.map +0 -1
  566. package/dist/cjs/hooks/use-script.cjs.map +0 -1
  567. package/dist/cjs/hooks/use-scroll-lock.cjs.map +0 -1
  568. package/dist/cjs/index.cjs.map +0 -1
  569. package/dist/cjs/lib/TextAnimation/BlurText.cjs.map +0 -1
  570. package/dist/cjs/lib/TextAnimation/CircularText.cjs.map +0 -1
  571. package/dist/cjs/lib/TextAnimation/FlipWords.cjs.map +0 -1
  572. package/dist/cjs/lib/TextAnimation/GradientText.cjs.map +0 -1
  573. package/dist/cjs/lib/TextAnimation/RollingText.cjs.map +0 -1
  574. package/dist/cjs/lib/TextAnimation/RotatingText.cjs.map +0 -1
  575. package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs.map +0 -1
  576. package/dist/cjs/lib/TextAnimation/SplittingText.cjs.map +0 -1
  577. package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs.map +0 -1
  578. package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs.map +0 -1
  579. package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs.map +0 -1
  580. package/dist/cjs/lib/TextAnimation/TypingText.cjs.map +0 -1
  581. package/dist/cjs/lib/TextAnimation/WritingText.cjs.map +0 -1
  582. package/dist/cjs/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.1.1/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.cjs.map +0 -1
  583. package/dist/cjs/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/@dnd-kit/core/dist/core.esm.cjs.map +0 -1
  584. package/dist/cjs/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/@dnd-kit/sortable/dist/sortable.esm.cjs.map +0 -1
  585. package/dist/cjs/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.1.1/node_modules/@dnd-kit/utilities/dist/utilities.esm.cjs.map +0 -1
  586. package/dist/cjs/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.cjs.map +0 -1
  587. package/dist/cjs/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.cjs.map +0 -1
  588. package/dist/cjs/packages/ui/src/components/accordion.cjs.map +0 -1
  589. package/dist/cjs/packages/ui/src/components/alert-dialog.cjs.map +0 -1
  590. package/dist/cjs/packages/ui/src/components/avatar.cjs.map +0 -1
  591. package/dist/cjs/packages/ui/src/components/badge.cjs.map +0 -1
  592. package/dist/cjs/packages/ui/src/components/breadcrumb.cjs.map +0 -1
  593. package/dist/cjs/packages/ui/src/components/button-group.cjs.map +0 -1
  594. package/dist/cjs/packages/ui/src/components/button.cjs.map +0 -1
  595. package/dist/cjs/packages/ui/src/components/calendar.cjs.map +0 -1
  596. package/dist/cjs/packages/ui/src/components/checkbox.cjs.map +0 -1
  597. package/dist/cjs/packages/ui/src/components/collapsible.cjs.map +0 -1
  598. package/dist/cjs/packages/ui/src/components/combobox.cjs.map +0 -1
  599. package/dist/cjs/packages/ui/src/components/command.cjs.map +0 -1
  600. package/dist/cjs/packages/ui/src/components/context-menu.cjs.map +0 -1
  601. package/dist/cjs/packages/ui/src/components/dialog.cjs.map +0 -1
  602. package/dist/cjs/packages/ui/src/components/drawer.cjs.map +0 -1
  603. package/dist/cjs/packages/ui/src/components/dropdown-menu.cjs.map +0 -1
  604. package/dist/cjs/packages/ui/src/components/input-otp.cjs.map +0 -1
  605. package/dist/cjs/packages/ui/src/components/input.cjs.map +0 -1
  606. package/dist/cjs/packages/ui/src/components/label.cjs.map +0 -1
  607. package/dist/cjs/packages/ui/src/components/pagination.cjs.map +0 -1
  608. package/dist/cjs/packages/ui/src/components/popover.cjs.map +0 -1
  609. package/dist/cjs/packages/ui/src/components/radio-group.cjs.map +0 -1
  610. package/dist/cjs/packages/ui/src/components/resizable.cjs.map +0 -1
  611. package/dist/cjs/packages/ui/src/components/scroll-area.cjs.map +0 -1
  612. package/dist/cjs/packages/ui/src/components/select.cjs.map +0 -1
  613. package/dist/cjs/packages/ui/src/components/separator.cjs.map +0 -1
  614. package/dist/cjs/packages/ui/src/components/sheet.cjs.map +0 -1
  615. package/dist/cjs/packages/ui/src/components/sidebar.cjs.map +0 -1
  616. package/dist/cjs/packages/ui/src/components/skeleton.cjs.map +0 -1
  617. package/dist/cjs/packages/ui/src/components/switch.cjs.map +0 -1
  618. package/dist/cjs/packages/ui/src/components/table.cjs.map +0 -1
  619. package/dist/cjs/packages/ui/src/components/tabs.cjs.map +0 -1
  620. package/dist/cjs/packages/ui/src/components/textarea.cjs.map +0 -1
  621. package/dist/cjs/packages/ui/src/components/toggle.cjs.map +0 -1
  622. package/dist/cjs/packages/ui/src/components/tooltip.cjs.map +0 -1
  623. package/dist/cjs/packages/ui/src/components/tree-view.cjs.map +0 -1
  624. package/dist/cjs/packages/ui/src/hooks/use-mobile.cjs.map +0 -1
  625. package/dist/cjs/packages/ui/src/lib/compose-refs.cjs.map +0 -1
  626. package/dist/cjs/packages/ui/src/lib/utils.cjs.map +0 -1
  627. package/dist/cjs/utils/animations.cjs.map +0 -1
  628. package/dist/cjs/utils/css.cjs.map +0 -1
  629. package/dist/cjs/utils/data-table.cjs.map +0 -1
  630. package/dist/cjs/utils/datetime.cjs.map +0 -1
  631. package/dist/cjs/utils/parsers.cjs.map +0 -1
  632. package/dist/esm/_virtual/_commonjsHelpers.js.map +0 -1
  633. package/dist/esm/_virtual/index.js.map +0 -1
  634. package/dist/esm/_virtual/index2.js.map +0 -1
  635. package/dist/esm/components/Accordion/Accordion.js.map +0 -1
  636. package/dist/esm/components/Avatar/Avatar.js.map +0 -1
  637. package/dist/esm/components/Badge/Badge.js.map +0 -1
  638. package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +0 -1
  639. package/dist/esm/components/Button/Button.js.map +0 -1
  640. package/dist/esm/components/Button/ButtonGroup.js.map +0 -1
  641. package/dist/esm/components/Calendar/Calendar.js.map +0 -1
  642. package/dist/esm/components/Carousel/Carousel.js.map +0 -1
  643. package/dist/esm/components/Checkbox/Checkbox.js.map +0 -1
  644. package/dist/esm/components/Collapsible/Collapsible.js.map +0 -1
  645. package/dist/esm/components/Command/Command.js.map +0 -1
  646. package/dist/esm/components/Command/index.js.map +0 -1
  647. package/dist/esm/components/ContextMenu/ContextMenu.js.map +0 -1
  648. package/dist/esm/components/ContextMenu/index.js.map +0 -1
  649. package/dist/esm/components/Cropper/Cropper.js.map +0 -1
  650. package/dist/esm/components/Cropper/CropperTool.js.map +0 -1
  651. package/dist/esm/components/Cropper/utils.js.map +0 -1
  652. package/dist/esm/components/DatePicker/DatePicker.js.map +0 -1
  653. package/dist/esm/components/DatePicker/RangePicker.js.map +0 -1
  654. package/dist/esm/components/DatePicker/TimePicker.js.map +0 -1
  655. package/dist/esm/components/Dialog/Dialog.js.map +0 -1
  656. package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +0 -1
  657. package/dist/esm/components/DropdownMenu/index.js.map +0 -1
  658. package/dist/esm/components/FloatLabel.js.map +0 -1
  659. package/dist/esm/components/Glass/Glass.js.map +0 -1
  660. package/dist/esm/components/ImageViewer/ImageViewer.js.map +0 -1
  661. package/dist/esm/components/Input/Input.js.map +0 -1
  662. package/dist/esm/components/InputOTP/InputOTP.js.map +0 -1
  663. package/dist/esm/components/Interactive/CursorFollow.js.map +0 -1
  664. package/dist/esm/components/Marquee/Marquee.js.map +0 -1
  665. package/dist/esm/components/Marquee/MarqueeWrapper.js.map +0 -1
  666. package/dist/esm/components/Marquee/index.js.map +0 -1
  667. package/dist/esm/components/Masonry/Masonry.js.map +0 -1
  668. package/dist/esm/components/Masonry/MasonryWrapper.js.map +0 -1
  669. package/dist/esm/components/Pagination/Pagination.js.map +0 -1
  670. package/dist/esm/components/Pagination/index.js.map +0 -1
  671. package/dist/esm/components/Popover/Popover.js.map +0 -1
  672. package/dist/esm/components/Popover/index.js.map +0 -1
  673. package/dist/esm/components/QrCode/QrCode.js.map +0 -1
  674. package/dist/esm/components/QrCode/index.js.map +0 -1
  675. package/dist/esm/components/Radio/Radio.js.map +0 -1
  676. package/dist/esm/components/Rate/Rate.js.map +0 -1
  677. package/dist/esm/components/Resizable/Resizable.js.map +0 -1
  678. package/dist/esm/components/ScrollArea/ScrollArea.js.map +0 -1
  679. package/dist/esm/components/Select/Select.js.map +0 -1
  680. package/dist/esm/components/Separator/Separator.js.map +0 -1
  681. package/dist/esm/components/Sheet/Sheet.js.map +0 -1
  682. package/dist/esm/components/Sidebar/Sidebar.js.map +0 -1
  683. package/dist/esm/components/Skeleton/Skeleton.js.map +0 -1
  684. package/dist/esm/components/Slider/Slider.js.map +0 -1
  685. package/dist/esm/components/Stepper/Stepper.js.map +0 -1
  686. package/dist/esm/components/Stepper/StepperWrapper.js.map +0 -1
  687. package/dist/esm/components/Stepper/index.js.map +0 -1
  688. package/dist/esm/components/Switch/Switch.js.map +0 -1
  689. package/dist/esm/components/Table/TableFilter/data-table-date-filter.js.map +0 -1
  690. package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js.map +0 -1
  691. package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js.map +0 -1
  692. package/dist/esm/components/Table/data-table-column-header.js.map +0 -1
  693. package/dist/esm/components/Table/data-table-pagination.js.map +0 -1
  694. package/dist/esm/components/Table/data-table-toolbar.js.map +0 -1
  695. package/dist/esm/components/Table/data-table-view-options.js.map +0 -1
  696. package/dist/esm/components/Table/data-table.js.map +0 -1
  697. package/dist/esm/components/Table/select-column.js.map +0 -1
  698. package/dist/esm/components/Tabs/Tabs.js.map +0 -1
  699. package/dist/esm/components/Tabs/classes.js.map +0 -1
  700. package/dist/esm/components/Textarea/Textarea.js.map +0 -1
  701. package/dist/esm/components/TimeGridView.js.map +0 -1
  702. package/dist/esm/components/Toast/Toast.js.map +0 -1
  703. package/dist/esm/components/Toggle/Toggle.js.map +0 -1
  704. package/dist/esm/components/Tooltip/Tooltip.js.map +0 -1
  705. package/dist/esm/components/Tour/Tour.js.map +0 -1
  706. package/dist/esm/components/Tour/TourWrapper.js.map +0 -1
  707. package/dist/esm/components/Tour/index.js.map +0 -1
  708. package/dist/esm/components/TreeSelect/TreeSelect.js.map +0 -1
  709. package/dist/esm/components/Upload/Upload.js.map +0 -1
  710. package/dist/esm/components/WheelColumn.js.map +0 -1
  711. package/dist/esm/config/data-table.js.map +0 -1
  712. package/dist/esm/constants/common.js.map +0 -1
  713. package/dist/esm/hooks/use-callback-ref.js.map +0 -1
  714. package/dist/esm/hooks/use-data-table.js.map +0 -1
  715. package/dist/esm/hooks/use-debounced-callback.js.map +0 -1
  716. package/dist/esm/hooks/use-debounced-value.js.map +0 -1
  717. package/dist/esm/hooks/use-event-listener.js.map +0 -1
  718. package/dist/esm/hooks/use-intersection-observer.js.map +0 -1
  719. package/dist/esm/hooks/use-isomorphic-layout-effect.js.map +0 -1
  720. package/dist/esm/hooks/use-media-query.js.map +0 -1
  721. package/dist/esm/hooks/use-on-click-outside.js.map +0 -1
  722. package/dist/esm/hooks/use-script.js.map +0 -1
  723. package/dist/esm/hooks/use-scroll-lock.js.map +0 -1
  724. package/dist/esm/index.js.map +0 -1
  725. package/dist/esm/lib/TextAnimation/BlurText.js.map +0 -1
  726. package/dist/esm/lib/TextAnimation/CircularText.js.map +0 -1
  727. package/dist/esm/lib/TextAnimation/FlipWords.js.map +0 -1
  728. package/dist/esm/lib/TextAnimation/GradientText.js.map +0 -1
  729. package/dist/esm/lib/TextAnimation/RollingText.js.map +0 -1
  730. package/dist/esm/lib/TextAnimation/RotatingText.js.map +0 -1
  731. package/dist/esm/lib/TextAnimation/ShimmeringText.js.map +0 -1
  732. package/dist/esm/lib/TextAnimation/SplittingText.js.map +0 -1
  733. package/dist/esm/lib/TextAnimation/TextGenerateEffect.js.map +0 -1
  734. package/dist/esm/lib/TextAnimation/TextHoverEffect.js.map +0 -1
  735. package/dist/esm/lib/TextAnimation/TextPressureEffect.js.map +0 -1
  736. package/dist/esm/lib/TextAnimation/TypingText.js.map +0 -1
  737. package/dist/esm/lib/TextAnimation/WritingText.js.map +0 -1
  738. package/dist/esm/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.1.1/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js.map +0 -1
  739. package/dist/esm/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/@dnd-kit/core/dist/core.esm.js.map +0 -1
  740. package/dist/esm/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/@dnd-kit/sortable/dist/sortable.esm.js.map +0 -1
  741. package/dist/esm/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.1.1/node_modules/@dnd-kit/utilities/dist/utilities.esm.js.map +0 -1
  742. package/dist/esm/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js.map +0 -1
  743. package/dist/esm/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.js.map +0 -1
  744. package/dist/esm/packages/ui/src/components/accordion.js.map +0 -1
  745. package/dist/esm/packages/ui/src/components/alert-dialog.js.map +0 -1
  746. package/dist/esm/packages/ui/src/components/avatar.js.map +0 -1
  747. package/dist/esm/packages/ui/src/components/badge.js.map +0 -1
  748. package/dist/esm/packages/ui/src/components/breadcrumb.js.map +0 -1
  749. package/dist/esm/packages/ui/src/components/button-group.js.map +0 -1
  750. package/dist/esm/packages/ui/src/components/button.js.map +0 -1
  751. package/dist/esm/packages/ui/src/components/calendar.js.map +0 -1
  752. package/dist/esm/packages/ui/src/components/checkbox.js.map +0 -1
  753. package/dist/esm/packages/ui/src/components/collapsible.js.map +0 -1
  754. package/dist/esm/packages/ui/src/components/combobox.js.map +0 -1
  755. package/dist/esm/packages/ui/src/components/command.js.map +0 -1
  756. package/dist/esm/packages/ui/src/components/context-menu.js.map +0 -1
  757. package/dist/esm/packages/ui/src/components/dialog.js.map +0 -1
  758. package/dist/esm/packages/ui/src/components/drawer.js.map +0 -1
  759. package/dist/esm/packages/ui/src/components/dropdown-menu.js.map +0 -1
  760. package/dist/esm/packages/ui/src/components/input-otp.js.map +0 -1
  761. package/dist/esm/packages/ui/src/components/input.js.map +0 -1
  762. package/dist/esm/packages/ui/src/components/label.js.map +0 -1
  763. package/dist/esm/packages/ui/src/components/pagination.js.map +0 -1
  764. package/dist/esm/packages/ui/src/components/popover.js.map +0 -1
  765. package/dist/esm/packages/ui/src/components/radio-group.js.map +0 -1
  766. package/dist/esm/packages/ui/src/components/resizable.js.map +0 -1
  767. package/dist/esm/packages/ui/src/components/scroll-area.js.map +0 -1
  768. package/dist/esm/packages/ui/src/components/select.js.map +0 -1
  769. package/dist/esm/packages/ui/src/components/separator.js.map +0 -1
  770. package/dist/esm/packages/ui/src/components/sheet.js.map +0 -1
  771. package/dist/esm/packages/ui/src/components/sidebar.js.map +0 -1
  772. package/dist/esm/packages/ui/src/components/skeleton.js.map +0 -1
  773. package/dist/esm/packages/ui/src/components/switch.js.map +0 -1
  774. package/dist/esm/packages/ui/src/components/table.js.map +0 -1
  775. package/dist/esm/packages/ui/src/components/tabs.js.map +0 -1
  776. package/dist/esm/packages/ui/src/components/textarea.js.map +0 -1
  777. package/dist/esm/packages/ui/src/components/toggle.js.map +0 -1
  778. package/dist/esm/packages/ui/src/components/tooltip.js.map +0 -1
  779. package/dist/esm/packages/ui/src/components/tree-view.js.map +0 -1
  780. package/dist/esm/packages/ui/src/hooks/use-mobile.js.map +0 -1
  781. package/dist/esm/packages/ui/src/lib/compose-refs.js.map +0 -1
  782. package/dist/esm/packages/ui/src/lib/utils.js.map +0 -1
  783. package/dist/esm/utils/animations.js.map +0 -1
  784. package/dist/esm/utils/css.js.map +0 -1
  785. package/dist/esm/utils/data-table.js.map +0 -1
  786. package/dist/esm/utils/datetime.js.map +0 -1
  787. package/dist/esm/utils/parsers.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypingText.cjs","sources":["../../../../src/lib/TextAnimation/TypingText.tsx"],"sourcesContent":["\"use client\";\nimport {\n type ElementType,\n useEffect,\n useRef,\n useState,\n createElement,\n useMemo,\n useCallback,\n} from \"react\";\nimport { gsap } from \"gsap\";\n\ninterface TypingTextProps {\n className?: string;\n showCursor?: boolean;\n hideCursorWhileTyping?: boolean;\n cursorCharacter?: string | React.ReactNode;\n cursorBlinkDuration?: number;\n cursorClassName?: string;\n text: string | string[];\n as?: ElementType;\n typingSpeed?: number;\n initialDelay?: number;\n pauseDuration?: number;\n deletingSpeed?: number;\n loop?: boolean;\n textColors?: string[];\n variableSpeed?: { min: number; max: number };\n onSentenceComplete?: (sentence: string, index: number) => void;\n startOnVisible?: boolean;\n reverseMode?: boolean;\n}\n\nconst TypingText = ({\n text,\n as: Component = \"div\",\n typingSpeed = 50,\n initialDelay = 0,\n pauseDuration = 2000,\n deletingSpeed = 30,\n loop = true,\n className = \"\",\n showCursor = true,\n hideCursorWhileTyping = false,\n cursorCharacter = \"|\",\n cursorClassName = \"\",\n cursorBlinkDuration = 0.5,\n textColors = [],\n variableSpeed,\n onSentenceComplete,\n startOnVisible = false,\n reverseMode = false,\n ...props\n}: TypingTextProps & React.HTMLAttributes<HTMLElement>) => {\n const [displayedText, setDisplayedText] = useState(\"\");\n const [currentCharIndex, setCurrentCharIndex] = useState(0);\n const [isDeleting, setIsDeleting] = useState(false);\n const [currentTextIndex, setCurrentTextIndex] = useState(0);\n const [isVisible, setIsVisible] = useState(!startOnVisible);\n const cursorRef = useRef<HTMLSpanElement>(null);\n const containerRef = useRef<HTMLElement>(null);\n const textArray = useMemo(\n () => (Array.isArray(text) ? text : [text]),\n [text]\n );\n\n const getRandomSpeed = useCallback(() => {\n if (!variableSpeed) return typingSpeed;\n const { min, max } = variableSpeed;\n return Math.random() * (max - min) + min;\n }, [variableSpeed, typingSpeed]);\n\n const getCurrentTextColor = () => {\n if (textColors.length === 0) return \"currentColor\";\n return textColors[currentTextIndex % textColors.length];\n };\n\n useEffect(() => {\n if (!startOnVisible || !containerRef.current) return;\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setIsVisible(true);\n }\n });\n },\n { threshold: 0.1 }\n );\n observer.observe(containerRef.current);\n return () => observer.disconnect();\n }, [startOnVisible]);\n\n useEffect(() => {\n if (showCursor && cursorRef.current) {\n gsap.set(cursorRef.current, { opacity: 1 });\n gsap.to(cursorRef.current, {\n opacity: 0,\n duration: cursorBlinkDuration,\n repeat: -1,\n yoyo: true,\n ease: \"power2.inOut\",\n });\n }\n }, [showCursor, cursorBlinkDuration]);\n\n useEffect(() => {\n if (!isVisible) return;\n let timeout: NodeJS.Timeout;\n const currentText = textArray[currentTextIndex];\n const processedText = reverseMode\n ? currentText.split(\"\").reverse().join(\"\")\n : currentText;\n const executeTypingAnimation = () => {\n if (isDeleting) {\n if (displayedText === \"\") {\n setIsDeleting(false);\n if (currentTextIndex === textArray.length - 1 && !loop) {\n return;\n }\n if (onSentenceComplete) {\n onSentenceComplete(textArray[currentTextIndex], currentTextIndex);\n }\n setCurrentTextIndex((prev) => (prev + 1) % textArray.length);\n setCurrentCharIndex(0);\n timeout = setTimeout(() => {}, pauseDuration);\n } else {\n timeout = setTimeout(() => {\n setDisplayedText((prev) => prev.slice(0, -1));\n }, deletingSpeed);\n }\n } else {\n if (currentCharIndex < processedText.length) {\n timeout = setTimeout(\n () => {\n setDisplayedText(\n (prev) => prev + processedText[currentCharIndex]\n );\n setCurrentCharIndex((prev) => prev + 1);\n },\n variableSpeed ? getRandomSpeed() : typingSpeed\n );\n } else if (textArray.length > 1) {\n timeout = setTimeout(() => {\n setIsDeleting(true);\n }, pauseDuration);\n }\n }\n };\n if (currentCharIndex === 0 && !isDeleting && displayedText === \"\") {\n timeout = setTimeout(executeTypingAnimation, initialDelay);\n } else {\n executeTypingAnimation();\n }\n return () => clearTimeout(timeout);\n }, [\n currentCharIndex,\n displayedText,\n isDeleting,\n typingSpeed,\n deletingSpeed,\n pauseDuration,\n textArray,\n currentTextIndex,\n loop,\n initialDelay,\n isVisible,\n reverseMode,\n variableSpeed,\n onSentenceComplete,\n getRandomSpeed,\n ]);\n\n const shouldHideCursor =\n hideCursorWhileTyping &&\n (currentCharIndex < textArray[currentTextIndex].length || isDeleting);\n\n return createElement(\n Component,\n {\n ref: containerRef,\n className: `inline-block whitespace-pre-wrap tracking-tight ${className}`,\n ...props,\n },\n <span className=\"ds:inline\" style={{ color: getCurrentTextColor() }}>\n {displayedText}\n </span>,\n showCursor && (\n <span\n ref={cursorRef}\n className={`ds:inline-block ds:opacity-100 ${shouldHideCursor ? \"hidden\" : \"\"} ${cursorCharacter === \"|\"\n ? `h-5 w-[1px] translate-y-1 bg-foreground ${cursorClassName}`\n : `ml-1 ${cursorClassName}`}`}\n >\n {cursorCharacter === \"|\" ? \"\" : cursorCharacter}\n </span>\n )\n );\n};\n\nexport default TypingText;\n"],"names":["TypingText","text","Component","typingSpeed","initialDelay","pauseDuration","deletingSpeed","loop","className","showCursor","hideCursorWhileTyping","cursorCharacter","cursorClassName","cursorBlinkDuration","textColors","variableSpeed","onSentenceComplete","startOnVisible","reverseMode","props","displayedText","setDisplayedText","useState","currentCharIndex","setCurrentCharIndex","isDeleting","setIsDeleting","currentTextIndex","setCurrentTextIndex","isVisible","setIsVisible","cursorRef","useRef","containerRef","textArray","useMemo","getRandomSpeed","useCallback","min","max","getCurrentTextColor","useEffect","observer","entries","entry","gsap","timeout","currentText","processedText","executeTypingAnimation","prev","shouldHideCursor","createElement","jsx"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WritingText.cjs","sources":["../../../../src/lib/TextAnimation/WritingText.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n motion,\n useInView,\n type Transition,\n type UseInViewOptions,\n} from \"motion/react\";\n\ntype WritingTextProps = Omit<React.ComponentProps<\"span\">, \"children\"> & {\n transition?: Transition;\n inView?: boolean;\n inViewMargin?: UseInViewOptions[\"margin\"];\n inViewOnce?: boolean;\n spacing?: number | string;\n text: string;\n};\n\nfunction WritingText({\n ref,\n inView = false,\n inViewMargin = \"0px\",\n inViewOnce = true,\n spacing = 5,\n text,\n transition = { type: \"spring\", bounce: 0, duration: 2, delay: 0.5 },\n ...props\n}: WritingTextProps) {\n const localRef = React.useRef<HTMLSpanElement>(null);\n React.useImperativeHandle(\n ref as any,\n () => localRef.current as HTMLSpanElement\n );\n\n const inViewResult = useInView(localRef, {\n once: inViewOnce,\n margin: inViewMargin,\n });\n const isInView = !inView || inViewResult;\n\n const words = React.useMemo(() => text.split(\" \"), [text]);\n\n return (\n <span ref={localRef} data-slot=\"writing-text\" {...(props as any)}>\n {words.map((word, index) => (\n <motion.span\n key={index}\n className=\"ds:inline-block ds:will-change-transform ds:will-change-opacity\"\n style={{ marginRight: spacing }}\n initial={{ opacity: 0, y: 10 }}\n animate={isInView ? { opacity: 1, y: 0 } : undefined}\n transition={{\n ...transition,\n delay: index * (transition?.delay ?? 0),\n }}\n >\n {word}{\" \"}\n </motion.span>\n ))}\n </span>\n );\n}\n\nexport { WritingText, type WritingTextProps };\n"],"names":["WritingText","ref","inView","inViewMargin","inViewOnce","spacing","text","transition","props","localRef","React","inViewResult","useInView","isInView","words","jsx","word","index","jsxs","motion"],"mappings":"4bAmBA,SAASA,EAAY,CACnB,IAAAC,EACA,OAAAC,EAAS,GACT,aAAAC,EAAe,MACf,WAAAC,EAAa,GACb,QAAAC,EAAU,EACV,KAAAC,EACA,WAAAC,EAAa,CAAE,KAAM,SAAU,OAAQ,EAAG,SAAU,EAAG,MAAO,EAAA,EAC9D,GAAGC,CACL,EAAqB,CACnB,MAAMC,EAAWC,EAAM,OAAwB,IAAI,EACnDA,EAAM,oBACJT,EACA,IAAMQ,EAAS,OAAA,EAGjB,MAAME,EAAeC,EAAAA,UAAUH,EAAU,CACvC,KAAML,EACN,OAAQD,CAAA,CACT,EACKU,EAAW,CAACX,GAAUS,EAEtBG,EAAQJ,EAAM,QAAQ,IAAMJ,EAAK,MAAM,GAAG,EAAG,CAACA,CAAI,CAAC,EAEzD,OACES,EAAAA,IAAC,OAAA,CAAK,IAAKN,EAAU,YAAU,eAAgB,GAAID,EAChD,SAAAM,EAAM,IAAI,CAACE,EAAMC,IAChBC,EAAAA,KAACC,EAAAA,OAAO,KAAP,CAEC,UAAU,kEACV,MAAO,CAAE,YAAad,CAAA,EACtB,QAAS,CAAE,QAAS,EAAG,EAAG,EAAA,EAC1B,QAASQ,EAAW,CAAE,QAAS,EAAG,EAAG,GAAM,OAC3C,WAAY,CACV,GAAGN,EACH,MAAOU,GAASV,GAAY,OAAS,EAAA,EAGtC,SAAA,CAAAS,EAAM,GAAA,CAAA,EAVFC,CAAA,CAYR,EACH,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"accessibility.esm.cjs","sources":["../../../../../../../../../../../node_modules/.pnpm/@dnd-kit+accessibility@3.1.1_react@19.1.1/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js"],"sourcesContent":["import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement,\n ariaLiveType = \"assertive\"\n } = _ref;\n // Hide element visually but keep it readable by screen readers\n const visuallyHidden = {\n position: 'fixed',\n top: 0,\n left: 0,\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n };\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": ariaLiveType,\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n"],"names":["hiddenStyles","HiddenText","_ref","id","value","React","LiveRegion","announcement","ariaLiveType","visuallyHidden","useAnnouncement","setAnnouncement","useState","useCallback"],"mappings":"yGAEMA,EAAe,CACnB,QAAS,MACX,EACA,SAASC,EAAWC,EAAM,CACxB,GAAI,CACF,GAAAC,EACA,MAAAC,CACJ,EAAMF,EACJ,OAAOG,EAAM,cAAc,MAAO,CAChC,GAAIF,EACJ,MAAOH,CACX,EAAKI,CAAK,CACV,CAEA,SAASE,EAAWJ,EAAM,CACxB,GAAI,CACF,GAAAC,EACA,aAAAI,EACA,aAAAC,EAAe,WACnB,EAAMN,EAEJ,MAAMO,EAAiB,CACrB,SAAU,QACV,IAAK,EACL,KAAM,EACN,MAAO,EACP,OAAQ,EACR,OAAQ,GACR,OAAQ,EACR,QAAS,EACT,SAAU,SACV,KAAM,gBACN,SAAU,cACV,WAAY,QAChB,EACE,OAAOJ,EAAM,cAAc,MAAO,CAChC,GAAIF,EACJ,MAAOM,EACP,KAAM,SACN,YAAaD,EACb,cAAe,EACnB,EAAKD,CAAY,CACjB,CAEA,SAASG,GAAkB,CACzB,KAAM,CAACH,EAAcI,CAAe,EAAIC,EAAAA,SAAS,EAAE,EAMnD,MAAO,CACL,SANeC,EAAAA,YAAYT,GAAS,CAChCA,GAAS,MACXO,EAAgBP,CAAK,CAEzB,EAAG,CAAA,CAAE,EAGH,aAAAG,CACJ,CACA","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.esm.cjs","sources":["../../../../../../../../../../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/@dnd-kit/core/dist/core.esm.js"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, memo, useReducer, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n KeyboardCode[\"Tab\"] = \"Tab\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter, KeyboardCode.Tab]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint,\n bypassActivationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n\n if (events.cancel) {\n this.listeners.add(events.cancel.name, this.handleCancel);\n }\n\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (bypassActivationConstraint != null && bypassActivationConstraint({\n event: this.props.event,\n activeNode: this.props.activeNode,\n options: this.props.options\n })) {\n return this.handleStart();\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n this.handlePending(activationConstraint);\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n this.handlePending(activationConstraint);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handlePending(constraint, offset) {\n const {\n active,\n onPending\n } = this.props;\n onPending(active, constraint, this.initialCoordinates, offset);\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates); // Constraint validation\n\n if (!activated && activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n }\n\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n }\n\n this.handlePending(activationConstraint, delta);\n return;\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onAbort,\n onEnd\n } = this.props;\n this.detach();\n\n if (!this.activated) {\n onAbort(this.props.active);\n }\n\n onEnd();\n }\n\n handleCancel() {\n const {\n onAbort,\n onCancel\n } = this.props;\n this.detach();\n\n if (!this.activated) {\n onAbort(this.props.active);\n }\n\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n cancel: {\n name: 'pointercancel'\n },\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n cancel: {\n name: 'touchcancel'\n },\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id != null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id == null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, setRect] = useState(null);\n\n function measureRect() {\n setRect(currentRect => {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n });\n }\n\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, setRects] = useState(defaultValue$2);\n\n function measureRects() {\n setRects(() => {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n });\n }\n\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n useIsomorphicLayoutEffect(() => {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n }, [elements]);\n return rects;\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (state.draggable.active == null) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId != null ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId != null ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const activeSensorRef = useRef(null);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onAbort(id) {\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragAbort\n } = latestProps.current;\n const event = {\n id\n };\n onDragAbort == null ? void 0 : onDragAbort(event);\n dispatchMonitorEvent({\n type: 'onDragAbort',\n event\n });\n },\n\n onPending(id, constraint, initialCoordinates, offset) {\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragPending\n } = latestProps.current;\n const event = {\n id,\n constraint,\n initialCoordinates,\n offset\n };\n onDragPending == null ? void 0 : onDragPending(event);\n dispatchMonitorEvent({\n type: 'onDragPending',\n event\n });\n },\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n activatorEvent,\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n setActiveSensor(activeSensorRef.current);\n setActivatorEvent(activatorEvent);\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n activeSensorRef.current = sensorInstance;\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n activeSensorRef.current = null;\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Draggable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultKeyboardCoordinateGetter, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n"],"names":["DndMonitorContext","createContext","useDndMonitor","listener","registerListener","useContext","useEffect","useDndMonitorProvider","listeners","useState","useCallback","_ref","type","event","_listener$type","defaultScreenReaderInstructions","defaultAnnouncements","active","_ref2","over","_ref3","_ref4","Accessibility","announcements","container","hiddenTextDescribedById","screenReaderInstructions","announce","announcement","useAnnouncement","liveRegionId","useUniqueId","mounted","setMounted","useMemo","_ref5","_ref6","markup","React","HiddenText","LiveRegion","createPortal","Action","noop","useSensor","sensor","options","useSensors","_len","sensors","_key","defaultCoordinates","distanceBetween","p1","p2","sortCollisionsAsc","a","b","sortCollisionsDesc","cornersOfRectangle","left","top","height","width","getFirstCollision","collisions","property","firstCollision","centerOfRectangle","rect","closestCenter","collisionRect","droppableRects","droppableContainers","centerRect","droppableContainer","id","distBetween","closestCorners","corners","rectCorners","distances","accumulator","corner","index","effectiveDistance","getIntersectionRatio","entry","target","right","bottom","targetArea","entryArea","intersectionArea","intersectionRatio","rectIntersection","adjustScale","transform","rect1","rect2","getRectDelta","createRectAdjustmentFn","modifier","adjustments","acc","adjustment","getAdjustedRect","parseTransform","transformArray","inverseTransform","transformOrigin","parsedTransform","scaleX","scaleY","translateX","translateY","x","y","w","h","defaultOptions","getClientRect","element","getWindow","getTransformAgnosticClientRect","getWindowClientRect","isFixed","node","computedStyle","isScrollable","overflowRegex","value","getScrollableAncestors","limit","scrollParents","findScrollableAncestors","isDocument","isHTMLElement","isSVGElement","getFirstScrollableAncestor","firstScrollableAncestor","getScrollableElement","canUseDOM","isWindow","isNode","getOwnerDocument","getScrollXCoordinate","getScrollYCoordinate","getScrollCoordinates","Direction","isDocumentScrollingElement","getScrollPosition","scrollingContainer","minScroll","dimensions","maxScroll","isTop","isLeft","isBottom","isRight","defaultThreshold","getScrollDirectionAndSpeed","scrollContainer","scrollContainerRect","acceleration","thresholdPercentage","direction","speed","threshold","getScrollElementRect","innerWidth","innerHeight","getScrollOffsets","scrollableAncestors","add","getScrollXOffset","getScrollYOffset","scrollIntoViewIfNeeded","measure","properties","Rect","scrollOffsets","axis","keys","getScrollOffset","key","currentOffsets","scrollOffsetsDeltla","Listeners","_this$target","eventName","handler","_this$target2","getEventListenerTarget","EventTarget","hasExceededDistance","delta","measurement","dx","dy","EventName","preventDefault","stopPropagation","KeyboardCode","defaultKeyboardCodes","defaultKeyboardCoordinateGetter","currentCoordinates","KeyboardSensor","props","activeNode","onStart","isKeyboardEvent","context","keyboardCodes","coordinateGetter","scrollBehavior","code","newCoordinates","coordinatesDelta","subtract","scrollDelta","scrollElementRect","clampedCoordinates","canScrollX","canScrollY","newScrollCoordinates","canScrollToNewCoordinates","coordinates","onMove","onEnd","onCancel","onActivation","activator","isDistanceConstraint","constraint","isDelayConstraint","AbstractPointerSensor","events","listenerTarget","_getEventCoordinates","getEventCoordinates","activationConstraint","bypassActivationConstraint","offset","onPending","initialCoordinates","_getEventCoordinates2","activated","onAbort","_this$document$getSel","PointerSensor","events$1","MouseButton","MouseSensor","events$2","TouchSensor","touches","AutoScrollActivator","TraversalOrder","useAutoScroller","canScroll","draggingRect","enabled","interval","order","pointerCoordinates","scrollableAncestorRects","scrollIntent","useScrollIntent","setAutoScrollInterval","clearAutoScrollInterval","useInterval","scrollSpeed","useRef","scrollDirection","scrollContainerRef","autoScroll","scrollLeft","scrollTop","sortedScrollableAncestors","defaultScrollIntent","disabled","previousDelta","usePrevious","useLazyMemo","previousIntent","useCachedNode","draggableNodes","draggableNode","cachedNode","useCombineActivators","getSyntheticHandler","Sensor","sensorActivators","MeasuringStrategy","MeasuringFrequency","defaultValue","useDroppableMeasuring","containers","dragging","dependencies","config","queue","setQueue","frequency","strategy","containersRef","isDisabled","disabledRef","useLatestValue","measureDroppableContainers","ids","timeoutId","previousValue","map","useInitialValue","computeFn","useInitialRect","useMutationObserver","callback","handleMutations","useEvent","mutationObserver","MutationObserver","useResizeObserver","handleResize","resizeObserver","ResizeObserver","defaultMeasure","useRect","fallbackRect","setRect","measureRect","currentRect","newRect","records","record","useIsomorphicLayoutEffect","useRectDelta","initialRect","defaultValue$1","useScrollableAncestors","previousNode","ancestors","useScrollOffsets","elements","scrollCoordinates","setScrollCoordinates","prevElements","handleScroll","scrollingElement","previousElements","cleanup","entries","scrollableElement","useScrollOffsetsDelta","initialScrollOffsets","hasScrollOffsets","useSensorSetup","teardownFns","teardown","useSyntheticListeners","useWindowRect","defaultValue$2","useRects","firstElement","windowRect","rects","setRects","measureRects","getMeasurableNode","firstChild","useDragOverlayMeasuring","handleNodeChange","nodeRef","setRef","useNodeRef","defaultSensors","defaultData","defaultMeasuringConfiguration","DroppableContainersMap","_super$get","_this$get$node$curren","_this$get","defaultPublicContext","defaultInternalContext","InternalContext","PublicContext","getInitialState","reducer","state","action","RestoreFocus","activatorEvent","previousActivatorEvent","previousActiveId","activatorNode","focusableNode","findFirstFocusableNode","applyModifiers","modifiers","args","useMeasuringConfiguration","useLayoutShiftScrollCompensation","initialized","rectDelta","ActiveDraggableContext","Status","DndContext","memo","_sensorContext$curren","_dragOverlay$nodeRef$","_dragOverlay$rect","_over$rect","accessibility","children","collisionDetection","measuring","store","useReducer","dispatch","dispatchMonitorEvent","registerMonitorListener","status","setStatus","isInitialized","activeId","translate","activeRects","_node$data","activeRef","activeSensor","setActiveSensor","setActivatorEvent","latestProps","draggableDescribedById","enabledDroppableContainers","measuringConfiguration","measuringScheduled","activationCoordinates","autoScrollOptions","getAutoScrollerOptions","initialActiveNodeRect","activeNodeRect","containerNodeRect","sensorContext","overNode","dragOverlay","draggingNode","draggingNodeRect","usesDragOverlay","nodeRectDelta","modifiedTranslate","scrollAdjustment","activeNodeScrollDelta","scrollAdjustedTranslate","overId","setOver","appliedTranslate","activeSensorRef","instantiateSensor","sensorInstance","onDragAbort","onDragPending","onDragStart","unstable_batchedUpdates","createHandler","cancelDrop","bindActivatorToSensorInstantiator","nativeEvent","activeDraggableNode","activationContext","activators","onDragMove","onDragOver","overContainer","publicContext","internalContext","activeSensorDisablesAutoscroll","autoScrollGloballyDisabled","NullContext","defaultRole","ID_PREFIX","useDraggable","data","attributes","ariaDescribedById","role","roleDescription","tabIndex","isDragging","setNodeRef","setActivatorNodeRef","dataRef","memoizedAttributes","useDndContext","ID_PREFIX$1","defaultResizeObserverConfig","useDroppable","resizeObserverConfig","previous","resizeObserverConnected","callbackId","resizeObserverDisabled","updateMeasurementsFor","resizeObserverTimeout","newElement","previousElement"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sortable.esm.cjs","sources":["../../../../../../../../../../../node_modules/.pnpm/@dnd-kit+sortable@10.0.0_@dnd-kit+core@6.3.1_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/@dnd-kit/sortable/dist/sortable.esm.js"],"sourcesContent":["import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId != null && previous.current.activeId == null) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n"],"names":["arrayMove","array","from","to","newArray","getSortedRects","items","rects","accumulator","id","index","rect","isValidIndex","itemsEqual","a","b","i","normalizeDisabled","disabled","rectSortingStrategy","_ref","activeIndex","overIndex","newRects","oldRect","newRect","defaultScale$1","verticalListSortingStrategy","_rects$activeIndex","fallbackActiveRect","activeNodeRect","overIndexRect","itemGap","getItemGap$1","clientRects","currentRect","previousRect","nextRect","ID_PREFIX","Context","React","SortableContext","children","userDefinedItems","strategy","disabledProp","active","dragOverlay","droppableRects","over","measureDroppableContainers","useDndContext","containerId","useUniqueId","useDragOverlay","useMemo","item","isDragging","previousItemsRef","useRef","itemsHaveChanged","disableTransforms","useIsomorphicLayoutEffect","useEffect","contextValue","defaultNewIndexGetter","defaultAnimateLayoutChanges","_ref2","isSorting","wasDragging","newIndex","previousItems","previousContainerId","transition","defaultTransition","transitionProperty","disabledTransition","CSS","defaultAttributes","useDerivedTransform","node","derivedTransform","setDerivedtransform","useState","previousIndex","initial","current","getClientRect","delta","useSortable","animateLayoutChanges","userDefinedAttributes","localDisabled","customData","getNewIndex","localStrategy","resizeObserverConfig","globalDisabled","sortedRects","globalStrategy","useContext","normalizeLocalDisabled","data","itemsAfterCurrentSortable","isOver","setDroppableNodeRef","useDroppable","activatorEvent","attributes","setDraggableNodeRef","listeners","setActivatorNodeRef","transform","useDraggable","setNodeRef","useCombinedRefs","displaceItem","shouldDisplaceDragSource","dragSourceDisplacement","finalTransform","activeId","previous","shouldAnimateLayoutChanges","timeoutId","getTransition","isKeyboardEvent","_localDisabled$dragga","_localDisabled$droppa","hasSortableData","entry","directions","KeyboardCode","sortableKeyboardCoordinates","event","collisionRect","droppableContainers","scrollableAncestors","filteredContainers","collisions","closestCorners","closestId","getFirstCollision","activeDroppable","newDroppable","newNode","hasDifferentScrollAncestors","getScrollableAncestors","element","hasSameContainer","isSameContainer","isAfterActive","isAfter","offset","rectCoordinates","subtract"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utilities.esm.cjs","sources":["../../../../../../../../../../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.1.1/node_modules/@dnd-kit/utilities/dist/utilities.esm.js"],"sourcesContent":["import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n"],"names":["useCombinedRefs","_len","refs","_key","useMemo","node","ref","canUseDOM","isWindow","element","elementString","isNode","getWindow","target","_target$ownerDocument","_target$ownerDocument2","isDocument","Document","isHTMLElement","isSVGElement","getOwnerDocument","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","useEvent","handler","handlerRef","useRef","useCallback","args","useInterval","intervalRef","set","listener","duration","clear","useLatestValue","value","dependencies","valueRef","useLazyMemo","callback","newValue","useNodeRef","onChange","onChangeHandler","setNodeRef","usePrevious","ids","useUniqueId","prefix","id","createAdjustmentFn","modifier","object","adjustments","accumulator","adjustment","entries","key","valueAdjustment","add","subtract","hasViewportRelativeCoordinates","event","isKeyboardEvent","KeyboardEvent","isTouchEvent","TouchEvent","getEventCoordinates","x","y","CSS","transform","scaleX","scaleY","_ref","property","easing","SELECTOR","findFirstFocusableNode"],"mappings":"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","x_google_ignoreList":[0]}