@rebasepro/admin 0.5.0 → 0.6.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/dist/CollectionEditorDialog-jA-PLh6N.js +3549 -0
- package/dist/CollectionEditorDialog-jA-PLh6N.js.map +1 -0
- package/dist/CollectionsStudioView-UKouBPOm.js +170 -0
- package/dist/CollectionsStudioView-UKouBPOm.js.map +1 -0
- package/dist/PropertyEditView-DEUddmg_.js +3660 -0
- package/dist/PropertyEditView-DEUddmg_.js.map +1 -0
- package/dist/collection_editor/ConfigControllerProvider.d.ts +2 -2
- package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +2 -1
- package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +2 -1
- 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 +2 -1
- 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 +1 -1
- package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/AIModifiedPathsContext.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +1 -1
- 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 +2 -1
- package/dist/collection_editor/ui/collection_editor/CollectionYupValidation.d.ts +1 -9
- package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/DisplaySettingsForm.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +2 -1
- 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 +2 -1
- package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/KanbanConfigSection.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/LayoutModeSwitch.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +4 -4
- 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/SubcollectionsEditTab.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/SwitchControl.d.ts +2 -1
- 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 +2 -1
- 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 +2 -1
- 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.js +4 -11
- package/dist/components/ArrayContainer.d.ts +3 -3
- package/dist/components/ClearFilterSortButton.d.ts +1 -1
- package/dist/components/CollectionEditorDialogs.d.ts +2 -1
- package/dist/components/CollectionPanel.d.ts +2 -27
- package/dist/components/DefaultAppBar.d.ts +1 -1
- package/dist/components/DefaultDrawer.d.ts +4 -4
- package/dist/components/DeleteEntityDialog.d.ts +2 -1
- package/dist/components/DrawerNavigationGroup.d.ts +1 -1
- package/dist/components/DrawerNavigationItem.d.ts +1 -1
- package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +1 -1
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -1
- package/dist/components/EntityCollectionTable/fields/TableMultipleRelationField.d.ts +3 -3
- package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +3 -3
- package/dist/components/EntityCollectionTable/fields/TableRelationField.d.ts +3 -3
- package/dist/components/EntityCollectionTable/fields/TableRelationSelectorField.d.ts +2 -1
- package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +2 -2
- package/dist/components/EntityCollectionTable/fields/VirtualTableDateField.d.ts +1 -1
- package/dist/components/EntityCollectionTable/fields/VirtualTableInput.d.ts +2 -1
- package/dist/components/EntityCollectionTable/fields/VirtualTableNumberInput.d.ts +2 -1
- package/dist/components/EntityCollectionTable/fields/VirtualTableSelect.d.ts +1 -1
- package/dist/components/EntityCollectionTable/fields/VirtualTableSwitch.d.ts +2 -1
- package/dist/components/EntityCollectionTable/fields/VirtualTableUserSelect.d.ts +1 -1
- package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -1
- package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +1 -1
- package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +4 -3
- package/dist/components/EntityCollectionView/Board.d.ts +2 -1
- package/dist/components/EntityCollectionView/BoardColumnTitle.d.ts +1 -1
- package/dist/components/EntityCollectionView/BoardSortableList.d.ts +1 -1
- package/dist/components/EntityCollectionView/EntityBoardCard.d.ts +1 -1
- package/dist/components/EntityCollectionView/EntityCard.d.ts +2 -1
- package/dist/components/EntityCollectionView/EntityCollectionBoardView.d.ts +1 -1
- package/dist/components/EntityCollectionView/EntityCollectionCardView.d.ts +1 -1
- package/dist/components/EntityCollectionView/EntityCollectionListView.d.ts +1 -1
- package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +0 -24
- package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +1 -1
- package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +2 -1
- package/dist/components/EntityCollectionView/FilterPresetsButton.d.ts +2 -1
- package/dist/components/EntityCollectionView/FiltersDialog.d.ts +2 -1
- package/dist/components/EntityCollectionView/SplitListView.d.ts +1 -1
- package/dist/components/EntityCollectionView/ViewModeToggle.d.ts +2 -1
- package/dist/components/EntityDetailView.d.ts +1 -1
- package/dist/components/EntityEditView.d.ts +2 -2
- package/dist/components/EntityEditViewFormActions.d.ts +2 -1
- package/dist/components/EntityJsonPreview.d.ts +2 -1
- package/dist/components/EntityPreview.d.ts +3 -3
- package/dist/components/EntitySidePanel.d.ts +2 -1
- package/dist/components/EntityView.d.ts +2 -1
- 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 +4 -4
- 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/PropertyCollectionView.d.ts +2 -1
- package/dist/components/PropertyIdCopyTooltip.d.ts +2 -2
- package/dist/components/RebaseAuthGate.d.ts +1 -1
- package/dist/components/RebaseLayout.d.ts +1 -1
- package/dist/components/RebaseNavigation.d.ts +1 -1
- package/dist/components/RebaseRouteDefs.d.ts +1 -1
- package/dist/components/RebaseShell.d.ts +1 -1
- package/dist/components/ReferenceTable/EntitySelectionTable.d.ts +1 -1
- package/dist/components/ReferenceWidget.d.ts +2 -1
- package/dist/components/SearchIconsView.d.ts +2 -1
- package/dist/components/SelectableTable/SelectableTable.d.ts +2 -2
- package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +2 -1
- package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +2 -1
- package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
- package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +2 -1
- package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +2 -1
- package/dist/components/SideDialogs.d.ts +1 -1
- package/dist/components/SideEntityProvider.d.ts +1 -1
- package/dist/components/admin/CreationResultDialog.d.ts +2 -1
- package/dist/components/app/AppBar.d.ts +1 -1
- package/dist/components/app/Drawer.d.ts +1 -1
- package/dist/components/common/default_entity_actions.d.ts +2 -1
- package/dist/components/history/EntityHistoryEntry.d.ts +1 -1
- 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 +2 -1
- package/dist/components/history/UserChip.d.ts +1 -1
- package/dist/data_export/export/BasicExportAction.d.ts +2 -1
- package/dist/data_export/export/ExportCollectionAction.d.ts +1 -1
- 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 +1 -1
- package/dist/data_import/import/ImportCollectionAction.d.ts +4 -3
- package/dist/editor/components/SlashCommandMenu.d.ts +2 -1
- package/dist/editor/editor.d.ts +1 -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.js +2621 -3574
- package/dist/editor.js.map +1 -1
- package/dist/form/EntityForm.d.ts +2 -1
- package/dist/form/EntityFormActions.d.ts +2 -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 +2 -1
- package/dist/form/components/StorageItemPreview.d.ts +2 -1
- package/dist/form/components/StorageUploadProgress.d.ts +2 -1
- 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 +2 -1
- 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/ReferenceAsStringFieldBinding.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 +3 -2
- 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 +2 -1
- package/dist/history-BL49TIDb.js +311 -0
- package/dist/history-BL49TIDb.js.map +1 -0
- package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +0 -2
- package/dist/hooks/navigation/useNavigationResolution.d.ts +5 -6
- package/dist/hooks/navigation/useResolvedCollections.d.ts +0 -2
- package/dist/hooks/useBreadcrumbsController.d.ts +2 -32
- package/dist/index.js +2 -3393
- 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 +1 -1
- 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/RebaseRoute.d.ts +1 -1
- package/dist/src-BJ8fkM8y.js +24010 -0
- package/dist/src-BJ8fkM8y.js.map +1 -0
- package/dist/types/components/PropertyPreviewProps.d.ts +4 -0
- package/dist/types/components/formex.d.ts +1 -40
- package/dist/types/fields.d.ts +9 -1
- package/dist/util/navigation_utils.d.ts +2 -1
- package/dist/util/previews.d.ts +5 -0
- package/dist/util/property_utils.d.ts +1 -1
- package/package.json +29 -26
- package/src/collection_editor/ConfigControllerProvider.tsx +10 -7
- package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +2 -1
- package/src/collection_editor/ui/EditorCollectionAction.tsx +2 -1
- package/src/collection_editor/ui/EditorCollectionActionStart.tsx +2 -1
- package/src/collection_editor/ui/EditorEntityAction.tsx +2 -1
- package/src/collection_editor/ui/KanbanSetupAction.tsx +2 -1
- package/src/collection_editor/ui/MissingReferenceWidget.tsx +2 -1
- package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +2 -1
- package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +2 -3
- package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +0 -1
- package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +8 -4
- package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +2 -1
- package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +5 -2
- package/src/collection_editor/useLocalCollectionsConfigController.tsx +7 -2
- package/src/collection_editor/validateCollectionJson.ts +2 -2
- package/src/components/CollectionPanel.tsx +51 -25
- package/src/components/DefaultAppBar.tsx +1 -2
- package/src/components/DefaultDrawer.tsx +3 -2
- package/src/components/DrawerNavigationGroup.tsx +3 -2
- package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +30 -9
- package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +1 -1
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +1 -0
- package/src/components/EntityCollectionView/Board.tsx +10 -8
- package/src/components/EntityCollectionView/BoardSortableList.tsx +2 -2
- package/src/components/EntityCollectionView/EntityCollectionBoardView.tsx +4 -2
- package/src/components/EntityCollectionView/EntityCollectionCardView.tsx +14 -4
- package/src/components/EntityCollectionView/EntityCollectionListView.tsx +48 -26
- package/src/components/EntityCollectionView/EntityCollectionView.tsx +146 -73
- package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +2 -1
- package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +3 -2
- package/src/components/EntityCollectionView/FilterPresetsButton.tsx +4 -2
- package/src/components/EntityCollectionView/ViewModeToggle.tsx +0 -1
- package/src/components/EntityCollectionView/useBoardDataController.tsx +17 -15
- package/src/components/EntityCollectionView/useEntityPreviewSlots.ts +29 -19
- package/src/components/EntityDetailView.tsx +66 -30
- package/src/components/EntityEditView.tsx +70 -32
- package/src/components/EntitySidePanel.tsx +6 -3
- package/src/components/HomePage/ContentHomePage.tsx +3 -3
- package/src/components/HomePage/NavigationCard.tsx +5 -5
- package/src/components/HomePage/NavigationCardBinding.tsx +1 -1
- package/src/components/RebaseLayout.tsx +5 -2
- package/src/components/RebaseNavigation.tsx +1 -4
- package/src/components/RebaseRouteDefs.tsx +5 -3
- package/src/components/SearchIconsView.tsx +1 -1
- package/src/components/SelectableTable/SelectableTable.tsx +2 -3
- package/src/components/SelectableTable/SelectionStore.ts +9 -3
- package/src/components/UserSelector.tsx +92 -2
- package/src/components/common/default_entity_actions.tsx +23 -6
- package/src/components/field_configs.tsx +6 -3
- package/src/editor/editor.tsx +1 -1
- package/src/editor/extensions/Image/index.ts +2 -2
- package/src/editor/extensions/Image.ts +2 -2
- 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/form/EntityForm.tsx +21 -15
- package/src/form/field_bindings/MapFieldBinding.tsx +3 -3
- package/src/form/field_bindings/VectorFieldBinding.tsx +3 -3
- package/src/form/validation.ts +17 -15
- package/src/hooks/navigation/useBuildNavigationStateController.tsx +3 -6
- package/src/hooks/navigation/useNavigationResolution.ts +143 -19
- package/src/hooks/navigation/useResolvedCollections.ts +4 -6
- package/src/hooks/useBreadcrumbsController.tsx +2 -34
- package/src/hooks/useBuildSideEntityController.tsx +25 -3
- package/src/preview/PropertyPreview.tsx +6 -2
- package/src/preview/components/ReferencePreview.tsx +64 -13
- package/src/preview/components/RelationPreview.tsx +101 -13
- package/src/preview/components/UserPreview.tsx +5 -14
- package/src/preview/property_previews/ArrayOfMapsPreview.tsx +1 -1
- package/src/routes/RebaseRoute.tsx +5 -4
- package/src/types/components/PropertyPreviewProps.tsx +5 -0
- package/src/types/components/formex.tsx +1 -45
- package/src/types/fields.tsx +10 -1
- package/src/util/navigation_utils.ts +14 -4
- package/src/util/previews.ts +101 -4
- package/dist/CollectionEditorDialog-C8E440oK.js +0 -4574
- package/dist/CollectionEditorDialog-C8E440oK.js.map +0 -1
- package/dist/CollectionsStudioView-Brr_b06v.js +0 -217
- package/dist/CollectionsStudioView-Brr_b06v.js.map +0 -1
- package/dist/ExportCollectionAction-D3TTYXrq.js +0 -446
- package/dist/ExportCollectionAction-D3TTYXrq.js.map +0 -1
- package/dist/ImportCollectionAction-Dn7lya6E.js +0 -685
- package/dist/ImportCollectionAction-Dn7lya6E.js.map +0 -1
- package/dist/PropertyEditView-ChBleIbN.js +0 -8197
- package/dist/PropertyEditView-ChBleIbN.js.map +0 -1
- package/dist/collection_editor_ui.js.map +0 -1
- package/dist/index-D3S9x_RP.js +0 -462
- package/dist/index-D3S9x_RP.js.map +0 -1
- package/dist/index-D9RNzm01.js +0 -12
- package/dist/index-D9RNzm01.js.map +0 -1
- package/dist/index-DrrT332R.js +0 -8
- package/dist/index-DrrT332R.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/markdown-DD2JDU1X.js +0 -618
- package/dist/markdown-DD2JDU1X.js.map +0 -1
- package/dist/useEntityHistory-UVsSclfZ.js +0 -123
- package/dist/useEntityHistory-UVsSclfZ.js.map +0 -1
- package/dist/util-COYYD8zr.js +0 -30474
- package/dist/util-COYYD8zr.js.map +0 -1
|
@@ -4,7 +4,7 @@ import { ChevronDownIcon, cls, iconSize, Typography } from "@rebasepro/ui";
|
|
|
4
4
|
;
|
|
5
5
|
import { IconForView } from "@rebasepro/core";
|
|
6
6
|
import { DrawerNavigationItem } from "./DrawerNavigationItem";
|
|
7
|
-
import { useTranslation } from "@rebasepro/core";
|
|
7
|
+
import { useTranslation, useComponentOverride } from "@rebasepro/core";
|
|
8
8
|
|
|
9
9
|
export interface DrawerNavigationGroupProps {
|
|
10
10
|
/**
|
|
@@ -66,6 +66,7 @@ export function DrawerNavigationGroup({
|
|
|
66
66
|
hideHeader
|
|
67
67
|
}: DrawerNavigationGroupProps) {
|
|
68
68
|
const { t } = useTranslation();
|
|
69
|
+
const ResolvedDrawerNavigationItem = useComponentOverride("Shell.DrawerNavigationItem", DrawerNavigationItem);
|
|
69
70
|
return (
|
|
70
71
|
<div
|
|
71
72
|
className={"my-2 mx-2 flex flex-col"}
|
|
@@ -112,7 +113,7 @@ export function DrawerNavigationGroup({
|
|
|
112
113
|
)}
|
|
113
114
|
>
|
|
114
115
|
{entries.map((entry) => (
|
|
115
|
-
<
|
|
116
|
+
<ResolvedDrawerNavigationItem
|
|
116
117
|
key={entry.id}
|
|
117
118
|
icon={<IconForView collectionOrView={entry.collection ?? entry.view} size={"small"}/>}
|
|
118
119
|
tooltipsOpen={!collapsed && tooltipsOpen}
|
|
@@ -7,8 +7,7 @@ import { ReferencePreview } from "../../../preview";
|
|
|
7
7
|
import { CollectionSize, Entity, EntityReference, FilterValues } from "@rebasepro/types";
|
|
8
8
|
|
|
9
9
|
import { getPreviewSizeFrom } from "../../../preview/util";
|
|
10
|
-
import {
|
|
11
|
-
import { ErrorView } from "@rebasepro/core";
|
|
10
|
+
import { useComponentOverride, ErrorView, CollectionComponentOverrideProvider } from "@rebasepro/core";
|
|
12
11
|
import { cls, PencilIcon } from "@rebasepro/ui";
|
|
13
12
|
import { EntityPreviewContainer } from "../../EntityPreview";
|
|
14
13
|
import { getReferenceFrom } from "@rebasepro/common";
|
|
@@ -29,15 +28,15 @@ type TableReferenceFieldProps = {
|
|
|
29
28
|
includeEntityLink?: boolean;
|
|
30
29
|
};
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
const DefaultMissingReference: React.FC<{ path: string }> = () => null;
|
|
32
|
+
|
|
33
|
+
function TableReferenceFieldResolver(props: TableReferenceFieldProps & { collection: EntityCollection | undefined }) {
|
|
34
|
+
const ResolvedMissingReference = useComponentOverride("Entity.MissingReference", DefaultMissingReference);
|
|
35
|
+
const { path, collection } = props;
|
|
34
36
|
|
|
35
|
-
const collectionRegistryController = useCollectionRegistryController();
|
|
36
|
-
const { path } = props;
|
|
37
|
-
const collection = collectionRegistryController.getCollection(path);
|
|
38
37
|
if (!collection) {
|
|
39
|
-
if (
|
|
40
|
-
return <
|
|
38
|
+
if (ResolvedMissingReference !== DefaultMissingReference) {
|
|
39
|
+
return <ResolvedMissingReference path={path}/>;
|
|
41
40
|
} else {
|
|
42
41
|
return <ErrorView error={`Collection not found: ${path}`}/>;
|
|
43
42
|
}
|
|
@@ -45,6 +44,28 @@ export function TableReferenceField(props: TableReferenceFieldProps) {
|
|
|
45
44
|
return <TableReferenceFieldInternal {...props} collection={collection}/>;
|
|
46
45
|
}
|
|
47
46
|
|
|
47
|
+
export function TableReferenceField(props: TableReferenceFieldProps) {
|
|
48
|
+
const collectionRegistryController = useCollectionRegistryController();
|
|
49
|
+
const { path } = props;
|
|
50
|
+
const collection = collectionRegistryController.getCollection(path);
|
|
51
|
+
|
|
52
|
+
const content = (
|
|
53
|
+
<TableReferenceFieldResolver
|
|
54
|
+
{...props}
|
|
55
|
+
collection={collection}
|
|
56
|
+
/>
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
if (collection?.components) {
|
|
60
|
+
return (
|
|
61
|
+
<CollectionComponentOverrideProvider overrides={collection.components}>
|
|
62
|
+
{content}
|
|
63
|
+
</CollectionComponentOverrideProvider>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
return content;
|
|
67
|
+
}
|
|
68
|
+
|
|
48
69
|
export const TableReferenceFieldInternal = React.memo(
|
|
49
70
|
function TableReferenceFieldInternal(props: TableReferenceFieldProps & {
|
|
50
71
|
collection: EntityCollection;
|
|
@@ -2,7 +2,7 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react"
|
|
|
2
2
|
|
|
3
3
|
import useMeasure from "react-use-measure";
|
|
4
4
|
|
|
5
|
-
import { cls, Tooltip
|
|
5
|
+
import { cls, Tooltip, iconSize } from "@rebasepro/ui";
|
|
6
6
|
import { ErrorBoundary, MinusCircleIcon } from "@rebasepro/ui";
|
|
7
7
|
import { getRowHeight, TableSize } from "@rebasepro/core";
|
|
8
8
|
import { ErrorTooltip } from "@rebasepro/core";
|
|
@@ -41,7 +41,8 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
|
|
|
41
41
|
const [dragOverColumnId, setDragOverColumnId] = useState<string | null>(null);
|
|
42
42
|
|
|
43
43
|
// Custom overlay positioning — bypasses position:fixed containment issues
|
|
44
|
-
const grabOffsetRef = useRef<{ x: number; y: number }>({ x: 0,
|
|
44
|
+
const grabOffsetRef = useRef<{ x: number; y: number }>({ x: 0,
|
|
45
|
+
y: 0 });
|
|
45
46
|
const [overlayPos, setOverlayPos] = useState<{ x: number; y: number } | null>(null);
|
|
46
47
|
|
|
47
48
|
const handleMouseMove = useCallback((e: MouseEvent) => {
|
|
@@ -261,11 +262,11 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
|
|
|
261
262
|
const activeTop = active.rect.current.translated?.top ?? 0;
|
|
262
263
|
const activeHeight = active.rect.current.translated?.height ?? 0;
|
|
263
264
|
const activeCenter = activeTop + activeHeight / 2;
|
|
264
|
-
|
|
265
|
+
|
|
265
266
|
const overTop = over?.rect.top ?? 0;
|
|
266
267
|
const overHeight = over?.rect.height ?? 0;
|
|
267
268
|
const overCenter = overTop + overHeight / 2;
|
|
268
|
-
|
|
269
|
+
|
|
269
270
|
const isBelowOverItem = activeCenter > overCenter;
|
|
270
271
|
|
|
271
272
|
const modifier = isBelowOverItem ? 1 : 0;
|
|
@@ -332,7 +333,7 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
|
|
|
332
333
|
if (currentColumn && currentColumn === overColumn) {
|
|
333
334
|
// Use dnd-kit's sortable indexes if available to avoid race conditions with mutating handleDragOver
|
|
334
335
|
const activeIndex = finalItemMapState[currentColumn].findIndex(i => i.id === activeId);
|
|
335
|
-
|
|
336
|
+
|
|
336
337
|
let overIndex = finalItemMapState[overColumn].findIndex(i => i.id === overId);
|
|
337
338
|
const overType = over.data.current?.type;
|
|
338
339
|
if (overIndex === -1 && (overType === "COLUMN" || overType === "ITEM-LIST")) {
|
|
@@ -343,7 +344,7 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
|
|
|
343
344
|
// when dragging over the column background.
|
|
344
345
|
overIndex = activeIndex;
|
|
345
346
|
}
|
|
346
|
-
} else if (overIndex === -1 && typeof over.data.current?.sortable?.index ===
|
|
347
|
+
} else if (overIndex === -1 && typeof over.data.current?.sortable?.index === "number") {
|
|
347
348
|
overIndex = over.data.current.sortable.index;
|
|
348
349
|
}
|
|
349
350
|
|
|
@@ -375,11 +376,11 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
|
|
|
375
376
|
|
|
376
377
|
const customCollisionDetection: CollisionDetection = (args) => {
|
|
377
378
|
const pointerCollisions = pointerWithin(args);
|
|
378
|
-
|
|
379
|
+
|
|
379
380
|
if (pointerCollisions.length > 0) {
|
|
380
381
|
return pointerCollisions;
|
|
381
382
|
}
|
|
382
|
-
|
|
383
|
+
|
|
383
384
|
return rectIntersection(args);
|
|
384
385
|
};
|
|
385
386
|
|
|
@@ -394,7 +395,8 @@ export function Board<M extends Record<string, unknown>, COLUMN extends string>(
|
|
|
394
395
|
{/* Hidden DragOverlay — keeps dnd-kit's internal collision detection
|
|
395
396
|
and drag tracking working (it needs dragOverlay.rect to be set) */}
|
|
396
397
|
<DragOverlay dropAnimation={null} style={{ opacity: 0 }}>
|
|
397
|
-
{(activeItem || activeColumn) ? <div style={{ width: 1,
|
|
398
|
+
{(activeItem || activeColumn) ? <div style={{ width: 1,
|
|
399
|
+
height: 1 }}/> : null}
|
|
398
400
|
</DragOverlay>
|
|
399
401
|
|
|
400
402
|
{/* Visual overlay — rendered at document.body via portal to bypass
|
|
@@ -94,8 +94,8 @@ export function BoardSortableList<M extends Record<string, unknown>>({
|
|
|
94
94
|
className={containerClassName}
|
|
95
95
|
style={{ minHeight: 80 }}
|
|
96
96
|
>
|
|
97
|
-
<SortableContext
|
|
98
|
-
items={items.map(i => i.id)}
|
|
97
|
+
<SortableContext
|
|
98
|
+
items={items.map(i => i.id)}
|
|
99
99
|
strategy={verticalListSortingStrategy}
|
|
100
100
|
>
|
|
101
101
|
{items.length === 0 && !loading ? (
|
|
@@ -237,7 +237,8 @@ export function EntityCollectionBoardView<M extends Record<string, unknown> = Re
|
|
|
237
237
|
.forEach(plugin => {
|
|
238
238
|
plugin.hooks!.onKanbanColumnsReorder!({
|
|
239
239
|
fullPath,
|
|
240
|
-
parentCollectionSlugs,
|
|
240
|
+
parentCollectionSlugs,
|
|
241
|
+
parentEntityIds,
|
|
241
242
|
collection,
|
|
242
243
|
kanbanColumnProperty: columnProperty,
|
|
243
244
|
newColumnsOrder: newColumns
|
|
@@ -487,7 +488,8 @@ export function EntityCollectionBoardView<M extends Record<string, unknown> = Re
|
|
|
487
488
|
const addKanbanColumnSlots = useSlot("kanban.add-column", {
|
|
488
489
|
collection,
|
|
489
490
|
fullPath,
|
|
490
|
-
parentCollectionSlugs,
|
|
491
|
+
parentCollectionSlugs,
|
|
492
|
+
parentEntityIds,
|
|
491
493
|
columnProperty
|
|
492
494
|
});
|
|
493
495
|
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
CircularProgress,
|
|
8
8
|
Typography
|
|
9
9
|
} from "@rebasepro/ui";
|
|
10
|
+
import { useComponentOverride } from "@rebasepro/core";
|
|
10
11
|
|
|
11
12
|
export type EntityCollectionCardViewProps<M extends Record<string, unknown> = Record<string, unknown>> = {
|
|
12
13
|
collection: EntityCollection<M>;
|
|
@@ -90,6 +91,7 @@ export function EntityCollectionCardView<M extends Record<string, unknown> = Rec
|
|
|
90
91
|
size = "m"
|
|
91
92
|
}: EntityCollectionCardViewProps<M>) {
|
|
92
93
|
|
|
94
|
+
const ResolvedEntityCard = useComponentOverride("Collection.Card", EntityCard) as typeof EntityCard;
|
|
93
95
|
const containerRef = useRef<HTMLDivElement>(null);
|
|
94
96
|
const hasRestoredScroll = useRef(false);
|
|
95
97
|
|
|
@@ -109,9 +111,17 @@ export function EntityCollectionCardView<M extends Record<string, unknown> = Rec
|
|
|
109
111
|
|
|
110
112
|
// Keep mutable refs for values used in the scroll listener callback
|
|
111
113
|
// to avoid re-attaching the listener every time pagination state changes.
|
|
112
|
-
const paginationStateRef = useRef({ paginationEnabled,
|
|
114
|
+
const paginationStateRef = useRef({ paginationEnabled,
|
|
115
|
+
noMoreToLoad,
|
|
116
|
+
dataLoading,
|
|
117
|
+
itemCount,
|
|
118
|
+
pageSize });
|
|
113
119
|
useEffect(() => {
|
|
114
|
-
paginationStateRef.current = { paginationEnabled,
|
|
120
|
+
paginationStateRef.current = { paginationEnabled,
|
|
121
|
+
noMoreToLoad,
|
|
122
|
+
dataLoading,
|
|
123
|
+
itemCount,
|
|
124
|
+
pageSize };
|
|
115
125
|
}, [paginationEnabled, noMoreToLoad, dataLoading, itemCount, pageSize]);
|
|
116
126
|
|
|
117
127
|
// Reset loading flag when new data arrives (separate effect, like list view)
|
|
@@ -235,7 +245,7 @@ export function EntityCollectionCardView<M extends Record<string, unknown> = Rec
|
|
|
235
245
|
className="w-full p-4"
|
|
236
246
|
>
|
|
237
247
|
{/* Error state */}
|
|
238
|
-
{dataLoadingError ? (
|
|
248
|
+
{dataLoadingError && data.length === 0 ? (
|
|
239
249
|
<div className="h-full flex items-center justify-center p-8">
|
|
240
250
|
<Typography className="text-red-500">
|
|
241
251
|
Error loading data: {dataLoadingError.message}
|
|
@@ -262,7 +272,7 @@ export function EntityCollectionCardView<M extends Record<string, unknown> = Rec
|
|
|
262
272
|
gridColumnsClass
|
|
263
273
|
)}>
|
|
264
274
|
{data.map((entity) => (
|
|
265
|
-
<
|
|
275
|
+
<ResolvedEntityCard
|
|
266
276
|
key={`${entity.path}_${entity.id}`}
|
|
267
277
|
entity={entity}
|
|
268
278
|
collection={collection}
|
|
@@ -78,7 +78,6 @@ type ListColumnDef = {
|
|
|
78
78
|
};
|
|
79
79
|
|
|
80
80
|
|
|
81
|
-
|
|
82
81
|
/**
|
|
83
82
|
* Get row padding/spacing classes based on size
|
|
84
83
|
*/
|
|
@@ -212,15 +211,18 @@ function compactValueSummary(value: unknown, property: Property): string | null
|
|
|
212
211
|
}
|
|
213
212
|
|
|
214
213
|
if (property.type === "relation") {
|
|
215
|
-
// Relation data is often populated as { id, data: { ... } }
|
|
216
214
|
if (typeof value === "string" || typeof value === "number") return String(value);
|
|
217
215
|
if (value && typeof value === "object") {
|
|
218
216
|
const obj = value as Record<string, unknown>;
|
|
219
|
-
//
|
|
217
|
+
// EntityRelation.data is an Entity: { id, path, values: { name, ... } }
|
|
220
218
|
if (obj.data && typeof obj.data === "object") {
|
|
221
219
|
const data = obj.data as Record<string, unknown>;
|
|
222
|
-
const
|
|
223
|
-
|
|
220
|
+
const values = (data.values && typeof data.values === "object")
|
|
221
|
+
? data.values as Record<string, unknown>
|
|
222
|
+
: data;
|
|
223
|
+
const name = values.name ?? values.title ?? values.display_name
|
|
224
|
+
?? values.displayName ?? values.label ?? values.email;
|
|
225
|
+
if (name && typeof name !== "object") return String(name);
|
|
224
226
|
}
|
|
225
227
|
if ("id" in obj) return String(obj.id);
|
|
226
228
|
}
|
|
@@ -501,7 +503,8 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
|
|
|
501
503
|
const customEntityActions = (collection.entityActions ?? [])
|
|
502
504
|
.map(action => resolveEntityAction(action, customizationController.entityActions))
|
|
503
505
|
.filter(Boolean) as EntityAction<M>[];
|
|
504
|
-
const allActions = getActionsForEntity({ entity,
|
|
506
|
+
const allActions = getActionsForEntity({ entity,
|
|
507
|
+
customEntityActions });
|
|
505
508
|
return allActions.filter(a => a.showActionsInListView);
|
|
506
509
|
}, [getActionsForEntity, collection.entityActions, customizationController.entityActions]);
|
|
507
510
|
|
|
@@ -519,9 +522,15 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
|
|
|
519
522
|
|
|
520
523
|
// Keep mutable refs for values used in the scroll handler to avoid
|
|
521
524
|
// re-attaching the listener every time pagination state changes.
|
|
522
|
-
const paginationStateRef = useRef({ paginationEnabled,
|
|
525
|
+
const paginationStateRef = useRef({ paginationEnabled,
|
|
526
|
+
noMoreToLoad,
|
|
527
|
+
itemCount,
|
|
528
|
+
pageSize });
|
|
523
529
|
useEffect(() => {
|
|
524
|
-
paginationStateRef.current = { paginationEnabled,
|
|
530
|
+
paginationStateRef.current = { paginationEnabled,
|
|
531
|
+
noMoreToLoad,
|
|
532
|
+
itemCount,
|
|
533
|
+
pageSize };
|
|
525
534
|
}, [paginationEnabled, noMoreToLoad, itemCount, pageSize]);
|
|
526
535
|
|
|
527
536
|
useEffect(() => {
|
|
@@ -593,7 +602,7 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
|
|
|
593
602
|
)}
|
|
594
603
|
>
|
|
595
604
|
{/* Error state */}
|
|
596
|
-
{dataLoadingError ? (
|
|
605
|
+
{dataLoadingError && data.length === 0 ? (
|
|
597
606
|
<div className="flex items-center justify-center p-8">
|
|
598
607
|
<Typography className="text-red-500">
|
|
599
608
|
Error loading data: {dataLoadingError.message}
|
|
@@ -614,9 +623,13 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
|
|
|
614
623
|
) : (
|
|
615
624
|
/* Spacer with total height — no internal scroll.
|
|
616
625
|
The nearest scrollable ancestor provides the scrollbar. */
|
|
617
|
-
<div style={{ height: totalHeight + footerHeight,
|
|
626
|
+
<div style={{ height: totalHeight + footerHeight,
|
|
627
|
+
position: "relative" }}>
|
|
618
628
|
{/* Windowed rows */}
|
|
619
|
-
<div style={{ position: "absolute",
|
|
629
|
+
<div style={{ position: "absolute",
|
|
630
|
+
top: offsetY,
|
|
631
|
+
left: 0,
|
|
632
|
+
right: 0 }}>
|
|
620
633
|
{visibleData.map((entity, i) => {
|
|
621
634
|
const actualIndex = startIndex + i;
|
|
622
635
|
const isLast = actualIndex === data.length - 1;
|
|
@@ -659,7 +672,10 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
|
|
|
659
672
|
{dataLoading && (
|
|
660
673
|
<div
|
|
661
674
|
className="flex items-center justify-center py-3"
|
|
662
|
-
style={{ position: "absolute",
|
|
675
|
+
style={{ position: "absolute",
|
|
676
|
+
top: totalHeight,
|
|
677
|
+
left: 0,
|
|
678
|
+
right: 0 }}
|
|
663
679
|
>
|
|
664
680
|
<CircularProgress size="small"/>
|
|
665
681
|
</div>
|
|
@@ -667,7 +683,10 @@ export function EntityCollectionListView<M extends Record<string, unknown> = Rec
|
|
|
667
683
|
{!dataLoading && noMoreToLoad && data.length > 0 && (
|
|
668
684
|
<div
|
|
669
685
|
className="flex items-center justify-center py-2 dark:bg-surface-900"
|
|
670
|
-
style={{ position: "absolute",
|
|
686
|
+
style={{ position: "absolute",
|
|
687
|
+
top: totalHeight,
|
|
688
|
+
left: 0,
|
|
689
|
+
right: 0 }}
|
|
671
690
|
>
|
|
672
691
|
<Typography variant="caption" color="secondary">
|
|
673
692
|
All {data.length} entries loaded
|
|
@@ -761,7 +780,7 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
|
|
|
761
780
|
return (
|
|
762
781
|
<div
|
|
763
782
|
className={cls(
|
|
764
|
-
"flex items-center gap-4 cursor-pointer group transition-colors duration-200 relative h-full",
|
|
783
|
+
"@container flex items-center gap-4 cursor-pointer group transition-colors duration-200 relative h-full",
|
|
765
784
|
rowClasses,
|
|
766
785
|
isActive
|
|
767
786
|
? "bg-surface-accent-100 dark:bg-surface-accent-950 hover:bg-surface-accent-200 dark:hover:bg-surface-accent-950"
|
|
@@ -812,7 +831,7 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
|
|
|
812
831
|
)}
|
|
813
832
|
|
|
814
833
|
{/* PRIMARY slot → Title + subtitle + byline */}
|
|
815
|
-
<div className={cls("min-w-
|
|
834
|
+
<div className={cls("min-w-0 overflow-hidden", useColumnMode ? "flex-1" : "flex-1")}>
|
|
816
835
|
<div className="truncate">
|
|
817
836
|
{slots.title?.value !== undefined ? (
|
|
818
837
|
<Typography component="div" variant="body2" className="font-semibold text-surface-900 dark:text-surface-50 truncate transition-colors group-hover:text-primary-600 dark:group-hover:text-primary-400">
|
|
@@ -821,6 +840,7 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
|
|
|
821
840
|
value={slots.title.value}
|
|
822
841
|
property={slots.title.property}
|
|
823
842
|
size="small"
|
|
843
|
+
textOnly={true}
|
|
824
844
|
/>
|
|
825
845
|
</Typography>
|
|
826
846
|
) : (
|
|
@@ -830,22 +850,24 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
|
|
|
830
850
|
)}
|
|
831
851
|
</div>
|
|
832
852
|
|
|
833
|
-
{/* SUBTITLE slot
|
|
853
|
+
{/* SUBTITLE slot */}
|
|
834
854
|
{slots.subtitle && (
|
|
835
855
|
<div className="truncate mt-0.5">
|
|
836
|
-
<Typography variant="caption" className="text-surface-500 dark:text-surface-400 truncate">
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
856
|
+
<Typography variant="caption" component="div" className="text-surface-500 dark:text-surface-400 truncate">
|
|
857
|
+
<PropertyPreview
|
|
858
|
+
propertyKey={slots.subtitle.propertyKey}
|
|
859
|
+
value={slots.subtitle.value}
|
|
860
|
+
property={slots.subtitle.property}
|
|
861
|
+
size="small"
|
|
862
|
+
textOnly={true}
|
|
863
|
+
/>
|
|
842
864
|
</Typography>
|
|
843
865
|
</div>
|
|
844
866
|
)}
|
|
845
867
|
|
|
846
868
|
{/* RELATION CHIPS slot — compact chips for all relations */}
|
|
847
869
|
{!useColumnMode && slots.relations.length > 0 && (
|
|
848
|
-
<div className="flex items-center gap-1 mt-1 overflow-hidden max-w-full">
|
|
870
|
+
<div className="flex items-center gap-1 mt-1 overflow-hidden max-w-full @max-[350px]:hidden">
|
|
849
871
|
{slots.relations.map((rel) => (
|
|
850
872
|
rel.items.map((item) => (
|
|
851
873
|
<Chip
|
|
@@ -920,9 +942,9 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
|
|
|
920
942
|
) : (
|
|
921
943
|
/* ── SLOT MODE (editorial scanner layout) ── */
|
|
922
944
|
<div className="flex items-center gap-4 flex-shrink-0 ml-auto">
|
|
923
|
-
{/* STATUS slot */}
|
|
945
|
+
{/* STATUS slot — hidden when row is narrow */}
|
|
924
946
|
{slots.status && (
|
|
925
|
-
<div className="flex-shrink-0">
|
|
947
|
+
<div className="flex-shrink-0 @max-[400px]:hidden">
|
|
926
948
|
<PropertyPreview
|
|
927
949
|
propertyKey={slots.status.propertyKey}
|
|
928
950
|
value={slots.status.value}
|
|
@@ -934,7 +956,7 @@ const ListRow = React.memo(function ListRow<M extends Record<string, unknown>>({
|
|
|
934
956
|
|
|
935
957
|
{/* DATE slot */}
|
|
936
958
|
{slots.date && (
|
|
937
|
-
<div className="flex-shrink-0 text-right w-[80px]">
|
|
959
|
+
<div className="flex-shrink-0 text-right w-[80px] @max-[500px]:hidden">
|
|
938
960
|
<Typography variant="caption" className="whitespace-nowrap text-surface-400 dark:text-surface-500 font-medium">
|
|
939
961
|
{slots.date.formatted ?? "—"}
|
|
940
962
|
</Typography>
|