@cratis/components 2.9.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) hide show
  1. package/README.md +196 -66
  2. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
  3. package/dist/esm/CommandDialog/CommandDialog.js +4 -4
  4. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
  5. package/dist/esm/CommandDialog/CommandStepper.d.ts +18 -4
  6. package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -1
  7. package/dist/esm/CommandDialog/CommandStepper.js +51 -60
  8. package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
  9. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +6 -7
  10. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -1
  11. package/dist/esm/CommandDialog/StepperCommandDialog.js +18 -15
  12. package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
  13. package/dist/esm/CommandDialog/StepperPanel.d.ts +10 -0
  14. package/dist/esm/CommandDialog/StepperPanel.d.ts.map +1 -0
  15. package/dist/esm/CommandDialog/StepperPanel.js +30 -0
  16. package/dist/esm/CommandDialog/StepperPanel.js.map +1 -0
  17. package/dist/esm/CommandDialog/index.d.ts +1 -0
  18. package/dist/esm/CommandDialog/index.d.ts.map +1 -1
  19. package/dist/esm/CommandDialog/index.js +1 -0
  20. package/dist/esm/CommandDialog/index.js.map +1 -1
  21. package/dist/esm/CommandForm/fields/CalendarField.d.ts +3 -3
  22. package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -1
  23. package/dist/esm/CommandForm/fields/CalendarField.js +2 -8
  24. package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
  25. package/dist/esm/CommandForm/fields/CheckboxField.d.ts +3 -3
  26. package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -1
  27. package/dist/esm/CommandForm/fields/CheckboxField.js +1 -1
  28. package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
  29. package/dist/esm/CommandForm/fields/ChipsField.d.ts +4 -3
  30. package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -1
  31. package/dist/esm/CommandForm/fields/ChipsField.js +3 -3
  32. package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
  33. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +3 -3
  34. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -1
  35. package/dist/esm/CommandForm/fields/ColorPickerField.js +16 -8
  36. package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
  37. package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -1
  38. package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -1
  39. package/dist/esm/CommandForm/fields/DropdownField.js +1 -4
  40. package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
  41. package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -1
  42. package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -1
  43. package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
  44. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +3 -3
  45. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -1
  46. package/dist/esm/CommandForm/fields/MultiSelectField.js +2 -8
  47. package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
  48. package/dist/esm/CommandForm/fields/NumberField.d.ts +3 -3
  49. package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -1
  50. package/dist/esm/CommandForm/fields/NumberField.js +1 -1
  51. package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
  52. package/dist/esm/CommandForm/fields/PasswordField.d.ts +13 -0
  53. package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -0
  54. package/dist/esm/CommandForm/fields/PasswordField.js +20 -0
  55. package/dist/esm/CommandForm/fields/PasswordField.js.map +1 -0
  56. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +3 -3
  57. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -1
  58. package/dist/esm/CommandForm/fields/RadioButtonField.js +2 -1
  59. package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -1
  60. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +3 -3
  61. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -1
  62. package/dist/esm/CommandForm/fields/RadioGroupField.js +2 -1
  63. package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -1
  64. package/dist/esm/CommandForm/fields/RatingField.d.ts +14 -0
  65. package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -0
  66. package/dist/esm/CommandForm/fields/RatingField.js +19 -0
  67. package/dist/esm/CommandForm/fields/RatingField.js.map +1 -0
  68. package/dist/esm/CommandForm/fields/SliderField.d.ts +3 -3
  69. package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -1
  70. package/dist/esm/CommandForm/fields/SliderField.js +1 -1
  71. package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
  72. package/dist/esm/CommandForm/fields/TextAreaField.d.ts +3 -3
  73. package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -1
  74. package/dist/esm/CommandForm/fields/TextAreaField.js +2 -2
  75. package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
  76. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +13 -0
  77. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -0
  78. package/dist/esm/CommandForm/fields/ToggleSwitchField.js +20 -0
  79. package/dist/esm/CommandForm/fields/ToggleSwitchField.js.map +1 -0
  80. package/dist/esm/CommandForm/fields/index.d.ts +3 -0
  81. package/dist/esm/CommandForm/fields/index.d.ts.map +1 -1
  82. package/dist/esm/CommandForm/fields/index.js +3 -0
  83. package/dist/esm/CommandForm/fields/index.js.map +1 -1
  84. package/dist/esm/CommandForm/index.js +3 -0
  85. package/dist/esm/CommandForm/index.js.map +1 -1
  86. package/dist/esm/Common/ActionMenubar.d.ts +21 -0
  87. package/dist/esm/Common/ActionMenubar.d.ts.map +1 -0
  88. package/dist/esm/Common/ActionMenubar.js +20 -0
  89. package/dist/esm/Common/ActionMenubar.js.map +1 -0
  90. package/dist/esm/Common/CratisComponentsProvider.d.ts +5 -3
  91. package/dist/esm/Common/CratisComponentsProvider.d.ts.map +1 -1
  92. package/dist/esm/Common/CratisComponentsProvider.js +27 -11
  93. package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
  94. package/dist/esm/Common/DatePickerInput.d.ts +22 -0
  95. package/dist/esm/Common/DatePickerInput.d.ts.map +1 -0
  96. package/dist/esm/Common/DatePickerInput.js +18 -0
  97. package/dist/esm/Common/DatePickerInput.js.map +1 -0
  98. package/dist/esm/Common/FormElement.d.ts +0 -1
  99. package/dist/esm/Common/FormElement.d.ts.map +1 -1
  100. package/dist/esm/Common/FormElement.js +0 -1
  101. package/dist/esm/Common/FormElement.js.map +1 -1
  102. package/dist/esm/Common/Tooltip.d.ts +2 -2
  103. package/dist/esm/Common/Tooltip.d.ts.map +1 -1
  104. package/dist/esm/Common/Tooltip.js +25 -13
  105. package/dist/esm/Common/Tooltip.js.map +1 -1
  106. package/dist/esm/Common/index.d.ts +2 -0
  107. package/dist/esm/Common/index.d.ts.map +1 -1
  108. package/dist/esm/Common/index.js +2 -0
  109. package/dist/esm/Common/index.js.map +1 -1
  110. package/dist/esm/DataPage/DataPage.d.ts +17 -10
  111. package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
  112. package/dist/esm/DataPage/DataPage.js +19 -18
  113. package/dist/esm/DataPage/DataPage.js.map +1 -1
  114. package/dist/esm/DataPage/index.d.ts +1 -0
  115. package/dist/esm/DataPage/index.d.ts.map +1 -1
  116. package/dist/esm/DataPage/index.js +1 -0
  117. package/dist/esm/DataPage/index.js.map +1 -1
  118. package/dist/esm/DataTables/Column.d.ts +25 -0
  119. package/dist/esm/DataTables/Column.d.ts.map +1 -0
  120. package/dist/esm/DataTables/Column.js +24 -0
  121. package/dist/esm/DataTables/Column.js.map +1 -0
  122. package/dist/esm/DataTables/ColumnFilterMenu.d.ts +10 -0
  123. package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -0
  124. package/dist/esm/DataTables/ColumnFilterMenu.js +44 -0
  125. package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -0
  126. package/dist/esm/DataTables/DataTableCore.d.ts +33 -0
  127. package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -0
  128. package/dist/esm/DataTables/DataTableCore.js +59 -0
  129. package/dist/esm/DataTables/DataTableCore.js.map +1 -0
  130. package/dist/esm/DataTables/DataTableFilterMeta.d.ts +6 -0
  131. package/dist/esm/DataTables/DataTableFilterMeta.d.ts.map +1 -0
  132. package/dist/esm/DataTables/DataTableFilterMeta.js +2 -0
  133. package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -0
  134. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +9 -8
  135. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
  136. package/dist/esm/DataTables/DataTableForObservableQuery.js +41 -64
  137. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  138. package/dist/esm/DataTables/DataTableForQuery.d.ts +9 -8
  139. package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
  140. package/dist/esm/DataTables/DataTableForQuery.js +17 -44
  141. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  142. package/dist/esm/DataTables/DataTableSelectionChangeEvent.d.ts +6 -0
  143. package/dist/esm/DataTables/DataTableSelectionChangeEvent.d.ts.map +1 -0
  144. package/dist/esm/DataTables/DataTableSelectionChangeEvent.js +2 -0
  145. package/dist/esm/DataTables/DataTableSelectionChangeEvent.js.map +1 -0
  146. package/dist/esm/DataTables/TablePaginator.d.ts +17 -0
  147. package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -0
  148. package/dist/esm/DataTables/TablePaginator.js +22 -0
  149. package/dist/esm/DataTables/TablePaginator.js.map +1 -0
  150. package/dist/esm/DataTables/index.d.ts +5 -0
  151. package/dist/esm/DataTables/index.d.ts.map +1 -1
  152. package/dist/esm/DataTables/index.js +3 -0
  153. package/dist/esm/DataTables/index.js.map +1 -1
  154. package/dist/esm/DataTables/paginatorRange.d.ts +2 -0
  155. package/dist/esm/DataTables/paginatorRange.d.ts.map +1 -0
  156. package/dist/esm/DataTables/paginatorRange.js +21 -0
  157. package/dist/esm/DataTables/paginatorRange.js.map +1 -0
  158. package/dist/esm/DataTables/selectionKeys.d.ts +4 -0
  159. package/dist/esm/DataTables/selectionKeys.d.ts.map +1 -0
  160. package/dist/esm/DataTables/selectionKeys.js +34 -0
  161. package/dist/esm/DataTables/selectionKeys.js.map +1 -0
  162. package/dist/esm/Dialogs/BusyIndicatorDialog.d.ts.map +1 -1
  163. package/dist/esm/Dialogs/BusyIndicatorDialog.js +2 -2
  164. package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
  165. package/dist/esm/Dialogs/Dialog.d.ts +9 -7
  166. package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
  167. package/dist/esm/Dialogs/Dialog.js +45 -23
  168. package/dist/esm/Dialogs/Dialog.js.map +1 -1
  169. package/dist/esm/Display/Avatar.d.ts +11 -0
  170. package/dist/esm/Display/Avatar.d.ts.map +1 -0
  171. package/dist/esm/Display/Avatar.js +13 -0
  172. package/dist/esm/Display/Avatar.js.map +1 -0
  173. package/dist/esm/Display/Badge.d.ts +12 -0
  174. package/dist/esm/Display/Badge.d.ts.map +1 -0
  175. package/dist/esm/Display/Badge.js +11 -0
  176. package/dist/esm/Display/Badge.js.map +1 -0
  177. package/dist/esm/Display/Chip.d.ts +11 -0
  178. package/dist/esm/Display/Chip.d.ts.map +1 -0
  179. package/dist/esm/Display/Chip.js +11 -0
  180. package/dist/esm/Display/Chip.js.map +1 -0
  181. package/dist/esm/Display/ProgressBar.d.ts +8 -0
  182. package/dist/esm/Display/ProgressBar.d.ts.map +1 -0
  183. package/dist/esm/Display/ProgressBar.js +12 -0
  184. package/dist/esm/Display/ProgressBar.js.map +1 -0
  185. package/dist/esm/Display/Skeleton.d.ts +9 -0
  186. package/dist/esm/Display/Skeleton.d.ts.map +1 -0
  187. package/dist/esm/Display/Skeleton.js +18 -0
  188. package/dist/esm/Display/Skeleton.js.map +1 -0
  189. package/dist/esm/Display/Tag.d.ts +12 -0
  190. package/dist/esm/Display/Tag.d.ts.map +1 -0
  191. package/dist/esm/Display/Tag.js +12 -0
  192. package/dist/esm/Display/Tag.js.map +1 -0
  193. package/dist/esm/Display/index.d.ts +7 -0
  194. package/dist/esm/Display/index.d.ts.map +1 -0
  195. package/dist/esm/Display/index.js +10 -0
  196. package/dist/esm/Display/index.js.map +1 -0
  197. package/dist/esm/Dropdown/Dropdown.d.ts +33 -3
  198. package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -1
  199. package/dist/esm/Dropdown/Dropdown.js +15 -18
  200. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  201. package/dist/esm/Filter/FilterPanel.d.ts +3 -2
  202. package/dist/esm/Filter/FilterPanel.d.ts.map +1 -1
  203. package/dist/esm/Filter/FilterPanel.js +4 -5
  204. package/dist/esm/Filter/FilterPanel.js.map +1 -1
  205. package/dist/esm/Notifications/Toaster.d.ts +9 -0
  206. package/dist/esm/Notifications/Toaster.d.ts.map +1 -0
  207. package/dist/esm/Notifications/Toaster.js +43 -0
  208. package/dist/esm/Notifications/Toaster.js.map +1 -0
  209. package/dist/esm/Notifications/index.d.ts +4 -0
  210. package/dist/esm/Notifications/index.d.ts.map +1 -0
  211. package/dist/{cjs/types → esm/Notifications}/index.js +3 -5
  212. package/dist/esm/Notifications/index.js.map +1 -0
  213. package/dist/esm/Notifications/toast.d.ts +3 -0
  214. package/dist/esm/Notifications/toast.d.ts.map +1 -0
  215. package/dist/esm/Notifications/toast.js +2 -0
  216. package/dist/esm/Notifications/toast.js.map +1 -0
  217. package/dist/esm/Notifications/toastCommandResult.d.ts +11 -0
  218. package/dist/esm/Notifications/toastCommandResult.d.ts.map +1 -0
  219. package/dist/esm/Notifications/toastCommandResult.js +59 -0
  220. package/dist/esm/Notifications/toastCommandResult.js.map +1 -0
  221. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -1
  222. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js +11 -15
  223. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
  224. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts +2 -2
  225. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts.map +1 -1
  226. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js +3 -3
  227. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
  228. package/dist/esm/PivotViewer/PivotViewer.d.ts +0 -1
  229. package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -1
  230. package/dist/esm/PivotViewer/PivotViewer.js +0 -1
  231. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
  232. package/dist/esm/PivotViewer/components/Spinner.d.ts +0 -1
  233. package/dist/esm/PivotViewer/components/Spinner.d.ts.map +1 -1
  234. package/dist/esm/PivotViewer/components/Spinner.js +2 -1
  235. package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
  236. package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -1
  237. package/dist/esm/SchemaEditor/NameCell.js +3 -2
  238. package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
  239. package/dist/esm/SchemaEditor/SchemaEditor.d.ts +15 -1
  240. package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -1
  241. package/dist/esm/SchemaEditor/SchemaEditor.js +45 -32
  242. package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
  243. package/dist/esm/SchemaEditor/TypeCell.d.ts +3 -1
  244. package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -1
  245. package/dist/esm/SchemaEditor/TypeCell.js +7 -6
  246. package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
  247. package/dist/esm/SchemaEditor/index.js +1 -1
  248. package/dist/esm/TimeMachine/EventsView.d.ts +5 -4
  249. package/dist/esm/TimeMachine/EventsView.d.ts.map +1 -1
  250. package/dist/esm/TimeMachine/EventsView.js +3 -3
  251. package/dist/esm/TimeMachine/EventsView.js.map +1 -1
  252. package/dist/esm/TimeMachine/Properties.d.ts +0 -1
  253. package/dist/esm/TimeMachine/Properties.d.ts.map +1 -1
  254. package/dist/esm/TimeMachine/Properties.js +0 -1
  255. package/dist/esm/TimeMachine/Properties.js.map +1 -1
  256. package/dist/esm/TimeMachine/ReadModelView.d.ts +2 -0
  257. package/dist/esm/TimeMachine/ReadModelView.d.ts.map +1 -1
  258. package/dist/esm/TimeMachine/ReadModelView.js +3 -2
  259. package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
  260. package/dist/esm/TimeMachine/TimeMachine.d.ts +4 -1
  261. package/dist/esm/TimeMachine/TimeMachine.d.ts.map +1 -1
  262. package/dist/esm/TimeMachine/TimeMachine.js +5 -4
  263. package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
  264. package/dist/esm/TimeMachine/TimeMachineLabels.d.ts +12 -0
  265. package/dist/esm/TimeMachine/TimeMachineLabels.d.ts.map +1 -0
  266. package/dist/esm/TimeMachine/TimeMachineLabels.js +16 -0
  267. package/dist/esm/TimeMachine/TimeMachineLabels.js.map +1 -0
  268. package/dist/esm/TimeMachine/index.d.ts +2 -0
  269. package/dist/esm/TimeMachine/index.d.ts.map +1 -1
  270. package/dist/esm/TimeMachine/index.js +1 -0
  271. package/dist/esm/TimeMachine/index.js.map +1 -1
  272. package/dist/esm/Toolbar/Toolbar.d.ts +0 -1
  273. package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -1
  274. package/dist/esm/Toolbar/Toolbar.js +0 -1
  275. package/dist/esm/Toolbar/Toolbar.js.map +1 -1
  276. package/dist/esm/index.d.ts +3 -1
  277. package/dist/esm/index.d.ts.map +1 -1
  278. package/dist/esm/index.js +22 -18
  279. package/dist/esm/index.js.map +1 -1
  280. package/dist/esm/styles.css +4686 -0
  281. package/dist/esm/theme.css +357 -0
  282. package/dist/esm/tokens.css +32 -12
  283. package/package.json +40 -26
  284. package/dist/cjs/CommandDialog/CommandDialog.js +0 -195
  285. package/dist/cjs/CommandDialog/CommandDialog.js.map +0 -1
  286. package/dist/cjs/CommandDialog/CommandStepper.css +0 -24
  287. package/dist/cjs/CommandDialog/CommandStepper.js +0 -238
  288. package/dist/cjs/CommandDialog/CommandStepper.js.map +0 -1
  289. package/dist/cjs/CommandDialog/StepperCommandDialog.js +0 -207
  290. package/dist/cjs/CommandDialog/StepperCommandDialog.js.map +0 -1
  291. package/dist/cjs/CommandDialog/applyBeforeExecute.js +0 -42
  292. package/dist/cjs/CommandDialog/applyBeforeExecute.js.map +0 -1
  293. package/dist/cjs/CommandDialog/index.js +0 -16
  294. package/dist/cjs/CommandDialog/index.js.map +0 -1
  295. package/dist/cjs/CommandDialog/stepChildren.js +0 -31
  296. package/dist/cjs/CommandDialog/stepChildren.js.map +0 -1
  297. package/dist/cjs/CommandForm/AutoCommandForm.js +0 -49
  298. package/dist/cjs/CommandForm/AutoCommandForm.js.map +0 -1
  299. package/dist/cjs/CommandForm/defaultFieldTypeProviders.js +0 -24
  300. package/dist/cjs/CommandForm/defaultFieldTypeProviders.js.map +0 -1
  301. package/dist/cjs/CommandForm/fieldTypeProviderRegistry.js +0 -36
  302. package/dist/cjs/CommandForm/fieldTypeProviderRegistry.js.map +0 -1
  303. package/dist/cjs/CommandForm/fields/CalendarField.js +0 -32
  304. package/dist/cjs/CommandForm/fields/CalendarField.js.map +0 -1
  305. package/dist/cjs/CommandForm/fields/CheckboxField.js +0 -22
  306. package/dist/cjs/CommandForm/fields/CheckboxField.js.map +0 -1
  307. package/dist/cjs/CommandForm/fields/ChipsField.js +0 -28
  308. package/dist/cjs/CommandForm/fields/ChipsField.js.map +0 -1
  309. package/dist/cjs/CommandForm/fields/ColorPickerField.js +0 -33
  310. package/dist/cjs/CommandForm/fields/ColorPickerField.js.map +0 -1
  311. package/dist/cjs/CommandForm/fields/DropdownField.js +0 -31
  312. package/dist/cjs/CommandForm/fields/DropdownField.js.map +0 -1
  313. package/dist/cjs/CommandForm/fields/InputTextField.js +0 -53
  314. package/dist/cjs/CommandForm/fields/InputTextField.js.map +0 -1
  315. package/dist/cjs/CommandForm/fields/MultiSelectField.js +0 -36
  316. package/dist/cjs/CommandForm/fields/MultiSelectField.js.map +0 -1
  317. package/dist/cjs/CommandForm/fields/NumberField.js +0 -23
  318. package/dist/cjs/CommandForm/fields/NumberField.js.map +0 -1
  319. package/dist/cjs/CommandForm/fields/RadioButtonField.js +0 -23
  320. package/dist/cjs/CommandForm/fields/RadioButtonField.js.map +0 -1
  321. package/dist/cjs/CommandForm/fields/RadioGroupField.js +0 -40
  322. package/dist/cjs/CommandForm/fields/RadioGroupField.js.map +0 -1
  323. package/dist/cjs/CommandForm/fields/SliderField.js +0 -22
  324. package/dist/cjs/CommandForm/fields/SliderField.js.map +0 -1
  325. package/dist/cjs/CommandForm/fields/TextAreaField.js +0 -24
  326. package/dist/cjs/CommandForm/fields/TextAreaField.js.map +0 -1
  327. package/dist/cjs/CommandForm/index.js +0 -37
  328. package/dist/cjs/CommandForm/index.js.map +0 -1
  329. package/dist/cjs/Common/CratisComponentsProvider.js +0 -44
  330. package/dist/cjs/Common/CratisComponentsProvider.js.map +0 -1
  331. package/dist/cjs/Common/ErrorBoundary.js +0 -58
  332. package/dist/cjs/Common/ErrorBoundary.js.map +0 -1
  333. package/dist/cjs/Common/FormElement.css +0 -26
  334. package/dist/cjs/Common/FormElement.js +0 -23
  335. package/dist/cjs/Common/FormElement.js.map +0 -1
  336. package/dist/cjs/Common/Icon.js +0 -33
  337. package/dist/cjs/Common/Icon.js.map +0 -1
  338. package/dist/cjs/Common/Page.js +0 -23
  339. package/dist/cjs/Common/Page.js.map +0 -1
  340. package/dist/cjs/Common/Tooltip.css +0 -10
  341. package/dist/cjs/Common/Tooltip.js +0 -21
  342. package/dist/cjs/Common/Tooltip.js.map +0 -1
  343. package/dist/cjs/Common/index.js +0 -23
  344. package/dist/cjs/Common/index.js.map +0 -1
  345. package/dist/cjs/Common/normalizeIconClass.js +0 -48
  346. package/dist/cjs/Common/normalizeIconClass.js.map +0 -1
  347. package/dist/cjs/DataPage/DataPage.js +0 -219
  348. package/dist/cjs/DataPage/DataPage.js.map +0 -1
  349. package/dist/cjs/DataPage/DataPageLayout.js +0 -34
  350. package/dist/cjs/DataPage/DataPageLayout.js.map +0 -1
  351. package/dist/cjs/DataPage/index.js +0 -12
  352. package/dist/cjs/DataPage/index.js.map +0 -1
  353. package/dist/cjs/DataTables/DataTableForObservableQuery.js +0 -133
  354. package/dist/cjs/DataTables/DataTableForObservableQuery.js.map +0 -1
  355. package/dist/cjs/DataTables/DataTableForQuery.js +0 -96
  356. package/dist/cjs/DataTables/DataTableForQuery.js.map +0 -1
  357. package/dist/cjs/DataTables/index.js +0 -11
  358. package/dist/cjs/DataTables/index.js.map +0 -1
  359. package/dist/cjs/Dialogs/BusyIndicatorDialog.js +0 -63
  360. package/dist/cjs/Dialogs/BusyIndicatorDialog.js.map +0 -1
  361. package/dist/cjs/Dialogs/ConfirmationDialog.js +0 -16
  362. package/dist/cjs/Dialogs/ConfirmationDialog.js.map +0 -1
  363. package/dist/cjs/Dialogs/Dialog.js +0 -203
  364. package/dist/cjs/Dialogs/Dialog.js.map +0 -1
  365. package/dist/cjs/Dialogs/DialogInitialFocus.js +0 -49
  366. package/dist/cjs/Dialogs/DialogInitialFocus.js.map +0 -1
  367. package/dist/cjs/Dialogs/index.js +0 -18
  368. package/dist/cjs/Dialogs/index.js.map +0 -1
  369. package/dist/cjs/Dropdown/Dropdown.js +0 -29
  370. package/dist/cjs/Dropdown/Dropdown.js.map +0 -1
  371. package/dist/cjs/Dropdown/index.js +0 -9
  372. package/dist/cjs/Dropdown/index.js.map +0 -1
  373. package/dist/cjs/Filter/FilterEditor.js +0 -28
  374. package/dist/cjs/Filter/FilterEditor.js.map +0 -1
  375. package/dist/cjs/Filter/FilterPanel.css +0 -459
  376. package/dist/cjs/Filter/FilterPanel.js +0 -109
  377. package/dist/cjs/Filter/FilterPanel.js.map +0 -1
  378. package/dist/cjs/Filter/RangeHistogramFilter.js +0 -121
  379. package/dist/cjs/Filter/RangeHistogramFilter.js.map +0 -1
  380. package/dist/cjs/Filter/index.js +0 -18
  381. package/dist/cjs/Filter/index.js.map +0 -1
  382. package/dist/cjs/Filter/useFilterState.js +0 -111
  383. package/dist/cjs/Filter/useFilterState.js.map +0 -1
  384. package/dist/cjs/Filter/utils.js +0 -28
  385. package/dist/cjs/Filter/utils.js.map +0 -1
  386. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js +0 -268
  387. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js.map +0 -1
  388. package/dist/cjs/ObjectContentEditor/index.js +0 -9
  389. package/dist/cjs/ObjectContentEditor/index.js.map +0 -1
  390. package/dist/cjs/ObjectContentEditor/objectHelpers.js +0 -25
  391. package/dist/cjs/ObjectContentEditor/objectHelpers.js.map +0 -1
  392. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.css +0 -6
  393. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js +0 -49
  394. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js.map +0 -1
  395. package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js +0 -21
  396. package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js.map +0 -1
  397. package/dist/cjs/ObjectNavigationalBar/index.js +0 -9
  398. package/dist/cjs/ObjectNavigationalBar/index.js.map +0 -1
  399. package/dist/cjs/PivotViewer/PivotViewer.css +0 -1323
  400. package/dist/cjs/PivotViewer/PivotViewer.js +0 -307
  401. package/dist/cjs/PivotViewer/PivotViewer.js.map +0 -1
  402. package/dist/cjs/PivotViewer/components/AxisLabels.js +0 -28
  403. package/dist/cjs/PivotViewer/components/AxisLabels.js.map +0 -1
  404. package/dist/cjs/PivotViewer/components/DetailPanel.js +0 -42
  405. package/dist/cjs/PivotViewer/components/DetailPanel.js.map +0 -1
  406. package/dist/cjs/PivotViewer/components/FilterPanel.js +0 -29
  407. package/dist/cjs/PivotViewer/components/FilterPanel.js.map +0 -1
  408. package/dist/cjs/PivotViewer/components/FilterPanelContainer.js +0 -11
  409. package/dist/cjs/PivotViewer/components/FilterPanelContainer.js.map +0 -1
  410. package/dist/cjs/PivotViewer/components/PivotCanvas.js +0 -558
  411. package/dist/cjs/PivotViewer/components/PivotCanvas.js.map +0 -1
  412. package/dist/cjs/PivotViewer/components/PivotViewerMain.js +0 -98
  413. package/dist/cjs/PivotViewer/components/PivotViewerMain.js.map +0 -1
  414. package/dist/cjs/PivotViewer/components/Spinner.css +0 -77
  415. package/dist/cjs/PivotViewer/components/Spinner.js +0 -11
  416. package/dist/cjs/PivotViewer/components/Spinner.js.map +0 -1
  417. package/dist/cjs/PivotViewer/components/Toolbar.js +0 -44
  418. package/dist/cjs/PivotViewer/components/Toolbar.js.map +0 -1
  419. package/dist/cjs/PivotViewer/components/ToolbarContainer.js +0 -11
  420. package/dist/cjs/PivotViewer/components/ToolbarContainer.js.map +0 -1
  421. package/dist/cjs/PivotViewer/components/pivot/animation.js +0 -90
  422. package/dist/cjs/PivotViewer/components/pivot/animation.js.map +0 -1
  423. package/dist/cjs/PivotViewer/components/pivot/colorResolver.js +0 -66
  424. package/dist/cjs/PivotViewer/components/pivot/colorResolver.js.map +0 -1
  425. package/dist/cjs/PivotViewer/components/pivot/constants.js +0 -22
  426. package/dist/cjs/PivotViewer/components/pivot/constants.js.map +0 -1
  427. package/dist/cjs/PivotViewer/components/pivot/groups.js +0 -166
  428. package/dist/cjs/PivotViewer/components/pivot/groups.js.map +0 -1
  429. package/dist/cjs/PivotViewer/components/pivot/sprites.js +0 -279
  430. package/dist/cjs/PivotViewer/components/pivot/sprites.js.map +0 -1
  431. package/dist/cjs/PivotViewer/components/pivot/visibility.js +0 -359
  432. package/dist/cjs/PivotViewer/components/pivot/visibility.js.map +0 -1
  433. package/dist/cjs/PivotViewer/constants.js +0 -16
  434. package/dist/cjs/PivotViewer/constants.js.map +0 -1
  435. package/dist/cjs/PivotViewer/engine/layout.js +0 -123
  436. package/dist/cjs/PivotViewer/engine/layout.js.map +0 -1
  437. package/dist/cjs/PivotViewer/engine/store.js +0 -365
  438. package/dist/cjs/PivotViewer/engine/store.js.map +0 -1
  439. package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js +0 -45
  440. package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js.map +0 -1
  441. package/dist/cjs/PivotViewer/hooks/useCardSelection.js +0 -74
  442. package/dist/cjs/PivotViewer/hooks/useCardSelection.js.map +0 -1
  443. package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js +0 -41
  444. package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js.map +0 -1
  445. package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js +0 -58
  446. package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js.map +0 -1
  447. package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js +0 -73
  448. package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js.map +0 -1
  449. package/dist/cjs/PivotViewer/hooks/useDimensionState.js +0 -45
  450. package/dist/cjs/PivotViewer/hooks/useDimensionState.js.map +0 -1
  451. package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js +0 -52
  452. package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js.map +0 -1
  453. package/dist/cjs/PivotViewer/hooks/useFilterOptions.js +0 -26
  454. package/dist/cjs/PivotViewer/hooks/useFilterOptions.js.map +0 -1
  455. package/dist/cjs/PivotViewer/hooks/useFilterState.js +0 -101
  456. package/dist/cjs/PivotViewer/hooks/useFilterState.js.map +0 -1
  457. package/dist/cjs/PivotViewer/hooks/usePanning.js +0 -138
  458. package/dist/cjs/PivotViewer/hooks/usePanning.js.map +0 -1
  459. package/dist/cjs/PivotViewer/hooks/usePivotEngine.js +0 -229
  460. package/dist/cjs/PivotViewer/hooks/usePivotEngine.js.map +0 -1
  461. package/dist/cjs/PivotViewer/hooks/useScrollSync.js +0 -27
  462. package/dist/cjs/PivotViewer/hooks/useScrollSync.js.map +0 -1
  463. package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js +0 -52
  464. package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js.map +0 -1
  465. package/dist/cjs/PivotViewer/hooks/useWheelZoom.js +0 -106
  466. package/dist/cjs/PivotViewer/hooks/useWheelZoom.js.map +0 -1
  467. package/dist/cjs/PivotViewer/hooks/useZoomState.js +0 -37
  468. package/dist/cjs/PivotViewer/hooks/useZoomState.js.map +0 -1
  469. package/dist/cjs/PivotViewer/index.js +0 -13
  470. package/dist/cjs/PivotViewer/index.js.map +0 -1
  471. package/dist/cjs/PivotViewer/types.js +0 -33
  472. package/dist/cjs/PivotViewer/types.js.map +0 -1
  473. package/dist/cjs/PivotViewer/utils/animations.js +0 -169
  474. package/dist/cjs/PivotViewer/utils/animations.js.map +0 -1
  475. package/dist/cjs/PivotViewer/utils/cardPosition.js +0 -82
  476. package/dist/cjs/PivotViewer/utils/cardPosition.js.map +0 -1
  477. package/dist/cjs/PivotViewer/utils/constants.js +0 -19
  478. package/dist/cjs/PivotViewer/utils/constants.js.map +0 -1
  479. package/dist/cjs/PivotViewer/utils/idResolution.js +0 -50
  480. package/dist/cjs/PivotViewer/utils/idResolution.js.map +0 -1
  481. package/dist/cjs/PivotViewer/utils/selection.js +0 -188
  482. package/dist/cjs/PivotViewer/utils/selection.js.map +0 -1
  483. package/dist/cjs/PivotViewer/utils/utils.js +0 -153
  484. package/dist/cjs/PivotViewer/utils/utils.js.map +0 -1
  485. package/dist/cjs/SchemaEditor/NameCell.js +0 -38
  486. package/dist/cjs/SchemaEditor/NameCell.js.map +0 -1
  487. package/dist/cjs/SchemaEditor/SchemaEditor.js +0 -333
  488. package/dist/cjs/SchemaEditor/SchemaEditor.js.map +0 -1
  489. package/dist/cjs/SchemaEditor/SchemaEditor.module.css +0 -15
  490. package/dist/cjs/SchemaEditor/TypeCell.js +0 -102
  491. package/dist/cjs/SchemaEditor/TypeCell.js.map +0 -1
  492. package/dist/cjs/SchemaEditor/index.js +0 -11
  493. package/dist/cjs/SchemaEditor/index.js.map +0 -1
  494. package/dist/cjs/SchemaEditor/schemaHelpers.js +0 -41
  495. package/dist/cjs/SchemaEditor/schemaHelpers.js.map +0 -1
  496. package/dist/cjs/TimeMachine/EventsView.css +0 -213
  497. package/dist/cjs/TimeMachine/EventsView.js +0 -70
  498. package/dist/cjs/TimeMachine/EventsView.js.map +0 -1
  499. package/dist/cjs/TimeMachine/Properties.css +0 -57
  500. package/dist/cjs/TimeMachine/Properties.js +0 -34
  501. package/dist/cjs/TimeMachine/Properties.js.map +0 -1
  502. package/dist/cjs/TimeMachine/ReadModelView.js +0 -51
  503. package/dist/cjs/TimeMachine/ReadModelView.js.map +0 -1
  504. package/dist/cjs/TimeMachine/TimeMachine.css +0 -587
  505. package/dist/cjs/TimeMachine/TimeMachine.js +0 -110
  506. package/dist/cjs/TimeMachine/TimeMachine.js.map +0 -1
  507. package/dist/cjs/TimeMachine/index.js +0 -15
  508. package/dist/cjs/TimeMachine/index.js.map +0 -1
  509. package/dist/cjs/TimeMachine/propertiesHelpers.js +0 -16
  510. package/dist/cjs/TimeMachine/propertiesHelpers.js.map +0 -1
  511. package/dist/cjs/Toolbar/Toolbar.css +0 -357
  512. package/dist/cjs/Toolbar/Toolbar.js +0 -15
  513. package/dist/cjs/Toolbar/Toolbar.js.map +0 -1
  514. package/dist/cjs/Toolbar/ToolbarButton.js +0 -42
  515. package/dist/cjs/Toolbar/ToolbarButton.js.map +0 -1
  516. package/dist/cjs/Toolbar/ToolbarContext.js +0 -14
  517. package/dist/cjs/Toolbar/ToolbarContext.js.map +0 -1
  518. package/dist/cjs/Toolbar/ToolbarDragContext.js +0 -24
  519. package/dist/cjs/Toolbar/ToolbarDragContext.js.map +0 -1
  520. package/dist/cjs/Toolbar/ToolbarFanOutItem.js +0 -75
  521. package/dist/cjs/Toolbar/ToolbarFanOutItem.js.map +0 -1
  522. package/dist/cjs/Toolbar/ToolbarFolder.js +0 -55
  523. package/dist/cjs/Toolbar/ToolbarFolder.js.map +0 -1
  524. package/dist/cjs/Toolbar/ToolbarFolderContext.js +0 -20
  525. package/dist/cjs/Toolbar/ToolbarFolderContext.js.map +0 -1
  526. package/dist/cjs/Toolbar/ToolbarGroup.js +0 -107
  527. package/dist/cjs/Toolbar/ToolbarGroup.js.map +0 -1
  528. package/dist/cjs/Toolbar/ToolbarLayout.js +0 -119
  529. package/dist/cjs/Toolbar/ToolbarLayout.js.map +0 -1
  530. package/dist/cjs/Toolbar/ToolbarSection.js +0 -127
  531. package/dist/cjs/Toolbar/ToolbarSection.js.map +0 -1
  532. package/dist/cjs/Toolbar/ToolbarSeparator.js +0 -14
  533. package/dist/cjs/Toolbar/ToolbarSeparator.js.map +0 -1
  534. package/dist/cjs/Toolbar/ToolbarSlot.js +0 -125
  535. package/dist/cjs/Toolbar/ToolbarSlot.js.map +0 -1
  536. package/dist/cjs/Toolbar/index.js +0 -29
  537. package/dist/cjs/Toolbar/index.js.map +0 -1
  538. package/dist/cjs/index.js +0 -41
  539. package/dist/cjs/index.js.map +0 -1
  540. package/dist/cjs/package.json +0 -3
  541. package/dist/cjs/tailwind-utilities.css +0 -1159
  542. package/dist/cjs/tokens.css +0 -83
  543. package/dist/cjs/types/TypeFormat.js +0 -22
  544. package/dist/cjs/types/TypeFormat.js.map +0 -1
  545. package/dist/cjs/types/index.js.map +0 -1
  546. package/dist/cjs/useOverlayZIndex.js +0 -65
  547. package/dist/cjs/useOverlayZIndex.js.map +0 -1
  548. package/dist/esm/CommandDialog/CommandStepper.css +0 -24
  549. package/dist/esm/Common/FormElement.css +0 -26
  550. package/dist/esm/Common/Tooltip.css +0 -10
  551. package/dist/esm/Filter/FilterPanel.css +0 -459
  552. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.css +0 -6
  553. package/dist/esm/PivotViewer/PivotViewer.css +0 -1323
  554. package/dist/esm/PivotViewer/components/Spinner.css +0 -77
  555. package/dist/esm/SchemaEditor/SchemaEditor.module.css +0 -15
  556. package/dist/esm/TimeMachine/EventsView.css +0 -213
  557. package/dist/esm/TimeMachine/Properties.css +0 -57
  558. package/dist/esm/TimeMachine/TimeMachine.css +0 -587
  559. package/dist/esm/Toolbar/Toolbar.css +0 -357
  560. package/dist/esm/tailwind-utilities.css +0 -1159
  561. package/dist/esm/tsconfig.tsbuildinfo +0 -1
  562. package/dist/esm/useOverlayZIndex.d.ts +0 -3
  563. package/dist/esm/useOverlayZIndex.d.ts.map +0 -1
  564. package/dist/esm/useOverlayZIndex.js +0 -62
  565. package/dist/esm/useOverlayZIndex.js.map +0 -1
  566. package/dist/esm/vite.config.d.ts +0 -3
  567. package/dist/esm/vite.config.d.ts.map +0 -1
  568. package/dist/esm/vite.config.js +0 -77
  569. package/dist/esm/vite.config.js.map +0 -1
  570. package/dist/esm/vitest.setup.d.ts +0 -2
  571. package/dist/esm/vitest.setup.d.ts.map +0 -1
  572. package/dist/esm/vitest.setup.js +0 -6
  573. package/dist/esm/vitest.setup.js.map +0 -1
@@ -1,138 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
-
5
- // Copyright (c) Cratis. All rights reserved.
6
- // Licensed under the MIT license. See LICENSE file in the project root for full license information.
7
- function usePanning(containerRef, onBackgroundClick, onScrollChange) {
8
- const [isPanning, setIsPanning] = React.useState(false);
9
- const panStartRef = React.useRef(null);
10
- const velocityRef = React.useRef({ x: 0, y: 0 });
11
- const lastMouseRef = React.useRef(null);
12
- const inertiaAnimationRef = React.useRef(null);
13
- const didDragRef = React.useRef(false);
14
- const clickedOnBackgroundRef = React.useRef(false);
15
- const stopInertia = React.useCallback(() => {
16
- if (inertiaAnimationRef.current) {
17
- cancelAnimationFrame(inertiaAnimationRef.current);
18
- inertiaAnimationRef.current = null;
19
- }
20
- }, []);
21
- const handlePanStart = React.useCallback((e, isExplicitlyOnCard) => {
22
- const container = containerRef.current;
23
- if (!container)
24
- return;
25
- stopInertia();
26
- const target = e.target;
27
- // Check if explicitly on card (from Pixi) or via DOM (fallback)
28
- const isOnCard = isExplicitlyOnCard ?? !!target.closest('.pv-card');
29
- clickedOnBackgroundRef.current = !isOnCard;
30
- didDragRef.current = false;
31
- velocityRef.current = { x: 0, y: 0 };
32
- if (e.button === 1 || (e.button === 0 && (e.altKey || !isOnCard))) {
33
- if (!isOnCard) {
34
- e.preventDefault?.();
35
- }
36
- setIsPanning(true);
37
- panStartRef.current = {
38
- x: e.clientX,
39
- y: e.clientY,
40
- scrollLeft: container.scrollLeft,
41
- scrollTop: container.scrollTop,
42
- };
43
- lastMouseRef.current = { x: e.clientX, y: e.clientY, time: performance.now() };
44
- }
45
- }, [containerRef, stopInertia]);
46
- const handlePanMove = React.useCallback((e) => {
47
- const panStart = panStartRef.current;
48
- if (!isPanning || !panStart)
49
- return;
50
- const dx = e.clientX - panStart.x;
51
- const dy = e.clientY - panStart.y;
52
- // Mark as dragged if moved more than 3 pixels
53
- if (Math.abs(dx) > 3 || Math.abs(dy) > 3) {
54
- didDragRef.current = true;
55
- }
56
- // Camera moves opposite to drag direction
57
- const newCameraX = panStart.scrollLeft - dx;
58
- const newCameraY = panStart.scrollTop - dy;
59
- // Update camera position
60
- // Update container scroll directly so the visual camera follows the drag
61
- const container = containerRef.current;
62
- if (container) {
63
- // Constrain scroll position to prevent viewing beyond content bounds
64
- const maxScrollLeft = Math.max(0, container.scrollWidth - container.clientWidth);
65
- const maxScrollTop = Math.max(0, container.scrollHeight - container.clientHeight);
66
- container.scrollLeft = Math.max(0, Math.min(maxScrollLeft, Math.round(newCameraX)));
67
- container.scrollTop = Math.max(0, Math.min(maxScrollTop, Math.round(newCameraY)));
68
- }
69
- // Also notify parent about scroll change (keeps external state in sync)
70
- if (onScrollChange) {
71
- onScrollChange({ x: container ? container.scrollLeft : newCameraX, y: container ? container.scrollTop : newCameraY });
72
- }
73
- // Track velocity for inertia
74
- const now = performance.now();
75
- const last = lastMouseRef.current;
76
- if (last) {
77
- const dt = now - last.time;
78
- if (dt > 0 && dt < 50) {
79
- const instantVx = (last.x - e.clientX) / dt;
80
- const instantVy = (last.y - e.clientY) / dt;
81
- velocityRef.current = {
82
- x: velocityRef.current.x * 0.5 + instantVx * 0.5,
83
- y: velocityRef.current.y * 0.5 + instantVy * 0.5,
84
- };
85
- }
86
- }
87
- lastMouseRef.current = { x: e.clientX, y: e.clientY, time: now };
88
- }, [isPanning, containerRef, onScrollChange]);
89
- const handlePanEnd = React.useCallback(() => {
90
- const wasPanning = isPanning;
91
- const velocity = { ...velocityRef.current };
92
- setIsPanning(false);
93
- panStartRef.current = null;
94
- // If clicked on background and didn't drag, trigger deselect
95
- if (clickedOnBackgroundRef.current && !didDragRef.current && onBackgroundClick) ;
96
- if (!wasPanning) {
97
- return;
98
- }
99
- const container = containerRef.current;
100
- if (!container) {
101
- lastMouseRef.current = null;
102
- return;
103
- }
104
- const speed = Math.sqrt(velocity.x * velocity.x + velocity.y * velocity.y);
105
- // Start inertia if moving fast enough
106
- if (speed > 0.3) {
107
- let vx = velocity.x * 16;
108
- let vy = velocity.y * 16;
109
- const animate = () => {
110
- const currentSpeed = Math.sqrt(vx * vx + vy * vy);
111
- if (currentSpeed < 0.5) {
112
- inertiaAnimationRef.current = null;
113
- return;
114
- }
115
- // Constrain scroll position to prevent viewing beyond content bounds
116
- const maxScrollLeft = Math.max(0, container.scrollWidth - container.clientWidth);
117
- const maxScrollTop = Math.max(0, container.scrollHeight - container.clientHeight);
118
- container.scrollLeft = Math.max(0, Math.min(maxScrollLeft, container.scrollLeft + vx));
119
- container.scrollTop = Math.max(0, Math.min(maxScrollTop, container.scrollTop + vy));
120
- // Decay
121
- vx *= 0.95;
122
- vy *= 0.95;
123
- inertiaAnimationRef.current = requestAnimationFrame(animate);
124
- };
125
- inertiaAnimationRef.current = requestAnimationFrame(animate);
126
- }
127
- lastMouseRef.current = null;
128
- }, [isPanning, containerRef, onBackgroundClick]);
129
- return {
130
- isPanning,
131
- handlePanStart,
132
- handlePanMove,
133
- handlePanEnd,
134
- };
135
- }
136
-
137
- exports.usePanning = usePanning;
138
- //# sourceMappingURL=usePanning.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePanning.js","sources":["../../../../PivotViewer/hooks/usePanning.ts"],"sourcesContent":[null],"names":["useState","useRef","useCallback"],"mappings":"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"}
@@ -1,229 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var store = require('../engine/store.js');
5
-
6
- var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
7
- // Copyright (c) Cratis. All rights reserved.
8
- // Licensed under the MIT license. See LICENSE file in the project root for full license information.
9
- function usePivotEngine({ data, fieldExtractors, indexFields, }) {
10
- const [ready, setReady] = React.useState(false);
11
- const [workerAvailable, setWorkerAvailable] = React.useState(false);
12
- const workerRef = React.useRef(null);
13
- const indexesRef = React.useRef(null);
14
- const fallbackRef = React.useRef(false);
15
- const storeRef = React.useRef(null);
16
- const pendingCallbacksRef = React.useRef(new Map());
17
- React.useEffect(() => {
18
- if (typeof window === 'undefined' || typeof Worker === 'undefined') {
19
- fallbackRef.current = true;
20
- setWorkerAvailable(false);
21
- return;
22
- }
23
- const workerUrl = new URL('../engine/pivot.worker.js', (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('PivotViewer/hooks/usePivotEngine.js', document.baseURI).href)));
24
- let disposed = false;
25
- const enableFallback = () => {
26
- fallbackRef.current = true;
27
- workerRef.current = null;
28
- setWorkerAvailable(false);
29
- };
30
- const setupWorker = async () => {
31
- try {
32
- if (typeof fetch === 'function') {
33
- const response = await fetch(workerUrl, { method: 'HEAD' });
34
- const contentType = response.headers.get('content-type') ?? '';
35
- if (!response.ok || !contentType.includes('javascript')) {
36
- enableFallback();
37
- return;
38
- }
39
- }
40
- }
41
- catch {
42
- enableFallback();
43
- return;
44
- }
45
- if (disposed) {
46
- return;
47
- }
48
- const worker = new Worker(workerUrl, { type: 'module' });
49
- workerRef.current = worker;
50
- setWorkerAvailable(true);
51
- worker.onmessage = (e) => {
52
- const message = e.data;
53
- switch (message.type) {
54
- case 'indexesReady':
55
- setReady(true);
56
- break;
57
- case 'filterResult': {
58
- const callback = pendingCallbacksRef.current.get('filter');
59
- if (callback) {
60
- callback(message.result);
61
- pendingCallbacksRef.current.delete('filter');
62
- }
63
- break;
64
- }
65
- case 'groupingResult': {
66
- const callback = pendingCallbacksRef.current.get('grouping');
67
- if (callback) {
68
- callback(message.result);
69
- pendingCallbacksRef.current.delete('grouping');
70
- }
71
- break;
72
- }
73
- case 'sortResult': {
74
- const callback = pendingCallbacksRef.current.get('sort');
75
- if (callback) {
76
- callback(message.result);
77
- pendingCallbacksRef.current.delete('sort');
78
- }
79
- break;
80
- }
81
- }
82
- };
83
- worker.onerror = (error) => {
84
- console.error('[PivotEngine] Worker error:', error);
85
- enableFallback();
86
- if (storeRef.current) {
87
- try {
88
- indexesRef.current = store.buildIndexes(storeRef.current, indexFields);
89
- }
90
- catch (e) {
91
- console.error('[PivotEngine] Failed to build indexes in fallback:', e);
92
- indexesRef.current = null;
93
- }
94
- setReady(true);
95
- }
96
- };
97
- };
98
- void setupWorker();
99
- return () => {
100
- disposed = true;
101
- workerRef.current?.terminate();
102
- workerRef.current = null;
103
- };
104
- }, [indexFields]);
105
- React.useEffect(() => {
106
- setReady(false);
107
- const store$1 = store.buildStore(data, fieldExtractors);
108
- storeRef.current = store$1;
109
- try {
110
- indexesRef.current = store.buildIndexes(store$1, indexFields);
111
- }
112
- catch (e) {
113
- console.error('[PivotEngine] buildIndexes failed:', e);
114
- indexesRef.current = null;
115
- }
116
- if (workerRef.current && !fallbackRef.current) {
117
- const fieldsArray = Array.from(store$1.fields.entries());
118
- const serializableStore = {
119
- ...store$1,
120
- fields: fieldsArray,
121
- };
122
- const message = {
123
- type: 'buildIndexes',
124
- store: serializableStore,
125
- fields: indexFields,
126
- };
127
- workerRef.current.postMessage(message);
128
- }
129
- else {
130
- setReady(true);
131
- }
132
- }, [data, fieldExtractors, indexFields, workerAvailable]);
133
- const applyFiltersCallback = React.useCallback((filters) => {
134
- return new Promise((resolve) => {
135
- // If worker is not available, use synchronous fallback using local indexes
136
- if (!workerRef.current || fallbackRef.current) {
137
- try {
138
- const store$1 = storeRef.current;
139
- const indexes = indexesRef.current;
140
- if (store$1 && indexes) {
141
- const result = store.applyFilters(store$1, indexes, filters);
142
- resolve(result);
143
- return;
144
- }
145
- }
146
- catch (e) {
147
- console.error('[PivotEngine] fallback applyFilters error:', e);
148
- }
149
- // if fallback not possible, return empty result
150
- resolve({ visibleIds: new Uint32Array(0), count: 0 });
151
- return;
152
- }
153
- pendingCallbacksRef.current.set('filter', resolve);
154
- const message = {
155
- type: 'applyFilters',
156
- filters,
157
- };
158
- workerRef.current.postMessage(message);
159
- });
160
- }, [ready]);
161
- const computeGroupingCallback = React.useCallback((visibleIds, groupBy) => {
162
- // Check if there's already a pending grouping request
163
- if (pendingCallbacksRef.current.has('grouping')) {
164
- return Promise.resolve({ groups: [] });
165
- }
166
- return new Promise((resolve) => {
167
- // synchronous fallback if worker unavailable
168
- if (!workerRef.current || fallbackRef.current) {
169
- try {
170
- const store$1 = storeRef.current;
171
- const indexes = indexesRef.current;
172
- if (store$1 && indexes) {
173
- const result = store.computeGrouping(store$1, indexes, visibleIds, groupBy);
174
- resolve(result);
175
- return;
176
- }
177
- }
178
- catch (e) {
179
- console.error('[PivotEngine] fallback computeGrouping error:', e);
180
- }
181
- resolve({ groups: [] });
182
- return;
183
- }
184
- pendingCallbacksRef.current.set('grouping', resolve);
185
- const message = {
186
- type: 'computeGrouping',
187
- visibleIds,
188
- groupBy,
189
- };
190
- workerRef.current.postMessage(message);
191
- });
192
- }, [ready]);
193
- const sortIdsCallback = React.useCallback((visibleIds, sortBy) => {
194
- return new Promise((resolve) => {
195
- // synchronous fallback if worker unavailable
196
- if (!workerRef.current || fallbackRef.current) {
197
- try {
198
- const store$1 = storeRef.current;
199
- if (store$1) {
200
- const result = store.sortIds(store$1, visibleIds, sortBy);
201
- resolve(result);
202
- return;
203
- }
204
- }
205
- catch (e) {
206
- console.error('[PivotEngine] fallback sortIds error:', e);
207
- }
208
- resolve(visibleIds);
209
- return;
210
- }
211
- pendingCallbacksRef.current.set('sort', resolve);
212
- const message = {
213
- type: 'sort',
214
- ids: visibleIds,
215
- sortBy,
216
- };
217
- workerRef.current.postMessage(message);
218
- });
219
- }, [ready]);
220
- return {
221
- ready,
222
- applyFilters: applyFiltersCallback,
223
- computeGrouping: computeGroupingCallback,
224
- sortIds: sortIdsCallback,
225
- };
226
- }
227
-
228
- exports.usePivotEngine = usePivotEngine;
229
- //# sourceMappingURL=usePivotEngine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePivotEngine.js","sources":["../../../../PivotViewer/hooks/usePivotEngine.ts"],"sourcesContent":[null],"names":["useState","useRef","useEffect","buildIndexes","store","buildStore","useCallback","applyFilters","computeGrouping","sortIds"],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
-
5
- // Copyright (c) Cratis. All rights reserved.
6
- // Licensed under the MIT license. See LICENSE file in the project root for full license information.
7
- /**
8
- * Synchronizes axis labels scroll with container scroll
9
- */
10
- function useScrollSync(containerRef, axisLabelsRef, viewMode) {
11
- React.useEffect(() => {
12
- const container = containerRef.current;
13
- const axisLabels = axisLabelsRef.current;
14
- if (!container || !axisLabels || viewMode !== 'grouped')
15
- return;
16
- const handleScroll = () => {
17
- axisLabels.scrollLeft = container.scrollLeft;
18
- };
19
- // Sync immediately
20
- handleScroll();
21
- container.addEventListener('scroll', handleScroll);
22
- return () => container.removeEventListener('scroll', handleScroll);
23
- }, [viewMode, containerRef, axisLabelsRef]);
24
- }
25
-
26
- exports.useScrollSync = useScrollSync;
27
- //# sourceMappingURL=useScrollSync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useScrollSync.js","sources":["../../../../PivotViewer/hooks/useScrollSync.ts"],"sourcesContent":[null],"names":["useEffect"],"mappings":";;;;AAAA;AACA;AAKA;;AAEG;SACa,aAAa,CACzB,YAA6C,EAC7C,aAA8C,EAC9C,QAAkB,EAAA;IAElBA,eAAS,CAAC,MAAK;AACX,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO;QAExC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,QAAQ,KAAK,SAAS;YAAE;QAEzD,MAAM,YAAY,GAAG,MAAK;AACtB,YAAA,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU;AAChD,QAAA,CAAC;;AAGD,QAAA,YAAY,EAAE;AAEd,QAAA,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;QAClD,OAAO,MAAM,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;IACtE,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAC/C;;;;"}
@@ -1,52 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var animations = require('../utils/animations.js');
5
- var constants = require('../utils/constants.js');
6
- var idResolution = require('../utils/idResolution.js');
7
-
8
- // Copyright (c) Cratis. All rights reserved.
9
- // Licensed under the MIT license. See LICENSE file in the project root for full license information.
10
- /**
11
- * Handles scroll positioning when switching view modes or grouping changes
12
- */
13
- function useViewModeScrollHandling({ containerRef, viewMode, grouping, layout, selectedItem, zoomLevel, resolveId, data, setPreSelectionState, }) {
14
- const lastProcessedViewMode = React.useRef(viewMode);
15
- const lastProcessedGrouping = React.useRef(grouping);
16
- React.useEffect(() => {
17
- const viewModeChanged = lastProcessedViewMode.current !== viewMode;
18
- const groupingChanged = lastProcessedGrouping.current !== grouping;
19
- if (!viewModeChanged && !groupingChanged)
20
- return;
21
- lastProcessedViewMode.current = viewMode;
22
- lastProcessedGrouping.current = grouping;
23
- const container = containerRef.current;
24
- if (!container)
25
- return;
26
- // If we have a selected item, keep it centered in the new layout
27
- if (selectedItem) {
28
- const index = data.indexOf(selectedItem);
29
- let itemId = index !== -1 ? index : resolveId(selectedItem, 0);
30
- itemId = idResolution.normalizeIdToLayoutKey(itemId, layout);
31
- const cardPosition = idResolution.getCardPositionFromLayout(itemId, layout, constants.BASE_CARD_WIDTH, constants.BASE_CARD_HEIGHT);
32
- if (cardPosition) {
33
- const detailWidth = viewMode === 'collection' ? 0 : constants.DETAIL_PANEL_WIDTH;
34
- const { scrollLeft, scrollTop } = animations.calculateCenterScrollPosition(container, cardPosition, zoomLevel, detailWidth, layout.totalHeight);
35
- container.scrollTo({ left: scrollLeft, top: scrollTop });
36
- setPreSelectionState(null);
37
- }
38
- }
39
- else if (viewMode === 'grouped') {
40
- // Default behavior for grouped view: scroll to bottom to see the cards
41
- // which are laid out from bottom-to-top. Use layout.totalHeight which is
42
- // the authoritative height in world units, converted back to pixels.
43
- const scrollToHeight = layout.totalHeight * zoomLevel - container.clientHeight;
44
- const targetScrollTop = Math.max(0, scrollToHeight);
45
- container.scrollTop = targetScrollTop;
46
- container.scrollLeft = 0;
47
- }
48
- }, [viewMode, grouping, layout, selectedItem, resolveId, zoomLevel, containerRef, data, setPreSelectionState]);
49
- }
50
-
51
- exports.useViewModeScrollHandling = useViewModeScrollHandling;
52
- //# sourceMappingURL=useViewModeScrollHandling.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useViewModeScrollHandling.js","sources":["../../../../PivotViewer/hooks/useViewModeScrollHandling.ts"],"sourcesContent":[null],"names":["useRef","useEffect","normalizeIdToLayoutKey","getCardPositionFromLayout","BASE_CARD_WIDTH","BASE_CARD_HEIGHT","DETAIL_PANEL_WIDTH","calculateCenterScrollPosition"],"mappings":";;;;;;;AAAA;AACA;AAwBA;;AAEG;AACG,SAAU,yBAAyB,CAAuB,EAC5D,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,SAAS,EACT,SAAS,EACT,IAAI,EACJ,oBAAoB,GACiB,EAAA;AACrC,IAAA,MAAM,qBAAqB,GAAGA,YAAM,CAAC,QAAQ,CAAC;AAC9C,IAAA,MAAM,qBAAqB,GAAGA,YAAM,CAAC,QAAQ,CAAC;IAE9CC,eAAS,CAAC,MAAK;AACX,QAAA,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,KAAK,QAAQ;AAClE,QAAA,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,KAAK,QAAQ;AAElE,QAAA,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe;YAAE;AAE1C,QAAA,qBAAqB,CAAC,OAAO,GAAG,QAAQ;AACxC,QAAA,qBAAqB,CAAC,OAAO,GAAG,QAAQ;AAExC,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;;QAGhB,IAAI,YAAY,EAAE;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;AACxC,YAAA,IAAI,MAAM,GAAoB,KAAK,KAAK,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;AAC/E,YAAA,MAAM,GAAGC,mCAAsB,CAAC,MAAM,EAAE,MAAM,CAAC;AAE/C,YAAA,MAAM,YAAY,GAAGC,sCAAyB,CAAC,MAAM,EAAE,MAAM,EAAEC,yBAAe,EAAEC,0BAAgB,CAAC;YAEjG,IAAI,YAAY,EAAE;AACd,gBAAA,MAAM,WAAW,GAAG,QAAQ,KAAK,YAAY,GAAG,CAAC,GAAGC,4BAAkB;gBAEtE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAGC,wCAA6B,CAC3D,SAAS,EACT,YAAY,EACZ,SAAS,EACT,WAAW,EACX,MAAM,CAAC,WAAW,CACrB;AAED,gBAAA,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;gBACxD,oBAAoB,CAAC,IAAI,CAAC;YAC9B;QACA;AAAO,aAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;;;;YAI/B,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC,YAAY;YAC9E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC;AACnD,YAAA,SAAS,CAAC,SAAS,GAAG,eAAe;AACrC,YAAA,SAAS,CAAC,UAAU,GAAG,CAAC;QAChC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAClH;;;;"}
@@ -1,106 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var utils = require('../utils/utils.js');
5
-
6
- // Copyright (c) Cratis. All rights reserved.
7
- // Licensed under the MIT license. See LICENSE file in the project root for full license information.
8
- function useWheelZoom(containerRef, zoomLevel, setZoomLevel) {
9
- const handleWheel = React.useCallback((e) => {
10
- if (e.ctrlKey || e.metaKey) {
11
- e.preventDefault();
12
- const container = containerRef.current;
13
- if (!container)
14
- return;
15
- container.style.scrollBehavior = 'auto';
16
- const rect = container.getBoundingClientRect();
17
- const cursorX = e.clientX - rect.left;
18
- const cursorY = e.clientY - rect.top;
19
- const scrollX = container.scrollLeft;
20
- const scrollY = container.scrollTop;
21
- // Normalize delta based on deltaMode:
22
- // 0 = DOM_DELTA_PIXEL (trackpad pinch — deltaY is in pixels, small values)
23
- // 1 = DOM_DELTA_LINE (mouse wheel — deltaY is in lines, typically 3)
24
- // 2 = DOM_DELTA_PAGE (rare, treated same as pixel for safety)
25
- let factor;
26
- if (e.deltaMode === 1) {
27
- factor = 0.12; // line-mode: each "line" gives a noticeable zoom step
28
- }
29
- else {
30
- factor = 0.01; // pixel-mode (trackpad pinch) and page-mode: fast zoom step
31
- }
32
- const delta = -e.deltaY * factor;
33
- const newZoom = Math.max(utils.ZOOM_MIN, Math.min(utils.ZOOM_MAX, zoomLevel + delta));
34
- const zoomRatio = newZoom / zoomLevel;
35
- const newScrollLeft = (scrollX + cursorX) * zoomRatio - cursorX;
36
- const newScrollTop = (scrollY + cursorY) * zoomRatio - cursorY;
37
- setZoomLevel(newZoom);
38
- setTimeout(() => {
39
- container.scrollLeft = Math.max(0, newScrollLeft);
40
- container.scrollTop = Math.max(0, newScrollTop);
41
- setTimeout(() => {
42
- container.style.scrollBehavior = '';
43
- }, 50);
44
- }, 0);
45
- }
46
- }, [zoomLevel, setZoomLevel, containerRef]);
47
- React.useEffect(() => {
48
- const container = containerRef.current;
49
- if (!container)
50
- return;
51
- container.addEventListener('wheel', handleWheel, { passive: false });
52
- let lastTouchDistance = 0;
53
- let currentZoom = zoomLevel;
54
- const handleTouchStart = (e) => {
55
- if (e.touches.length === 2) {
56
- const dx = e.touches[0].clientX - e.touches[1].clientX;
57
- const dy = e.touches[0].clientY - e.touches[1].clientY;
58
- lastTouchDistance = Math.sqrt(dx * dx + dy * dy);
59
- currentZoom = zoomLevel;
60
- }
61
- };
62
- const handleTouchMove = (e) => {
63
- if (e.touches.length === 2) {
64
- e.preventDefault();
65
- const dx = e.touches[0].clientX - e.touches[1].clientX;
66
- const dy = e.touches[0].clientY - e.touches[1].clientY;
67
- const distance = Math.sqrt(dx * dx + dy * dy);
68
- const centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2;
69
- const centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2;
70
- const rect = container.getBoundingClientRect();
71
- const cursorX = centerX - rect.left;
72
- const cursorY = centerY - rect.top;
73
- if (lastTouchDistance > 0) {
74
- const scale = distance / lastTouchDistance;
75
- const newZoom = Math.max(utils.ZOOM_MIN, Math.min(utils.ZOOM_MAX, currentZoom * scale));
76
- const zoomRatio = newZoom / zoomLevel;
77
- const contentX = container.scrollLeft + cursorX;
78
- const contentY = container.scrollTop + cursorY;
79
- const newScrollLeft = contentX * zoomRatio - cursorX;
80
- const newScrollTop = contentY * zoomRatio - cursorY;
81
- setZoomLevel(newZoom);
82
- requestAnimationFrame(() => {
83
- container.scrollLeft = Math.max(0, newScrollLeft);
84
- container.scrollTop = Math.max(0, newScrollTop);
85
- });
86
- }
87
- lastTouchDistance = distance;
88
- }
89
- };
90
- const handleTouchEnd = () => {
91
- lastTouchDistance = 0;
92
- };
93
- container.addEventListener('touchstart', handleTouchStart, { passive: true });
94
- container.addEventListener('touchmove', handleTouchMove, { passive: false });
95
- container.addEventListener('touchend', handleTouchEnd, { passive: true });
96
- return () => {
97
- container.removeEventListener('wheel', handleWheel);
98
- container.removeEventListener('touchstart', handleTouchStart);
99
- container.removeEventListener('touchmove', handleTouchMove);
100
- container.removeEventListener('touchend', handleTouchEnd);
101
- };
102
- }, [handleWheel, zoomLevel, setZoomLevel, containerRef]);
103
- }
104
-
105
- exports.useWheelZoom = useWheelZoom;
106
- //# sourceMappingURL=useWheelZoom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWheelZoom.js","sources":["../../../../PivotViewer/hooks/useWheelZoom.ts"],"sourcesContent":[null],"names":["useCallback","ZOOM_MIN","ZOOM_MAX","useEffect"],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var utils = require('../utils/utils.js');
5
-
6
- // Copyright (c) Cratis. All rights reserved.
7
- // Licensed under the MIT license. See LICENSE file in the project root for full license information.
8
- function useZoomState(initialZoom = 1) {
9
- const [zoomLevel, setZoomLevel] = React.useState(initialZoom);
10
- const handleZoomChange = React.useCallback((newZoom) => {
11
- setZoomLevel(Math.max(utils.ZOOM_MIN, Math.min(utils.ZOOM_MAX, newZoom)));
12
- }, []);
13
- const handleZoomIn = React.useCallback(() => {
14
- handleZoomChange(zoomLevel + 0.2);
15
- }, [zoomLevel, handleZoomChange]);
16
- const handleZoomOut = React.useCallback(() => {
17
- handleZoomChange(zoomLevel - 0.2);
18
- }, [zoomLevel, handleZoomChange]);
19
- const handleZoomSlider = React.useCallback((e) => {
20
- handleZoomChange(parseFloat(e.target.value));
21
- }, [handleZoomChange]);
22
- const handleZoomReset = React.useCallback(() => {
23
- handleZoomChange(1);
24
- }, [handleZoomChange]);
25
- return {
26
- zoomLevel,
27
- setZoomLevel,
28
- handleZoomChange,
29
- handleZoomIn,
30
- handleZoomOut,
31
- handleZoomSlider,
32
- handleZoomReset,
33
- };
34
- }
35
-
36
- exports.useZoomState = useZoomState;
37
- //# sourceMappingURL=useZoomState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useZoomState.js","sources":["../../../../PivotViewer/hooks/useZoomState.ts"],"sourcesContent":[null],"names":["useState","useCallback","ZOOM_MIN","ZOOM_MAX"],"mappings":";;;;;AAAA;AACA;AAKM,SAAU,YAAY,CAAC,WAAW,GAAG,CAAC,EAAA;IAC1C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGA,cAAQ,CAAC,WAAW,CAAC;AAEvD,IAAA,MAAM,gBAAgB,GAAGC,iBAAW,CAAC,CAAC,OAAe,KAAI;AACvD,QAAA,YAAY,CAAC,IAAI,CAAC,GAAG,CAACC,cAAQ,EAAE,IAAI,CAAC,GAAG,CAACC,cAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,YAAY,GAAGF,iBAAW,CAAC,MAAK;AACpC,QAAA,gBAAgB,CAAC,SAAS,GAAG,GAAG,CAAC;AACnC,IAAA,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAEjC,IAAA,MAAM,aAAa,GAAGA,iBAAW,CAAC,MAAK;AACrC,QAAA,gBAAgB,CAAC,SAAS,GAAG,GAAG,CAAC;AACnC,IAAA,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAEjC,IAAA,MAAM,gBAAgB,GAAGA,iBAAW,CAAC,CAAC,CAAsC,KAAI;QAC9E,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAA,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;AAEtB,IAAA,MAAM,eAAe,GAAGA,iBAAW,CAAC,MAAK;QACvC,gBAAgB,CAAC,CAAC,CAAC;AACrB,IAAA,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAEtB,OAAO;QACL,SAAS;QACT,YAAY;QACZ,gBAAgB;QAChB,YAAY;QACZ,aAAa;QACb,gBAAgB;QAChB,eAAe;KAChB;AACH;;;;"}