@cratis/components 1.5.1 → 1.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/dist/cjs/CommandDialog/CommandDialog.js +9 -2
  2. package/dist/cjs/CommandDialog/CommandDialog.js.map +1 -1
  3. package/dist/cjs/CommandDialog/StepperCommandDialog.js +21 -2
  4. package/dist/cjs/CommandDialog/StepperCommandDialog.js.map +1 -1
  5. package/dist/cjs/CommandDialog/index.js +2 -1
  6. package/dist/cjs/CommandDialog/index.js.map +1 -1
  7. package/dist/cjs/CommandForm/fields/CalendarField.js.map +1 -1
  8. package/dist/cjs/CommandForm/fields/CheckboxField.js.map +1 -1
  9. package/dist/cjs/CommandForm/fields/ChipsField.js.map +1 -1
  10. package/dist/cjs/CommandForm/fields/ColorPickerField.js.map +1 -1
  11. package/dist/cjs/CommandForm/fields/DropdownField.js.map +1 -1
  12. package/dist/cjs/CommandForm/fields/InputTextField.js.map +1 -1
  13. package/dist/cjs/CommandForm/fields/MultiSelectField.js.map +1 -1
  14. package/dist/cjs/CommandForm/fields/NumberField.js.map +1 -1
  15. package/dist/cjs/CommandForm/fields/SliderField.js.map +1 -1
  16. package/dist/cjs/CommandForm/fields/TextAreaField.js.map +1 -1
  17. package/dist/cjs/CommandForm/index.js +2 -34
  18. package/dist/cjs/CommandForm/index.js.map +1 -1
  19. package/dist/cjs/Common/ErrorBoundary.js.map +1 -1
  20. package/dist/cjs/Common/FormElement.js.map +1 -1
  21. package/dist/cjs/Common/Page.js.map +1 -1
  22. package/dist/cjs/Common/Tooltip.js +4 -0
  23. package/dist/cjs/Common/Tooltip.js.map +1 -1
  24. package/dist/cjs/Common/index.js +2 -1
  25. package/dist/cjs/Common/index.js.map +1 -1
  26. package/dist/cjs/DataPage/DataPage.js +6 -0
  27. package/dist/cjs/DataPage/DataPage.js.map +1 -1
  28. package/dist/cjs/DataPage/index.js +2 -1
  29. package/dist/cjs/DataPage/index.js.map +1 -1
  30. package/dist/cjs/DataTables/DataTableForObservableQuery.js +5 -0
  31. package/dist/cjs/DataTables/DataTableForObservableQuery.js.map +1 -1
  32. package/dist/cjs/DataTables/DataTableForQuery.js +5 -0
  33. package/dist/cjs/DataTables/DataTableForQuery.js.map +1 -1
  34. package/dist/cjs/DataTables/index.js +2 -1
  35. package/dist/cjs/DataTables/index.js.map +1 -1
  36. package/dist/cjs/Dialogs/BusyIndicatorDialog.js.map +1 -1
  37. package/dist/cjs/Dialogs/ConfirmationDialog.js.map +1 -1
  38. package/dist/cjs/Dialogs/Dialog.js +7 -1
  39. package/dist/cjs/Dialogs/Dialog.js.map +1 -1
  40. package/dist/cjs/Dialogs/index.js +2 -1
  41. package/dist/cjs/Dialogs/index.js.map +1 -1
  42. package/dist/cjs/Dropdown/Dropdown.js +1 -0
  43. package/dist/cjs/Dropdown/Dropdown.js.map +1 -1
  44. package/dist/cjs/Dropdown/index.js +2 -1
  45. package/dist/cjs/Dropdown/index.js.map +1 -1
  46. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
  47. package/dist/cjs/ObjectContentEditor/index.js +2 -1
  48. package/dist/cjs/ObjectContentEditor/index.js.map +1 -1
  49. package/dist/cjs/ObjectContentEditor/objectHelpers.js +6 -0
  50. package/dist/cjs/ObjectContentEditor/objectHelpers.js.map +1 -1
  51. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
  52. package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js +6 -0
  53. package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js.map +1 -1
  54. package/dist/cjs/ObjectNavigationalBar/index.js +2 -1
  55. package/dist/cjs/ObjectNavigationalBar/index.js.map +1 -1
  56. package/dist/cjs/PivotViewer/PivotViewer.js +28 -0
  57. package/dist/cjs/PivotViewer/PivotViewer.js.map +1 -1
  58. package/dist/cjs/PivotViewer/components/AxisLabels.js +4 -0
  59. package/dist/cjs/PivotViewer/components/AxisLabels.js.map +1 -1
  60. package/dist/cjs/PivotViewer/components/DetailPanel.js.map +1 -1
  61. package/dist/cjs/PivotViewer/components/FilterPanel.js +4 -0
  62. package/dist/cjs/PivotViewer/components/FilterPanel.js.map +1 -1
  63. package/dist/cjs/PivotViewer/components/FilterPanelContainer.js.map +1 -1
  64. package/dist/cjs/PivotViewer/components/PivotCanvas.js +138 -2
  65. package/dist/cjs/PivotViewer/components/PivotCanvas.js.map +1 -1
  66. package/dist/cjs/PivotViewer/components/PivotViewerMain.js +4 -0
  67. package/dist/cjs/PivotViewer/components/PivotViewerMain.js.map +1 -1
  68. package/dist/cjs/PivotViewer/components/RangeHistogramFilter.js.map +1 -1
  69. package/dist/cjs/PivotViewer/components/Spinner.js.map +1 -1
  70. package/dist/cjs/PivotViewer/components/Toolbar.js.map +1 -1
  71. package/dist/cjs/PivotViewer/components/ToolbarContainer.js.map +1 -1
  72. package/dist/cjs/PivotViewer/components/pivot/animation.js +8 -1
  73. package/dist/cjs/PivotViewer/components/pivot/animation.js.map +1 -1
  74. package/dist/cjs/PivotViewer/components/pivot/colorResolver.js +3 -1
  75. package/dist/cjs/PivotViewer/components/pivot/colorResolver.js.map +1 -1
  76. package/dist/cjs/PivotViewer/components/pivot/constants.js +8 -5
  77. package/dist/cjs/PivotViewer/components/pivot/constants.js.map +1 -1
  78. package/dist/cjs/PivotViewer/components/pivot/groups.js +15 -0
  79. package/dist/cjs/PivotViewer/components/pivot/groups.js.map +1 -1
  80. package/dist/cjs/PivotViewer/components/pivot/sprites.js +32 -13
  81. package/dist/cjs/PivotViewer/components/pivot/sprites.js.map +1 -1
  82. package/dist/cjs/PivotViewer/components/pivot/visibility.js +102 -3
  83. package/dist/cjs/PivotViewer/components/pivot/visibility.js.map +1 -1
  84. package/dist/cjs/PivotViewer/constants.js +2 -0
  85. package/dist/cjs/PivotViewer/constants.js.map +1 -1
  86. package/dist/cjs/PivotViewer/engine/layout.js +23 -0
  87. package/dist/cjs/PivotViewer/engine/layout.js.map +1 -1
  88. package/dist/cjs/PivotViewer/engine/store.js +29 -0
  89. package/dist/cjs/PivotViewer/engine/store.js.map +1 -1
  90. package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js +8 -0
  91. package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js.map +1 -1
  92. package/dist/cjs/PivotViewer/hooks/useCardSelection.js +10 -1
  93. package/dist/cjs/PivotViewer/hooks/useCardSelection.js.map +1 -1
  94. package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js +11 -0
  95. package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js.map +1 -1
  96. package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js +6 -0
  97. package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
  98. package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js +11 -1
  99. package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
  100. package/dist/cjs/PivotViewer/hooks/useDimensionState.js +2 -0
  101. package/dist/cjs/PivotViewer/hooks/useDimensionState.js.map +1 -1
  102. package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js +2 -0
  103. package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
  104. package/dist/cjs/PivotViewer/hooks/useFilterOptions.js +2 -0
  105. package/dist/cjs/PivotViewer/hooks/useFilterOptions.js.map +1 -1
  106. package/dist/cjs/PivotViewer/hooks/useFilterState.js +5 -0
  107. package/dist/cjs/PivotViewer/hooks/useFilterState.js.map +1 -1
  108. package/dist/cjs/PivotViewer/hooks/usePanning.js +14 -0
  109. package/dist/cjs/PivotViewer/hooks/usePanning.js.map +1 -1
  110. package/dist/cjs/PivotViewer/hooks/usePivotEngine.js +7 -0
  111. package/dist/cjs/PivotViewer/hooks/usePivotEngine.js.map +1 -1
  112. package/dist/cjs/PivotViewer/hooks/useScrollSync.js +6 -0
  113. package/dist/cjs/PivotViewer/hooks/useScrollSync.js.map +1 -1
  114. package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js +9 -0
  115. package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js.map +1 -1
  116. package/dist/cjs/PivotViewer/hooks/useWheelZoom.js +8 -2
  117. package/dist/cjs/PivotViewer/hooks/useWheelZoom.js.map +1 -1
  118. package/dist/cjs/PivotViewer/hooks/useZoomState.js +2 -0
  119. package/dist/cjs/PivotViewer/hooks/useZoomState.js.map +1 -1
  120. package/dist/cjs/PivotViewer/index.js +2 -1
  121. package/dist/cjs/PivotViewer/index.js.map +1 -1
  122. package/dist/cjs/PivotViewer/types.js +11 -0
  123. package/dist/cjs/PivotViewer/types.js.map +1 -1
  124. package/dist/cjs/PivotViewer/utils/animations.js +35 -2
  125. package/dist/cjs/PivotViewer/utils/animations.js.map +1 -1
  126. package/dist/cjs/PivotViewer/utils/cardPosition.js +21 -3
  127. package/dist/cjs/PivotViewer/utils/cardPosition.js.map +1 -1
  128. package/dist/cjs/PivotViewer/utils/constants.js +3 -0
  129. package/dist/cjs/PivotViewer/utils/constants.js.map +1 -1
  130. package/dist/cjs/PivotViewer/utils/idResolution.js +16 -0
  131. package/dist/cjs/PivotViewer/utils/idResolution.js.map +1 -1
  132. package/dist/cjs/PivotViewer/utils/selection.js +25 -0
  133. package/dist/cjs/PivotViewer/utils/selection.js.map +1 -1
  134. package/dist/cjs/PivotViewer/utils/utils.js +5 -0
  135. package/dist/cjs/PivotViewer/utils/utils.js.map +1 -1
  136. package/dist/cjs/SchemaEditor/NameCell.js.map +1 -1
  137. package/dist/cjs/SchemaEditor/SchemaEditor.js.map +1 -1
  138. package/dist/cjs/SchemaEditor/TypeCell.js.map +1 -1
  139. package/dist/cjs/SchemaEditor/index.js +2 -1
  140. package/dist/cjs/SchemaEditor/index.js.map +1 -1
  141. package/dist/cjs/SchemaEditor/schemaHelpers.js +8 -0
  142. package/dist/cjs/SchemaEditor/schemaHelpers.js.map +1 -1
  143. package/dist/cjs/TimeMachine/EventsView.js +2 -0
  144. package/dist/cjs/TimeMachine/EventsView.js.map +1 -1
  145. package/dist/cjs/TimeMachine/Properties.js.map +1 -1
  146. package/dist/cjs/TimeMachine/ReadModelView.js +1 -0
  147. package/dist/cjs/TimeMachine/ReadModelView.js.map +1 -1
  148. package/dist/cjs/TimeMachine/TimeMachine.js +11 -1
  149. package/dist/cjs/TimeMachine/TimeMachine.js.map +1 -1
  150. package/dist/cjs/TimeMachine/index.js +2 -1
  151. package/dist/cjs/TimeMachine/index.js.map +1 -1
  152. package/dist/cjs/TimeMachine/propertiesHelpers.js +5 -0
  153. package/dist/cjs/TimeMachine/propertiesHelpers.js.map +1 -1
  154. package/dist/cjs/Toolbar/Toolbar.css +8 -0
  155. package/dist/cjs/Toolbar/Toolbar.js +7 -1
  156. package/dist/cjs/Toolbar/Toolbar.js.map +1 -1
  157. package/dist/cjs/Toolbar/ToolbarButton.js +16 -2
  158. package/dist/cjs/Toolbar/ToolbarButton.js.map +1 -1
  159. package/dist/cjs/Toolbar/ToolbarContext.js +8 -0
  160. package/dist/cjs/Toolbar/ToolbarContext.js.map +1 -1
  161. package/dist/cjs/Toolbar/ToolbarDragContext.js +24 -0
  162. package/dist/cjs/Toolbar/ToolbarDragContext.js.map +1 -0
  163. package/dist/cjs/Toolbar/ToolbarFanOutItem.js +11 -0
  164. package/dist/cjs/Toolbar/ToolbarFanOutItem.js.map +1 -1
  165. package/dist/cjs/Toolbar/ToolbarSection.js +18 -1
  166. package/dist/cjs/Toolbar/ToolbarSection.js.map +1 -1
  167. package/dist/cjs/Toolbar/ToolbarSeparator.js +6 -0
  168. package/dist/cjs/Toolbar/ToolbarSeparator.js.map +1 -1
  169. package/dist/cjs/Toolbar/index.js +2 -1
  170. package/dist/cjs/Toolbar/index.js.map +1 -1
  171. package/dist/cjs/tailwind-utilities.css +16 -1
  172. package/dist/cjs/types/TypeFormat.js +2 -0
  173. package/dist/cjs/types/TypeFormat.js.map +1 -1
  174. package/dist/cjs/types/index.js +2 -1
  175. package/dist/cjs/types/index.js.map +1 -1
  176. package/dist/cjs/useOverlayZIndex.js +10 -0
  177. package/dist/cjs/useOverlayZIndex.js.map +1 -1
  178. package/dist/esm/CommandDialog/CommandDialog.d.ts +2 -2
  179. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
  180. package/dist/esm/CommandDialog/CommandDialog.js +9 -2
  181. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
  182. package/dist/esm/CommandDialog/CommandDialog.stories.d.ts +1 -0
  183. package/dist/esm/CommandDialog/CommandDialog.stories.d.ts.map +1 -1
  184. package/dist/esm/CommandDialog/CommandDialog.stories.js +52 -0
  185. package/dist/esm/CommandDialog/CommandDialog.stories.js.map +1 -1
  186. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +2 -2
  187. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -1
  188. package/dist/esm/CommandDialog/StepperCommandDialog.js +21 -2
  189. package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
  190. package/dist/esm/CommandDialog/StepperCommandDialog.stories.d.ts +1 -0
  191. package/dist/esm/CommandDialog/StepperCommandDialog.stories.d.ts.map +1 -1
  192. package/dist/esm/CommandDialog/StepperCommandDialog.stories.js +54 -0
  193. package/dist/esm/CommandDialog/StepperCommandDialog.stories.js.map +1 -1
  194. package/dist/esm/CommandDialog/index.js +3 -0
  195. package/dist/esm/CommandDialog/index.js.map +1 -1
  196. package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
  197. package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
  198. package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
  199. package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
  200. package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
  201. package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
  202. package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
  203. package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
  204. package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
  205. package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
  206. package/dist/esm/CommandForm/index.d.ts +0 -1
  207. package/dist/esm/CommandForm/index.d.ts.map +1 -1
  208. package/dist/esm/CommandForm/index.js +3 -1
  209. package/dist/esm/CommandForm/index.js.map +1 -1
  210. package/dist/esm/Common/ErrorBoundary.js.map +1 -1
  211. package/dist/esm/Common/FormElement.js.map +1 -1
  212. package/dist/esm/Common/Page.js.map +1 -1
  213. package/dist/esm/Common/Tooltip.js +4 -0
  214. package/dist/esm/Common/Tooltip.js.map +1 -1
  215. package/dist/esm/Common/index.js +3 -0
  216. package/dist/esm/Common/index.js.map +1 -1
  217. package/dist/esm/DataPage/DataPage.js +6 -0
  218. package/dist/esm/DataPage/DataPage.js.map +1 -1
  219. package/dist/esm/DataPage/index.js +3 -0
  220. package/dist/esm/DataPage/index.js.map +1 -1
  221. package/dist/esm/DataTables/DataTableForObservableQuery.js +5 -0
  222. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  223. package/dist/esm/DataTables/DataTableForQuery.js +5 -0
  224. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  225. package/dist/esm/DataTables/index.js +3 -0
  226. package/dist/esm/DataTables/index.js.map +1 -1
  227. package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
  228. package/dist/esm/Dialogs/ConfirmationDialog.js.map +1 -1
  229. package/dist/esm/Dialogs/Dialog.js +7 -1
  230. package/dist/esm/Dialogs/Dialog.js.map +1 -1
  231. package/dist/esm/Dialogs/index.js +3 -0
  232. package/dist/esm/Dialogs/index.js.map +1 -1
  233. package/dist/esm/Dropdown/Dropdown.js +1 -0
  234. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  235. package/dist/esm/Dropdown/index.js +3 -0
  236. package/dist/esm/Dropdown/index.js.map +1 -1
  237. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
  238. package/dist/esm/ObjectContentEditor/index.js +3 -0
  239. package/dist/esm/ObjectContentEditor/index.js.map +1 -1
  240. package/dist/esm/ObjectContentEditor/objectHelpers.js +6 -0
  241. package/dist/esm/ObjectContentEditor/objectHelpers.js.map +1 -1
  242. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
  243. package/dist/esm/ObjectNavigationalBar/breadcrumbHelpers.js +6 -0
  244. package/dist/esm/ObjectNavigationalBar/breadcrumbHelpers.js.map +1 -1
  245. package/dist/esm/ObjectNavigationalBar/index.js +3 -0
  246. package/dist/esm/ObjectNavigationalBar/index.js.map +1 -1
  247. package/dist/esm/PivotViewer/PivotViewer.js +28 -0
  248. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
  249. package/dist/esm/PivotViewer/components/AxisLabels.js +4 -0
  250. package/dist/esm/PivotViewer/components/AxisLabels.js.map +1 -1
  251. package/dist/esm/PivotViewer/components/DetailPanel.js.map +1 -1
  252. package/dist/esm/PivotViewer/components/FilterPanel.js +4 -0
  253. package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -1
  254. package/dist/esm/PivotViewer/components/FilterPanelContainer.js.map +1 -1
  255. package/dist/esm/PivotViewer/components/PivotCanvas.js +138 -2
  256. package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
  257. package/dist/esm/PivotViewer/components/PivotViewerMain.js +4 -0
  258. package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
  259. package/dist/esm/PivotViewer/components/RangeHistogramFilter.js.map +1 -1
  260. package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
  261. package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
  262. package/dist/esm/PivotViewer/components/ToolbarContainer.js.map +1 -1
  263. package/dist/esm/PivotViewer/components/pivot/animation.js +8 -1
  264. package/dist/esm/PivotViewer/components/pivot/animation.js.map +1 -1
  265. package/dist/esm/PivotViewer/components/pivot/colorResolver.js +3 -1
  266. package/dist/esm/PivotViewer/components/pivot/colorResolver.js.map +1 -1
  267. package/dist/esm/PivotViewer/components/pivot/constants.js +8 -5
  268. package/dist/esm/PivotViewer/components/pivot/constants.js.map +1 -1
  269. package/dist/esm/PivotViewer/components/pivot/groups.js +15 -0
  270. package/dist/esm/PivotViewer/components/pivot/groups.js.map +1 -1
  271. package/dist/esm/PivotViewer/components/pivot/sprites.js +19 -0
  272. package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
  273. package/dist/esm/PivotViewer/components/pivot/visibility.js +102 -3
  274. package/dist/esm/PivotViewer/components/pivot/visibility.js.map +1 -1
  275. package/dist/esm/PivotViewer/constants.js +2 -0
  276. package/dist/esm/PivotViewer/constants.js.map +1 -1
  277. package/dist/esm/PivotViewer/engine/layout.js +23 -0
  278. package/dist/esm/PivotViewer/engine/layout.js.map +1 -1
  279. package/dist/esm/PivotViewer/engine/store.js +29 -0
  280. package/dist/esm/PivotViewer/engine/store.js.map +1 -1
  281. package/dist/esm/PivotViewer/hooks/useAnimationModeTracking.js +8 -0
  282. package/dist/esm/PivotViewer/hooks/useAnimationModeTracking.js.map +1 -1
  283. package/dist/esm/PivotViewer/hooks/useCardSelection.js +10 -1
  284. package/dist/esm/PivotViewer/hooks/useCardSelection.js.map +1 -1
  285. package/dist/esm/PivotViewer/hooks/useContainerDimensions.js +11 -0
  286. package/dist/esm/PivotViewer/hooks/useContainerDimensions.js.map +1 -1
  287. package/dist/esm/PivotViewer/hooks/useCurrentFilters.js +6 -0
  288. package/dist/esm/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
  289. package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js +11 -1
  290. package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
  291. package/dist/esm/PivotViewer/hooks/useDimensionState.js +2 -0
  292. package/dist/esm/PivotViewer/hooks/useDimensionState.js.map +1 -1
  293. package/dist/esm/PivotViewer/hooks/useFieldExtractors.js +2 -0
  294. package/dist/esm/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
  295. package/dist/esm/PivotViewer/hooks/useFilterOptions.js +2 -0
  296. package/dist/esm/PivotViewer/hooks/useFilterOptions.js.map +1 -1
  297. package/dist/esm/PivotViewer/hooks/useFilterState.js +5 -0
  298. package/dist/esm/PivotViewer/hooks/useFilterState.js.map +1 -1
  299. package/dist/esm/PivotViewer/hooks/usePanning.js +14 -0
  300. package/dist/esm/PivotViewer/hooks/usePanning.js.map +1 -1
  301. package/dist/esm/PivotViewer/hooks/usePivotEngine.js +7 -0
  302. package/dist/esm/PivotViewer/hooks/usePivotEngine.js.map +1 -1
  303. package/dist/esm/PivotViewer/hooks/useScrollSync.js +6 -0
  304. package/dist/esm/PivotViewer/hooks/useScrollSync.js.map +1 -1
  305. package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.js +9 -0
  306. package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.js.map +1 -1
  307. package/dist/esm/PivotViewer/hooks/useWheelZoom.js +8 -2
  308. package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -1
  309. package/dist/esm/PivotViewer/hooks/useZoomState.js +2 -0
  310. package/dist/esm/PivotViewer/hooks/useZoomState.js.map +1 -1
  311. package/dist/esm/PivotViewer/index.js +3 -0
  312. package/dist/esm/PivotViewer/index.js.map +1 -1
  313. package/dist/esm/PivotViewer/types.js +11 -0
  314. package/dist/esm/PivotViewer/types.js.map +1 -1
  315. package/dist/esm/PivotViewer/utils/animations.js +35 -2
  316. package/dist/esm/PivotViewer/utils/animations.js.map +1 -1
  317. package/dist/esm/PivotViewer/utils/cardPosition.js +21 -3
  318. package/dist/esm/PivotViewer/utils/cardPosition.js.map +1 -1
  319. package/dist/esm/PivotViewer/utils/constants.js +3 -0
  320. package/dist/esm/PivotViewer/utils/constants.js.map +1 -1
  321. package/dist/esm/PivotViewer/utils/idResolution.js +16 -0
  322. package/dist/esm/PivotViewer/utils/idResolution.js.map +1 -1
  323. package/dist/esm/PivotViewer/utils/selection.js +25 -0
  324. package/dist/esm/PivotViewer/utils/selection.js.map +1 -1
  325. package/dist/esm/PivotViewer/utils/utils.js +5 -0
  326. package/dist/esm/PivotViewer/utils/utils.js.map +1 -1
  327. package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
  328. package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
  329. package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
  330. package/dist/esm/SchemaEditor/index.js +3 -0
  331. package/dist/esm/SchemaEditor/index.js.map +1 -1
  332. package/dist/esm/SchemaEditor/schemaHelpers.js +8 -0
  333. package/dist/esm/SchemaEditor/schemaHelpers.js.map +1 -1
  334. package/dist/esm/TimeMachine/EventsView.js +2 -0
  335. package/dist/esm/TimeMachine/EventsView.js.map +1 -1
  336. package/dist/esm/TimeMachine/Properties.js.map +1 -1
  337. package/dist/esm/TimeMachine/ReadModelView.js +1 -0
  338. package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
  339. package/dist/esm/TimeMachine/TimeMachine.js +11 -1
  340. package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
  341. package/dist/esm/TimeMachine/index.js +3 -0
  342. package/dist/esm/TimeMachine/index.js.map +1 -1
  343. package/dist/esm/TimeMachine/propertiesHelpers.js +5 -0
  344. package/dist/esm/TimeMachine/propertiesHelpers.js.map +1 -1
  345. package/dist/esm/Toolbar/Toolbar.css +8 -0
  346. package/dist/esm/Toolbar/Toolbar.d.ts +3 -1
  347. package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -1
  348. package/dist/esm/Toolbar/Toolbar.js +7 -1
  349. package/dist/esm/Toolbar/Toolbar.js.map +1 -1
  350. package/dist/esm/Toolbar/Toolbar.stories.d.ts +1 -0
  351. package/dist/esm/Toolbar/Toolbar.stories.d.ts.map +1 -1
  352. package/dist/esm/Toolbar/Toolbar.stories.js +23 -0
  353. package/dist/esm/Toolbar/Toolbar.stories.js.map +1 -1
  354. package/dist/esm/Toolbar/ToolbarButton.d.ts +4 -1
  355. package/dist/esm/Toolbar/ToolbarButton.d.ts.map +1 -1
  356. package/dist/esm/Toolbar/ToolbarButton.js +16 -2
  357. package/dist/esm/Toolbar/ToolbarButton.js.map +1 -1
  358. package/dist/esm/Toolbar/ToolbarContext.js +8 -0
  359. package/dist/esm/Toolbar/ToolbarContext.js.map +1 -1
  360. package/dist/esm/Toolbar/ToolbarDragContext.d.ts +7 -0
  361. package/dist/esm/Toolbar/ToolbarDragContext.d.ts.map +1 -0
  362. package/dist/esm/Toolbar/ToolbarDragContext.js +21 -0
  363. package/dist/esm/Toolbar/ToolbarDragContext.js.map +1 -0
  364. package/dist/esm/Toolbar/ToolbarFanOutItem.js +11 -0
  365. package/dist/esm/Toolbar/ToolbarFanOutItem.js.map +1 -1
  366. package/dist/esm/Toolbar/ToolbarSection.js +18 -1
  367. package/dist/esm/Toolbar/ToolbarSection.js.map +1 -1
  368. package/dist/esm/Toolbar/ToolbarSeparator.js +6 -0
  369. package/dist/esm/Toolbar/ToolbarSeparator.js.map +1 -1
  370. package/dist/esm/Toolbar/index.js +3 -0
  371. package/dist/esm/Toolbar/index.js.map +1 -1
  372. package/dist/esm/tailwind-utilities.css +16 -1
  373. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  374. package/dist/esm/types/TypeFormat.js +2 -0
  375. package/dist/esm/types/TypeFormat.js.map +1 -1
  376. package/dist/esm/types/index.js +3 -0
  377. package/dist/esm/types/index.js.map +1 -1
  378. package/dist/esm/useOverlayZIndex.js +10 -0
  379. package/dist/esm/useOverlayZIndex.js.map +1 -1
  380. package/package.json +12 -13
@@ -8,6 +8,11 @@ var queries$1 = require('@cratis/arc.react/queries');
8
8
  var React = require('react');
9
9
 
10
10
  const paging = new queries.Paging(0, 20);
11
+ /**
12
+ * Represents a DataTable for a query.
13
+ * @param props Props for the component
14
+ * @returns Function to render the DataTableForQuery component
15
+ */
11
16
  const DataTableForQuery = (props) => {
12
17
  const [filters, setFilters] = React.useState(props.defaultFilters ?? {});
13
18
  const [filteredTotal, setFilteredTotal] = React.useState(undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableForQuery.js","sources":["../../../DataTables/DataTableForQuery.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { DataTable, DataTableFilterMeta, DataTableSelectionSingleChangeEvent } from 'primereact/datatable';\nimport { Paginator } from 'primereact/paginator';\nimport { Constructor } from '@cratis/fundamentals';\nimport { IQueryFor, Paging } from '@cratis/arc/queries';\nimport { useQueryWithPaging } from '@cratis/arc.react/queries';\nimport { ReactNode, useState, useRef } from 'react';\n\n/**\n * Props for the DataTableForQuery component\n */\nexport interface DataTableForQueryProps<TQuery extends IQueryFor<TDataType, TArguments>, TDataType extends object, TArguments extends object> {\n /**\n * Children to render\n */\n children?: ReactNode;\n\n /**\n * The type of query to use\n */\n query: Constructor<TQuery>;\n\n /**\n * Optional Arguments to pass to the query\n */\n queryArguments?: TArguments;\n\n /**\n * The message to show when there is no data\n */\n emptyMessage: string;\n\n /**\n * The key to use for the data\n */\n dataKey?: string | undefined;\n\n /**\n * The current selection.\n */\n selection?: TDataType | undefined | null;\n\n /**\n * Callback for when the selection changes\n */\n onSelectionChange?(event: DataTableSelectionSingleChangeEvent<TDataType[]>): void;\n\n /**\n * Fields to use for global filtering\n */\n globalFilterFields?: string[] | undefined;\n\n /**\n * Default filters to use\n */\n defaultFilters?: DataTableFilterMeta;\n\n /**\n * Enable client-side filtering for the data table\n */\n clientFiltering?: boolean;\n}\n\nconst paging = new Paging(0, 20);\n\n/**\n * Represents a DataTable for a query.\n * @param props Props for the component\n * @returns Function to render the DataTableForQuery component\n */\nexport const DataTableForQuery = <TQuery extends IQueryFor<TDataType, TArguments>, TDataType extends object, TArguments extends object>(props: DataTableForQueryProps<TQuery, TDataType, TArguments>) => {\n const [filters, setFilters] = useState<DataTableFilterMeta>(props.defaultFilters ?? {});\n const [filteredTotal, setFilteredTotal] = useState<number | undefined>(undefined);\n const [result, , , setPage] = useQueryWithPaging(props.query, paging, props.queryArguments);\n const containerRef = useRef<HTMLDivElement>(null);\n const isClientFiltering = props.clientFiltering === true;\n const totalRecords = isClientFiltering && filteredTotal !== undefined ? filteredTotal : result.paging.totalItems;\n\n return (\n <div\n ref={containerRef}\n style={{\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n border: '1px solid var(--surface-border)',\n borderRadius: 'var(--border-radius)',\n overflow: 'hidden'\n }}>\n <div style={{ flex: 1, minHeight: 0, overflow: 'auto' }}>\n <DataTable\n value={result.data as unknown as object[]}\n lazy={!isClientFiltering}\n rows={paging.pageSize}\n totalRecords={totalRecords}\n selectionMode='single'\n selection={props.selection}\n onSelectionChange={props.onSelectionChange}\n dataKey={props.dataKey}\n filters={filters}\n filterDisplay='menu'\n onFilter={(e) => {\n setFilters(e.filters);\n if (isClientFiltering) {\n const filteredValue = e.filteredValue as unknown[] | undefined;\n setFilteredTotal(filteredValue ? filteredValue.length : undefined);\n }\n }}\n globalFilterFields={props.globalFilterFields}\n emptyMessage={props.emptyMessage}\n style={{ minWidth: '100%' }}>\n {props.children}\n </DataTable>\n </div>\n\n {result.paging.totalItems > 0 && (\n <div style={{ borderTop: '1px solid var(--surface-border)', flexShrink: 0 }}>\n <Paginator\n first={result.paging.page * paging.pageSize}\n rows={paging.pageSize}\n totalRecords={result.paging.totalItems}\n onPageChange={(e) => setPage(e.page)}\n />\n </div>\n )}\n </div>\n );\n};\n"],"names":["Paging","useState","useQueryWithPaging","useRef","_jsxs","_jsx","DataTable","Paginator"],"mappings":";;;;;;;;;AAiEA,MAAM,MAAM,GAAG,IAAIA,cAAM,CAAC,CAAC,EAAE,EAAE,CAAC;AAOzB,MAAM,iBAAiB,GAAG,CAAuG,KAA4D,KAAI;AACpM,IAAA,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGC,cAAQ,CAAsB,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;IACvF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAGA,cAAQ,CAAqB,SAAS,CAAC;IACjF,MAAM,CAAC,MAAM,MAAM,OAAO,CAAC,GAAGC,4BAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC;AAC3F,IAAA,MAAM,YAAY,GAAGC,YAAM,CAAiB,IAAI,CAAC;AACjD,IAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI;AACxD,IAAA,MAAM,YAAY,GAAG,iBAAiB,IAAI,aAAa,KAAK,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU;AAEhH,IAAA,QACIC,eAAA,CAAA,KAAA,EAAA,EACI,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE;AACH,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,MAAM,EAAE,iCAAiC;AACzC,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,QAAQ,EAAE;AACb,SAAA,EAAA,QAAA,EAAA,CACDC,wBAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAA,QAAA,EACnDA,cAAA,CAACC,mBAAS,EAAA,EACN,KAAK,EAAE,MAAM,CAAC,IAA2B,EACzC,IAAI,EAAE,CAAC,iBAAiB,EACxB,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAC,MAAM,EACpB,QAAQ,EAAE,CAAC,CAAC,KAAI;AACZ,wBAAA,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;wBACrB,IAAI,iBAAiB,EAAE;AACnB,4BAAA,MAAM,aAAa,GAAG,CAAC,CAAC,aAAsC;AAC9D,4BAAA,gBAAgB,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;wBACtE;oBACJ,CAAC,EACD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAA,QAAA,EAC1B,KAAK,CAAC,QAAQ,EAAA,CACP,EAAA,CACV,EAEL,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,KACzBD,cAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,SAAS,EAAE,iCAAiC,EAAE,UAAU,EAAE,CAAC,EAAE,YACvEA,cAAA,CAACE,mBAAS,IACN,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAC3C,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EACtC,YAAY,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GACtC,EAAA,CACA,CACT,CAAA,EAAA,CACC;AAEd;;;;"}
1
+ {"version":3,"file":"DataTableForQuery.js","sources":["../../../DataTables/DataTableForQuery.tsx"],"sourcesContent":[null],"names":["Paging","useState","useQueryWithPaging","useRef","_jsxs","_jsx","DataTable","Paginator"],"mappings":";;;;;;;;;AAiEA,MAAM,MAAM,GAAG,IAAIA,cAAM,CAAC,CAAC,EAAE,EAAE,CAAC;AAEhC;;;;AAIG;AACI,MAAM,iBAAiB,GAAG,CAAuG,KAA4D,KAAI;AACpM,IAAA,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGC,cAAQ,CAAsB,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;IACvF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAGA,cAAQ,CAAqB,SAAS,CAAC;IACjF,MAAM,CAAC,MAAM,MAAM,OAAO,CAAC,GAAGC,4BAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC;AAC3F,IAAA,MAAM,YAAY,GAAGC,YAAM,CAAiB,IAAI,CAAC;AACjD,IAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI;AACxD,IAAA,MAAM,YAAY,GAAG,iBAAiB,IAAI,aAAa,KAAK,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU;AAEhH,IAAA,QACIC,eAAA,CAAA,KAAA,EAAA,EACI,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE;AACH,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,MAAM,EAAE,iCAAiC;AACzC,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,QAAQ,EAAE;AACb,SAAA,EAAA,QAAA,EAAA,CACDC,wBAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAA,QAAA,EACnDA,cAAA,CAACC,mBAAS,EAAA,EACN,KAAK,EAAE,MAAM,CAAC,IAA2B,EACzC,IAAI,EAAE,CAAC,iBAAiB,EACxB,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAC,MAAM,EACpB,QAAQ,EAAE,CAAC,CAAC,KAAI;AACZ,wBAAA,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;wBACrB,IAAI,iBAAiB,EAAE;AACnB,4BAAA,MAAM,aAAa,GAAG,CAAC,CAAC,aAAsC;AAC9D,4BAAA,gBAAgB,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;wBACtE;oBACJ,CAAC,EACD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAA,QAAA,EAC1B,KAAK,CAAC,QAAQ,EAAA,CACP,EAAA,CACV,EAEL,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,KACzBD,cAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,SAAS,EAAE,iCAAiC,EAAE,UAAU,EAAE,CAAC,EAAE,YACvEA,cAAA,CAACE,mBAAS,IACN,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAC3C,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EACtC,YAAY,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GACtC,EAAA,CACA,CACT,CAAA,EAAA,CACC;AAEd;;;;"}
@@ -3,7 +3,8 @@
3
3
  var DataTableForQuery = require('./DataTableForQuery.js');
4
4
  var DataTableForObservableQuery = require('./DataTableForObservableQuery.js');
5
5
 
6
-
6
+ // Copyright (c) Cratis. All rights reserved.
7
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
7
8
 
8
9
  exports.DataTableForQuery = DataTableForQuery.DataTableForQuery;
9
10
  exports.DataTableForObservableQuery = DataTableForObservableQuery.DataTableForObservableQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../DataTables/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;AACA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BusyIndicatorDialog.js","sources":["../../../Dialogs/BusyIndicatorDialog.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { BusyIndicatorDialogRequest } from '@cratis/arc.react/dialogs';\nimport { ProgressSpinner } from 'primereact/progressspinner';\nimport { Dialog } from './Dialog';\n\nexport const BusyIndicatorDialog = (props: BusyIndicatorDialogRequest) => {\n return (\n <Dialog \n title={props.title} \n visible={true} \n onCancel={() => undefined}\n buttons={null}\n >\n <div className=\"flex flex-col items-center justify-center gap-4 py-4\">\n <ProgressSpinner />\n <p className=\"m-0 text-center\">\n {props.message}\n </p>\n </div>\n </Dialog>\n );\n};\n"],"names":["_jsx","Dialog","_jsxs","ProgressSpinner"],"mappings":";;;;;;AAOO,MAAM,mBAAmB,GAAG,CAAC,KAAiC,KAAI;IACrE,QACIA,eAACC,aAAM,EAAA,EACH,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,MAAM,SAAS,EACzB,OAAO,EAAE,IAAI,EAAA,QAAA,EAEbC,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sDAAsD,aACjEF,cAAA,CAACG,+BAAe,KAAG,EACnBH,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,iBAAiB,YACzB,KAAK,CAAC,OAAO,EAAA,CACd,CAAA,EAAA,CACF,EAAA,CACD;AAEjB;;;;"}
1
+ {"version":3,"file":"BusyIndicatorDialog.js","sources":["../../../Dialogs/BusyIndicatorDialog.tsx"],"sourcesContent":[null],"names":["_jsx","Dialog","_jsxs","ProgressSpinner"],"mappings":";;;;;;AAOO,MAAM,mBAAmB,GAAG,CAAC,KAAiC,KAAI;IACrE,QACIA,eAACC,aAAM,EAAA,EACH,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,MAAM,SAAS,EACzB,OAAO,EAAE,IAAI,EAAA,QAAA,EAEbC,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sDAAsD,aACjEF,cAAA,CAACG,+BAAe,KAAG,EACnBH,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,iBAAiB,YACzB,KAAK,CAAC,OAAO,EAAA,CACd,CAAA,EAAA,CACF,EAAA,CACD;AAEjB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationDialog.js","sources":["../../../Dialogs/ConfirmationDialog.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ConfirmationDialogRequest } from '@cratis/arc.react/dialogs';\nimport { DialogResult, useDialogContext } from '@cratis/arc.react/dialogs';\nimport { Dialog } from './Dialog';\n\nexport const ConfirmationDialog = () => {\n const { request, closeDialog } = useDialogContext<ConfirmationDialogRequest>();\n\n const handleClose = (result: DialogResult) => {\n closeDialog(result);\n };\n\n return (\n <Dialog \n title={request.title}\n visible={true}\n onClose={handleClose}\n buttons={request.buttons}\n >\n <p className=\"m-0\">\n {request.message}\n </p>\n </Dialog>\n );\n};\n"],"names":["useDialogContext","_jsx","Dialog"],"mappings":";;;;;;AAOO,MAAM,kBAAkB,GAAG,MAAK;IACnC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAGA,wBAAgB,EAA6B;AAE9E,IAAA,MAAM,WAAW,GAAG,CAAC,MAAoB,KAAI;QACzC,WAAW,CAAC,MAAM,CAAC;AACvB,IAAA,CAAC;AAED,IAAA,QACIC,cAAA,CAACC,aAAM,EAAA,EACH,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAA,QAAA,EAExBD,sBAAG,SAAS,EAAC,KAAK,EAAA,QAAA,EACb,OAAO,CAAC,OAAO,EAAA,CAChB,EAAA,CACC;AAEjB;;;;"}
1
+ {"version":3,"file":"ConfirmationDialog.js","sources":["../../../Dialogs/ConfirmationDialog.tsx"],"sourcesContent":[null],"names":["useDialogContext","_jsx","Dialog"],"mappings":";;;;;;AAOO,MAAM,kBAAkB,GAAG,MAAK;IACnC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAGA,wBAAgB,EAA6B;AAE9E,IAAA,MAAM,WAAW,GAAG,CAAC,MAAoB,KAAI;QACzC,WAAW,CAAC,MAAM,CAAC;AACvB,IAAA,CAAC;AAED,IAAA,QACIC,cAAA,CAACC,aAAM,EAAA,EACH,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAA,QAAA,EAExBD,sBAAG,SAAS,EAAC,KAAK,EAAA,QAAA,EACb,OAAO,CAAC,OAAO,EAAA,CAChB,EAAA,CACC;AAEjB;;;;"}
@@ -6,12 +6,14 @@ var button = require('primereact/button');
6
6
  var dialogs = require('@cratis/arc.react/dialogs');
7
7
 
8
8
  const Dialog = ({ title, visible = true, onClose, onConfirm, onCancel, buttons = dialogs.DialogButtons.OkCancel, children, width = '450px', style, contentStyle, resizable = false, isValid, isBusy = false, okLabel = 'Ok', cancelLabel = 'Cancel', yesLabel = 'Yes', noLabel = 'No' }) => {
9
+ // Try to get dialog context, but allow it to be undefined for standalone usage
9
10
  let contextCloseDialog;
10
11
  try {
11
12
  const context = dialogs.useDialogContext();
12
13
  contextCloseDialog = context?.closeDialog;
13
14
  }
14
15
  catch {
16
+ // No context available - dialog is being used standalone
15
17
  contextCloseDialog = undefined;
16
18
  }
17
19
  const isDialogValid = isValid !== false;
@@ -47,9 +49,11 @@ const Dialog = ({ title, visible = true, onClose, onConfirm, onCancel, buttons =
47
49
  const yesNoFooter = (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(button.Button, { label: yesLabel, icon: "pi pi-check", onClick: () => handleClose(dialogs.DialogResult.Yes), disabled: !isDialogValid || isBusy, loading: isBusy, autoFocus: true }), jsxRuntime.jsx(button.Button, { label: noLabel, icon: "pi pi-times", outlined: true, onClick: () => handleClose(dialogs.DialogResult.No), disabled: isBusy })] }));
48
50
  const yesNoCancelFooter = (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(button.Button, { label: yesLabel, icon: "pi pi-check", onClick: () => handleClose(dialogs.DialogResult.Yes), disabled: !isDialogValid || isBusy, loading: isBusy, autoFocus: true }), jsxRuntime.jsx(button.Button, { label: noLabel, icon: "pi pi-times", outlined: true, onClick: () => handleClose(dialogs.DialogResult.No), disabled: isBusy }), jsxRuntime.jsx(button.Button, { label: cancelLabel, icon: "pi pi-times", outlined: true, onClick: () => handleClose(dialogs.DialogResult.Cancelled), disabled: isBusy })] }));
49
51
  const getFooterInterior = () => {
52
+ // If buttons is a ReactNode (custom buttons), use it directly
50
53
  if (typeof buttons !== 'number') {
51
54
  return buttons;
52
55
  }
56
+ // Otherwise, use predefined buttons based on DialogButtons enum
53
57
  switch (buttons) {
54
58
  case dialogs.DialogButtons.Ok:
55
59
  return okFooter;
@@ -63,7 +67,9 @@ const Dialog = ({ title, visible = true, onClose, onConfirm, onCancel, buttons =
63
67
  return (jsxRuntime.jsx(jsxRuntime.Fragment, {}));
64
68
  };
65
69
  const footer = (jsxRuntime.jsx("div", { className: "flex flex-wrap justify-content-start gap-3", children: getFooterInterior() }));
66
- return (jsxRuntime.jsx(dialog.Dialog, { header: headerElement, modal: true, footer: footer, onHide: typeof buttons === 'number' ? () => handleClose(dialogs.DialogResult.Cancelled) : () => { }, visible: visible, style: { width, ...style }, contentStyle: contentStyle, resizable: resizable, closable: typeof buttons === 'number', children: children }));
70
+ return (jsxRuntime.jsx(dialog.Dialog, { header: headerElement, modal: true, footer: footer,
71
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
72
+ onHide: typeof buttons === 'number' ? () => handleClose(dialogs.DialogResult.Cancelled) : () => { }, visible: visible, style: { width, ...style }, contentStyle: contentStyle, resizable: resizable, closable: typeof buttons === 'number', children: children }));
67
73
  };
68
74
 
69
75
  exports.Dialog = Dialog;
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sources":["../../../Dialogs/Dialog.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Dialog as PrimeDialog, type DialogProps as PrimeDialogProps } from 'primereact/dialog';\nimport { Button } from 'primereact/button';\nimport { DialogResult, DialogButtons, useDialogContext } from '@cratis/arc.react/dialogs';\nimport { ReactNode } from 'react';\n\nexport type CloseDialog = (result: DialogResult) => boolean | void | Promise<boolean> | Promise<void>;\nexport type ConfirmCallback = () => boolean | void | Promise<boolean> | Promise<void>;\nexport type CancelCallback = () => boolean | void | Promise<boolean> | Promise<void>;\n\nexport interface DialogProps {\n title: string;\n visible?: boolean;\n onClose?: CloseDialog;\n onConfirm?: ConfirmCallback;\n onCancel?: CancelCallback;\n buttons?: DialogButtons | ReactNode;\n children: ReactNode;\n width?: string;\n style?: PrimeDialogProps['style'];\n contentStyle?: PrimeDialogProps['contentStyle'];\n resizable?: boolean;\n isValid?: boolean;\n isBusy?: boolean;\n okLabel?: string;\n cancelLabel?: string;\n yesLabel?: string;\n noLabel?: string;\n}\n\nexport const Dialog = ({ \n title, \n visible = true, \n onClose, \n onConfirm,\n onCancel,\n buttons = DialogButtons.OkCancel, \n children, \n width = '450px', \n style,\n contentStyle,\n resizable = false, \n isValid,\n isBusy = false,\n okLabel = 'Ok',\n cancelLabel = 'Cancel',\n yesLabel = 'Yes',\n noLabel = 'No'\n}: DialogProps) => {\n // Try to get dialog context, but allow it to be undefined for standalone usage\n let contextCloseDialog: ((result: DialogResult) => void) | undefined;\n try {\n const context = useDialogContext();\n contextCloseDialog = context?.closeDialog;\n } catch {\n // No context available - dialog is being used standalone\n contextCloseDialog = undefined;\n }\n \n const isDialogValid = isValid !== false;\n const headerElement = (\n <div className=\"inline-flex align-items-center justify-content-center gap-2\">\n <span className=\"font-bold white-space-nowrap\">{title}</span>\n </div>\n );\n\n const handleClose = async (result: DialogResult) => {\n let shouldCloseThroughContext = true;\n\n if (result === DialogResult.Ok || result === DialogResult.Yes) {\n if (onConfirm) {\n const closeResult = await onConfirm();\n shouldCloseThroughContext = closeResult === true;\n } else if (onClose) {\n const closeResult = await onClose(result);\n shouldCloseThroughContext = closeResult !== false;\n }\n } else {\n if (onCancel) {\n const closeResult = await onCancel();\n shouldCloseThroughContext = closeResult === true;\n } else if (onClose) {\n const closeResult = await onClose(result);\n shouldCloseThroughContext = closeResult !== false;\n }\n }\n\n if (shouldCloseThroughContext) {\n contextCloseDialog?.(result);\n }\n };\n\n const okFooter = (\n <>\n <Button label={okLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Ok)} disabled={!isDialogValid || isBusy} loading={isBusy} autoFocus />\n </>\n );\n\n const okCancelFooter = (\n <>\n <Button label={okLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Ok)} disabled={!isDialogValid || isBusy} loading={isBusy} autoFocus />\n <Button label={cancelLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.Cancelled)} disabled={isBusy} />\n </>\n );\n\n const yesNoFooter = (\n <>\n <Button label={yesLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Yes)} disabled={!isDialogValid || isBusy} loading={isBusy} autoFocus />\n <Button label={noLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.No)} disabled={isBusy} />\n </>\n );\n\n const yesNoCancelFooter = (\n <>\n <Button label={yesLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Yes)} disabled={!isDialogValid || isBusy} loading={isBusy} autoFocus />\n <Button label={noLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.No)} disabled={isBusy} />\n <Button label={cancelLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.Cancelled)} disabled={isBusy} />\n </>\n );\n\n const getFooterInterior = () => {\n // If buttons is a ReactNode (custom buttons), use it directly\n if (typeof buttons !== 'number') {\n return buttons;\n }\n\n // Otherwise, use predefined buttons based on DialogButtons enum\n switch (buttons) {\n case DialogButtons.Ok:\n return okFooter;\n case DialogButtons.OkCancel:\n return okCancelFooter;\n case DialogButtons.YesNo:\n return yesNoFooter;\n case DialogButtons.YesNoCancel:\n return yesNoCancelFooter;\n }\n\n return (<></>);\n };\n\n const footer = (\n <div className=\"flex flex-wrap justify-content-start gap-3\">\n {getFooterInterior()}\n </div>\n );\n\n return (\n <PrimeDialog\n header={headerElement}\n modal\n footer={footer}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHide={typeof buttons === 'number' ? () => handleClose(DialogResult.Cancelled) : () => {}}\n visible={visible}\n style={{ width, ...style }}\n contentStyle={contentStyle}\n resizable={resizable}\n closable={typeof buttons === 'number'}>\n {children}\n </PrimeDialog>\n );\n};\n"],"names":["DialogButtons","useDialogContext","_jsx","DialogResult","Button","_jsxs","_Fragment","PrimeDialog"],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sources":["../../../Dialogs/Dialog.tsx"],"sourcesContent":[null],"names":["DialogButtons","useDialogContext","_jsx","DialogResult","Button","_jsxs","_Fragment","PrimeDialog"],"mappings":"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"}
@@ -4,7 +4,8 @@ var BusyIndicatorDialog = require('./BusyIndicatorDialog.js');
4
4
  var ConfirmationDialog = require('./ConfirmationDialog.js');
5
5
  var Dialog = require('./Dialog.js');
6
6
 
7
-
7
+ // Copyright (c) Cratis. All rights reserved.
8
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
8
9
 
9
10
  exports.BusyIndicatorDialog = BusyIndicatorDialog.BusyIndicatorDialog;
10
11
  exports.ConfirmationDialog = ConfirmationDialog.ConfirmationDialog;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../Dialogs/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;AACA;;;;;;"}
@@ -6,6 +6,7 @@ var dropdown = require('primereact/dropdown');
6
6
  var useOverlayZIndex = require('../useOverlayZIndex.js');
7
7
 
8
8
  const Dropdown = React.forwardRef((props, ref) => {
9
+ // Force z-index on the dropdown panel to appear above dialogs
9
10
  useOverlayZIndex.useOverlayZIndex('p-dropdown-panel');
10
11
  return (jsxRuntime.jsx(dropdown.Dropdown, { ref: ref, ...props, appendTo: props.appendTo ?? document.body }));
11
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../Dropdown/Dropdown.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport React from 'react';\nimport { Dropdown as PrimeDropdown, DropdownProps as PrimeDropdownProps } from 'primereact/dropdown';\nimport { useOverlayZIndex } from '../useOverlayZIndex';\n\nexport type DropdownProps = PrimeDropdownProps;\n\nexport const Dropdown = React.forwardRef<PrimeDropdown, DropdownProps>((props, ref) => {\n // Force z-index on the dropdown panel to appear above dialogs\n useOverlayZIndex('p-dropdown-panel');\n\n return (\n <PrimeDropdown\n ref={ref}\n {...props}\n appendTo={props.appendTo ?? document.body}\n />\n );\n});\n\nDropdown.displayName = 'Dropdown';\n"],"names":["useOverlayZIndex","_jsx","PrimeDropdown"],"mappings":";;;;;;;AASO,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,KAAK,EAAE,GAAG,KAAI;IAElFA,iCAAgB,CAAC,kBAAkB,CAAC;IAEpC,QACIC,eAACC,iBAAa,EAAA,EACV,GAAG,EAAE,GAAG,KACJ,KAAK,EACT,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAA,CAC3C;AAEV,CAAC;AAED,QAAQ,CAAC,WAAW,GAAG,UAAU;;;;"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../Dropdown/Dropdown.tsx"],"sourcesContent":[null],"names":["useOverlayZIndex","_jsx","PrimeDropdown"],"mappings":";;;;;;;AASO,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,KAAK,EAAE,GAAG,KAAI;;IAElFA,iCAAgB,CAAC,kBAAkB,CAAC;IAEpC,QACIC,eAACC,iBAAa,EAAA,EACV,GAAG,EAAE,GAAG,KACJ,KAAK,EACT,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAA,CAC3C;AAEV,CAAC;AAED,QAAQ,CAAC,WAAW,GAAG,UAAU;;;;"}
@@ -2,7 +2,8 @@
2
2
 
3
3
  var Dropdown = require('./Dropdown.js');
4
4
 
5
-
5
+ // Copyright (c) Cratis. All rights reserved.
6
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
6
7
 
7
8
  exports.Dropdown = Dropdown.Dropdown;
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../Dropdown/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;AACA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectContentEditor.js","sources":["../../../ObjectContentEditor/ObjectContentEditor.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Tooltip } from 'primereact/tooltip';\nimport React, { useState, useCallback, useMemo, useEffect } from 'react';\nimport * as faIcons from 'react-icons/fa6';\nimport { ObjectNavigationalBar } from '../ObjectNavigationalBar';\nimport { Json, JsonSchema, JsonSchemaProperty } from '../types/JsonSchema';\nimport { getValueAtPath } from './objectHelpers';\nimport { InputText } from 'primereact/inputtext';\nimport { InputNumber } from 'primereact/inputnumber';\nimport { Checkbox } from 'primereact/checkbox';\nimport { Calendar } from 'primereact/calendar';\nimport { InputTextarea } from 'primereact/inputtextarea';\n\nexport interface ObjectContentEditorProps {\n object: Json;\n timestamp?: Date;\n schema: JsonSchema;\n /**\n * When true, renders editable input fields for each property respecting type/format\n */\n editMode?: boolean;\n /**\n * Called with the updated object after any field edit\n */\n onChange?: (object: Json) => void;\n /**\n * Called when the validation state changes\n */\n onValidationChange?: (hasErrors: boolean) => void;\n}\n\nexport const ObjectContentEditor = ({ object, timestamp, schema, editMode = false, onChange, onValidationChange }: ObjectContentEditorProps) => {\n const [navigationPath, setNavigationPath] = useState<string[]>([]);\n const [validationErrors, setValidationErrors] = useState<Record<string, string>>({});\n\n const validateValue = useCallback((propertyName: string, value: Json, property: JsonSchemaProperty): string | undefined => {\n if (editMode) {\n if (value === null || value === undefined || value === '') {\n return 'This field is required';\n }\n } else {\n const isRequired = schema.required?.includes(propertyName);\n if (isRequired && (value === null || value === undefined || value === '')) {\n return 'This field is required';\n }\n }\n\n if (property.type === 'string' && typeof value === 'string') {\n if (property.format === 'email' && value && !value.match(/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/)) {\n return 'Invalid email format';\n }\n if (property.format === 'uri' && value && !value.match(/^https?:\\/\\/.+/)) {\n return 'Invalid URI format';\n }\n }\n\n if (property.type === 'number' || property.type === 'integer') {\n if (value !== null && value !== undefined && value !== '' && isNaN(Number(value))) {\n return 'Must be a valid number';\n }\n }\n\n return undefined;\n }, [schema, editMode]);\n\n useEffect(() => {\n if (!editMode || navigationPath.length > 0) return;\n\n const errors: Record<string, string> = {};\n const properties = schema.properties || {};\n\n Object.entries(properties).forEach(([propertyName, property]) => {\n const value = (object as Record<string, Json>)[propertyName];\n const error = validateValue(propertyName, value, property as JsonSchemaProperty);\n if (error) {\n errors[propertyName] = error;\n }\n });\n\n setValidationErrors(errors);\n }, [object, schema, editMode, navigationPath, validateValue]);\n\n useEffect(() => {\n if (editMode && onValidationChange) {\n const hasErrors = Object.keys(validationErrors).length > 0;\n onValidationChange(hasErrors);\n }\n }, [validationErrors, editMode, onValidationChange]);\n\n const navigateToProperty = useCallback((key: string) => {\n setNavigationPath([...navigationPath, key]);\n }, [navigationPath]);\n\n const navigateToBreadcrumb = useCallback((index: number) => {\n if (index === 0) {\n setNavigationPath([]);\n } else {\n setNavigationPath(navigationPath.slice(0, index));\n }\n }, [navigationPath]);\n\n const currentData = useMemo(() => {\n if (navigationPath.length === 0) {\n return object;\n }\n\n const lastKey = navigationPath[navigationPath.length - 1];\n const pathToParent = navigationPath.slice(0, -1);\n\n const parentValue = pathToParent.length > 0\n ? getValueAtPath(object, pathToParent)\n : object;\n\n if (parentValue && typeof parentValue === 'object' && !Array.isArray(parentValue)) {\n const value = (parentValue as { [k: string]: Json })[lastKey];\n\n if (Array.isArray(value)) {\n return value;\n } else if (value && typeof value === 'object') {\n return value;\n }\n }\n\n return object;\n }, [object, navigationPath, getValueAtPath]);\n\n const currentProperties = useMemo(() => {\n const properties = schema.properties || {};\n\n if (navigationPath.length === 0) {\n return properties;\n }\n\n return {};\n }, [schema, navigationPath]);\n\n const tableStyle: React.CSSProperties = {\n width: '100%',\n borderCollapse: 'collapse',\n fontFamily: '-apple-system, BlinkMacSystemFont, \"SF Mono\", monospace',\n fontSize: '13px',\n };\n\n const rowStyle: React.CSSProperties = {\n borderBottom: '1px solid rgba(255,255,255,0.1)',\n };\n\n const labelStyle: React.CSSProperties = {\n padding: '8px 12px',\n color: 'rgba(255,255,255,0.6)',\n textAlign: 'left',\n fontWeight: 500,\n width: '140px',\n whiteSpace: 'nowrap',\n };\n\n const valueStyle: React.CSSProperties = {\n padding: '8px 12px',\n color: '#fff',\n textAlign: 'left',\n };\n\n const infoIconStyle: React.CSSProperties = {\n fontSize: '0.875rem',\n color: 'var(--text-color-secondary)',\n flexShrink: 0,\n };\n\n const updateValue = useCallback((propertyName: string, newValue: Json) => {\n if (!onChange) return;\n\n const updatedObject = { ...(object as Record<string, Json>) };\n updatedObject[propertyName] = newValue;\n onChange(updatedObject);\n }, [object, onChange]);\n\n const renderEditField = (propertyName: string, property: JsonSchemaProperty, value: Json) => {\n const error = validationErrors[propertyName];\n\n const handleChange = (newValue: Json) => {\n updateValue(propertyName, newValue);\n const validationError = validateValue(propertyName, newValue, property);\n setValidationErrors(prev => {\n const newErrors = { ...prev };\n if (validationError) {\n newErrors[propertyName] = validationError;\n } else {\n delete newErrors[propertyName];\n }\n return newErrors;\n });\n };\n\n const inputStyle = {\n width: '100%',\n ...(error ? { borderColor: 'var(--red-500)' } : {})\n };\n\n if (property.type === 'boolean') {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: '4px' }}>\n <Checkbox\n checked={Boolean(value)}\n onChange={(e) => handleChange(e.checked ?? false)}\n />\n {error && <small className=\"p-error\">{error}</small>}\n </div>\n );\n }\n\n if (property.type === 'number' || property.type === 'integer') {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: '4px' }}>\n <InputNumber\n value={(value === null || value === undefined) ? null : Number(value)}\n onValueChange={(e) => handleChange(e.value ?? null)}\n mode=\"decimal\"\n useGrouping={false}\n style={inputStyle}\n />\n {error && <small className=\"p-error\">{error}</small>}\n </div>\n );\n }\n\n if (property.type === 'string' && property.format === 'date-time') {\n const dateValue = value ? new Date(value as string) : null;\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: '4px' }}>\n <Calendar\n value={dateValue}\n onChange={(e) => handleChange(e.value instanceof Date ? e.value.toISOString() : null)}\n showTime\n showIcon\n style={inputStyle}\n />\n {error && <small className=\"p-error\">{error}</small>}\n </div>\n );\n }\n\n if (property.type === 'string' && property.format === 'date') {\n const dateValue = value ? new Date(value as string) : null;\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: '4px' }}>\n <Calendar\n value={dateValue}\n onChange={(e) => handleChange(e.value instanceof Date ? e.value.toISOString().split('T')[0] : null)}\n showIcon\n style={inputStyle}\n />\n {error && <small className=\"p-error\">{error}</small>}\n </div>\n );\n }\n\n if (property.type === 'array') {\n return (\n <div className=\"flex align-items-center gap-2\" style={{ color: 'rgba(255,255,255,0.6)', fontStyle: 'italic' }}>\n <span>Array editing not yet supported</span>\n </div>\n );\n }\n\n if (property.type === 'object') {\n return (\n <div className=\"flex align-items-center gap-2\" style={{ color: 'rgba(255,255,255,0.6)', fontStyle: 'italic' }}>\n <span>Object editing not yet supported</span>\n </div>\n );\n }\n\n const isLongText = (value as string)?.length > 50;\n\n if (isLongText) {\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: '4px' }}>\n <InputTextarea\n value={String(value ?? '')}\n onChange={(e) => handleChange(e.target.value)}\n rows={3}\n style={inputStyle}\n />\n {error && <small className=\"p-error\">{error}</small>}\n </div>\n );\n }\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: '4px' }}>\n <InputText\n value={String(value ?? '')}\n onChange={(e) => handleChange(e.target.value)}\n style={inputStyle}\n />\n {error && <small className=\"p-error\">{error}</small>}\n </div>\n );\n };\n\n const renderValue = (value: Json, propertyName: string) => {\n if (value === null || value === undefined) return '';\n\n if (Array.isArray(value)) {\n return (\n <div\n className=\"flex align-items-center gap-2 cursor-pointer\"\n onClick={() => navigateToProperty(propertyName)}\n style={{ color: 'var(--primary-color)', display: 'flex', alignItems: 'center' }}\n >\n <span>Array[{value.length}]</span>\n <faIcons.FaArrowRight style={{ fontSize: '0.875rem', display: 'inline-flex' }} />\n </div>\n );\n }\n\n if (typeof value === 'object') {\n return (\n <div\n className=\"flex align-items-center gap-2 cursor-pointer\"\n onClick={() => navigateToProperty(propertyName)}\n style={{ color: 'var(--primary-color)', display: 'flex', alignItems: 'center' }}\n >\n <span>Object</span>\n <faIcons.FaArrowRight style={{ fontSize: '0.875rem', display: 'inline-flex' }} />\n </div>\n );\n }\n\n return String(value);\n };\n\n const renderTable = () => {\n if (Array.isArray(currentData)) {\n if (currentData.length === 0) return <div style={{ padding: '12px', color: 'rgba(255,255,255,0.6)' }}>Empty array</div>;\n\n const firstItem = currentData[0];\n if (typeof firstItem === 'object' && firstItem !== null && !Array.isArray(firstItem)) {\n const keys = Object.keys(firstItem);\n\n return (\n <table style={tableStyle}>\n <tbody>\n {currentData.map((item, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <tr style={{ height: '8px', background: 'rgba(255,255,255,0.05)' }}>\n <td colSpan={2}></td>\n </tr>\n )}\n {keys.map((key) => (\n <tr key={`${index}-${key}`} style={rowStyle}>\n <td style={labelStyle}>{key}</td>\n <td style={valueStyle}>{renderValue((item as Record<string, Json>)[key], key)}</td>\n </tr>\n ))}\n </React.Fragment>\n ))}\n </tbody>\n </table>\n );\n } else {\n return (\n <table style={tableStyle}>\n <tbody>\n {currentData.map((item, index) => (\n <tr key={index} style={rowStyle}>\n <td style={labelStyle}>[{index}]</td>\n <td style={valueStyle}>{renderValue(item, `[${index}]`)}</td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n }\n\n const entries = navigationPath.length === 0\n ? Object.entries(currentProperties)\n : Object.entries(currentData as { [key: string]: Json });\n\n return (\n <table style={tableStyle}>\n <tbody>\n {entries.map(([propertyName, propertyDef]: [string, JsonSchemaProperty | Json]) => {\n const value = (currentData as Record<string, Json>)[propertyName];\n\n const isSchemaProperty = navigationPath.length === 0;\n const property = isSchemaProperty && typeof propertyDef === 'object' && propertyDef !== null && 'type' in propertyDef\n ? (propertyDef as JsonSchemaProperty)\n : null;\n const description = property?.description;\n\n return (\n <tr key={propertyName} style={rowStyle}>\n <td style={labelStyle}>\n <span style={{ display: 'inline-flex', alignItems: 'center', gap: '6px' }}>\n {propertyName}\n {description && (\n <faIcons.FaCircleInfo\n className=\"property-info-icon\"\n style={infoIconStyle}\n data-pr-tooltip={description}\n data-pr-position=\"right\" />\n )}\n </span>\n </td>\n <td style={valueStyle}>\n {editMode && property\n ? renderEditField(propertyName, property, value)\n : renderValue(value as Json, propertyName)\n }\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n );\n };\n\n return (\n <div className=\"order-content\" style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\n <Tooltip target=\"[data-pr-tooltip]\" />\n <ObjectNavigationalBar\n navigationPath={navigationPath}\n onNavigate={navigateToBreadcrumb}\n />\n {renderTable()}\n {timestamp && (\n <div style={{\n marginTop: '20px',\n padding: '12px',\n background: 'rgba(100, 150, 255, 0.1)',\n borderRadius: '8px',\n fontSize: '12px',\n color: 'rgba(255,255,255,0.6)'\n }}>\n Snapshot captured: {timestamp.toLocaleString()}\n </div>\n )}\n </div>\n );\n};\n"],"names":["useState","useCallback","useEffect","useMemo","getValueAtPath","_jsxs","_jsx","Checkbox","InputNumber","Calendar","InputTextarea","InputText","faIcons","Tooltip","ObjectNavigationalBar"],"mappings":"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"}
1
+ {"version":3,"file":"ObjectContentEditor.js","sources":["../../../ObjectContentEditor/ObjectContentEditor.tsx"],"sourcesContent":[null],"names":["useState","useCallback","useEffect","useMemo","getValueAtPath","_jsxs","_jsx","Checkbox","InputNumber","Calendar","InputTextarea","InputText","faIcons","Tooltip","ObjectNavigationalBar"],"mappings":"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"}
@@ -2,7 +2,8 @@
2
2
 
3
3
  var ObjectContentEditor = require('./ObjectContentEditor.js');
4
4
 
5
-
5
+ // Copyright (c) Cratis. All rights reserved.
6
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
6
7
 
7
8
  exports.ObjectContentEditor = ObjectContentEditor.ObjectContentEditor;
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../ObjectContentEditor/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;AACA;;;;"}
@@ -1,5 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ // Copyright (c) Cratis. All rights reserved.
4
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
5
+ /**
6
+ * Retrieves the value at the specified path within a JSON data structure.
7
+ * Returns null if the path cannot be followed.
8
+ */
3
9
  function getValueAtPath(data, path) {
4
10
  let current = data;
5
11
  for (const segment of path) {
@@ -1 +1 @@
1
- {"version":3,"file":"objectHelpers.js","sources":["../../../ObjectContentEditor/objectHelpers.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Json } from '../types/JsonSchema';\n\n/**\n * Retrieves the value at the specified path within a JSON data structure.\n * Returns null if the path cannot be followed.\n */\nexport function getValueAtPath(data: Json, path: string[]): Json | null {\n let current: Json = data;\n for (const segment of path) {\n if (current === null || current === undefined) return null;\n if (typeof current === 'object' && !Array.isArray(current) && current !== null) {\n current = (current as { [key: string]: Json })[segment];\n } else {\n return null;\n }\n }\n return current;\n}\n"],"names":[],"mappings":";;AASM,SAAU,cAAc,CAAC,IAAU,EAAE,IAAc,EAAA;IACrD,IAAI,OAAO,GAAS,IAAI;AACxB,IAAA,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;AACxB,QAAA,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;AAAE,YAAA,OAAO,IAAI;AAC1D,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI,EAAE;AAC5E,YAAA,OAAO,GAAI,OAAmC,CAAC,OAAO,CAAC;QAC3D;aAAO;AACH,YAAA,OAAO,IAAI;QACf;IACJ;AACA,IAAA,OAAO,OAAO;AAClB;;;;"}
1
+ {"version":3,"file":"objectHelpers.js","sources":["../../../ObjectContentEditor/objectHelpers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACA;AAIA;;;AAGG;AACG,SAAU,cAAc,CAAC,IAAU,EAAE,IAAc,EAAA;IACrD,IAAI,OAAO,GAAS,IAAI;AACxB,IAAA,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;AACxB,QAAA,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;AAAE,YAAA,OAAO,IAAI;AAC1D,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI,EAAE;AAC5E,YAAA,OAAO,GAAI,OAAmC,CAAC,OAAO,CAAC;QAC3D;aAAO;AACH,YAAA,OAAO,IAAI;QACf;IACJ;AACA,IAAA,OAAO,OAAO;AAClB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectNavigationalBar.js","sources":["../../../ObjectNavigationalBar/ObjectNavigationalBar.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { useMemo } from 'react';\nimport { Button } from 'primereact/button';\nimport * as faIcons from 'react-icons/fa6';\nimport { buildNavigationBreadcrumbs } from './breadcrumbHelpers';\n\nexport interface ObjectNavigationalBarProps {\n navigationPath: string[];\n onNavigate: (index: number) => void;\n}\n\nexport function ObjectNavigationalBar({ navigationPath, onNavigate }: ObjectNavigationalBarProps) {\n const breadcrumbItems = useMemo(() => buildNavigationBreadcrumbs(navigationPath), [navigationPath]);\n\n return (\n <div className=\"px-4 py-2 mb-2 border-bottom-1 surface-border\">\n <div style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n <Button\n icon={<faIcons.FaArrowLeft />}\n className=\"p-button-text p-button-sm\"\n onClick={() => onNavigate(navigationPath.length - 1)}\n tooltip=\"Navigate back\"\n tooltipOptions={{ position: 'top' }}\n disabled={navigationPath.length === 0}\n />\n <div style={{ fontSize: '0.9rem', color: 'var(--text-color-secondary)' }}>\n {breadcrumbItems.map((item, index) => (\n <span key={index}>\n {index > 0 && <span className=\"mx-2\">&gt;</span>}\n <span\n onClick={() => onNavigate(item.index)}\n style={{\n cursor: 'pointer',\n textDecoration: index < breadcrumbItems.length - 1 ? 'underline' : 'none'\n }}\n >\n {item.name}\n </span>\n </span>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"],"names":["useMemo","buildNavigationBreadcrumbs","_jsx","_jsxs","Button","faIcons"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;SAagB,qBAAqB,CAAC,EAAE,cAAc,EAAE,UAAU,EAA8B,EAAA;AAC5F,IAAA,MAAM,eAAe,GAAGA,aAAO,CAAC,MAAMC,4CAA0B,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;IAEnG,QACIC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+CAA+C,EAAA,QAAA,EAC1DC,eAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAChED,cAAA,CAACE,aAAM,EAAA,EACH,IAAI,EAAEF,cAAA,CAACG,kBAAO,CAAC,WAAW,EAAA,EAAA,CAAG,EAC7B,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EACpD,OAAO,EAAC,eAAe,EACvB,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EACnC,QAAQ,EAAE,cAAc,CAAC,MAAM,KAAK,CAAC,EAAA,CACvC,EACFH,cAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAA,QAAA,EACnE,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC7BC,eAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CACK,KAAK,GAAG,CAAC,IAAID,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,MAAM,EAAA,QAAA,EAAA,GAAA,EAAA,CAAY,EAChDA,cAAA,CAAA,MAAA,EAAA,EACI,OAAO,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EACrC,KAAK,EAAE;AACH,oCAAA,MAAM,EAAE,SAAS;AACjB,oCAAA,cAAc,EAAE,KAAK,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG;AACtE,iCAAA,EAAA,QAAA,EAEA,IAAI,CAAC,IAAI,EAAA,CACP,CAAA,EAAA,EAVA,KAAK,CAWT,CACV,CAAC,EAAA,CACA,CAAA,EAAA,CACJ,EAAA,CACJ;AAEd;;;;"}
1
+ {"version":3,"file":"ObjectNavigationalBar.js","sources":["../../../ObjectNavigationalBar/ObjectNavigationalBar.tsx"],"sourcesContent":[null],"names":["useMemo","buildNavigationBreadcrumbs","_jsx","_jsxs","Button","faIcons"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;SAagB,qBAAqB,CAAC,EAAE,cAAc,EAAE,UAAU,EAA8B,EAAA;AAC5F,IAAA,MAAM,eAAe,GAAGA,aAAO,CAAC,MAAMC,4CAA0B,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;IAEnG,QACIC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+CAA+C,EAAA,QAAA,EAC1DC,eAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAChED,cAAA,CAACE,aAAM,EAAA,EACH,IAAI,EAAEF,cAAA,CAACG,kBAAO,CAAC,WAAW,EAAA,EAAA,CAAG,EAC7B,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EACpD,OAAO,EAAC,eAAe,EACvB,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EACnC,QAAQ,EAAE,cAAc,CAAC,MAAM,KAAK,CAAC,EAAA,CACvC,EACFH,cAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAA,QAAA,EACnE,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC7BC,eAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CACK,KAAK,GAAG,CAAC,IAAID,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,MAAM,EAAA,QAAA,EAAA,GAAA,EAAA,CAAY,EAChDA,cAAA,CAAA,MAAA,EAAA,EACI,OAAO,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EACrC,KAAK,EAAE;AACH,oCAAA,MAAM,EAAE,SAAS;AACjB,oCAAA,cAAc,EAAE,KAAK,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG;AACtE,iCAAA,EAAA,QAAA,EAEA,IAAI,CAAC,IAAI,EAAA,CACP,CAAA,EAAA,EAVA,KAAK,CAWT,CACV,CAAC,EAAA,CACA,CAAA,EAAA,CACJ,EAAA,CACJ;AAEd;;;;"}
@@ -1,5 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ // Copyright (c) Cratis. All rights reserved.
4
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
5
+ /**
6
+ * Builds the breadcrumb items for an object navigation bar from a navigation path.
7
+ * Always starts with a 'Root' item at index 0.
8
+ */
3
9
  function buildNavigationBreadcrumbs(navigationPath) {
4
10
  const items = [{ name: 'Root', index: 0 }];
5
11
  for (let i = 0; i < navigationPath.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbHelpers.js","sources":["../../../ObjectNavigationalBar/breadcrumbHelpers.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * Builds the breadcrumb items for an object navigation bar from a navigation path.\n * Always starts with a 'Root' item at index 0.\n */\nexport function buildNavigationBreadcrumbs(navigationPath: string[]): { name: string; index: number }[] {\n const items: { name: string; index: number }[] = [{ name: 'Root', index: 0 }];\n for (let i = 0; i < navigationPath.length; i++) {\n items.push({\n name: navigationPath[i],\n index: i + 1,\n });\n }\n return items;\n}\n"],"names":[],"mappings":";;AAOM,SAAU,0BAA0B,CAAC,cAAwB,EAAA;AAC/D,IAAA,MAAM,KAAK,GAAsC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC7E,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,KAAK,CAAC,IAAI,CAAC;AACP,YAAA,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;YACvB,KAAK,EAAE,CAAC,GAAG,CAAC;AACf,SAAA,CAAC;IACN;AACA,IAAA,OAAO,KAAK;AAChB;;;;"}
1
+ {"version":3,"file":"breadcrumbHelpers.js","sources":["../../../ObjectNavigationalBar/breadcrumbHelpers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACA;AAEA;;;AAGG;AACG,SAAU,0BAA0B,CAAC,cAAwB,EAAA;AAC/D,IAAA,MAAM,KAAK,GAAsC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC7E,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,KAAK,CAAC,IAAI,CAAC;AACP,YAAA,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;YACvB,KAAK,EAAE,CAAC,GAAG,CAAC;AACf,SAAA,CAAC;IACN;AACA,IAAA,OAAO,KAAK;AAChB;;;;"}
@@ -2,7 +2,8 @@
2
2
 
3
3
  var ObjectNavigationalBar = require('./ObjectNavigationalBar.js');
4
4
 
5
-
5
+ // Copyright (c) Cratis. All rights reserved.
6
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
6
7
 
7
8
  exports.ObjectNavigationalBar = ObjectNavigationalBar.ObjectNavigationalBar;
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../ObjectNavigationalBar/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;AACA;;;;"}
@@ -26,10 +26,12 @@ var useViewModeScrollHandling = require('./hooks/useViewModeScrollHandling.js');
26
26
  var useContainerDimensions = require('./hooks/useContainerDimensions.js');
27
27
 
28
28
  function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRenderer, detailRenderer, getItemId, searchFields, className, emptyContent, isLoading = false, colors, }) {
29
+ // Refs
29
30
  const containerRef = React.useRef(null);
30
31
  const filterButtonRef = React.useRef(null);
31
32
  const axisLabelsRef = React.useRef(null);
32
33
  const spacerRef = React.useRef(null);
34
+ // State
33
35
  const [search, setSearch] = React.useState('');
34
36
  const [viewMode, setViewMode] = React.useState('collection');
35
37
  const [filtersOpen, setFiltersOpen] = React.useState(false);
@@ -41,11 +43,15 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
41
43
  const [preSelectionState, setPreSelectionState] = React.useState(null);
42
44
  const [, setAnimationMode] = React.useState('layout');
43
45
  const [scrollPosition, setScrollPosition] = React.useState({ x: 0, y: 0 });
46
+ // Filter hooks
44
47
  const { filterState, rangeFilterState, expandedFilterKey, setExpandedFilterKey, handleToggleFilter, handleClearFilter, handleRangeChange, } = useFilterState.useFilterState(filters);
48
+ // Dimension hooks
45
49
  const { activeDimensionKey, setActiveDimensionKey, activeDimension, dimensionFilter, handleAxisLabelClick, } = useDimensionState.useDimensionState(dimensions, defaultDimensionKey);
50
+ // Zoom and pan hooks
46
51
  const { zoomLevel, setZoomLevel, handleZoomIn, handleZoomOut, handleZoomSlider, handleZoomReset, handleZoomChange, } = useZoomState.useZoomState(1);
47
52
  const { isPanning, handlePanStart, handlePanMove, handlePanEnd, } = usePanning.usePanning(containerRef, undefined, setScrollPosition);
48
53
  useWheelZoom.useWheelZoom(containerRef, zoomLevel, setZoomLevel);
54
+ // Track container dimensions for responsive layout
49
55
  const containerDimensions = useContainerDimensions.useContainerDimensions(containerRef, isLoading);
50
56
  React.useEffect(() => {
51
57
  const container = containerRef.current;
@@ -60,18 +66,24 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
60
66
  container.addEventListener('scroll', handleScroll);
61
67
  return () => container.removeEventListener('scroll', handleScroll);
62
68
  }, []);
69
+ // Build field extractors for the columnar store
63
70
  const { fieldExtractors, indexFields } = useFieldExtractors.useFieldExtractors(dimensions, filters);
71
+ // Initialize the Web Worker engine
64
72
  const { ready, applyFilters: engineApplyFilters, computeGrouping, sortIds } = usePivotEngine.usePivotEngine({
65
73
  data,
66
74
  fieldExtractors,
67
75
  indexFields,
68
76
  });
77
+ // Build filter specs from UI state
69
78
  const currentFilters = useCurrentFilters.useCurrentFilters(filters, filterState, rangeFilterState, search, searchFields, dimensionFilter, activeDimension);
70
79
  const currentGroupBy = useCurrentFilters.useCurrentGroupBy(activeDimensionKey, dimensions);
80
+ // Apply filters
71
81
  React.useEffect(() => {
72
82
  if (!ready)
73
83
  return;
74
84
  engineApplyFilters(currentFilters).then((result) => {
85
+ // If the engine failed to return any IDs while no filters are active,
86
+ // fall back to showing the full dataset so the canvas never renders empty.
75
87
  if (result.visibleIds.length === 0 && currentFilters.length === 0 && data.length > 0) {
76
88
  const fallbackIds = new Uint32Array(data.length);
77
89
  for (let i = 0; i < data.length; i++) {
@@ -83,6 +95,7 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
83
95
  setVisibleIds(result.visibleIds);
84
96
  });
85
97
  }, [ready, currentFilters, engineApplyFilters, data.length]);
98
+ // Compute grouping
86
99
  const lastGroupingRequest = React.useRef(null);
87
100
  React.useEffect(() => {
88
101
  if (!ready || visibleIds.length === 0) {
@@ -91,6 +104,8 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
91
104
  return;
92
105
  }
93
106
  if (viewMode === 'collection') {
107
+ // In collection mode, create a single group with all items
108
+ // Sort items if activeDimensionKey is set
94
109
  if (activeDimensionKey) {
95
110
  sortIds(visibleIds, activeDimensionKey).then((sortedIds) => {
96
111
  setGrouping({
@@ -118,6 +133,7 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
118
133
  lastGroupingRequest.current = null;
119
134
  return;
120
135
  }
136
+ // Check if this is the same request as last time to prevent duplicate computations
121
137
  const lastRequest = lastGroupingRequest.current;
122
138
  if (lastRequest &&
123
139
  lastRequest.viewMode === viewMode &&
@@ -130,10 +146,13 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
130
146
  setGrouping(result);
131
147
  });
132
148
  }, [ready, visibleIds, currentGroupBy, viewMode, computeGrouping, sortIds, activeDimensionKey]);
149
+ // Compute layout
133
150
  const layout$1 = React.useMemo(() => {
151
+ // Calculate layout at base dimensions (zoom is applied as transform)
134
152
  const cardWidth = constants.BASE_CARD_WIDTH;
135
153
  const cardHeight = constants.BASE_CARD_HEIGHT;
136
154
  const containerWidth = containerDimensions.width / zoomLevel;
155
+ // For grouped mode, use fixed container height to ensure stable layout during zoom
137
156
  const containerHeight = viewMode === 'collection'
138
157
  ? containerDimensions.height / zoomLevel
139
158
  : containerDimensions.height;
@@ -155,8 +174,11 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
155
174
  const id = item['id'];
156
175
  return typeof id === 'number' ? id : index;
157
176
  }, [getItemId]);
177
+ // Track animation mode changes
158
178
  useAnimationModeTracking.useAnimationModeTracking(filterState, rangeFilterState, search, activeDimensionKey, viewMode, setAnimationMode);
179
+ // Sync axis labels scroll with container scroll
159
180
  useScrollSync.useScrollSync(containerRef, axisLabelsRef, viewMode);
181
+ // Handle scroll positioning when switching view modes or grouping changes
160
182
  useViewModeScrollHandling.useViewModeScrollHandling({
161
183
  containerRef,
162
184
  viewMode,
@@ -168,6 +190,7 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
168
190
  data,
169
191
  setPreSelectionState,
170
192
  });
193
+ // Handle card selection (click)
171
194
  const handleCardClick = useCardSelection.useCardSelection({
172
195
  data,
173
196
  isPanning,
@@ -188,6 +211,7 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
188
211
  setSelectedItem,
189
212
  setPreSelectionState,
190
213
  });
214
+ // Handle detail panel close
191
215
  const closeDetail = useDetailPanelClose.useDetailPanelClose({
192
216
  selectedItem,
193
217
  preSelectionState,
@@ -204,8 +228,10 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
204
228
  setSelectedItem,
205
229
  setPreSelectionState,
206
230
  });
231
+ // Use base card dimensions - zoom is applied as transform in canvas
207
232
  const cardWidth = constants.BASE_CARD_WIDTH;
208
233
  const cardHeight = constants.BASE_CARD_HEIGHT;
234
+ // Calculate filter options
209
235
  const filterOptions = useFilterOptions.useFilterOptions(data, filters, filterState, rangeFilterState);
210
236
  const hasFilters = Boolean(filters && filters.length > 0);
211
237
  const activeFilterCount = Object.values(filterState).reduce((sum, vals) => sum + vals.size, 0) +
@@ -218,9 +244,11 @@ function PivotViewer({ data, dimensions, filters, defaultDimensionKey, cardRende
218
244
  ]
219
245
  .filter(Boolean)
220
246
  .join(' ');
247
+ // Deselect any selected card when switching between view modes
221
248
  React.useEffect(() => {
222
249
  setSelectedItem(null);
223
250
  }, [viewMode]);
251
+ // Map provided color overrides to CSS variables understood by the component.
224
252
  const cssVariables = React.useMemo(() => {
225
253
  const vars = {};
226
254
  if (!colors)