@vuu-ui/vuu-utils 0.13.5 → 0.13.7

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 (446) hide show
  1. package/cjs/node_modules/@dnd-kit/abstract/index.js +625 -0
  2. package/cjs/node_modules/@dnd-kit/abstract/index.js.map +1 -0
  3. package/cjs/node_modules/@dnd-kit/abstract/modifiers.js +85 -0
  4. package/cjs/node_modules/@dnd-kit/abstract/modifiers.js.map +1 -0
  5. package/cjs/node_modules/@dnd-kit/collision/dist/index.js +91 -0
  6. package/cjs/node_modules/@dnd-kit/collision/dist/index.js.map +1 -0
  7. package/cjs/node_modules/@dnd-kit/dom/index.js +1649 -0
  8. package/cjs/node_modules/@dnd-kit/dom/index.js.map +1 -0
  9. package/cjs/node_modules/@dnd-kit/dom/sortable.js +833 -0
  10. package/cjs/node_modules/@dnd-kit/dom/sortable.js.map +1 -0
  11. package/cjs/node_modules/@dnd-kit/dom/utilities.js +1389 -0
  12. package/cjs/node_modules/@dnd-kit/dom/utilities.js.map +1 -0
  13. package/cjs/node_modules/@dnd-kit/geometry/dist/index.js +310 -0
  14. package/cjs/node_modules/@dnd-kit/geometry/dist/index.js.map +1 -0
  15. package/cjs/node_modules/@dnd-kit/react/hooks.js +86 -0
  16. package/cjs/node_modules/@dnd-kit/react/hooks.js.map +1 -0
  17. package/cjs/node_modules/@dnd-kit/react/sortable.js +177 -0
  18. package/cjs/node_modules/@dnd-kit/react/sortable.js.map +1 -0
  19. package/cjs/node_modules/@dnd-kit/react/utilities.js +19 -0
  20. package/cjs/node_modules/@dnd-kit/react/utilities.js.map +1 -0
  21. package/cjs/node_modules/@dnd-kit/state/dist/index.js +272 -0
  22. package/cjs/node_modules/@dnd-kit/state/dist/index.js.map +1 -0
  23. package/cjs/node_modules/@preact/signals-core/dist/signals-core.js +11 -0
  24. package/cjs/node_modules/@preact/signals-core/dist/signals-core.js.map +1 -0
  25. package/cjs/packages/vuu-utils/src/DataWindow.js.map +1 -0
  26. package/cjs/packages/vuu-utils/src/ShellContext.js.map +1 -0
  27. package/cjs/packages/vuu-utils/src/ThemeProvider.js.map +1 -0
  28. package/cjs/packages/vuu-utils/src/array-utils.js.map +1 -0
  29. package/cjs/packages/vuu-utils/src/box-utils.js.map +1 -0
  30. package/cjs/packages/vuu-utils/src/column-utils.js.map +1 -0
  31. package/cjs/packages/vuu-utils/src/common-types.js.map +1 -0
  32. package/cjs/packages/vuu-utils/src/component-registry.js.map +1 -0
  33. package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js.map +1 -0
  34. package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js.map +1 -0
  35. package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +1 -0
  36. package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +1 -0
  37. package/cjs/packages/vuu-utils/src/cookie-utils.js.map +1 -0
  38. package/cjs/packages/vuu-utils/src/css-utils.js.map +1 -0
  39. package/cjs/packages/vuu-utils/src/data-utils.js.map +1 -0
  40. package/cjs/{datasource → packages/vuu-utils/src/datasource}/BaseDataSource.js +4 -0
  41. package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js.map +1 -0
  42. package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +1 -0
  43. package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +1 -0
  44. package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js.map +1 -0
  45. package/cjs/packages/vuu-utils/src/date/date-utils.js.map +1 -0
  46. package/cjs/packages/vuu-utils/src/date/dateTimePattern.js.map +1 -0
  47. package/cjs/packages/vuu-utils/src/date/formatter.js.map +1 -0
  48. package/cjs/packages/vuu-utils/src/date/types.js.map +1 -0
  49. package/cjs/packages/vuu-utils/src/debug-utils.js.map +1 -0
  50. package/cjs/packages/vuu-utils/src/event-emitter.js.map +1 -0
  51. package/cjs/packages/vuu-utils/src/feature-utils.js.map +1 -0
  52. package/cjs/packages/vuu-utils/src/filters/filter-utils.js.map +1 -0
  53. package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js.map +1 -0
  54. package/cjs/packages/vuu-utils/src/form-utils.js.map +1 -0
  55. package/cjs/packages/vuu-utils/src/formatting-utils.js.map +1 -0
  56. package/cjs/packages/vuu-utils/src/getUniqueId.js.map +1 -0
  57. package/cjs/packages/vuu-utils/src/group-utils.js.map +1 -0
  58. package/cjs/packages/vuu-utils/src/html-utils.js.map +1 -0
  59. package/cjs/{index.js → packages/vuu-utils/src/index.js} +18 -2
  60. package/cjs/{index.js.map → packages/vuu-utils/src/index.js.map} +1 -1
  61. package/cjs/packages/vuu-utils/src/input-utils.js.map +1 -0
  62. package/cjs/packages/vuu-utils/src/invariant.js.map +1 -0
  63. package/cjs/packages/vuu-utils/src/itemToString.js.map +1 -0
  64. package/cjs/packages/vuu-utils/src/json-utils.js.map +1 -0
  65. package/cjs/packages/vuu-utils/src/keyboard-utils.js.map +1 -0
  66. package/cjs/packages/vuu-utils/src/keyset.js.map +1 -0
  67. package/cjs/packages/vuu-utils/src/list-utils.js.map +1 -0
  68. package/cjs/packages/vuu-utils/src/local-storage-utils.js.map +1 -0
  69. package/cjs/packages/vuu-utils/src/logging-utils.js.map +1 -0
  70. package/cjs/packages/vuu-utils/src/menu-utils.js.map +1 -0
  71. package/cjs/packages/vuu-utils/src/module-utils.js.map +1 -0
  72. package/cjs/{moving-window.js → packages/vuu-utils/src/moving-window.js} +0 -2
  73. package/cjs/packages/vuu-utils/src/moving-window.js.map +1 -0
  74. package/cjs/packages/vuu-utils/src/nanoid/index.js.map +1 -0
  75. package/cjs/packages/vuu-utils/src/perf-utils.js.map +1 -0
  76. package/cjs/packages/vuu-utils/src/promise-utils.js.map +1 -0
  77. package/cjs/packages/vuu-utils/src/protocol-message-utils.js.map +1 -0
  78. package/cjs/{range-utils.js → packages/vuu-utils/src/range-utils.js} +0 -3
  79. package/cjs/packages/vuu-utils/src/range-utils.js.map +1 -0
  80. package/cjs/packages/vuu-utils/src/react-utils.js.map +1 -0
  81. package/cjs/packages/vuu-utils/src/round-decimal.js.map +1 -0
  82. package/cjs/packages/vuu-utils/src/row-utils.js.map +1 -0
  83. package/cjs/packages/vuu-utils/src/selection-utils.js.map +1 -0
  84. package/cjs/packages/vuu-utils/src/shell-layout-types.js.map +1 -0
  85. package/cjs/packages/vuu-utils/src/sort-utils.js.map +1 -0
  86. package/cjs/packages/vuu-utils/src/table-schema-utils.js.map +1 -0
  87. package/cjs/packages/vuu-utils/src/text-utils.js.map +1 -0
  88. package/cjs/packages/vuu-utils/src/tree-utils.js.map +1 -0
  89. package/cjs/packages/vuu-utils/src/ts-utils.js.map +1 -0
  90. package/cjs/packages/vuu-utils/src/typeahead-utils.js.map +1 -0
  91. package/cjs/packages/vuu-utils/src/url-utils.js.map +1 -0
  92. package/cjs/packages/vuu-utils/src/useId.js.map +1 -0
  93. package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +1 -0
  94. package/cjs/packages/vuu-utils/src/useStateRef.js.map +1 -0
  95. package/esm/node_modules/@dnd-kit/abstract/index.js +612 -0
  96. package/esm/node_modules/@dnd-kit/abstract/index.js.map +1 -0
  97. package/esm/node_modules/@dnd-kit/abstract/modifiers.js +82 -0
  98. package/esm/node_modules/@dnd-kit/abstract/modifiers.js.map +1 -0
  99. package/esm/node_modules/@dnd-kit/collision/dist/index.js +86 -0
  100. package/esm/node_modules/@dnd-kit/collision/dist/index.js.map +1 -0
  101. package/esm/node_modules/@dnd-kit/dom/index.js +1642 -0
  102. package/esm/node_modules/@dnd-kit/dom/index.js.map +1 -0
  103. package/esm/node_modules/@dnd-kit/dom/sortable.js +827 -0
  104. package/esm/node_modules/@dnd-kit/dom/sortable.js.map +1 -0
  105. package/esm/node_modules/@dnd-kit/dom/utilities.js +1344 -0
  106. package/esm/node_modules/@dnd-kit/dom/utilities.js.map +1 -0
  107. package/esm/node_modules/@dnd-kit/geometry/dist/index.js +303 -0
  108. package/esm/node_modules/@dnd-kit/geometry/dist/index.js.map +1 -0
  109. package/esm/node_modules/@dnd-kit/react/hooks.js +80 -0
  110. package/esm/node_modules/@dnd-kit/react/hooks.js.map +1 -0
  111. package/esm/node_modules/@dnd-kit/react/sortable.js +175 -0
  112. package/esm/node_modules/@dnd-kit/react/sortable.js.map +1 -0
  113. package/esm/node_modules/@dnd-kit/react/utilities.js +17 -0
  114. package/esm/node_modules/@dnd-kit/react/utilities.js.map +1 -0
  115. package/esm/node_modules/@dnd-kit/state/dist/index.js +259 -0
  116. package/esm/node_modules/@dnd-kit/state/dist/index.js.map +1 -0
  117. package/esm/node_modules/@preact/signals-core/dist/signals-core.js +4 -0
  118. package/esm/node_modules/@preact/signals-core/dist/signals-core.js.map +1 -0
  119. package/esm/packages/vuu-utils/src/DataWindow.js.map +1 -0
  120. package/esm/packages/vuu-utils/src/ShellContext.js.map +1 -0
  121. package/esm/packages/vuu-utils/src/ThemeProvider.js.map +1 -0
  122. package/esm/packages/vuu-utils/src/array-utils.js.map +1 -0
  123. package/esm/packages/vuu-utils/src/box-utils.js.map +1 -0
  124. package/esm/packages/vuu-utils/src/column-utils.js.map +1 -0
  125. package/esm/packages/vuu-utils/src/common-types.js.map +1 -0
  126. package/esm/packages/vuu-utils/src/component-registry.js.map +1 -0
  127. package/esm/packages/vuu-utils/src/context-definitions/DataContext.js.map +1 -0
  128. package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js.map +1 -0
  129. package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +1 -0
  130. package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +1 -0
  131. package/esm/packages/vuu-utils/src/cookie-utils.js.map +1 -0
  132. package/esm/packages/vuu-utils/src/css-utils.js.map +1 -0
  133. package/esm/packages/vuu-utils/src/data-utils.js.map +1 -0
  134. package/esm/{datasource → packages/vuu-utils/src/datasource}/BaseDataSource.js +4 -0
  135. package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js.map +1 -0
  136. package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +1 -0
  137. package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +1 -0
  138. package/esm/packages/vuu-utils/src/datasource/datasource-utils.js.map +1 -0
  139. package/esm/packages/vuu-utils/src/date/date-utils.js.map +1 -0
  140. package/esm/packages/vuu-utils/src/date/dateTimePattern.js.map +1 -0
  141. package/esm/packages/vuu-utils/src/date/formatter.js.map +1 -0
  142. package/esm/packages/vuu-utils/src/date/types.js.map +1 -0
  143. package/esm/packages/vuu-utils/src/debug-utils.js.map +1 -0
  144. package/esm/packages/vuu-utils/src/event-emitter.js.map +1 -0
  145. package/esm/packages/vuu-utils/src/feature-utils.js.map +1 -0
  146. package/esm/packages/vuu-utils/src/filters/filter-utils.js.map +1 -0
  147. package/esm/packages/vuu-utils/src/filters/filterAsQuery.js.map +1 -0
  148. package/esm/packages/vuu-utils/src/form-utils.js.map +1 -0
  149. package/esm/packages/vuu-utils/src/formatting-utils.js.map +1 -0
  150. package/esm/packages/vuu-utils/src/getUniqueId.js.map +1 -0
  151. package/esm/packages/vuu-utils/src/group-utils.js.map +1 -0
  152. package/esm/packages/vuu-utils/src/html-utils.js.map +1 -0
  153. package/esm/{index.js → packages/vuu-utils/src/index.js} +4 -0
  154. package/esm/{index.js.map → packages/vuu-utils/src/index.js.map} +1 -1
  155. package/esm/packages/vuu-utils/src/input-utils.js.map +1 -0
  156. package/esm/packages/vuu-utils/src/invariant.js.map +1 -0
  157. package/esm/packages/vuu-utils/src/itemToString.js.map +1 -0
  158. package/esm/packages/vuu-utils/src/json-utils.js.map +1 -0
  159. package/esm/packages/vuu-utils/src/keyboard-utils.js.map +1 -0
  160. package/esm/packages/vuu-utils/src/keyset.js.map +1 -0
  161. package/esm/packages/vuu-utils/src/list-utils.js.map +1 -0
  162. package/esm/packages/vuu-utils/src/local-storage-utils.js.map +1 -0
  163. package/esm/packages/vuu-utils/src/logging-utils.js.map +1 -0
  164. package/esm/packages/vuu-utils/src/menu-utils.js.map +1 -0
  165. package/esm/packages/vuu-utils/src/module-utils.js.map +1 -0
  166. package/esm/{moving-window.js → packages/vuu-utils/src/moving-window.js} +0 -2
  167. package/esm/packages/vuu-utils/src/moving-window.js.map +1 -0
  168. package/esm/packages/vuu-utils/src/nanoid/index.js.map +1 -0
  169. package/esm/packages/vuu-utils/src/perf-utils.js.map +1 -0
  170. package/esm/packages/vuu-utils/src/promise-utils.js.map +1 -0
  171. package/esm/packages/vuu-utils/src/protocol-message-utils.js.map +1 -0
  172. package/esm/{range-utils.js → packages/vuu-utils/src/range-utils.js} +0 -3
  173. package/esm/packages/vuu-utils/src/range-utils.js.map +1 -0
  174. package/esm/packages/vuu-utils/src/react-utils.js.map +1 -0
  175. package/esm/packages/vuu-utils/src/round-decimal.js.map +1 -0
  176. package/esm/packages/vuu-utils/src/row-utils.js.map +1 -0
  177. package/esm/packages/vuu-utils/src/selection-utils.js.map +1 -0
  178. package/esm/packages/vuu-utils/src/shell-layout-types.js.map +1 -0
  179. package/esm/packages/vuu-utils/src/sort-utils.js.map +1 -0
  180. package/esm/packages/vuu-utils/src/table-schema-utils.js.map +1 -0
  181. package/esm/packages/vuu-utils/src/text-utils.js.map +1 -0
  182. package/esm/packages/vuu-utils/src/tree-utils.js.map +1 -0
  183. package/esm/packages/vuu-utils/src/ts-utils.js.map +1 -0
  184. package/esm/packages/vuu-utils/src/typeahead-utils.js.map +1 -0
  185. package/esm/packages/vuu-utils/src/url-utils.js.map +1 -0
  186. package/esm/packages/vuu-utils/src/useId.js.map +1 -0
  187. package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +1 -0
  188. package/esm/packages/vuu-utils/src/useStateRef.js.map +1 -0
  189. package/package.json +9 -6
  190. package/types/component-registry.d.ts +2 -2
  191. package/types/filters/filter-utils.d.ts +2 -2
  192. package/types/index.d.ts +5 -0
  193. package/cjs/DataWindow.js.map +0 -1
  194. package/cjs/ShellContext.js.map +0 -1
  195. package/cjs/ThemeProvider.js.map +0 -1
  196. package/cjs/array-utils.js.map +0 -1
  197. package/cjs/box-utils.js.map +0 -1
  198. package/cjs/column-utils.js.map +0 -1
  199. package/cjs/common-types.js.map +0 -1
  200. package/cjs/component-registry.js.map +0 -1
  201. package/cjs/context-definitions/DataContext.js.map +0 -1
  202. package/cjs/context-definitions/DataProvider.js.map +0 -1
  203. package/cjs/context-definitions/DataSourceProvider.js.map +0 -1
  204. package/cjs/context-definitions/WorkspaceContext.js.map +0 -1
  205. package/cjs/cookie-utils.js.map +0 -1
  206. package/cjs/css-utils.js.map +0 -1
  207. package/cjs/data-utils.js.map +0 -1
  208. package/cjs/datasource/BaseDataSource.js.map +0 -1
  209. package/cjs/datasource/datasource-action-utils.js.map +0 -1
  210. package/cjs/datasource/datasource-filter-utils.js.map +0 -1
  211. package/cjs/datasource/datasource-utils.js.map +0 -1
  212. package/cjs/date/date-utils.js.map +0 -1
  213. package/cjs/date/dateTimePattern.js.map +0 -1
  214. package/cjs/date/formatter.js.map +0 -1
  215. package/cjs/date/types.js.map +0 -1
  216. package/cjs/debug-utils.js.map +0 -1
  217. package/cjs/event-emitter.js.map +0 -1
  218. package/cjs/feature-utils.js.map +0 -1
  219. package/cjs/filters/filter-utils.js.map +0 -1
  220. package/cjs/filters/filterAsQuery.js.map +0 -1
  221. package/cjs/form-utils.js.map +0 -1
  222. package/cjs/formatting-utils.js.map +0 -1
  223. package/cjs/getUniqueId.js.map +0 -1
  224. package/cjs/group-utils.js.map +0 -1
  225. package/cjs/html-utils.js.map +0 -1
  226. package/cjs/input-utils.js.map +0 -1
  227. package/cjs/invariant.js.map +0 -1
  228. package/cjs/itemToString.js.map +0 -1
  229. package/cjs/json-utils.js.map +0 -1
  230. package/cjs/keyboard-utils.js.map +0 -1
  231. package/cjs/keyset.js.map +0 -1
  232. package/cjs/list-utils.js.map +0 -1
  233. package/cjs/local-storage-utils.js.map +0 -1
  234. package/cjs/logging-utils.js.map +0 -1
  235. package/cjs/menu-utils.js.map +0 -1
  236. package/cjs/module-utils.js.map +0 -1
  237. package/cjs/moving-window.js.map +0 -1
  238. package/cjs/nanoid/index.js.map +0 -1
  239. package/cjs/perf-utils.js.map +0 -1
  240. package/cjs/promise-utils.js.map +0 -1
  241. package/cjs/protocol-message-utils.js.map +0 -1
  242. package/cjs/range-utils.js.map +0 -1
  243. package/cjs/react-utils.js.map +0 -1
  244. package/cjs/round-decimal.js.map +0 -1
  245. package/cjs/row-utils.js.map +0 -1
  246. package/cjs/selection-utils.js.map +0 -1
  247. package/cjs/shell-layout-types.js.map +0 -1
  248. package/cjs/sort-utils.js.map +0 -1
  249. package/cjs/table-schema-utils.js.map +0 -1
  250. package/cjs/text-utils.js.map +0 -1
  251. package/cjs/tree-utils.js.map +0 -1
  252. package/cjs/ts-utils.js.map +0 -1
  253. package/cjs/typeahead-utils.js.map +0 -1
  254. package/cjs/url-utils.js.map +0 -1
  255. package/cjs/useId.js.map +0 -1
  256. package/cjs/useLayoutEffectSkipFirst.js.map +0 -1
  257. package/cjs/useStateRef.js.map +0 -1
  258. package/esm/DataWindow.js.map +0 -1
  259. package/esm/ShellContext.js.map +0 -1
  260. package/esm/ThemeProvider.js.map +0 -1
  261. package/esm/array-utils.js.map +0 -1
  262. package/esm/box-utils.js.map +0 -1
  263. package/esm/column-utils.js.map +0 -1
  264. package/esm/common-types.js.map +0 -1
  265. package/esm/component-registry.js.map +0 -1
  266. package/esm/context-definitions/DataContext.js.map +0 -1
  267. package/esm/context-definitions/DataProvider.js.map +0 -1
  268. package/esm/context-definitions/DataSourceProvider.js.map +0 -1
  269. package/esm/context-definitions/WorkspaceContext.js.map +0 -1
  270. package/esm/cookie-utils.js.map +0 -1
  271. package/esm/css-utils.js.map +0 -1
  272. package/esm/data-utils.js.map +0 -1
  273. package/esm/datasource/BaseDataSource.js.map +0 -1
  274. package/esm/datasource/datasource-action-utils.js.map +0 -1
  275. package/esm/datasource/datasource-filter-utils.js.map +0 -1
  276. package/esm/datasource/datasource-utils.js.map +0 -1
  277. package/esm/date/date-utils.js.map +0 -1
  278. package/esm/date/dateTimePattern.js.map +0 -1
  279. package/esm/date/formatter.js.map +0 -1
  280. package/esm/date/types.js.map +0 -1
  281. package/esm/debug-utils.js.map +0 -1
  282. package/esm/event-emitter.js.map +0 -1
  283. package/esm/feature-utils.js.map +0 -1
  284. package/esm/filters/filter-utils.js.map +0 -1
  285. package/esm/filters/filterAsQuery.js.map +0 -1
  286. package/esm/form-utils.js.map +0 -1
  287. package/esm/formatting-utils.js.map +0 -1
  288. package/esm/getUniqueId.js.map +0 -1
  289. package/esm/group-utils.js.map +0 -1
  290. package/esm/html-utils.js.map +0 -1
  291. package/esm/input-utils.js.map +0 -1
  292. package/esm/invariant.js.map +0 -1
  293. package/esm/itemToString.js.map +0 -1
  294. package/esm/json-utils.js.map +0 -1
  295. package/esm/keyboard-utils.js.map +0 -1
  296. package/esm/keyset.js.map +0 -1
  297. package/esm/list-utils.js.map +0 -1
  298. package/esm/local-storage-utils.js.map +0 -1
  299. package/esm/logging-utils.js.map +0 -1
  300. package/esm/menu-utils.js.map +0 -1
  301. package/esm/module-utils.js.map +0 -1
  302. package/esm/moving-window.js.map +0 -1
  303. package/esm/nanoid/index.js.map +0 -1
  304. package/esm/perf-utils.js.map +0 -1
  305. package/esm/promise-utils.js.map +0 -1
  306. package/esm/protocol-message-utils.js.map +0 -1
  307. package/esm/range-utils.js.map +0 -1
  308. package/esm/react-utils.js.map +0 -1
  309. package/esm/round-decimal.js.map +0 -1
  310. package/esm/row-utils.js.map +0 -1
  311. package/esm/selection-utils.js.map +0 -1
  312. package/esm/shell-layout-types.js.map +0 -1
  313. package/esm/sort-utils.js.map +0 -1
  314. package/esm/table-schema-utils.js.map +0 -1
  315. package/esm/text-utils.js.map +0 -1
  316. package/esm/tree-utils.js.map +0 -1
  317. package/esm/ts-utils.js.map +0 -1
  318. package/esm/typeahead-utils.js.map +0 -1
  319. package/esm/url-utils.js.map +0 -1
  320. package/esm/useId.js.map +0 -1
  321. package/esm/useLayoutEffectSkipFirst.js.map +0 -1
  322. package/esm/useStateRef.js.map +0 -1
  323. /package/cjs/{DataWindow.js → packages/vuu-utils/src/DataWindow.js} +0 -0
  324. /package/cjs/{ShellContext.js → packages/vuu-utils/src/ShellContext.js} +0 -0
  325. /package/cjs/{ThemeProvider.js → packages/vuu-utils/src/ThemeProvider.js} +0 -0
  326. /package/cjs/{array-utils.js → packages/vuu-utils/src/array-utils.js} +0 -0
  327. /package/cjs/{box-utils.js → packages/vuu-utils/src/box-utils.js} +0 -0
  328. /package/cjs/{column-utils.js → packages/vuu-utils/src/column-utils.js} +0 -0
  329. /package/cjs/{common-types.js → packages/vuu-utils/src/common-types.js} +0 -0
  330. /package/cjs/{component-registry.js → packages/vuu-utils/src/component-registry.js} +0 -0
  331. /package/cjs/{context-definitions → packages/vuu-utils/src/context-definitions}/DataContext.js +0 -0
  332. /package/cjs/{context-definitions → packages/vuu-utils/src/context-definitions}/DataProvider.js +0 -0
  333. /package/cjs/{context-definitions → packages/vuu-utils/src/context-definitions}/DataSourceProvider.js +0 -0
  334. /package/cjs/{context-definitions → packages/vuu-utils/src/context-definitions}/WorkspaceContext.js +0 -0
  335. /package/cjs/{cookie-utils.js → packages/vuu-utils/src/cookie-utils.js} +0 -0
  336. /package/cjs/{css-utils.js → packages/vuu-utils/src/css-utils.js} +0 -0
  337. /package/cjs/{data-utils.js → packages/vuu-utils/src/data-utils.js} +0 -0
  338. /package/cjs/{datasource → packages/vuu-utils/src/datasource}/datasource-action-utils.js +0 -0
  339. /package/cjs/{datasource → packages/vuu-utils/src/datasource}/datasource-filter-utils.js +0 -0
  340. /package/cjs/{datasource → packages/vuu-utils/src/datasource}/datasource-utils.js +0 -0
  341. /package/cjs/{date → packages/vuu-utils/src/date}/date-utils.js +0 -0
  342. /package/cjs/{date → packages/vuu-utils/src/date}/dateTimePattern.js +0 -0
  343. /package/cjs/{date → packages/vuu-utils/src/date}/formatter.js +0 -0
  344. /package/cjs/{date → packages/vuu-utils/src/date}/types.js +0 -0
  345. /package/cjs/{debug-utils.js → packages/vuu-utils/src/debug-utils.js} +0 -0
  346. /package/cjs/{event-emitter.js → packages/vuu-utils/src/event-emitter.js} +0 -0
  347. /package/cjs/{feature-utils.js → packages/vuu-utils/src/feature-utils.js} +0 -0
  348. /package/cjs/{filters → packages/vuu-utils/src/filters}/filter-utils.js +0 -0
  349. /package/cjs/{filters → packages/vuu-utils/src/filters}/filterAsQuery.js +0 -0
  350. /package/cjs/{form-utils.js → packages/vuu-utils/src/form-utils.js} +0 -0
  351. /package/cjs/{formatting-utils.js → packages/vuu-utils/src/formatting-utils.js} +0 -0
  352. /package/cjs/{getUniqueId.js → packages/vuu-utils/src/getUniqueId.js} +0 -0
  353. /package/cjs/{group-utils.js → packages/vuu-utils/src/group-utils.js} +0 -0
  354. /package/cjs/{html-utils.js → packages/vuu-utils/src/html-utils.js} +0 -0
  355. /package/cjs/{input-utils.js → packages/vuu-utils/src/input-utils.js} +0 -0
  356. /package/cjs/{invariant.js → packages/vuu-utils/src/invariant.js} +0 -0
  357. /package/cjs/{itemToString.js → packages/vuu-utils/src/itemToString.js} +0 -0
  358. /package/cjs/{json-utils.js → packages/vuu-utils/src/json-utils.js} +0 -0
  359. /package/cjs/{keyboard-utils.js → packages/vuu-utils/src/keyboard-utils.js} +0 -0
  360. /package/cjs/{keyset.js → packages/vuu-utils/src/keyset.js} +0 -0
  361. /package/cjs/{list-utils.js → packages/vuu-utils/src/list-utils.js} +0 -0
  362. /package/cjs/{local-storage-utils.js → packages/vuu-utils/src/local-storage-utils.js} +0 -0
  363. /package/cjs/{logging-utils.js → packages/vuu-utils/src/logging-utils.js} +0 -0
  364. /package/cjs/{menu-utils.js → packages/vuu-utils/src/menu-utils.js} +0 -0
  365. /package/cjs/{module-utils.js → packages/vuu-utils/src/module-utils.js} +0 -0
  366. /package/cjs/{nanoid → packages/vuu-utils/src/nanoid}/index.js +0 -0
  367. /package/cjs/{perf-utils.js → packages/vuu-utils/src/perf-utils.js} +0 -0
  368. /package/cjs/{promise-utils.js → packages/vuu-utils/src/promise-utils.js} +0 -0
  369. /package/cjs/{protocol-message-utils.js → packages/vuu-utils/src/protocol-message-utils.js} +0 -0
  370. /package/cjs/{react-utils.js → packages/vuu-utils/src/react-utils.js} +0 -0
  371. /package/cjs/{round-decimal.js → packages/vuu-utils/src/round-decimal.js} +0 -0
  372. /package/cjs/{row-utils.js → packages/vuu-utils/src/row-utils.js} +0 -0
  373. /package/cjs/{selection-utils.js → packages/vuu-utils/src/selection-utils.js} +0 -0
  374. /package/cjs/{shell-layout-types.js → packages/vuu-utils/src/shell-layout-types.js} +0 -0
  375. /package/cjs/{sort-utils.js → packages/vuu-utils/src/sort-utils.js} +0 -0
  376. /package/cjs/{table-schema-utils.js → packages/vuu-utils/src/table-schema-utils.js} +0 -0
  377. /package/cjs/{text-utils.js → packages/vuu-utils/src/text-utils.js} +0 -0
  378. /package/cjs/{tree-utils.js → packages/vuu-utils/src/tree-utils.js} +0 -0
  379. /package/cjs/{ts-utils.js → packages/vuu-utils/src/ts-utils.js} +0 -0
  380. /package/cjs/{typeahead-utils.js → packages/vuu-utils/src/typeahead-utils.js} +0 -0
  381. /package/cjs/{url-utils.js → packages/vuu-utils/src/url-utils.js} +0 -0
  382. /package/cjs/{useId.js → packages/vuu-utils/src/useId.js} +0 -0
  383. /package/cjs/{useLayoutEffectSkipFirst.js → packages/vuu-utils/src/useLayoutEffectSkipFirst.js} +0 -0
  384. /package/cjs/{useStateRef.js → packages/vuu-utils/src/useStateRef.js} +0 -0
  385. /package/esm/{DataWindow.js → packages/vuu-utils/src/DataWindow.js} +0 -0
  386. /package/esm/{ShellContext.js → packages/vuu-utils/src/ShellContext.js} +0 -0
  387. /package/esm/{ThemeProvider.js → packages/vuu-utils/src/ThemeProvider.js} +0 -0
  388. /package/esm/{array-utils.js → packages/vuu-utils/src/array-utils.js} +0 -0
  389. /package/esm/{box-utils.js → packages/vuu-utils/src/box-utils.js} +0 -0
  390. /package/esm/{column-utils.js → packages/vuu-utils/src/column-utils.js} +0 -0
  391. /package/esm/{common-types.js → packages/vuu-utils/src/common-types.js} +0 -0
  392. /package/esm/{component-registry.js → packages/vuu-utils/src/component-registry.js} +0 -0
  393. /package/esm/{context-definitions → packages/vuu-utils/src/context-definitions}/DataContext.js +0 -0
  394. /package/esm/{context-definitions → packages/vuu-utils/src/context-definitions}/DataProvider.js +0 -0
  395. /package/esm/{context-definitions → packages/vuu-utils/src/context-definitions}/DataSourceProvider.js +0 -0
  396. /package/esm/{context-definitions → packages/vuu-utils/src/context-definitions}/WorkspaceContext.js +0 -0
  397. /package/esm/{cookie-utils.js → packages/vuu-utils/src/cookie-utils.js} +0 -0
  398. /package/esm/{css-utils.js → packages/vuu-utils/src/css-utils.js} +0 -0
  399. /package/esm/{data-utils.js → packages/vuu-utils/src/data-utils.js} +0 -0
  400. /package/esm/{datasource → packages/vuu-utils/src/datasource}/datasource-action-utils.js +0 -0
  401. /package/esm/{datasource → packages/vuu-utils/src/datasource}/datasource-filter-utils.js +0 -0
  402. /package/esm/{datasource → packages/vuu-utils/src/datasource}/datasource-utils.js +0 -0
  403. /package/esm/{date → packages/vuu-utils/src/date}/date-utils.js +0 -0
  404. /package/esm/{date → packages/vuu-utils/src/date}/dateTimePattern.js +0 -0
  405. /package/esm/{date → packages/vuu-utils/src/date}/formatter.js +0 -0
  406. /package/esm/{date → packages/vuu-utils/src/date}/types.js +0 -0
  407. /package/esm/{debug-utils.js → packages/vuu-utils/src/debug-utils.js} +0 -0
  408. /package/esm/{event-emitter.js → packages/vuu-utils/src/event-emitter.js} +0 -0
  409. /package/esm/{feature-utils.js → packages/vuu-utils/src/feature-utils.js} +0 -0
  410. /package/esm/{filters → packages/vuu-utils/src/filters}/filter-utils.js +0 -0
  411. /package/esm/{filters → packages/vuu-utils/src/filters}/filterAsQuery.js +0 -0
  412. /package/esm/{form-utils.js → packages/vuu-utils/src/form-utils.js} +0 -0
  413. /package/esm/{formatting-utils.js → packages/vuu-utils/src/formatting-utils.js} +0 -0
  414. /package/esm/{getUniqueId.js → packages/vuu-utils/src/getUniqueId.js} +0 -0
  415. /package/esm/{group-utils.js → packages/vuu-utils/src/group-utils.js} +0 -0
  416. /package/esm/{html-utils.js → packages/vuu-utils/src/html-utils.js} +0 -0
  417. /package/esm/{input-utils.js → packages/vuu-utils/src/input-utils.js} +0 -0
  418. /package/esm/{invariant.js → packages/vuu-utils/src/invariant.js} +0 -0
  419. /package/esm/{itemToString.js → packages/vuu-utils/src/itemToString.js} +0 -0
  420. /package/esm/{json-utils.js → packages/vuu-utils/src/json-utils.js} +0 -0
  421. /package/esm/{keyboard-utils.js → packages/vuu-utils/src/keyboard-utils.js} +0 -0
  422. /package/esm/{keyset.js → packages/vuu-utils/src/keyset.js} +0 -0
  423. /package/esm/{list-utils.js → packages/vuu-utils/src/list-utils.js} +0 -0
  424. /package/esm/{local-storage-utils.js → packages/vuu-utils/src/local-storage-utils.js} +0 -0
  425. /package/esm/{logging-utils.js → packages/vuu-utils/src/logging-utils.js} +0 -0
  426. /package/esm/{menu-utils.js → packages/vuu-utils/src/menu-utils.js} +0 -0
  427. /package/esm/{module-utils.js → packages/vuu-utils/src/module-utils.js} +0 -0
  428. /package/esm/{nanoid → packages/vuu-utils/src/nanoid}/index.js +0 -0
  429. /package/esm/{perf-utils.js → packages/vuu-utils/src/perf-utils.js} +0 -0
  430. /package/esm/{promise-utils.js → packages/vuu-utils/src/promise-utils.js} +0 -0
  431. /package/esm/{protocol-message-utils.js → packages/vuu-utils/src/protocol-message-utils.js} +0 -0
  432. /package/esm/{react-utils.js → packages/vuu-utils/src/react-utils.js} +0 -0
  433. /package/esm/{round-decimal.js → packages/vuu-utils/src/round-decimal.js} +0 -0
  434. /package/esm/{row-utils.js → packages/vuu-utils/src/row-utils.js} +0 -0
  435. /package/esm/{selection-utils.js → packages/vuu-utils/src/selection-utils.js} +0 -0
  436. /package/esm/{shell-layout-types.js → packages/vuu-utils/src/shell-layout-types.js} +0 -0
  437. /package/esm/{sort-utils.js → packages/vuu-utils/src/sort-utils.js} +0 -0
  438. /package/esm/{table-schema-utils.js → packages/vuu-utils/src/table-schema-utils.js} +0 -0
  439. /package/esm/{text-utils.js → packages/vuu-utils/src/text-utils.js} +0 -0
  440. /package/esm/{tree-utils.js → packages/vuu-utils/src/tree-utils.js} +0 -0
  441. /package/esm/{ts-utils.js → packages/vuu-utils/src/ts-utils.js} +0 -0
  442. /package/esm/{typeahead-utils.js → packages/vuu-utils/src/typeahead-utils.js} +0 -0
  443. /package/esm/{url-utils.js → packages/vuu-utils/src/url-utils.js} +0 -0
  444. /package/esm/{useId.js → packages/vuu-utils/src/useId.js} +0 -0
  445. /package/esm/{useLayoutEffectSkipFirst.js → packages/vuu-utils/src/useLayoutEffectSkipFirst.js} +0 -0
  446. /package/esm/{useStateRef.js → packages/vuu-utils/src/useStateRef.js} +0 -0
@@ -0,0 +1,1642 @@
1
+ import { configurator, Sensor, Plugin, CorePlugin, Draggable as Draggable$1, Droppable as Droppable$1, descriptor } from '../abstract/index.js';
2
+ import { ScrollDirection, getFrameTransform, DOMRectangle, getComputedStyles, parseTranslate, supportsPopover, showPopover, getWindow, supportsStyle, getDocument, Listeners, isElement, scrollIntoViewIfNeeded, isTextInput, isHTMLElement, scheduler, cloneElement, ProxiedElements, getFrameElement, Styles, isKeyboardEvent, canScroll, detectScrollIntent, generateUniqueId, getScrollableAncestors, PositionObserver as FrameObserver, getElementFromPoint, getFinalKeyframe, animateTransform, isPointerEvent } from './utilities.js';
3
+ import { reactive, computed, deepEqual } from '../state/dist/index.js';
4
+ import { exceedsDistance, Axes, Point, Rectangle } from '../geometry/dist/index.js';
5
+ import { defaultCollisionDetection } from '../collision/dist/index.js';
6
+ import { untracked as h, effect as E, signal as d, batch as o } from '../../@preact/signals-core/dist/signals-core.js';
7
+
8
+ var __create = Object.create;
9
+ var __defProp = Object.defineProperty;
10
+ var __defProps = Object.defineProperties;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
13
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
14
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
15
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
16
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
17
+ var __typeError = (msg) => {
18
+ throw TypeError(msg);
19
+ };
20
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
21
+ var __spreadValues = (a, b) => {
22
+ for (var prop in b || (b = {}))
23
+ if (__hasOwnProp.call(b, prop))
24
+ __defNormalProp(a, prop, b[prop]);
25
+ if (__getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(b)) {
27
+ if (__propIsEnum.call(b, prop))
28
+ __defNormalProp(a, prop, b[prop]);
29
+ }
30
+ return a;
31
+ };
32
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
33
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
34
+ var __objRest = (source, exclude) => {
35
+ var target = {};
36
+ for (var prop in source)
37
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
38
+ target[prop] = source[prop];
39
+ if (source != null && __getOwnPropSymbols)
40
+ for (var prop of __getOwnPropSymbols(source)) {
41
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
42
+ target[prop] = source[prop];
43
+ }
44
+ return target;
45
+ };
46
+ var __decoratorStart = (base) => {
47
+ var _a4;
48
+ return [, , , __create((_a4 = base == null ? void 0 : base[__knownSymbol("metadata")]) != null ? _a4 : null)];
49
+ };
50
+ var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
51
+ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
52
+ var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
53
+ var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
54
+ var __runInitializers = (array, flags, self, value) => {
55
+ for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
56
+ return value;
57
+ };
58
+ var __decorateElement = (array, flags, name, decorators, target, extra) => {
59
+ var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
60
+ var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
61
+ var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
62
+ var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
63
+ return __privateGet(this, extra);
64
+ }, set [name](x) {
65
+ return __privateSet(this, extra, x);
66
+ } }, name));
67
+ k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
68
+ for (var i = decorators.length - 1; i >= 0; i--) {
69
+ ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
70
+ if (k) {
71
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
72
+ if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
73
+ if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
74
+ }
75
+ it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
76
+ if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
77
+ else if (typeof it !== "object" || it === null) __typeError("Object expected");
78
+ else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
79
+ }
80
+ return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
81
+ };
82
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
83
+ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
84
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
85
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
86
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
87
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
88
+
89
+ // src/core/plugins/feedback/constants.ts
90
+ var ATTR_PREFIX = "data-dnd-";
91
+ var DROPPING_ATTRIBUTE = `${ATTR_PREFIX}dropping`;
92
+ var CSS_PREFIX = "--dnd-";
93
+ var ATTRIBUTE = `${ATTR_PREFIX}dragging`;
94
+ var PLACEHOLDER_ATTRIBUTE = `${ATTR_PREFIX}placeholder`;
95
+ var IGNORED_ATTRIBUTES = [
96
+ ATTRIBUTE,
97
+ PLACEHOLDER_ATTRIBUTE,
98
+ "popover",
99
+ "aria-pressed",
100
+ "aria-grabbing"
101
+ ];
102
+ var IGNORED_STYLES = ["view-transition-name"];
103
+ var CSS_RULES = `
104
+ :root [${ATTRIBUTE}] {
105
+ position: fixed !important;
106
+ pointer-events: none !important;
107
+ touch-action: none;
108
+ z-index: calc(infinity);
109
+ will-change: translate;
110
+ top: var(${CSS_PREFIX}top, 0px) !important;
111
+ left: var(${CSS_PREFIX}left, 0px) !important;
112
+ right: unset !important;
113
+ bottom: unset !important;
114
+ width: var(${CSS_PREFIX}width, auto);
115
+ max-width: var(${CSS_PREFIX}width, auto);
116
+ height: var(${CSS_PREFIX}height, auto);
117
+ max-height: var(${CSS_PREFIX}height, auto);
118
+ transition: var(${CSS_PREFIX}transition) !important;
119
+ }
120
+
121
+ :root [${PLACEHOLDER_ATTRIBUTE}] {
122
+ transition: none;
123
+ }
124
+
125
+ :root [${PLACEHOLDER_ATTRIBUTE}='hidden'] {
126
+ visibility: hidden;
127
+ }
128
+
129
+ [${ATTRIBUTE}] * {
130
+ pointer-events: none !important;
131
+ }
132
+
133
+ [${ATTRIBUTE}]:not([${DROPPING_ATTRIBUTE}]) {
134
+ translate: var(${CSS_PREFIX}translate) !important;
135
+ }
136
+
137
+ [${ATTRIBUTE}][style*='${CSS_PREFIX}scale'] {
138
+ scale: var(${CSS_PREFIX}scale) !important;
139
+ transform-origin: var(${CSS_PREFIX}transform-origin) !important;
140
+ }
141
+
142
+ @layer {
143
+ :where([${ATTRIBUTE}][popover]) {
144
+ overflow: visible;
145
+ background: unset;
146
+ border: unset;
147
+ margin: unset;
148
+ padding: unset;
149
+ color: inherit;
150
+
151
+ &:is(input, button) {
152
+ border: revert;
153
+ background: revert;
154
+ }
155
+ }
156
+ }
157
+ [${ATTRIBUTE}]::backdrop, [${ATTR_PREFIX}overlay]:not([${ATTRIBUTE}]) {
158
+ display: none;
159
+ visibility: hidden;
160
+ }
161
+ `.replace(/\n+/g, " ").replace(/\s+/g, " ").trim();
162
+ function createPlaceholder(source, type = "hidden") {
163
+ return h(() => {
164
+ const { element, manager } = source;
165
+ if (!element || !manager) return;
166
+ const containedDroppables = findContainedDroppables(
167
+ element,
168
+ manager.registry.droppables
169
+ );
170
+ const cleanup = [];
171
+ const placeholder = cloneElement(element);
172
+ const { remove } = placeholder;
173
+ proxyDroppableElements(containedDroppables, placeholder, cleanup);
174
+ configurePlaceholder(placeholder, type);
175
+ placeholder.remove = () => {
176
+ cleanup.forEach((fn) => fn());
177
+ remove.call(placeholder);
178
+ };
179
+ return placeholder;
180
+ });
181
+ }
182
+ function findContainedDroppables(element, droppables) {
183
+ const containedDroppables = /* @__PURE__ */ new Map();
184
+ for (const droppable of droppables) {
185
+ if (!droppable.element) continue;
186
+ if (element === droppable.element || element.contains(droppable.element)) {
187
+ const identifierAttribute = `${ATTR_PREFIX}${generateUniqueId("dom-id")}`;
188
+ droppable.element.setAttribute(identifierAttribute, "");
189
+ containedDroppables.set(droppable, identifierAttribute);
190
+ }
191
+ }
192
+ return containedDroppables;
193
+ }
194
+ function proxyDroppableElements(containedDroppables, placeholder, cleanup) {
195
+ for (const [droppable, identifierAttribute] of containedDroppables) {
196
+ if (!droppable.element) continue;
197
+ const selector = `[${identifierAttribute}]`;
198
+ const clonedElement = placeholder.matches(selector) ? placeholder : placeholder.querySelector(selector);
199
+ droppable.element.removeAttribute(identifierAttribute);
200
+ if (!clonedElement) continue;
201
+ const originalElement = droppable.element;
202
+ droppable.proxy = clonedElement;
203
+ clonedElement.removeAttribute(identifierAttribute);
204
+ ProxiedElements.set(originalElement, clonedElement);
205
+ cleanup.push(() => {
206
+ ProxiedElements.delete(originalElement);
207
+ droppable.proxy = void 0;
208
+ });
209
+ }
210
+ }
211
+ function configurePlaceholder(placeholder, type = "hidden") {
212
+ placeholder.setAttribute("inert", "true");
213
+ placeholder.setAttribute("tab-index", "-1");
214
+ placeholder.setAttribute("aria-hidden", "true");
215
+ placeholder.setAttribute(PLACEHOLDER_ATTRIBUTE, type);
216
+ }
217
+ function isSameFrame(element, target) {
218
+ if (element === target) return true;
219
+ return getFrameElement(element) === getFrameElement(target);
220
+ }
221
+ function preventPopoverClose(event) {
222
+ const { target } = event;
223
+ if ("newState" in event && event.newState === "closed" && isElement(target) && target.hasAttribute("popover")) {
224
+ requestAnimationFrame(() => showPopover(target));
225
+ }
226
+ }
227
+ function isTableRow(element) {
228
+ return element.tagName === "TR";
229
+ }
230
+
231
+ // src/core/plugins/feedback/Feedback.ts
232
+ var styleSheetRegistry = /* @__PURE__ */ new Map();
233
+ var _overlay_dec, _a, _init, _overlay, _Feedback_instances, render_fn, injectStyles_fn;
234
+ var _Feedback = class _Feedback extends (_a = Plugin, _overlay_dec = [reactive], _a) {
235
+ constructor(manager, options) {
236
+ super(manager, options);
237
+ __privateAdd(this, _Feedback_instances);
238
+ __privateAdd(this, _overlay, __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
239
+ this.state = {
240
+ initial: {},
241
+ current: {}
242
+ };
243
+ this.registerEffect(__privateMethod(this, _Feedback_instances, injectStyles_fn));
244
+ this.registerEffect(__privateMethod(this, _Feedback_instances, render_fn));
245
+ }
246
+ destroy() {
247
+ super.destroy();
248
+ for (const [doc, registration] of styleSheetRegistry.entries()) {
249
+ if (registration.instances.has(this)) {
250
+ registration.instances.delete(this);
251
+ if (registration.instances.size === 0) {
252
+ registration.cleanup();
253
+ styleSheetRegistry.delete(doc);
254
+ }
255
+ }
256
+ }
257
+ }
258
+ };
259
+ _init = __decoratorStart(_a);
260
+ _overlay = new WeakMap();
261
+ _Feedback_instances = new WeakSet();
262
+ render_fn = function() {
263
+ var _a4, _b2, _c3;
264
+ const { state, manager, options } = this;
265
+ const { dragOperation } = manager;
266
+ const { position, source, status } = dragOperation;
267
+ if (status.idle) {
268
+ state.current = {};
269
+ state.initial = {};
270
+ return;
271
+ }
272
+ if (!source) return;
273
+ const { element, feedback } = source;
274
+ if (!element || feedback === "none" || !status.initialized || status.initializing) {
275
+ return;
276
+ }
277
+ const { initial } = state;
278
+ const feedbackElement = (_a4 = this.overlay) != null ? _a4 : element;
279
+ const frameTransform = getFrameTransform(feedbackElement);
280
+ const elementFrameTransform = getFrameTransform(element);
281
+ const crossFrame = !isSameFrame(element, feedbackElement);
282
+ const shape = new DOMRectangle(element, {
283
+ frameTransform: crossFrame ? elementFrameTransform : null,
284
+ ignoreTransforms: !crossFrame
285
+ });
286
+ const scaleDelta = {
287
+ x: elementFrameTransform.scaleX / frameTransform.scaleX,
288
+ y: elementFrameTransform.scaleY / frameTransform.scaleY
289
+ };
290
+ let cleanup;
291
+ let { width, height, top, left } = shape;
292
+ if (crossFrame) {
293
+ width = width / scaleDelta.x;
294
+ height = height / scaleDelta.y;
295
+ }
296
+ let elementMutationObserver;
297
+ let documentMutationObserver;
298
+ const styles = new Styles(feedbackElement);
299
+ const {
300
+ transition,
301
+ translate,
302
+ boxSizing,
303
+ paddingBlockStart,
304
+ paddingBlockEnd,
305
+ paddingInlineStart,
306
+ paddingInlineEnd,
307
+ borderInlineStartWidth,
308
+ borderInlineEndWidth,
309
+ borderBlockStartWidth,
310
+ borderBlockEndWidth
311
+ } = getComputedStyles(element);
312
+ const clone = feedback === "clone";
313
+ const contentBox = boxSizing === "content-box";
314
+ const widthOffset = contentBox ? parseInt(paddingInlineStart) + parseInt(paddingInlineEnd) + parseInt(borderInlineStartWidth) + parseInt(borderInlineEndWidth) : 0;
315
+ const heightOffset = contentBox ? parseInt(paddingBlockStart) + parseInt(paddingBlockEnd) + parseInt(borderBlockStartWidth) + parseInt(borderBlockEndWidth) : 0;
316
+ const placeholder = feedback !== "move" && !this.overlay ? createPlaceholder(source, clone ? "clone" : "hidden") : null;
317
+ const isKeyboardOperation = h(
318
+ () => isKeyboardEvent(manager.dragOperation.activatorEvent)
319
+ );
320
+ if (translate !== "none") {
321
+ const parsedTranslate = parseTranslate(translate);
322
+ if (parsedTranslate && !initial.translate) {
323
+ initial.translate = parsedTranslate;
324
+ }
325
+ }
326
+ if (!initial.transformOrigin) {
327
+ const current = h(() => position.current);
328
+ initial.transformOrigin = {
329
+ x: (current.x - left * frameTransform.scaleX - frameTransform.x) / (width * frameTransform.scaleX),
330
+ y: (current.y - top * frameTransform.scaleY - frameTransform.y) / (height * frameTransform.scaleY)
331
+ };
332
+ }
333
+ const { transformOrigin } = initial;
334
+ const relativeTop = top * frameTransform.scaleY + frameTransform.y;
335
+ const relativeLeft = left * frameTransform.scaleX + frameTransform.x;
336
+ if (!initial.coordinates) {
337
+ initial.coordinates = {
338
+ x: relativeLeft,
339
+ y: relativeTop
340
+ };
341
+ if (scaleDelta.x !== 1 || scaleDelta.y !== 1) {
342
+ const { scaleX, scaleY } = elementFrameTransform;
343
+ const { x: tX2, y: tY2 } = transformOrigin;
344
+ initial.coordinates.x += (width * scaleX - width) * tX2;
345
+ initial.coordinates.y += (height * scaleY - height) * tY2;
346
+ }
347
+ }
348
+ if (!initial.dimensions) {
349
+ initial.dimensions = { width, height };
350
+ }
351
+ if (!initial.frameTransform) {
352
+ initial.frameTransform = frameTransform;
353
+ }
354
+ const coordinatesDelta = {
355
+ x: initial.coordinates.x - relativeLeft,
356
+ y: initial.coordinates.y - relativeTop
357
+ };
358
+ const sizeDelta = {
359
+ width: (initial.dimensions.width * initial.frameTransform.scaleX - width * frameTransform.scaleX) * transformOrigin.x,
360
+ height: (initial.dimensions.height * initial.frameTransform.scaleY - height * frameTransform.scaleY) * transformOrigin.y
361
+ };
362
+ const delta = {
363
+ x: coordinatesDelta.x / frameTransform.scaleX + sizeDelta.width,
364
+ y: coordinatesDelta.y / frameTransform.scaleY + sizeDelta.height
365
+ };
366
+ const projected = {
367
+ left: left + delta.x,
368
+ top: top + delta.y
369
+ };
370
+ feedbackElement.setAttribute(ATTRIBUTE, "true");
371
+ const transform = h(() => dragOperation.transform);
372
+ const initialTranslate = (_b2 = initial.translate) != null ? _b2 : { x: 0, y: 0 };
373
+ const tX = transform.x * frameTransform.scaleX + initialTranslate.x;
374
+ const tY = transform.y * frameTransform.scaleY + initialTranslate.y;
375
+ const translateString = `${tX}px ${tY}px 0`;
376
+ const transitionString = transition ? `${transition}, translate 0ms linear` : "";
377
+ styles.set(
378
+ {
379
+ width: width - widthOffset,
380
+ height: height - heightOffset,
381
+ top: projected.top,
382
+ left: projected.left,
383
+ translate: translateString,
384
+ transition: transitionString,
385
+ scale: crossFrame ? `${scaleDelta.x} ${scaleDelta.y}` : "",
386
+ "transform-origin": `${transformOrigin.x * 100}% ${transformOrigin.y * 100}%`
387
+ },
388
+ CSS_PREFIX
389
+ );
390
+ if (placeholder) {
391
+ element.insertAdjacentElement("afterend", placeholder);
392
+ if (options == null ? void 0 : options.rootElement) {
393
+ const root = typeof options.rootElement === "function" ? options.rootElement(source) : options.rootElement;
394
+ root.appendChild(element);
395
+ }
396
+ }
397
+ if (supportsPopover(feedbackElement)) {
398
+ if (!feedbackElement.hasAttribute("popover")) {
399
+ feedbackElement.setAttribute("popover", "manual");
400
+ }
401
+ showPopover(feedbackElement);
402
+ feedbackElement.addEventListener("beforetoggle", preventPopoverClose);
403
+ }
404
+ const resizeObserver = new ResizeObserver(() => {
405
+ if (!placeholder) return;
406
+ const placeholderShape = new DOMRectangle(placeholder, {
407
+ frameTransform,
408
+ ignoreTransforms: true
409
+ });
410
+ const origin = transformOrigin != null ? transformOrigin : { x: 1, y: 1 };
411
+ const dX = (width - placeholderShape.width) * origin.x + delta.x;
412
+ const dY = (height - placeholderShape.height) * origin.y + delta.y;
413
+ styles.set(
414
+ {
415
+ width: placeholderShape.width - widthOffset,
416
+ height: placeholderShape.height - heightOffset,
417
+ top: top + dY,
418
+ left: left + dX
419
+ },
420
+ CSS_PREFIX
421
+ );
422
+ elementMutationObserver == null ? void 0 : elementMutationObserver.takeRecords();
423
+ if (isTableRow(element) && isTableRow(placeholder)) {
424
+ const cells = Array.from(element.cells);
425
+ const placeholderCells = Array.from(placeholder.cells);
426
+ for (const [index, cell] of cells.entries()) {
427
+ const placeholderCell = placeholderCells[index];
428
+ cell.style.width = `${placeholderCell.offsetWidth}px`;
429
+ }
430
+ }
431
+ dragOperation.shape = new DOMRectangle(feedbackElement);
432
+ });
433
+ const initialShape = new DOMRectangle(feedbackElement);
434
+ h(() => dragOperation.shape = initialShape);
435
+ const feedbackWindow = getWindow(feedbackElement);
436
+ const handleWindowResize = (event) => {
437
+ this.manager.actions.stop({ event });
438
+ };
439
+ if (isKeyboardOperation) {
440
+ feedbackWindow.addEventListener("resize", handleWindowResize);
441
+ }
442
+ if (h(() => source.status) === "idle") {
443
+ requestAnimationFrame(() => source.status = "dragging");
444
+ }
445
+ if (placeholder) {
446
+ resizeObserver.observe(placeholder);
447
+ elementMutationObserver = new MutationObserver((mutations) => {
448
+ let hasChildrenMutations = false;
449
+ for (const mutation of mutations) {
450
+ if (mutation.target !== element) {
451
+ hasChildrenMutations = true;
452
+ continue;
453
+ }
454
+ if (mutation.type !== "attributes") {
455
+ continue;
456
+ }
457
+ const attributeName = mutation.attributeName;
458
+ if (attributeName.startsWith("aria-") || IGNORED_ATTRIBUTES.includes(attributeName)) {
459
+ continue;
460
+ }
461
+ const attributeValue = element.getAttribute(attributeName);
462
+ if (attributeName === "style") {
463
+ if (supportsStyle(element) && supportsStyle(placeholder)) {
464
+ const styles2 = element.style;
465
+ for (const key of Array.from(placeholder.style)) {
466
+ if (styles2.getPropertyValue(key) === "") {
467
+ placeholder.style.removeProperty(key);
468
+ }
469
+ }
470
+ for (const key of Array.from(styles2)) {
471
+ if (IGNORED_STYLES.includes(key) || key.startsWith(CSS_PREFIX)) {
472
+ continue;
473
+ }
474
+ const value = styles2.getPropertyValue(key);
475
+ placeholder.style.setProperty(key, value);
476
+ }
477
+ }
478
+ } else if (attributeValue !== null) {
479
+ placeholder.setAttribute(attributeName, attributeValue);
480
+ } else {
481
+ placeholder.removeAttribute(attributeName);
482
+ }
483
+ }
484
+ if (hasChildrenMutations && clone) {
485
+ placeholder.innerHTML = element.innerHTML;
486
+ }
487
+ });
488
+ elementMutationObserver.observe(element, {
489
+ attributes: true,
490
+ subtree: true,
491
+ childList: true
492
+ });
493
+ documentMutationObserver = new MutationObserver((entries) => {
494
+ for (const entry of entries) {
495
+ if (entry.addedNodes.length === 0) continue;
496
+ for (const node of Array.from(entry.addedNodes)) {
497
+ if (node.contains(element) && element.nextElementSibling !== placeholder) {
498
+ element.insertAdjacentElement("afterend", placeholder);
499
+ showPopover(feedbackElement);
500
+ return;
501
+ }
502
+ if (node.contains(placeholder) && placeholder.previousElementSibling !== element) {
503
+ placeholder.insertAdjacentElement("beforebegin", element);
504
+ showPopover(feedbackElement);
505
+ return;
506
+ }
507
+ }
508
+ }
509
+ });
510
+ documentMutationObserver.observe(element.ownerDocument.body, {
511
+ childList: true,
512
+ subtree: true
513
+ });
514
+ }
515
+ const cleanupEffect = E(() => {
516
+ var _a5;
517
+ const { transform: transform2, status: status2 } = dragOperation;
518
+ if (!transform2.x && !transform2.y && !state.current.translate) {
519
+ return;
520
+ }
521
+ if (status2.dragging) {
522
+ const initialTranslate2 = (_a5 = initial.translate) != null ? _a5 : { x: 0, y: 0 };
523
+ const translate2 = {
524
+ x: transform2.x / frameTransform.scaleX + initialTranslate2.x,
525
+ y: transform2.y / frameTransform.scaleY + initialTranslate2.y
526
+ };
527
+ const previousTranslate = state.current.translate;
528
+ const modifiers = h(() => dragOperation.modifiers);
529
+ const currentShape = h(() => {
530
+ var _a6;
531
+ return (_a6 = dragOperation.shape) == null ? void 0 : _a6.current;
532
+ });
533
+ const translateTransition = isKeyboardOperation ? "250ms cubic-bezier(0.25, 1, 0.5, 1)" : "0ms linear";
534
+ styles.set(
535
+ {
536
+ transition: `${transition}, translate ${translateTransition}`,
537
+ translate: `${translate2.x}px ${translate2.y}px 0`
538
+ },
539
+ CSS_PREFIX
540
+ );
541
+ elementMutationObserver == null ? void 0 : elementMutationObserver.takeRecords();
542
+ if (currentShape && currentShape !== initialShape && previousTranslate && !modifiers.length) {
543
+ const delta2 = Point.delta(translate2, previousTranslate);
544
+ dragOperation.shape = Rectangle.from(
545
+ currentShape.boundingRectangle
546
+ ).translate(
547
+ // Need to take into account frame transform when optimistically updating shape
548
+ delta2.x * frameTransform.scaleX,
549
+ delta2.y * frameTransform.scaleY
550
+ );
551
+ } else {
552
+ dragOperation.shape = new DOMRectangle(feedbackElement);
553
+ }
554
+ state.current.translate = translate2;
555
+ }
556
+ });
557
+ const id = (_c3 = manager.dragOperation.source) == null ? void 0 : _c3.id;
558
+ const restoreFocus = () => {
559
+ var _a5;
560
+ if (!isKeyboardOperation || id == null) {
561
+ return;
562
+ }
563
+ const draggable = manager.registry.draggables.get(id);
564
+ const element2 = (_a5 = draggable == null ? void 0 : draggable.handle) != null ? _a5 : draggable == null ? void 0 : draggable.element;
565
+ if (isHTMLElement(element2)) {
566
+ element2.focus();
567
+ }
568
+ };
569
+ let dropEffectCleanup;
570
+ cleanup = () => {
571
+ elementMutationObserver == null ? void 0 : elementMutationObserver.disconnect();
572
+ documentMutationObserver == null ? void 0 : documentMutationObserver.disconnect();
573
+ resizeObserver.disconnect();
574
+ feedbackWindow.removeEventListener("resize", handleWindowResize);
575
+ if (supportsPopover(feedbackElement)) {
576
+ feedbackElement.removeEventListener(
577
+ "beforetoggle",
578
+ preventPopoverClose
579
+ );
580
+ feedbackElement.removeAttribute("popover");
581
+ }
582
+ feedbackElement.removeAttribute(ATTRIBUTE);
583
+ styles.reset();
584
+ source.status = "idle";
585
+ const moved = state.current.translate != null;
586
+ if (placeholder && (moved || placeholder.parentElement !== feedbackElement.parentElement) && feedbackElement.isConnected) {
587
+ placeholder.replaceWith(feedbackElement);
588
+ }
589
+ placeholder == null ? void 0 : placeholder.remove();
590
+ cleanupEffect();
591
+ dropEffectCleanup == null ? void 0 : dropEffectCleanup();
592
+ };
593
+ dropEffectCleanup = E(() => {
594
+ if (dragOperation.status.dropped) {
595
+ queueMicrotask(() => dropEffectCleanup == null ? void 0 : dropEffectCleanup());
596
+ const onComplete = cleanup;
597
+ cleanup = void 0;
598
+ source.status = "dropping";
599
+ let translate2 = state.current.translate;
600
+ const moved = translate2 != null;
601
+ if (!translate2 && element !== feedbackElement) {
602
+ translate2 = {
603
+ x: 0,
604
+ y: 0
605
+ };
606
+ }
607
+ if (!translate2) {
608
+ onComplete == null ? void 0 : onComplete();
609
+ return;
610
+ }
611
+ const dropAnimation = () => {
612
+ var _a5, _b3;
613
+ {
614
+ showPopover(feedbackElement);
615
+ const [, animation] = (_a5 = getFinalKeyframe(
616
+ feedbackElement,
617
+ (keyframe) => "translate" in keyframe
618
+ )) != null ? _a5 : [];
619
+ animation == null ? void 0 : animation.pause();
620
+ const target = placeholder != null ? placeholder : element;
621
+ const options2 = {
622
+ frameTransform: isSameFrame(feedbackElement, target) ? null : void 0
623
+ };
624
+ const current = new DOMRectangle(feedbackElement, options2);
625
+ const currentTranslate = (_b3 = parseTranslate(getComputedStyles(feedbackElement).translate)) != null ? _b3 : translate2;
626
+ const final = new DOMRectangle(target, options2);
627
+ const delta2 = Rectangle.delta(current, final, source.alignment);
628
+ const finalTranslate = {
629
+ x: currentTranslate.x - delta2.x,
630
+ y: currentTranslate.y - delta2.y
631
+ };
632
+ const heightKeyframes = Math.round(current.intrinsicHeight) !== Math.round(final.intrinsicHeight) ? {
633
+ minHeight: [
634
+ `${current.intrinsicHeight}px`,
635
+ `${final.intrinsicHeight}px`
636
+ ],
637
+ maxHeight: [
638
+ `${current.intrinsicHeight}px`,
639
+ `${final.intrinsicHeight}px`
640
+ ]
641
+ } : {};
642
+ const widthKeyframes = Math.round(current.intrinsicWidth) !== Math.round(final.intrinsicWidth) ? {
643
+ minWidth: [
644
+ `${current.intrinsicWidth}px`,
645
+ `${final.intrinsicWidth}px`
646
+ ],
647
+ maxWidth: [
648
+ `${current.intrinsicWidth}px`,
649
+ `${final.intrinsicWidth}px`
650
+ ]
651
+ } : {};
652
+ styles.set({ transition }, CSS_PREFIX);
653
+ feedbackElement.setAttribute(DROPPING_ATTRIBUTE, "");
654
+ elementMutationObserver == null ? void 0 : elementMutationObserver.takeRecords();
655
+ animateTransform({
656
+ element: feedbackElement,
657
+ keyframes: __spreadProps(__spreadValues(__spreadValues({}, heightKeyframes), widthKeyframes), {
658
+ translate: [
659
+ `${currentTranslate.x}px ${currentTranslate.y}px 0`,
660
+ `${finalTranslate.x}px ${finalTranslate.y}px 0`
661
+ ]
662
+ }),
663
+ options: {
664
+ duration: moved || feedbackElement !== element ? 250 : 0,
665
+ easing: "ease"
666
+ }
667
+ }).then(() => {
668
+ feedbackElement.removeAttribute(DROPPING_ATTRIBUTE);
669
+ animation == null ? void 0 : animation.finish();
670
+ onComplete == null ? void 0 : onComplete();
671
+ requestAnimationFrame(restoreFocus);
672
+ });
673
+ }
674
+ };
675
+ manager.renderer.rendering.then(dropAnimation);
676
+ }
677
+ });
678
+ return () => cleanup == null ? void 0 : cleanup();
679
+ };
680
+ injectStyles_fn = function() {
681
+ var _a4, _b2;
682
+ const { status, source, target } = this.manager.dragOperation;
683
+ if (status.initializing) {
684
+ const sourceDocument = getDocument((_a4 = source == null ? void 0 : source.element) != null ? _a4 : null);
685
+ const targetDocument = getDocument((_b2 = target == null ? void 0 : target.element) != null ? _b2 : null);
686
+ const documents = /* @__PURE__ */ new Set([sourceDocument, targetDocument]);
687
+ for (const doc of documents) {
688
+ let registration = styleSheetRegistry.get(doc);
689
+ if (!registration) {
690
+ const style = document.createElement("style");
691
+ style.textContent = CSS_RULES;
692
+ doc.head.prepend(style);
693
+ const mutationObserver = new MutationObserver((entries) => {
694
+ for (const entry of entries) {
695
+ if (entry.type === "childList") {
696
+ const removedNodes = Array.from(entry.removedNodes);
697
+ if (removedNodes.length > 0 && removedNodes.includes(style)) {
698
+ doc.head.prepend(style);
699
+ }
700
+ }
701
+ }
702
+ });
703
+ mutationObserver.observe(doc.head, { childList: true });
704
+ registration = {
705
+ cleanup: () => {
706
+ mutationObserver.disconnect();
707
+ style.remove();
708
+ },
709
+ instances: /* @__PURE__ */ new Set()
710
+ };
711
+ styleSheetRegistry.set(doc, registration);
712
+ }
713
+ registration.instances.add(this);
714
+ }
715
+ }
716
+ };
717
+ __decorateElement(_init, 4, "overlay", _overlay_dec, _Feedback, _overlay);
718
+ __decoratorMetadata(_init, _Feedback);
719
+ _Feedback.configure = configurator(_Feedback);
720
+ var LOCKED = true;
721
+ var UNLOCKED = false;
722
+ var _dec, _a2, _dec2, _b, _init2, __b, __a;
723
+ _b = (_dec2 = [reactive], ScrollDirection.Forward), _a2 = (_dec = [reactive], ScrollDirection.Reverse);
724
+ var ScrollLock = class {
725
+ constructor() {
726
+ __privateAdd(this, __b, __runInitializers(_init2, 8, this, LOCKED)), __runInitializers(_init2, 11, this);
727
+ __privateAdd(this, __a, __runInitializers(_init2, 12, this, LOCKED)), __runInitializers(_init2, 15, this);
728
+ }
729
+ isLocked(direction) {
730
+ if (direction === ScrollDirection.Idle) {
731
+ return false;
732
+ }
733
+ if (direction == null) {
734
+ return this[ScrollDirection.Forward] === LOCKED && this[ScrollDirection.Reverse] === LOCKED;
735
+ }
736
+ return this[direction] === LOCKED;
737
+ }
738
+ unlock(direction) {
739
+ if (direction === ScrollDirection.Idle) {
740
+ return;
741
+ }
742
+ this[direction] = UNLOCKED;
743
+ }
744
+ };
745
+ _init2 = __decoratorStart(null);
746
+ __b = new WeakMap();
747
+ __a = new WeakMap();
748
+ __decorateElement(_init2, 4, _b, _dec2, ScrollLock, __b);
749
+ __decorateElement(_init2, 4, _a2, _dec, ScrollLock, __a);
750
+ __decoratorMetadata(_init2, ScrollLock);
751
+
752
+ // src/core/plugins/scrolling/ScrollIntent.ts
753
+ var DIRECTIONS = [ScrollDirection.Forward, ScrollDirection.Reverse];
754
+ var ScrollIntent = class {
755
+ constructor() {
756
+ this.x = new ScrollLock();
757
+ this.y = new ScrollLock();
758
+ }
759
+ isLocked() {
760
+ return this.x.isLocked() && this.y.isLocked();
761
+ }
762
+ };
763
+ var ScrollIntentTracker = class extends Plugin {
764
+ constructor(manager) {
765
+ super(manager);
766
+ const scrollIntent = d(new ScrollIntent());
767
+ let previousDelta = null;
768
+ this.signal = scrollIntent;
769
+ E(() => {
770
+ const { status } = manager.dragOperation;
771
+ if (!status.initialized) {
772
+ previousDelta = null;
773
+ scrollIntent.value = new ScrollIntent();
774
+ return;
775
+ }
776
+ const { delta } = manager.dragOperation.position;
777
+ if (previousDelta) {
778
+ const directions = {
779
+ x: getDirection(delta.x, previousDelta.x),
780
+ y: getDirection(delta.y, previousDelta.y)
781
+ };
782
+ const intent = scrollIntent.peek();
783
+ o(() => {
784
+ for (const axis of Axes) {
785
+ for (const direction of DIRECTIONS) {
786
+ if (directions[axis] === direction) {
787
+ intent[axis].unlock(direction);
788
+ }
789
+ }
790
+ }
791
+ scrollIntent.value = intent;
792
+ });
793
+ }
794
+ previousDelta = delta;
795
+ });
796
+ }
797
+ get current() {
798
+ return this.signal.peek();
799
+ }
800
+ };
801
+ function getDirection(a, b) {
802
+ return Math.sign(a - b);
803
+ }
804
+
805
+ // src/core/plugins/scrolling/Scroller.ts
806
+ var _autoScrolling_dec, _a3, _init3, _autoScrolling, _meta, _scroll;
807
+ var Scroller = class extends (_a3 = CorePlugin, _autoScrolling_dec = [reactive], _a3) {
808
+ constructor(manager) {
809
+ super(manager);
810
+ __privateAdd(this, _autoScrolling, __runInitializers(_init3, 8, this, false)), __runInitializers(_init3, 11, this);
811
+ __privateAdd(this, _meta);
812
+ __privateAdd(this, _scroll, () => {
813
+ if (!__privateGet(this, _meta)) {
814
+ return;
815
+ }
816
+ const { element, by } = __privateGet(this, _meta);
817
+ if (by.y) element.scrollTop += by.y;
818
+ if (by.x) element.scrollLeft += by.x;
819
+ });
820
+ this.scroll = (options) => {
821
+ var _a4;
822
+ if (this.disabled) {
823
+ return false;
824
+ }
825
+ const elements = this.getScrollableElements();
826
+ if (!elements) {
827
+ __privateSet(this, _meta, void 0);
828
+ return false;
829
+ }
830
+ const { position } = this.manager.dragOperation;
831
+ const currentPosition = position == null ? void 0 : position.current;
832
+ if (currentPosition) {
833
+ const { by } = options != null ? options : {};
834
+ const intent = by ? {
835
+ x: getScrollIntent(by.x),
836
+ y: getScrollIntent(by.y)
837
+ } : void 0;
838
+ const scrollIntent = intent ? void 0 : this.scrollIntentTracker.current;
839
+ if (scrollIntent == null ? void 0 : scrollIntent.isLocked()) {
840
+ return false;
841
+ }
842
+ for (const scrollableElement of elements) {
843
+ const elementCanScroll = canScroll(scrollableElement, by);
844
+ if (elementCanScroll.x || elementCanScroll.y) {
845
+ const { speed, direction } = detectScrollIntent(
846
+ scrollableElement,
847
+ currentPosition,
848
+ intent
849
+ );
850
+ if (scrollIntent) {
851
+ for (const axis of Axes) {
852
+ if (scrollIntent[axis].isLocked(direction[axis])) {
853
+ speed[axis] = 0;
854
+ direction[axis] = 0;
855
+ }
856
+ }
857
+ }
858
+ if (direction.x || direction.y) {
859
+ const { x, y } = by != null ? by : direction;
860
+ const scrollLeftBy = x * speed.x;
861
+ const scrollTopBy = y * speed.y;
862
+ if (scrollLeftBy || scrollTopBy) {
863
+ const previousScrollBy = (_a4 = __privateGet(this, _meta)) == null ? void 0 : _a4.by;
864
+ if (this.autoScrolling && previousScrollBy) {
865
+ const scrollIntentMismatch = previousScrollBy.x && !scrollLeftBy || previousScrollBy.y && !scrollTopBy;
866
+ if (scrollIntentMismatch) continue;
867
+ }
868
+ __privateSet(this, _meta, {
869
+ element: scrollableElement,
870
+ by: {
871
+ x: scrollLeftBy,
872
+ y: scrollTopBy
873
+ }
874
+ });
875
+ scheduler.schedule(__privateGet(this, _scroll));
876
+ return true;
877
+ }
878
+ }
879
+ }
880
+ }
881
+ }
882
+ __privateSet(this, _meta, void 0);
883
+ return false;
884
+ };
885
+ let previousElementFromPoint = null;
886
+ let previousScrollableElements = null;
887
+ const elementFromPoint = computed(() => {
888
+ const { position, source } = manager.dragOperation;
889
+ if (!position) {
890
+ return null;
891
+ }
892
+ const element = getElementFromPoint(
893
+ getDocument(source == null ? void 0 : source.element),
894
+ position.current
895
+ );
896
+ if (element) {
897
+ previousElementFromPoint = element;
898
+ }
899
+ return element != null ? element : previousElementFromPoint;
900
+ });
901
+ const scrollableElements = computed(() => {
902
+ const element = elementFromPoint.value;
903
+ const { documentElement } = getDocument(element);
904
+ if (!element || element === documentElement) {
905
+ const { target } = manager.dragOperation;
906
+ const targetElement = target == null ? void 0 : target.element;
907
+ if (targetElement) {
908
+ const elements = getScrollableAncestors(targetElement, {
909
+ excludeElement: false
910
+ });
911
+ previousScrollableElements = elements;
912
+ return elements;
913
+ }
914
+ }
915
+ if (element) {
916
+ const elements = getScrollableAncestors(element, {
917
+ excludeElement: false
918
+ });
919
+ if (this.autoScrolling && previousScrollableElements && elements.size < (previousScrollableElements == null ? void 0 : previousScrollableElements.size)) {
920
+ return previousScrollableElements;
921
+ }
922
+ previousScrollableElements = elements;
923
+ return elements;
924
+ }
925
+ previousScrollableElements = null;
926
+ return null;
927
+ }, deepEqual);
928
+ this.getScrollableElements = () => {
929
+ return scrollableElements.value;
930
+ };
931
+ this.scrollIntentTracker = new ScrollIntentTracker(manager);
932
+ this.destroy = manager.monitor.addEventListener("dragmove", (event) => {
933
+ if (this.disabled || event.defaultPrevented || !isKeyboardEvent(manager.dragOperation.activatorEvent) || !event.by) {
934
+ return;
935
+ }
936
+ if (this.scroll({ by: event.by })) {
937
+ event.preventDefault();
938
+ }
939
+ });
940
+ }
941
+ };
942
+ _init3 = __decoratorStart(_a3);
943
+ _autoScrolling = new WeakMap();
944
+ _meta = new WeakMap();
945
+ _scroll = new WeakMap();
946
+ __decorateElement(_init3, 4, "autoScrolling", _autoScrolling_dec, Scroller, _autoScrolling);
947
+ __decoratorMetadata(_init3, Scroller);
948
+ function getScrollIntent(value) {
949
+ if (value > 0) {
950
+ return ScrollDirection.Forward;
951
+ }
952
+ if (value < 0) {
953
+ return ScrollDirection.Reverse;
954
+ }
955
+ return ScrollDirection.Idle;
956
+ }
957
+
958
+ // src/utilities/scheduling/scheduler.ts
959
+ var Scheduler = class {
960
+ constructor(scheduler5) {
961
+ this.scheduler = scheduler5;
962
+ this.pending = false;
963
+ this.tasks = /* @__PURE__ */ new Set();
964
+ this.resolvers = /* @__PURE__ */ new Set();
965
+ this.flush = () => {
966
+ const { tasks, resolvers } = this;
967
+ this.pending = false;
968
+ this.tasks = /* @__PURE__ */ new Set();
969
+ this.resolvers = /* @__PURE__ */ new Set();
970
+ for (const task of tasks) {
971
+ task();
972
+ }
973
+ for (const resolve of resolvers) {
974
+ resolve();
975
+ }
976
+ };
977
+ }
978
+ schedule(task) {
979
+ this.tasks.add(task);
980
+ if (!this.pending) {
981
+ this.pending = true;
982
+ this.scheduler(this.flush);
983
+ }
984
+ return new Promise((resolve) => this.resolvers.add(resolve));
985
+ }
986
+ };
987
+ var scheduler3 = new Scheduler((callback) => {
988
+ if (typeof requestAnimationFrame === "function") {
989
+ requestAnimationFrame(callback);
990
+ } else {
991
+ callback();
992
+ }
993
+ });
994
+
995
+ // src/core/plugins/scrolling/AutoScroller.ts
996
+ var AUTOSCROLL_INTERVAL = 10;
997
+ var AutoScroller = class extends Plugin {
998
+ constructor(manager, _options) {
999
+ super(manager);
1000
+ const scroller = manager.registry.plugins.get(Scroller);
1001
+ if (!scroller) {
1002
+ throw new Error("AutoScroller plugin depends on Scroller plugin");
1003
+ }
1004
+ this.destroy = E(() => {
1005
+ if (this.disabled) {
1006
+ return;
1007
+ }
1008
+ const { position: _, status } = manager.dragOperation;
1009
+ if (status.dragging) {
1010
+ const canScroll2 = scroller.scroll();
1011
+ if (canScroll2) {
1012
+ scroller.autoScrolling = true;
1013
+ const interval = setInterval(
1014
+ () => scheduler3.schedule(scroller.scroll),
1015
+ AUTOSCROLL_INTERVAL
1016
+ );
1017
+ return () => {
1018
+ clearInterval(interval);
1019
+ };
1020
+ } else {
1021
+ scroller.autoScrolling = false;
1022
+ }
1023
+ }
1024
+ });
1025
+ }
1026
+ };
1027
+ var defaults = Object.freeze({
1028
+ offset: 10,
1029
+ keyboardCodes: {
1030
+ start: ["Space", "Enter"],
1031
+ cancel: ["Escape"],
1032
+ end: ["Space", "Enter", "Tab"],
1033
+ up: ["ArrowUp"],
1034
+ down: ["ArrowDown"],
1035
+ left: ["ArrowLeft"],
1036
+ right: ["ArrowRight"]
1037
+ },
1038
+ shouldActivate(args) {
1039
+ var _a4;
1040
+ const { event, source } = args;
1041
+ const target = (_a4 = source.handle) != null ? _a4 : source.element;
1042
+ return event.target === target;
1043
+ }
1044
+ });
1045
+ var _cleanupFunctions;
1046
+ var _KeyboardSensor = class _KeyboardSensor extends Sensor {
1047
+ constructor(manager, options) {
1048
+ super(manager);
1049
+ this.manager = manager;
1050
+ this.options = options;
1051
+ __privateAdd(this, _cleanupFunctions, []);
1052
+ this.listeners = new Listeners();
1053
+ this.handleSourceKeyDown = (event, source, options) => {
1054
+ if (this.disabled || event.defaultPrevented) {
1055
+ return;
1056
+ }
1057
+ if (!isElement(event.target)) {
1058
+ return;
1059
+ }
1060
+ if (source.disabled) {
1061
+ return;
1062
+ }
1063
+ const {
1064
+ keyboardCodes = defaults.keyboardCodes,
1065
+ shouldActivate = defaults.shouldActivate
1066
+ } = options != null ? options : {};
1067
+ if (!keyboardCodes.start.includes(event.code)) {
1068
+ return;
1069
+ }
1070
+ if (!this.manager.dragOperation.status.idle) {
1071
+ return;
1072
+ }
1073
+ if (shouldActivate({ event, source, manager: this.manager })) {
1074
+ this.handleStart(event, source, options);
1075
+ }
1076
+ };
1077
+ }
1078
+ bind(source, options = this.options) {
1079
+ const unbind = E(() => {
1080
+ var _a4;
1081
+ const target = (_a4 = source.handle) != null ? _a4 : source.element;
1082
+ const listener = (event) => {
1083
+ if (isKeyboardEvent(event)) {
1084
+ this.handleSourceKeyDown(event, source, options);
1085
+ }
1086
+ };
1087
+ if (target) {
1088
+ target.addEventListener("keydown", listener);
1089
+ return () => {
1090
+ target.removeEventListener("keydown", listener);
1091
+ };
1092
+ }
1093
+ });
1094
+ return unbind;
1095
+ }
1096
+ handleStart(event, source, options) {
1097
+ const { element } = source;
1098
+ if (!element) {
1099
+ throw new Error("Source draggable does not have an associated element");
1100
+ }
1101
+ event.preventDefault();
1102
+ event.stopImmediatePropagation();
1103
+ scrollIntoViewIfNeeded(element);
1104
+ const { center } = new DOMRectangle(element);
1105
+ const controller = this.manager.actions.start({
1106
+ event,
1107
+ coordinates: {
1108
+ x: center.x,
1109
+ y: center.y
1110
+ },
1111
+ source
1112
+ });
1113
+ if (controller.signal.aborted) return this.cleanup();
1114
+ this.sideEffects();
1115
+ const sourceDocument = getDocument(element);
1116
+ const listeners = [
1117
+ this.listeners.bind(sourceDocument, [
1118
+ {
1119
+ type: "keydown",
1120
+ listener: (event2) => this.handleKeyDown(event2, source, options),
1121
+ options: { capture: true }
1122
+ }
1123
+ ])
1124
+ ];
1125
+ __privateGet(this, _cleanupFunctions).push(...listeners);
1126
+ }
1127
+ handleKeyDown(event, _source, options) {
1128
+ const { keyboardCodes = defaults.keyboardCodes } = options != null ? options : {};
1129
+ if (isKeycode(event, [...keyboardCodes.end, ...keyboardCodes.cancel])) {
1130
+ event.preventDefault();
1131
+ const canceled = isKeycode(event, keyboardCodes.cancel);
1132
+ this.handleEnd(event, canceled);
1133
+ return;
1134
+ }
1135
+ if (isKeycode(event, keyboardCodes.up)) {
1136
+ this.handleMove("up", event);
1137
+ } else if (isKeycode(event, keyboardCodes.down)) {
1138
+ this.handleMove("down", event);
1139
+ }
1140
+ if (isKeycode(event, keyboardCodes.left)) {
1141
+ this.handleMove("left", event);
1142
+ } else if (isKeycode(event, keyboardCodes.right)) {
1143
+ this.handleMove("right", event);
1144
+ }
1145
+ }
1146
+ handleEnd(event, canceled) {
1147
+ this.manager.actions.stop({
1148
+ event,
1149
+ canceled
1150
+ });
1151
+ this.cleanup();
1152
+ }
1153
+ handleMove(direction, event) {
1154
+ var _a4, _b2;
1155
+ const { shape } = this.manager.dragOperation;
1156
+ const factor = event.shiftKey ? 5 : 1;
1157
+ let by = {
1158
+ x: 0,
1159
+ y: 0
1160
+ };
1161
+ let offset = (_b2 = (_a4 = this.options) == null ? void 0 : _a4.offset) != null ? _b2 : defaults.offset;
1162
+ if (typeof offset === "number") {
1163
+ offset = { x: offset, y: offset };
1164
+ }
1165
+ if (!shape) {
1166
+ return;
1167
+ }
1168
+ switch (direction) {
1169
+ case "up":
1170
+ by = { x: 0, y: -offset.y * factor };
1171
+ break;
1172
+ case "down":
1173
+ by = { x: 0, y: offset.y * factor };
1174
+ break;
1175
+ case "left":
1176
+ by = { x: -offset.x * factor, y: 0 };
1177
+ break;
1178
+ case "right":
1179
+ by = { x: offset.x * factor, y: 0 };
1180
+ break;
1181
+ }
1182
+ if (by.x || by.y) {
1183
+ event.preventDefault();
1184
+ this.manager.actions.move({
1185
+ event,
1186
+ by
1187
+ });
1188
+ }
1189
+ }
1190
+ sideEffects() {
1191
+ const autoScroller = this.manager.registry.plugins.get(AutoScroller);
1192
+ if ((autoScroller == null ? void 0 : autoScroller.disabled) === false) {
1193
+ autoScroller.disable();
1194
+ __privateGet(this, _cleanupFunctions).push(() => {
1195
+ autoScroller.enable();
1196
+ });
1197
+ }
1198
+ }
1199
+ cleanup() {
1200
+ __privateGet(this, _cleanupFunctions).forEach((cleanup) => cleanup());
1201
+ __privateSet(this, _cleanupFunctions, []);
1202
+ }
1203
+ destroy() {
1204
+ this.cleanup();
1205
+ this.listeners.clear();
1206
+ }
1207
+ };
1208
+ _cleanupFunctions = new WeakMap();
1209
+ _KeyboardSensor.configure = configurator(_KeyboardSensor);
1210
+ _KeyboardSensor.defaults = defaults;
1211
+ var KeyboardSensor = _KeyboardSensor;
1212
+ function isKeycode(event, codes) {
1213
+ return codes.includes(event.code);
1214
+ }
1215
+ var defaults2 = Object.freeze({
1216
+ activationConstraints(event, source) {
1217
+ var _a4;
1218
+ const { pointerType, target } = event;
1219
+ if (pointerType === "mouse" && isElement(target) && (source.handle === target || ((_a4 = source.handle) == null ? void 0 : _a4.contains(target)))) {
1220
+ return void 0;
1221
+ }
1222
+ if (pointerType === "touch") {
1223
+ return {
1224
+ delay: { value: 250, tolerance: 5 }
1225
+ };
1226
+ }
1227
+ if (isTextInput(target) && !event.defaultPrevented) {
1228
+ return {
1229
+ delay: { value: 200, tolerance: 0 }
1230
+ };
1231
+ }
1232
+ return {
1233
+ delay: { value: 200, tolerance: 10 },
1234
+ distance: { value: 5 }
1235
+ };
1236
+ }
1237
+ });
1238
+ var _cleanup, _clearTimeout;
1239
+ var _PointerSensor = class _PointerSensor extends Sensor {
1240
+ constructor(manager, options) {
1241
+ super(manager);
1242
+ this.manager = manager;
1243
+ this.options = options;
1244
+ __privateAdd(this, _cleanup, /* @__PURE__ */ new Set());
1245
+ __privateAdd(this, _clearTimeout);
1246
+ this.listeners = new Listeners();
1247
+ this.latest = {
1248
+ event: void 0,
1249
+ coordinates: void 0
1250
+ };
1251
+ this.handleMove = () => {
1252
+ const { event, coordinates: to } = this.latest;
1253
+ if (!event || !to) {
1254
+ return;
1255
+ }
1256
+ this.manager.actions.move({ event, to });
1257
+ };
1258
+ this.handleCancel = this.handleCancel.bind(this);
1259
+ this.handlePointerUp = this.handlePointerUp.bind(this);
1260
+ this.handleKeyDown = this.handleKeyDown.bind(this);
1261
+ }
1262
+ activationConstraints(event, source) {
1263
+ var _a4;
1264
+ const { activationConstraints = defaults2.activationConstraints } = (_a4 = this.options) != null ? _a4 : {};
1265
+ const constraints = typeof activationConstraints === "function" ? activationConstraints(event, source) : activationConstraints;
1266
+ return constraints;
1267
+ }
1268
+ bind(source, options = this.options) {
1269
+ const unbind = E(() => {
1270
+ var _a4;
1271
+ const controller = new AbortController();
1272
+ const { signal: signal3 } = controller;
1273
+ const listener = (event) => {
1274
+ if (isPointerEvent(event)) {
1275
+ this.handlePointerDown(event, source, options);
1276
+ }
1277
+ };
1278
+ let targets = [(_a4 = source.handle) != null ? _a4 : source.element];
1279
+ if (options == null ? void 0 : options.activatorElements) {
1280
+ if (Array.isArray(options.activatorElements)) {
1281
+ targets = options.activatorElements;
1282
+ } else {
1283
+ targets = options.activatorElements(source);
1284
+ }
1285
+ }
1286
+ for (const target of targets) {
1287
+ if (!target) continue;
1288
+ patchWindow(target.ownerDocument.defaultView);
1289
+ target.addEventListener("pointerdown", listener, { signal: signal3 });
1290
+ }
1291
+ return () => controller.abort();
1292
+ });
1293
+ return unbind;
1294
+ }
1295
+ handlePointerDown(event, source, options = {}) {
1296
+ if (this.disabled || !event.isPrimary || event.button !== 0 || !isElement(event.target) || source.disabled || isCapturedBySensor(event) || !this.manager.dragOperation.status.idle) {
1297
+ return;
1298
+ }
1299
+ const { target } = event;
1300
+ const isNativeDraggable = isHTMLElement(target) && target.draggable && target.getAttribute("draggable") === "true";
1301
+ const offset = getFrameTransform(source.element);
1302
+ this.initialCoordinates = {
1303
+ x: event.clientX * offset.scaleX + offset.x,
1304
+ y: event.clientY * offset.scaleY + offset.y
1305
+ };
1306
+ const constraints = this.activationConstraints(event, source);
1307
+ event.sensor = this;
1308
+ if (!(constraints == null ? void 0 : constraints.delay) && !(constraints == null ? void 0 : constraints.distance)) {
1309
+ this.handleStart(source, event);
1310
+ } else {
1311
+ const { delay } = constraints;
1312
+ if (delay) {
1313
+ const timeout = setTimeout(
1314
+ () => this.handleStart(source, event),
1315
+ delay.value
1316
+ );
1317
+ __privateSet(this, _clearTimeout, () => {
1318
+ clearTimeout(timeout);
1319
+ __privateSet(this, _clearTimeout, void 0);
1320
+ });
1321
+ }
1322
+ }
1323
+ const ownerDocument = getDocument(event.target);
1324
+ const unbindListeners = this.listeners.bind(ownerDocument, [
1325
+ {
1326
+ type: "pointermove",
1327
+ listener: (event2) => this.handlePointerMove(event2, source)
1328
+ },
1329
+ {
1330
+ type: "pointerup",
1331
+ listener: this.handlePointerUp,
1332
+ options: {
1333
+ capture: true
1334
+ }
1335
+ },
1336
+ {
1337
+ // Cancel activation if there is a competing Drag and Drop interaction
1338
+ type: "dragstart",
1339
+ listener: isNativeDraggable ? this.handleCancel : preventDefault,
1340
+ options: {
1341
+ capture: true
1342
+ }
1343
+ }
1344
+ ]);
1345
+ const cleanup = () => {
1346
+ var _a4;
1347
+ unbindListeners();
1348
+ (_a4 = __privateGet(this, _clearTimeout)) == null ? void 0 : _a4.call(this);
1349
+ this.initialCoordinates = void 0;
1350
+ };
1351
+ __privateGet(this, _cleanup).add(cleanup);
1352
+ }
1353
+ handlePointerMove(event, source) {
1354
+ const coordinates = {
1355
+ x: event.clientX,
1356
+ y: event.clientY
1357
+ };
1358
+ const offset = getFrameTransform(source.element);
1359
+ coordinates.x = coordinates.x * offset.scaleX + offset.x;
1360
+ coordinates.y = coordinates.y * offset.scaleY + offset.y;
1361
+ if (this.manager.dragOperation.status.dragging) {
1362
+ event.preventDefault();
1363
+ event.stopPropagation();
1364
+ this.latest.event = event;
1365
+ this.latest.coordinates = coordinates;
1366
+ scheduler.schedule(this.handleMove);
1367
+ return;
1368
+ }
1369
+ if (!this.initialCoordinates) {
1370
+ return;
1371
+ }
1372
+ const delta = {
1373
+ x: coordinates.x - this.initialCoordinates.x,
1374
+ y: coordinates.y - this.initialCoordinates.y
1375
+ };
1376
+ const constraints = this.activationConstraints(event, source);
1377
+ const { distance, delay } = constraints != null ? constraints : {};
1378
+ if (distance) {
1379
+ if (distance.tolerance != null && exceedsDistance(delta, distance.tolerance)) {
1380
+ return this.handleCancel(event);
1381
+ }
1382
+ if (exceedsDistance(delta, distance.value)) {
1383
+ return this.handleStart(source, event);
1384
+ }
1385
+ }
1386
+ if (delay) {
1387
+ if (exceedsDistance(delta, delay.tolerance)) {
1388
+ return this.handleCancel(event);
1389
+ }
1390
+ }
1391
+ }
1392
+ handlePointerUp(event) {
1393
+ const { status } = this.manager.dragOperation;
1394
+ if (!status.idle) {
1395
+ event.preventDefault();
1396
+ event.stopPropagation();
1397
+ const canceled = !status.initialized;
1398
+ this.manager.actions.stop({ event, canceled });
1399
+ }
1400
+ this.cleanup();
1401
+ }
1402
+ handleKeyDown(event) {
1403
+ if (event.key === "Escape") {
1404
+ event.preventDefault();
1405
+ this.handleCancel(event);
1406
+ }
1407
+ }
1408
+ handleStart(source, event) {
1409
+ var _a4;
1410
+ const { manager, initialCoordinates } = this;
1411
+ (_a4 = __privateGet(this, _clearTimeout)) == null ? void 0 : _a4.call(this);
1412
+ if (!initialCoordinates || !manager.dragOperation.status.idle) {
1413
+ return;
1414
+ }
1415
+ if (event.defaultPrevented) {
1416
+ return;
1417
+ }
1418
+ const controller = manager.actions.start({
1419
+ coordinates: initialCoordinates,
1420
+ event,
1421
+ source
1422
+ });
1423
+ if (controller.signal.aborted) return this.cleanup();
1424
+ event.preventDefault();
1425
+ const ownerDocument = getDocument(event.target);
1426
+ const pointerCaptureTarget = ownerDocument.body;
1427
+ pointerCaptureTarget.setPointerCapture(event.pointerId);
1428
+ const unbind = this.listeners.bind(ownerDocument, [
1429
+ {
1430
+ // Prevent scrolling on touch devices
1431
+ type: "touchmove",
1432
+ listener: preventDefault,
1433
+ options: {
1434
+ passive: false
1435
+ }
1436
+ },
1437
+ {
1438
+ // Prevent click events
1439
+ type: "click",
1440
+ listener: preventDefault
1441
+ },
1442
+ {
1443
+ type: "contextmenu",
1444
+ listener: preventDefault
1445
+ },
1446
+ {
1447
+ type: "keydown",
1448
+ listener: this.handleKeyDown
1449
+ },
1450
+ {
1451
+ type: "lostpointercapture",
1452
+ listener: (event2) => {
1453
+ if (event2.target !== pointerCaptureTarget) return;
1454
+ this.handlePointerUp(event2);
1455
+ }
1456
+ }
1457
+ ]);
1458
+ __privateGet(this, _cleanup).add(unbind);
1459
+ }
1460
+ handleCancel(event) {
1461
+ const { dragOperation } = this.manager;
1462
+ if (dragOperation.status.initialized) {
1463
+ this.manager.actions.stop({ event, canceled: true });
1464
+ }
1465
+ this.cleanup();
1466
+ }
1467
+ cleanup() {
1468
+ this.latest = {
1469
+ event: void 0,
1470
+ coordinates: void 0
1471
+ };
1472
+ __privateGet(this, _cleanup).forEach((cleanup) => cleanup());
1473
+ __privateGet(this, _cleanup).clear();
1474
+ }
1475
+ destroy() {
1476
+ this.cleanup();
1477
+ this.listeners.clear();
1478
+ }
1479
+ };
1480
+ _cleanup = new WeakMap();
1481
+ _clearTimeout = new WeakMap();
1482
+ _PointerSensor.configure = configurator(_PointerSensor);
1483
+ _PointerSensor.defaults = defaults2;
1484
+ var PointerSensor = _PointerSensor;
1485
+ function isCapturedBySensor(event) {
1486
+ return "sensor" in event;
1487
+ }
1488
+ function preventDefault(event) {
1489
+ event.preventDefault();
1490
+ }
1491
+ function noop() {
1492
+ }
1493
+ var windows = /* @__PURE__ */ new WeakSet();
1494
+ function patchWindow(window) {
1495
+ if (!window || windows.has(window)) {
1496
+ return;
1497
+ }
1498
+ window.addEventListener("touchmove", noop, {
1499
+ capture: false,
1500
+ passive: false
1501
+ });
1502
+ windows.add(window);
1503
+ }
1504
+ var _feedback_dec, _element_dec, _handle_dec, _c, _init4, _handle, _element, _feedback;
1505
+ var Draggable = class extends (_c = Draggable$1, _handle_dec = [reactive], _element_dec = [reactive], _feedback_dec = [reactive], _c) {
1506
+ constructor(_a4, manager) {
1507
+ var _b2 = _a4, {
1508
+ element,
1509
+ effects = () => [],
1510
+ handle,
1511
+ feedback = "default"
1512
+ } = _b2, input = __objRest(_b2, [
1513
+ "element",
1514
+ "effects",
1515
+ "handle",
1516
+ "feedback"
1517
+ ]);
1518
+ super(
1519
+ __spreadValues({
1520
+ effects: () => [
1521
+ ...effects(),
1522
+ () => {
1523
+ var _a5, _b3;
1524
+ const { manager: manager2 } = this;
1525
+ if (!manager2) return;
1526
+ const sensors = (_b3 = (_a5 = this.sensors) == null ? void 0 : _a5.map(descriptor)) != null ? _b3 : [
1527
+ ...manager2.sensors
1528
+ ];
1529
+ const unbindFunctions = sensors.map((entry) => {
1530
+ const sensorInstance = entry instanceof Sensor ? entry : manager2.registry.register(entry.plugin);
1531
+ const options = entry instanceof Sensor ? void 0 : entry.options;
1532
+ const unbind = sensorInstance.bind(this, options);
1533
+ return unbind;
1534
+ });
1535
+ return function cleanup() {
1536
+ unbindFunctions.forEach((unbind) => unbind());
1537
+ };
1538
+ }
1539
+ ]
1540
+ }, input),
1541
+ manager
1542
+ );
1543
+ __privateAdd(this, _handle, __runInitializers(_init4, 8, this)), __runInitializers(_init4, 11, this);
1544
+ __privateAdd(this, _element, __runInitializers(_init4, 12, this)), __runInitializers(_init4, 15, this);
1545
+ __privateAdd(this, _feedback, __runInitializers(_init4, 16, this)), __runInitializers(_init4, 19, this);
1546
+ this.element = element;
1547
+ this.handle = handle;
1548
+ this.feedback = feedback;
1549
+ }
1550
+ };
1551
+ _init4 = __decoratorStart(_c);
1552
+ _handle = new WeakMap();
1553
+ _element = new WeakMap();
1554
+ _feedback = new WeakMap();
1555
+ __decorateElement(_init4, 4, "handle", _handle_dec, Draggable, _handle);
1556
+ __decorateElement(_init4, 4, "element", _element_dec, Draggable, _element);
1557
+ __decorateElement(_init4, 4, "feedback", _feedback_dec, Draggable, _feedback);
1558
+ __decoratorMetadata(_init4, Draggable);
1559
+ var _proxy_dec, _element_dec2, _c2, _init5, _element2, _d, element_get, element_set, _Droppable_instances, _proxy;
1560
+ var Droppable = class extends (_c2 = Droppable$1, _element_dec2 = [reactive], _proxy_dec = [reactive], _c2) {
1561
+ constructor(_a4, manager) {
1562
+ var _b2 = _a4, { element, effects = () => [] } = _b2, input = __objRest(_b2, ["element", "effects"]);
1563
+ const { collisionDetector = defaultCollisionDetection } = input;
1564
+ const updateShape = (boundingClientRect) => {
1565
+ const { manager: manager2, element: element2 } = this;
1566
+ if (!element2 || boundingClientRect === null) {
1567
+ this.shape = void 0;
1568
+ return void 0;
1569
+ }
1570
+ if (!manager2) return;
1571
+ const updatedShape = new DOMRectangle(element2);
1572
+ const shape = h(() => this.shape);
1573
+ if (updatedShape && (shape == null ? void 0 : shape.equals(updatedShape))) {
1574
+ return shape;
1575
+ }
1576
+ this.shape = updatedShape;
1577
+ return updatedShape;
1578
+ };
1579
+ const observePosition = d(false);
1580
+ super(
1581
+ __spreadProps(__spreadValues({}, input), {
1582
+ collisionDetector,
1583
+ effects: () => [
1584
+ ...effects(),
1585
+ () => {
1586
+ const { element: element2, manager: manager2 } = this;
1587
+ if (!manager2) return;
1588
+ const { dragOperation } = manager2;
1589
+ const { source } = dragOperation;
1590
+ observePosition.value = Boolean(
1591
+ source && dragOperation.status.initialized && element2 && !this.disabled && this.accepts(source)
1592
+ );
1593
+ },
1594
+ () => {
1595
+ const { element: element2 } = this;
1596
+ if (observePosition.value && element2) {
1597
+ const positionObserver = new FrameObserver(
1598
+ element2,
1599
+ updateShape
1600
+ );
1601
+ return () => {
1602
+ positionObserver.disconnect();
1603
+ this.shape = void 0;
1604
+ };
1605
+ }
1606
+ },
1607
+ () => {
1608
+ var _a5;
1609
+ if ((_a5 = this.manager) == null ? void 0 : _a5.dragOperation.status.initialized) {
1610
+ return () => {
1611
+ this.shape = void 0;
1612
+ };
1613
+ }
1614
+ }
1615
+ ]
1616
+ }),
1617
+ manager
1618
+ );
1619
+ __privateAdd(this, _Droppable_instances);
1620
+ __privateAdd(this, _element2, __runInitializers(_init5, 8, this)), __runInitializers(_init5, 11, this);
1621
+ __privateAdd(this, _proxy, __runInitializers(_init5, 12, this)), __runInitializers(_init5, 15, this);
1622
+ this.element = element;
1623
+ this.refreshShape = () => updateShape();
1624
+ }
1625
+ set element(element) {
1626
+ __privateSet(this, _Droppable_instances, element, element_set);
1627
+ }
1628
+ get element() {
1629
+ var _a4;
1630
+ return (_a4 = this.proxy) != null ? _a4 : __privateGet(this, _Droppable_instances, element_get);
1631
+ }
1632
+ };
1633
+ _init5 = __decoratorStart(_c2);
1634
+ _element2 = new WeakMap();
1635
+ _Droppable_instances = new WeakSet();
1636
+ _proxy = new WeakMap();
1637
+ _d = __decorateElement(_init5, 20, "#element", _element_dec2, _Droppable_instances, _element2), element_get = _d.get, element_set = _d.set;
1638
+ __decorateElement(_init5, 4, "proxy", _proxy_dec, Droppable, _proxy);
1639
+ __decoratorMetadata(_init5, Droppable);
1640
+
1641
+ export { AutoScroller, Draggable, Droppable, KeyboardSensor, PointerSensor, Scroller };
1642
+ //# sourceMappingURL=index.js.map