@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.
Files changed (716) hide show
  1. package/LICENSE +21 -6
  2. package/README.md +139 -0
  3. package/dist/CollectionEditorDialog-DKGlYDPc.js +3630 -0
  4. package/dist/CollectionEditorDialog-DKGlYDPc.js.map +1 -0
  5. package/dist/PropertyEditView-h0N-AMCY.js +3808 -0
  6. package/dist/PropertyEditView-h0N-AMCY.js.map +1 -0
  7. package/dist/RouterCollectionsStudioView-DdEStpFk.js +192 -0
  8. package/dist/RouterCollectionsStudioView-DdEStpFk.js.map +1 -0
  9. package/dist/collection_editor/ConfigControllerProvider.d.ts +2 -11
  10. package/dist/collection_editor/_cms_internals.d.ts +4 -4
  11. package/dist/collection_editor/api/generateCollectionApi.d.ts +10 -9
  12. package/dist/collection_editor/extensibility_types.d.ts +135 -0
  13. package/dist/collection_editor/index.d.ts +6 -1
  14. package/dist/collection_editor/pgColumnToProperty.d.ts +3 -3
  15. package/dist/collection_editor/serializable_types.d.ts +370 -0
  16. package/dist/collection_editor/serializable_utils.d.ts +50 -0
  17. package/dist/collection_editor/types/collection_editor_controller.d.ts +11 -10
  18. package/dist/collection_editor/types/collection_inference.d.ts +2 -2
  19. package/dist/collection_editor/types/config_controller.d.ts +21 -14
  20. package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +7 -5
  21. package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +7 -5
  22. package/dist/collection_editor/ui/EditorCollectionAction.d.ts +1 -1
  23. package/dist/collection_editor/ui/EditorCollectionActionStart.d.ts +1 -1
  24. package/dist/collection_editor/ui/EditorEntityAction.d.ts +1 -1
  25. package/dist/collection_editor/ui/HomePageEditorCollectionAction.d.ts +1 -1
  26. package/dist/collection_editor/ui/KanbanSetupAction.d.ts +7 -5
  27. package/dist/collection_editor/ui/MissingReferenceWidget.d.ts +1 -1
  28. package/dist/collection_editor/ui/NewCollectionButton.d.ts +1 -1
  29. package/dist/collection_editor/ui/NewCollectionCard.d.ts +1 -1
  30. package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +6 -5
  31. package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +4 -4
  32. package/dist/collection_editor/ui/collection_editor/AIModifiedPathsContext.d.ts +1 -1
  33. package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +7 -7
  34. package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +10 -11
  35. package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +4 -4
  36. package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +4 -3
  37. package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +17 -7
  38. package/dist/collection_editor/ui/collection_editor/CollectionRLSTab.d.ts +2 -1
  39. package/dist/collection_editor/ui/collection_editor/CollectionRelationsTab.d.ts +2 -1
  40. package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +14 -1
  41. package/dist/collection_editor/ui/collection_editor/CollectionYupValidation.d.ts +1 -9
  42. package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +25 -2
  43. package/dist/collection_editor/ui/collection_editor/DisplaySettingsForm.d.ts +4 -2
  44. package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +4 -3
  45. package/dist/collection_editor/ui/collection_editor/EntityActionsSelectDialog.d.ts +2 -1
  46. package/dist/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.d.ts +2 -1
  47. package/dist/collection_editor/ui/collection_editor/EnumForm.d.ts +2 -1
  48. package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +8 -4
  49. package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +4 -3
  50. package/dist/collection_editor/ui/collection_editor/KanbanConfigSection.d.ts +2 -1
  51. package/dist/collection_editor/ui/collection_editor/LayoutModeSwitch.d.ts +3 -3
  52. package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +17 -5
  53. package/dist/collection_editor/ui/collection_editor/PropertyFieldPreview.d.ts +2 -2
  54. package/dist/collection_editor/ui/collection_editor/PropertyTree.d.ts +2 -2
  55. package/dist/collection_editor/ui/collection_editor/RouterCollectionStudioView.d.ts +15 -0
  56. package/dist/collection_editor/ui/collection_editor/RouterCollectionsStudioView.d.ts +14 -0
  57. package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +8 -6
  58. package/dist/collection_editor/ui/collection_editor/SwitchControl.d.ts +3 -2
  59. package/dist/collection_editor/ui/collection_editor/ViewModeSwitch.d.ts +1 -1
  60. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.d.ts +1 -1
  61. package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.d.ts +3 -2
  62. package/dist/collection_editor/ui/collection_editor/properties/BlockPropertyField.d.ts +2 -1
  63. package/dist/collection_editor/ui/collection_editor/properties/BooleanPropertyField.d.ts +2 -1
  64. package/dist/collection_editor/ui/collection_editor/properties/DateTimePropertyField.d.ts +2 -1
  65. package/dist/collection_editor/ui/collection_editor/properties/EnumPropertyField.d.ts +2 -1
  66. package/dist/collection_editor/ui/collection_editor/properties/KeyValuePropertyField.d.ts +2 -1
  67. package/dist/collection_editor/ui/collection_editor/properties/MapPropertyField.d.ts +2 -1
  68. package/dist/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.d.ts +2 -1
  69. package/dist/collection_editor/ui/collection_editor/properties/NumberPropertyField.d.ts +2 -1
  70. package/dist/collection_editor/ui/collection_editor/properties/ReferencePropertyField.d.ts +3 -2
  71. package/dist/collection_editor/ui/collection_editor/properties/RelationPropertyField.d.ts +3 -8
  72. package/dist/collection_editor/ui/collection_editor/properties/RepeatPropertyField.d.ts +2 -1
  73. package/dist/collection_editor/ui/collection_editor/properties/StoragePropertyField.d.ts +2 -1
  74. package/dist/collection_editor/ui/collection_editor/properties/StringPropertyField.d.ts +2 -1
  75. package/dist/collection_editor/ui/collection_editor/properties/UrlPropertyField.d.ts +2 -1
  76. package/dist/collection_editor/ui/collection_editor/properties/VectorPropertyField.d.ts +4 -0
  77. package/dist/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.d.ts +2 -1
  78. package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.d.ts +2 -1
  79. package/dist/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.d.ts +1 -1
  80. package/dist/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.d.ts +2 -1
  81. package/dist/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.d.ts +2 -1
  82. package/dist/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.d.ts +2 -1
  83. package/dist/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.d.ts +2 -1
  84. package/dist/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.d.ts +2 -1
  85. package/dist/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.d.ts +1 -1
  86. package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +2 -2
  87. package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +2 -2
  88. package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +2 -2
  89. package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +2 -2
  90. package/dist/collection_editor/useJsonCollectionsConfigController.d.ts +37 -0
  91. package/dist/collection_editor/useLocalCollectionsConfigController.d.ts +2 -2
  92. package/dist/collection_editor/useSafeSnackbarController.d.ts +2 -0
  93. package/dist/collection_editor/validateCollectionJson.d.ts +2 -2
  94. package/dist/collection_editor_ui.d.ts +4 -0
  95. package/dist/collection_editor_ui.js +33 -11
  96. package/dist/collection_editor_ui.js.map +1 -1
  97. package/dist/components/ArrayContainer.d.ts +5 -5
  98. package/dist/components/ClearFilterSortButton.d.ts +1 -1
  99. package/dist/components/CollectionEditorDialogs.d.ts +2 -1
  100. package/dist/components/CollectionPanel.d.ts +58 -0
  101. package/dist/components/{EntityCollectionTable/EntityCollectionRowActions.d.ts → CollectionTableBinding/CollectionRowActions.d.ts} +5 -5
  102. package/dist/components/CollectionTableBinding/CollectionTableBinding.d.ts +28 -0
  103. package/dist/components/{EntityCollectionTable/EntityCollectionTableProps.d.ts → CollectionTableBinding/CollectionTableBindingProps.d.ts} +4 -4
  104. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.d.ts +2 -2
  105. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.d.ts +6 -6
  106. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.d.ts +6 -6
  107. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.d.ts +6 -6
  108. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.d.ts +3 -2
  109. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.d.ts +4 -4
  110. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.d.ts +1 -1
  111. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.d.ts +1 -1
  112. package/dist/components/CollectionTableBinding/index.d.ts +6 -0
  113. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.d.ts +5 -1
  114. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.d.ts +3 -3
  115. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.d.ts +1 -1
  116. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.d.ts +2 -2
  117. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.d.ts +7 -6
  118. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.d.ts +4 -3
  119. package/dist/components/CollectionViewBinding/BoardCardBinding.d.ts +31 -0
  120. package/dist/components/CollectionViewBinding/CollectionBoardViewBinding.d.ts +22 -0
  121. package/dist/components/{EntityCollectionView/EntityCollectionCardView.d.ts → CollectionViewBinding/CollectionCardViewBinding.d.ts} +5 -5
  122. package/dist/components/CollectionViewBinding/CollectionListViewBinding.d.ts +50 -0
  123. package/dist/components/CollectionViewBinding/CollectionViewActions.d.ts +20 -0
  124. package/dist/components/CollectionViewBinding/CollectionViewBinding.d.ts +41 -0
  125. package/dist/components/CollectionViewBinding/CollectionViewStartActions.d.ts +21 -0
  126. package/dist/components/CollectionViewBinding/EntityCardBinding.d.ts +21 -0
  127. package/dist/components/CollectionViewBinding/FilterPresetsButton.d.ts +22 -0
  128. package/dist/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.d.ts +3 -2
  129. package/dist/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.d.ts +6 -5
  130. package/dist/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.d.ts +2 -1
  131. package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.d.ts +3 -3
  132. package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.d.ts +7 -6
  133. package/dist/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.d.ts +2 -2
  134. package/dist/components/{EntityCollectionView/useEntityPreviewSlots.d.ts → CollectionViewBinding/usePreviewSlots.d.ts} +5 -5
  135. package/dist/components/DefaultAppBar.d.ts +18 -1
  136. package/dist/components/DefaultDrawer.d.ts +53 -5
  137. package/dist/components/DeleteEntityDialog.d.ts +6 -5
  138. package/dist/components/DetailViewBinding.d.ts +28 -0
  139. package/dist/components/DrawerNavigationGroup.d.ts +1 -1
  140. package/dist/components/DrawerNavigationItem.d.ts +1 -1
  141. package/dist/components/EditFormActions.d.ts +3 -0
  142. package/dist/components/EditViewBinding.d.ts +58 -0
  143. package/dist/components/{EntityPreview.d.ts → EntityPreviewBinding.d.ts} +14 -14
  144. package/dist/components/EntityViewBinding.d.ts +13 -0
  145. package/dist/components/FieldCaption.d.ts +1 -1
  146. package/dist/components/HomePage/ContentHomePage.d.ts +1 -1
  147. package/dist/components/HomePage/FavouritesView.d.ts +1 -1
  148. package/dist/components/HomePage/HomePageDnD.d.ts +7 -7
  149. package/dist/components/HomePage/NavigationCard.d.ts +1 -1
  150. package/dist/components/HomePage/NavigationCardBinding.d.ts +2 -1
  151. package/dist/components/HomePage/NavigationGroup.d.ts +2 -2
  152. package/dist/components/HomePage/RenameGroupDialog.d.ts +2 -1
  153. package/dist/components/HomePage/SmallNavigationCard.d.ts +1 -1
  154. package/dist/components/JsonPreviewBinding.d.ts +4 -0
  155. package/dist/components/PropertyCollectionView.d.ts +3 -2
  156. package/dist/components/PropertyIdCopyTooltip.d.ts +3 -3
  157. package/dist/components/{RebaseCMS.d.ts → RebaseAdmin.d.ts} +2 -2
  158. package/dist/components/RebaseAuthGate.d.ts +1 -1
  159. package/dist/components/RebaseLayout.d.ts +6 -5
  160. package/dist/components/RebaseNavigation.d.ts +2 -2
  161. package/dist/components/RebaseRouteDefs.d.ts +2 -2
  162. package/dist/components/RebaseShell.d.ts +2 -1
  163. package/dist/components/ReferenceTable/{EntitySelectionTable.d.ts → SelectionTableBinding.d.ts} +6 -6
  164. package/dist/components/ReferenceWidget.d.ts +3 -2
  165. package/dist/components/RelationSelector.d.ts +1 -1
  166. package/dist/components/SearchIconsView.d.ts +2 -1
  167. package/dist/components/SelectableTable/SelectableTable.d.ts +11 -11
  168. package/dist/components/SelectableTable/SelectableTableContext.d.ts +3 -3
  169. package/dist/components/SelectableTable/SelectionStore.d.ts +16 -22
  170. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +9 -3
  171. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +10 -3
  172. package/dist/components/SelectableTable/filters/FilterFieldBinding.d.ts +40 -0
  173. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +10 -3
  174. package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +8 -1
  175. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +10 -3
  176. package/dist/components/SideDialogs.d.ts +2 -2
  177. package/dist/components/SidePanelBinding.d.ts +11 -0
  178. package/dist/components/{SideEntityProvider.d.ts → SidePanelProvider.d.ts} +8 -8
  179. package/dist/components/admin/CreationResultDialog.d.ts +6 -0
  180. package/dist/components/admin/index.d.ts +1 -3
  181. package/dist/components/app/AppBar.d.ts +1 -1
  182. package/dist/components/app/Drawer.d.ts +9 -2
  183. package/dist/components/common/default_entity_actions.d.ts +8 -1
  184. package/dist/components/field_configs.d.ts +1 -1
  185. package/dist/components/history/EntityHistoryEntry.d.ts +3 -3
  186. package/dist/components/history/EntityHistoryView.d.ts +1 -1
  187. package/dist/components/history/LastEditedByFormAction.d.ts +2 -1
  188. package/dist/components/history/LastEditedByIndicator.d.ts +4 -3
  189. package/dist/components/history/UserChip.d.ts +1 -1
  190. package/dist/components/index.d.ts +16 -13
  191. package/dist/contexts/SidePanelControllerContext.d.ts +3 -0
  192. package/dist/data_export/export/BasicExportAction.d.ts +2 -1
  193. package/dist/data_export/export/ExportCollectionAction.d.ts +4 -4
  194. package/dist/data_export/export/export.d.ts +3 -3
  195. package/dist/data_import/components/DataNewPropertiesMapping.d.ts +1 -1
  196. package/dist/data_import/components/ImportFileUpload.d.ts +1 -1
  197. package/dist/data_import/components/ImportNewPropertyFieldPreview.d.ts +2 -1
  198. package/dist/data_import/components/ImportSaveInProgress.d.ts +3 -3
  199. package/dist/data_import/import/ImportCollectionAction.d.ts +4 -3
  200. package/dist/data_import/utils/data.d.ts +1 -1
  201. package/dist/data_import/utils/file_headers.d.ts +6 -1
  202. package/dist/data_import/utils/file_to_json.d.ts +1 -11
  203. package/dist/data_import/utils/transforms.d.ts +11 -0
  204. package/dist/editor/components/SlashCommandMenu.d.ts +2 -1
  205. package/dist/editor/components/editor-bubble.d.ts +5 -1
  206. package/dist/editor/components/image-bubble.d.ts +5 -1
  207. package/dist/editor/components/index.d.ts +3 -3
  208. package/dist/editor/components/table-bubble.d.ts +5 -1
  209. package/dist/editor/editor.d.ts +4 -4
  210. package/dist/editor/nodeViews/ReactNodeView.d.ts +4 -1
  211. package/dist/editor/selectors/color-selector.d.ts +1 -1
  212. package/dist/editor/selectors/link-selector.d.ts +1 -1
  213. package/dist/editor/selectors/node-selector.d.ts +1 -1
  214. package/dist/editor/selectors/text-buttons.d.ts +1 -1
  215. package/dist/editor/useProseMirror.d.ts +2 -2
  216. package/dist/editor/utils/remove_classes.d.ts +1 -1
  217. package/dist/editor.js +2625 -3569
  218. package/dist/editor.js.map +1 -1
  219. package/dist/form/EntityForm.d.ts +11 -9
  220. package/dist/form/EntityFormActions.d.ts +2 -1
  221. package/dist/form/EntityFormBinding.d.ts +27 -0
  222. package/dist/form/PropertyFieldBinding.d.ts +1 -1
  223. package/dist/form/components/FieldHelperText.d.ts +1 -1
  224. package/dist/form/components/FormEntry.d.ts +1 -1
  225. package/dist/form/components/FormLayout.d.ts +1 -1
  226. package/dist/form/components/LabelWithIconAndTooltip.d.ts +1 -1
  227. package/dist/form/components/LocalChangesMenu.d.ts +3 -2
  228. package/dist/form/components/StorageItemPreview.d.ts +2 -1
  229. package/dist/form/components/StorageUploadProgress.d.ts +10 -4
  230. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +2 -1
  231. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +2 -1
  232. package/dist/form/field_bindings/BlockFieldBinding.d.ts +2 -1
  233. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +2 -1
  234. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +2 -1
  235. package/dist/form/field_bindings/MapFieldBinding.d.ts +2 -1
  236. package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +4 -3
  237. package/dist/form/field_bindings/MultiSelectFieldBinding.d.ts +2 -1
  238. package/dist/form/field_bindings/MultipleRelationFieldBinding.d.ts +2 -1
  239. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +2 -1
  240. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -1
  241. package/dist/form/field_bindings/RelationFieldBinding.d.ts +2 -1
  242. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +2 -1
  243. package/dist/form/field_bindings/SelectFieldBinding.d.ts +2 -1
  244. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +5 -4
  245. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +2 -1
  246. package/dist/form/field_bindings/TextFieldBinding.d.ts +2 -1
  247. package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +2 -1
  248. package/dist/form/field_bindings/VectorFieldBinding.d.ts +12 -0
  249. package/dist/form/form_utils.d.ts +8 -0
  250. package/dist/form/index.d.ts +6 -2
  251. package/dist/form/validation.d.ts +3 -3
  252. package/dist/history-C0FdqGNz.js +311 -0
  253. package/dist/history-C0FdqGNz.js.map +1 -0
  254. package/dist/hooks/index.d.ts +4 -4
  255. package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +2 -2
  256. package/dist/hooks/navigation/useAsyncResolver.d.ts +26 -0
  257. package/dist/hooks/navigation/useBuildCollectionRegistryController.d.ts +2 -0
  258. package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +6 -8
  259. package/dist/hooks/navigation/useNavigationResolution.d.ts +6 -7
  260. package/dist/hooks/navigation/useResolvedCollections.d.ts +11 -7
  261. package/dist/hooks/navigation/useResolvedViews.d.ts +2 -5
  262. package/dist/hooks/navigation/useTopLevelNavigation.d.ts +3 -3
  263. package/dist/hooks/navigation/utils.d.ts +5 -5
  264. package/dist/hooks/useBreadcrumbsController.d.ts +2 -32
  265. package/dist/hooks/useBuildSidePanel.d.ts +6 -0
  266. package/dist/hooks/useCMSContext.d.ts +2 -2
  267. package/dist/hooks/{useEntityHistory.d.ts → useHistory.d.ts} +2 -2
  268. package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
  269. package/dist/hooks/{useEntitySelectionDialog.d.ts → useSelectionDialog.d.ts} +2 -2
  270. package/dist/hooks/useSideDialogsController.d.ts +1 -1
  271. package/dist/hooks/useSidePanel.d.ts +11 -0
  272. package/dist/index.d.ts +6 -3
  273. package/dist/index.js +2 -799
  274. package/dist/markdown-CklalUUk.js +526 -0
  275. package/dist/markdown-CklalUUk.js.map +1 -0
  276. package/dist/preview/components/ArrayEnumPreview.d.ts +2 -1
  277. package/dist/preview/components/EmptyValue.d.ts +2 -1
  278. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  279. package/dist/preview/components/ImagePreview.d.ts +2 -1
  280. package/dist/preview/components/ReferencePreview.d.ts +2 -1
  281. package/dist/preview/components/RelationPreview.d.ts +2 -1
  282. package/dist/preview/components/StorageThumbnail.d.ts +3 -1
  283. package/dist/preview/components/UrlComponentPreview.d.ts +1 -0
  284. package/dist/preview/components/UserPreview.d.ts +6 -3
  285. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +2 -1
  286. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +1 -1
  287. package/dist/preview/property_previews/ArrayOfRelationsPreview.d.ts +1 -1
  288. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +2 -1
  289. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +2 -1
  290. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +2 -1
  291. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +1 -1
  292. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +2 -1
  293. package/dist/preview/property_previews/MapPropertyPreview.d.ts +3 -2
  294. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +5 -4
  295. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  296. package/dist/routes/CustomViewRoute.d.ts +2 -1
  297. package/dist/routes/RebaseRoute.d.ts +1 -1
  298. package/dist/src-DLAFyeZI.js +24222 -0
  299. package/dist/src-DLAFyeZI.js.map +1 -0
  300. package/dist/types/components/EntityFormActionsProps.d.ts +4 -4
  301. package/dist/types/components/EntityFormProps.d.ts +65 -5
  302. package/dist/types/components/PropertyPreviewProps.d.ts +6 -1
  303. package/dist/types/components/formex.d.ts +1 -40
  304. package/dist/types/fields.d.ts +23 -12
  305. package/dist/util/dataControllerAdapter.d.ts +27 -0
  306. package/dist/util/navigation_utils.d.ts +16 -6
  307. package/dist/util/previews.d.ts +8 -3
  308. package/dist/util/propertyConfigMapper.d.ts +17 -0
  309. package/dist/util/property_utils.d.ts +3 -3
  310. package/dist/util/resolutions.d.ts +1 -2
  311. package/dist/util/view_constants.d.ts +6 -0
  312. package/package.json +56 -55
  313. package/src/collection_editor/ConfigControllerProvider.tsx +37 -53
  314. package/src/collection_editor/_cms_internals.ts +4 -4
  315. package/src/collection_editor/api/generateCollectionApi.ts +10 -9
  316. package/src/collection_editor/extensibility_types.ts +168 -0
  317. package/src/collection_editor/index.ts +47 -3
  318. package/src/collection_editor/pgColumnToProperty.ts +23 -6
  319. package/src/collection_editor/serializable_types.ts +474 -0
  320. package/src/collection_editor/serializable_utils.ts +576 -0
  321. package/src/collection_editor/types/collection_editor_controller.tsx +8 -11
  322. package/src/collection_editor/types/collection_inference.ts +2 -2
  323. package/src/collection_editor/types/config_controller.tsx +14 -14
  324. package/src/collection_editor/ui/AddKanbanColumnAction.tsx +21 -9
  325. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +8 -8
  326. package/src/collection_editor/ui/EditorCollectionAction.tsx +9 -14
  327. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +13 -18
  328. package/src/collection_editor/ui/EditorEntityAction.tsx +9 -14
  329. package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +13 -19
  330. package/src/collection_editor/ui/KanbanSetupAction.tsx +8 -6
  331. package/src/collection_editor/ui/MissingReferenceWidget.tsx +5 -3
  332. package/src/collection_editor/ui/NewCollectionButton.tsx +4 -4
  333. package/src/collection_editor/ui/NewCollectionCard.tsx +8 -13
  334. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +11 -16
  335. package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +20 -12
  336. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +29 -59
  337. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +213 -135
  338. package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +21 -7
  339. package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +29 -23
  340. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +142 -112
  341. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +49 -12
  342. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +29 -10
  343. package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +26 -23
  344. package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +104 -37
  345. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +26 -14
  346. package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +21 -8
  347. package/src/collection_editor/ui/collection_editor/EntityActionsSelectDialog.tsx +1 -1
  348. package/src/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.tsx +1 -1
  349. package/src/collection_editor/ui/collection_editor/EnumForm.tsx +20 -5
  350. package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +45 -12
  351. package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +10 -12
  352. package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +5 -6
  353. package/src/collection_editor/ui/collection_editor/LayoutModeSwitch.tsx +17 -5
  354. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +190 -27
  355. package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +58 -49
  356. package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +17 -4
  357. package/src/collection_editor/ui/collection_editor/RouterCollectionStudioView.tsx +44 -0
  358. package/src/collection_editor/ui/collection_editor/RouterCollectionsStudioView.tsx +41 -0
  359. package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +27 -13
  360. package/src/collection_editor/ui/collection_editor/SwitchControl.tsx +1 -1
  361. package/src/collection_editor/ui/collection_editor/ViewModeSwitch.tsx +9 -2
  362. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.tsx +4 -4
  363. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +4 -4
  364. package/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx +5 -6
  365. package/src/collection_editor/ui/collection_editor/properties/BooleanPropertyField.tsx +1 -1
  366. package/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx +5 -5
  367. package/src/collection_editor/ui/collection_editor/properties/DateTimePropertyField.tsx +10 -10
  368. package/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx +10 -9
  369. package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +7 -8
  370. package/src/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.tsx +17 -10
  371. package/src/collection_editor/ui/collection_editor/properties/NumberPropertyField.tsx +7 -7
  372. package/src/collection_editor/ui/collection_editor/properties/ReferencePropertyField.tsx +19 -53
  373. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +43 -60
  374. package/src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.tsx +3 -3
  375. package/src/collection_editor/ui/collection_editor/properties/StoragePropertyField.tsx +56 -13
  376. package/src/collection_editor/ui/collection_editor/properties/StringPropertyField.tsx +7 -7
  377. package/src/collection_editor/ui/collection_editor/properties/UrlPropertyField.tsx +4 -3
  378. package/src/collection_editor/ui/collection_editor/properties/VectorPropertyField.tsx +34 -0
  379. package/src/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.tsx +5 -6
  380. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.tsx +18 -9
  381. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.tsx +1 -2
  382. package/src/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.tsx +17 -5
  383. package/src/collection_editor/ui/collection_editor/properties/conditions/property_paths.ts +1 -1
  384. package/src/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.tsx +4 -4
  385. package/src/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.tsx +3 -3
  386. package/src/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.tsx +6 -9
  387. package/src/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.tsx +6 -6
  388. package/src/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.tsx +1 -2
  389. package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +3 -3
  390. package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +3 -3
  391. package/src/collection_editor/ui/collection_editor/templates/products_template.ts +4 -4
  392. package/src/collection_editor/ui/collection_editor/templates/users_template.ts +2 -2
  393. package/src/collection_editor/ui/collection_editor/utils/supported_fields.tsx +0 -1
  394. package/src/collection_editor/ui/collection_editor/utils/update_property_for_widget.ts +7 -29
  395. package/src/collection_editor/useJsonCollectionsConfigController.tsx +286 -0
  396. package/src/collection_editor/useLocalCollectionsConfigController.tsx +11 -8
  397. package/src/collection_editor/useSafeSnackbarController.ts +9 -0
  398. package/src/collection_editor/validateCollectionJson.ts +111 -24
  399. package/src/collection_editor_ui.ts +6 -0
  400. package/src/components/AdminModeSyncer.tsx +2 -2
  401. package/src/components/ArrayContainer.tsx +28 -24
  402. package/src/components/ClearFilterSortButton.tsx +2 -3
  403. package/src/components/CollectionEditorDialogs.tsx +1 -1
  404. package/src/components/CollectionPanel.tsx +178 -0
  405. package/src/components/{EntityCollectionTable/EntityCollectionRowActions.tsx → CollectionTableBinding/CollectionRowActions.tsx} +26 -16
  406. package/src/components/{EntityCollectionTable/EntityCollectionTable.tsx → CollectionTableBinding/CollectionTableBinding.tsx} +34 -31
  407. package/src/components/{EntityCollectionTable/EntityCollectionTableProps.tsx → CollectionTableBinding/CollectionTableBindingProps.tsx} +4 -4
  408. package/src/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.tsx +14 -12
  409. package/src/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.tsx +4 -4
  410. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.tsx +13 -13
  411. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.tsx +39 -19
  412. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.tsx +14 -14
  413. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.tsx +3 -3
  414. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.tsx +29 -27
  415. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.tsx +0 -1
  416. package/src/components/CollectionTableBinding/index.tsx +14 -0
  417. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.tsx +22 -28
  418. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.tsx +8 -9
  419. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.tsx +2 -3
  420. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.tsx +7 -7
  421. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.tsx +12 -13
  422. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.tsx +5 -2
  423. package/src/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.tsx +101 -104
  424. package/src/components/{EntityCollectionView/EntityBoardCard.tsx → CollectionViewBinding/BoardCardBinding.tsx} +39 -40
  425. package/src/components/{EntityCollectionView/EntityCollectionBoardView.tsx → CollectionViewBinding/CollectionBoardViewBinding.tsx} +88 -52
  426. package/src/components/CollectionViewBinding/CollectionCardViewBinding.tsx +157 -0
  427. package/src/components/{EntityCollectionView/EntityCollectionListView.tsx → CollectionViewBinding/CollectionListViewBinding.tsx} +234 -151
  428. package/src/components/{EntityCollectionView/EntityCollectionViewActions.tsx → CollectionViewBinding/CollectionViewActions.tsx} +36 -26
  429. package/src/components/{EntityCollectionView/EntityCollectionView.tsx → CollectionViewBinding/CollectionViewBinding.tsx} +392 -213
  430. package/src/components/{EntityCollectionView/EntityCollectionViewStartActions.tsx → CollectionViewBinding/CollectionViewStartActions.tsx} +42 -23
  431. package/src/components/{EntityCollectionView/EntityCard.tsx → CollectionViewBinding/EntityCardBinding.tsx} +14 -14
  432. package/src/components/CollectionViewBinding/FilterPresetsButton.tsx +294 -0
  433. package/src/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.tsx +37 -79
  434. package/src/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.tsx +97 -30
  435. package/src/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.tsx +20 -8
  436. package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.ts +9 -8
  437. package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.ts +17 -16
  438. package/src/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.tsx +118 -70
  439. package/src/components/{EntityCollectionView/useEntityPreviewSlots.ts → CollectionViewBinding/usePreviewSlots.ts} +136 -48
  440. package/src/components/DefaultAppBar.tsx +73 -41
  441. package/src/components/DefaultDrawer.tsx +317 -85
  442. package/src/components/DeleteEntityDialog.tsx +7 -7
  443. package/src/components/DetailViewBinding.tsx +670 -0
  444. package/src/components/DrawerNavigationGroup.tsx +11 -11
  445. package/src/components/DrawerNavigationItem.tsx +6 -6
  446. package/src/components/{EntityEditViewFormActions.tsx → EditFormActions.tsx} +78 -59
  447. package/src/components/EditViewBinding.tsx +761 -0
  448. package/src/components/{EntityPreview.tsx → EntityPreviewBinding.tsx} +53 -39
  449. package/src/components/{EntityView.tsx → EntityViewBinding.tsx} +8 -9
  450. package/src/components/HomePage/ContentHomePage.tsx +35 -17
  451. package/src/components/HomePage/FavouritesView.tsx +2 -3
  452. package/src/components/HomePage/HomePageDnD.tsx +3 -2
  453. package/src/components/HomePage/NavigationCard.tsx +9 -16
  454. package/src/components/HomePage/NavigationCardBinding.tsx +6 -7
  455. package/src/components/HomePage/NavigationGroup.tsx +4 -5
  456. package/src/components/HomePage/RenameGroupDialog.tsx +1 -1
  457. package/src/components/HomePage/SmallNavigationCard.tsx +0 -5
  458. package/src/components/{EntityJsonPreview.tsx → JsonPreviewBinding.tsx} +2 -2
  459. package/src/components/PropertyCollectionView.tsx +2 -1
  460. package/src/components/PropertyIdCopyTooltip.tsx +2 -3
  461. package/src/components/{RebaseCMS.tsx → RebaseAdmin.tsx} +8 -6
  462. package/src/components/RebaseAuthGate.tsx +5 -3
  463. package/src/components/RebaseLayout.tsx +10 -9
  464. package/src/components/RebaseNavigation.tsx +107 -31
  465. package/src/components/RebaseRouteDefs.tsx +10 -13
  466. package/src/components/RebaseShell.tsx +18 -14
  467. package/src/components/ReferenceTable/{EntitySelectionTable.tsx → SelectionTableBinding.tsx} +40 -33
  468. package/src/components/ReferenceWidget.tsx +7 -7
  469. package/src/components/RelationSelector.tsx +82 -24
  470. package/src/components/SearchIconsView.tsx +13 -12
  471. package/src/components/SelectableTable/SelectableTable.tsx +68 -115
  472. package/src/components/SelectableTable/SelectableTableContext.tsx +4 -3
  473. package/src/components/SelectableTable/SelectionStore.ts +20 -44
  474. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +13 -5
  475. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +37 -16
  476. package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +187 -0
  477. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +27 -13
  478. package/src/components/SelectableTable/filters/RelationFilterField.tsx +17 -3
  479. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +95 -35
  480. package/src/components/SideDialogs.tsx +58 -40
  481. package/src/components/SidePanelBinding.tsx +261 -0
  482. package/src/components/{SideEntityProvider.tsx → SidePanelProvider.tsx} +17 -16
  483. package/src/components/UserSelector.tsx +123 -9
  484. package/src/components/admin/CreationResultDialog.tsx +138 -0
  485. package/src/components/admin/index.ts +1 -3
  486. package/src/components/app/Drawer.tsx +9 -1
  487. package/src/components/app/Scaffold.tsx +16 -9
  488. package/src/components/common/default_entity_actions.tsx +270 -29
  489. package/src/components/field_configs.tsx +68 -46
  490. package/src/components/history/EntityHistoryEntry.tsx +4 -5
  491. package/src/components/history/EntityHistoryView.tsx +18 -8
  492. package/src/components/history/LastEditedByIndicator.tsx +4 -4
  493. package/src/components/index.ts +20 -17
  494. package/src/contexts/BreacrumbsContext.tsx +15 -6
  495. package/src/contexts/SidePanelControllerContext.tsx +5 -0
  496. package/src/data_export/export/BasicExportAction.tsx +42 -43
  497. package/src/data_export/export/ExportCollectionAction.tsx +55 -54
  498. package/src/data_export/export/export.ts +17 -17
  499. package/src/data_import/components/DataNewPropertiesMapping.tsx +17 -4
  500. package/src/data_import/components/ImportFileUpload.tsx +2 -3
  501. package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +2 -3
  502. package/src/data_import/components/ImportSaveInProgress.tsx +4 -4
  503. package/src/data_import/import/ImportCollectionAction.tsx +26 -13
  504. package/src/data_import/utils/data.ts +26 -8
  505. package/src/data_import/utils/file_headers.ts +13 -89
  506. package/src/data_import/utils/file_to_json.ts +43 -68
  507. package/src/data_import/utils/get_properties_mapping.ts +1 -1
  508. package/src/data_import/utils/transforms.ts +47 -0
  509. package/src/editor/components/SlashCommandMenu.tsx +17 -2
  510. package/src/editor/components/editor-bubble-item.tsx +1 -1
  511. package/src/editor/components/editor-bubble.tsx +32 -9
  512. package/src/editor/components/image-bubble.tsx +28 -12
  513. package/src/editor/components/index.ts +3 -3
  514. package/src/editor/components/table-bubble.tsx +80 -18
  515. package/src/editor/editor.tsx +34 -15
  516. package/src/editor/extensions/HighlightDecorationExtension.ts +3 -2
  517. package/src/editor/extensions/Image/index.ts +3 -3
  518. package/src/editor/extensions/Image.ts +3 -3
  519. package/src/editor/extensions/clipboard.ts +2 -2
  520. package/src/editor/markdown-it-plugins.d.ts +24 -0
  521. package/src/editor/markdown.ts +2 -3
  522. package/src/editor/nodeViews/ReactNodeView.tsx +1 -1
  523. package/src/editor/nodeViews/TaskItemComponent.tsx +9 -8
  524. package/src/editor/schema.ts +135 -59
  525. package/src/editor/selectors/ai-selector.tsx +0 -1
  526. package/src/editor/selectors/color-selector.tsx +1 -2
  527. package/src/editor/selectors/link-selector.tsx +9 -7
  528. package/src/editor/selectors/node-selector.tsx +17 -3
  529. package/src/editor/selectors/text-buttons.tsx +1 -2
  530. package/src/editor/useProseMirror.ts +2 -2
  531. package/src/editor/utils/prosemirror-utils.ts +1 -1
  532. package/src/editor/utils/remove_classes.ts +6 -5
  533. package/src/form/EntityForm.tsx +222 -442
  534. package/src/form/EntityFormActions.tsx +49 -55
  535. package/src/form/EntityFormBinding.tsx +323 -0
  536. package/src/form/PropertyFieldBinding.tsx +81 -84
  537. package/src/form/components/ErrorFocus.tsx +1 -1
  538. package/src/form/components/FieldHelperText.tsx +6 -7
  539. package/src/form/components/FormLayout.tsx +1 -1
  540. package/src/form/components/LocalChangesMenu.tsx +20 -5
  541. package/src/form/components/StorageItemPreview.tsx +2 -3
  542. package/src/form/components/StorageUploadProgress.tsx +14 -7
  543. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +5 -5
  544. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +12 -13
  545. package/src/form/field_bindings/BlockFieldBinding.tsx +59 -58
  546. package/src/form/field_bindings/DateTimeFieldBinding.tsx +2 -2
  547. package/src/form/field_bindings/KeyValueFieldBinding.tsx +319 -303
  548. package/src/form/field_bindings/MapFieldBinding.tsx +14 -56
  549. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +28 -10
  550. package/src/form/field_bindings/MultiSelectFieldBinding.tsx +3 -4
  551. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +11 -12
  552. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +9 -2
  553. package/src/form/field_bindings/ReferenceFieldBinding.tsx +17 -15
  554. package/src/form/field_bindings/RelationFieldBinding.tsx +157 -156
  555. package/src/form/field_bindings/RepeatFieldBinding.tsx +8 -8
  556. package/src/form/field_bindings/SelectFieldBinding.tsx +3 -4
  557. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +107 -103
  558. package/src/form/field_bindings/SwitchFieldBinding.tsx +17 -17
  559. package/src/form/field_bindings/TextFieldBinding.tsx +90 -78
  560. package/src/form/field_bindings/UserSelectFieldBinding.tsx +18 -18
  561. package/src/form/field_bindings/VectorFieldBinding.tsx +202 -0
  562. package/src/form/form_utils.ts +163 -0
  563. package/src/form/index.tsx +15 -6
  564. package/src/form/useClearRestoreValue.tsx +1 -1
  565. package/src/form/validation.ts +104 -50
  566. package/src/hooks/index.ts +4 -4
  567. package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +5 -4
  568. package/src/hooks/navigation/contexts/NavigationStateContext.tsx +2 -2
  569. package/src/hooks/navigation/contexts/UrlContext.tsx +1 -2
  570. package/src/hooks/navigation/useAsyncResolver.ts +100 -0
  571. package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +40 -21
  572. package/src/hooks/navigation/useBuildNavigationStateController.tsx +21 -22
  573. package/src/hooks/navigation/useNavigationResolution.ts +193 -21
  574. package/src/hooks/navigation/useResolvedCollections.ts +45 -77
  575. package/src/hooks/navigation/useResolvedViews.tsx +44 -123
  576. package/src/hooks/navigation/useTopLevelNavigation.ts +22 -18
  577. package/src/hooks/navigation/utils.ts +12 -9
  578. package/src/hooks/useBreadcrumbsController.tsx +2 -34
  579. package/src/hooks/{useBuildSideEntityController.tsx → useBuildSidePanel.tsx} +63 -24
  580. package/src/hooks/useCMSContext.tsx +7 -7
  581. package/src/hooks/{useEntityHistory.ts → useHistory.ts} +9 -4
  582. package/src/hooks/useResolvedNavigationFrom.tsx +8 -5
  583. package/src/hooks/{useEntitySelectionDialog.tsx → useSelectionDialog.tsx} +7 -7
  584. package/src/hooks/useSideDialogsController.tsx +1 -1
  585. package/src/hooks/useSidePanel.tsx +13 -0
  586. package/src/index.ts +34 -20
  587. package/src/preview/PropertyPreview.tsx +34 -41
  588. package/src/preview/components/DatePreview.tsx +1 -1
  589. package/src/preview/components/EnumValuesChip.tsx +1 -1
  590. package/src/preview/components/ImagePreview.tsx +4 -3
  591. package/src/preview/components/ReferencePreview.tsx +69 -18
  592. package/src/preview/components/RelationPreview.tsx +107 -18
  593. package/src/preview/components/StorageThumbnail.tsx +28 -8
  594. package/src/preview/components/UrlComponentPreview.tsx +12 -4
  595. package/src/preview/components/UserPreview.tsx +6 -15
  596. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +5 -5
  597. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +5 -5
  598. package/src/preview/property_previews/ArrayOfRelationsPreview.tsx +4 -4
  599. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +4 -4
  600. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +3 -2
  601. package/src/preview/property_previews/ArrayOneOfPreview.tsx +7 -9
  602. package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +1 -1
  603. package/src/preview/property_previews/ArrayPropertyPreview.tsx +4 -4
  604. package/src/preview/property_previews/MapPropertyPreview.tsx +4 -3
  605. package/src/preview/property_previews/NumberPropertyPreview.tsx +5 -3
  606. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +24 -25
  607. package/src/preview/property_previews/StringPropertyPreview.tsx +13 -11
  608. package/src/routes/CustomViewRoute.tsx +14 -6
  609. package/src/routes/RebaseRoute.tsx +112 -36
  610. package/src/types/components/EntityFormActionsProps.tsx +4 -4
  611. package/src/types/components/EntityFormProps.tsx +75 -5
  612. package/src/types/components/PropertyPreviewProps.tsx +6 -1
  613. package/src/types/components/formex.tsx +1 -45
  614. package/src/types/fields.tsx +26 -15
  615. package/src/util/dataControllerAdapter.ts +87 -0
  616. package/src/util/navigation_utils.ts +43 -13
  617. package/src/util/previews.ts +149 -13
  618. package/src/util/propertyConfigMapper.ts +134 -0
  619. package/src/util/property_utils.tsx +24 -9
  620. package/src/util/resolutions.ts +4 -8
  621. package/src/util/view_constants.ts +6 -0
  622. package/dist/CollectionEditorDialog-B2M9lCyL.js +0 -4720
  623. package/dist/CollectionEditorDialog-B2M9lCyL.js.map +0 -1
  624. package/dist/CollectionsStudioView-WG6soyfs.js +0 -218
  625. package/dist/CollectionsStudioView-WG6soyfs.js.map +0 -1
  626. package/dist/ContentHomePage-CDF_a6Lp.js +0 -1786
  627. package/dist/ContentHomePage-CDF_a6Lp.js.map +0 -1
  628. package/dist/ExportCollectionAction-Dc0VOWMN.js +0 -439
  629. package/dist/ExportCollectionAction-Dc0VOWMN.js.map +0 -1
  630. package/dist/ImportCollectionAction-DpCagAOy.js +0 -686
  631. package/dist/ImportCollectionAction-DpCagAOy.js.map +0 -1
  632. package/dist/PropertyEditView-DS67DxoT.js +0 -8138
  633. package/dist/PropertyEditView-DS67DxoT.js.map +0 -1
  634. package/dist/RoleChip-QtUFXeTp.js +0 -67
  635. package/dist/RoleChip-QtUFXeTp.js.map +0 -1
  636. package/dist/RolesView-CIuYBimF.js +0 -424
  637. package/dist/RolesView-CIuYBimF.js.map +0 -1
  638. package/dist/UsersView-B5zelXnH.js +0 -493
  639. package/dist/UsersView-B5zelXnH.js.map +0 -1
  640. package/dist/collection_editor/types/config_permissions.d.ts +0 -19
  641. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +0 -27
  642. package/dist/components/EntityCollectionTable/fields/VirtualTableDateField.d.ts +0 -12
  643. package/dist/components/EntityCollectionTable/fields/VirtualTableInput.d.ts +0 -9
  644. package/dist/components/EntityCollectionTable/fields/VirtualTableNumberInput.d.ts +0 -8
  645. package/dist/components/EntityCollectionTable/fields/VirtualTableSwitch.d.ts +0 -7
  646. package/dist/components/EntityCollectionTable/index.d.ts +0 -6
  647. package/dist/components/EntityCollectionView/Board.d.ts +0 -2
  648. package/dist/components/EntityCollectionView/BoardColumn.d.ts +0 -42
  649. package/dist/components/EntityCollectionView/BoardColumnTitle.d.ts +0 -9
  650. package/dist/components/EntityCollectionView/BoardSortableList.d.ts +0 -14
  651. package/dist/components/EntityCollectionView/EntityBoardCard.d.ts +0 -31
  652. package/dist/components/EntityCollectionView/EntityCard.d.ts +0 -20
  653. package/dist/components/EntityCollectionView/EntityCollectionBoardView.d.ts +0 -21
  654. package/dist/components/EntityCollectionView/EntityCollectionListView.d.ts +0 -34
  655. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +0 -64
  656. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +0 -18
  657. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +0 -18
  658. package/dist/components/EntityCollectionView/board_types.d.ts +0 -105
  659. package/dist/components/EntityEditView.d.ts +0 -49
  660. package/dist/components/EntityEditViewFormActions.d.ts +0 -2
  661. package/dist/components/EntityJsonPreview.d.ts +0 -3
  662. package/dist/components/EntitySidePanel.d.ts +0 -10
  663. package/dist/components/EntityView.d.ts +0 -12
  664. package/dist/components/admin/RoleChip.d.ts +0 -4
  665. package/dist/components/admin/RolesView.d.ts +0 -4
  666. package/dist/components/admin/UsersView.d.ts +0 -4
  667. package/dist/contexts/SideEntityControllerContext.d.ts +0 -3
  668. package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +0 -10
  669. package/dist/hooks/navigation/useNavigationRegistry.d.ts +0 -11
  670. package/dist/hooks/navigation/useNavigationURLs.d.ts +0 -11
  671. package/dist/hooks/useBuildSideEntityController.d.ts +0 -6
  672. package/dist/hooks/useSideEntityController.d.ts +0 -11
  673. package/dist/index-CBhrgpR7.js +0 -12
  674. package/dist/index-CBhrgpR7.js.map +0 -1
  675. package/dist/index-CHxgwt6E.js +0 -456
  676. package/dist/index-CHxgwt6E.js.map +0 -1
  677. package/dist/index-Dey5WJpO.js +0 -8
  678. package/dist/index-Dey5WJpO.js.map +0 -1
  679. package/dist/index.js.map +0 -1
  680. package/dist/markdown-z2Ir7Cgo.js +0 -618
  681. package/dist/markdown-z2Ir7Cgo.js.map +0 -1
  682. package/dist/useEntityHistory-Dcj4zhGj.js +0 -121
  683. package/dist/useEntityHistory-Dcj4zhGj.js.map +0 -1
  684. package/dist/util-BQ82ySL3.js +0 -27720
  685. package/dist/util-BQ82ySL3.js.map +0 -1
  686. package/src/collection_editor/types/config_permissions.ts +0 -20
  687. package/src/components/EntityCollectionTable/fields/VirtualTableDateField.tsx +0 -39
  688. package/src/components/EntityCollectionTable/fields/VirtualTableInput.tsx +0 -90
  689. package/src/components/EntityCollectionTable/fields/VirtualTableNumberInput.tsx +0 -80
  690. package/src/components/EntityCollectionTable/fields/VirtualTableSwitch.tsx +0 -32
  691. package/src/components/EntityCollectionTable/index.tsx +0 -14
  692. package/src/components/EntityCollectionView/Board.tsx +0 -474
  693. package/src/components/EntityCollectionView/BoardColumn.tsx +0 -158
  694. package/src/components/EntityCollectionView/BoardColumnTitle.tsx +0 -45
  695. package/src/components/EntityCollectionView/BoardSortableList.tsx +0 -177
  696. package/src/components/EntityCollectionView/EntityCollectionCardView.tsx +0 -267
  697. package/src/components/EntityCollectionView/board_types.ts +0 -113
  698. package/src/components/EntityEditView.tsx +0 -632
  699. package/src/components/EntitySidePanel.tsx +0 -160
  700. package/src/components/admin/RoleChip.tsx +0 -23
  701. package/src/components/admin/RolesView.tsx +0 -419
  702. package/src/components/admin/UsersView.tsx +0 -782
  703. package/src/contexts/SideEntityControllerContext.tsx +0 -5
  704. package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +0 -141
  705. package/src/hooks/navigation/useNavigationRegistry.ts +0 -153
  706. package/src/hooks/navigation/useNavigationURLs.ts +0 -56
  707. package/src/hooks/useSideEntityController.tsx +0 -13
  708. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.d.ts +0 -0
  709. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.d.ts +0 -0
  710. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.d.ts +0 -0
  711. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.d.ts +0 -0
  712. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/utils.d.ts +0 -0
  713. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.tsx +0 -0
  714. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.tsx +0 -0
  715. /package/src/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.tsx +0 -0
  716. /package/src/components/{EntityCollectionView → CollectionViewBinding}/utils.ts +0 -0
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import type { Property } from "@rebasepro/types";
3
3
  import * as React from "react";
4
4
  import { useEffect, useMemo } from "react";
@@ -6,26 +6,33 @@ import { useEffect, useMemo } from "react";
6
6
  import { Entity } from "@rebasepro/types";
7
7
  import type { PreviewSize } from "../types/components/PropertyPreviewProps";
8
8
  import { getEntityImagePreviewPropertyKey } from "@rebasepro/common";
9
- import { cls, defaultBorderMixin, IconButton, Skeleton, Tooltip, Typography } from "@rebasepro/ui";
10
- import { ArrowRightToLineIcon } from "lucide-react";
9
+ import {
10
+ ArrowRightToLineIcon,
11
+ cls,
12
+ defaultBorderMixin,
13
+ IconButton,
14
+ Skeleton,
15
+ Tooltip,
16
+ Typography
17
+ } from "@rebasepro/ui";
11
18
  import { PropertyPreview, SkeletonPropertyComponent } from "../preview";
12
19
  import {
13
20
  useAuthController,
14
21
  useCustomizationController,
15
22
  useData,
16
23
  ErrorView
17
- } from "@rebasepro/core";
18
- import { useAnalyticsController } from "@rebasepro/core";
19
- import { IconForView } from "@rebasepro/core";
24
+ } from "@rebasepro/app";
25
+ import { useAnalyticsController } from "@rebasepro/app";
26
+ import { IconForView } from "@rebasepro/app";
20
27
  import { getPropertyInPath } from "../util/property_utils";
21
28
  import { getEntityPreviewKeys, getEntityTitlePropertyKey } from "../util/previews";
22
29
  import { getValueInPath } from "@rebasepro/utils";
23
- import { useCollectionRegistryController, useSideEntityController } from "../index";
30
+ import { useCollectionRegistryController, useSidePanel } from "../index";
24
31
 
25
- export type EntityPreviewProps = {
32
+ export type EntityPreviewBindingProps = {
26
33
  size?: PreviewSize,
27
34
  actions?: React.ReactNode,
28
- collection?: EntityCollection,
35
+ collection?: CollectionConfig,
29
36
  hover?: boolean;
30
37
  previewKeys?: string[],
31
38
  disabled?: boolean,
@@ -35,16 +42,16 @@ export type EntityPreviewProps = {
35
42
  includeEntityLink?: boolean,
36
43
  includeImage?: boolean,
37
44
  onClick?: (e: React.SyntheticEvent) => void;
38
- onSideEntityClick?: (entity: Entity) => void,
45
+ onSidePanelClick?: (entity: Entity) => void,
39
46
  };
40
47
 
41
- export type EntityPreviewDataProps = {
48
+ export type EntityPreviewBindingDataProps = {
42
49
  size?: "smallest" | "small" | "medium" | "large",
43
50
  actions?: React.ReactNode,
44
- collection?: EntityCollection,
51
+ collection?: CollectionConfig,
45
52
  previewKeys?: string[],
46
53
  entity: Entity<any>,
47
- onSideEntityClick?: (entity: Entity) => void,
54
+ onSidePanelClick?: (entity: Entity) => void,
48
55
  includeId?: boolean,
49
56
  includeTitle?: boolean,
50
57
  includeEntityLink?: boolean,
@@ -52,31 +59,36 @@ export type EntityPreviewDataProps = {
52
59
  };
53
60
 
54
61
  /**
55
- * This component contains the main logic and content for displaying an entity preview,
56
- * without any container wrapper. Used internally by EntityPreview.
62
+ * This component contains the main logic and content for displaying a entity preview,
63
+ * without any container wrapper. Used internally by EntityPreviewBinding.
57
64
  */
58
- export function EntityPreviewData({
65
+ export function EntityPreviewBindingData({
59
66
  actions,
60
67
  collection: collectionProp,
61
68
  previewKeys,
62
69
  size = "medium",
63
70
  includeId = true,
64
- onSideEntityClick,
71
+ onSidePanelClick,
65
72
  includeTitle = true,
66
73
  includeEntityLink = true,
67
74
  includeImage = true,
68
75
  entity
69
- }: EntityPreviewDataProps) {
76
+ }: EntityPreviewBindingDataProps) {
70
77
 
71
78
  const authController = useAuthController();
72
79
  const analyticsController = useAnalyticsController();
73
- const sideEntityController = useSideEntityController();
80
+ const sidePanelController = useSidePanel();
74
81
  const customizationController = useCustomizationController();
75
82
 
76
83
  const collectionRegistryController = useCollectionRegistryController();
77
84
 
78
85
  const collection = collectionProp ?? collectionRegistryController.getCollection(entity.path);
79
86
 
87
+ const listProperties = useMemo(() => {
88
+ if (!collection) return [];
89
+ return previewKeys ?? getEntityPreviewKeys(authController, collection, customizationController.propertyConfigs, previewKeys, size === "medium" || size === "large" ? 3 : 2);
90
+ }, [previewKeys, collection, size, authController, customizationController.propertyConfigs]);
91
+
80
92
  if (!collection) {
81
93
  return (
82
94
  <>
@@ -85,9 +97,6 @@ export function EntityPreviewData({
85
97
  );
86
98
  }
87
99
 
88
- const listProperties = useMemo(() => previewKeys ?? getEntityPreviewKeys(authController, collection, customizationController.propertyConfigs, previewKeys, size === "medium" || size === "large" ? 3 : 2),
89
- [previewKeys, collection, size]);
90
-
91
100
  const titleProperty = includeTitle ? getEntityTitlePropertyKey(collection, customizationController.propertyConfigs) : undefined;
92
101
  const imagePropertyKey = includeImage ? getEntityImagePreviewPropertyKey(collection) : undefined;
93
102
  const imageProperty = imagePropertyKey ? collection.properties[imagePropertyKey] : undefined;
@@ -185,12 +194,12 @@ export function EntityPreviewData({
185
194
  onClick={(e) => {
186
195
  e.stopPropagation();
187
196
  e.preventDefault();
188
- onSideEntityClick?.(entity);
197
+ onSidePanelClick?.(entity);
189
198
  analyticsController.onAnalyticsEvent?.("entity_click_from_reference", {
190
199
  path: entity.path,
191
200
  entityId: entity.id
192
201
  });
193
- sideEntityController.open({
202
+ sidePanelController.open({
194
203
  entityId: entity.id,
195
204
  path: entity.path,
196
205
  collection,
@@ -207,11 +216,11 @@ export function EntityPreviewData({
207
216
  );
208
217
  }
209
218
 
210
- export function EntityPreviewWithId({
219
+ export function EntityPreviewBindingWithId({
211
220
  entityId,
212
221
  path,
213
222
  ...props
214
- }: Omit<EntityPreviewProps, "entity"> & {
223
+ }: Omit<EntityPreviewBindingProps, "entity"> & {
215
224
  entityId: string | number;
216
225
  path: string;
217
226
  databaseId?: string;
@@ -227,7 +236,7 @@ export function EntityPreviewWithId({
227
236
  setEntity(undefined);
228
237
  return;
229
238
  }
230
- const fetchEntity = async () => {
239
+ const fetchOne = async () => {
231
240
  setDataLoading(true);
232
241
  try {
233
242
  const fetchedEntity = await dataClient.collection(path).findById(entityId);
@@ -246,7 +255,7 @@ export function EntityPreviewWithId({
246
255
  }
247
256
  }
248
257
 
249
- fetchEntity();
258
+ fetchOne();
250
259
 
251
260
  return () => {
252
261
  isMounted = false;
@@ -275,16 +284,16 @@ export function EntityPreviewWithId({
275
284
  );
276
285
  }
277
286
 
278
- return <EntityPreviewData
287
+ return <EntityPreviewBindingData
279
288
  {...props}
280
289
  entity={entity}/>;
281
290
  }
282
291
 
283
292
  /**
284
- * This view is used to display a preview of an entity.
293
+ * This view is used to display a preview of a entity.
285
294
  * It is used by default in reference fields and whenever a reference is displayed.
286
295
  */
287
- export function EntityPreview({
296
+ export function EntityPreviewBinding({
288
297
  actions,
289
298
  disabled,
290
299
  hover,
@@ -296,16 +305,16 @@ export function EntityPreview({
296
305
  includeTitle = true,
297
306
  includeEntityLink = true,
298
307
  includeImage = true,
299
- onSideEntityClick,
308
+ onSidePanelClick,
300
309
  entity
301
- }: EntityPreviewProps) {
310
+ }: EntityPreviewBindingProps) {
302
311
 
303
312
  return (
304
313
  <EntityPreviewContainer
305
314
  onClick={disabled ? undefined : onClick}
306
315
  hover={disabled ? undefined : hover}
307
316
  size={size}>
308
- <EntityPreviewData
317
+ <EntityPreviewBindingData
309
318
  actions={actions}
310
319
  collection={collection}
311
320
  previewKeys={previewKeys}
@@ -314,7 +323,7 @@ export function EntityPreview({
314
323
  includeTitle={includeTitle}
315
324
  includeEntityLink={includeEntityLink}
316
325
  includeImage={includeImage}
317
- onSideEntityClick={onSideEntityClick}
326
+ onSidePanelClick={onSidePanelClick}
318
327
  entity={entity}
319
328
  />
320
329
  </EntityPreviewContainer>
@@ -343,10 +352,8 @@ export const EntityPreviewContainer = React.forwardRef<HTMLDivElement, EntityPre
343
352
  }, ref) => {
344
353
  return <div
345
354
  ref={ref}
346
- style={{
347
- ...style,
348
- tabIndex: 0
349
- } as React.CSSProperties}
355
+ tabIndex={0}
356
+ style={style}
350
357
  className={cls(
351
358
  "bg-white dark:bg-surface-900",
352
359
  size === "small" ? "min-h-[32px]" : "min-h-[44px]",
@@ -358,12 +365,19 @@ export const EntityPreviewContainer = React.forwardRef<HTMLDivElement, EntityPre
358
365
  onClick ? "cursor-pointer" : "",
359
366
  defaultBorderMixin,
360
367
  className)}
368
+ role={onClick ? "button" : undefined}
361
369
  onClick={(event) => {
362
370
  if (onClick) {
363
371
  event.preventDefault();
364
372
  onClick(event);
365
373
  }
366
374
  }}
375
+ onKeyDown={(event) => {
376
+ if (onClick && (event.key === "Enter" || event.key === " ")) {
377
+ event.preventDefault();
378
+ onClick(event);
379
+ }
380
+ }}
367
381
  {...props}>
368
382
  {children}
369
383
  </div>;
@@ -1,32 +1,31 @@
1
1
  import type { Properties } from "@rebasepro/types";
2
- import type { EntityCollection } from "@rebasepro/types";
2
+ import type { CollectionConfig } from "@rebasepro/types";
3
3
  import type { CustomizationController } from "@rebasepro/types";
4
4
  import React from "react";
5
5
  import { Entity } from "@rebasepro/types";
6
- import { cls, defaultBorderMixin, IconButton, Typography } from "@rebasepro/ui";
7
- import { ExternalLinkIcon } from "lucide-react";
6
+ import { cls, defaultBorderMixin, ExternalLinkIcon, IconButton, Typography } from "@rebasepro/ui";
8
7
  ;
9
- import { useCustomizationController } from "@rebasepro/core";
10
- import { useAuthController } from "@rebasepro/core";
8
+ import { useCustomizationController } from "@rebasepro/app";
9
+ import { useAuthController } from "@rebasepro/app";
11
10
  import { PropertyCollectionView } from "./PropertyCollectionView";
12
11
 
13
12
  /**
14
13
  * @group Components
15
14
  */
16
- export interface EntityViewProps<M extends Record<string, unknown>> {
15
+ export interface EntityViewBindingProps<M extends Record<string, unknown>> {
17
16
  entity: Entity<M>;
18
- collection: EntityCollection<M>;
17
+ collection: CollectionConfig<M>;
19
18
  path: string;
20
19
  className?: string;
21
20
  }
22
21
 
23
- export function EntityView<M extends Record<string, unknown>>(
22
+ export function EntityViewBinding<M extends Record<string, unknown>>(
24
23
  {
25
24
  entity,
26
25
  collection,
27
26
  path,
28
27
  className
29
- }: EntityViewProps<M>) {
28
+ }: EntityViewBindingProps<M>) {
30
29
 
31
30
  const customizationController: CustomizationController = useCustomizationController();
32
31
 
@@ -19,9 +19,10 @@ import { SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable"
19
19
  import { restrictToVerticalAxis, restrictToWindowEdges } from "@dnd-kit/modifiers";
20
20
  import { RenameGroupDialog } from "./RenameGroupDialog";
21
21
  import { toArray } from "@rebasepro/utils";
22
- import { useCollapsedGroups, useCustomizationController, useTranslation, useSlot, useAdminModeController } from "@rebasepro/core";
23
- import { useRestoreScroll } from "@rebasepro/core";
24
- import { STUDIO_NAVIGATION_GROUPS } from "@rebasepro/core";
22
+ import { useCollapsedGroups, buildCollapsedDefaults, useCustomizationController, useTranslation, useSlot, useAdminModeController, useRebaseRegistry } from "@rebasepro/app";
23
+ import { useRestoreScroll } from "@rebasepro/app";
24
+
25
+ import { SchemaDriftBanner } from "@rebasepro/app";
25
26
  import { useBreadcrumbsController, useCMSContext } from "../../index";
26
27
 
27
28
  export const DEFAULT_GROUP_NAME = "Views";
@@ -45,7 +46,8 @@ export function ContentHomePage({
45
46
  const { navigationStateController } = context;
46
47
  const customizationController = useCustomizationController();
47
48
  const adminModeController = useAdminModeController();
48
- const isStudioMode = adminModeController.mode === "studio";
49
+ const registry = useRebaseRegistry();
50
+
49
51
  const { resolvedSlots } = customizationController;
50
52
  const breadcrumbs = useBreadcrumbsController();
51
53
  const { t } = useTranslation();
@@ -61,19 +63,28 @@ export function ContentHomePage({
61
63
  onNavigationEntriesUpdate = () => {}
62
64
  } = navigationStateController.topLevelNavigation || {};
63
65
 
66
+ // Build a set of Studio-only dev view slugs so we can distinguish them from
67
+ // CMS custom views added via <RebaseAdmin views={...}> or plugins.
68
+ const studioViewSlugs = useMemo(() => {
69
+ const slugs = new Set<string>();
70
+ (registry.studioConfig?.devViews ?? []).forEach(v => slugs.add(v.slug));
71
+ if (registry.studioConfig && registry.cmsConfig?.collectionEditor) slugs.add("schema");
72
+ return slugs;
73
+ }, [registry.studioConfig, registry.cmsConfig?.collectionEditor]);
74
+
75
+ // Studio mode shows Studio dev views + admin entries (Users/Roles).
76
+ // Content mode shows collections, CMS custom views, and admin entries — but not Studio dev views.
64
77
  const rawNavigationEntries = useMemo(() => {
65
- return unFilteredNavigationEntries.filter(e => {
66
- const isStudioGroup = e.group ? STUDIO_NAVIGATION_GROUPS.includes(e.group) : false;
67
- return isStudioMode ? isStudioGroup : !isStudioGroup;
68
- });
69
- }, [unFilteredNavigationEntries, isStudioMode]);
78
+ if (adminModeController.mode === "studio") {
79
+ return unFilteredNavigationEntries.filter(e => (e.type === "view" && studioViewSlugs.has(e.slug)) || e.type === "admin");
80
+ }
81
+ return unFilteredNavigationEntries.filter(e => e.type !== "view" || !studioViewSlugs.has(e.slug));
82
+ }, [unFilteredNavigationEntries, adminModeController.mode, studioViewSlugs]);
70
83
 
71
84
  const groupOrderFromNavController = useMemo(() => {
72
- return unFilteredGroupOrder.filter(g => {
73
- const isStudioGroup = STUDIO_NAVIGATION_GROUPS.includes(g);
74
- return isStudioMode ? isStudioGroup : !isStudioGroup;
75
- });
76
- }, [unFilteredGroupOrder, isStudioMode]);
85
+ const entryGroups = new Set(rawNavigationEntries.map(e => e.group).filter(Boolean));
86
+ return unFilteredGroupOrder.filter(g => entryGroups.has(g));
87
+ }, [unFilteredGroupOrder, rawNavigationEntries]);
77
88
 
78
89
  const fuse = useRef<Fuse<NavigationEntry> | null>(null);
79
90
  const [filteredUrls, setFilteredUrls] = useState<string[] | null>(null);
@@ -244,7 +255,11 @@ export function ContentHomePage({
244
255
  ...(adminGroupData ? [adminGroupData.name] : [])
245
256
  ], [items, adminGroupData]);
246
257
 
247
- const { isGroupCollapsed, toggleGroupCollapsed } = useCollapsedGroups(groupNames, "home");
258
+ const collapsedDefaults = useMemo(
259
+ () => buildCollapsedDefaults(registry.cmsConfig?.navigationGroupMappings, "home"),
260
+ [registry.cmsConfig?.navigationGroupMappings]
261
+ );
262
+ const { isGroupCollapsed, toggleGroupCollapsed } = useCollapsedGroups(groupNames, "home", collapsedDefaults);
248
263
 
249
264
  const {
250
265
  sensors,
@@ -312,8 +327,11 @@ export function ContentHomePage({
312
327
  Render
313
328
  ─────────────────────────────────────────────────────────────── */
314
329
  return (
315
- <div ref={containerRef} className="py-2 overflow-auto h-full w-full dark:bg-surface-800">
330
+ <div ref={containerRef} className="py-2 overflow-auto h-full w-full bg-surface-50 dark:bg-surface-800">
316
331
  <Container maxWidth="6xl">
332
+ <div className="mb-4 flex flex-col gap-2">
333
+ <SchemaDriftBanner />
334
+ </div>
317
335
  {/* search & actions */}
318
336
  <div
319
337
  className="w-full sticky py-4 transition-all duration-400 ease-in-out top-0 z-10 flex flex-row gap-4"
@@ -353,7 +371,7 @@ export function ContentHomePage({
353
371
  modifiers={dndModifiers}
354
372
  >
355
373
  <SortableContext
356
- key={JSON.stringify(containers)}
374
+ key={containers.join(",")}
357
375
  items={containers}
358
376
  strategy={verticalListSortingStrategy}
359
377
  >
@@ -1,9 +1,8 @@
1
1
  import type { NavigationEntry } from "@rebasepro/types";
2
2
  import { useNavigate } from "react-router-dom";
3
3
  ;
4
- import { Chip, Collapse } from "@rebasepro/ui";
5
- import { StarIcon } from "lucide-react";
6
- import { useUserConfigurationPersistence } from "@rebasepro/core";
4
+ import { Chip, Collapse, StarIcon } from "@rebasepro/ui";
5
+ import { useUserConfigurationPersistence } from "@rebasepro/app";
7
6
  import { useNavigationStateController } from "../../index";
8
7
 
9
8
  function NavigationChip({ entry }: { entry: NavigationEntry }) {
@@ -2,6 +2,7 @@ import type { NavigationEntry } from "@rebasepro/types";
2
2
  import React, { useCallback, useEffect, useRef, useState } from "react";
3
3
  import {
4
4
  Active,
5
+ Over,
5
6
  closestCenter,
6
7
  closestCorners,
7
8
  CollisionDetection,
@@ -347,7 +348,7 @@ export function useHomePageDnd({
347
348
  const handleDragOver = ({
348
349
  active,
349
350
  over
350
- }: { active: Active; over: any }) => {
351
+ }: { active: Active; over: Over | null }) => {
351
352
  if (disabled || !over) return;
352
353
 
353
354
  const activeIdNow = active.id;
@@ -398,7 +399,7 @@ export function useHomePageDnd({
398
399
  const handleDragEnd = ({
399
400
  active,
400
401
  over
401
- }: { active: Active; over: any }) => {
402
+ }: { active: Active; over: Over | null }) => {
402
403
  if (disabled || !over) {
403
404
  resetDragState();
404
405
  return;
@@ -1,5 +1,4 @@
1
- import { Card, cls, Markdown, Typography } from "@rebasepro/ui";
2
- import { ArrowRightIcon } from "lucide-react";
1
+ import { ArrowRightIcon, Card, cls, iconSize, Markdown, Typography } from "@rebasepro/ui";
3
2
  import React from "react";
4
3
 
5
4
  export type NavigationCardProps = {
@@ -26,10 +25,8 @@ export const NavigationCard = React.memo(function NavigationCard({
26
25
  return (
27
26
  <Card
28
27
  className={cls(
29
- "group h-full p-5 cursor-pointer transition-all duration-200 ease-in-out",
30
- "border-surface-200/40 dark:border-surface-700/40",
31
- "hover:-translate-y-0.5 hover:shadow-md hover:shadow-primary/5",
32
- "hover:border-primary/30 dark:hover:border-primary/20",
28
+ "group h-full p-4 cursor-pointer transition-colors duration-150 ease-in-out",
29
+ "hover:bg-primary/5 dark:hover:bg-primary/5",
33
30
  shrink && "w-full max-w-full min-h-0 scale-75"
34
31
  )}
35
32
  onClick={() => {
@@ -40,8 +37,8 @@ export const NavigationCard = React.memo(function NavigationCard({
40
37
  <div className="flex flex-col h-full">
41
38
  {/* Header: title + icon left, actions right */}
42
39
  <div className="flex items-center w-full justify-between mb-1">
43
- <div className="flex items-center gap-4">
44
- <div className="flex items-center justify-center w-7 h-7 rounded-lg bg-primary/8 dark:bg-primary/10 text-primary/70 dark:text-primary/60 transition-colors duration-200 group-hover:bg-primary/12 dark:group-hover:bg-primary/15 group-hover:text-primary dark:group-hover:text-primary/80">
40
+ <div className="flex items-center gap-3">
41
+ <div className="flex items-center justify-center w-5 h-5 text-surface-400 dark:text-surface-500 transition-colors duration-150 group-hover:text-primary dark:group-hover:text-primary">
45
42
  {icon}
46
43
  </div>
47
44
  <Typography variant="subtitle1"
@@ -61,7 +58,7 @@ export const NavigationCard = React.memo(function NavigationCard({
61
58
  </div>
62
59
 
63
60
  {/* Description */}
64
- <div className="grow pl-[44px]">
61
+ <div className="pl-8">
65
62
  {description && <Typography variant="caption"
66
63
  color="secondary"
67
64
  component="div">
@@ -70,17 +67,13 @@ export const NavigationCard = React.memo(function NavigationCard({
70
67
  </div>
71
68
 
72
69
  {additionalContent && (
73
- <div className="pl-[44px] pointer-events-none">
70
+ <div className="pl-8 pointer-events-none">
74
71
  {additionalContent}
75
72
  </div>
76
73
  )}
77
74
 
78
- {/* Arrow */}
79
- <div className="self-end mt-1">
80
- <div className={"transition-transform duration-200 group-hover:translate-x-0.5"}>
81
- <ArrowRightIcon className="text-primary"/>
82
- </div>
83
- </div>
75
+ {/* Spacer pushes content above to align at the top across grid siblings */}
76
+ <div className="grow"/>
84
77
 
85
78
  </div>
86
79
 
@@ -1,14 +1,13 @@
1
- import type { NavigationEntry, EntityCollection } from "@rebasepro/types";
1
+ import type { NavigationEntry, CollectionConfig } from "@rebasepro/types";
2
2
  import { useNavigate } from "react-router-dom";
3
3
  ;
4
- import { IconButton, Tooltip } from "@rebasepro/ui";
5
- import { StarIcon } from "lucide-react";
4
+ import { IconButton, StarIcon, Tooltip } from "@rebasepro/ui";
6
5
  import { NavigationCard } from "./NavigationCard";
7
6
  import { SmallNavigationCard } from "./SmallNavigationCard";
8
7
  import React from "react";
9
- import { useRebaseContext, useSlot } from "@rebasepro/core";
10
- import { IconForView } from "@rebasepro/core";
11
- import { useUserConfigurationPersistence } from "@rebasepro/core";
8
+ import { useRebaseContext, useSlot } from "@rebasepro/app";
9
+ import { IconForView } from "@rebasepro/app";
10
+ import { useUserConfigurationPersistence } from "@rebasepro/app";
12
11
 
13
12
  /**
14
13
  * This is the component used in the home page to render a card for each
@@ -39,7 +38,7 @@ export function NavigationCardBinding({
39
38
  }) {
40
39
 
41
40
  const userConfigurationPersistence = useUserConfigurationPersistence();
42
- const collectionIcon = <IconForView collectionOrView={collection ?? view}/>;
41
+ const collectionIcon = <IconForView collectionOrView={collection ?? view} size={"small"}/>;
43
42
 
44
43
  const navigate = useNavigate();
45
44
  const context = useRebaseContext();
@@ -1,7 +1,6 @@
1
1
  import React, { PropsWithChildren, useState } from "react";
2
- import { cls, IconButton, Typography, ExpandablePanel , iconSize } from "@rebasepro/ui";
3
- import { PencilIcon } from "lucide-react";
4
- import { useTranslation } from "@rebasepro/core";
2
+ import { cls, ExpandablePanel, IconButton, iconSize, PencilIcon, Typography } from "@rebasepro/ui";
3
+ import { useTranslation } from "@rebasepro/app";
5
4
 
6
5
  export function NavigationGroup({
7
6
  children,
@@ -40,8 +39,8 @@ export function NavigationGroup({
40
39
  component={"h2"}
41
40
  color="secondary"
42
41
  className={cls(
43
- "p-4 py-2 rounded",
44
- "font-medium text-sm text-surface-600 dark:text-surface-400"
42
+ "px-4 py-1 rounded",
43
+ "font-medium text-[10px] uppercase tracking-[0.08em] text-primary/50 dark:text-primary/70"
45
44
  )}
46
45
  >
47
46
  {currentGroupName}
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useRef, useState } from "react";
2
2
  import { Button, Dialog, DialogActions, DialogContent, DialogTitle, TextField } from "@rebasepro/ui";
3
- import { useTranslation } from "@rebasepro/core";
3
+ import { useTranslation } from "@rebasepro/app";
4
4
 
5
5
  interface RenameGroupDialogProps {
6
6
  open: boolean;
@@ -1,5 +1,4 @@
1
1
  import { cardClickableMixin, cardMixin, cls, Typography } from "@rebasepro/ui";
2
- import { ArrowRightIcon } from "lucide-react";
3
2
 
4
3
  import { Link } from "react-router-dom";
5
4
 
@@ -36,11 +35,7 @@ export function SmallNavigationCard({
36
35
  </Typography>
37
36
  </div>
38
37
 
39
- <div className={"p-2"}>
40
- <ArrowRightIcon className="text-primary"/>
41
- </div>
42
38
  </Link>
43
39
 
44
40
  </>);
45
41
  }
46
-
@@ -1,8 +1,8 @@
1
1
  import React, { useRef } from "react";
2
2
  import { Highlight, themes } from "prism-react-renderer";
3
- import { useModeController } from "@rebasepro/core";
3
+ import { useModeController } from "@rebasepro/app";
4
4
 
5
- export function EntityJsonPreview({ values }: { values: object }) {
5
+ export function JsonPreviewBinding({ values }: { values: object }) {
6
6
  const code = JSON.stringify(values, null, "\t");
7
7
  const { mode } = useModeController();
8
8
  const preRef = useRef<HTMLPreElement>(null);
@@ -101,7 +101,7 @@ export const PropertyCollectionView = ({
101
101
  suppressHeader = false,
102
102
  size = "small"
103
103
  }: {
104
- data: any;
104
+ data: unknown;
105
105
  properties: Properties;
106
106
  baseKey?: string;
107
107
  suppressHeader?: boolean;
@@ -258,6 +258,7 @@ export const PropertyCollectionView = ({
258
258
  <div className={baseKey ? `pl-4 mt-1 border-l ${defaultBorderMixin}` : ""}>
259
259
  {Object.entries(data).map(([key, value]) => {
260
260
  if (value === null || value === undefined) return null;
261
+ if (baseKey === "" && !properties[key]) return null;
261
262
  const currentKey = baseKey ? `${baseKey}.${key}` : key;
262
263
  return (
263
264
  <PropertyCollectionView
@@ -1,5 +1,4 @@
1
- import { IconButton, Tooltip, Typography } from "@rebasepro/ui";
2
- import { CopyIcon } from "lucide-react";
1
+ import { CopyIcon, IconButton, Tooltip, Typography } from "@rebasepro/ui";
3
2
  import { useCallback, useState } from "react";
4
3
 
5
4
  export function PropertyIdCopyTooltip({
@@ -9,7 +8,7 @@ export function PropertyIdCopyTooltip({
9
8
  }: {
10
9
  propertyKey: string,
11
10
  className?: string,
12
- children: any
11
+ children: React.ReactNode
13
12
  }) {
14
13
  return <Tooltip title={<PropertyIdCopyTooltipContent propertyKey={propertyKey}/>}
15
14
  delayDuration={800}
@@ -1,6 +1,6 @@
1
1
  import React, { useLayoutEffect } from "react";
2
- import { useRebaseRegistryDispatch } from "@rebasepro/core";
3
- import type { RebaseCMSConfig } from "@rebasepro/types";
2
+ import { useRebaseRegistryDispatch } from "@rebasepro/app";
3
+ import type { RebaseAdminConfig } from "@rebasepro/types";
4
4
 
5
5
  /**
6
6
  * Declarative component to configure the CMS in Rebase.
@@ -10,18 +10,20 @@ import type { RebaseCMSConfig } from "@rebasepro/types";
10
10
  * is auto-wired as a native feature (slots, provider, Studio view) without
11
11
  * needing any external plugin.
12
12
  */
13
- export function RebaseCMS({ collections, homePage, entityViews, entityActions, plugins, collectionEditor }: RebaseCMSConfig) {
13
+ export function RebaseAdmin({ collections, views, homePage, entityViews, entityActions, collectionEditor, navigationGroupMappings, basePath }: RebaseAdminConfig) {
14
14
  const dispatch = useRebaseRegistryDispatch();
15
15
 
16
16
  useLayoutEffect(() => {
17
17
  dispatch.registerCMS({ collections,
18
+ views,
18
19
  homePage,
19
20
  entityViews,
20
21
  entityActions,
21
- plugins,
22
- collectionEditor });
22
+ collectionEditor,
23
+ navigationGroupMappings,
24
+ basePath });
23
25
  return () => dispatch.unregisterCMS();
24
- }, [dispatch, collections, homePage, entityViews, entityActions, plugins, collectionEditor]);
26
+ }, [dispatch, collections, views, homePage, entityViews, entityActions, collectionEditor, navigationGroupMappings, basePath]);
25
27
 
26
28
  return null;
27
29
  }