@cratis/components 1.5.0 → 1.6.6
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.
- package/dist/cjs/CommandDialog/CommandDialog.js +11 -4
- package/dist/cjs/CommandDialog/CommandDialog.js.map +1 -1
- package/dist/cjs/CommandDialog/StepperCommandDialog.js +23 -4
- package/dist/cjs/CommandDialog/StepperCommandDialog.js.map +1 -1
- package/dist/cjs/CommandDialog/index.js +2 -1
- package/dist/cjs/CommandDialog/index.js.map +1 -1
- package/dist/cjs/CommandForm/fields/CalendarField.js.map +1 -1
- package/dist/cjs/CommandForm/fields/CheckboxField.js.map +1 -1
- package/dist/cjs/CommandForm/fields/ChipsField.js.map +1 -1
- package/dist/cjs/CommandForm/fields/ColorPickerField.js.map +1 -1
- package/dist/cjs/CommandForm/fields/DropdownField.js.map +1 -1
- package/dist/cjs/CommandForm/fields/InputTextField.js.map +1 -1
- package/dist/cjs/CommandForm/fields/MultiSelectField.js.map +1 -1
- package/dist/cjs/CommandForm/fields/NumberField.js.map +1 -1
- package/dist/cjs/CommandForm/fields/SliderField.js.map +1 -1
- package/dist/cjs/CommandForm/fields/TextAreaField.js.map +1 -1
- package/dist/cjs/CommandForm/index.js +2 -34
- package/dist/cjs/CommandForm/index.js.map +1 -1
- package/dist/cjs/Common/ErrorBoundary.js.map +1 -1
- package/dist/cjs/Common/FormElement.js.map +1 -1
- package/dist/cjs/Common/Page.js.map +1 -1
- package/dist/cjs/Common/Tooltip.js +4 -0
- package/dist/cjs/Common/Tooltip.js.map +1 -1
- package/dist/cjs/Common/index.js +2 -1
- package/dist/cjs/Common/index.js.map +1 -1
- package/dist/cjs/DataPage/DataPage.js +6 -0
- package/dist/cjs/DataPage/DataPage.js.map +1 -1
- package/dist/cjs/DataPage/index.js +2 -1
- package/dist/cjs/DataPage/index.js.map +1 -1
- package/dist/cjs/DataTables/DataTableForObservableQuery.js +5 -0
- package/dist/cjs/DataTables/DataTableForObservableQuery.js.map +1 -1
- package/dist/cjs/DataTables/DataTableForQuery.js +5 -0
- package/dist/cjs/DataTables/DataTableForQuery.js.map +1 -1
- package/dist/cjs/DataTables/index.js +2 -1
- package/dist/cjs/DataTables/index.js.map +1 -1
- package/dist/cjs/Dialogs/BusyIndicatorDialog.js.map +1 -1
- package/dist/cjs/Dialogs/ConfirmationDialog.js.map +1 -1
- package/dist/cjs/Dialogs/Dialog.js +8 -2
- package/dist/cjs/Dialogs/Dialog.js.map +1 -1
- package/dist/cjs/Dialogs/index.js +2 -1
- package/dist/cjs/Dialogs/index.js.map +1 -1
- package/dist/cjs/Dropdown/Dropdown.js +1 -0
- package/dist/cjs/Dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/Dropdown/index.js +2 -1
- package/dist/cjs/Dropdown/index.js.map +1 -1
- package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
- package/dist/cjs/ObjectContentEditor/index.js +2 -1
- package/dist/cjs/ObjectContentEditor/index.js.map +1 -1
- package/dist/cjs/ObjectContentEditor/objectHelpers.js +6 -0
- package/dist/cjs/ObjectContentEditor/objectHelpers.js.map +1 -1
- package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
- package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js +6 -0
- package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js.map +1 -1
- package/dist/cjs/ObjectNavigationalBar/index.js +2 -1
- package/dist/cjs/ObjectNavigationalBar/index.js.map +1 -1
- package/dist/cjs/PivotViewer/PivotViewer.js +28 -0
- package/dist/cjs/PivotViewer/PivotViewer.js.map +1 -1
- package/dist/cjs/PivotViewer/components/AxisLabels.js +4 -0
- package/dist/cjs/PivotViewer/components/AxisLabels.js.map +1 -1
- package/dist/cjs/PivotViewer/components/DetailPanel.js.map +1 -1
- package/dist/cjs/PivotViewer/components/FilterPanel.js +4 -0
- package/dist/cjs/PivotViewer/components/FilterPanel.js.map +1 -1
- package/dist/cjs/PivotViewer/components/FilterPanelContainer.js.map +1 -1
- package/dist/cjs/PivotViewer/components/PivotCanvas.js +138 -2
- package/dist/cjs/PivotViewer/components/PivotCanvas.js.map +1 -1
- package/dist/cjs/PivotViewer/components/PivotViewerMain.js +4 -0
- package/dist/cjs/PivotViewer/components/PivotViewerMain.js.map +1 -1
- package/dist/cjs/PivotViewer/components/RangeHistogramFilter.js.map +1 -1
- package/dist/cjs/PivotViewer/components/Spinner.js.map +1 -1
- package/dist/cjs/PivotViewer/components/Toolbar.js.map +1 -1
- package/dist/cjs/PivotViewer/components/ToolbarContainer.js.map +1 -1
- package/dist/cjs/PivotViewer/components/pivot/animation.js +8 -1
- package/dist/cjs/PivotViewer/components/pivot/animation.js.map +1 -1
- package/dist/cjs/PivotViewer/components/pivot/colorResolver.js +3 -1
- package/dist/cjs/PivotViewer/components/pivot/colorResolver.js.map +1 -1
- package/dist/cjs/PivotViewer/components/pivot/constants.js +8 -5
- package/dist/cjs/PivotViewer/components/pivot/constants.js.map +1 -1
- package/dist/cjs/PivotViewer/components/pivot/groups.js +15 -0
- package/dist/cjs/PivotViewer/components/pivot/groups.js.map +1 -1
- package/dist/cjs/PivotViewer/components/pivot/sprites.js +32 -13
- package/dist/cjs/PivotViewer/components/pivot/sprites.js.map +1 -1
- package/dist/cjs/PivotViewer/components/pivot/visibility.js +102 -3
- package/dist/cjs/PivotViewer/components/pivot/visibility.js.map +1 -1
- package/dist/cjs/PivotViewer/constants.js +2 -0
- package/dist/cjs/PivotViewer/constants.js.map +1 -1
- package/dist/cjs/PivotViewer/engine/layout.js +23 -0
- package/dist/cjs/PivotViewer/engine/layout.js.map +1 -1
- package/dist/cjs/PivotViewer/engine/store.js +29 -0
- package/dist/cjs/PivotViewer/engine/store.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js +8 -0
- package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useCardSelection.js +10 -1
- package/dist/cjs/PivotViewer/hooks/useCardSelection.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js +11 -0
- package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js +6 -0
- package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js +11 -1
- package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useDimensionState.js +2 -0
- package/dist/cjs/PivotViewer/hooks/useDimensionState.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js +2 -0
- package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useFilterOptions.js +2 -0
- package/dist/cjs/PivotViewer/hooks/useFilterOptions.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useFilterState.js +5 -0
- package/dist/cjs/PivotViewer/hooks/useFilterState.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/usePanning.js +14 -0
- package/dist/cjs/PivotViewer/hooks/usePanning.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/usePivotEngine.js +7 -0
- package/dist/cjs/PivotViewer/hooks/usePivotEngine.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useScrollSync.js +6 -0
- package/dist/cjs/PivotViewer/hooks/useScrollSync.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js +9 -0
- package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useWheelZoom.js +8 -2
- package/dist/cjs/PivotViewer/hooks/useWheelZoom.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useZoomState.js +2 -0
- package/dist/cjs/PivotViewer/hooks/useZoomState.js.map +1 -1
- package/dist/cjs/PivotViewer/index.js +2 -1
- package/dist/cjs/PivotViewer/index.js.map +1 -1
- package/dist/cjs/PivotViewer/types.js +11 -0
- package/dist/cjs/PivotViewer/types.js.map +1 -1
- package/dist/cjs/PivotViewer/utils/animations.js +35 -2
- package/dist/cjs/PivotViewer/utils/animations.js.map +1 -1
- package/dist/cjs/PivotViewer/utils/cardPosition.js +21 -3
- package/dist/cjs/PivotViewer/utils/cardPosition.js.map +1 -1
- package/dist/cjs/PivotViewer/utils/constants.js +3 -0
- package/dist/cjs/PivotViewer/utils/constants.js.map +1 -1
- package/dist/cjs/PivotViewer/utils/idResolution.js +16 -0
- package/dist/cjs/PivotViewer/utils/idResolution.js.map +1 -1
- package/dist/cjs/PivotViewer/utils/selection.js +25 -0
- package/dist/cjs/PivotViewer/utils/selection.js.map +1 -1
- package/dist/cjs/PivotViewer/utils/utils.js +5 -0
- package/dist/cjs/PivotViewer/utils/utils.js.map +1 -1
- package/dist/cjs/SchemaEditor/NameCell.js.map +1 -1
- package/dist/cjs/SchemaEditor/SchemaEditor.js.map +1 -1
- package/dist/cjs/SchemaEditor/TypeCell.js.map +1 -1
- package/dist/cjs/SchemaEditor/index.js +2 -1
- package/dist/cjs/SchemaEditor/index.js.map +1 -1
- package/dist/cjs/SchemaEditor/schemaHelpers.js +8 -0
- package/dist/cjs/SchemaEditor/schemaHelpers.js.map +1 -1
- package/dist/cjs/TimeMachine/EventsView.js +2 -0
- package/dist/cjs/TimeMachine/EventsView.js.map +1 -1
- package/dist/cjs/TimeMachine/Properties.js.map +1 -1
- package/dist/cjs/TimeMachine/ReadModelView.js +1 -0
- package/dist/cjs/TimeMachine/ReadModelView.js.map +1 -1
- package/dist/cjs/TimeMachine/TimeMachine.js +11 -1
- package/dist/cjs/TimeMachine/TimeMachine.js.map +1 -1
- package/dist/cjs/TimeMachine/index.js +2 -1
- package/dist/cjs/TimeMachine/index.js.map +1 -1
- package/dist/cjs/TimeMachine/propertiesHelpers.js +5 -0
- package/dist/cjs/TimeMachine/propertiesHelpers.js.map +1 -1
- package/dist/cjs/Toolbar/Toolbar.css +8 -0
- package/dist/cjs/Toolbar/Toolbar.js +7 -1
- package/dist/cjs/Toolbar/Toolbar.js.map +1 -1
- package/dist/cjs/Toolbar/ToolbarButton.js +16 -2
- package/dist/cjs/Toolbar/ToolbarButton.js.map +1 -1
- package/dist/cjs/Toolbar/ToolbarContext.js +8 -0
- package/dist/cjs/Toolbar/ToolbarContext.js.map +1 -1
- package/dist/cjs/Toolbar/ToolbarDragContext.js +24 -0
- package/dist/cjs/Toolbar/ToolbarDragContext.js.map +1 -0
- package/dist/cjs/Toolbar/ToolbarFanOutItem.js +11 -0
- package/dist/cjs/Toolbar/ToolbarFanOutItem.js.map +1 -1
- package/dist/cjs/Toolbar/ToolbarSection.js +18 -1
- package/dist/cjs/Toolbar/ToolbarSection.js.map +1 -1
- package/dist/cjs/Toolbar/ToolbarSeparator.js +6 -0
- package/dist/cjs/Toolbar/ToolbarSeparator.js.map +1 -1
- package/dist/cjs/Toolbar/index.js +2 -1
- package/dist/cjs/Toolbar/index.js.map +1 -1
- package/dist/cjs/tailwind-utilities.css +16 -1
- package/dist/cjs/types/TypeFormat.js +2 -0
- package/dist/cjs/types/TypeFormat.js.map +1 -1
- package/dist/cjs/types/index.js +2 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/useOverlayZIndex.js +10 -0
- package/dist/cjs/useOverlayZIndex.js.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.d.ts +2 -2
- package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.js +11 -4
- package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.stories.d.ts +1 -0
- package/dist/esm/CommandDialog/CommandDialog.stories.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.stories.js +52 -0
- package/dist/esm/CommandDialog/CommandDialog.stories.js.map +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +5 -4
- package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.js +23 -4
- package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.stories.d.ts +1 -0
- package/dist/esm/CommandDialog/StepperCommandDialog.stories.d.ts.map +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.stories.js +54 -0
- package/dist/esm/CommandDialog/StepperCommandDialog.stories.js.map +1 -1
- package/dist/esm/CommandDialog/index.js +3 -0
- package/dist/esm/CommandDialog/index.js.map +1 -1
- package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
- package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
- package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
- package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
- package/dist/esm/CommandForm/index.d.ts +0 -1
- package/dist/esm/CommandForm/index.d.ts.map +1 -1
- package/dist/esm/CommandForm/index.js +3 -1
- package/dist/esm/CommandForm/index.js.map +1 -1
- package/dist/esm/Common/ErrorBoundary.js.map +1 -1
- package/dist/esm/Common/FormElement.js.map +1 -1
- package/dist/esm/Common/Page.js.map +1 -1
- package/dist/esm/Common/Tooltip.js +4 -0
- package/dist/esm/Common/Tooltip.js.map +1 -1
- package/dist/esm/Common/index.js +3 -0
- package/dist/esm/Common/index.js.map +1 -1
- package/dist/esm/DataPage/DataPage.js +6 -0
- package/dist/esm/DataPage/DataPage.js.map +1 -1
- package/dist/esm/DataPage/index.js +3 -0
- package/dist/esm/DataPage/index.js.map +1 -1
- package/dist/esm/DataTables/DataTableForObservableQuery.js +5 -0
- package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
- package/dist/esm/DataTables/DataTableForQuery.js +5 -0
- package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
- package/dist/esm/DataTables/index.js +3 -0
- package/dist/esm/DataTables/index.js.map +1 -1
- package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
- package/dist/esm/Dialogs/ConfirmationDialog.js.map +1 -1
- package/dist/esm/Dialogs/Dialog.d.ts +5 -3
- package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
- package/dist/esm/Dialogs/Dialog.js +8 -2
- package/dist/esm/Dialogs/Dialog.js.map +1 -1
- package/dist/esm/Dialogs/index.js +3 -0
- package/dist/esm/Dialogs/index.js.map +1 -1
- package/dist/esm/Dropdown/Dropdown.js +1 -0
- package/dist/esm/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/Dropdown/index.js +3 -0
- package/dist/esm/Dropdown/index.js.map +1 -1
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
- package/dist/esm/ObjectContentEditor/index.js +3 -0
- package/dist/esm/ObjectContentEditor/index.js.map +1 -1
- package/dist/esm/ObjectContentEditor/objectHelpers.js +6 -0
- package/dist/esm/ObjectContentEditor/objectHelpers.js.map +1 -1
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
- package/dist/esm/ObjectNavigationalBar/breadcrumbHelpers.js +6 -0
- package/dist/esm/ObjectNavigationalBar/breadcrumbHelpers.js.map +1 -1
- package/dist/esm/ObjectNavigationalBar/index.js +3 -0
- package/dist/esm/ObjectNavigationalBar/index.js.map +1 -1
- package/dist/esm/PivotViewer/PivotViewer.js +28 -0
- package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
- package/dist/esm/PivotViewer/components/AxisLabels.js +4 -0
- package/dist/esm/PivotViewer/components/AxisLabels.js.map +1 -1
- package/dist/esm/PivotViewer/components/DetailPanel.js.map +1 -1
- package/dist/esm/PivotViewer/components/FilterPanel.js +4 -0
- package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -1
- package/dist/esm/PivotViewer/components/FilterPanelContainer.js.map +1 -1
- package/dist/esm/PivotViewer/components/PivotCanvas.js +138 -2
- package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
- package/dist/esm/PivotViewer/components/PivotViewerMain.js +4 -0
- package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.js.map +1 -1
- package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
- package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
- package/dist/esm/PivotViewer/components/ToolbarContainer.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/animation.js +8 -1
- package/dist/esm/PivotViewer/components/pivot/animation.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/colorResolver.js +3 -1
- package/dist/esm/PivotViewer/components/pivot/colorResolver.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/constants.js +8 -5
- package/dist/esm/PivotViewer/components/pivot/constants.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/groups.js +15 -0
- package/dist/esm/PivotViewer/components/pivot/groups.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/sprites.js +19 -0
- package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/visibility.js +102 -3
- package/dist/esm/PivotViewer/components/pivot/visibility.js.map +1 -1
- package/dist/esm/PivotViewer/constants.js +2 -0
- package/dist/esm/PivotViewer/constants.js.map +1 -1
- package/dist/esm/PivotViewer/engine/layout.js +23 -0
- package/dist/esm/PivotViewer/engine/layout.js.map +1 -1
- package/dist/esm/PivotViewer/engine/store.js +29 -0
- package/dist/esm/PivotViewer/engine/store.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useAnimationModeTracking.js +8 -0
- package/dist/esm/PivotViewer/hooks/useAnimationModeTracking.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useCardSelection.js +10 -1
- package/dist/esm/PivotViewer/hooks/useCardSelection.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useContainerDimensions.js +11 -0
- package/dist/esm/PivotViewer/hooks/useContainerDimensions.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useCurrentFilters.js +6 -0
- package/dist/esm/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js +11 -1
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useDimensionState.js +2 -0
- package/dist/esm/PivotViewer/hooks/useDimensionState.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFieldExtractors.js +2 -0
- package/dist/esm/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilterOptions.js +2 -0
- package/dist/esm/PivotViewer/hooks/useFilterOptions.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilterState.js +5 -0
- package/dist/esm/PivotViewer/hooks/useFilterState.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/usePanning.js +14 -0
- package/dist/esm/PivotViewer/hooks/usePanning.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/usePivotEngine.js +7 -0
- package/dist/esm/PivotViewer/hooks/usePivotEngine.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useScrollSync.js +6 -0
- package/dist/esm/PivotViewer/hooks/useScrollSync.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.js +9 -0
- package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useWheelZoom.js +8 -2
- package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useZoomState.js +2 -0
- package/dist/esm/PivotViewer/hooks/useZoomState.js.map +1 -1
- package/dist/esm/PivotViewer/index.js +3 -0
- package/dist/esm/PivotViewer/index.js.map +1 -1
- package/dist/esm/PivotViewer/types.js +11 -0
- package/dist/esm/PivotViewer/types.js.map +1 -1
- package/dist/esm/PivotViewer/utils/animations.js +35 -2
- package/dist/esm/PivotViewer/utils/animations.js.map +1 -1
- package/dist/esm/PivotViewer/utils/cardPosition.js +21 -3
- package/dist/esm/PivotViewer/utils/cardPosition.js.map +1 -1
- package/dist/esm/PivotViewer/utils/constants.js +3 -0
- package/dist/esm/PivotViewer/utils/constants.js.map +1 -1
- package/dist/esm/PivotViewer/utils/idResolution.js +16 -0
- package/dist/esm/PivotViewer/utils/idResolution.js.map +1 -1
- package/dist/esm/PivotViewer/utils/selection.js +25 -0
- package/dist/esm/PivotViewer/utils/selection.js.map +1 -1
- package/dist/esm/PivotViewer/utils/utils.js +5 -0
- package/dist/esm/PivotViewer/utils/utils.js.map +1 -1
- package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
- package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
- package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
- package/dist/esm/SchemaEditor/index.js +3 -0
- package/dist/esm/SchemaEditor/index.js.map +1 -1
- package/dist/esm/SchemaEditor/schemaHelpers.js +8 -0
- package/dist/esm/SchemaEditor/schemaHelpers.js.map +1 -1
- package/dist/esm/TimeMachine/EventsView.js +2 -0
- package/dist/esm/TimeMachine/EventsView.js.map +1 -1
- package/dist/esm/TimeMachine/Properties.js.map +1 -1
- package/dist/esm/TimeMachine/ReadModelView.js +1 -0
- package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
- package/dist/esm/TimeMachine/TimeMachine.js +11 -1
- package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
- package/dist/esm/TimeMachine/index.js +3 -0
- package/dist/esm/TimeMachine/index.js.map +1 -1
- package/dist/esm/TimeMachine/propertiesHelpers.js +5 -0
- package/dist/esm/TimeMachine/propertiesHelpers.js.map +1 -1
- package/dist/esm/Toolbar/Toolbar.css +8 -0
- package/dist/esm/Toolbar/Toolbar.d.ts +3 -1
- package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/esm/Toolbar/Toolbar.js +7 -1
- package/dist/esm/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/Toolbar/Toolbar.stories.d.ts +1 -0
- package/dist/esm/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/esm/Toolbar/Toolbar.stories.js +23 -0
- package/dist/esm/Toolbar/Toolbar.stories.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarButton.d.ts +4 -1
- package/dist/esm/Toolbar/ToolbarButton.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarButton.js +16 -2
- package/dist/esm/Toolbar/ToolbarButton.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarContext.js +8 -0
- package/dist/esm/Toolbar/ToolbarContext.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarDragContext.d.ts +7 -0
- package/dist/esm/Toolbar/ToolbarDragContext.d.ts.map +1 -0
- package/dist/esm/Toolbar/ToolbarDragContext.js +21 -0
- package/dist/esm/Toolbar/ToolbarDragContext.js.map +1 -0
- package/dist/esm/Toolbar/ToolbarFanOutItem.js +11 -0
- package/dist/esm/Toolbar/ToolbarFanOutItem.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarSection.js +18 -1
- package/dist/esm/Toolbar/ToolbarSection.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarSeparator.js +6 -0
- package/dist/esm/Toolbar/ToolbarSeparator.js.map +1 -1
- package/dist/esm/Toolbar/index.js +3 -0
- package/dist/esm/Toolbar/index.js.map +1 -1
- package/dist/esm/tailwind-utilities.css +16 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/types/TypeFormat.js +2 -0
- package/dist/esm/types/TypeFormat.js.map +1 -1
- package/dist/esm/types/index.js +3 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/useOverlayZIndex.js +10 -0
- package/dist/esm/useOverlayZIndex.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaEditor.js","sources":["../../../SchemaEditor/SchemaEditor.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 { useState, useEffect, useMemo, useCallback } from 'react';\nimport { Button } from 'primereact/button';\nimport { DataTable } from 'primereact/datatable';\nimport { Column } from 'primereact/column';\nimport { Menubar } from 'primereact/menubar';\nimport { Tooltip } from 'primereact/tooltip';\nimport * as faIcons from 'react-icons/fa6';\nimport { NameCell } from './NameCell';\nimport { TypeCell } from './TypeCell';\nimport { JsonSchema, JsonSchemaProperty } from '../types/JsonSchema';\nimport { TypeFormat, DEFAULT_TYPE_FORMATS } from '../types/TypeFormat';\nimport { validatePropertyName, buildBreadcrumbItems } from './schemaHelpers';\nimport css from './SchemaEditor.module.css';\nimport { MenuItem } from 'primereact/menuitem';\n\nexport interface SchemaEditorProps {\n schema: JsonSchema;\n eventTypeName?: string;\n canEdit?: boolean;\n canNotEditReason?: string;\n onChange?: (schema: JsonSchema) => void;\n onSave?: () => void;\n onCancel?: () => void;\n editMode?: boolean;\n saveDisabled?: boolean;\n cancelDisabled?: boolean;\n typeFormats?: TypeFormat[];\n}\n\nexport const SchemaEditor = ({ \n schema, \n eventTypeName = '', \n canEdit = true, \n canNotEditReason, \n onChange, \n onSave, \n onCancel, \n editMode, \n saveDisabled = false, \n cancelDisabled = false,\n typeFormats = DEFAULT_TYPE_FORMATS\n}: SchemaEditorProps) => {\n const [currentPath, setCurrentPath] = useState<string[]>([]);\n const [properties, setProperties] = useState<JsonSchemaProperty[]>([]);\n const [currentSchema, setCurrentSchema] = useState<JsonSchema>(schema);\n const [isEditMode, setIsEditMode] = useState(editMode ?? false);\n const [initialSchema, setInitialSchema] = useState<JsonSchema>(schema);\n const [validationErrors, setValidationErrors] = useState<Record<string, string>>({});\n\n useEffect(() => {\n if (!isEditMode) {\n setCurrentPath([]);\n }\n }, [isEditMode]);\n\n const validateAllProperties = useCallback((properties: JsonSchemaProperty[]) => {\n const errors: Record<string, string> = {};\n\n properties.forEach(prop => {\n if (!prop.name) return;\n const error = validatePropertyName(prop.name, prop.id!, properties);\n if (error) {\n errors[prop.id!] = error;\n }\n });\n\n setValidationErrors(errors);\n return Object.keys(errors).length === 0;\n }, [validatePropertyName]);\n\n useEffect(() => {\n setCurrentSchema(schema);\n setInitialSchema(JSON.parse(JSON.stringify(schema)));\n }, [schema]);\n\n useEffect(() => {\n loadPropertiesForCurrentPath();\n }, [currentPath, currentSchema, isEditMode]);\n\n const loadPropertiesForCurrentPath = () => {\n let targetSchema: JsonSchema | JsonSchemaProperty = currentSchema;\n\n for (const segment of currentPath) {\n if (targetSchema.type === 'array' && segment === '$items') {\n targetSchema = targetSchema.items || {};\n } else if (targetSchema.properties && targetSchema.properties[segment]) {\n targetSchema = targetSchema.properties[segment] as JsonSchema | JsonSchemaProperty;\n } else {\n return;\n }\n }\n\n const schemaProps: JsonSchemaProperty[] = [];\n if (targetSchema.properties) {\n let idCounter = 0;\n for (const [name, property] of Object.entries(targetSchema.properties)) {\n schemaProps.push({\n id: `prop-${currentPath.join('-')}-${idCounter++}`,\n name,\n type: property.type || 'string',\n format: property.format,\n description: property.description,\n items: property.items,\n properties: property.properties,\n required: (currentSchema.required as string[] | undefined)?.includes(name) || false\n });\n }\n }\n\n setProperties(schemaProps);\n if (isEditMode) {\n validateAllProperties(schemaProps);\n }\n };\n\n const updateSchemaAtPath = useCallback((path: string[], updater: (schema: JsonSchema) => JsonSchema) => {\n const newSchema = JSON.parse(JSON.stringify(currentSchema));\n\n if (path.length === 0) {\n const updated = updater(newSchema);\n setCurrentSchema(updated);\n onChange?.(updated);\n return;\n }\n\n let targetSchema = newSchema;\n for (let i = 0; i < path.length - 1; i++) {\n const segment = path[i];\n if (targetSchema.type === 'array' && segment === '$items') {\n if (!targetSchema.items) {\n targetSchema.items = { type: 'object', properties: {} };\n }\n targetSchema = targetSchema.items;\n } else if (targetSchema.properties && targetSchema.properties[segment]) {\n targetSchema = targetSchema.properties[segment];\n }\n }\n\n const lastSegment = path[path.length - 1];\n if (targetSchema.type === 'array' && lastSegment === '$items') {\n targetSchema.items = updater(targetSchema.items || {});\n } else {\n if (!targetSchema.properties) {\n targetSchema.properties = {};\n }\n targetSchema.properties[lastSegment] = updater(targetSchema.properties[lastSegment] || {});\n }\n\n setCurrentSchema(newSchema);\n onChange?.(newSchema);\n }, [currentSchema, onChange]);\n\n const addProperty = useCallback(() => {\n updateSchemaAtPath(currentPath, (schema) => {\n const newProps = { ...(schema.properties || {}) };\n let newName = 'newProperty';\n let counter = 1;\n while (newProps[newName]) {\n newName = `newProperty${counter++}`;\n }\n newProps[newName] = { type: 'string' };\n return { ...schema, properties: newProps };\n });\n }, [currentPath, updateSchemaAtPath]);\n\n const removeProperty = useCallback((propertyName: string) => {\n updateSchemaAtPath(currentPath, (schema) => {\n const newProps = { ...(schema.properties || {}) };\n delete newProps[propertyName];\n return { ...schema, properties: newProps };\n });\n }, [currentPath, updateSchemaAtPath]);\n\n const updateProperty = useCallback((oldName: string, field: keyof JsonSchemaProperty, value: unknown, additionalUpdates?: Partial<JsonSchemaProperty>) => {\n updateSchemaAtPath(currentPath, (schema) => {\n const newProps = { ...(schema.properties || {}) };\n const prop = { ...(newProps[oldName] || {}) };\n\n if (field === 'name') {\n if (value !== oldName && !newProps[value as string]) {\n newProps[value as string] = prop;\n delete newProps[oldName];\n }\n } else if (field === 'type') {\n prop.type = value as string;\n if (value === 'array') {\n prop.items = { type: 'string' };\n delete prop.format;\n } else if (value === 'object') {\n prop.properties = {};\n delete prop.format;\n delete prop.items;\n } else {\n delete prop.items;\n delete prop.properties;\n }\n\n if (additionalUpdates) {\n if ('format' in additionalUpdates) {\n if (additionalUpdates.format) {\n prop.format = additionalUpdates.format as string;\n } else {\n delete prop.format;\n }\n }\n }\n\n newProps[oldName] = prop;\n } else if (field === 'format') {\n if (value && value !== 'none') {\n prop.format = value as string;\n } else {\n delete prop.format;\n }\n newProps[oldName] = prop;\n }\n\n return { ...schema, properties: newProps };\n });\n }, [currentPath, updateSchemaAtPath]);\n\n const updateArrayItemType = useCallback((propertyName: string, itemType: string) => {\n updateSchemaAtPath(currentPath, (schema) => {\n const newProps = { ...(schema.properties || {}) };\n const prop = { ...(newProps[propertyName] || {}) };\n\n if (itemType === 'object') {\n prop.items = { type: 'object', properties: {} };\n } else if (itemType === 'array') {\n prop.items = { type: 'array', items: { type: 'string' } };\n } else {\n prop.items = { type: itemType };\n }\n\n newProps[propertyName] = prop;\n return { ...schema, properties: newProps };\n });\n }, [currentPath, updateSchemaAtPath]);\n\n const navigateToProperty = useCallback((propertyName: string) => {\n setCurrentPath([...currentPath, propertyName]);\n }, [currentPath]);\n\n const navigateToArrayItems = useCallback((propertyName: string) => {\n setCurrentPath([...currentPath, propertyName, '$items']);\n }, [currentPath]);\n\n const navigateBack = useCallback(() => {\n if (currentPath.length > 0) {\n setCurrentPath(currentPath.slice(0, -1));\n }\n }, [currentPath]);\n\n const navigateToBreadcrumb = useCallback((index: number) => {\n const items = getBreadcrumbItems();\n setCurrentPath(items[index].path);\n }, [currentPath, eventTypeName]);\n\n const handleSave = useCallback(() => {\n onSave?.();\n setIsEditMode(false);\n }, [onSave]);\n\n const handleCancel = useCallback(() => {\n setCurrentSchema(JSON.parse(JSON.stringify(initialSchema)));\n onChange?.(JSON.parse(JSON.stringify(initialSchema)));\n setIsEditMode(false);\n onCancel?.();\n }, [initialSchema, onChange, onCancel]);\n\n const handleEdit = useCallback(() => {\n setInitialSchema(JSON.parse(JSON.stringify(currentSchema)));\n setIsEditMode(true);\n }, [currentSchema]);\n\n const getBreadcrumbItems = () => buildBreadcrumbItems(eventTypeName, currentPath);\n\n const getCurrentDescription = useCallback(() => {\n let targetSchema: JsonSchema | JsonSchemaProperty = currentSchema;\n\n for (const segment of currentPath) {\n if (targetSchema.type === 'array' && segment === '$items') {\n targetSchema = targetSchema.items || {};\n } else if (targetSchema.properties && targetSchema.properties[segment]) {\n targetSchema = targetSchema.properties[segment] as JsonSchema | JsonSchemaProperty;\n } else {\n return undefined;\n }\n }\n\n return targetSchema.description;\n }, [currentSchema, currentPath]);\n\n const hasValidationErrors = Object.keys(validationErrors).length > 0;\n\n const menuItems = useMemo(() => [\n ...(!isEditMode ? [{\n label: 'Edit',\n icon: <faIcons.FaPencil className='mr-2' />,\n command: canEdit ? handleEdit : undefined,\n className: !canEdit ? 'edit-disabled-with-reason' : undefined,\n template: !canEdit && canNotEditReason ? (item: MenuItem) => (\n <div\n className=\"p-menuitem-link p-disabled\"\n data-pr-tooltip={canNotEditReason}\n data-pr-position=\"bottom\"\n style={{ cursor: 'not-allowed', opacity: 0.6 }}\n >\n {item.icon}\n <span className=\"p-menuitem-text\">{item.label}</span>\n </div>\n ) : undefined\n }] : []),\n ...(isEditMode ? [\n ...(!saveDisabled ? [{\n label: 'Save',\n icon: <faIcons.FaCheck className='mr-2' />,\n command: hasValidationErrors ? undefined : handleSave,\n disabled: hasValidationErrors\n }] : []),\n ...(!cancelDisabled ? [{\n label: 'Cancel',\n icon: <faIcons.FaXmark className='mr-2' />,\n command: handleCancel\n }] : []),\n {\n label: 'Add Property',\n icon: <faIcons.FaPlus className='mr-2' />,\n command: addProperty\n }\n ] : [])\n ], [isEditMode, handleSave, handleCancel, handleEdit, addProperty, canEdit, canNotEditReason, hasValidationErrors, saveDisabled, cancelDisabled]);\n\n const breadcrumbItems = getBreadcrumbItems();\n const isAtRoot = currentPath.length === 0;\n const currentDescription = getCurrentDescription();\n\n return (\n <div className=\"schema-editor\" style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\n <div className=\"px-4 py-4\">\n <Tooltip target=\"[data-pr-tooltip]\" />\n <div className=\"schema-editor-menubar\">\n <Menubar aria-label=\"Actions\" model={menuItems} />\n </div>\n </div>\n\n <div className=\"px-4 py-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={navigateBack}\n disabled={isAtRoot}\n tooltip=\"Navigate back\"\n tooltipOptions={{ position: 'top' }}\n />\n <div style={{ fontSize: '0.9rem', color: 'var(--text-color-secondary)', cursor: 'pointer' }}>\n {breadcrumbItems.map((item, index) => (\n <span key={index}>\n {index > 0 && <span className=\"mx-2\">></span>}\n <span\n onClick={() => navigateToBreadcrumb(index)}\n style={{ cursor: 'pointer', textDecoration: index < breadcrumbItems.length - 1 ? 'underline' : 'none' }}\n >\n {item.name}\n </span>\n </span>\n ))}\n </div>\n </div>\n {currentDescription && (\n <div style={{ fontSize: '0.875rem', color: 'var(--text-color-secondary)', marginTop: '0.5rem', marginLeft: '2.5rem', fontStyle: 'italic', display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n <faIcons.FaCircleInfo />\n <span>{currentDescription}</span>\n </div>\n )}\n </div>\n\n <div style={{ flex: 1, overflow: 'auto', padding: '1rem' }}>\n <Tooltip key={`nav-${eventTypeName}-${currentPath.join('/')}`} target=\".schema-navigation-tooltip\" mouseTrack mouseTrackTop={15} />\n <Tooltip key={`desc-${eventTypeName}-${currentPath.join('/')}`} target=\".schema-description-tooltip\" />\n <DataTable\n key={`${isEditMode}-${currentPath.join('/')}`}\n value={properties}\n dataKey=\"id\"\n emptyMessage=\"No properties defined\"\n rowClassName={(rowData: JsonSchemaProperty) => {\n if (!isEditMode && (rowData.type === 'object' || (rowData.type === 'array' && rowData.items?.type === 'object'))) {\n return css.navigableRow;\n }\n return '';\n }}\n onRowClick={(e) => {\n if (!isEditMode) {\n const rowData = e.data as JsonSchemaProperty;\n if (rowData.name) {\n if (rowData.type === 'object') {\n navigateToProperty(rowData.name);\n } else if (rowData.type === 'array' && rowData.items?.type === 'object') {\n navigateToArrayItems(rowData.name);\n }\n }\n }\n }}\n pt={{\n root: { style: { border: 'none' } },\n tbody: { style: { borderTop: '1px solid var(--surface-border)' } }\n }}\n >\n <Column\n field=\"name\"\n header=\"Property\"\n body={(rowData: JsonSchemaProperty) => (\n <NameCell\n rowData={rowData}\n isEditMode={isEditMode}\n onUpdate={updateProperty}\n validationError={validationErrors[rowData.id!]}\n />\n )}\n style={{ width: '30%' }}\n />\n <Column\n header=\"Type\"\n body={(rowData: JsonSchemaProperty) => (\n <TypeCell\n rowData={rowData}\n isEditMode={isEditMode}\n typeFormats={typeFormats}\n onUpdateProperty={updateProperty}\n onUpdateArrayItemType={updateArrayItemType}\n onNavigateToProperty={navigateToProperty}\n onNavigateToArrayItems={navigateToArrayItems}\n onRemoveProperty={removeProperty}\n />\n )}\n style={{ width: '70%' }}\n />\n </DataTable>\n </div>\n </div>\n );\n};\n"],"names":["DEFAULT_TYPE_FORMATS","useState","useEffect","useCallback","validatePropertyName","buildBreadcrumbItems","useMemo","_jsx","faIcons","_jsxs","Tooltip","Menubar","Button","DataTable","Column","NameCell","TypeCell"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SchemaEditor.js","sources":["../../../SchemaEditor/SchemaEditor.tsx"],"sourcesContent":[null],"names":["DEFAULT_TYPE_FORMATS","useState","useEffect","useCallback","validatePropertyName","buildBreadcrumbItems","useMemo","_jsx","faIcons","_jsxs","Tooltip","Menubar","Button","DataTable","Column","NameCell","TypeCell"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeCell.js","sources":["../../../SchemaEditor/TypeCell.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 { Button } from 'primereact/button';\nimport { Dropdown } from 'primereact/dropdown';\nimport * as faIcons from 'react-icons/fa6';\nimport { TypeFormat } from '../types/TypeFormat';\nimport { JsonSchemaProperty } from '../types/JsonSchema';\n\nexport interface TypeCellProps {\n rowData: JsonSchemaProperty;\n isEditMode: boolean;\n typeFormats: TypeFormat[];\n onUpdateProperty: (oldName: string, field: keyof JsonSchemaProperty, value: unknown, additionalUpdates?: Partial<JsonSchemaProperty>) => void;\n onUpdateArrayItemType: (propertyName: string, itemType: string) => void;\n onNavigateToProperty: (propertyName: string) => void;\n onNavigateToArrayItems: (propertyName: string) => void;\n onRemoveProperty: (propertyName: string) => void;\n}\n\nconst CONTAINER_TYPES = [\n { label: 'array', value: 'array' },\n { label: 'object', value: 'object' }\n];\n\nexport const TypeCell = ({\n rowData,\n isEditMode,\n typeFormats,\n onUpdateProperty,\n onUpdateArrayItemType,\n onNavigateToProperty,\n onNavigateToArrayItems,\n onRemoveProperty\n}: TypeCellProps) => {\n const DEFAULT_TYPE_OPTIONS = [\n { label: 'string', value: 'string' },\n { label: 'integer', value: 'integer' },\n { label: 'number', value: 'number' },\n { label: 'boolean', value: 'boolean' }\n ];\n\n const formatOptions = typeFormats.length > 0\n ? typeFormats.map(tf => {\n const format = (!tf.format || tf.format === '' ? tf.jsonType : tf.format);\n return { label: format, value: format };\n })\n : DEFAULT_TYPE_OPTIONS;\n\n const allTypeOptions = [\n ...formatOptions,\n ...CONTAINER_TYPES\n ];\n\n const displayValue = rowData.format || rowData.type || 'string';\n const currentValue = rowData.format || rowData.type || 'string';\n\n const handleTypeChange = (value: string, propertyName: string, isArrayItem: boolean = false) => {\n if (value === 'array' || value === 'object') {\n if (isArrayItem) {\n onUpdateArrayItemType(propertyName, value);\n } else {\n onUpdateProperty(propertyName, 'type', value, { format: undefined });\n }\n } else {\n const typeFormat = typeFormats.find(tf => {\n const effectiveFormat = (!tf.format || tf.format === '' ? tf.jsonType : tf.format);\n return effectiveFormat === value;\n });\n\n if (typeFormat) {\n if (isArrayItem) {\n onUpdateArrayItemType(propertyName, typeFormat.jsonType);\n } else {\n if (typeFormat.format && typeFormat.format !== '') {\n onUpdateProperty(propertyName, 'type', typeFormat.jsonType, { format: value });\n } else {\n onUpdateProperty(propertyName, 'type', typeFormat.jsonType, { format: undefined });\n }\n }\n } else {\n if (isArrayItem) {\n onUpdateArrayItemType(propertyName, value);\n } else {\n onUpdateProperty(propertyName, 'type', value, { format: undefined });\n }\n }\n }\n };\n\n if (!isEditMode) {\n if (rowData.type === 'array') {\n const itemType = rowData.items?.type || 'string';\n const isNavigable = itemType === 'object';\n return (\n <div\n className=\"flex align-items-center gap-2 w-full\"\n style={{ height: '100%' }}\n data-pr-tooltip={isNavigable ? 'Click to navigate to item definition' : undefined}\n data-pr-position=\"top\"\n >\n <span>Array of {itemType}</span>\n {isNavigable && (\n <>\n <div style={{ flex: 1 }} />\n <span style={{ display: 'flex', alignItems: 'center' }}>\n <faIcons.FaArrowRight style={{ fontSize: '1rem', color: 'var(--primary-color)' }} />\n </span>\n </>\n )}\n </div>\n );\n } else if (rowData.type === 'object') {\n return (\n <div\n className=\"flex align-items-center gap-2 w-full\"\n style={{ height: '100%' }}\n data-pr-tooltip=\"Click to navigate to object properties\"\n data-pr-position=\"top\"\n >\n <span>Object</span>\n <div style={{ flex: 1 }} />\n <span style={{ display: 'flex', alignItems: 'center' }}>\n <faIcons.FaArrowRight style={{ fontSize: '1rem', color: 'var(--primary-color)' }} />\n </span>\n </div>\n );\n }\n return displayValue;\n }\n\n return (\n <div className=\"flex align-items-center gap-2 w-full\" style={{ minHeight: '2.5rem' }}>\n <Dropdown\n value={currentValue}\n options={allTypeOptions}\n onChange={(e) => handleTypeChange(e.value, rowData.name || '')}\n className=\"flex-1\"\n />\n {rowData.type === 'array' && rowData.items && (\n <>\n <span style={{ whiteSpace: 'nowrap', display: 'flex', alignItems: 'center' }}>of</span>\n <Dropdown\n value={rowData.items.type || 'string'}\n options={allTypeOptions}\n onChange={(e) => handleTypeChange(e.value, rowData.name || '', true)}\n className=\"flex-1\"\n />\n </>\n )}\n <div style={{ marginLeft: 'auto', display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n {rowData.type === 'array' && rowData.items?.type === 'object' && rowData.name && (\n <Button\n icon={<faIcons.FaArrowRight />}\n className=\"p-button-text p-button-sm\"\n onClick={() => onNavigateToArrayItems(rowData.name!)}\n tooltip=\"Navigate to item definition\"\n tooltipOptions={{ position: 'top' }}\n />\n )}\n {rowData.type === 'object' && rowData.name && (\n <Button\n icon={<faIcons.FaArrowRight />}\n className=\"p-button-text p-button-sm\"\n onClick={() => onNavigateToProperty(rowData.name!)}\n tooltip=\"Navigate to object properties\"\n tooltipOptions={{ position: 'top' }}\n />\n )}\n {rowData.name && (\n <Button\n icon={<faIcons.FaTrash />}\n className=\"p-button-text p-button-danger p-button-sm\"\n onClick={() => onRemoveProperty(rowData.name!)}\n tooltip=\"Delete property\"\n tooltipOptions={{ position: 'top' }}\n />\n )}\n </div>\n </div>\n );\n};\n"],"names":["_jsxs","_jsx","faIcons","Dropdown","_Fragment","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TypeCell.js","sources":["../../../SchemaEditor/TypeCell.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","faIcons","Dropdown","_Fragment","Button"],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
var SchemaEditor = require('./SchemaEditor.js');
|
|
4
4
|
var TypeFormat = require('../types/TypeFormat.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.SchemaEditor = SchemaEditor.SchemaEditor;
|
|
9
10
|
exports.DEFAULT_TYPE_FORMATS = TypeFormat.DEFAULT_TYPE_FORMATS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../SchemaEditor/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;AACA;;;;;"}
|
|
@@ -1,5 +1,10 @@
|
|
|
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
|
+
* Validates a property name, returning an error string or undefined if valid.
|
|
7
|
+
*/
|
|
3
8
|
function validatePropertyName(name, propertyId, allProperties) {
|
|
4
9
|
if (!name || name.trim() === '') {
|
|
5
10
|
return 'Property name cannot be empty';
|
|
@@ -14,6 +19,9 @@ function validatePropertyName(name, propertyId, allProperties) {
|
|
|
14
19
|
}
|
|
15
20
|
return undefined;
|
|
16
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Builds the list of breadcrumb navigation items from a path, using the event type name as the root.
|
|
24
|
+
*/
|
|
17
25
|
function buildBreadcrumbItems(eventTypeName, currentPath) {
|
|
18
26
|
const items = [{ name: eventTypeName, path: [] }];
|
|
19
27
|
for (let i = 0; i < currentPath.length; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaHelpers.js","sources":["../../../SchemaEditor/schemaHelpers.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"schemaHelpers.js","sources":["../../../SchemaEditor/schemaHelpers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACA;AAIA;;AAEG;SACa,oBAAoB,CAAC,IAAY,EAAE,UAAkB,EAAE,aAAmC,EAAA;IACtG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AAC7B,QAAA,OAAO,+BAA+B;IAC1C;IAEA,MAAM,sBAAsB,GAAG,0BAA0B;IACzD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACpC,QAAA,OAAO,yGAAyG;IACpH;IAEA,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC;AACpF,IAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,QAAA,OAAO,8BAA8B;IACzC;AAEA,IAAA,OAAO,SAAS;AACpB;AAEA;;AAEG;AACG,SAAU,oBAAoB,CAAC,aAAqB,EAAE,WAAqB,EAAA;AAC7E,IAAA,MAAM,KAAK,GAAqB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAEnE,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;AAC9B,QAAA,IAAI,OAAO,KAAK,QAAQ,EAAE;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACtE;aAAO;YACH,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACpE;IACJ;AAEA,IAAA,OAAO,KAAK;AAChB;;;;;"}
|
|
@@ -7,6 +7,7 @@ var Properties = require('./Properties.js');
|
|
|
7
7
|
require('./EventsView.css');
|
|
8
8
|
|
|
9
9
|
const EventsView = ({ events }) => {
|
|
10
|
+
// Use test data if no events provided
|
|
10
11
|
const displayEvents = events.length > 0 ? events : [];
|
|
11
12
|
const containerRef = React.useRef(null);
|
|
12
13
|
const [canScrollUp, setCanScrollUp] = React.useState(false);
|
|
@@ -37,6 +38,7 @@ const EventsView = ({ events }) => {
|
|
|
37
38
|
return (jsxRuntime.jsxs("div", { className: `events-view-event-card events-view-event-card--${position}`, children: [jsxRuntime.jsxs("div", { className: `events-view-event-header ${isLeft ? 'events-view-event-header--right' : ''}`, children: [jsxRuntime.jsx("h3", { className: `events-view-event-name ${isLeft ? 'events-view-event-name--right' : ''}`, children: event.type }), jsxRuntime.jsx("div", { className: `events-view-event-timestamp ${isLeft ? 'events-view-event-timestamp--right' : ''}`, children: event.occurred.toLocaleString() })] }), jsxRuntime.jsx("div", { className: "events-view-event-properties", children: jsxRuntime.jsx(Properties.Properties, { data: event.content || {}, align: "left" }) })] }));
|
|
38
39
|
};
|
|
39
40
|
const customContent = (event, index) => {
|
|
41
|
+
// PrimeReact places even indices (0,2,4,...) on the right, odd on the left
|
|
40
42
|
const position = index % 2 === 0 ? 'right' : 'left';
|
|
41
43
|
return renderEventCard(event, position);
|
|
42
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsView.js","sources":["../../../TimeMachine/EventsView.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"EventsView.js","sources":["../../../TimeMachine/EventsView.tsx"],"sourcesContent":[null],"names":["useRef","useState","useEffect","_jsxs","_jsx","Properties","Timeline"],"mappings":";;;;;;;;MAaa,UAAU,GAA8B,CAAC,EAAE,MAAM,EAAE,KAAI;;AAEhE,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,EAAE;AACrD,IAAA,MAAM,YAAY,GAAGA,YAAM,CAAiB,IAAI,CAAC;IACjD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAEzD,MAAM,iBAAiB,GAAG,MAAK;AAC3B,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;QACtC,IAAI,CAAC,SAAS,EAAE;YACZ,cAAc,CAAC,KAAK,CAAC;YACrB,gBAAgB,CAAC,KAAK,CAAC;YACvB;QACJ;QAEA,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,SAAS;QAC3D,MAAM,OAAO,GAAG,CAAC;AACjB,QAAA,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC;QACnC,gBAAgB,CAAC,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;AACvE,IAAA,CAAC;IAEDC,eAAS,CAAC,MAAK;AACX,QAAA,iBAAiB,EAAE;AACnB,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,MAAM,YAAY,GAAG,MAAM,iBAAiB,EAAE;AAC9C,QAAA,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;QAClD,OAAO,MAAM,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;AACtE,IAAA,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAE1B,IAAA,MAAM,eAAe,GAAG,CAAC,KAAY,EAAE,QAA0B,KAAI;AACjE,QAAA,MAAM,MAAM,GAAG,QAAQ,KAAK,MAAM;AAElC,QAAA,QACIC,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAA,+CAAA,EAAkD,QAAQ,EAAE,EAAA,QAAA,EAAA,CACxEA,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAA,yBAAA,EAA4B,MAAM,GAAG,iCAAiC,GAAG,EAAE,EAAE,EAAA,QAAA,EAAA,CACzFC,cAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAE,CAAA,uBAAA,EAA0B,MAAM,GAAG,+BAA+B,GAAG,EAAE,EAAE,EAAA,QAAA,EAAG,KAAK,CAAC,IAAI,EAAA,CAAM,EAC3GA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAA,4BAAA,EAA+B,MAAM,GAAG,oCAAoC,GAAG,EAAE,EAAE,EAAA,QAAA,EAC9F,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAA,CAC9B,IACJ,EACNA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8BAA8B,YACzCA,cAAA,CAACC,qBAAU,IAAC,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,EAAC,MAAM,GAAG,EAAA,CACpD,CAAA,EAAA,CACJ;AAEd,IAAA,CAAC;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,KAAa,KAAI;;AAElD,QAAA,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,MAAM;AACnD,QAAA,OAAO,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC3C,IAAA,CAAC;IAED,MAAM,YAAY,GAAG,MAAK;AACtB,QAAA,QACID,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAC/BA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,wBAAwB,EAAA,CAAO,EAAA,CAC5C;AAEd,IAAA,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACxF,MAAM,cAAc,GAAG,MAAK;AACxB,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;AAChB,QAAA,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC3E,IAAA,CAAC;IAED,QACID,yBAAK,SAAS,EAAC,uBAAuB,EAAC,GAAG,EAAE,YAAY,EAAA,QAAA,EAAA,CACnD,WAAW,KACRC,wBAAK,SAAS,EAAC,0EAA0E,EAAA,QAAA,EACrFA,cAAA,CAAA,QAAA,EAAA,EACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0DAA0D,EACpE,OAAO,EAAE,WAAW,EAAA,YAAA,EACT,eAAe,EAAA,QAAA,EAE1BA,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,gBAAgB,EAAA,CAAG,EAAA,CAC3B,GACP,CACT,EACDA,eAACE,iBAAQ,EAAA,EACL,KAAK,EAAE,aAAa,EACpB,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAC,sBAAsB,EAAA,CAClC,EACD,aAAa,KACVF,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6EAA6E,EAAA,QAAA,EACxFA,cAAA,CAAA,QAAA,EAAA,EACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,6DAA6D,EACvE,OAAO,EAAE,cAAc,EAAA,YAAA,EACZ,kBAAkB,YAE7BA,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,kBAAkB,EAAA,CAAG,GAC7B,EAAA,CACP,CACT,CAAA,EAAA,CACC;AAEd;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Properties.js","sources":["../../../TimeMachine/Properties.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"Properties.js","sources":["../../../TimeMachine/Properties.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","formatPropertyName"],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ const ReadModelView = ({ versions, selectedIndex, hoveredIndex, onVersionSelect,
|
|
|
21
21
|
const isFlipped = flippedMap[version.id] ?? false;
|
|
22
22
|
if (!isVisible)
|
|
23
23
|
return null;
|
|
24
|
+
// Only prepare events for the active version to avoid showing all events at once
|
|
24
25
|
const events = isActive && version.events?.length
|
|
25
26
|
? version.events.map(event => ({
|
|
26
27
|
...event,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadModelView.js","sources":["../../../TimeMachine/ReadModelView.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, { useState } from 'react';\nimport type { Version } from './types';\nimport { Properties } from './Properties';\n\ninterface ReadModelViewProps {\n versions: Version[];\n selectedIndex: number;\n hoveredIndex: number | null;\n onVersionSelect: (index: number) => void;\n onHoveringCardChange: (isHovering: boolean) => void;\n}\n\nexport const ReadModelView: React.FC<ReadModelViewProps> = ({\n versions,\n selectedIndex,\n hoveredIndex,\n onVersionSelect,\n onHoveringCardChange,\n}) => {\n const displayIndex = hoveredIndex ?? selectedIndex;\n const [flippedMap, setFlippedMap] = useState<Record<string, boolean>>({});\n\n const toggleFlip = (id: string) => (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n setFlippedMap(previous => ({\n ...previous,\n [id]: !previous[id]\n }));\n };\n\n return (\n <>\n {/* Starfield background */}\n <div className=\"time-machine-background\">\n <div className=\"stars\"></div>\n <div className=\"stars stars-2\"></div>\n <div className=\"stars stars-3\"></div>\n </div>\n\n {/* 3D Stacked Windows */}\n <div className=\"time-machine-viewport\">\n <div className=\"windows-container\">\n {versions.map((version, index) => {\n const depth = index - displayIndex;\n const isActive = index === displayIndex;\n const isVisible = depth >= 0 && depth < 10;\n const isFlipped = flippedMap[version.id] ?? false;\n\n if (!isVisible) return null;\n\n // Only prepare events for the active version to avoid showing all events at once\n const events = isActive && version.events?.length\n ? version.events.map(event => ({\n ...event,\n occurred: new Date(event.occurred)\n }))\n : [];\n\n return (\n <div\n key={version.id}\n className={`version-window ${isActive ? 'active' : ''} ${isFlipped ? 'flipped' : ''}`}\n style={{\n '--depth': depth,\n '--z-offset': -depth * 150,\n '--scale': 1 - depth * 0.05,\n '--opacity': 1 - depth * 0.12,\n } as React.CSSProperties}\n onClick={() => onVersionSelect(index)}\n onMouseEnter={() => onHoveringCardChange(true)}\n onMouseLeave={() => onHoveringCardChange(false)}\n >\n <div className=\"version-window-inner\">\n <div className=\"version-window-face version-window-face--front\">\n <div className=\"window-chrome\">\n <div className=\"window-controls\">\n <span className=\"control close\"></span>\n <span className=\"control minimize\"></span>\n <span className=\"control maximize\"></span>\n </div>\n <div className=\"window-title\">{version.label}</div>\n <div className=\"window-actions\">\n <button\n type=\"button\"\n className=\"window-flip-button\"\n onClick={toggleFlip(version.id)}\n aria-label=\"Show related events\"\n aria-pressed={isFlipped}\n >\n <i className={`pi ${isFlipped ? 'pi-undo' : 'pi-refresh'}`} />\n </button>\n </div>\n </div>\n <div className=\"window-content\">\n {version.content}\n </div>\n </div>\n <div className=\"version-window-face version-window-face--back\">\n <div className=\"window-chrome window-chrome--back\">\n <div className=\"window-controls\">\n <span className=\"control close\"></span>\n <span className=\"control minimize\"></span>\n <span className=\"control maximize\"></span>\n </div>\n <div className=\"window-title\">Related Events</div>\n <div className=\"window-actions\">\n <button\n type=\"button\"\n className=\"window-flip-button\"\n onClick={toggleFlip(version.id)}\n aria-label=\"Show read model snapshot\"\n aria-pressed={isFlipped}\n >\n <i className={`pi ${isFlipped ? 'pi-undo' : 'pi-refresh'}`} />\n </button>\n </div>\n </div>\n <div className=\"window-content window-content--events\">\n <div className=\"snapshot-event-list\">\n {events.map((event, eventIndex) => (\n <div key={`${version.id}-${event.sequenceNumber ?? eventIndex}`} className=\"snapshot-event\">\n <div className=\"snapshot-event-header\">\n <span className=\"snapshot-event-name\">{event.type}</span>\n <span className=\"snapshot-event-timestamp\">{event.occurred.toLocaleString()}</span>\n </div>\n <Properties data={event.content} align=\"left\" />\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </>\n );\n};\n"],"names":["useState","_jsxs","_jsx","Properties"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadModelView.js","sources":["../../../TimeMachine/ReadModelView.tsx"],"sourcesContent":[null],"names":["useState","_jsxs","_jsx","Properties"],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ const TimeMachine = ({ versions, currentVersionIndex = 0, onVersionChange, scrol
|
|
|
25
25
|
const handleTimelineHover = React.useCallback((index) => {
|
|
26
26
|
setHoveredIndex(index);
|
|
27
27
|
}, []);
|
|
28
|
+
// Handle trackpad two-finger scroll gesture
|
|
28
29
|
React.useEffect(() => {
|
|
29
30
|
if (viewMode !== ViewModes.ReadModel) {
|
|
30
31
|
return;
|
|
@@ -33,12 +34,18 @@ const TimeMachine = ({ versions, currentVersionIndex = 0, onVersionChange, scrol
|
|
|
33
34
|
if (!container)
|
|
34
35
|
return;
|
|
35
36
|
const handleWheel = (e) => {
|
|
37
|
+
// Only handle navigation when not hovering over a card
|
|
36
38
|
if (isHoveringCard) {
|
|
37
|
-
return;
|
|
39
|
+
return; // Allow normal scrolling within cards
|
|
38
40
|
}
|
|
41
|
+
// Prevent default scrolling behavior
|
|
39
42
|
e.preventDefault();
|
|
43
|
+
// Use deltaX for horizontal scroll, fallback to deltaY for vertical
|
|
44
|
+
// Most trackpads send horizontal delta for two-finger swipe
|
|
40
45
|
const delta = Math.abs(e.deltaX) > Math.abs(e.deltaY) ? e.deltaX : e.deltaY;
|
|
46
|
+
// Accumulate scroll delta
|
|
41
47
|
scrollAccumulatorRef.current += delta;
|
|
48
|
+
// Check if we've accumulated enough scroll to change version
|
|
42
49
|
if (Math.abs(scrollAccumulatorRef.current) >= scrollSensitivity) {
|
|
43
50
|
const direction = scrollAccumulatorRef.current > 0 ? 1 : -1;
|
|
44
51
|
const newIndex = Math.max(0, Math.min(versions.length - 1, selectedIndex + direction));
|
|
@@ -46,6 +53,7 @@ const TimeMachine = ({ versions, currentVersionIndex = 0, onVersionChange, scrol
|
|
|
46
53
|
setSelectedIndex(newIndex);
|
|
47
54
|
onVersionChange?.(newIndex);
|
|
48
55
|
}
|
|
56
|
+
// Reset accumulator after version change
|
|
49
57
|
scrollAccumulatorRef.current = 0;
|
|
50
58
|
}
|
|
51
59
|
};
|
|
@@ -54,6 +62,7 @@ const TimeMachine = ({ versions, currentVersionIndex = 0, onVersionChange, scrol
|
|
|
54
62
|
container.removeEventListener('wheel', handleWheel);
|
|
55
63
|
};
|
|
56
64
|
}, [versions.length, selectedIndex, onVersionChange, scrollSensitivity, isHoveringCard, viewMode]);
|
|
65
|
+
// Get all events from all versions
|
|
57
66
|
const allEvents = versions.flatMap(version => version.events || []);
|
|
58
67
|
return (jsxRuntime.jsxs("div", { className: "time-machine", ref: containerRef, children: [jsxRuntime.jsxs("div", { className: "view-switcher", children: [jsxRuntime.jsx("button", { className: `view-button ${viewMode === ViewModes.ReadModel ? 'active' : ''}`, onClick: () => setViewMode(ViewModes.ReadModel), "aria-label": "Read Model View", title: "Read Model View", children: jsxRuntime.jsx("i", { className: "pi pi-box" }) }), jsxRuntime.jsx("button", { className: `view-button ${viewMode === ViewModes.Events ? 'active' : ''}`, onClick: () => setViewMode(ViewModes.Events), "aria-label": "Events View", title: "Events View", children: jsxRuntime.jsx("i", { className: "pi pi-list" }) })] }), viewMode === ViewModes.ReadModel ? (jsxRuntime.jsx(ReadModelView.ReadModelView, { versions: versions, selectedIndex: selectedIndex, hoveredIndex: hoveredIndex, onVersionSelect: handleVersionSelect, onHoveringCardChange: setIsHoveringCard })) : (jsxRuntime.jsx(EventsView.EventsView, { events: allEvents })), viewMode === ViewModes.ReadModel && (jsxRuntime.jsx(Timeline, { versions: versions, selectedIndex: selectedIndex, hoveredIndex: hoveredIndex, onSelect: handleVersionSelect, onHover: handleTimelineHover })), viewMode === ViewModes.ReadModel && (jsxRuntime.jsxs("div", { className: "navigation-controls", children: [jsxRuntime.jsx("button", { className: "nav-button prev", disabled: selectedIndex === 0, onClick: () => handleVersionSelect(Math.max(0, selectedIndex - 1)), "aria-label": "Previous version", children: "\u2039" }), jsxRuntime.jsx("button", { className: "nav-button next", disabled: selectedIndex === versions.length - 1, onClick: () => handleVersionSelect(Math.min(versions.length - 1, selectedIndex + 1)), "aria-label": "Next version", children: "\u203A" })] }))] }));
|
|
59
68
|
};
|
|
@@ -62,6 +71,7 @@ const Timeline = ({ versions, selectedIndex, hoveredIndex, onSelect, onHover, })
|
|
|
62
71
|
if (hoverIdx === null)
|
|
63
72
|
return 1;
|
|
64
73
|
const distance = Math.abs(index - hoverIdx);
|
|
74
|
+
// Fish-eye effect: items close to hover get magnified
|
|
65
75
|
if (distance === 0)
|
|
66
76
|
return 2.0;
|
|
67
77
|
if (distance === 1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeMachine.js","sources":["../../../TimeMachine/TimeMachine.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, { useState, useCallback, useRef, useEffect } from 'react';\nimport type { Version } from './types';\nimport { ReadModelView } from './ReadModelView';\nimport { EventsView } from './EventsView';\nimport './TimeMachine.css';\n\nenum ViewModes {\n ReadModel = 'ReadModel',\n Events = 'Events',\n}\n\ninterface TimeMachineProps {\n versions: Version[];\n currentVersionIndex?: number;\n onVersionChange?: (index: number) => void;\n /** Scroll sensitivity - higher values require more scrolling to change versions */\n scrollSensitivity?: number;\n}\n\nexport const TimeMachine: React.FC<TimeMachineProps> = ({\n versions,\n currentVersionIndex = 0,\n onVersionChange,\n scrollSensitivity = 50,\n}) => {\n const [selectedIndex, setSelectedIndex] = useState(currentVersionIndex);\n const [hoveredIndex, setHoveredIndex] = useState<number | null>(null);\n const [isHoveringCard, setIsHoveringCard] = useState(false);\n const [viewMode, setViewMode] = useState<ViewModes>(ViewModes.ReadModel);\n const containerRef = useRef<HTMLDivElement>(null);\n const scrollAccumulatorRef = useRef(0);\n\n const handleVersionSelect = useCallback((index: number) => {\n setSelectedIndex(index);\n onVersionChange?.(index);\n }, [onVersionChange]);\n\n const handleTimelineHover = useCallback((index: number | null) => {\n setHoveredIndex(index);\n }, []);\n\n // Handle trackpad two-finger scroll gesture\n useEffect(() => {\n if (viewMode !== ViewModes.ReadModel) {\n return;\n }\n\n const container = containerRef.current;\n if (!container) return;\n\n const handleWheel = (e: WheelEvent) => {\n // Only handle navigation when not hovering over a card\n if (isHoveringCard) {\n return; // Allow normal scrolling within cards\n }\n\n // Prevent default scrolling behavior\n e.preventDefault();\n\n // Use deltaX for horizontal scroll, fallback to deltaY for vertical\n // Most trackpads send horizontal delta for two-finger swipe\n const delta = Math.abs(e.deltaX) > Math.abs(e.deltaY) ? e.deltaX : e.deltaY;\n\n // Accumulate scroll delta\n scrollAccumulatorRef.current += delta;\n\n // Check if we've accumulated enough scroll to change version\n if (Math.abs(scrollAccumulatorRef.current) >= scrollSensitivity) {\n const direction = scrollAccumulatorRef.current > 0 ? 1 : -1;\n const newIndex = Math.max(0, Math.min(versions.length - 1, selectedIndex + direction));\n\n if (newIndex !== selectedIndex) {\n setSelectedIndex(newIndex);\n onVersionChange?.(newIndex);\n }\n\n // Reset accumulator after version change\n scrollAccumulatorRef.current = 0;\n }\n };\n\n container.addEventListener('wheel', handleWheel, { passive: false });\n\n return () => {\n container.removeEventListener('wheel', handleWheel);\n };\n }, [versions.length, selectedIndex, onVersionChange, scrollSensitivity, isHoveringCard, viewMode]);\n\n // Calculate the display index - either hovered or selected\n // (not used in this component; ReadModelView computes its own display index)\n void hoveredIndex;\n void selectedIndex;\n\n // Get all events from all versions\n const allEvents = versions.flatMap(version => version.events || []);\n\n return (\n <div className=\"time-machine\" ref={containerRef}>\n {/* View Switcher */}\n <div className=\"view-switcher\">\n <button\n className={`view-button ${viewMode === ViewModes.ReadModel ? 'active' : ''}`}\n onClick={() => setViewMode(ViewModes.ReadModel)}\n aria-label=\"Read Model View\"\n title=\"Read Model View\"\n >\n <i className=\"pi pi-box\" />\n </button>\n <button\n className={`view-button ${viewMode === ViewModes.Events ? 'active' : ''}`}\n onClick={() => setViewMode(ViewModes.Events)}\n aria-label=\"Events View\"\n title=\"Events View\"\n >\n <i className=\"pi pi-list\" />\n </button>\n </div>\n\n {/* Render the appropriate view */}\n {viewMode === ViewModes.ReadModel ? (\n <ReadModelView\n versions={versions}\n selectedIndex={selectedIndex}\n hoveredIndex={hoveredIndex}\n onVersionSelect={handleVersionSelect}\n onHoveringCardChange={setIsHoveringCard}\n />\n ) : (\n <EventsView events={allEvents} />\n )}\n\n {/* Timeline - only show in ReadModel view */}\n {viewMode === ViewModes.ReadModel && (\n <Timeline\n versions={versions}\n selectedIndex={selectedIndex}\n hoveredIndex={hoveredIndex}\n onSelect={handleVersionSelect}\n onHover={handleTimelineHover}\n />\n )}\n\n {/* Navigation arrows - only show in ReadModel view */}\n {viewMode === ViewModes.ReadModel && (\n <div className=\"navigation-controls\">\n <button\n className=\"nav-button prev\"\n disabled={selectedIndex === 0}\n onClick={() => handleVersionSelect(Math.max(0, selectedIndex - 1))}\n aria-label=\"Previous version\"\n >\n ‹\n </button>\n <button\n className=\"nav-button next\"\n disabled={selectedIndex === versions.length - 1}\n onClick={() => handleVersionSelect(Math.min(versions.length - 1, selectedIndex + 1))}\n aria-label=\"Next version\"\n >\n ›\n </button>\n </div>\n )}\n </div>\n );\n};\n\ninterface TimelineProps {\n versions: Version[];\n selectedIndex: number;\n hoveredIndex: number | null;\n onSelect: (index: number) => void;\n onHover: (index: number | null) => void;\n}\n\nconst Timeline: React.FC<TimelineProps> = ({\n versions,\n selectedIndex,\n hoveredIndex,\n onSelect,\n onHover,\n}) => {\n const getMagnification = (index: number, hoverIdx: number | null): number => {\n if (hoverIdx === null) return 1;\n const distance = Math.abs(index - hoverIdx);\n // Fish-eye effect: items close to hover get magnified\n if (distance === 0) return 2.0;\n if (distance === 1) return 1.6;\n if (distance === 2) return 1.3;\n if (distance === 3) return 1.1;\n return 1;\n };\n\n const formatDate = (date: Date): string => {\n return date.toLocaleDateString('en-US', {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n });\n };\n\n const formatTime = (date: Date): string => {\n return date.toLocaleTimeString('en-US', {\n hour: 'numeric',\n minute: '2-digit',\n hour12: true,\n });\n };\n\n return (\n <div\n className=\"timeline\"\n onMouseLeave={() => onHover(null)}\n >\n <div className=\"timeline-track\">\n {versions.map((version, index) => {\n const magnification = getMagnification(index, hoveredIndex);\n const isSelected = index === selectedIndex;\n const isHovered = index === hoveredIndex;\n\n return (\n <div\n key={version.id}\n className={`timeline-entry ${isSelected ? 'selected' : ''} ${isHovered ? 'hovered' : ''}`}\n style={{\n '--magnification': magnification,\n } as React.CSSProperties}\n onMouseEnter={() => onHover(index)}\n onClick={() => onSelect(index)}\n >\n <div className=\"timeline-tick\"></div>\n <div className=\"timeline-label\">\n <span className=\"timeline-date\">{formatDate(version.timestamp)}</span>\n <span className=\"timeline-time\">{formatTime(version.timestamp)}</span>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default TimeMachine;\n"],"names":["useState","useRef","useCallback","useEffect","_jsxs","_jsx","ReadModelView","EventsView"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimeMachine.js","sources":["../../../TimeMachine/TimeMachine.tsx"],"sourcesContent":[null],"names":["useState","useRef","useCallback","useEffect","_jsxs","_jsx","ReadModelView","EventsView"],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@ var ReadModelView = require('./ReadModelView.js');
|
|
|
5
5
|
var EventsView = require('./EventsView.js');
|
|
6
6
|
var Properties = require('./Properties.js');
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
9
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
9
10
|
|
|
10
11
|
exports.TimeMachine = TimeMachine.TimeMachine;
|
|
11
12
|
exports.ReadModelView = ReadModelView.ReadModelView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../TimeMachine/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAAA;AACA;;;;;;;"}
|
|
@@ -1,5 +1,10 @@
|
|
|
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
|
+
* Converts a camelCase property key to a human-readable Title Case label with spaces.
|
|
7
|
+
*/
|
|
3
8
|
function formatPropertyName(key) {
|
|
4
9
|
return key
|
|
5
10
|
.replace(/([A-Z])/g, ' $1')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propertiesHelpers.js","sources":["../../../TimeMachine/propertiesHelpers.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"propertiesHelpers.js","sources":["../../../TimeMachine/propertiesHelpers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACA;AAEA;;AAEG;AACG,SAAU,kBAAkB,CAAC,GAAW,EAAA;AAC1C,IAAA,OAAO;AACF,SAAA,OAAO,CAAC,UAAU,EAAE,KAAK;SACzB,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE;AACtC,SAAA,IAAI,EAAE;AACf;;;;"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var ToolbarDragContext = require('./ToolbarDragContext.js');
|
|
4
5
|
require('./Toolbar.css');
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
/**
|
|
8
|
+
* A toolbar container that groups icon buttons with a rounded border,
|
|
9
|
+
* mimicking the style of tools panels found in canvas-based applications.
|
|
10
|
+
* Supports both vertical (default) and horizontal orientations.
|
|
11
|
+
*/
|
|
12
|
+
const Toolbar = ({ children, orientation = 'vertical', draggable = false, onItemDragStart }) => (jsxRuntime.jsx(ToolbarDragContext.ToolbarDragContext.Provider, { value: { draggable, onItemDragStart }, children: jsxRuntime.jsx("div", { className: `toolbar inline-flex ${orientation === 'horizontal' ? 'flex-row' : 'flex-col'} items-center gap-1 p-2 rounded-2xl`, children: children }) }));
|
|
7
13
|
|
|
8
14
|
exports.Toolbar = Toolbar;
|
|
9
15
|
//# sourceMappingURL=Toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.js","sources":["../../../Toolbar/Toolbar.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"Toolbar.js","sources":["../../../Toolbar/Toolbar.tsx"],"sourcesContent":[null],"names":["_jsx","ToolbarDragContext"],"mappings":";;;;;;AA0BA;;;;AAIG;AACI,MAAM,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,WAAW,GAAG,UAAU,EAAE,SAAS,GAAG,KAAK,EAAE,eAAe,EAAgB,MAC5GA,cAAA,CAACC,qCAAkB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAA,QAAA,EAC9DD,cAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,CAAA,oBAAA,EACP,WAAW,KAAK,YAAY,GAAG,UAAU,GAAG,UAChD,CAAA,mCAAA,CAAqC,EAAA,QAAA,EAEpC,QAAQ,EAAA,CACP,EAAA,CACoB;;;;"}
|
|
@@ -2,9 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var Tooltip = require('../Common/Tooltip.js');
|
|
5
|
+
var ToolbarDragContext = require('./ToolbarDragContext.js');
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
/**
|
|
8
|
+
* An icon button with a tooltip, intended to be placed inside a {@link Toolbar}.
|
|
9
|
+
* Uses the shared {@link Tooltip} component for consistent hover labels.
|
|
10
|
+
*/
|
|
11
|
+
const ToolbarButton = ({ icon, text, tooltip, active = false, onClick, tooltipPosition = 'right', draggable, data, onDragStart }) => {
|
|
12
|
+
const dragContext = ToolbarDragContext.useToolbarDragContext();
|
|
13
|
+
const isDraggable = draggable ?? dragContext.draggable;
|
|
14
|
+
const handleDragStart = (event) => {
|
|
15
|
+
event.dataTransfer.setData('application/json', JSON.stringify(data ?? null));
|
|
16
|
+
event.dataTransfer.effectAllowed = 'copy';
|
|
17
|
+
onDragStart?.(data, event);
|
|
18
|
+
dragContext.onItemDragStart?.(data, event);
|
|
19
|
+
};
|
|
7
20
|
const activeClass = active ? 'toolbar-button--active' : '';
|
|
21
|
+
const draggableClass = isDraggable ? 'toolbar-button--draggable' : '';
|
|
8
22
|
const hasText = typeof text === 'string' && text.length > 0;
|
|
9
23
|
const hasIcon = typeof icon === 'string' && icon.length > 0;
|
|
10
24
|
const buttonContent = hasText
|
|
@@ -13,7 +27,7 @@ const ToolbarButton = ({ icon, text, tooltip, active = false, onClick, tooltipPo
|
|
|
13
27
|
? jsxRuntime.jsx("i", { className: `${icon} text-lg` })
|
|
14
28
|
: null;
|
|
15
29
|
const buttonSizeClass = hasText ? 'h-10 px-3 min-w-[4rem]' : 'w-10 h-10';
|
|
16
|
-
return (jsxRuntime.jsx(Tooltip.Tooltip, { content: tooltip, position: tooltipPosition, children: jsxRuntime.jsx("button", { type: 'button', "aria-label": tooltip, onClick: onClick, className: `toolbar-button ${buttonSizeClass} flex items-center justify-center rounded-lg cursor-pointer ${activeClass}`, children: buttonContent }) }));
|
|
30
|
+
return (jsxRuntime.jsx(Tooltip.Tooltip, { content: tooltip, position: tooltipPosition, children: jsxRuntime.jsx("button", { type: 'button', "aria-label": tooltip, onClick: onClick, draggable: isDraggable, onDragStart: isDraggable ? handleDragStart : undefined, className: `toolbar-button ${buttonSizeClass} flex items-center justify-center rounded-lg cursor-pointer ${activeClass} ${draggableClass}`, children: buttonContent }) }));
|
|
17
31
|
};
|
|
18
32
|
|
|
19
33
|
exports.ToolbarButton = ToolbarButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarButton.js","sources":["../../../Toolbar/ToolbarButton.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"ToolbarButton.js","sources":["../../../Toolbar/ToolbarButton.tsx"],"sourcesContent":[null],"names":["useToolbarDragContext","_jsx","Tooltip"],"mappings":";;;;;;AA+CA;;;AAGG;AACI,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAsB,KAAI;AAC3J,IAAA,MAAM,WAAW,GAAGA,wCAAqB,EAAE;AAC3C,IAAA,MAAM,WAAW,GAAG,SAAS,IAAI,WAAW,CAAC,SAAS;AAEtD,IAAA,MAAM,eAAe,GAAG,CAAC,KAAyC,KAAI;AAClE,QAAA,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAC5E,QAAA,KAAK,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM;AACzC,QAAA,WAAW,GAAG,IAAI,EAAE,KAAK,CAAC;QAC1B,WAAW,CAAC,eAAe,GAAG,IAAI,EAAE,KAAK,CAAC;AAC9C,IAAA,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,GAAG,wBAAwB,GAAG,EAAE;IAC1D,MAAM,cAAc,GAAG,WAAW,GAAG,2BAA2B,GAAG,EAAE;AACrE,IAAA,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;AAC3D,IAAA,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;IAC3D,MAAM,aAAa,GAAG;AAClB,UAAEC,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,sBAAsB,EAAA,QAAA,EAAE,IAAI,EAAA;AAC9C,UAAE;AACE,cAAEA,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAE,CAAA,EAAG,IAAI,UAAU,EAAA;cAC/B,IAAI;IACd,MAAM,eAAe,GAAG,OAAO,GAAG,wBAAwB,GAAG,WAAW;IAExE,QACIA,cAAA,CAACC,eAAO,EAAA,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAA,QAAA,EAChDD,2BACI,IAAI,EAAC,QAAQ,EAAA,YAAA,EACD,OAAO,EACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,WAAW,EACtB,WAAW,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,EACtD,SAAS,EAAE,CAAA,eAAA,EAAkB,eAAe,CAAA,4DAAA,EAA+D,WAAW,CAAA,CAAA,EAAI,cAAc,CAAA,CAAE,EAAA,QAAA,EAEzI,aAAa,EAAA,CACT,EAAA,CACH;AAElB;;;;"}
|
|
@@ -1,5 +1,13 @@
|
|
|
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
|
+
* Defines a named context (a set of toolbar items) within a {@link ToolbarSection}.
|
|
7
|
+
* The section renders only the active context at a time and animates between them.
|
|
8
|
+
*
|
|
9
|
+
* This is a data-only component; its rendering is fully managed by {@link ToolbarSection}.
|
|
10
|
+
*/
|
|
3
11
|
const ToolbarContext = () => null;
|
|
4
12
|
|
|
5
13
|
exports.ToolbarContext = ToolbarContext;
|