@vuu-ui/vuu-table-extras 0.13.1 → 0.13.3

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