@cratis/components 2.9.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +196 -66
- package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.js +4 -4
- package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/CommandStepper.d.ts +18 -4
- package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandStepper.js +51 -60
- package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +6 -7
- package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.js +18 -15
- package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/StepperPanel.d.ts +10 -0
- package/dist/esm/CommandDialog/StepperPanel.d.ts.map +1 -0
- package/dist/esm/CommandDialog/StepperPanel.js +30 -0
- package/dist/esm/CommandDialog/StepperPanel.js.map +1 -0
- package/dist/esm/CommandDialog/index.d.ts +1 -0
- package/dist/esm/CommandDialog/index.d.ts.map +1 -1
- package/dist/esm/CommandDialog/index.js +1 -0
- package/dist/esm/CommandDialog/index.js.map +1 -1
- package/dist/esm/CommandForm/fields/CalendarField.d.ts +3 -3
- package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/CalendarField.js +2 -8
- package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.d.ts +3 -3
- package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.js +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ChipsField.d.ts +4 -3
- package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/ChipsField.js +3 -3
- package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +3 -3
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/ColorPickerField.js +16 -8
- package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.js +1 -4
- package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +3 -3
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.js +2 -8
- package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
- package/dist/esm/CommandForm/fields/NumberField.d.ts +3 -3
- package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/NumberField.js +1 -1
- package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
- package/dist/esm/CommandForm/fields/PasswordField.d.ts +13 -0
- package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/PasswordField.js +20 -0
- package/dist/esm/CommandForm/fields/PasswordField.js.map +1 -0
- package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +3 -3
- package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/RadioButtonField.js +2 -1
- package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +3 -3
- package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/RadioGroupField.js +2 -1
- package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RatingField.d.ts +14 -0
- package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/RatingField.js +19 -0
- package/dist/esm/CommandForm/fields/RatingField.js.map +1 -0
- package/dist/esm/CommandForm/fields/SliderField.d.ts +3 -3
- package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/SliderField.js +1 -1
- package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
- package/dist/esm/CommandForm/fields/TextAreaField.d.ts +3 -3
- package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/TextAreaField.js +2 -2
- package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +13 -0
- package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/ToggleSwitchField.js +20 -0
- package/dist/esm/CommandForm/fields/ToggleSwitchField.js.map +1 -0
- package/dist/esm/CommandForm/fields/index.d.ts +3 -0
- package/dist/esm/CommandForm/fields/index.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/index.js +3 -0
- package/dist/esm/CommandForm/fields/index.js.map +1 -1
- package/dist/esm/CommandForm/index.js +3 -0
- package/dist/esm/CommandForm/index.js.map +1 -1
- package/dist/esm/Common/ActionMenubar.d.ts +21 -0
- package/dist/esm/Common/ActionMenubar.d.ts.map +1 -0
- package/dist/esm/Common/ActionMenubar.js +20 -0
- package/dist/esm/Common/ActionMenubar.js.map +1 -0
- package/dist/esm/Common/CratisComponentsProvider.d.ts +5 -3
- package/dist/esm/Common/CratisComponentsProvider.d.ts.map +1 -1
- package/dist/esm/Common/CratisComponentsProvider.js +27 -11
- package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
- package/dist/esm/Common/DatePickerInput.d.ts +22 -0
- package/dist/esm/Common/DatePickerInput.d.ts.map +1 -0
- package/dist/esm/Common/DatePickerInput.js +18 -0
- package/dist/esm/Common/DatePickerInput.js.map +1 -0
- package/dist/esm/Common/FormElement.d.ts +0 -1
- package/dist/esm/Common/FormElement.d.ts.map +1 -1
- package/dist/esm/Common/FormElement.js +0 -1
- package/dist/esm/Common/FormElement.js.map +1 -1
- package/dist/esm/Common/Tooltip.d.ts +2 -2
- package/dist/esm/Common/Tooltip.d.ts.map +1 -1
- package/dist/esm/Common/Tooltip.js +25 -13
- package/dist/esm/Common/Tooltip.js.map +1 -1
- package/dist/esm/Common/index.d.ts +2 -0
- package/dist/esm/Common/index.d.ts.map +1 -1
- package/dist/esm/Common/index.js +2 -0
- package/dist/esm/Common/index.js.map +1 -1
- package/dist/esm/DataPage/DataPage.d.ts +17 -10
- package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
- package/dist/esm/DataPage/DataPage.js +19 -18
- package/dist/esm/DataPage/DataPage.js.map +1 -1
- package/dist/esm/DataPage/index.d.ts +1 -0
- package/dist/esm/DataPage/index.d.ts.map +1 -1
- package/dist/esm/DataPage/index.js +1 -0
- package/dist/esm/DataPage/index.js.map +1 -1
- package/dist/esm/DataTables/Column.d.ts +25 -0
- package/dist/esm/DataTables/Column.d.ts.map +1 -0
- package/dist/esm/DataTables/Column.js +24 -0
- package/dist/esm/DataTables/Column.js.map +1 -0
- package/dist/esm/DataTables/ColumnFilterMenu.d.ts +10 -0
- package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -0
- package/dist/esm/DataTables/ColumnFilterMenu.js +44 -0
- package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -0
- package/dist/esm/DataTables/DataTableCore.d.ts +33 -0
- package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableCore.js +59 -0
- package/dist/esm/DataTables/DataTableCore.js.map +1 -0
- package/dist/esm/DataTables/DataTableFilterMeta.d.ts +6 -0
- package/dist/esm/DataTables/DataTableFilterMeta.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableFilterMeta.js +2 -0
- package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -0
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +9 -8
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableForObservableQuery.js +41 -64
- package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
- package/dist/esm/DataTables/DataTableForQuery.d.ts +9 -8
- package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableForQuery.js +17 -44
- package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
- package/dist/esm/DataTables/DataTableSelectionChangeEvent.d.ts +6 -0
- package/dist/esm/DataTables/DataTableSelectionChangeEvent.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableSelectionChangeEvent.js +2 -0
- package/dist/esm/DataTables/DataTableSelectionChangeEvent.js.map +1 -0
- package/dist/esm/DataTables/TablePaginator.d.ts +17 -0
- package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -0
- package/dist/esm/DataTables/TablePaginator.js +22 -0
- package/dist/esm/DataTables/TablePaginator.js.map +1 -0
- package/dist/esm/DataTables/index.d.ts +5 -0
- package/dist/esm/DataTables/index.d.ts.map +1 -1
- package/dist/esm/DataTables/index.js +3 -0
- package/dist/esm/DataTables/index.js.map +1 -1
- package/dist/esm/DataTables/paginatorRange.d.ts +2 -0
- package/dist/esm/DataTables/paginatorRange.d.ts.map +1 -0
- package/dist/esm/DataTables/paginatorRange.js +21 -0
- package/dist/esm/DataTables/paginatorRange.js.map +1 -0
- package/dist/esm/DataTables/selectionKeys.d.ts +4 -0
- package/dist/esm/DataTables/selectionKeys.d.ts.map +1 -0
- package/dist/esm/DataTables/selectionKeys.js +34 -0
- package/dist/esm/DataTables/selectionKeys.js.map +1 -0
- package/dist/esm/Dialogs/BusyIndicatorDialog.d.ts.map +1 -1
- package/dist/esm/Dialogs/BusyIndicatorDialog.js +2 -2
- package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
- package/dist/esm/Dialogs/Dialog.d.ts +9 -7
- package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
- package/dist/esm/Dialogs/Dialog.js +45 -23
- package/dist/esm/Dialogs/Dialog.js.map +1 -1
- package/dist/esm/Display/Avatar.d.ts +11 -0
- package/dist/esm/Display/Avatar.d.ts.map +1 -0
- package/dist/esm/Display/Avatar.js +13 -0
- package/dist/esm/Display/Avatar.js.map +1 -0
- package/dist/esm/Display/Badge.d.ts +12 -0
- package/dist/esm/Display/Badge.d.ts.map +1 -0
- package/dist/esm/Display/Badge.js +11 -0
- package/dist/esm/Display/Badge.js.map +1 -0
- package/dist/esm/Display/Chip.d.ts +11 -0
- package/dist/esm/Display/Chip.d.ts.map +1 -0
- package/dist/esm/Display/Chip.js +11 -0
- package/dist/esm/Display/Chip.js.map +1 -0
- package/dist/esm/Display/ProgressBar.d.ts +8 -0
- package/dist/esm/Display/ProgressBar.d.ts.map +1 -0
- package/dist/esm/Display/ProgressBar.js +12 -0
- package/dist/esm/Display/ProgressBar.js.map +1 -0
- package/dist/esm/Display/Skeleton.d.ts +9 -0
- package/dist/esm/Display/Skeleton.d.ts.map +1 -0
- package/dist/esm/Display/Skeleton.js +18 -0
- package/dist/esm/Display/Skeleton.js.map +1 -0
- package/dist/esm/Display/Tag.d.ts +12 -0
- package/dist/esm/Display/Tag.d.ts.map +1 -0
- package/dist/esm/Display/Tag.js +12 -0
- package/dist/esm/Display/Tag.js.map +1 -0
- package/dist/esm/Display/index.d.ts +7 -0
- package/dist/esm/Display/index.d.ts.map +1 -0
- package/dist/esm/Display/index.js +10 -0
- package/dist/esm/Display/index.js.map +1 -0
- package/dist/esm/Dropdown/Dropdown.d.ts +33 -3
- package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/Dropdown/Dropdown.js +15 -18
- package/dist/esm/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/Filter/FilterPanel.d.ts +3 -2
- package/dist/esm/Filter/FilterPanel.d.ts.map +1 -1
- package/dist/esm/Filter/FilterPanel.js +4 -5
- package/dist/esm/Filter/FilterPanel.js.map +1 -1
- package/dist/esm/Notifications/Toaster.d.ts +9 -0
- package/dist/esm/Notifications/Toaster.d.ts.map +1 -0
- package/dist/esm/Notifications/Toaster.js +43 -0
- package/dist/esm/Notifications/Toaster.js.map +1 -0
- package/dist/esm/Notifications/index.d.ts +4 -0
- package/dist/esm/Notifications/index.d.ts.map +1 -0
- package/dist/{cjs/types → esm/Notifications}/index.js +3 -5
- package/dist/esm/Notifications/index.js.map +1 -0
- package/dist/esm/Notifications/toast.d.ts +3 -0
- package/dist/esm/Notifications/toast.d.ts.map +1 -0
- package/dist/esm/Notifications/toast.js +2 -0
- package/dist/esm/Notifications/toast.js.map +1 -0
- package/dist/esm/Notifications/toastCommandResult.d.ts +11 -0
- package/dist/esm/Notifications/toastCommandResult.d.ts.map +1 -0
- package/dist/esm/Notifications/toastCommandResult.js +59 -0
- package/dist/esm/Notifications/toastCommandResult.js.map +1 -0
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -1
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.js +11 -15
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts +2 -2
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts.map +1 -1
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js +3 -3
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
- package/dist/esm/PivotViewer/PivotViewer.d.ts +0 -1
- package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -1
- package/dist/esm/PivotViewer/PivotViewer.js +0 -1
- package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
- package/dist/esm/PivotViewer/components/Spinner.d.ts +0 -1
- package/dist/esm/PivotViewer/components/Spinner.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/Spinner.js +2 -1
- package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
- package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -1
- package/dist/esm/SchemaEditor/NameCell.js +3 -2
- package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
- package/dist/esm/SchemaEditor/SchemaEditor.d.ts +15 -1
- package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -1
- package/dist/esm/SchemaEditor/SchemaEditor.js +45 -32
- package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
- package/dist/esm/SchemaEditor/TypeCell.d.ts +3 -1
- package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -1
- package/dist/esm/SchemaEditor/TypeCell.js +7 -6
- package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
- package/dist/esm/SchemaEditor/index.js +1 -1
- package/dist/esm/TimeMachine/EventsView.d.ts +5 -4
- package/dist/esm/TimeMachine/EventsView.d.ts.map +1 -1
- package/dist/esm/TimeMachine/EventsView.js +3 -3
- package/dist/esm/TimeMachine/EventsView.js.map +1 -1
- package/dist/esm/TimeMachine/Properties.d.ts +0 -1
- package/dist/esm/TimeMachine/Properties.d.ts.map +1 -1
- package/dist/esm/TimeMachine/Properties.js +0 -1
- package/dist/esm/TimeMachine/Properties.js.map +1 -1
- package/dist/esm/TimeMachine/ReadModelView.d.ts +2 -0
- package/dist/esm/TimeMachine/ReadModelView.d.ts.map +1 -1
- package/dist/esm/TimeMachine/ReadModelView.js +3 -2
- package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
- package/dist/esm/TimeMachine/TimeMachine.d.ts +4 -1
- package/dist/esm/TimeMachine/TimeMachine.d.ts.map +1 -1
- package/dist/esm/TimeMachine/TimeMachine.js +5 -4
- package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
- package/dist/esm/TimeMachine/TimeMachineLabels.d.ts +12 -0
- package/dist/esm/TimeMachine/TimeMachineLabels.d.ts.map +1 -0
- package/dist/esm/TimeMachine/TimeMachineLabels.js +16 -0
- package/dist/esm/TimeMachine/TimeMachineLabels.js.map +1 -0
- package/dist/esm/TimeMachine/index.d.ts +2 -0
- package/dist/esm/TimeMachine/index.d.ts.map +1 -1
- package/dist/esm/TimeMachine/index.js +1 -0
- package/dist/esm/TimeMachine/index.js.map +1 -1
- package/dist/esm/Toolbar/Toolbar.d.ts +0 -1
- package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/esm/Toolbar/Toolbar.js +0 -1
- package/dist/esm/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +22 -18
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/styles.css +4686 -0
- package/dist/esm/theme.css +357 -0
- package/dist/esm/tokens.css +32 -12
- package/package.json +40 -26
- package/dist/cjs/CommandDialog/CommandDialog.js +0 -195
- package/dist/cjs/CommandDialog/CommandDialog.js.map +0 -1
- package/dist/cjs/CommandDialog/CommandStepper.css +0 -24
- package/dist/cjs/CommandDialog/CommandStepper.js +0 -238
- package/dist/cjs/CommandDialog/CommandStepper.js.map +0 -1
- package/dist/cjs/CommandDialog/StepperCommandDialog.js +0 -207
- package/dist/cjs/CommandDialog/StepperCommandDialog.js.map +0 -1
- package/dist/cjs/CommandDialog/applyBeforeExecute.js +0 -42
- package/dist/cjs/CommandDialog/applyBeforeExecute.js.map +0 -1
- package/dist/cjs/CommandDialog/index.js +0 -16
- package/dist/cjs/CommandDialog/index.js.map +0 -1
- package/dist/cjs/CommandDialog/stepChildren.js +0 -31
- package/dist/cjs/CommandDialog/stepChildren.js.map +0 -1
- package/dist/cjs/CommandForm/AutoCommandForm.js +0 -49
- package/dist/cjs/CommandForm/AutoCommandForm.js.map +0 -1
- package/dist/cjs/CommandForm/defaultFieldTypeProviders.js +0 -24
- package/dist/cjs/CommandForm/defaultFieldTypeProviders.js.map +0 -1
- package/dist/cjs/CommandForm/fieldTypeProviderRegistry.js +0 -36
- package/dist/cjs/CommandForm/fieldTypeProviderRegistry.js.map +0 -1
- package/dist/cjs/CommandForm/fields/CalendarField.js +0 -32
- package/dist/cjs/CommandForm/fields/CalendarField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/CheckboxField.js +0 -22
- package/dist/cjs/CommandForm/fields/CheckboxField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/ChipsField.js +0 -28
- package/dist/cjs/CommandForm/fields/ChipsField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/ColorPickerField.js +0 -33
- package/dist/cjs/CommandForm/fields/ColorPickerField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/DropdownField.js +0 -31
- package/dist/cjs/CommandForm/fields/DropdownField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/InputTextField.js +0 -53
- package/dist/cjs/CommandForm/fields/InputTextField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/MultiSelectField.js +0 -36
- package/dist/cjs/CommandForm/fields/MultiSelectField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/NumberField.js +0 -23
- package/dist/cjs/CommandForm/fields/NumberField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/RadioButtonField.js +0 -23
- package/dist/cjs/CommandForm/fields/RadioButtonField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/RadioGroupField.js +0 -40
- package/dist/cjs/CommandForm/fields/RadioGroupField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/SliderField.js +0 -22
- package/dist/cjs/CommandForm/fields/SliderField.js.map +0 -1
- package/dist/cjs/CommandForm/fields/TextAreaField.js +0 -24
- package/dist/cjs/CommandForm/fields/TextAreaField.js.map +0 -1
- package/dist/cjs/CommandForm/index.js +0 -37
- package/dist/cjs/CommandForm/index.js.map +0 -1
- package/dist/cjs/Common/CratisComponentsProvider.js +0 -44
- package/dist/cjs/Common/CratisComponentsProvider.js.map +0 -1
- package/dist/cjs/Common/ErrorBoundary.js +0 -58
- package/dist/cjs/Common/ErrorBoundary.js.map +0 -1
- package/dist/cjs/Common/FormElement.css +0 -26
- package/dist/cjs/Common/FormElement.js +0 -23
- package/dist/cjs/Common/FormElement.js.map +0 -1
- package/dist/cjs/Common/Icon.js +0 -33
- package/dist/cjs/Common/Icon.js.map +0 -1
- package/dist/cjs/Common/Page.js +0 -23
- package/dist/cjs/Common/Page.js.map +0 -1
- package/dist/cjs/Common/Tooltip.css +0 -10
- package/dist/cjs/Common/Tooltip.js +0 -21
- package/dist/cjs/Common/Tooltip.js.map +0 -1
- package/dist/cjs/Common/index.js +0 -23
- package/dist/cjs/Common/index.js.map +0 -1
- package/dist/cjs/Common/normalizeIconClass.js +0 -48
- package/dist/cjs/Common/normalizeIconClass.js.map +0 -1
- package/dist/cjs/DataPage/DataPage.js +0 -219
- package/dist/cjs/DataPage/DataPage.js.map +0 -1
- package/dist/cjs/DataPage/DataPageLayout.js +0 -34
- package/dist/cjs/DataPage/DataPageLayout.js.map +0 -1
- package/dist/cjs/DataPage/index.js +0 -12
- package/dist/cjs/DataPage/index.js.map +0 -1
- package/dist/cjs/DataTables/DataTableForObservableQuery.js +0 -133
- package/dist/cjs/DataTables/DataTableForObservableQuery.js.map +0 -1
- package/dist/cjs/DataTables/DataTableForQuery.js +0 -96
- package/dist/cjs/DataTables/DataTableForQuery.js.map +0 -1
- package/dist/cjs/DataTables/index.js +0 -11
- package/dist/cjs/DataTables/index.js.map +0 -1
- package/dist/cjs/Dialogs/BusyIndicatorDialog.js +0 -63
- package/dist/cjs/Dialogs/BusyIndicatorDialog.js.map +0 -1
- package/dist/cjs/Dialogs/ConfirmationDialog.js +0 -16
- package/dist/cjs/Dialogs/ConfirmationDialog.js.map +0 -1
- package/dist/cjs/Dialogs/Dialog.js +0 -203
- package/dist/cjs/Dialogs/Dialog.js.map +0 -1
- package/dist/cjs/Dialogs/DialogInitialFocus.js +0 -49
- package/dist/cjs/Dialogs/DialogInitialFocus.js.map +0 -1
- package/dist/cjs/Dialogs/index.js +0 -18
- package/dist/cjs/Dialogs/index.js.map +0 -1
- package/dist/cjs/Dropdown/Dropdown.js +0 -29
- package/dist/cjs/Dropdown/Dropdown.js.map +0 -1
- package/dist/cjs/Dropdown/index.js +0 -9
- package/dist/cjs/Dropdown/index.js.map +0 -1
- package/dist/cjs/Filter/FilterEditor.js +0 -28
- package/dist/cjs/Filter/FilterEditor.js.map +0 -1
- package/dist/cjs/Filter/FilterPanel.css +0 -459
- package/dist/cjs/Filter/FilterPanel.js +0 -109
- package/dist/cjs/Filter/FilterPanel.js.map +0 -1
- package/dist/cjs/Filter/RangeHistogramFilter.js +0 -121
- package/dist/cjs/Filter/RangeHistogramFilter.js.map +0 -1
- package/dist/cjs/Filter/index.js +0 -18
- package/dist/cjs/Filter/index.js.map +0 -1
- package/dist/cjs/Filter/useFilterState.js +0 -111
- package/dist/cjs/Filter/useFilterState.js.map +0 -1
- package/dist/cjs/Filter/utils.js +0 -28
- package/dist/cjs/Filter/utils.js.map +0 -1
- package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js +0 -268
- package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js.map +0 -1
- package/dist/cjs/ObjectContentEditor/index.js +0 -9
- package/dist/cjs/ObjectContentEditor/index.js.map +0 -1
- package/dist/cjs/ObjectContentEditor/objectHelpers.js +0 -25
- package/dist/cjs/ObjectContentEditor/objectHelpers.js.map +0 -1
- package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.css +0 -6
- package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js +0 -49
- package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js.map +0 -1
- package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js +0 -21
- package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js.map +0 -1
- package/dist/cjs/ObjectNavigationalBar/index.js +0 -9
- package/dist/cjs/ObjectNavigationalBar/index.js.map +0 -1
- package/dist/cjs/PivotViewer/PivotViewer.css +0 -1323
- package/dist/cjs/PivotViewer/PivotViewer.js +0 -307
- package/dist/cjs/PivotViewer/PivotViewer.js.map +0 -1
- package/dist/cjs/PivotViewer/components/AxisLabels.js +0 -28
- package/dist/cjs/PivotViewer/components/AxisLabels.js.map +0 -1
- package/dist/cjs/PivotViewer/components/DetailPanel.js +0 -42
- package/dist/cjs/PivotViewer/components/DetailPanel.js.map +0 -1
- package/dist/cjs/PivotViewer/components/FilterPanel.js +0 -29
- package/dist/cjs/PivotViewer/components/FilterPanel.js.map +0 -1
- package/dist/cjs/PivotViewer/components/FilterPanelContainer.js +0 -11
- package/dist/cjs/PivotViewer/components/FilterPanelContainer.js.map +0 -1
- package/dist/cjs/PivotViewer/components/PivotCanvas.js +0 -558
- package/dist/cjs/PivotViewer/components/PivotCanvas.js.map +0 -1
- package/dist/cjs/PivotViewer/components/PivotViewerMain.js +0 -98
- package/dist/cjs/PivotViewer/components/PivotViewerMain.js.map +0 -1
- package/dist/cjs/PivotViewer/components/Spinner.css +0 -77
- package/dist/cjs/PivotViewer/components/Spinner.js +0 -11
- package/dist/cjs/PivotViewer/components/Spinner.js.map +0 -1
- package/dist/cjs/PivotViewer/components/Toolbar.js +0 -44
- package/dist/cjs/PivotViewer/components/Toolbar.js.map +0 -1
- package/dist/cjs/PivotViewer/components/ToolbarContainer.js +0 -11
- package/dist/cjs/PivotViewer/components/ToolbarContainer.js.map +0 -1
- package/dist/cjs/PivotViewer/components/pivot/animation.js +0 -90
- package/dist/cjs/PivotViewer/components/pivot/animation.js.map +0 -1
- package/dist/cjs/PivotViewer/components/pivot/colorResolver.js +0 -66
- package/dist/cjs/PivotViewer/components/pivot/colorResolver.js.map +0 -1
- package/dist/cjs/PivotViewer/components/pivot/constants.js +0 -22
- package/dist/cjs/PivotViewer/components/pivot/constants.js.map +0 -1
- package/dist/cjs/PivotViewer/components/pivot/groups.js +0 -166
- package/dist/cjs/PivotViewer/components/pivot/groups.js.map +0 -1
- package/dist/cjs/PivotViewer/components/pivot/sprites.js +0 -279
- package/dist/cjs/PivotViewer/components/pivot/sprites.js.map +0 -1
- package/dist/cjs/PivotViewer/components/pivot/visibility.js +0 -359
- package/dist/cjs/PivotViewer/components/pivot/visibility.js.map +0 -1
- package/dist/cjs/PivotViewer/constants.js +0 -16
- package/dist/cjs/PivotViewer/constants.js.map +0 -1
- package/dist/cjs/PivotViewer/engine/layout.js +0 -123
- package/dist/cjs/PivotViewer/engine/layout.js.map +0 -1
- package/dist/cjs/PivotViewer/engine/store.js +0 -365
- package/dist/cjs/PivotViewer/engine/store.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js +0 -45
- package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useCardSelection.js +0 -74
- package/dist/cjs/PivotViewer/hooks/useCardSelection.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js +0 -41
- package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js +0 -58
- package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js +0 -73
- package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useDimensionState.js +0 -45
- package/dist/cjs/PivotViewer/hooks/useDimensionState.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js +0 -52
- package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useFilterOptions.js +0 -26
- package/dist/cjs/PivotViewer/hooks/useFilterOptions.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useFilterState.js +0 -101
- package/dist/cjs/PivotViewer/hooks/useFilterState.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/usePanning.js +0 -138
- package/dist/cjs/PivotViewer/hooks/usePanning.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/usePivotEngine.js +0 -229
- package/dist/cjs/PivotViewer/hooks/usePivotEngine.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useScrollSync.js +0 -27
- package/dist/cjs/PivotViewer/hooks/useScrollSync.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js +0 -52
- package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useWheelZoom.js +0 -106
- package/dist/cjs/PivotViewer/hooks/useWheelZoom.js.map +0 -1
- package/dist/cjs/PivotViewer/hooks/useZoomState.js +0 -37
- package/dist/cjs/PivotViewer/hooks/useZoomState.js.map +0 -1
- package/dist/cjs/PivotViewer/index.js +0 -13
- package/dist/cjs/PivotViewer/index.js.map +0 -1
- package/dist/cjs/PivotViewer/types.js +0 -33
- package/dist/cjs/PivotViewer/types.js.map +0 -1
- package/dist/cjs/PivotViewer/utils/animations.js +0 -169
- package/dist/cjs/PivotViewer/utils/animations.js.map +0 -1
- package/dist/cjs/PivotViewer/utils/cardPosition.js +0 -82
- package/dist/cjs/PivotViewer/utils/cardPosition.js.map +0 -1
- package/dist/cjs/PivotViewer/utils/constants.js +0 -19
- package/dist/cjs/PivotViewer/utils/constants.js.map +0 -1
- package/dist/cjs/PivotViewer/utils/idResolution.js +0 -50
- package/dist/cjs/PivotViewer/utils/idResolution.js.map +0 -1
- package/dist/cjs/PivotViewer/utils/selection.js +0 -188
- package/dist/cjs/PivotViewer/utils/selection.js.map +0 -1
- package/dist/cjs/PivotViewer/utils/utils.js +0 -153
- package/dist/cjs/PivotViewer/utils/utils.js.map +0 -1
- package/dist/cjs/SchemaEditor/NameCell.js +0 -38
- package/dist/cjs/SchemaEditor/NameCell.js.map +0 -1
- package/dist/cjs/SchemaEditor/SchemaEditor.js +0 -333
- package/dist/cjs/SchemaEditor/SchemaEditor.js.map +0 -1
- package/dist/cjs/SchemaEditor/SchemaEditor.module.css +0 -15
- package/dist/cjs/SchemaEditor/TypeCell.js +0 -102
- package/dist/cjs/SchemaEditor/TypeCell.js.map +0 -1
- package/dist/cjs/SchemaEditor/index.js +0 -11
- package/dist/cjs/SchemaEditor/index.js.map +0 -1
- package/dist/cjs/SchemaEditor/schemaHelpers.js +0 -41
- package/dist/cjs/SchemaEditor/schemaHelpers.js.map +0 -1
- package/dist/cjs/TimeMachine/EventsView.css +0 -213
- package/dist/cjs/TimeMachine/EventsView.js +0 -70
- package/dist/cjs/TimeMachine/EventsView.js.map +0 -1
- package/dist/cjs/TimeMachine/Properties.css +0 -57
- package/dist/cjs/TimeMachine/Properties.js +0 -34
- package/dist/cjs/TimeMachine/Properties.js.map +0 -1
- package/dist/cjs/TimeMachine/ReadModelView.js +0 -51
- package/dist/cjs/TimeMachine/ReadModelView.js.map +0 -1
- package/dist/cjs/TimeMachine/TimeMachine.css +0 -587
- package/dist/cjs/TimeMachine/TimeMachine.js +0 -110
- package/dist/cjs/TimeMachine/TimeMachine.js.map +0 -1
- package/dist/cjs/TimeMachine/index.js +0 -15
- package/dist/cjs/TimeMachine/index.js.map +0 -1
- package/dist/cjs/TimeMachine/propertiesHelpers.js +0 -16
- package/dist/cjs/TimeMachine/propertiesHelpers.js.map +0 -1
- package/dist/cjs/Toolbar/Toolbar.css +0 -357
- package/dist/cjs/Toolbar/Toolbar.js +0 -15
- package/dist/cjs/Toolbar/Toolbar.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarButton.js +0 -42
- package/dist/cjs/Toolbar/ToolbarButton.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarContext.js +0 -14
- package/dist/cjs/Toolbar/ToolbarContext.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarDragContext.js +0 -24
- package/dist/cjs/Toolbar/ToolbarDragContext.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarFanOutItem.js +0 -75
- package/dist/cjs/Toolbar/ToolbarFanOutItem.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarFolder.js +0 -55
- package/dist/cjs/Toolbar/ToolbarFolder.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarFolderContext.js +0 -20
- package/dist/cjs/Toolbar/ToolbarFolderContext.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarGroup.js +0 -107
- package/dist/cjs/Toolbar/ToolbarGroup.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarLayout.js +0 -119
- package/dist/cjs/Toolbar/ToolbarLayout.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarSection.js +0 -127
- package/dist/cjs/Toolbar/ToolbarSection.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarSeparator.js +0 -14
- package/dist/cjs/Toolbar/ToolbarSeparator.js.map +0 -1
- package/dist/cjs/Toolbar/ToolbarSlot.js +0 -125
- package/dist/cjs/Toolbar/ToolbarSlot.js.map +0 -1
- package/dist/cjs/Toolbar/index.js +0 -29
- package/dist/cjs/Toolbar/index.js.map +0 -1
- package/dist/cjs/index.js +0 -41
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/tailwind-utilities.css +0 -1159
- package/dist/cjs/tokens.css +0 -83
- package/dist/cjs/types/TypeFormat.js +0 -22
- package/dist/cjs/types/TypeFormat.js.map +0 -1
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/cjs/useOverlayZIndex.js +0 -65
- package/dist/cjs/useOverlayZIndex.js.map +0 -1
- package/dist/esm/CommandDialog/CommandStepper.css +0 -24
- package/dist/esm/Common/FormElement.css +0 -26
- package/dist/esm/Common/Tooltip.css +0 -10
- package/dist/esm/Filter/FilterPanel.css +0 -459
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.css +0 -6
- package/dist/esm/PivotViewer/PivotViewer.css +0 -1323
- package/dist/esm/PivotViewer/components/Spinner.css +0 -77
- package/dist/esm/SchemaEditor/SchemaEditor.module.css +0 -15
- package/dist/esm/TimeMachine/EventsView.css +0 -213
- package/dist/esm/TimeMachine/Properties.css +0 -57
- package/dist/esm/TimeMachine/TimeMachine.css +0 -587
- package/dist/esm/Toolbar/Toolbar.css +0 -357
- package/dist/esm/tailwind-utilities.css +0 -1159
- package/dist/esm/tsconfig.tsbuildinfo +0 -1
- package/dist/esm/useOverlayZIndex.d.ts +0 -3
- package/dist/esm/useOverlayZIndex.d.ts.map +0 -1
- package/dist/esm/useOverlayZIndex.js +0 -62
- package/dist/esm/useOverlayZIndex.js.map +0 -1
- package/dist/esm/vite.config.d.ts +0 -3
- package/dist/esm/vite.config.d.ts.map +0 -1
- package/dist/esm/vite.config.js +0 -77
- package/dist/esm/vite.config.js.map +0 -1
- package/dist/esm/vitest.setup.d.ts +0 -2
- package/dist/esm/vitest.setup.d.ts.map +0 -1
- package/dist/esm/vitest.setup.js +0 -6
- package/dist/esm/vitest.setup.js.map +0 -1
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
|
|
5
|
-
// Copyright (c) Cratis. All rights reserved.
|
|
6
|
-
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
7
|
-
/**
|
|
8
|
-
* Internal context propagated from {@link ToolbarFolder} to its children.
|
|
9
|
-
* Allows {@link ToolbarButton} to adapt its rendering to the folder's display mode.
|
|
10
|
-
*/
|
|
11
|
-
const ToolbarFolderContext = React.createContext('grid');
|
|
12
|
-
/**
|
|
13
|
-
* Returns the current {@link ToolbarFolderMode}.
|
|
14
|
-
* Defaults to `'grid'` when used outside a {@link ToolbarFolder}.
|
|
15
|
-
*/
|
|
16
|
-
const useToolbarFolderMode = () => React.useContext(ToolbarFolderContext);
|
|
17
|
-
|
|
18
|
-
exports.ToolbarFolderContext = ToolbarFolderContext;
|
|
19
|
-
exports.useToolbarFolderMode = useToolbarFolderMode;
|
|
20
|
-
//# sourceMappingURL=ToolbarFolderContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarFolderContext.js","sources":["../../../Toolbar/ToolbarFolderContext.ts"],"sourcesContent":[null],"names":["createContext","useContext"],"mappings":";;;;AAAA;AACA;AAOA;;;AAGG;MACU,oBAAoB,GAAGA,mBAAa,CAAoB,MAAM;AAE3E;;;AAGG;AACI,MAAM,oBAAoB,GAAG,MAAyBC,gBAAU,CAAC,oBAAoB;;;;;"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var ToolbarSlot = require('./ToolbarSlot.js');
|
|
6
|
-
|
|
7
|
-
/** How long the fade-out animation runs (ms). React unmounts exiting content after this. */
|
|
8
|
-
const SLOT_TRANSITION_MS = 220;
|
|
9
|
-
/**
|
|
10
|
-
* Renders slot items with a cross-fade and size-morph transition that mirrors the
|
|
11
|
-
* {@link ToolbarSection} / {@link ToolbarContext} animation:
|
|
12
|
-
*
|
|
13
|
-
* - The slot container resizes smoothly to fit the incoming content.
|
|
14
|
-
* - The outgoing content fades out while the incoming content fades in simultaneously.
|
|
15
|
-
*
|
|
16
|
-
* The size update is intentionally deferred to {@link useEffect} (after paint) so that
|
|
17
|
-
* the opacity animations start one frame before the resize — matching the feel of
|
|
18
|
-
* {@link ToolbarSection} context switching.
|
|
19
|
-
*/
|
|
20
|
-
const SlotTransition = ({ slotName, flexClass }) => {
|
|
21
|
-
const liveItems = ToolbarSlot.useToolbarSlot(slotName);
|
|
22
|
-
// `current` is the content fading in (or already settled at full opacity).
|
|
23
|
-
// `exiting` is the previous content fading out, kept alive until its animation completes.
|
|
24
|
-
const [current, setCurrent] = React.useState(liveItems);
|
|
25
|
-
const [exiting, setExiting] = React.useState([]);
|
|
26
|
-
const [exitRevision, setExitRevision] = React.useState(0);
|
|
27
|
-
// Track `current` in a ref so the liveItems effect can read the latest value
|
|
28
|
-
// without needing it in its dependency array (avoids an unnecessary re-run loop).
|
|
29
|
-
const currentRef = React.useRef(current);
|
|
30
|
-
currentRef.current = current;
|
|
31
|
-
const incomingRef = React.useRef(null);
|
|
32
|
-
const [size, setSize] = React.useState(null);
|
|
33
|
-
const timerRef = React.useRef(undefined);
|
|
34
|
-
const hasMountedRef = React.useRef(false);
|
|
35
|
-
const measureIncoming = React.useCallback(() => {
|
|
36
|
-
if (incomingRef.current) {
|
|
37
|
-
setSize({
|
|
38
|
-
width: incomingRef.current.offsetWidth,
|
|
39
|
-
height: incomingRef.current.offsetHeight,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}, []);
|
|
43
|
-
// Set the initial size synchronously before the first paint — no layout flash.
|
|
44
|
-
React.useLayoutEffect(() => {
|
|
45
|
-
measureIncoming();
|
|
46
|
-
}, []); // mount only
|
|
47
|
-
// Detect live-items reference change → start cross-fade transition.
|
|
48
|
-
React.useEffect(() => {
|
|
49
|
-
if (liveItems === currentRef.current)
|
|
50
|
-
return;
|
|
51
|
-
const old = currentRef.current;
|
|
52
|
-
if (timerRef.current !== undefined)
|
|
53
|
-
clearTimeout(timerRef.current);
|
|
54
|
-
setCurrent(liveItems);
|
|
55
|
-
if (old.length > 0) {
|
|
56
|
-
setExiting(old);
|
|
57
|
-
setExitRevision(r => r + 1);
|
|
58
|
-
timerRef.current = setTimeout(() => setExiting([]), SLOT_TRANSITION_MS);
|
|
59
|
-
}
|
|
60
|
-
}, [liveItems]);
|
|
61
|
-
// Re-measure the incoming content whenever `current` changes so the container
|
|
62
|
-
// can size-morph. useEffect (not useLayoutEffect) is intentional: we let the
|
|
63
|
-
// opacity animation start one frame before the resize — matching ToolbarSection.
|
|
64
|
-
React.useEffect(() => {
|
|
65
|
-
if (!hasMountedRef.current) {
|
|
66
|
-
hasMountedRef.current = true;
|
|
67
|
-
return; // initial measurement handled by useLayoutEffect above
|
|
68
|
-
}
|
|
69
|
-
measureIncoming();
|
|
70
|
-
}, [current, measureIncoming]);
|
|
71
|
-
React.useEffect(() => () => {
|
|
72
|
-
if (timerRef.current !== undefined)
|
|
73
|
-
clearTimeout(timerRef.current);
|
|
74
|
-
}, []);
|
|
75
|
-
if (current.length === 0 && exiting.length === 0)
|
|
76
|
-
return null;
|
|
77
|
-
// The section is only clipped while outgoing content is fading out, so it
|
|
78
|
-
// doesn't bleed outside the container. Once the transition is complete the
|
|
79
|
-
// section must be overflow:visible so fan-out and folder panels (which are
|
|
80
|
-
// position:absolute children) can escape the slot section's bounds.
|
|
81
|
-
const transitioningClass = exiting.length > 0 ? 'toolbar-slot-section--transitioning' : '';
|
|
82
|
-
return (jsxRuntime.jsxs("div", { className: `toolbar-slot-section ${transitioningClass}`, style: size ? { width: size.width, height: size.height } : undefined, children: [jsxRuntime.jsx("div", { ref: incomingRef, className: `toolbar-slot-incoming inline-flex ${flexClass} items-center gap-1`, children: current }), exiting.length > 0 && (jsxRuntime.jsx("div", { className: `toolbar-slot-outgoing inline-flex ${flexClass} items-center gap-1`, children: exiting }, exitRevision))] }));
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* A logical sub-grouping of toolbar items within a {@link Toolbar}.
|
|
86
|
-
*
|
|
87
|
-
* Use `ToolbarGroup` to cluster related buttons into a visually cohesive unit.
|
|
88
|
-
* Groups can participate in the slot system by providing a `slotName` — external
|
|
89
|
-
* components anywhere in the {@link ToolbarSlotProvider} tree can then inject additional
|
|
90
|
-
* buttons at a chosen position via {@link ToolbarSlot}.
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* ```tsx
|
|
94
|
-
* <Toolbar>
|
|
95
|
-
* <ToolbarGroup slotName="canvas-tools">
|
|
96
|
-
* <ToolbarButton icon="pi pi-pencil" title="Draw" />
|
|
97
|
-
* </ToolbarGroup>
|
|
98
|
-
* </Toolbar>
|
|
99
|
-
* ```
|
|
100
|
-
*/
|
|
101
|
-
const ToolbarGroup = ({ children, slotName, orientation = 'vertical' }) => {
|
|
102
|
-
const flexClass = orientation === 'horizontal' ? 'flex-row' : 'flex-col';
|
|
103
|
-
return (jsxRuntime.jsxs("div", { className: `toolbar-group inline-flex ${flexClass} items-center gap-1 p-2 rounded-2xl`, children: [children, slotName && jsxRuntime.jsx(SlotTransition, { slotName: slotName, flexClass: flexClass })] }));
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
exports.ToolbarGroup = ToolbarGroup;
|
|
107
|
-
//# sourceMappingURL=ToolbarGroup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarGroup.js","sources":["../../../Toolbar/ToolbarGroup.tsx"],"sourcesContent":[null],"names":["useToolbarSlot","useState","useRef","useCallback","useLayoutEffect","useEffect","_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var ToolbarSlot = require('./ToolbarSlot.js');
|
|
6
|
-
|
|
7
|
-
/** How long the fade-out animation runs (ms). React unmounts exiting content after this. */
|
|
8
|
-
const LAYOUT_TRANSITION_MS = 220;
|
|
9
|
-
/**
|
|
10
|
-
* Renders toolbar layout content with a cross-fade and size-morph transition.
|
|
11
|
-
*
|
|
12
|
-
* - The container resizes smoothly to fit incoming layout content.
|
|
13
|
-
* - Outgoing content fades out while incoming content fades in.
|
|
14
|
-
*/
|
|
15
|
-
const LayoutTransition = ({ items, flexClass }) => {
|
|
16
|
-
const [current, setCurrent] = React.useState(items);
|
|
17
|
-
const [exiting, setExiting] = React.useState([]);
|
|
18
|
-
const [exitRevision, setExitRevision] = React.useState(0);
|
|
19
|
-
const currentRef = React.useRef(current);
|
|
20
|
-
currentRef.current = current;
|
|
21
|
-
const incomingRef = React.useRef(null);
|
|
22
|
-
const [size, setSize] = React.useState(null);
|
|
23
|
-
const timerRef = React.useRef(undefined);
|
|
24
|
-
// ResizeObserver keeps the container size in sync with the actual rendered
|
|
25
|
-
// content, including when nested ToolbarLayouts finish their own transitions.
|
|
26
|
-
// A one-shot offsetHeight read in useEffect misses those deferred size changes.
|
|
27
|
-
React.useEffect(() => {
|
|
28
|
-
const el = incomingRef.current;
|
|
29
|
-
if (!el)
|
|
30
|
-
return;
|
|
31
|
-
const sync = () => setSize({ width: el.offsetWidth, height: el.offsetHeight });
|
|
32
|
-
const observer = new ResizeObserver(sync);
|
|
33
|
-
observer.observe(el);
|
|
34
|
-
sync(); // capture initial size immediately
|
|
35
|
-
return () => observer.disconnect();
|
|
36
|
-
}, []); // mount only — observer tracks all subsequent changes automatically
|
|
37
|
-
React.useEffect(() => {
|
|
38
|
-
if (items === currentRef.current)
|
|
39
|
-
return;
|
|
40
|
-
const old = currentRef.current;
|
|
41
|
-
if (timerRef.current !== undefined)
|
|
42
|
-
clearTimeout(timerRef.current);
|
|
43
|
-
setCurrent(items);
|
|
44
|
-
if (old.length > 0) {
|
|
45
|
-
setExiting(old);
|
|
46
|
-
setExitRevision(revision => revision + 1);
|
|
47
|
-
timerRef.current = setTimeout(() => setExiting([]), LAYOUT_TRANSITION_MS);
|
|
48
|
-
}
|
|
49
|
-
}, [items]);
|
|
50
|
-
React.useEffect(() => () => {
|
|
51
|
-
if (timerRef.current !== undefined)
|
|
52
|
-
clearTimeout(timerRef.current);
|
|
53
|
-
}, []);
|
|
54
|
-
if (current.length === 0 && exiting.length === 0)
|
|
55
|
-
return null;
|
|
56
|
-
// The section is only clipped while outgoing content is fading out, so it
|
|
57
|
-
// doesn't bleed outside the container. Once the transition is complete the
|
|
58
|
-
// section must be overflow:visible so fan-out and folder panels (which are
|
|
59
|
-
// position:absolute children) can escape the slot section's bounds.
|
|
60
|
-
const transitioningClass = exiting.length > 0 ? 'toolbar-slot-section--transitioning' : '';
|
|
61
|
-
return (jsxRuntime.jsxs("div", { className: `toolbar-slot-section ${transitioningClass}`, style: size ? { width: size.width, height: size.height } : undefined, children: [jsxRuntime.jsx("div", { ref: incomingRef, className: `toolbar-slot-incoming inline-flex ${flexClass} items-center gap-1`, children: current }), exiting.length > 0 && (jsxRuntime.jsx("div", { className: `toolbar-slot-outgoing inline-flex ${flexClass} items-center gap-1`, children: exiting }, exitRevision))] }));
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* A named, transparent layout region inside a {@link Toolbar} that enables decoupled,
|
|
65
|
-
* dynamically swappable toolbar content.
|
|
66
|
-
*
|
|
67
|
-
* Unlike {@link ToolbarGroup}, `ToolbarLayout` has no visual container of its own.
|
|
68
|
-
* It acts as a transparent mount point: external components inject complete toolbar
|
|
69
|
-
* structures — multiple {@link ToolbarGroup}s, {@link ToolbarSection}s,
|
|
70
|
-
* {@link ToolbarSeparator}s — using a {@link ToolbarSlot} with a matching `slotName`.
|
|
71
|
-
*
|
|
72
|
-
* When any slot content is registered it replaces the fallback `children`. Multiple
|
|
73
|
-
* independent contributors can register into the same layout using different `order`
|
|
74
|
-
* values on their {@link ToolbarSlot}.
|
|
75
|
-
*
|
|
76
|
-
* Wrap the toolbar and contributing components in a {@link ToolbarSlotProvider}:
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* ```tsx
|
|
80
|
-
* // Application shell — define the layout region with optional fallback content:
|
|
81
|
-
* <ToolbarSlotProvider>
|
|
82
|
-
* <Toolbar>
|
|
83
|
-
* <ToolbarButton icon="pi pi-arrow-up-left" title="Select" />
|
|
84
|
-
* <ToolbarLayout name="canvas-tools">
|
|
85
|
-
* <ToolbarGroup>
|
|
86
|
-
* <ToolbarButton icon="pi pi-pencil" title="Draw (default)" />
|
|
87
|
-
* </ToolbarGroup>
|
|
88
|
-
* </ToolbarLayout>
|
|
89
|
-
* </Toolbar>
|
|
90
|
-
*
|
|
91
|
-
* <CanvasFeature />
|
|
92
|
-
* </ToolbarSlotProvider>
|
|
93
|
-
*
|
|
94
|
-
* // Feature component — inject complete groups:
|
|
95
|
-
* const CanvasFeature = () => (
|
|
96
|
-
* <ToolbarSlot slotName="canvas-tools">
|
|
97
|
-
* <ToolbarGroup>
|
|
98
|
-
* <ToolbarButton icon="pi pi-star" title="Feature tool" />
|
|
99
|
-
* </ToolbarGroup>
|
|
100
|
-
* <ToolbarSeparator />
|
|
101
|
-
* <ToolbarGroup>
|
|
102
|
-
* <ToolbarButton icon="pi pi-bolt" title="Quick action" />
|
|
103
|
-
* </ToolbarGroup>
|
|
104
|
-
* </ToolbarSlot>
|
|
105
|
-
* );
|
|
106
|
-
* ```
|
|
107
|
-
*/
|
|
108
|
-
const ToolbarLayout = ({ name, children, orientation = 'vertical' }) => {
|
|
109
|
-
const slotItems = ToolbarSlot.useToolbarSlot(name);
|
|
110
|
-
const flexClass = orientation === 'horizontal' ? 'flex-row' : 'flex-col';
|
|
111
|
-
const fallbackItems = React.useMemo(() => React.Children.toArray(children), [children]);
|
|
112
|
-
const items = slotItems.length > 0 ? slotItems : fallbackItems;
|
|
113
|
-
if (items.length === 0)
|
|
114
|
-
return null;
|
|
115
|
-
return (jsxRuntime.jsx("div", { className: `toolbar-layout inline-flex ${flexClass} items-center gap-1`, children: jsxRuntime.jsx(LayoutTransition, { items: items, flexClass: flexClass }) }));
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
exports.ToolbarLayout = ToolbarLayout;
|
|
119
|
-
//# sourceMappingURL=ToolbarLayout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarLayout.js","sources":["../../../Toolbar/ToolbarLayout.tsx"],"sourcesContent":[null],"names":["useState","useRef","useEffect","_jsxs","_jsx","useToolbarSlot","useMemo","Children"],"mappings":"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"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var ToolbarSlot = require('./ToolbarSlot.js');
|
|
6
|
-
|
|
7
|
-
/** Width/height transition duration used by the section resize animation (ms). */
|
|
8
|
-
const SECTION_TRANSITION_MS = 350;
|
|
9
|
-
/**
|
|
10
|
-
* Renders the children of a single {@link ToolbarContext} together with any slot items
|
|
11
|
-
* that have been registered under the context's `slotName`.
|
|
12
|
-
*
|
|
13
|
-
* Extracted into its own component so that the `useToolbarSlot` hook can be called
|
|
14
|
-
* inside it — hooks cannot be called inside a callback or loop in the parent.
|
|
15
|
-
*/
|
|
16
|
-
const ContextRenderer = ({ children, slotName }) => {
|
|
17
|
-
const slotItems = ToolbarSlot.useToolbarSlot(slotName ?? '');
|
|
18
|
-
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [children, slotName && slotItems.length > 0 && slotItems] }));
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* A section within a {@link Toolbar} that supports multiple named contexts.
|
|
22
|
-
*
|
|
23
|
-
* When {@link activeContext} changes:
|
|
24
|
-
* - The current items fade out.
|
|
25
|
-
* - The section smoothly morphs to the dimensions required by the new context.
|
|
26
|
-
* - The new items fade in.
|
|
27
|
-
*
|
|
28
|
-
* Contexts are defined by placing {@link ToolbarContext} children inside this section.
|
|
29
|
-
* Switching contexts only affects this section; other sections are unaffected.
|
|
30
|
-
*/
|
|
31
|
-
const ToolbarSection = ({ activeContext, children, orientation = 'vertical' }) => {
|
|
32
|
-
const contextRefs = React.useRef({});
|
|
33
|
-
const resizeObserverRef = React.useRef(null);
|
|
34
|
-
const mutationObserverRef = React.useRef(null);
|
|
35
|
-
const transitionTimeoutRef = React.useRef(null);
|
|
36
|
-
const previousContextRef = React.useRef(null);
|
|
37
|
-
const [size, setSize] = React.useState(null);
|
|
38
|
-
const [isTransitioning, setIsTransitioning] = React.useState(false);
|
|
39
|
-
const contexts = React.Children.toArray(children).filter((child) => React.isValidElement(child) && typeof child.props.name === 'string');
|
|
40
|
-
// Default to the first context if activeContext is not provided
|
|
41
|
-
const effectiveContext = activeContext ?? contexts[0]?.props?.name ?? '';
|
|
42
|
-
const flexClass = orientation === 'horizontal' ? 'flex-row' : 'flex-col';
|
|
43
|
-
/** Measure the given context's natural dimensions and update the section size. */
|
|
44
|
-
const measureAndSetSize = React.useCallback((contextName) => {
|
|
45
|
-
const ref = contextRefs.current[contextName];
|
|
46
|
-
if (ref) {
|
|
47
|
-
setSize({
|
|
48
|
-
width: ref.offsetWidth,
|
|
49
|
-
height: ref.offsetHeight,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}, []);
|
|
53
|
-
// Set the initial size synchronously before the first browser paint so there is no layout flash.
|
|
54
|
-
// Empty dependency array is intentional: ongoing context changes are handled by the useEffect below.
|
|
55
|
-
React.useLayoutEffect(() => {
|
|
56
|
-
measureAndSetSize(effectiveContext);
|
|
57
|
-
}, []); // run only on mount
|
|
58
|
-
// Clip content only while the section is morphing between contexts so incoming
|
|
59
|
-
// buttons do not float outside the current bounds during growth.
|
|
60
|
-
React.useEffect(() => {
|
|
61
|
-
if (previousContextRef.current === null) {
|
|
62
|
-
previousContextRef.current = effectiveContext;
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
if (previousContextRef.current === effectiveContext)
|
|
66
|
-
return;
|
|
67
|
-
previousContextRef.current = effectiveContext;
|
|
68
|
-
setIsTransitioning(true);
|
|
69
|
-
if (transitionTimeoutRef.current)
|
|
70
|
-
clearTimeout(transitionTimeoutRef.current);
|
|
71
|
-
transitionTimeoutRef.current = setTimeout(() => {
|
|
72
|
-
setIsTransitioning(false);
|
|
73
|
-
transitionTimeoutRef.current = null;
|
|
74
|
-
}, SECTION_TRANSITION_MS);
|
|
75
|
-
}, [effectiveContext]);
|
|
76
|
-
// After a context switch, let the browser paint the opacity transition first,
|
|
77
|
-
// then update the explicit size so the CSS width/height transition kicks in.
|
|
78
|
-
React.useEffect(() => {
|
|
79
|
-
measureAndSetSize(effectiveContext);
|
|
80
|
-
}, [effectiveContext, measureAndSetSize]);
|
|
81
|
-
// Keep section dimensions in sync when the active context's content changes size after render.
|
|
82
|
-
React.useEffect(() => {
|
|
83
|
-
const activeContextElement = contextRefs.current[effectiveContext];
|
|
84
|
-
if (!activeContextElement || typeof ResizeObserver === 'undefined') {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
measureAndSetSize(effectiveContext);
|
|
88
|
-
mutationObserverRef.current?.disconnect();
|
|
89
|
-
resizeObserverRef.current?.disconnect();
|
|
90
|
-
const observer = new ResizeObserver(() => {
|
|
91
|
-
measureAndSetSize(effectiveContext);
|
|
92
|
-
});
|
|
93
|
-
observer.observe(activeContextElement);
|
|
94
|
-
resizeObserverRef.current = observer;
|
|
95
|
-
if (typeof MutationObserver !== 'undefined') {
|
|
96
|
-
const mutationObserver = new MutationObserver(() => {
|
|
97
|
-
measureAndSetSize(effectiveContext);
|
|
98
|
-
});
|
|
99
|
-
mutationObserver.observe(activeContextElement, {
|
|
100
|
-
childList: true,
|
|
101
|
-
subtree: true,
|
|
102
|
-
attributes: true,
|
|
103
|
-
});
|
|
104
|
-
mutationObserverRef.current = mutationObserver;
|
|
105
|
-
}
|
|
106
|
-
return () => {
|
|
107
|
-
observer.disconnect();
|
|
108
|
-
if (resizeObserverRef.current === observer) {
|
|
109
|
-
resizeObserverRef.current = null;
|
|
110
|
-
}
|
|
111
|
-
mutationObserverRef.current?.disconnect();
|
|
112
|
-
mutationObserverRef.current = null;
|
|
113
|
-
};
|
|
114
|
-
}, [effectiveContext, measureAndSetSize]);
|
|
115
|
-
React.useEffect(() => () => {
|
|
116
|
-
if (transitionTimeoutRef.current)
|
|
117
|
-
clearTimeout(transitionTimeoutRef.current);
|
|
118
|
-
}, []);
|
|
119
|
-
return (jsxRuntime.jsx("div", { className: `toolbar-section ${isTransitioning ? 'toolbar-section--transitioning' : ''}`, style: size ? { width: size.width, height: size.height } : undefined, children: contexts.map((child) => {
|
|
120
|
-
const { name, children: contextChildren, slotName } = child.props;
|
|
121
|
-
const isActive = name === effectiveContext;
|
|
122
|
-
return (jsxRuntime.jsx("div", { ref: (element) => { contextRefs.current[name] = element; }, className: `toolbar-context inline-flex ${flexClass} items-center gap-1 ${isActive ? 'toolbar-context--active' : 'toolbar-context--inactive'}`, children: jsxRuntime.jsx(ContextRenderer, { slotName: slotName, children: contextChildren }) }, name));
|
|
123
|
-
}) }));
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
exports.ToolbarSection = ToolbarSection;
|
|
127
|
-
//# sourceMappingURL=ToolbarSection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarSection.js","sources":["../../../Toolbar/ToolbarSection.tsx"],"sourcesContent":[null],"names":["useToolbarSlot","_jsxs","_Fragment","useRef","useState","Children","isValidElement","useCallback","useLayoutEffect","useEffect","_jsx"],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* A visual divider for use inside a {@link Toolbar}.
|
|
7
|
-
*
|
|
8
|
-
* In a vertical toolbar (default) the separator renders as a horizontal rule.
|
|
9
|
-
* In a horizontal toolbar it renders as a vertical rule.
|
|
10
|
-
*/
|
|
11
|
-
const ToolbarSeparator = ({ orientation = 'vertical' }) => (jsxRuntime.jsx("div", { role: 'separator', "aria-orientation": orientation === 'horizontal' ? 'vertical' : 'horizontal', className: orientation === 'horizontal' ? 'toolbar-separator toolbar-separator--in-horizontal' : 'toolbar-separator toolbar-separator--in-vertical' }));
|
|
12
|
-
|
|
13
|
-
exports.ToolbarSeparator = ToolbarSeparator;
|
|
14
|
-
//# sourceMappingURL=ToolbarSeparator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarSeparator.js","sources":["../../../Toolbar/ToolbarSeparator.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AASA;;;;;AAKG;MACU,gBAAgB,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,EAAyB,MAChFA,cAAA,CAAA,KAAA,EAAA,EACI,IAAI,EAAC,WAAW,EAAA,kBAAA,EACE,WAAW,KAAK,YAAY,GAAG,UAAU,GAAG,YAAY,EAC1E,SAAS,EAAE,WAAW,KAAK,YAAY,GAAG,oDAAoD,GAAG,kDAAkD,EAAA,CACrJ;;;;"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
|
|
6
|
-
/** Stable empty snapshot returned when a slot name has no registered content. */
|
|
7
|
-
const _emptySnapshot = [];
|
|
8
|
-
/**
|
|
9
|
-
* Registry for named toolbar slot entries.
|
|
10
|
-
* Maintained outside React state so slot registrations never re-render the provider.
|
|
11
|
-
*/
|
|
12
|
-
class ToolbarSlotRegistry {
|
|
13
|
-
_slots = new Map();
|
|
14
|
-
_snapshots = new Map();
|
|
15
|
-
_subscribers = new Set();
|
|
16
|
-
/**
|
|
17
|
-
* Register or update a slot entry.
|
|
18
|
-
* Notifies subscribers only when the content reference or order actually changes.
|
|
19
|
-
*/
|
|
20
|
-
register(slotName, id, content, order) {
|
|
21
|
-
if (!this._slots.has(slotName)) {
|
|
22
|
-
this._slots.set(slotName, new Map());
|
|
23
|
-
}
|
|
24
|
-
const slotMap = this._slots.get(slotName);
|
|
25
|
-
const previous = slotMap.get(id);
|
|
26
|
-
if (previous?.content === content && previous?.order === order)
|
|
27
|
-
return;
|
|
28
|
-
slotMap.set(id, { content, order });
|
|
29
|
-
this._recompute(slotName);
|
|
30
|
-
this._notify();
|
|
31
|
-
}
|
|
32
|
-
/** Remove a slot entry and notify subscribers. */
|
|
33
|
-
unregister(slotName, id) {
|
|
34
|
-
const slotMap = this._slots.get(slotName);
|
|
35
|
-
if (!slotMap?.has(id))
|
|
36
|
-
return;
|
|
37
|
-
slotMap.delete(id);
|
|
38
|
-
this._recompute(slotName);
|
|
39
|
-
this._notify();
|
|
40
|
-
}
|
|
41
|
-
/** Subscribe to any slot change. Returns an unsubscribe function. */
|
|
42
|
-
subscribe(fn) {
|
|
43
|
-
this._subscribers.add(fn);
|
|
44
|
-
return () => this._subscribers.delete(fn);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Returns a stable snapshot of sorted slot contents for the given slot name.
|
|
48
|
-
* The reference only changes when the slot set actually changes.
|
|
49
|
-
*/
|
|
50
|
-
getSnapshot(slotName) {
|
|
51
|
-
return this._snapshots.get(slotName) ?? _emptySnapshot;
|
|
52
|
-
}
|
|
53
|
-
_recompute(slotName) {
|
|
54
|
-
const slotMap = this._slots.get(slotName);
|
|
55
|
-
if (!slotMap || slotMap.size === 0) {
|
|
56
|
-
this._snapshots.delete(slotName);
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
this._snapshots.set(slotName, [...slotMap.values()]
|
|
60
|
-
.sort((a, b) => a.order - b.order)
|
|
61
|
-
.map(entry => entry.content));
|
|
62
|
-
}
|
|
63
|
-
_notify() {
|
|
64
|
-
this._subscribers.forEach(fn => fn());
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
const ToolbarSlotContext = React.createContext(null);
|
|
68
|
-
/**
|
|
69
|
-
* Provides the toolbar slot registry to the component tree.
|
|
70
|
-
*
|
|
71
|
-
* Mount once above both the toolbar and the components that fill slots.
|
|
72
|
-
* Each provider creates an isolated registry — nesting providers creates isolated scopes.
|
|
73
|
-
*/
|
|
74
|
-
const ToolbarSlotProvider = ({ children }) => {
|
|
75
|
-
const [registry] = React.useState(() => new ToolbarSlotRegistry());
|
|
76
|
-
return jsxRuntime.jsx(ToolbarSlotContext.Provider, { value: registry, children: children });
|
|
77
|
-
};
|
|
78
|
-
/**
|
|
79
|
-
* Returns the sorted slot contents for a given `slotName` as a stable array.
|
|
80
|
-
* Returns an empty array when no {@link ToolbarSlotProvider} is present or when the slot has no content.
|
|
81
|
-
*
|
|
82
|
-
* Suitable for direct use inside components that host a slot (e.g. {@link ToolbarGroup}).
|
|
83
|
-
*/
|
|
84
|
-
const useToolbarSlot = (slotName) => {
|
|
85
|
-
const registry = React.useContext(ToolbarSlotContext);
|
|
86
|
-
const subscribe = React.useCallback((fn) => {
|
|
87
|
-
if (!registry)
|
|
88
|
-
return () => { };
|
|
89
|
-
return registry.subscribe(fn);
|
|
90
|
-
}, [registry]);
|
|
91
|
-
const getSnapshot = React.useCallback(() => registry?.getSnapshot(slotName) ?? _emptySnapshot, [registry, slotName]);
|
|
92
|
-
return React.useSyncExternalStore(subscribe, getSnapshot);
|
|
93
|
-
};
|
|
94
|
-
/**
|
|
95
|
-
* Teleports its children into the named toolbar slot without prop drilling.
|
|
96
|
-
* Renders nothing itself — place it anywhere inside a {@link ToolbarSlotProvider} tree.
|
|
97
|
-
*
|
|
98
|
-
* The nearest {@link ToolbarGroup} or {@link ToolbarContext} with a matching `slotName`
|
|
99
|
-
* will render the content. Use {@link ToolbarSlotProps.order} to control position relative to
|
|
100
|
-
* other {@link ToolbarSlot} entries in the same slot.
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* ```tsx
|
|
104
|
-
* // In a feature component, inject a button into the 'canvas-tools' slot:
|
|
105
|
-
* <ToolbarSlot slotName="canvas-tools" order={10}>
|
|
106
|
-
* <ToolbarButton icon="pi pi-star" title="Favorite" />
|
|
107
|
-
* </ToolbarSlot>
|
|
108
|
-
* ```
|
|
109
|
-
*/
|
|
110
|
-
const ToolbarSlot = ({ slotName, order = 0, children }) => {
|
|
111
|
-
const id = React.useId();
|
|
112
|
-
const registry = React.useContext(ToolbarSlotContext);
|
|
113
|
-
// Re-register on every render so fresh closures are always captured.
|
|
114
|
-
// The registry skips notification when the content reference hasn't changed.
|
|
115
|
-
React.useLayoutEffect(() => {
|
|
116
|
-
registry?.register(slotName, id, children, order);
|
|
117
|
-
});
|
|
118
|
-
React.useEffect(() => () => registry?.unregister(slotName, id), [id, registry, slotName]);
|
|
119
|
-
return null;
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
exports.ToolbarSlot = ToolbarSlot;
|
|
123
|
-
exports.ToolbarSlotProvider = ToolbarSlotProvider;
|
|
124
|
-
exports.useToolbarSlot = useToolbarSlot;
|
|
125
|
-
//# sourceMappingURL=ToolbarSlot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarSlot.js","sources":["../../../Toolbar/ToolbarSlot.tsx"],"sourcesContent":[null],"names":["createContext","useState","_jsx","useContext","useCallback","useSyncExternalStore","useId","useLayoutEffect","useEffect"],"mappings":"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"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Toolbar = require('./Toolbar.js');
|
|
4
|
-
var ToolbarButton = require('./ToolbarButton.js');
|
|
5
|
-
var ToolbarContext = require('./ToolbarContext.js');
|
|
6
|
-
var ToolbarGroup = require('./ToolbarGroup.js');
|
|
7
|
-
var ToolbarSection = require('./ToolbarSection.js');
|
|
8
|
-
var ToolbarSeparator = require('./ToolbarSeparator.js');
|
|
9
|
-
var ToolbarFanOutItem = require('./ToolbarFanOutItem.js');
|
|
10
|
-
var ToolbarFolder = require('./ToolbarFolder.js');
|
|
11
|
-
var ToolbarSlot = require('./ToolbarSlot.js');
|
|
12
|
-
var ToolbarLayout = require('./ToolbarLayout.js');
|
|
13
|
-
|
|
14
|
-
// Copyright (c) Cratis. All rights reserved.
|
|
15
|
-
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
16
|
-
|
|
17
|
-
exports.Toolbar = Toolbar.Toolbar;
|
|
18
|
-
exports.ToolbarButton = ToolbarButton.ToolbarButton;
|
|
19
|
-
exports.ToolbarContext = ToolbarContext.ToolbarContext;
|
|
20
|
-
exports.ToolbarGroup = ToolbarGroup.ToolbarGroup;
|
|
21
|
-
exports.ToolbarSection = ToolbarSection.ToolbarSection;
|
|
22
|
-
exports.ToolbarSeparator = ToolbarSeparator.ToolbarSeparator;
|
|
23
|
-
exports.ToolbarFanOutItem = ToolbarFanOutItem.ToolbarFanOutItem;
|
|
24
|
-
exports.ToolbarFolder = ToolbarFolder.ToolbarFolder;
|
|
25
|
-
exports.ToolbarSlot = ToolbarSlot.ToolbarSlot;
|
|
26
|
-
exports.ToolbarSlotProvider = ToolbarSlot.ToolbarSlotProvider;
|
|
27
|
-
exports.useToolbarSlot = ToolbarSlot.useToolbarSlot;
|
|
28
|
-
exports.ToolbarLayout = ToolbarLayout.ToolbarLayout;
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../Toolbar/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAAA;AACA;;;;;;;;;;;;;;;"}
|
package/dist/cjs/index.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('./CommandDialog/index.js');
|
|
4
|
-
var index$1 = require('./CommandForm/index.js');
|
|
5
|
-
var index$2 = require('./Common/index.js');
|
|
6
|
-
var index$3 = require('./DataPage/index.js');
|
|
7
|
-
var index$4 = require('./DataTables/index.js');
|
|
8
|
-
var index$5 = require('./Dialogs/index.js');
|
|
9
|
-
var index$6 = require('./Dropdown/index.js');
|
|
10
|
-
var index$7 = require('./Filter/index.js');
|
|
11
|
-
var index$8 = require('./ObjectContentEditor/index.js');
|
|
12
|
-
var index$9 = require('./ObjectNavigationalBar/index.js');
|
|
13
|
-
var index$a = require('./PivotViewer/index.js');
|
|
14
|
-
var index$b = require('./SchemaEditor/index.js');
|
|
15
|
-
var index$c = require('./TimeMachine/index.js');
|
|
16
|
-
var index$d = require('./Toolbar/index.js');
|
|
17
|
-
var index$e = require('./types/index.js');
|
|
18
|
-
var CratisComponentsProvider = require('./Common/CratisComponentsProvider.js');
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
exports.CommandDialog = index;
|
|
23
|
-
exports.CommandStepper = index;
|
|
24
|
-
exports.CommandForm = index$1;
|
|
25
|
-
exports.Common = index$2;
|
|
26
|
-
exports.DataPage = index$3;
|
|
27
|
-
exports.DataTables = index$4;
|
|
28
|
-
exports.Dialogs = index$5;
|
|
29
|
-
exports.Dropdown = index$6;
|
|
30
|
-
exports.Filter = index$7;
|
|
31
|
-
exports.ObjectContentEditor = index$8;
|
|
32
|
-
exports.ObjectNavigationalBar = index$9;
|
|
33
|
-
exports.PivotViewer = index$a;
|
|
34
|
-
exports.SchemaEditor = index$b;
|
|
35
|
-
exports.TimeMachine = index$c;
|
|
36
|
-
exports.Toolbar = index$d;
|
|
37
|
-
exports.Types = index$e;
|
|
38
|
-
exports.CratisComponentsProvider = CratisComponentsProvider.CratisComponentsProvider;
|
|
39
|
-
exports.cratisDefaults = CratisComponentsProvider.cratisDefaults;
|
|
40
|
-
exports.mergeCratisComponentsConfig = CratisComponentsProvider.mergeCratisComponentsConfig;
|
|
41
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/cjs/package.json
DELETED