@epilot/volt-ui-experimental-griffel 0.1.0-experiment.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (764) hide show
  1. package/README.md +157 -0
  2. package/dist/_virtual/index.js +5 -0
  3. package/dist/_virtual/index.js.map +1 -0
  4. package/dist/_virtual/use-sync-external-store-shim.development.js +5 -0
  5. package/dist/_virtual/use-sync-external-store-shim.development.js.map +1 -0
  6. package/dist/_virtual/use-sync-external-store-shim.production.js +5 -0
  7. package/dist/_virtual/use-sync-external-store-shim.production.js.map +1 -0
  8. package/dist/components/accordion/accordion.d.ts +14 -0
  9. package/dist/components/accordion/accordion.js +167 -0
  10. package/dist/components/accordion/accordion.js.map +1 -0
  11. package/dist/components/alert-dialog/alert-dialog.d.ts +36 -0
  12. package/dist/components/alert-dialog/alert-dialog.js +270 -0
  13. package/dist/components/alert-dialog/alert-dialog.js.map +1 -0
  14. package/dist/components/avatar/avatar-group.d.ts +7 -0
  15. package/dist/components/avatar/avatar-group.js +143 -0
  16. package/dist/components/avatar/avatar-group.js.map +1 -0
  17. package/dist/components/avatar/avatar.d.ts +17 -0
  18. package/dist/components/avatar/avatar.js +173 -0
  19. package/dist/components/avatar/avatar.js.map +1 -0
  20. package/dist/components/badge/badge.d.ts +41 -0
  21. package/dist/components/badge/badge.js +137 -0
  22. package/dist/components/badge/badge.js.map +1 -0
  23. package/dist/components/breadcrumb/breadcrumb.d.ts +31 -0
  24. package/dist/components/breadcrumb/breadcrumb.js +111 -0
  25. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  26. package/dist/components/button/button.d.ts +12 -0
  27. package/dist/components/button/button.js +168 -0
  28. package/dist/components/button/button.js.map +1 -0
  29. package/dist/components/button-group/button-group.d.ts +30 -0
  30. package/dist/components/button-group/button-group.js +123 -0
  31. package/dist/components/button-group/button-group.js.map +1 -0
  32. package/dist/components/callout/callout.d.ts +23 -0
  33. package/dist/components/callout/callout.js +312 -0
  34. package/dist/components/callout/callout.js.map +1 -0
  35. package/dist/components/card/card.d.ts +9 -0
  36. package/dist/components/card/card.js +172 -0
  37. package/dist/components/card/card.js.map +1 -0
  38. package/dist/components/checkbox/checkbox.d.ts +4 -0
  39. package/dist/components/checkbox/checkbox.js +123 -0
  40. package/dist/components/checkbox/checkbox.js.map +1 -0
  41. package/dist/components/collapsible-sidebar/collapsible-sidebar.d.ts +33 -0
  42. package/dist/components/collapsible-sidebar/collapsible-sidebar.js +216 -0
  43. package/dist/components/collapsible-sidebar/collapsible-sidebar.js.map +1 -0
  44. package/dist/components/command/command.d.ts +85 -0
  45. package/dist/components/command/command.js +358 -0
  46. package/dist/components/command/command.js.map +1 -0
  47. package/dist/components/date-range-picker/date-range-picker-utils.d.ts +2 -0
  48. package/dist/components/date-range-picker/date-range-picker.d.ts +34 -0
  49. package/dist/components/date-range-picker/date-range-picker.js +393 -0
  50. package/dist/components/date-range-picker/date-range-picker.js.map +1 -0
  51. package/dist/components/date-range-picker/range-calendar.d.ts +15 -0
  52. package/dist/components/date-range-picker/range-calendar.js +143 -0
  53. package/dist/components/date-range-picker/range-calendar.js.map +1 -0
  54. package/dist/components/date-time-picker/calendar.d.ts +28 -0
  55. package/dist/components/date-time-picker/calendar.js +632 -0
  56. package/dist/components/date-time-picker/calendar.js.map +1 -0
  57. package/dist/components/date-time-picker/date-time-picker-context.d.ts +39 -0
  58. package/dist/components/date-time-picker/date-time-picker-context.js +79 -0
  59. package/dist/components/date-time-picker/date-time-picker-context.js.map +1 -0
  60. package/dist/components/date-time-picker/date-time-picker-input.d.ts +13 -0
  61. package/dist/components/date-time-picker/date-time-picker-input.js +229 -0
  62. package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -0
  63. package/dist/components/date-time-picker/date-time-picker-panel.d.ts +15 -0
  64. package/dist/components/date-time-picker/date-time-picker-panel.js +276 -0
  65. package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -0
  66. package/dist/components/date-time-picker/date-time-picker-popover.d.ts +6 -0
  67. package/dist/components/date-time-picker/date-time-picker-popover.js +26 -0
  68. package/dist/components/date-time-picker/date-time-picker-popover.js.map +1 -0
  69. package/dist/components/date-time-picker/date-time-picker-utils.d.ts +37 -0
  70. package/dist/components/date-time-picker/date-time-picker-utils.js +103 -0
  71. package/dist/components/date-time-picker/date-time-picker-utils.js.map +1 -0
  72. package/dist/components/date-time-picker/date-time-picker.d.ts +47 -0
  73. package/dist/components/date-time-picker/date-time-picker.js +112 -0
  74. package/dist/components/date-time-picker/date-time-picker.js.map +1 -0
  75. package/dist/components/date-time-picker/time-picker.d.ts +12 -0
  76. package/dist/components/date-time-picker/time-picker.js +269 -0
  77. package/dist/components/date-time-picker/time-picker.js.map +1 -0
  78. package/dist/components/dialog/dialog.d.ts +27 -0
  79. package/dist/components/dialog/dialog.js +333 -0
  80. package/dist/components/dialog/dialog.js.map +1 -0
  81. package/dist/components/drawer/drawer.d.ts +27 -0
  82. package/dist/components/drawer/drawer.js +437 -0
  83. package/dist/components/drawer/drawer.js.map +1 -0
  84. package/dist/components/dropdown-menu/dropdown-menu.d.ts +41 -0
  85. package/dist/components/dropdown-menu/dropdown-menu.js +424 -0
  86. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -0
  87. package/dist/components/field/field-combobox.d.ts +90 -0
  88. package/dist/components/field/field-combobox.js +457 -0
  89. package/dist/components/field/field-combobox.js.map +1 -0
  90. package/dist/components/field/field-select.d.ts +4 -0
  91. package/dist/components/field/field-select.js +26 -0
  92. package/dist/components/field/field-select.js.map +1 -0
  93. package/dist/components/field/field.d.ts +76 -0
  94. package/dist/components/field/field.js +482 -0
  95. package/dist/components/field/field.js.map +1 -0
  96. package/dist/components/label/label.d.ts +21 -0
  97. package/dist/components/label/label.js +87 -0
  98. package/dist/components/label/label.js.map +1 -0
  99. package/dist/components/list/list.d.ts +46 -0
  100. package/dist/components/list/list.js +770 -0
  101. package/dist/components/list/list.js.map +1 -0
  102. package/dist/components/option-card/option-card.d.ts +39 -0
  103. package/dist/components/option-card/option-card.js +454 -0
  104. package/dist/components/option-card/option-card.js.map +1 -0
  105. package/dist/components/pill/pill.d.ts +27 -0
  106. package/dist/components/pill/pill.js +159 -0
  107. package/dist/components/pill/pill.js.map +1 -0
  108. package/dist/components/popover/popover.d.ts +14 -0
  109. package/dist/components/popover/popover.js +138 -0
  110. package/dist/components/popover/popover.js.map +1 -0
  111. package/dist/components/radio/radio.d.ts +6 -0
  112. package/dist/components/radio/radio.js +138 -0
  113. package/dist/components/radio/radio.js.map +1 -0
  114. package/dist/components/scroll-overflow/scroll-overflow.d.ts +38 -0
  115. package/dist/components/scroll-overflow/scroll-overflow.js +485 -0
  116. package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -0
  117. package/dist/components/segmented-control/segmented-control.d.ts +11 -0
  118. package/dist/components/segmented-control/segmented-control.js +262 -0
  119. package/dist/components/segmented-control/segmented-control.js.map +1 -0
  120. package/dist/components/select/select.d.ts +26 -0
  121. package/dist/components/select/select.js +509 -0
  122. package/dist/components/select/select.js.map +1 -0
  123. package/dist/components/separator/separator.d.ts +30 -0
  124. package/dist/components/separator/separator.js +42 -0
  125. package/dist/components/separator/separator.js.map +1 -0
  126. package/dist/components/skeleton/skeleton.d.ts +24 -0
  127. package/dist/components/skeleton/skeleton.js +121 -0
  128. package/dist/components/skeleton/skeleton.js.map +1 -0
  129. package/dist/components/spinner/spinner.d.ts +25 -0
  130. package/dist/components/spinner/spinner.js +95 -0
  131. package/dist/components/spinner/spinner.js.map +1 -0
  132. package/dist/components/switch/switch.d.ts +17 -0
  133. package/dist/components/switch/switch.js +251 -0
  134. package/dist/components/switch/switch.js.map +1 -0
  135. package/dist/components/table/table.d.ts +50 -0
  136. package/dist/components/table/table.js +262 -0
  137. package/dist/components/table/table.js.map +1 -0
  138. package/dist/components/tabs/tabs.d.ts +18 -0
  139. package/dist/components/tabs/tabs.js +180 -0
  140. package/dist/components/tabs/tabs.js.map +1 -0
  141. package/dist/components/text/text.d.ts +22 -0
  142. package/dist/components/text/text.js +80 -0
  143. package/dist/components/text/text.js.map +1 -0
  144. package/dist/components/toast/toast.d.ts +10 -0
  145. package/dist/components/toast/toast.js +240 -0
  146. package/dist/components/toast/toast.js.map +1 -0
  147. package/dist/components/toggle/toggle-group.d.ts +10 -0
  148. package/dist/components/toggle/toggle-group.js +49 -0
  149. package/dist/components/toggle/toggle-group.js.map +1 -0
  150. package/dist/components/toggle/toggle.d.ts +10 -0
  151. package/dist/components/toggle/toggle.js +124 -0
  152. package/dist/components/toggle/toggle.js.map +1 -0
  153. package/dist/components/tooltip/tooltip.d.ts +15 -0
  154. package/dist/components/tooltip/tooltip.js +167 -0
  155. package/dist/components/tooltip/tooltip.js.map +1 -0
  156. package/dist/index.d.ts +47 -0
  157. package/dist/index.js +253 -0
  158. package/dist/index.js.map +1 -0
  159. package/dist/lib/clear-button.d.ts +5 -0
  160. package/dist/lib/clear-button.js +52 -0
  161. package/dist/lib/clear-button.js.map +1 -0
  162. package/dist/lib/icons.d.ts +3 -0
  163. package/dist/lib/icons.js +15 -0
  164. package/dist/lib/icons.js.map +1 -0
  165. package/dist/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +57 -0
  166. package/dist/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js.map +1 -0
  167. package/dist/node_modules/@dnd-kit/core/dist/core.esm.js +2599 -0
  168. package/dist/node_modules/@dnd-kit/core/dist/core.esm.js.map +1 -0
  169. package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +368 -0
  170. package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js.map +1 -0
  171. package/dist/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +236 -0
  172. package/dist/node_modules/@dnd-kit/utilities/dist/utilities.esm.js.map +1 -0
  173. package/dist/node_modules/@emotion/hash/dist/emotion-hash.esm.js +23 -0
  174. package/dist/node_modules/@emotion/hash/dist/emotion-hash.esm.js.map +1 -0
  175. package/dist/node_modules/@griffel/core/src/constants.js +34 -0
  176. package/dist/node_modules/@griffel/core/src/constants.js.map +1 -0
  177. package/dist/node_modules/@griffel/core/src/devtools/getAtomicDebugSequenceTree.js +27 -0
  178. package/dist/node_modules/@griffel/core/src/devtools/getAtomicDebugSequenceTree.js.map +1 -0
  179. package/dist/node_modules/@griffel/core/src/devtools/getResetDebugSequence.js +19 -0
  180. package/dist/node_modules/@griffel/core/src/devtools/getResetDebugSequence.js.map +1 -0
  181. package/dist/node_modules/@griffel/core/src/devtools/getSourceURLfromError.js +18 -0
  182. package/dist/node_modules/@griffel/core/src/devtools/getSourceURLfromError.js.map +1 -0
  183. package/dist/node_modules/@griffel/core/src/devtools/injectDevTools.js +26 -0
  184. package/dist/node_modules/@griffel/core/src/devtools/injectDevTools.js.map +1 -0
  185. package/dist/node_modules/@griffel/core/src/devtools/isDevToolsEnabled.js +12 -0
  186. package/dist/node_modules/@griffel/core/src/devtools/isDevToolsEnabled.js.map +1 -0
  187. package/dist/node_modules/@griffel/core/src/devtools/mergeDebugSequence.js +15 -0
  188. package/dist/node_modules/@griffel/core/src/devtools/mergeDebugSequence.js.map +1 -0
  189. package/dist/node_modules/@griffel/core/src/devtools/react-render-tracker/stackTrace.js +40 -0
  190. package/dist/node_modules/@griffel/core/src/devtools/react-render-tracker/stackTrace.js.map +1 -0
  191. package/dist/node_modules/@griffel/core/src/devtools/store.js +22 -0
  192. package/dist/node_modules/@griffel/core/src/devtools/store.js.map +1 -0
  193. package/dist/node_modules/@griffel/core/src/devtools/utils.js +22 -0
  194. package/dist/node_modules/@griffel/core/src/devtools/utils.js.map +1 -0
  195. package/dist/node_modules/@griffel/core/src/index.js +52 -0
  196. package/dist/node_modules/@griffel/core/src/index.js.map +1 -0
  197. package/dist/node_modules/@griffel/core/src/insertionFactory.js +10 -0
  198. package/dist/node_modules/@griffel/core/src/insertionFactory.js.map +1 -0
  199. package/dist/node_modules/@griffel/core/src/makeResetStyles.js +26 -0
  200. package/dist/node_modules/@griffel/core/src/makeResetStyles.js.map +1 -0
  201. package/dist/node_modules/@griffel/core/src/makeStyles.js +33 -0
  202. package/dist/node_modules/@griffel/core/src/makeStyles.js.map +1 -0
  203. package/dist/node_modules/@griffel/core/src/mergeClasses.js +49 -0
  204. package/dist/node_modules/@griffel/core/src/mergeClasses.js.map +1 -0
  205. package/dist/node_modules/@griffel/core/src/renderer/createDOMRenderer.js +43 -0
  206. package/dist/node_modules/@griffel/core/src/renderer/createDOMRenderer.js.map +1 -0
  207. package/dist/node_modules/@griffel/core/src/renderer/createIsomorphicStyleSheet.js +23 -0
  208. package/dist/node_modules/@griffel/core/src/renderer/createIsomorphicStyleSheet.js.map +1 -0
  209. package/dist/node_modules/@griffel/core/src/renderer/getStyleSheetForBucket.js +81 -0
  210. package/dist/node_modules/@griffel/core/src/renderer/getStyleSheetForBucket.js.map +1 -0
  211. package/dist/node_modules/@griffel/core/src/renderer/safeInsertRule.js +19 -0
  212. package/dist/node_modules/@griffel/core/src/renderer/safeInsertRule.js.map +1 -0
  213. package/dist/node_modules/@griffel/core/src/resolveStyleRulesForSlots.js +15 -0
  214. package/dist/node_modules/@griffel/core/src/resolveStyleRulesForSlots.js.map +1 -0
  215. package/dist/node_modules/@griffel/core/src/runtime/compileAtomicCSSRule.js +28 -0
  216. package/dist/node_modules/@griffel/core/src/runtime/compileAtomicCSSRule.js.map +1 -0
  217. package/dist/node_modules/@griffel/core/src/runtime/compileCSSRules.js +23 -0
  218. package/dist/node_modules/@griffel/core/src/runtime/compileCSSRules.js.map +1 -0
  219. package/dist/node_modules/@griffel/core/src/runtime/compileKeyframeCSS.js +27 -0
  220. package/dist/node_modules/@griffel/core/src/runtime/compileKeyframeCSS.js.map +1 -0
  221. package/dist/node_modules/@griffel/core/src/runtime/compileResetCSSRules.js +31 -0
  222. package/dist/node_modules/@griffel/core/src/runtime/compileResetCSSRules.js.map +1 -0
  223. package/dist/node_modules/@griffel/core/src/runtime/getStyleBucketName.js +34 -0
  224. package/dist/node_modules/@griffel/core/src/runtime/getStyleBucketName.js.map +1 -0
  225. package/dist/node_modules/@griffel/core/src/runtime/reduceToClassNameForSlots.js +33 -0
  226. package/dist/node_modules/@griffel/core/src/runtime/reduceToClassNameForSlots.js.map +1 -0
  227. package/dist/node_modules/@griffel/core/src/runtime/resolveResetStyleRules.js +95 -0
  228. package/dist/node_modules/@griffel/core/src/runtime/resolveResetStyleRules.js.map +1 -0
  229. package/dist/node_modules/@griffel/core/src/runtime/resolveStyleRules.js +187 -0
  230. package/dist/node_modules/@griffel/core/src/runtime/resolveStyleRules.js.map +1 -0
  231. package/dist/node_modules/@griffel/core/src/runtime/shorthands.js +146 -0
  232. package/dist/node_modules/@griffel/core/src/runtime/shorthands.js.map +1 -0
  233. package/dist/node_modules/@griffel/core/src/runtime/stylis/globalPlugin.js +29 -0
  234. package/dist/node_modules/@griffel/core/src/runtime/stylis/globalPlugin.js.map +1 -0
  235. package/dist/node_modules/@griffel/core/src/runtime/stylis/isAtRuleElement.js +15 -0
  236. package/dist/node_modules/@griffel/core/src/runtime/stylis/isAtRuleElement.js.map +1 -0
  237. package/dist/node_modules/@griffel/core/src/runtime/stylis/prefixerPlugin.js +107 -0
  238. package/dist/node_modules/@griffel/core/src/runtime/stylis/prefixerPlugin.js.map +1 -0
  239. package/dist/node_modules/@griffel/core/src/runtime/stylis/rulesheetPlugin.js +9 -0
  240. package/dist/node_modules/@griffel/core/src/runtime/stylis/rulesheetPlugin.js.map +1 -0
  241. package/dist/node_modules/@griffel/core/src/runtime/stylis/scopePlugin.js +41 -0
  242. package/dist/node_modules/@griffel/core/src/runtime/stylis/scopePlugin.js.map +1 -0
  243. package/dist/node_modules/@griffel/core/src/runtime/stylis/sortClassesInAtRulesPlugin.js +8 -0
  244. package/dist/node_modules/@griffel/core/src/runtime/stylis/sortClassesInAtRulesPlugin.js.map +1 -0
  245. package/dist/node_modules/@griffel/core/src/runtime/utils/cssifyObject.js +19 -0
  246. package/dist/node_modules/@griffel/core/src/runtime/utils/cssifyObject.js.map +1 -0
  247. package/dist/node_modules/@griffel/core/src/runtime/utils/generateCombinedMediaQuery.js +7 -0
  248. package/dist/node_modules/@griffel/core/src/runtime/utils/generateCombinedMediaQuery.js.map +1 -0
  249. package/dist/node_modules/@griffel/core/src/runtime/utils/hashClassName.js +11 -0
  250. package/dist/node_modules/@griffel/core/src/runtime/utils/hashClassName.js.map +1 -0
  251. package/dist/node_modules/@griffel/core/src/runtime/utils/hashPropertyKey.js +16 -0
  252. package/dist/node_modules/@griffel/core/src/runtime/utils/hashPropertyKey.js.map +1 -0
  253. package/dist/node_modules/@griffel/core/src/runtime/utils/hashSequence.js +17 -0
  254. package/dist/node_modules/@griffel/core/src/runtime/utils/hashSequence.js.map +1 -0
  255. package/dist/node_modules/@griffel/core/src/runtime/utils/hyphenateProperty.js +16 -0
  256. package/dist/node_modules/@griffel/core/src/runtime/utils/hyphenateProperty.js.map +1 -0
  257. package/dist/node_modules/@griffel/core/src/runtime/utils/isContainerQuerySelector.js +7 -0
  258. package/dist/node_modules/@griffel/core/src/runtime/utils/isContainerQuerySelector.js.map +1 -0
  259. package/dist/node_modules/@griffel/core/src/runtime/utils/isLayerSelector.js +7 -0
  260. package/dist/node_modules/@griffel/core/src/runtime/utils/isLayerSelector.js.map +1 -0
  261. package/dist/node_modules/@griffel/core/src/runtime/utils/isMediaQuerySelector.js +7 -0
  262. package/dist/node_modules/@griffel/core/src/runtime/utils/isMediaQuerySelector.js.map +1 -0
  263. package/dist/node_modules/@griffel/core/src/runtime/utils/isNestedSelector.js +8 -0
  264. package/dist/node_modules/@griffel/core/src/runtime/utils/isNestedSelector.js.map +1 -0
  265. package/dist/node_modules/@griffel/core/src/runtime/utils/isObject.js +7 -0
  266. package/dist/node_modules/@griffel/core/src/runtime/utils/isObject.js.map +1 -0
  267. package/dist/node_modules/@griffel/core/src/runtime/utils/isResetValue.js +8 -0
  268. package/dist/node_modules/@griffel/core/src/runtime/utils/isResetValue.js.map +1 -0
  269. package/dist/node_modules/@griffel/core/src/runtime/utils/isScopeSelector.js +7 -0
  270. package/dist/node_modules/@griffel/core/src/runtime/utils/isScopeSelector.js.map +1 -0
  271. package/dist/node_modules/@griffel/core/src/runtime/utils/isSupportQuerySelector.js +7 -0
  272. package/dist/node_modules/@griffel/core/src/runtime/utils/isSupportQuerySelector.js.map +1 -0
  273. package/dist/node_modules/@griffel/core/src/runtime/utils/normalizeCSSBucketEntry.js +11 -0
  274. package/dist/node_modules/@griffel/core/src/runtime/utils/normalizeCSSBucketEntry.js.map +1 -0
  275. package/dist/node_modules/@griffel/core/src/runtime/utils/normalizeNestedProperty.js +7 -0
  276. package/dist/node_modules/@griffel/core/src/runtime/utils/normalizeNestedProperty.js.map +1 -0
  277. package/dist/node_modules/@griffel/core/src/runtime/utils/trimSelector.js +7 -0
  278. package/dist/node_modules/@griffel/core/src/runtime/utils/trimSelector.js.map +1 -0
  279. package/dist/node_modules/@griffel/core/src/runtime/warnings/logError.js +7 -0
  280. package/dist/node_modules/@griffel/core/src/runtime/warnings/logError.js.map +1 -0
  281. package/dist/node_modules/@griffel/core/src/runtime/warnings/warnAboutUnresolvedRule.js +22 -0
  282. package/dist/node_modules/@griffel/core/src/runtime/warnings/warnAboutUnresolvedRule.js.map +1 -0
  283. package/dist/node_modules/@griffel/core/src/runtime/warnings/warnAboutUnsupportedProperties.js +16 -0
  284. package/dist/node_modules/@griffel/core/src/runtime/warnings/warnAboutUnsupportedProperties.js.map +1 -0
  285. package/dist/node_modules/@griffel/core/src/shorthands/border.js +19 -0
  286. package/dist/node_modules/@griffel/core/src/shorthands/border.js.map +1 -0
  287. package/dist/node_modules/@griffel/core/src/shorthands/borderBottom.js +16 -0
  288. package/dist/node_modules/@griffel/core/src/shorthands/borderBottom.js.map +1 -0
  289. package/dist/node_modules/@griffel/core/src/shorthands/borderColor.js +8 -0
  290. package/dist/node_modules/@griffel/core/src/shorthands/borderColor.js.map +1 -0
  291. package/dist/node_modules/@griffel/core/src/shorthands/borderLeft.js +16 -0
  292. package/dist/node_modules/@griffel/core/src/shorthands/borderLeft.js.map +1 -0
  293. package/dist/node_modules/@griffel/core/src/shorthands/borderRadius.js +12 -0
  294. package/dist/node_modules/@griffel/core/src/shorthands/borderRadius.js.map +1 -0
  295. package/dist/node_modules/@griffel/core/src/shorthands/borderRight.js +16 -0
  296. package/dist/node_modules/@griffel/core/src/shorthands/borderRight.js.map +1 -0
  297. package/dist/node_modules/@griffel/core/src/shorthands/borderStyle.js +8 -0
  298. package/dist/node_modules/@griffel/core/src/shorthands/borderStyle.js.map +1 -0
  299. package/dist/node_modules/@griffel/core/src/shorthands/borderTop.js +16 -0
  300. package/dist/node_modules/@griffel/core/src/shorthands/borderTop.js.map +1 -0
  301. package/dist/node_modules/@griffel/core/src/shorthands/borderWidth.js +8 -0
  302. package/dist/node_modules/@griffel/core/src/shorthands/borderWidth.js.map +1 -0
  303. package/dist/node_modules/@griffel/core/src/shorthands/flex.js +66 -0
  304. package/dist/node_modules/@griffel/core/src/shorthands/flex.js.map +1 -0
  305. package/dist/node_modules/@griffel/core/src/shorthands/gap.js +10 -0
  306. package/dist/node_modules/@griffel/core/src/shorthands/gap.js.map +1 -0
  307. package/dist/node_modules/@griffel/core/src/shorthands/generateStyles.js +14 -0
  308. package/dist/node_modules/@griffel/core/src/shorthands/generateStyles.js.map +1 -0
  309. package/dist/node_modules/@griffel/core/src/shorthands/gridArea.js +31 -0
  310. package/dist/node_modules/@griffel/core/src/shorthands/gridArea.js.map +1 -0
  311. package/dist/node_modules/@griffel/core/src/shorthands/inset.js +13 -0
  312. package/dist/node_modules/@griffel/core/src/shorthands/inset.js.map +1 -0
  313. package/dist/node_modules/@griffel/core/src/shorthands/margin.js +8 -0
  314. package/dist/node_modules/@griffel/core/src/shorthands/margin.js.map +1 -0
  315. package/dist/node_modules/@griffel/core/src/shorthands/marginBlock.js +10 -0
  316. package/dist/node_modules/@griffel/core/src/shorthands/marginBlock.js.map +1 -0
  317. package/dist/node_modules/@griffel/core/src/shorthands/marginInline.js +10 -0
  318. package/dist/node_modules/@griffel/core/src/shorthands/marginInline.js.map +1 -0
  319. package/dist/node_modules/@griffel/core/src/shorthands/outline.js +11 -0
  320. package/dist/node_modules/@griffel/core/src/shorthands/outline.js.map +1 -0
  321. package/dist/node_modules/@griffel/core/src/shorthands/overflow.js +10 -0
  322. package/dist/node_modules/@griffel/core/src/shorthands/overflow.js.map +1 -0
  323. package/dist/node_modules/@griffel/core/src/shorthands/padding.js +8 -0
  324. package/dist/node_modules/@griffel/core/src/shorthands/padding.js.map +1 -0
  325. package/dist/node_modules/@griffel/core/src/shorthands/paddingBlock.js +10 -0
  326. package/dist/node_modules/@griffel/core/src/shorthands/paddingBlock.js.map +1 -0
  327. package/dist/node_modules/@griffel/core/src/shorthands/paddingInline.js +10 -0
  328. package/dist/node_modules/@griffel/core/src/shorthands/paddingInline.js.map +1 -0
  329. package/dist/node_modules/@griffel/core/src/shorthands/textDecoration.js +19 -0
  330. package/dist/node_modules/@griffel/core/src/shorthands/textDecoration.js.map +1 -0
  331. package/dist/node_modules/@griffel/core/src/shorthands/transition.js +19 -0
  332. package/dist/node_modules/@griffel/core/src/shorthands/transition.js.map +1 -0
  333. package/dist/node_modules/@griffel/core/src/shorthands/utils.js +19 -0
  334. package/dist/node_modules/@griffel/core/src/shorthands/utils.js.map +1 -0
  335. package/dist/node_modules/@radix-ui/number/dist/index.js +7 -0
  336. package/dist/node_modules/@radix-ui/number/dist/index.js.map +1 -0
  337. package/dist/node_modules/@radix-ui/primitive/dist/index.js +10 -0
  338. package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -0
  339. package/dist/node_modules/@radix-ui/react-accordion/dist/index.js +240 -0
  340. package/dist/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -0
  341. package/dist/node_modules/@radix-ui/react-alert-dialog/dist/index.js +128 -0
  342. package/dist/node_modules/@radix-ui/react-alert-dialog/dist/index.js.map +1 -0
  343. package/dist/node_modules/@radix-ui/react-alert-dialog/node_modules/@radix-ui/react-slot/dist/index.js +12 -0
  344. package/dist/node_modules/@radix-ui/react-alert-dialog/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  345. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +25 -0
  346. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -0
  347. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js +76 -0
  348. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js.map +1 -0
  349. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.js +252 -0
  350. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.js.map +1 -0
  351. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.js +121 -0
  352. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -0
  353. package/dist/node_modules/@radix-ui/react-collection/dist/index.js +49 -0
  354. package/dist/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -0
  355. package/dist/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.js +51 -0
  356. package/dist/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  357. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +30 -0
  358. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -0
  359. package/dist/node_modules/@radix-ui/react-context/dist/index.js +71 -0
  360. package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -0
  361. package/dist/node_modules/@radix-ui/react-dialog/dist/index.js +263 -0
  362. package/dist/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -0
  363. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.js +51 -0
  364. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  365. package/dist/node_modules/@radix-ui/react-direction/dist/index.js +11 -0
  366. package/dist/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -0
  367. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +128 -0
  368. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -0
  369. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +228 -0
  370. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +1 -0
  371. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +18 -0
  372. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -0
  373. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +138 -0
  374. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -0
  375. package/dist/node_modules/@radix-ui/react-id/dist/index.js +14 -0
  376. package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -0
  377. package/dist/node_modules/@radix-ui/react-menu/dist/index.js +653 -0
  378. package/dist/node_modules/@radix-ui/react-menu/dist/index.js.map +1 -0
  379. package/dist/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.js +51 -0
  380. package/dist/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  381. package/dist/node_modules/@radix-ui/react-popover/dist/index.js +244 -0
  382. package/dist/node_modules/@radix-ui/react-popover/dist/index.js.map +1 -0
  383. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.js +51 -0
  384. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  385. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +222 -0
  386. package/dist/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -0
  387. package/dist/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +209 -0
  388. package/dist/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -0
  389. package/dist/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +403 -0
  390. package/dist/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
  391. package/dist/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/node_modules/@floating-ui/core/dist/floating-ui.core.js +528 -0
  392. package/dist/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
  393. package/dist/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +137 -0
  394. package/dist/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
  395. package/dist/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +131 -0
  396. package/dist/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -0
  397. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +17 -0
  398. package/dist/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -0
  399. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +72 -0
  400. package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -0
  401. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +37 -0
  402. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -0
  403. package/dist/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.js +51 -0
  404. package/dist/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  405. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.js +239 -0
  406. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.js.map +1 -0
  407. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +184 -0
  408. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -0
  409. package/dist/node_modules/@radix-ui/react-scroll-area/dist/index.js +534 -0
  410. package/dist/node_modules/@radix-ui/react-scroll-area/dist/index.js.map +1 -0
  411. package/dist/node_modules/@radix-ui/react-select/dist/index.js +863 -0
  412. package/dist/node_modules/@radix-ui/react-select/dist/index.js.map +1 -0
  413. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.js +51 -0
  414. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  415. package/dist/node_modules/@radix-ui/react-switch/dist/index.js +133 -0
  416. package/dist/node_modules/@radix-ui/react-switch/dist/index.js.map +1 -0
  417. package/dist/node_modules/@radix-ui/react-tabs/dist/index.js +164 -0
  418. package/dist/node_modules/@radix-ui/react-tabs/dist/index.js.map +1 -0
  419. package/dist/node_modules/@radix-ui/react-toggle/dist/index.js +34 -0
  420. package/dist/node_modules/@radix-ui/react-toggle/dist/index.js.map +1 -0
  421. package/dist/node_modules/@radix-ui/react-toggle-group/dist/index.js +138 -0
  422. package/dist/node_modules/@radix-ui/react-toggle-group/dist/index.js.map +1 -0
  423. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.js +340 -0
  424. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.js.map +1 -0
  425. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.js +12 -0
  426. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  427. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +14 -0
  428. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -0
  429. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +55 -0
  430. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -0
  431. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +15 -0
  432. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -0
  433. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js +16 -0
  434. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js.map +1 -0
  435. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  436. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -0
  437. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.js +9 -0
  438. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.js.map +1 -0
  439. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +28 -0
  440. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -0
  441. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js +33 -0
  442. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +1 -0
  443. package/dist/node_modules/aria-hidden/dist/es2015/index.js +53 -0
  444. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -0
  445. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.js +18 -0
  446. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.js.map +1 -0
  447. package/dist/node_modules/cmdk/dist/index.js +313 -0
  448. package/dist/node_modules/cmdk/dist/index.js.map +1 -0
  449. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js +8 -0
  450. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -0
  451. package/dist/node_modules/date-fns/_lib/defaultOptions.js +8 -0
  452. package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -0
  453. package/dist/node_modules/date-fns/_lib/format/formatters.js +516 -0
  454. package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -0
  455. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js +60 -0
  456. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -0
  457. package/dist/node_modules/date-fns/_lib/format/longFormatters.js +53 -0
  458. package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -0
  459. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +19 -0
  460. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -0
  461. package/dist/node_modules/date-fns/_lib/normalizeDates.js +12 -0
  462. package/dist/node_modules/date-fns/_lib/normalizeDates.js.map +1 -0
  463. package/dist/node_modules/date-fns/_lib/normalizeInterval.js +9 -0
  464. package/dist/node_modules/date-fns/_lib/normalizeInterval.js.map +1 -0
  465. package/dist/node_modules/date-fns/_lib/protectedTokens.js +21 -0
  466. package/dist/node_modules/date-fns/_lib/protectedTokens.js.map +1 -0
  467. package/dist/node_modules/date-fns/addDays.js +11 -0
  468. package/dist/node_modules/date-fns/addDays.js.map +1 -0
  469. package/dist/node_modules/date-fns/addMonths.js +21 -0
  470. package/dist/node_modules/date-fns/addMonths.js.map +1 -0
  471. package/dist/node_modules/date-fns/constants.js +10 -0
  472. package/dist/node_modules/date-fns/constants.js.map +1 -0
  473. package/dist/node_modules/date-fns/constructFrom.js +9 -0
  474. package/dist/node_modules/date-fns/constructFrom.js.map +1 -0
  475. package/dist/node_modules/date-fns/constructNow.js +9 -0
  476. package/dist/node_modules/date-fns/constructNow.js.map +1 -0
  477. package/dist/node_modules/date-fns/differenceInCalendarDays.js +17 -0
  478. package/dist/node_modules/date-fns/differenceInCalendarDays.js.map +1 -0
  479. package/dist/node_modules/date-fns/eachDayOfInterval.js +18 -0
  480. package/dist/node_modules/date-fns/eachDayOfInterval.js.map +1 -0
  481. package/dist/node_modules/date-fns/endOfWeek.js +10 -0
  482. package/dist/node_modules/date-fns/endOfWeek.js.map +1 -0
  483. package/dist/node_modules/date-fns/format.js +60 -0
  484. package/dist/node_modules/date-fns/format.js.map +1 -0
  485. package/dist/node_modules/date-fns/getDayOfYear.js +12 -0
  486. package/dist/node_modules/date-fns/getDayOfYear.js.map +1 -0
  487. package/dist/node_modules/date-fns/getDefaultOptions.js +9 -0
  488. package/dist/node_modules/date-fns/getDefaultOptions.js.map +1 -0
  489. package/dist/node_modules/date-fns/getISODay.js +10 -0
  490. package/dist/node_modules/date-fns/getISODay.js.map +1 -0
  491. package/dist/node_modules/date-fns/getISOWeek.js +13 -0
  492. package/dist/node_modules/date-fns/getISOWeek.js.map +1 -0
  493. package/dist/node_modules/date-fns/getISOWeekYear.js +16 -0
  494. package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -0
  495. package/dist/node_modules/date-fns/getWeek.js +13 -0
  496. package/dist/node_modules/date-fns/getWeek.js.map +1 -0
  497. package/dist/node_modules/date-fns/getWeekYear.js +18 -0
  498. package/dist/node_modules/date-fns/getWeekYear.js.map +1 -0
  499. package/dist/node_modules/date-fns/isAfter.js +9 -0
  500. package/dist/node_modules/date-fns/isAfter.js.map +1 -0
  501. package/dist/node_modules/date-fns/isBefore.js +9 -0
  502. package/dist/node_modules/date-fns/isBefore.js.map +1 -0
  503. package/dist/node_modules/date-fns/isDate.js +8 -0
  504. package/dist/node_modules/date-fns/isDate.js.map +1 -0
  505. package/dist/node_modules/date-fns/isSameDay.js +15 -0
  506. package/dist/node_modules/date-fns/isSameDay.js.map +1 -0
  507. package/dist/node_modules/date-fns/isSameMonth.js +14 -0
  508. package/dist/node_modules/date-fns/isSameMonth.js.map +1 -0
  509. package/dist/node_modules/date-fns/isToday.js +14 -0
  510. package/dist/node_modules/date-fns/isToday.js.map +1 -0
  511. package/dist/node_modules/date-fns/isValid.js +10 -0
  512. package/dist/node_modules/date-fns/isValid.js.map +1 -0
  513. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +10 -0
  514. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -0
  515. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +19 -0
  516. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -0
  517. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js +32 -0
  518. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -0
  519. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +16 -0
  520. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -0
  521. package/dist/node_modules/date-fns/locale/de/_lib/formatDistance.js +164 -0
  522. package/dist/node_modules/date-fns/locale/de/_lib/formatDistance.js.map +1 -0
  523. package/dist/node_modules/date-fns/locale/de/_lib/formatLong.js +38 -0
  524. package/dist/node_modules/date-fns/locale/de/_lib/formatLong.js.map +1 -0
  525. package/dist/node_modules/date-fns/locale/de/_lib/formatRelative.js +12 -0
  526. package/dist/node_modules/date-fns/locale/de/_lib/formatRelative.js.map +1 -0
  527. package/dist/node_modules/date-fns/locale/de/_lib/localize.js +162 -0
  528. package/dist/node_modules/date-fns/locale/de/_lib/localize.js.map +1 -0
  529. package/dist/node_modules/date-fns/locale/de/_lib/match.js +113 -0
  530. package/dist/node_modules/date-fns/locale/de/_lib/match.js.map +1 -0
  531. package/dist/node_modules/date-fns/locale/de.js +22 -0
  532. package/dist/node_modules/date-fns/locale/de.js.map +1 -0
  533. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +71 -0
  534. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -0
  535. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js +34 -0
  536. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -0
  537. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +12 -0
  538. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -0
  539. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js +156 -0
  540. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -0
  541. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js +111 -0
  542. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -0
  543. package/dist/node_modules/date-fns/locale/en-US.js +22 -0
  544. package/dist/node_modules/date-fns/locale/en-US.js.map +1 -0
  545. package/dist/node_modules/date-fns/locale/fr/_lib/formatDistance.js +71 -0
  546. package/dist/node_modules/date-fns/locale/fr/_lib/formatDistance.js.map +1 -0
  547. package/dist/node_modules/date-fns/locale/fr/_lib/formatLong.js +34 -0
  548. package/dist/node_modules/date-fns/locale/fr/_lib/formatLong.js.map +1 -0
  549. package/dist/node_modules/date-fns/locale/fr/_lib/formatRelative.js +12 -0
  550. package/dist/node_modules/date-fns/locale/fr/_lib/formatRelative.js.map +1 -0
  551. package/dist/node_modules/date-fns/locale/fr/_lib/localize.js +122 -0
  552. package/dist/node_modules/date-fns/locale/fr/_lib/localize.js.map +1 -0
  553. package/dist/node_modules/date-fns/locale/fr/_lib/match.js +111 -0
  554. package/dist/node_modules/date-fns/locale/fr/_lib/match.js.map +1 -0
  555. package/dist/node_modules/date-fns/locale/fr.js +22 -0
  556. package/dist/node_modules/date-fns/locale/fr.js.map +1 -0
  557. package/dist/node_modules/date-fns/parse/_lib/Parser.js +23 -0
  558. package/dist/node_modules/date-fns/parse/_lib/Parser.js.map +1 -0
  559. package/dist/node_modules/date-fns/parse/_lib/Setter.js +42 -0
  560. package/dist/node_modules/date-fns/parse/_lib/Setter.js.map +1 -0
  561. package/dist/node_modules/date-fns/parse/_lib/constants.js +50 -0
  562. package/dist/node_modules/date-fns/parse/_lib/constants.js.map +1 -0
  563. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +50 -0
  564. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +1 -0
  565. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js +50 -0
  566. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +1 -0
  567. package/dist/node_modules/date-fns/parse/_lib/parsers/DateParser.js +62 -0
  568. package/dist/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +1 -0
  569. package/dist/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js +52 -0
  570. package/dist/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +1 -0
  571. package/dist/node_modules/date-fns/parse/_lib/parsers/DayParser.js +46 -0
  572. package/dist/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +1 -0
  573. package/dist/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js +50 -0
  574. package/dist/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +1 -0
  575. package/dist/node_modules/date-fns/parse/_lib/parsers/EraParser.js +31 -0
  576. package/dist/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +1 -0
  577. package/dist/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js +22 -0
  578. package/dist/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +1 -0
  579. package/dist/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +23 -0
  580. package/dist/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +1 -0
  581. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js +33 -0
  582. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +1 -0
  583. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js +33 -0
  584. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +1 -0
  585. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js +34 -0
  586. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +1 -0
  587. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js +34 -0
  588. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +1 -0
  589. package/dist/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js +100 -0
  590. package/dist/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +1 -0
  591. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +49 -0
  592. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +1 -0
  593. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +49 -0
  594. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +1 -0
  595. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js +50 -0
  596. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +1 -0
  597. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +41 -0
  598. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +1 -0
  599. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js +75 -0
  600. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +1 -0
  601. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js +49 -0
  602. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +1 -0
  603. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +70 -0
  604. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +1 -0
  605. package/dist/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js +33 -0
  606. package/dist/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +1 -0
  607. package/dist/node_modules/date-fns/parse/_lib/parsers/MonthParser.js +72 -0
  608. package/dist/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +1 -0
  609. package/dist/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js +71 -0
  610. package/dist/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +1 -0
  611. package/dist/node_modules/date-fns/parse/_lib/parsers/SecondParser.js +33 -0
  612. package/dist/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +1 -0
  613. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +75 -0
  614. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +1 -0
  615. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +72 -0
  616. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +1 -0
  617. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +71 -0
  618. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +1 -0
  619. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +23 -0
  620. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +1 -0
  621. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +23 -0
  622. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +1 -0
  623. package/dist/node_modules/date-fns/parse/_lib/parsers/YearParser.js +50 -0
  624. package/dist/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +1 -0
  625. package/dist/node_modules/date-fns/parse/_lib/parsers.js +68 -0
  626. package/dist/node_modules/date-fns/parse/_lib/parsers.js.map +1 -0
  627. package/dist/node_modules/date-fns/parse/_lib/utils.js +104 -0
  628. package/dist/node_modules/date-fns/parse/_lib/utils.js.map +1 -0
  629. package/dist/node_modules/date-fns/parse.js +90 -0
  630. package/dist/node_modules/date-fns/parse.js.map +1 -0
  631. package/dist/node_modules/date-fns/setDay.js +13 -0
  632. package/dist/node_modules/date-fns/setDay.js.map +1 -0
  633. package/dist/node_modules/date-fns/setHours.js +10 -0
  634. package/dist/node_modules/date-fns/setHours.js.map +1 -0
  635. package/dist/node_modules/date-fns/setISODay.js +12 -0
  636. package/dist/node_modules/date-fns/setISODay.js.map +1 -0
  637. package/dist/node_modules/date-fns/setISOWeek.js +11 -0
  638. package/dist/node_modules/date-fns/setISOWeek.js.map +1 -0
  639. package/dist/node_modules/date-fns/setMinutes.js +10 -0
  640. package/dist/node_modules/date-fns/setMinutes.js.map +1 -0
  641. package/dist/node_modules/date-fns/setWeek.js +11 -0
  642. package/dist/node_modules/date-fns/setWeek.js.map +1 -0
  643. package/dist/node_modules/date-fns/startOfDay.js +10 -0
  644. package/dist/node_modules/date-fns/startOfDay.js.map +1 -0
  645. package/dist/node_modules/date-fns/startOfISOWeek.js +9 -0
  646. package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -0
  647. package/dist/node_modules/date-fns/startOfISOWeekYear.js +12 -0
  648. package/dist/node_modules/date-fns/startOfISOWeekYear.js.map +1 -0
  649. package/dist/node_modules/date-fns/startOfMonth.js +10 -0
  650. package/dist/node_modules/date-fns/startOfMonth.js.map +1 -0
  651. package/dist/node_modules/date-fns/startOfWeek.js +12 -0
  652. package/dist/node_modules/date-fns/startOfWeek.js.map +1 -0
  653. package/dist/node_modules/date-fns/startOfWeekYear.js +14 -0
  654. package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -0
  655. package/dist/node_modules/date-fns/startOfYear.js +10 -0
  656. package/dist/node_modules/date-fns/startOfYear.js.map +1 -0
  657. package/dist/node_modules/date-fns/subMonths.js +9 -0
  658. package/dist/node_modules/date-fns/subMonths.js.map +1 -0
  659. package/dist/node_modules/date-fns/toDate.js +9 -0
  660. package/dist/node_modules/date-fns/toDate.js.map +1 -0
  661. package/dist/node_modules/date-fns/transpose.js +19 -0
  662. package/dist/node_modules/date-fns/transpose.js.map +1 -0
  663. package/dist/node_modules/get-nonce/dist/es2015/index.js +8 -0
  664. package/dist/node_modules/get-nonce/dist/es2015/index.js.map +1 -0
  665. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +12 -0
  666. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -0
  667. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +113 -0
  668. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -0
  669. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +32 -0
  670. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -0
  671. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +17 -0
  672. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -0
  673. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +69 -0
  674. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -0
  675. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +6 -0
  676. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -0
  677. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +8 -0
  678. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -0
  679. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +72 -0
  680. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -0
  681. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +8 -0
  682. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -0
  683. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +26 -0
  684. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -0
  685. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +12 -0
  686. package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -0
  687. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +16 -0
  688. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -0
  689. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +31 -0
  690. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -0
  691. package/dist/node_modules/rifm/dist/rifm.esm.js +87 -0
  692. package/dist/node_modules/rifm/dist/rifm.esm.js.map +1 -0
  693. package/dist/node_modules/rtl-css-js/dist/esm/convert-9768a965.js +303 -0
  694. package/dist/node_modules/rtl-css-js/dist/esm/convert-9768a965.js.map +1 -0
  695. package/dist/node_modules/sonner/dist/index.js +747 -0
  696. package/dist/node_modules/sonner/dist/index.js.map +1 -0
  697. package/dist/node_modules/stylis/src/Enum.js +16 -0
  698. package/dist/node_modules/stylis/src/Enum.js.map +1 -0
  699. package/dist/node_modules/stylis/src/Middleware.js +19 -0
  700. package/dist/node_modules/stylis/src/Middleware.js.map +1 -0
  701. package/dist/node_modules/stylis/src/Parser.js +128 -0
  702. package/dist/node_modules/stylis/src/Parser.js.map +1 -0
  703. package/dist/node_modules/stylis/src/Serializer.js +29 -0
  704. package/dist/node_modules/stylis/src/Serializer.js.map +1 -0
  705. package/dist/node_modules/stylis/src/Tokenizer.js +151 -0
  706. package/dist/node_modules/stylis/src/Tokenizer.js.map +1 -0
  707. package/dist/node_modules/stylis/src/Utility.js +51 -0
  708. package/dist/node_modules/stylis/src/Utility.js.map +1 -0
  709. package/dist/node_modules/tslib/tslib.es6.js +28 -0
  710. package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
  711. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +7 -0
  712. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -0
  713. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +27 -0
  714. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -0
  715. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +26 -0
  716. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -0
  717. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +19 -0
  718. package/dist/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -0
  719. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +68 -0
  720. package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -0
  721. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +68 -0
  722. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
  723. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +56 -0
  724. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
  725. package/dist/node_modules/use-sync-external-store/shim/index.js +9 -0
  726. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
  727. package/dist/renderer/contract.d.ts +43 -0
  728. package/dist/renderer/contract.js +8 -0
  729. package/dist/renderer/contract.js.map +1 -0
  730. package/dist/renderer/index.d.ts +22 -0
  731. package/dist/renderer/index.js +59 -0
  732. package/dist/renderer/index.js.map +1 -0
  733. package/dist/renderer/insertion-point.d.ts +35 -0
  734. package/dist/renderer/insertion-point.js +30 -0
  735. package/dist/renderer/insertion-point.js.map +1 -0
  736. package/dist/renderer/rule-key.d.ts +14 -0
  737. package/dist/renderer/rule-key.js +12 -0
  738. package/dist/renderer/rule-key.js.map +1 -0
  739. package/dist/renderer/sheet-adoption.d.ts +32 -0
  740. package/dist/renderer/sheet-adoption.js +30 -0
  741. package/dist/renderer/sheet-adoption.js.map +1 -0
  742. package/dist/styles/make-styles.d.ts +43 -0
  743. package/dist/styles/make-styles.js +22 -0
  744. package/dist/styles/make-styles.js.map +1 -0
  745. package/dist/tokens/class-salt.generated.d.ts +2 -0
  746. package/dist/tokens/class-salt.generated.js +5 -0
  747. package/dist/tokens/class-salt.generated.js.map +1 -0
  748. package/dist/tokens/core.generated.d.ts +3 -0
  749. package/dist/tokens/core.generated.js +487 -0
  750. package/dist/tokens/core.generated.js.map +1 -0
  751. package/dist/tokens/ensure-sheet.d.ts +3 -0
  752. package/dist/tokens/ensure-sheet.js +14 -0
  753. package/dist/tokens/ensure-sheet.js.map +1 -0
  754. package/dist/tokens/index.d.ts +952 -0
  755. package/dist/tokens/index.js +958 -0
  756. package/dist/tokens/index.js.map +1 -0
  757. package/dist/tokens/install.d.ts +33 -0
  758. package/dist/tokens/install.js +14 -0
  759. package/dist/tokens/install.js.map +1 -0
  760. package/dist/tokens/palette.generated.d.ts +3 -0
  761. package/dist/tokens/palette.generated.js +1078 -0
  762. package/dist/tokens/palette.generated.js.map +1 -0
  763. package/dist/tokens.json +1911 -0
  764. package/package.json +87 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.esm.js","sources":["../../../../../../../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","getRelativeTransformOrigin","rect","eventCoordinates","getEventCoordinates","transformOrigin","sortCollisionsAsc","a","b","sortCollisionsDesc","getFirstCollision","collisions","property","firstCollision","centerOfRectangle","left","top","closestCenter","collisionRect","droppableRects","droppableContainers","centerRect","droppableContainer","id","distBetween","getIntersectionRatio","entry","target","right","bottom","width","height","targetArea","entryArea","intersectionArea","intersectionRatio","rectIntersection","adjustScale","transform","rect1","rect2","getRectDelta","createRectAdjustmentFn","modifier","adjustments","acc","adjustment","getAdjustedRect","parseTransform","transformArray","inverseTransform","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","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","index","defaultScrollIntent","disabled","previousDelta","usePrevious","useLazyMemo","previousIntent","useCachedNode","draggableNodes","draggableNode","cachedNode","useCombineActivators","getSyntheticHandler","accumulator","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","AnimationManager","animation","clonedChildren","setClonedChildren","setElement","previousChildren","cloneElement","defaultTransform","NullifiedContextProvider","baseStyles","defaultTransition","PositionedOverlay","forwardRef","ref","as","className","style","transition","scaleAdjustedTransform","styles","CSS","defaultDropAnimationSideEffects","originalStyles","defaultKeyframeResolver","initial","final","defaultDropAnimationConfiguration","useDropAnimation","activeDraggable","measurableNode","createDefaultDropAnimation","duration","easing","sideEffects","keyframes","rest","scale","finalTransform","animationKeyframes","firstKeyframe","lastKeyframe","resolve","useKey","DragOverlay","dropAnimationConfig","wrapperElement","zIndex","modifiedTransform","dropAnimation"],"mappings":"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","x_google_ignoreList":[0]}