@vuu-ui/vuu-utils 2.1.18 → 2.1.19-beta.1

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