@rebasepro/admin 0.0.1-canary.eae7889 → 0.0.1-canary.eb08332
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/LICENSE +21 -6
- package/README.md +139 -0
- package/dist/CollectionEditorDialog-DKGlYDPc.js +3630 -0
- package/dist/CollectionEditorDialog-DKGlYDPc.js.map +1 -0
- package/dist/PropertyEditView-h0N-AMCY.js +3808 -0
- package/dist/PropertyEditView-h0N-AMCY.js.map +1 -0
- package/dist/RouterCollectionsStudioView-DdEStpFk.js +192 -0
- package/dist/RouterCollectionsStudioView-DdEStpFk.js.map +1 -0
- package/dist/collection_editor/ConfigControllerProvider.d.ts +2 -11
- package/dist/collection_editor/_cms_internals.d.ts +4 -4
- package/dist/collection_editor/api/generateCollectionApi.d.ts +10 -9
- package/dist/collection_editor/extensibility_types.d.ts +135 -0
- package/dist/collection_editor/index.d.ts +6 -1
- package/dist/collection_editor/pgColumnToProperty.d.ts +3 -3
- package/dist/collection_editor/serializable_types.d.ts +370 -0
- package/dist/collection_editor/serializable_utils.d.ts +50 -0
- package/dist/collection_editor/types/collection_editor_controller.d.ts +11 -10
- package/dist/collection_editor/types/collection_inference.d.ts +2 -2
- package/dist/collection_editor/types/config_controller.d.ts +21 -14
- package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +7 -5
- package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +7 -5
- package/dist/collection_editor/ui/EditorCollectionAction.d.ts +1 -1
- package/dist/collection_editor/ui/EditorCollectionActionStart.d.ts +1 -1
- package/dist/collection_editor/ui/EditorEntityAction.d.ts +1 -1
- package/dist/collection_editor/ui/HomePageEditorCollectionAction.d.ts +1 -1
- package/dist/collection_editor/ui/KanbanSetupAction.d.ts +7 -5
- package/dist/collection_editor/ui/MissingReferenceWidget.d.ts +1 -1
- package/dist/collection_editor/ui/NewCollectionButton.d.ts +1 -1
- package/dist/collection_editor/ui/NewCollectionCard.d.ts +1 -1
- package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +6 -5
- package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +4 -4
- package/dist/collection_editor/ui/collection_editor/AIModifiedPathsContext.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +7 -7
- package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +10 -11
- package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +4 -4
- package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +4 -3
- package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +17 -7
- package/dist/collection_editor/ui/collection_editor/CollectionRLSTab.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/CollectionRelationsTab.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +14 -1
- package/dist/collection_editor/ui/collection_editor/CollectionYupValidation.d.ts +1 -9
- package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +25 -2
- package/dist/collection_editor/ui/collection_editor/DisplaySettingsForm.d.ts +4 -2
- package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +4 -3
- package/dist/collection_editor/ui/collection_editor/EntityActionsSelectDialog.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/EnumForm.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +8 -4
- package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +4 -3
- package/dist/collection_editor/ui/collection_editor/KanbanConfigSection.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/LayoutModeSwitch.d.ts +3 -3
- package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +17 -5
- package/dist/collection_editor/ui/collection_editor/PropertyFieldPreview.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/PropertyTree.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/RouterCollectionStudioView.d.ts +15 -0
- package/dist/collection_editor/ui/collection_editor/RouterCollectionsStudioView.d.ts +14 -0
- package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +8 -6
- package/dist/collection_editor/ui/collection_editor/SwitchControl.d.ts +3 -2
- package/dist/collection_editor/ui/collection_editor/ViewModeSwitch.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.d.ts +3 -2
- package/dist/collection_editor/ui/collection_editor/properties/BlockPropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/BooleanPropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/DateTimePropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/EnumPropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/KeyValuePropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/MapPropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/NumberPropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/ReferencePropertyField.d.ts +3 -2
- package/dist/collection_editor/ui/collection_editor/properties/RelationPropertyField.d.ts +3 -8
- package/dist/collection_editor/ui/collection_editor/properties/RepeatPropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/StoragePropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/StringPropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/UrlPropertyField.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/VectorPropertyField.d.ts +4 -0
- package/dist/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +2 -2
- package/dist/collection_editor/useJsonCollectionsConfigController.d.ts +37 -0
- package/dist/collection_editor/useLocalCollectionsConfigController.d.ts +2 -2
- package/dist/collection_editor/useSafeSnackbarController.d.ts +2 -0
- package/dist/collection_editor/validateCollectionJson.d.ts +2 -2
- package/dist/collection_editor_ui.d.ts +4 -0
- package/dist/collection_editor_ui.js +33 -11
- package/dist/collection_editor_ui.js.map +1 -1
- package/dist/components/ArrayContainer.d.ts +5 -5
- package/dist/components/ClearFilterSortButton.d.ts +1 -1
- package/dist/components/CollectionEditorDialogs.d.ts +2 -1
- package/dist/components/CollectionPanel.d.ts +58 -0
- package/dist/components/{EntityCollectionTable/EntityCollectionRowActions.d.ts → CollectionTableBinding/CollectionRowActions.d.ts} +5 -5
- package/dist/components/CollectionTableBinding/CollectionTableBinding.d.ts +28 -0
- package/dist/components/{EntityCollectionTable/EntityCollectionTableProps.d.ts → CollectionTableBinding/CollectionTableBindingProps.d.ts} +4 -4
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.d.ts +2 -2
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.d.ts +6 -6
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.d.ts +6 -6
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.d.ts +6 -6
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.d.ts +3 -2
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.d.ts +4 -4
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.d.ts +1 -1
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.d.ts +1 -1
- package/dist/components/CollectionTableBinding/index.d.ts +6 -0
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.d.ts +5 -1
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.d.ts +3 -3
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.d.ts +1 -1
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.d.ts +2 -2
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.d.ts +7 -6
- package/dist/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.d.ts +4 -3
- package/dist/components/CollectionViewBinding/BoardCardBinding.d.ts +31 -0
- package/dist/components/CollectionViewBinding/CollectionBoardViewBinding.d.ts +22 -0
- package/dist/components/{EntityCollectionView/EntityCollectionCardView.d.ts → CollectionViewBinding/CollectionCardViewBinding.d.ts} +5 -5
- package/dist/components/CollectionViewBinding/CollectionListViewBinding.d.ts +50 -0
- package/dist/components/CollectionViewBinding/CollectionViewActions.d.ts +20 -0
- package/dist/components/CollectionViewBinding/CollectionViewBinding.d.ts +41 -0
- package/dist/components/CollectionViewBinding/CollectionViewStartActions.d.ts +21 -0
- package/dist/components/CollectionViewBinding/EntityCardBinding.d.ts +21 -0
- package/dist/components/CollectionViewBinding/FilterPresetsButton.d.ts +22 -0
- package/dist/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.d.ts +3 -2
- package/dist/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.d.ts +6 -5
- package/dist/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.d.ts +2 -1
- package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.d.ts +3 -3
- package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.d.ts +7 -6
- package/dist/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.d.ts +2 -2
- package/dist/components/{EntityCollectionView/useEntityPreviewSlots.d.ts → CollectionViewBinding/usePreviewSlots.d.ts} +5 -5
- package/dist/components/DefaultAppBar.d.ts +18 -1
- package/dist/components/DefaultDrawer.d.ts +53 -5
- package/dist/components/DeleteEntityDialog.d.ts +6 -5
- package/dist/components/DetailViewBinding.d.ts +28 -0
- package/dist/components/DrawerNavigationGroup.d.ts +1 -1
- package/dist/components/DrawerNavigationItem.d.ts +1 -1
- package/dist/components/EditFormActions.d.ts +3 -0
- package/dist/components/EditViewBinding.d.ts +58 -0
- package/dist/components/{EntityPreview.d.ts → EntityPreviewBinding.d.ts} +14 -14
- package/dist/components/EntityViewBinding.d.ts +13 -0
- package/dist/components/FieldCaption.d.ts +1 -1
- package/dist/components/HomePage/ContentHomePage.d.ts +1 -1
- package/dist/components/HomePage/FavouritesView.d.ts +1 -1
- package/dist/components/HomePage/HomePageDnD.d.ts +7 -7
- package/dist/components/HomePage/NavigationCard.d.ts +1 -1
- package/dist/components/HomePage/NavigationCardBinding.d.ts +2 -1
- package/dist/components/HomePage/NavigationGroup.d.ts +2 -2
- package/dist/components/HomePage/RenameGroupDialog.d.ts +2 -1
- package/dist/components/HomePage/SmallNavigationCard.d.ts +1 -1
- package/dist/components/JsonPreviewBinding.d.ts +4 -0
- package/dist/components/PropertyCollectionView.d.ts +3 -2
- package/dist/components/PropertyIdCopyTooltip.d.ts +3 -3
- package/dist/components/{RebaseCMS.d.ts → RebaseAdmin.d.ts} +2 -2
- package/dist/components/RebaseAuthGate.d.ts +1 -1
- package/dist/components/RebaseLayout.d.ts +6 -5
- package/dist/components/RebaseNavigation.d.ts +2 -2
- package/dist/components/RebaseRouteDefs.d.ts +2 -2
- package/dist/components/RebaseShell.d.ts +2 -1
- package/dist/components/ReferenceTable/{EntitySelectionTable.d.ts → SelectionTableBinding.d.ts} +6 -6
- package/dist/components/ReferenceWidget.d.ts +3 -2
- package/dist/components/RelationSelector.d.ts +1 -1
- package/dist/components/SearchIconsView.d.ts +2 -1
- package/dist/components/SelectableTable/SelectableTable.d.ts +11 -11
- package/dist/components/SelectableTable/SelectableTableContext.d.ts +3 -3
- package/dist/components/SelectableTable/SelectionStore.d.ts +16 -22
- package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +9 -3
- package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +10 -3
- package/dist/components/SelectableTable/filters/FilterFieldBinding.d.ts +40 -0
- package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +10 -3
- package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +8 -1
- package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +10 -3
- package/dist/components/SideDialogs.d.ts +2 -2
- package/dist/components/SidePanelBinding.d.ts +11 -0
- package/dist/components/{SideEntityProvider.d.ts → SidePanelProvider.d.ts} +8 -8
- package/dist/components/admin/CreationResultDialog.d.ts +6 -0
- package/dist/components/admin/index.d.ts +1 -3
- package/dist/components/app/AppBar.d.ts +1 -1
- package/dist/components/app/Drawer.d.ts +9 -2
- package/dist/components/common/default_entity_actions.d.ts +8 -1
- package/dist/components/field_configs.d.ts +1 -1
- package/dist/components/history/EntityHistoryEntry.d.ts +3 -3
- package/dist/components/history/EntityHistoryView.d.ts +1 -1
- package/dist/components/history/LastEditedByFormAction.d.ts +2 -1
- package/dist/components/history/LastEditedByIndicator.d.ts +4 -3
- package/dist/components/history/UserChip.d.ts +1 -1
- package/dist/components/index.d.ts +16 -13
- package/dist/contexts/SidePanelControllerContext.d.ts +3 -0
- package/dist/data_export/export/BasicExportAction.d.ts +2 -1
- package/dist/data_export/export/ExportCollectionAction.d.ts +4 -4
- package/dist/data_export/export/export.d.ts +3 -3
- package/dist/data_import/components/DataNewPropertiesMapping.d.ts +1 -1
- package/dist/data_import/components/ImportFileUpload.d.ts +1 -1
- package/dist/data_import/components/ImportNewPropertyFieldPreview.d.ts +2 -1
- package/dist/data_import/components/ImportSaveInProgress.d.ts +3 -3
- package/dist/data_import/import/ImportCollectionAction.d.ts +4 -3
- package/dist/data_import/utils/data.d.ts +1 -1
- package/dist/data_import/utils/file_headers.d.ts +6 -1
- package/dist/data_import/utils/file_to_json.d.ts +1 -11
- package/dist/data_import/utils/transforms.d.ts +11 -0
- package/dist/editor/components/SlashCommandMenu.d.ts +2 -1
- package/dist/editor/components/editor-bubble.d.ts +5 -1
- package/dist/editor/components/image-bubble.d.ts +5 -1
- package/dist/editor/components/index.d.ts +3 -3
- package/dist/editor/components/table-bubble.d.ts +5 -1
- package/dist/editor/editor.d.ts +4 -4
- package/dist/editor/nodeViews/ReactNodeView.d.ts +4 -1
- package/dist/editor/selectors/color-selector.d.ts +1 -1
- package/dist/editor/selectors/link-selector.d.ts +1 -1
- package/dist/editor/selectors/node-selector.d.ts +1 -1
- package/dist/editor/selectors/text-buttons.d.ts +1 -1
- package/dist/editor/useProseMirror.d.ts +2 -2
- package/dist/editor/utils/remove_classes.d.ts +1 -1
- package/dist/editor.js +2625 -3569
- package/dist/editor.js.map +1 -1
- package/dist/form/EntityForm.d.ts +11 -9
- package/dist/form/EntityFormActions.d.ts +2 -1
- package/dist/form/EntityFormBinding.d.ts +27 -0
- package/dist/form/PropertyFieldBinding.d.ts +1 -1
- package/dist/form/components/FieldHelperText.d.ts +1 -1
- package/dist/form/components/FormEntry.d.ts +1 -1
- package/dist/form/components/FormLayout.d.ts +1 -1
- package/dist/form/components/LabelWithIconAndTooltip.d.ts +1 -1
- package/dist/form/components/LocalChangesMenu.d.ts +3 -2
- package/dist/form/components/StorageItemPreview.d.ts +2 -1
- package/dist/form/components/StorageUploadProgress.d.ts +10 -4
- package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/BlockFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/MapFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +4 -3
- package/dist/form/field_bindings/MultiSelectFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/MultipleRelationFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/RelationFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/RepeatFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/SelectFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +5 -4
- package/dist/form/field_bindings/SwitchFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/TextFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +2 -1
- package/dist/form/field_bindings/VectorFieldBinding.d.ts +12 -0
- package/dist/form/form_utils.d.ts +8 -0
- package/dist/form/index.d.ts +6 -2
- package/dist/form/validation.d.ts +3 -3
- package/dist/history-C0FdqGNz.js +311 -0
- package/dist/history-C0FdqGNz.js.map +1 -0
- package/dist/hooks/index.d.ts +4 -4
- package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +2 -2
- package/dist/hooks/navigation/useAsyncResolver.d.ts +26 -0
- package/dist/hooks/navigation/useBuildCollectionRegistryController.d.ts +2 -0
- package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +6 -8
- package/dist/hooks/navigation/useNavigationResolution.d.ts +6 -7
- package/dist/hooks/navigation/useResolvedCollections.d.ts +11 -7
- package/dist/hooks/navigation/useResolvedViews.d.ts +2 -5
- package/dist/hooks/navigation/useTopLevelNavigation.d.ts +3 -3
- package/dist/hooks/navigation/utils.d.ts +5 -5
- package/dist/hooks/useBreadcrumbsController.d.ts +2 -32
- package/dist/hooks/useBuildSidePanel.d.ts +6 -0
- package/dist/hooks/useCMSContext.d.ts +2 -2
- package/dist/hooks/{useEntityHistory.d.ts → useHistory.d.ts} +2 -2
- package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
- package/dist/hooks/{useEntitySelectionDialog.d.ts → useSelectionDialog.d.ts} +2 -2
- package/dist/hooks/useSideDialogsController.d.ts +1 -1
- package/dist/hooks/useSidePanel.d.ts +11 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.js +2 -799
- package/dist/markdown-CklalUUk.js +526 -0
- package/dist/markdown-CklalUUk.js.map +1 -0
- package/dist/preview/components/ArrayEnumPreview.d.ts +2 -1
- package/dist/preview/components/EmptyValue.d.ts +2 -1
- package/dist/preview/components/EnumValuesChip.d.ts +1 -1
- package/dist/preview/components/ImagePreview.d.ts +2 -1
- package/dist/preview/components/ReferencePreview.d.ts +2 -1
- package/dist/preview/components/RelationPreview.d.ts +2 -1
- package/dist/preview/components/StorageThumbnail.d.ts +3 -1
- package/dist/preview/components/UrlComponentPreview.d.ts +1 -0
- package/dist/preview/components/UserPreview.d.ts +6 -3
- package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +2 -1
- package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +1 -1
- package/dist/preview/property_previews/ArrayOfRelationsPreview.d.ts +1 -1
- package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +2 -1
- package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +2 -1
- package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +2 -1
- package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +1 -1
- package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +2 -1
- package/dist/preview/property_previews/MapPropertyPreview.d.ts +3 -2
- package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +5 -4
- package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/routes/CustomViewRoute.d.ts +2 -1
- package/dist/routes/RebaseRoute.d.ts +1 -1
- package/dist/src-DLAFyeZI.js +24222 -0
- package/dist/src-DLAFyeZI.js.map +1 -0
- package/dist/types/components/EntityFormActionsProps.d.ts +4 -4
- package/dist/types/components/EntityFormProps.d.ts +65 -5
- package/dist/types/components/PropertyPreviewProps.d.ts +6 -1
- package/dist/types/components/formex.d.ts +1 -40
- package/dist/types/fields.d.ts +23 -12
- package/dist/util/dataControllerAdapter.d.ts +27 -0
- package/dist/util/navigation_utils.d.ts +16 -6
- package/dist/util/previews.d.ts +8 -3
- package/dist/util/propertyConfigMapper.d.ts +17 -0
- package/dist/util/property_utils.d.ts +3 -3
- package/dist/util/resolutions.d.ts +1 -2
- package/dist/util/view_constants.d.ts +6 -0
- package/package.json +56 -55
- package/src/collection_editor/ConfigControllerProvider.tsx +37 -53
- package/src/collection_editor/_cms_internals.ts +4 -4
- package/src/collection_editor/api/generateCollectionApi.ts +10 -9
- package/src/collection_editor/extensibility_types.ts +168 -0
- package/src/collection_editor/index.ts +47 -3
- package/src/collection_editor/pgColumnToProperty.ts +23 -6
- package/src/collection_editor/serializable_types.ts +474 -0
- package/src/collection_editor/serializable_utils.ts +576 -0
- package/src/collection_editor/types/collection_editor_controller.tsx +8 -11
- package/src/collection_editor/types/collection_inference.ts +2 -2
- package/src/collection_editor/types/config_controller.tsx +14 -14
- package/src/collection_editor/ui/AddKanbanColumnAction.tsx +21 -9
- package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +8 -8
- package/src/collection_editor/ui/EditorCollectionAction.tsx +9 -14
- package/src/collection_editor/ui/EditorCollectionActionStart.tsx +13 -18
- package/src/collection_editor/ui/EditorEntityAction.tsx +9 -14
- package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +13 -19
- package/src/collection_editor/ui/KanbanSetupAction.tsx +8 -6
- package/src/collection_editor/ui/MissingReferenceWidget.tsx +5 -3
- package/src/collection_editor/ui/NewCollectionButton.tsx +4 -4
- package/src/collection_editor/ui/NewCollectionCard.tsx +8 -13
- package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +11 -16
- package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +20 -12
- package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +29 -59
- package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +213 -135
- package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +21 -7
- package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +29 -23
- package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +142 -112
- package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +49 -12
- package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +29 -10
- package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +26 -23
- package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +104 -37
- package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +26 -14
- package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +21 -8
- package/src/collection_editor/ui/collection_editor/EntityActionsSelectDialog.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/EnumForm.tsx +20 -5
- package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +45 -12
- package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +10 -12
- package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +5 -6
- package/src/collection_editor/ui/collection_editor/LayoutModeSwitch.tsx +17 -5
- package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +190 -27
- package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +58 -49
- package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +17 -4
- package/src/collection_editor/ui/collection_editor/RouterCollectionStudioView.tsx +44 -0
- package/src/collection_editor/ui/collection_editor/RouterCollectionsStudioView.tsx +41 -0
- package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +27 -13
- package/src/collection_editor/ui/collection_editor/SwitchControl.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/ViewModeSwitch.tsx +9 -2
- package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.tsx +4 -4
- package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +4 -4
- package/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx +5 -6
- package/src/collection_editor/ui/collection_editor/properties/BooleanPropertyField.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx +5 -5
- package/src/collection_editor/ui/collection_editor/properties/DateTimePropertyField.tsx +10 -10
- package/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx +10 -9
- package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +7 -8
- package/src/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.tsx +17 -10
- package/src/collection_editor/ui/collection_editor/properties/NumberPropertyField.tsx +7 -7
- package/src/collection_editor/ui/collection_editor/properties/ReferencePropertyField.tsx +19 -53
- package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +43 -60
- package/src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/properties/StoragePropertyField.tsx +56 -13
- package/src/collection_editor/ui/collection_editor/properties/StringPropertyField.tsx +7 -7
- package/src/collection_editor/ui/collection_editor/properties/UrlPropertyField.tsx +4 -3
- package/src/collection_editor/ui/collection_editor/properties/VectorPropertyField.tsx +34 -0
- package/src/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.tsx +5 -6
- package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.tsx +18 -9
- package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.tsx +1 -2
- package/src/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.tsx +17 -5
- package/src/collection_editor/ui/collection_editor/properties/conditions/property_paths.ts +1 -1
- package/src/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.tsx +4 -4
- package/src/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.tsx +3 -3
- package/src/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.tsx +6 -9
- package/src/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.tsx +6 -6
- package/src/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.tsx +1 -2
- package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +3 -3
- package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +3 -3
- package/src/collection_editor/ui/collection_editor/templates/products_template.ts +4 -4
- package/src/collection_editor/ui/collection_editor/templates/users_template.ts +2 -2
- package/src/collection_editor/ui/collection_editor/utils/supported_fields.tsx +0 -1
- package/src/collection_editor/ui/collection_editor/utils/update_property_for_widget.ts +7 -29
- package/src/collection_editor/useJsonCollectionsConfigController.tsx +286 -0
- package/src/collection_editor/useLocalCollectionsConfigController.tsx +11 -8
- package/src/collection_editor/useSafeSnackbarController.ts +9 -0
- package/src/collection_editor/validateCollectionJson.ts +111 -24
- package/src/collection_editor_ui.ts +6 -0
- package/src/components/AdminModeSyncer.tsx +2 -2
- package/src/components/ArrayContainer.tsx +28 -24
- package/src/components/ClearFilterSortButton.tsx +2 -3
- package/src/components/CollectionEditorDialogs.tsx +1 -1
- package/src/components/CollectionPanel.tsx +178 -0
- package/src/components/{EntityCollectionTable/EntityCollectionRowActions.tsx → CollectionTableBinding/CollectionRowActions.tsx} +26 -16
- package/src/components/{EntityCollectionTable/EntityCollectionTable.tsx → CollectionTableBinding/CollectionTableBinding.tsx} +34 -31
- package/src/components/{EntityCollectionTable/EntityCollectionTableProps.tsx → CollectionTableBinding/CollectionTableBindingProps.tsx} +4 -4
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.tsx +14 -12
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.tsx +4 -4
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.tsx +13 -13
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.tsx +39 -19
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.tsx +14 -14
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.tsx +3 -3
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.tsx +29 -27
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.tsx +0 -1
- package/src/components/CollectionTableBinding/index.tsx +14 -0
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.tsx +22 -28
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.tsx +8 -9
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.tsx +2 -3
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.tsx +7 -7
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.tsx +12 -13
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.tsx +5 -2
- package/src/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.tsx +101 -104
- package/src/components/{EntityCollectionView/EntityBoardCard.tsx → CollectionViewBinding/BoardCardBinding.tsx} +39 -40
- package/src/components/{EntityCollectionView/EntityCollectionBoardView.tsx → CollectionViewBinding/CollectionBoardViewBinding.tsx} +88 -52
- package/src/components/CollectionViewBinding/CollectionCardViewBinding.tsx +157 -0
- package/src/components/{EntityCollectionView/EntityCollectionListView.tsx → CollectionViewBinding/CollectionListViewBinding.tsx} +234 -151
- package/src/components/{EntityCollectionView/EntityCollectionViewActions.tsx → CollectionViewBinding/CollectionViewActions.tsx} +36 -26
- package/src/components/{EntityCollectionView/EntityCollectionView.tsx → CollectionViewBinding/CollectionViewBinding.tsx} +392 -213
- package/src/components/{EntityCollectionView/EntityCollectionViewStartActions.tsx → CollectionViewBinding/CollectionViewStartActions.tsx} +42 -23
- package/src/components/{EntityCollectionView/EntityCard.tsx → CollectionViewBinding/EntityCardBinding.tsx} +14 -14
- package/src/components/CollectionViewBinding/FilterPresetsButton.tsx +294 -0
- package/src/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.tsx +37 -79
- package/src/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.tsx +97 -30
- package/src/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.tsx +20 -8
- package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.ts +9 -8
- package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.ts +17 -16
- package/src/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.tsx +118 -70
- package/src/components/{EntityCollectionView/useEntityPreviewSlots.ts → CollectionViewBinding/usePreviewSlots.ts} +136 -48
- package/src/components/DefaultAppBar.tsx +73 -41
- package/src/components/DefaultDrawer.tsx +317 -85
- package/src/components/DeleteEntityDialog.tsx +7 -7
- package/src/components/DetailViewBinding.tsx +670 -0
- package/src/components/DrawerNavigationGroup.tsx +11 -11
- package/src/components/DrawerNavigationItem.tsx +6 -6
- package/src/components/{EntityEditViewFormActions.tsx → EditFormActions.tsx} +78 -59
- package/src/components/EditViewBinding.tsx +761 -0
- package/src/components/{EntityPreview.tsx → EntityPreviewBinding.tsx} +53 -39
- package/src/components/{EntityView.tsx → EntityViewBinding.tsx} +8 -9
- package/src/components/HomePage/ContentHomePage.tsx +35 -17
- package/src/components/HomePage/FavouritesView.tsx +2 -3
- package/src/components/HomePage/HomePageDnD.tsx +3 -2
- package/src/components/HomePage/NavigationCard.tsx +9 -16
- package/src/components/HomePage/NavigationCardBinding.tsx +6 -7
- package/src/components/HomePage/NavigationGroup.tsx +4 -5
- package/src/components/HomePage/RenameGroupDialog.tsx +1 -1
- package/src/components/HomePage/SmallNavigationCard.tsx +0 -5
- package/src/components/{EntityJsonPreview.tsx → JsonPreviewBinding.tsx} +2 -2
- package/src/components/PropertyCollectionView.tsx +2 -1
- package/src/components/PropertyIdCopyTooltip.tsx +2 -3
- package/src/components/{RebaseCMS.tsx → RebaseAdmin.tsx} +8 -6
- package/src/components/RebaseAuthGate.tsx +5 -3
- package/src/components/RebaseLayout.tsx +10 -9
- package/src/components/RebaseNavigation.tsx +107 -31
- package/src/components/RebaseRouteDefs.tsx +10 -13
- package/src/components/RebaseShell.tsx +18 -14
- package/src/components/ReferenceTable/{EntitySelectionTable.tsx → SelectionTableBinding.tsx} +40 -33
- package/src/components/ReferenceWidget.tsx +7 -7
- package/src/components/RelationSelector.tsx +82 -24
- package/src/components/SearchIconsView.tsx +13 -12
- package/src/components/SelectableTable/SelectableTable.tsx +68 -115
- package/src/components/SelectableTable/SelectableTableContext.tsx +4 -3
- package/src/components/SelectableTable/SelectionStore.ts +20 -44
- package/src/components/SelectableTable/filters/BooleanFilterField.tsx +13 -5
- package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +37 -16
- package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +187 -0
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +27 -13
- package/src/components/SelectableTable/filters/RelationFilterField.tsx +17 -3
- package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +95 -35
- package/src/components/SideDialogs.tsx +58 -40
- package/src/components/SidePanelBinding.tsx +261 -0
- package/src/components/{SideEntityProvider.tsx → SidePanelProvider.tsx} +17 -16
- package/src/components/UserSelector.tsx +123 -9
- package/src/components/admin/CreationResultDialog.tsx +138 -0
- package/src/components/admin/index.ts +1 -3
- package/src/components/app/Drawer.tsx +9 -1
- package/src/components/app/Scaffold.tsx +16 -9
- package/src/components/common/default_entity_actions.tsx +270 -29
- package/src/components/field_configs.tsx +68 -46
- package/src/components/history/EntityHistoryEntry.tsx +4 -5
- package/src/components/history/EntityHistoryView.tsx +18 -8
- package/src/components/history/LastEditedByIndicator.tsx +4 -4
- package/src/components/index.ts +20 -17
- package/src/contexts/BreacrumbsContext.tsx +15 -6
- package/src/contexts/SidePanelControllerContext.tsx +5 -0
- package/src/data_export/export/BasicExportAction.tsx +42 -43
- package/src/data_export/export/ExportCollectionAction.tsx +55 -54
- package/src/data_export/export/export.ts +17 -17
- package/src/data_import/components/DataNewPropertiesMapping.tsx +17 -4
- package/src/data_import/components/ImportFileUpload.tsx +2 -3
- package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +2 -3
- package/src/data_import/components/ImportSaveInProgress.tsx +4 -4
- package/src/data_import/import/ImportCollectionAction.tsx +26 -13
- package/src/data_import/utils/data.ts +26 -8
- package/src/data_import/utils/file_headers.ts +13 -89
- package/src/data_import/utils/file_to_json.ts +43 -68
- package/src/data_import/utils/get_properties_mapping.ts +1 -1
- package/src/data_import/utils/transforms.ts +47 -0
- package/src/editor/components/SlashCommandMenu.tsx +17 -2
- package/src/editor/components/editor-bubble-item.tsx +1 -1
- package/src/editor/components/editor-bubble.tsx +32 -9
- package/src/editor/components/image-bubble.tsx +28 -12
- package/src/editor/components/index.ts +3 -3
- package/src/editor/components/table-bubble.tsx +80 -18
- package/src/editor/editor.tsx +34 -15
- package/src/editor/extensions/HighlightDecorationExtension.ts +3 -2
- package/src/editor/extensions/Image/index.ts +3 -3
- package/src/editor/extensions/Image.ts +3 -3
- package/src/editor/extensions/clipboard.ts +2 -2
- package/src/editor/markdown-it-plugins.d.ts +24 -0
- package/src/editor/markdown.ts +2 -3
- package/src/editor/nodeViews/ReactNodeView.tsx +1 -1
- package/src/editor/nodeViews/TaskItemComponent.tsx +9 -8
- package/src/editor/schema.ts +135 -59
- package/src/editor/selectors/ai-selector.tsx +0 -1
- package/src/editor/selectors/color-selector.tsx +1 -2
- package/src/editor/selectors/link-selector.tsx +9 -7
- package/src/editor/selectors/node-selector.tsx +17 -3
- package/src/editor/selectors/text-buttons.tsx +1 -2
- package/src/editor/useProseMirror.ts +2 -2
- package/src/editor/utils/prosemirror-utils.ts +1 -1
- package/src/editor/utils/remove_classes.ts +6 -5
- package/src/form/EntityForm.tsx +222 -442
- package/src/form/EntityFormActions.tsx +49 -55
- package/src/form/EntityFormBinding.tsx +323 -0
- package/src/form/PropertyFieldBinding.tsx +81 -84
- package/src/form/components/ErrorFocus.tsx +1 -1
- package/src/form/components/FieldHelperText.tsx +6 -7
- package/src/form/components/FormLayout.tsx +1 -1
- package/src/form/components/LocalChangesMenu.tsx +20 -5
- package/src/form/components/StorageItemPreview.tsx +2 -3
- package/src/form/components/StorageUploadProgress.tsx +14 -7
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +5 -5
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +12 -13
- package/src/form/field_bindings/BlockFieldBinding.tsx +59 -58
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +2 -2
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +319 -303
- package/src/form/field_bindings/MapFieldBinding.tsx +14 -56
- package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +28 -10
- package/src/form/field_bindings/MultiSelectFieldBinding.tsx +3 -4
- package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +11 -12
- package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +9 -2
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +17 -15
- package/src/form/field_bindings/RelationFieldBinding.tsx +157 -156
- package/src/form/field_bindings/RepeatFieldBinding.tsx +8 -8
- package/src/form/field_bindings/SelectFieldBinding.tsx +3 -4
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +107 -103
- package/src/form/field_bindings/SwitchFieldBinding.tsx +17 -17
- package/src/form/field_bindings/TextFieldBinding.tsx +90 -78
- package/src/form/field_bindings/UserSelectFieldBinding.tsx +18 -18
- package/src/form/field_bindings/VectorFieldBinding.tsx +202 -0
- package/src/form/form_utils.ts +163 -0
- package/src/form/index.tsx +15 -6
- package/src/form/useClearRestoreValue.tsx +1 -1
- package/src/form/validation.ts +104 -50
- package/src/hooks/index.ts +4 -4
- package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +5 -4
- package/src/hooks/navigation/contexts/NavigationStateContext.tsx +2 -2
- package/src/hooks/navigation/contexts/UrlContext.tsx +1 -2
- package/src/hooks/navigation/useAsyncResolver.ts +100 -0
- package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +40 -21
- package/src/hooks/navigation/useBuildNavigationStateController.tsx +21 -22
- package/src/hooks/navigation/useNavigationResolution.ts +193 -21
- package/src/hooks/navigation/useResolvedCollections.ts +45 -77
- package/src/hooks/navigation/useResolvedViews.tsx +44 -123
- package/src/hooks/navigation/useTopLevelNavigation.ts +22 -18
- package/src/hooks/navigation/utils.ts +12 -9
- package/src/hooks/useBreadcrumbsController.tsx +2 -34
- package/src/hooks/{useBuildSideEntityController.tsx → useBuildSidePanel.tsx} +63 -24
- package/src/hooks/useCMSContext.tsx +7 -7
- package/src/hooks/{useEntityHistory.ts → useHistory.ts} +9 -4
- package/src/hooks/useResolvedNavigationFrom.tsx +8 -5
- package/src/hooks/{useEntitySelectionDialog.tsx → useSelectionDialog.tsx} +7 -7
- package/src/hooks/useSideDialogsController.tsx +1 -1
- package/src/hooks/useSidePanel.tsx +13 -0
- package/src/index.ts +34 -20
- package/src/preview/PropertyPreview.tsx +34 -41
- package/src/preview/components/DatePreview.tsx +1 -1
- package/src/preview/components/EnumValuesChip.tsx +1 -1
- package/src/preview/components/ImagePreview.tsx +4 -3
- package/src/preview/components/ReferencePreview.tsx +69 -18
- package/src/preview/components/RelationPreview.tsx +107 -18
- package/src/preview/components/StorageThumbnail.tsx +28 -8
- package/src/preview/components/UrlComponentPreview.tsx +12 -4
- package/src/preview/components/UserPreview.tsx +6 -15
- package/src/preview/property_previews/ArrayOfMapsPreview.tsx +5 -5
- package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +5 -5
- package/src/preview/property_previews/ArrayOfRelationsPreview.tsx +4 -4
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +4 -4
- package/src/preview/property_previews/ArrayOfStringsPreview.tsx +3 -2
- package/src/preview/property_previews/ArrayOneOfPreview.tsx +7 -9
- package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +1 -1
- package/src/preview/property_previews/ArrayPropertyPreview.tsx +4 -4
- package/src/preview/property_previews/MapPropertyPreview.tsx +4 -3
- package/src/preview/property_previews/NumberPropertyPreview.tsx +5 -3
- package/src/preview/property_previews/SkeletonPropertyComponent.tsx +24 -25
- package/src/preview/property_previews/StringPropertyPreview.tsx +13 -11
- package/src/routes/CustomViewRoute.tsx +14 -6
- package/src/routes/RebaseRoute.tsx +112 -36
- package/src/types/components/EntityFormActionsProps.tsx +4 -4
- package/src/types/components/EntityFormProps.tsx +75 -5
- package/src/types/components/PropertyPreviewProps.tsx +6 -1
- package/src/types/components/formex.tsx +1 -45
- package/src/types/fields.tsx +26 -15
- package/src/util/dataControllerAdapter.ts +87 -0
- package/src/util/navigation_utils.ts +43 -13
- package/src/util/previews.ts +149 -13
- package/src/util/propertyConfigMapper.ts +134 -0
- package/src/util/property_utils.tsx +24 -9
- package/src/util/resolutions.ts +4 -8
- package/src/util/view_constants.ts +6 -0
- package/dist/CollectionEditorDialog-B2M9lCyL.js +0 -4720
- package/dist/CollectionEditorDialog-B2M9lCyL.js.map +0 -1
- package/dist/CollectionsStudioView-WG6soyfs.js +0 -218
- package/dist/CollectionsStudioView-WG6soyfs.js.map +0 -1
- package/dist/ContentHomePage-CDF_a6Lp.js +0 -1786
- package/dist/ContentHomePage-CDF_a6Lp.js.map +0 -1
- package/dist/ExportCollectionAction-Dc0VOWMN.js +0 -439
- package/dist/ExportCollectionAction-Dc0VOWMN.js.map +0 -1
- package/dist/ImportCollectionAction-DpCagAOy.js +0 -686
- package/dist/ImportCollectionAction-DpCagAOy.js.map +0 -1
- package/dist/PropertyEditView-DS67DxoT.js +0 -8138
- package/dist/PropertyEditView-DS67DxoT.js.map +0 -1
- package/dist/RoleChip-QtUFXeTp.js +0 -67
- package/dist/RoleChip-QtUFXeTp.js.map +0 -1
- package/dist/RolesView-CIuYBimF.js +0 -424
- package/dist/RolesView-CIuYBimF.js.map +0 -1
- package/dist/UsersView-B5zelXnH.js +0 -493
- package/dist/UsersView-B5zelXnH.js.map +0 -1
- package/dist/collection_editor/types/config_permissions.d.ts +0 -19
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +0 -27
- package/dist/components/EntityCollectionTable/fields/VirtualTableDateField.d.ts +0 -12
- package/dist/components/EntityCollectionTable/fields/VirtualTableInput.d.ts +0 -9
- package/dist/components/EntityCollectionTable/fields/VirtualTableNumberInput.d.ts +0 -8
- package/dist/components/EntityCollectionTable/fields/VirtualTableSwitch.d.ts +0 -7
- package/dist/components/EntityCollectionTable/index.d.ts +0 -6
- package/dist/components/EntityCollectionView/Board.d.ts +0 -2
- package/dist/components/EntityCollectionView/BoardColumn.d.ts +0 -42
- package/dist/components/EntityCollectionView/BoardColumnTitle.d.ts +0 -9
- package/dist/components/EntityCollectionView/BoardSortableList.d.ts +0 -14
- package/dist/components/EntityCollectionView/EntityBoardCard.d.ts +0 -31
- package/dist/components/EntityCollectionView/EntityCard.d.ts +0 -20
- package/dist/components/EntityCollectionView/EntityCollectionBoardView.d.ts +0 -21
- package/dist/components/EntityCollectionView/EntityCollectionListView.d.ts +0 -34
- package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +0 -64
- package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +0 -18
- package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +0 -18
- package/dist/components/EntityCollectionView/board_types.d.ts +0 -105
- package/dist/components/EntityEditView.d.ts +0 -49
- package/dist/components/EntityEditViewFormActions.d.ts +0 -2
- package/dist/components/EntityJsonPreview.d.ts +0 -3
- package/dist/components/EntitySidePanel.d.ts +0 -10
- package/dist/components/EntityView.d.ts +0 -12
- package/dist/components/admin/RoleChip.d.ts +0 -4
- package/dist/components/admin/RolesView.d.ts +0 -4
- package/dist/components/admin/UsersView.d.ts +0 -4
- package/dist/contexts/SideEntityControllerContext.d.ts +0 -3
- package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +0 -10
- package/dist/hooks/navigation/useNavigationRegistry.d.ts +0 -11
- package/dist/hooks/navigation/useNavigationURLs.d.ts +0 -11
- package/dist/hooks/useBuildSideEntityController.d.ts +0 -6
- package/dist/hooks/useSideEntityController.d.ts +0 -11
- package/dist/index-CBhrgpR7.js +0 -12
- package/dist/index-CBhrgpR7.js.map +0 -1
- package/dist/index-CHxgwt6E.js +0 -456
- package/dist/index-CHxgwt6E.js.map +0 -1
- package/dist/index-Dey5WJpO.js +0 -8
- package/dist/index-Dey5WJpO.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/markdown-z2Ir7Cgo.js +0 -618
- package/dist/markdown-z2Ir7Cgo.js.map +0 -1
- package/dist/useEntityHistory-Dcj4zhGj.js +0 -121
- package/dist/useEntityHistory-Dcj4zhGj.js.map +0 -1
- package/dist/util-BQ82ySL3.js +0 -27720
- package/dist/util-BQ82ySL3.js.map +0 -1
- package/src/collection_editor/types/config_permissions.ts +0 -20
- package/src/components/EntityCollectionTable/fields/VirtualTableDateField.tsx +0 -39
- package/src/components/EntityCollectionTable/fields/VirtualTableInput.tsx +0 -90
- package/src/components/EntityCollectionTable/fields/VirtualTableNumberInput.tsx +0 -80
- package/src/components/EntityCollectionTable/fields/VirtualTableSwitch.tsx +0 -32
- package/src/components/EntityCollectionTable/index.tsx +0 -14
- package/src/components/EntityCollectionView/Board.tsx +0 -474
- package/src/components/EntityCollectionView/BoardColumn.tsx +0 -158
- package/src/components/EntityCollectionView/BoardColumnTitle.tsx +0 -45
- package/src/components/EntityCollectionView/BoardSortableList.tsx +0 -177
- package/src/components/EntityCollectionView/EntityCollectionCardView.tsx +0 -267
- package/src/components/EntityCollectionView/board_types.ts +0 -113
- package/src/components/EntityEditView.tsx +0 -632
- package/src/components/EntitySidePanel.tsx +0 -160
- package/src/components/admin/RoleChip.tsx +0 -23
- package/src/components/admin/RolesView.tsx +0 -419
- package/src/components/admin/UsersView.tsx +0 -782
- package/src/contexts/SideEntityControllerContext.tsx +0 -5
- package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +0 -141
- package/src/hooks/navigation/useNavigationRegistry.ts +0 -153
- package/src/hooks/navigation/useNavigationURLs.ts +0 -56
- package/src/hooks/useSideEntityController.tsx +0 -13
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.d.ts +0 -0
- /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.d.ts +0 -0
- /package/dist/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.d.ts +0 -0
- /package/dist/components/{EntityCollectionView → CollectionViewBinding}/utils.d.ts +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.tsx +0 -0
- /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.tsx +0 -0
- /package/src/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.tsx +0 -0
- /package/src/components/{EntityCollectionView → CollectionViewBinding}/utils.ts +0 -0
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON-serializable versions of Rebase collection and property types.
|
|
3
|
+
*
|
|
4
|
+
* These types strip all non-serializable fields (functions, React nodes,
|
|
5
|
+
* class instances) from the original types in `@rebasepro/types`, making
|
|
6
|
+
* them safe for `JSON.stringify()` / database storage.
|
|
7
|
+
*
|
|
8
|
+
* Use `toSerializableCollectionConfig` / `fromSerializableCollectionConfig` from
|
|
9
|
+
* `./serializable_utils` to convert between the original and serializable forms.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import type { ArrayPropertyValidationSchema, CollectionSize, EnumValues, FileType, FilterPreset, FilterValues, ImageResize, JoinStep, KanbanConfig, NavigationGroupMapping, NumberPropertyValidationSchema, OnAction, PropertyConditions, PropertyValidationSchema, SecurityRule, ViewMode } from "@rebasepro/types";
|
|
14
|
+
/**
|
|
15
|
+
* JSON-serializable version of `BaseUIConfig`.
|
|
16
|
+
* Drops `Field` and `Preview` (ComponentRef — functions/components).
|
|
17
|
+
*/
|
|
18
|
+
export interface SerializableBaseUIConfig {
|
|
19
|
+
columnWidth?: number;
|
|
20
|
+
hideFromCollection?: boolean;
|
|
21
|
+
readOnly?: boolean;
|
|
22
|
+
disabled?: boolean | SerializablePropertyDisabledConfig;
|
|
23
|
+
widthPercentage?: number;
|
|
24
|
+
customProps?: unknown;
|
|
25
|
+
}
|
|
26
|
+
/** JSON-serializable version of `PropertyDisabledConfig`. Already serializable. */
|
|
27
|
+
export interface SerializablePropertyDisabledConfig {
|
|
28
|
+
clearOnDisabled?: boolean;
|
|
29
|
+
disabledMessage?: string;
|
|
30
|
+
hidden?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* JSON-serializable version of `StringPropertyValidationSchema`.
|
|
34
|
+
* `matches` is forced to `string` (no RegExp).
|
|
35
|
+
*/
|
|
36
|
+
export interface SerializableStringValidation extends PropertyValidationSchema {
|
|
37
|
+
length?: number;
|
|
38
|
+
min?: number;
|
|
39
|
+
max?: number;
|
|
40
|
+
/** Regex pattern as a string. RegExp objects are converted to their `.source`. */
|
|
41
|
+
matches?: string;
|
|
42
|
+
matchesMessage?: string;
|
|
43
|
+
trim?: boolean;
|
|
44
|
+
lowercase?: boolean;
|
|
45
|
+
uppercase?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* JSON-serializable version of `DatePropertyValidationSchema`.
|
|
49
|
+
* `min` and `max` are ISO 8601 strings instead of `Date` objects.
|
|
50
|
+
*/
|
|
51
|
+
export interface SerializableDateValidation extends PropertyValidationSchema {
|
|
52
|
+
/** Minimum date as ISO 8601 string. */
|
|
53
|
+
min?: string;
|
|
54
|
+
/** Maximum date as ISO 8601 string. */
|
|
55
|
+
max?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* JSON-serializable version of `StorageConfig`.
|
|
59
|
+
* Drops all function fields: `processFile`, `postProcess`, `previewUrl`.
|
|
60
|
+
* `storagePath` and `fileName` are string-only (no function variant).
|
|
61
|
+
*/
|
|
62
|
+
export interface SerializableStorageConfig {
|
|
63
|
+
acceptedFiles?: FileType[];
|
|
64
|
+
imageResize?: ImageResize;
|
|
65
|
+
metadata?: Record<string, unknown>;
|
|
66
|
+
/** String template only. Function variant is not serializable. */
|
|
67
|
+
fileName?: string;
|
|
68
|
+
/** String template only. Function variant is not serializable. */
|
|
69
|
+
storagePath: string;
|
|
70
|
+
includeBucketUrl?: boolean;
|
|
71
|
+
storeUrl?: boolean;
|
|
72
|
+
maxSize?: number;
|
|
73
|
+
/** Key of the named storage backend to use (see `StorageConfig.storageSource`). */
|
|
74
|
+
storageSource?: string;
|
|
75
|
+
}
|
|
76
|
+
/** JSON-serializable version of `StringUIConfig`. */
|
|
77
|
+
export interface SerializableStringUIConfig extends SerializableBaseUIConfig {
|
|
78
|
+
multiline?: boolean;
|
|
79
|
+
markdown?: boolean;
|
|
80
|
+
previewAsTag?: boolean;
|
|
81
|
+
clearable?: boolean;
|
|
82
|
+
url?: boolean | "image" | "video" | "audio" | "file";
|
|
83
|
+
}
|
|
84
|
+
/** JSON-serializable version of `NumberUIConfig`. */
|
|
85
|
+
export interface SerializableNumberUIConfig extends SerializableBaseUIConfig {
|
|
86
|
+
clearable?: boolean;
|
|
87
|
+
}
|
|
88
|
+
/** JSON-serializable version of `DateUIConfig`. */
|
|
89
|
+
export interface SerializableDateUIConfig extends SerializableBaseUIConfig {
|
|
90
|
+
clearable?: boolean;
|
|
91
|
+
}
|
|
92
|
+
/** JSON-serializable version of `VectorUIConfig`. */
|
|
93
|
+
export interface SerializableVectorUIConfig extends SerializableBaseUIConfig {
|
|
94
|
+
clearable?: boolean;
|
|
95
|
+
}
|
|
96
|
+
/** JSON-serializable version of `ReferenceUIConfig`. */
|
|
97
|
+
export interface SerializableReferenceUIConfig extends SerializableBaseUIConfig {
|
|
98
|
+
previewProperties?: string[];
|
|
99
|
+
}
|
|
100
|
+
/** JSON-serializable version of `RelationUIConfig`. */
|
|
101
|
+
export interface SerializableRelationUIConfig extends SerializableBaseUIConfig {
|
|
102
|
+
previewProperties?: string[];
|
|
103
|
+
widget?: "select" | "dialog";
|
|
104
|
+
}
|
|
105
|
+
/** JSON-serializable version of `ArrayUIConfig`. */
|
|
106
|
+
export interface SerializableArrayUIConfig extends SerializableBaseUIConfig {
|
|
107
|
+
expanded?: boolean;
|
|
108
|
+
minimalistView?: boolean;
|
|
109
|
+
}
|
|
110
|
+
/** JSON-serializable version of `MapUIConfig`. */
|
|
111
|
+
export interface SerializableMapUIConfig extends SerializableBaseUIConfig {
|
|
112
|
+
expanded?: boolean;
|
|
113
|
+
minimalistView?: boolean;
|
|
114
|
+
spreadChildren?: boolean;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* JSON-serializable version of `BaseProperty`.
|
|
118
|
+
* Drops: `dynamicProps` (function), `callbacks` (functions).
|
|
119
|
+
* Keeps: `conditions` (JSON Logic — already serializable by design).
|
|
120
|
+
*/
|
|
121
|
+
export interface SerializableBaseProperty {
|
|
122
|
+
ui?: SerializableBaseUIConfig;
|
|
123
|
+
name: string;
|
|
124
|
+
description?: string;
|
|
125
|
+
propertyConfig?: string;
|
|
126
|
+
columnName?: string;
|
|
127
|
+
validation?: PropertyValidationSchema;
|
|
128
|
+
defaultValue?: unknown;
|
|
129
|
+
/**
|
|
130
|
+
* JSON Logic conditions — fully serializable by design.
|
|
131
|
+
* These are the declarative alternative to `dynamicProps` functions.
|
|
132
|
+
*/
|
|
133
|
+
conditions?: PropertyConditions;
|
|
134
|
+
/**
|
|
135
|
+
* Arbitrary key-value metadata for external consumers.
|
|
136
|
+
* Not interpreted by Rebase — passed through serialization unchanged.
|
|
137
|
+
*/
|
|
138
|
+
metadata?: Record<string, unknown>;
|
|
139
|
+
}
|
|
140
|
+
/** JSON-serializable `StringProperty`. */
|
|
141
|
+
export interface SerializableStringProperty extends SerializableBaseProperty {
|
|
142
|
+
ui?: SerializableStringUIConfig;
|
|
143
|
+
type: "string";
|
|
144
|
+
columnType?: "varchar" | "text" | "char" | "uuid";
|
|
145
|
+
validation?: SerializableStringValidation;
|
|
146
|
+
isId?: boolean | "manual" | "uuid" | "cuid" | string;
|
|
147
|
+
enum?: EnumValues;
|
|
148
|
+
storage?: SerializableStorageConfig;
|
|
149
|
+
userSelect?: boolean;
|
|
150
|
+
email?: boolean;
|
|
151
|
+
reference?: SerializableReferenceProperty;
|
|
152
|
+
}
|
|
153
|
+
/** JSON-serializable `NumberProperty`. */
|
|
154
|
+
export interface SerializableNumberProperty extends SerializableBaseProperty {
|
|
155
|
+
ui?: SerializableNumberUIConfig;
|
|
156
|
+
type: "number";
|
|
157
|
+
columnType?: "integer" | "real" | "double precision" | "numeric" | "bigint" | "serial" | "bigserial";
|
|
158
|
+
validation?: NumberPropertyValidationSchema;
|
|
159
|
+
isId?: boolean | "manual" | "increment" | string;
|
|
160
|
+
enum?: EnumValues;
|
|
161
|
+
}
|
|
162
|
+
/** JSON-serializable `BooleanProperty`. */
|
|
163
|
+
export interface SerializableBooleanProperty extends SerializableBaseProperty {
|
|
164
|
+
ui?: SerializableBaseUIConfig;
|
|
165
|
+
type: "boolean";
|
|
166
|
+
validation?: PropertyValidationSchema;
|
|
167
|
+
}
|
|
168
|
+
/** JSON-serializable `DateProperty`. */
|
|
169
|
+
export interface SerializableDateProperty extends SerializableBaseProperty {
|
|
170
|
+
ui?: SerializableDateUIConfig;
|
|
171
|
+
type: "date";
|
|
172
|
+
columnType?: "timestamp" | "date" | "time";
|
|
173
|
+
validation?: SerializableDateValidation;
|
|
174
|
+
mode?: "date" | "date_time";
|
|
175
|
+
timezone?: string;
|
|
176
|
+
autoValue?: "on_create" | "on_update";
|
|
177
|
+
}
|
|
178
|
+
/** JSON-serializable `GeopointProperty`. */
|
|
179
|
+
export interface SerializableGeopointProperty extends SerializableBaseProperty {
|
|
180
|
+
ui?: SerializableBaseUIConfig;
|
|
181
|
+
type: "geopoint";
|
|
182
|
+
validation?: PropertyValidationSchema;
|
|
183
|
+
}
|
|
184
|
+
/** JSON-serializable `VectorProperty`. */
|
|
185
|
+
export interface SerializableVectorProperty extends SerializableBaseProperty {
|
|
186
|
+
ui?: SerializableVectorUIConfig;
|
|
187
|
+
type: "vector";
|
|
188
|
+
dimensions: number;
|
|
189
|
+
validation?: PropertyValidationSchema;
|
|
190
|
+
}
|
|
191
|
+
/** JSON-serializable `BinaryProperty`. */
|
|
192
|
+
export interface SerializableBinaryProperty extends SerializableBaseProperty {
|
|
193
|
+
type: "binary";
|
|
194
|
+
validation?: PropertyValidationSchema;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* JSON-serializable `ReferenceProperty`.
|
|
198
|
+
* Already largely serializable; just inherits the serializable base.
|
|
199
|
+
*/
|
|
200
|
+
export interface SerializableReferenceProperty extends SerializableBaseProperty {
|
|
201
|
+
ui?: SerializableReferenceUIConfig;
|
|
202
|
+
type: "reference";
|
|
203
|
+
isId?: boolean;
|
|
204
|
+
path?: string;
|
|
205
|
+
fixedFilter?: FilterValues<string>;
|
|
206
|
+
includeId?: boolean;
|
|
207
|
+
includeEntityLink?: boolean;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* JSON-serializable `RelationProperty`.
|
|
211
|
+
* `target` is string-only (collection slug). The function variant
|
|
212
|
+
* `() => CollectionConfig` is not serializable.
|
|
213
|
+
*/
|
|
214
|
+
export interface SerializableRelationProperty extends SerializableBaseProperty {
|
|
215
|
+
ui?: SerializableRelationUIConfig;
|
|
216
|
+
type: "relation";
|
|
217
|
+
isId?: boolean;
|
|
218
|
+
/** Target collection slug. Function variant is not serializable. */
|
|
219
|
+
target?: string;
|
|
220
|
+
cardinality?: "one" | "many";
|
|
221
|
+
direction?: "owning" | "inverse";
|
|
222
|
+
inverseRelationName?: string;
|
|
223
|
+
localKey?: string;
|
|
224
|
+
foreignKeyOnTarget?: string;
|
|
225
|
+
through?: {
|
|
226
|
+
table: string;
|
|
227
|
+
sourceColumn: string;
|
|
228
|
+
targetColumn: string;
|
|
229
|
+
};
|
|
230
|
+
joinPath?: JoinStep[];
|
|
231
|
+
onUpdate?: OnAction;
|
|
232
|
+
onDelete?: OnAction;
|
|
233
|
+
relationName?: string;
|
|
234
|
+
fixedFilter?: FilterValues<string>;
|
|
235
|
+
includeId?: boolean;
|
|
236
|
+
includeEntityLink?: boolean;
|
|
237
|
+
widget?: "select" | "dialog";
|
|
238
|
+
}
|
|
239
|
+
/** JSON-serializable `ArrayProperty`. */
|
|
240
|
+
export interface SerializableArrayProperty extends SerializableBaseProperty {
|
|
241
|
+
ui?: SerializableArrayUIConfig;
|
|
242
|
+
type: "array";
|
|
243
|
+
columnType?: "json" | "jsonb" | "text[]" | "integer[]" | "boolean[]" | "numeric[]";
|
|
244
|
+
of?: SerializableProperty | SerializableProperty[];
|
|
245
|
+
oneOf?: {
|
|
246
|
+
properties: SerializableProperties;
|
|
247
|
+
propertiesOrder?: string[];
|
|
248
|
+
typeField?: string;
|
|
249
|
+
valueField?: string;
|
|
250
|
+
};
|
|
251
|
+
validation?: ArrayPropertyValidationSchema;
|
|
252
|
+
sortable?: boolean;
|
|
253
|
+
canAddElements?: boolean;
|
|
254
|
+
}
|
|
255
|
+
/** JSON-serializable `MapProperty`. */
|
|
256
|
+
export interface SerializableMapProperty extends SerializableBaseProperty {
|
|
257
|
+
ui?: SerializableMapUIConfig;
|
|
258
|
+
type: "map";
|
|
259
|
+
columnType?: "json" | "jsonb";
|
|
260
|
+
properties?: SerializableProperties;
|
|
261
|
+
propertiesOrder?: string[];
|
|
262
|
+
validation?: PropertyValidationSchema;
|
|
263
|
+
previewProperties?: string[];
|
|
264
|
+
keyValue?: boolean;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Union of all JSON-serializable property types.
|
|
268
|
+
* Mirrors `Property` from `@rebasepro/types` but with all non-serializable
|
|
269
|
+
* fields stripped.
|
|
270
|
+
*/
|
|
271
|
+
export type SerializableProperty = SerializableStringProperty | SerializableNumberProperty | SerializableBooleanProperty | SerializableDateProperty | SerializableGeopointProperty | SerializableReferenceProperty | SerializableRelationProperty | SerializableArrayProperty | SerializableMapProperty | SerializableVectorProperty | SerializableBinaryProperty;
|
|
272
|
+
/** Record of serializable properties, keyed by property key. */
|
|
273
|
+
export type SerializableProperties = {
|
|
274
|
+
[key: string]: SerializableProperty;
|
|
275
|
+
};
|
|
276
|
+
/**
|
|
277
|
+
* JSON-serializable version of `CollectionConfig` / `BaseCollectionConfig`.
|
|
278
|
+
*
|
|
279
|
+
* Strips all non-serializable fields:
|
|
280
|
+
* - Functions: `callbacks`, `childCollections`, `additionalFields`, `defaultSelectedView` (fn)
|
|
281
|
+
* - React nodes: `icon` (ReactNode variant), `entityViews`, `formView`
|
|
282
|
+
* - Runtime objects: `selectionController`, `overrides`
|
|
283
|
+
* - Component refs: `Actions`, `components`, `entityActions`
|
|
284
|
+
* - `exportable` when it's an `ExportConfig` (contains functions)
|
|
285
|
+
* - `auth` when it's an `AuthCollectionConfig` (contains functions)
|
|
286
|
+
*
|
|
287
|
+
* Keeps all data-describing fields that the collection editor works with.
|
|
288
|
+
*/
|
|
289
|
+
export interface SerializableCollectionConfig {
|
|
290
|
+
slug: string;
|
|
291
|
+
name: string;
|
|
292
|
+
singularName?: string;
|
|
293
|
+
description?: string;
|
|
294
|
+
/**
|
|
295
|
+
* Icon name as a string (e.g. Lucide icon key).
|
|
296
|
+
* React.ReactNode variant is not serializable and is stripped.
|
|
297
|
+
*/
|
|
298
|
+
icon?: string;
|
|
299
|
+
group?: string;
|
|
300
|
+
engine?: string;
|
|
301
|
+
dataSource?: string;
|
|
302
|
+
databaseId?: string;
|
|
303
|
+
properties: SerializableProperties;
|
|
304
|
+
propertiesOrder?: string[];
|
|
305
|
+
previewProperties?: string[];
|
|
306
|
+
listProperties?: string[];
|
|
307
|
+
titleProperty?: string;
|
|
308
|
+
openEntityMode?: "side_panel" | "full_screen" | "split" | "dialog";
|
|
309
|
+
defaultEntityAction?: "view" | "edit";
|
|
310
|
+
defaultViewMode?: ViewMode;
|
|
311
|
+
enabledViews?: ViewMode[];
|
|
312
|
+
kanban?: KanbanConfig<Record<string, unknown>>;
|
|
313
|
+
defaultSize?: CollectionSize;
|
|
314
|
+
sideDialogWidth?: number | string;
|
|
315
|
+
pagination?: boolean | number;
|
|
316
|
+
selectionEnabled?: boolean;
|
|
317
|
+
inlineEditing?: boolean;
|
|
318
|
+
hideFromNavigation?: boolean;
|
|
319
|
+
hideIdFromForm?: boolean;
|
|
320
|
+
hideIdFromCollection?: boolean;
|
|
321
|
+
formAutoSave?: boolean;
|
|
322
|
+
alwaysApplyDefaultValues?: boolean;
|
|
323
|
+
includeJsonView?: boolean;
|
|
324
|
+
history?: boolean;
|
|
325
|
+
localChangesBackup?: "manual_apply" | "auto_apply" | false;
|
|
326
|
+
exportable?: boolean;
|
|
327
|
+
auth?: boolean;
|
|
328
|
+
/**
|
|
329
|
+
* Default selected view as a string key.
|
|
330
|
+
* The function variant (`DefaultSelectedViewBuilder`) is not serializable.
|
|
331
|
+
*/
|
|
332
|
+
defaultSelectedView?: string;
|
|
333
|
+
fixedFilter?: FilterValues<string>;
|
|
334
|
+
defaultFilter?: FilterValues<string>;
|
|
335
|
+
filterPresets?: FilterPreset<string>[];
|
|
336
|
+
sort?: [string, "asc" | "desc"];
|
|
337
|
+
orderProperty?: string;
|
|
338
|
+
disableDefaultActions?: ("edit" | "copy" | "delete")[];
|
|
339
|
+
table?: string;
|
|
340
|
+
schema?: string;
|
|
341
|
+
securityRules?: readonly SecurityRule[];
|
|
342
|
+
ownerId?: string;
|
|
343
|
+
/**
|
|
344
|
+
* Arbitrary key-value metadata for external consumers.
|
|
345
|
+
* Not interpreted by Rebase — passed through serialization unchanged.
|
|
346
|
+
*/
|
|
347
|
+
metadata?: Record<string, unknown>;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Adapter interface for persisting serializable collections to a JSON backend.
|
|
351
|
+
* Implement this to store collection configs in a database, API, localStorage, etc.
|
|
352
|
+
*/
|
|
353
|
+
export interface JsonCollectionStore {
|
|
354
|
+
/** Load all persisted collections. */
|
|
355
|
+
load(): Promise<SerializableCollectionConfig[]>;
|
|
356
|
+
/** Save (create or update) a single collection by its slug. */
|
|
357
|
+
save(slug: string, data: SerializableCollectionConfig): Promise<void>;
|
|
358
|
+
/** Delete a collection by its slug. */
|
|
359
|
+
delete(slug: string): Promise<void>;
|
|
360
|
+
/**
|
|
361
|
+
* Optional: save navigation group mappings.
|
|
362
|
+
* If not implemented, navigation entries are not persisted.
|
|
363
|
+
*/
|
|
364
|
+
saveNavigationEntries?(entries: NavigationGroupMapping[]): Promise<void>;
|
|
365
|
+
/**
|
|
366
|
+
* Optional: load navigation group mappings.
|
|
367
|
+
* If not implemented, an empty array is used.
|
|
368
|
+
*/
|
|
369
|
+
loadNavigationEntries?(): Promise<NavigationGroupMapping[]>;
|
|
370
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversion utilities between the full Rebase types and their
|
|
3
|
+
* JSON-serializable counterparts.
|
|
4
|
+
*
|
|
5
|
+
* - `toSerializableCollectionConfig` / `toSerializableProperty` — strip non-serializable fields
|
|
6
|
+
* - `fromSerializableCollectionConfig` / `fromSerializableProperty` — reconstruct original types
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import type { CollectionConfig, Properties, Property } from "@rebasepro/types";
|
|
11
|
+
import type { SerializableCollectionConfig, SerializableProperties, SerializableProperty } from "./serializable_types";
|
|
12
|
+
/**
|
|
13
|
+
* Convert a single `Property` to its JSON-serializable form.
|
|
14
|
+
* Strips functions, converts RegExp to string, Date to ISO string.
|
|
15
|
+
*/
|
|
16
|
+
export declare function toSerializableProperty(property: Property): SerializableProperty;
|
|
17
|
+
/**
|
|
18
|
+
* Convert a `Properties` record to its serializable form.
|
|
19
|
+
*/
|
|
20
|
+
export declare function toSerializableProperties(properties: Properties): SerializableProperties;
|
|
21
|
+
/**
|
|
22
|
+
* Convert an `CollectionConfig` to its JSON-serializable form.
|
|
23
|
+
*
|
|
24
|
+
* Strips all non-serializable fields (functions, React nodes, class instances)
|
|
25
|
+
* while preserving the structural schema that the collection editor works with.
|
|
26
|
+
*
|
|
27
|
+
* The result is safe for `JSON.stringify()` and database storage.
|
|
28
|
+
*/
|
|
29
|
+
export declare function toSerializableCollectionConfig(collection: CollectionConfig): SerializableCollectionConfig;
|
|
30
|
+
/**
|
|
31
|
+
* Convert a serializable property back to the original `Property` type.
|
|
32
|
+
*
|
|
33
|
+
* This is a mostly pass-through operation since serializable properties
|
|
34
|
+
* are a subset of the original types. The main conversions are:
|
|
35
|
+
* - `validation.matches` (string) stays as string (compatible with Property)
|
|
36
|
+
* - `validation.min/max` on dates: ISO strings → Date objects
|
|
37
|
+
*/
|
|
38
|
+
export declare function fromSerializableProperty(serialized: SerializableProperty): Property;
|
|
39
|
+
/**
|
|
40
|
+
* Convert a `SerializableProperties` record back to `Properties`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function fromSerializableProperties(serialized: SerializableProperties): Properties;
|
|
43
|
+
/**
|
|
44
|
+
* Convert a `SerializableCollectionConfig` back to an `CollectionConfig`.
|
|
45
|
+
*
|
|
46
|
+
* The result will NOT contain any of the non-serializable fields
|
|
47
|
+
* (callbacks, entityActions, etc.) — those must be re-attached by the
|
|
48
|
+
* consumer if needed.
|
|
49
|
+
*/
|
|
50
|
+
export declare function fromSerializableCollectionConfig(serialized: SerializableCollectionConfig): CollectionConfig;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { CollectionEditorPermissionsBuilder } from "./config_permissions";
|
|
2
1
|
import { CollectionsConfigController } from "./config_controller";
|
|
3
|
-
import { Entity,
|
|
2
|
+
import { Entity, CollectionConfig, Property } from "@rebasepro/types";
|
|
4
3
|
/**
|
|
5
4
|
* Controller to open the collection editor dialog.
|
|
6
5
|
* @group Hooks and utilities
|
|
@@ -9,8 +8,9 @@ export interface CollectionEditorController {
|
|
|
9
8
|
editCollection: (props: {
|
|
10
9
|
id?: string;
|
|
11
10
|
path?: string;
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
parentCollectionSlugs: string[];
|
|
12
|
+
parentEntityIds: string[];
|
|
13
|
+
parentCollection?: CollectionConfig;
|
|
14
14
|
existingEntities?: Entity<any>[];
|
|
15
15
|
/**
|
|
16
16
|
* Initial view to open: "general", "display", or "properties"
|
|
@@ -32,9 +32,10 @@ export interface CollectionEditorController {
|
|
|
32
32
|
* A collection to duplicate from. If provided, the new collection will be
|
|
33
33
|
* pre-populated with the same properties (but with empty name, path, and id).
|
|
34
34
|
*/
|
|
35
|
-
copyFrom?:
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
copyFrom?: CollectionConfig;
|
|
36
|
+
parentCollectionSlugs: string[];
|
|
37
|
+
parentEntityIds: string[];
|
|
38
|
+
parentCollection?: CollectionConfig;
|
|
38
39
|
redirect: boolean;
|
|
39
40
|
sourceClick?: string;
|
|
40
41
|
}) => void;
|
|
@@ -43,14 +44,14 @@ export interface CollectionEditorController {
|
|
|
43
44
|
property?: Property;
|
|
44
45
|
currentPropertiesOrder?: string[];
|
|
45
46
|
editedCollectionId: string;
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
parentCollectionSlugs: string[];
|
|
48
|
+
parentEntityIds: string[];
|
|
49
|
+
collection: CollectionConfig;
|
|
48
50
|
existingEntities: Entity<any>[];
|
|
49
51
|
}) => void;
|
|
50
52
|
/**
|
|
51
53
|
* The config controller that this editor represents.
|
|
52
54
|
*/
|
|
53
55
|
configController: CollectionsConfigController;
|
|
54
|
-
configPermissions: CollectionEditorPermissionsBuilder;
|
|
55
56
|
pathSuggestions: string[] | undefined;
|
|
56
57
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CollectionConfig, FilterValues } from "@rebasepro/types";
|
|
2
2
|
/**
|
|
3
3
|
* This function is used to infer the configuration of a collection given its path.
|
|
4
4
|
* @param path - The path of the collection
|
|
@@ -7,4 +7,4 @@ import { EntityCollection, FilterValues } from "@rebasepro/types";
|
|
|
7
7
|
* @param initialFilter - Optional filter values from the collection configuration
|
|
8
8
|
* @param initialSort - Optional sort configuration from the collection
|
|
9
9
|
*/
|
|
10
|
-
export type CollectionInference = (path: string, parentCollectionPaths: string[], databaseId?: string, initialFilter?: FilterValues<string>, initialSort?: [string, "asc" | "desc"]) => Promise<Partial<
|
|
10
|
+
export type CollectionInference = (path: string, parentCollectionPaths: string[], databaseId?: string, initialFilter?: FilterValues<string>, initialSort?: [string, "asc" | "desc"]) => Promise<Partial<CollectionConfig> | null>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CollectionConfig, NavigationGroupMapping, Property } from "@rebasepro/types";
|
|
2
2
|
export interface CollectionsSetupInfo {
|
|
3
3
|
status: "ongoing" | "complete" | "error";
|
|
4
4
|
error: string | null;
|
|
@@ -9,7 +9,7 @@ export interface CollectionsSetupInfo {
|
|
|
9
9
|
*/
|
|
10
10
|
export interface CollectionsConfigController {
|
|
11
11
|
loading: boolean;
|
|
12
|
-
collections?:
|
|
12
|
+
collections?: CollectionConfig[];
|
|
13
13
|
/**
|
|
14
14
|
* If true, the configuration cannot be modified.
|
|
15
15
|
* Use readOnlyReason to explain why.
|
|
@@ -24,7 +24,7 @@ export interface CollectionsConfigController {
|
|
|
24
24
|
* Stored in the project config document at `collectionsSetup`.
|
|
25
25
|
*/
|
|
26
26
|
collectionsSetup?: CollectionsSetupInfo;
|
|
27
|
-
getCollection: (id: string) =>
|
|
27
|
+
getCollection: (id: string) => CollectionConfig;
|
|
28
28
|
saveCollection: <M extends {
|
|
29
29
|
[Key: string]: any;
|
|
30
30
|
}>(params: SaveCollectionParams<M>) => Promise<void>;
|
|
@@ -47,15 +47,17 @@ export interface CollectionsConfigController {
|
|
|
47
47
|
}
|
|
48
48
|
export type UpdateCollectionParams<M extends Record<string, unknown> = Record<string, unknown>> = {
|
|
49
49
|
id: string;
|
|
50
|
-
collectionData: Partial<
|
|
50
|
+
collectionData: Partial<CollectionConfig<M>>;
|
|
51
51
|
previousId?: string;
|
|
52
|
-
|
|
52
|
+
parentCollectionSlugs?: string[];
|
|
53
|
+
parentEntityIds?: string[];
|
|
53
54
|
};
|
|
54
55
|
export type SaveCollectionParams<M extends Record<string, unknown> = Record<string, unknown>> = {
|
|
55
56
|
id: string;
|
|
56
|
-
collectionData:
|
|
57
|
+
collectionData: CollectionConfig<M>;
|
|
57
58
|
previousId?: string;
|
|
58
|
-
|
|
59
|
+
parentCollectionSlugs?: string[];
|
|
60
|
+
parentEntityIds?: string[];
|
|
59
61
|
};
|
|
60
62
|
export type SavePropertyParams = {
|
|
61
63
|
path: string;
|
|
@@ -63,29 +65,34 @@ export type SavePropertyParams = {
|
|
|
63
65
|
namespace?: string;
|
|
64
66
|
newPropertiesOrder?: string[];
|
|
65
67
|
property: Property;
|
|
66
|
-
|
|
68
|
+
parentCollectionSlugs?: string[];
|
|
69
|
+
parentEntityIds?: string[];
|
|
67
70
|
};
|
|
68
71
|
export type DeletePropertyParams = {
|
|
69
72
|
path: string;
|
|
70
73
|
propertyKey: string;
|
|
71
74
|
namespace?: string;
|
|
72
75
|
newPropertiesOrder?: string[];
|
|
73
|
-
|
|
76
|
+
parentCollectionSlugs?: string[];
|
|
77
|
+
parentEntityIds?: string[];
|
|
74
78
|
};
|
|
75
79
|
export type DeleteCollectionParams = {
|
|
76
80
|
id: string;
|
|
77
|
-
|
|
81
|
+
parentCollectionSlugs?: string[];
|
|
82
|
+
parentEntityIds?: string[];
|
|
78
83
|
};
|
|
79
84
|
export type UpdatePropertiesOrderParams = {
|
|
80
85
|
fullPath: string;
|
|
81
|
-
|
|
82
|
-
|
|
86
|
+
parentCollectionSlugs: string[];
|
|
87
|
+
parentEntityIds: string[];
|
|
88
|
+
collection: CollectionConfig;
|
|
83
89
|
newPropertiesOrder: string[];
|
|
84
90
|
};
|
|
85
91
|
export type UpdateKanbanColumnsOrderParams = {
|
|
86
92
|
fullPath: string;
|
|
87
|
-
|
|
88
|
-
|
|
93
|
+
parentCollectionSlugs: string[];
|
|
94
|
+
parentEntityIds: string[];
|
|
95
|
+
collection: CollectionConfig;
|
|
89
96
|
kanbanColumnProperty: string;
|
|
90
97
|
newColumnsOrder: string[];
|
|
91
98
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CollectionConfig } from "@rebasepro/types";
|
|
2
3
|
/**
|
|
3
4
|
* Component rendered at the end of the Kanban board to add new columns (enum values).
|
|
4
5
|
* Opens a dialog to input a new enum value for the column property.
|
|
5
6
|
*/
|
|
6
|
-
export declare function AddKanbanColumnAction({ collection, fullPath,
|
|
7
|
-
collection:
|
|
7
|
+
export declare function AddKanbanColumnAction({ collection, fullPath, parentCollectionSlugs, parentEntityIds, columnProperty }: {
|
|
8
|
+
collection: CollectionConfig;
|
|
8
9
|
fullPath: string;
|
|
9
|
-
|
|
10
|
+
parentCollectionSlugs: string[];
|
|
11
|
+
parentEntityIds: string[];
|
|
10
12
|
columnProperty: string;
|
|
11
|
-
}):
|
|
13
|
+
}): React.JSX.Element;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { CollectionConfig, EntityTableController, Property } from "@rebasepro/types";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export declare function CollectionViewHeaderAction({ propertyKey, onHover, property, path, parentCollectionSlugs, parentEntityIds, collection, tableController }: {
|
|
3
4
|
property: Property;
|
|
4
5
|
propertyKey: string;
|
|
5
6
|
onHover: boolean;
|
|
6
7
|
path: string;
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
parentCollectionSlugs: string[];
|
|
9
|
+
parentEntityIds: string[];
|
|
10
|
+
collection: CollectionConfig;
|
|
9
11
|
tableController: EntityTableController;
|
|
10
|
-
}):
|
|
12
|
+
}): React.JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CollectionActionsProps } from "@rebasepro/types";
|
|
2
|
-
export declare function EditorCollectionAction({ path,
|
|
2
|
+
export declare function EditorCollectionAction({ path, parentCollectionSlugs, parentEntityIds, collection, tableController }: CollectionActionsProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CollectionActionsProps } from "@rebasepro/types";
|
|
2
|
-
export declare function EditorCollectionActionStart({ path,
|
|
2
|
+
export declare function EditorCollectionActionStart({ path, parentCollectionSlugs, parentEntityIds, collection, tableController }: CollectionActionsProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { PluginFormActionProps } from "@rebasepro/types";
|
|
2
|
-
export declare function EditorEntityAction({ path,
|
|
2
|
+
export declare function EditorEntityAction({ path, parentCollectionSlugs, parentEntityIds, collection, formContext }: PluginFormActionProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { PluginHomePageActionsProps } from "@rebasepro/types";
|
|
2
|
-
export declare function HomePageEditorCollectionAction({ slug, collection }: PluginHomePageActionsProps): import("react
|
|
2
|
+
export declare function HomePageEditorCollectionAction({ slug, collection }: PluginHomePageActionsProps): import("react").JSX.Element;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CollectionConfig } from "@rebasepro/types";
|
|
2
3
|
/**
|
|
3
4
|
* Component rendered when Kanban view is missing orderProperty configuration.
|
|
4
5
|
* Provides a CTA button to open the collection editor to configure Kanban.
|
|
5
6
|
*/
|
|
6
|
-
export declare function KanbanSetupAction({ collection, fullPath,
|
|
7
|
-
collection:
|
|
7
|
+
export declare function KanbanSetupAction({ collection, fullPath, parentCollectionSlugs, parentEntityIds }: {
|
|
8
|
+
collection: CollectionConfig;
|
|
8
9
|
fullPath: string;
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
parentCollectionSlugs: string[];
|
|
11
|
+
parentEntityIds: string[];
|
|
12
|
+
}): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function NewCollectionButton(): import("react
|
|
1
|
+
export declare function NewCollectionButton(): import("react").JSX.Element | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { PluginHomePageAdditionalCardsProps } from "@rebasepro/types";
|
|
2
|
-
export declare function NewCollectionCard({ group, context }: PluginHomePageAdditionalCardsProps): import("react
|
|
2
|
+
export declare function NewCollectionCard({ group, context }: PluginHomePageAdditionalCardsProps): import("react").JSX.Element | null;
|