@rebasepro/admin 0.8.0 → 0.9.1-canary.09aaf62

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 (408) hide show
  1. package/README.md +26 -26
  2. package/dist/{CollectionEditorDialog-BO_aQ-Z4.js → CollectionEditorDialog-DbPpDDwb.js} +40 -18
  3. package/dist/CollectionEditorDialog-DbPpDDwb.js.map +1 -0
  4. package/dist/{PropertyEditView-DKzOpMjR.js → PropertyEditView-DfJbZ67t.js} +81 -73
  5. package/dist/PropertyEditView-DfJbZ67t.js.map +1 -0
  6. package/dist/{RouterCollectionsStudioView-BQTIExjA.js → RouterCollectionsStudioView-C6XQ7Il5.js} +5 -5
  7. package/dist/RouterCollectionsStudioView-C6XQ7Il5.js.map +1 -0
  8. package/dist/collection_editor/_cms_internals.d.ts +3 -3
  9. package/dist/collection_editor/api/generateCollectionApi.d.ts +8 -8
  10. package/dist/collection_editor/extensibility_types.d.ts +3 -3
  11. package/dist/collection_editor/index.d.ts +2 -2
  12. package/dist/collection_editor/pgColumnToProperty.d.ts +3 -3
  13. package/dist/collection_editor/serializable_types.d.ts +7 -7
  14. package/dist/collection_editor/serializable_utils.d.ts +8 -8
  15. package/dist/collection_editor/types/collection_editor_controller.d.ts +5 -5
  16. package/dist/collection_editor/types/collection_inference.d.ts +2 -2
  17. package/dist/collection_editor/types/config_controller.d.ts +7 -7
  18. package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +2 -2
  19. package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +2 -2
  20. package/dist/collection_editor/ui/KanbanSetupAction.d.ts +2 -2
  21. package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +2 -2
  22. package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +3 -3
  23. package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +2 -2
  24. package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +4 -4
  25. package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +2 -2
  26. package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +2 -2
  27. package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +4 -4
  28. package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +2 -2
  29. package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +2 -2
  30. package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +2 -2
  31. package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +2 -2
  32. package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +2 -2
  33. package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +5 -5
  34. package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +3 -3
  35. package/dist/collection_editor/ui/collection_editor/SwitchControl.d.ts +1 -1
  36. package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +2 -2
  37. package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +2 -2
  38. package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +2 -2
  39. package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +2 -2
  40. package/dist/collection_editor/useLocalCollectionsConfigController.d.ts +2 -2
  41. package/dist/collection_editor/useSafeSnackbarController.d.ts +1 -1
  42. package/dist/collection_editor/validateCollectionJson.d.ts +2 -2
  43. package/dist/collection_editor_ui.js +5 -5
  44. package/dist/collection_editor_ui.js.map +1 -1
  45. package/dist/components/CollectionPanel.d.ts +4 -4
  46. package/dist/components/{EntityCollectionTable/EntityCollectionRowActions.d.ts → CollectionTableBinding/CollectionRowActions.d.ts} +3 -3
  47. package/dist/components/CollectionTableBinding/CollectionTableBinding.d.ts +28 -0
  48. package/dist/components/{EntityCollectionTable/EntityCollectionTableProps.d.ts → CollectionTableBinding/CollectionTableBindingProps.d.ts} +2 -2
  49. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.d.ts +2 -2
  50. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.d.ts +2 -2
  51. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.d.ts +2 -2
  52. package/dist/components/CollectionTableBinding/index.d.ts +6 -0
  53. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.d.ts +1 -1
  54. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.d.ts +2 -2
  55. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.d.ts +3 -3
  56. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.d.ts +1 -1
  57. package/dist/components/{EntityCollectionView/EntityBoardCard.d.ts → CollectionViewBinding/BoardCardBinding.d.ts} +8 -8
  58. package/dist/components/{EntityCollectionView/EntityCollectionBoardView.d.ts → CollectionViewBinding/CollectionBoardViewBinding.d.ts} +4 -4
  59. package/dist/components/{EntityCollectionView/EntityCollectionCardView.d.ts → CollectionViewBinding/CollectionCardViewBinding.d.ts} +5 -5
  60. package/dist/components/{EntityCollectionView/EntityCollectionListView.d.ts → CollectionViewBinding/CollectionListViewBinding.d.ts} +4 -4
  61. package/dist/components/{EntityCollectionView/EntityCollectionViewActions.d.ts → CollectionViewBinding/CollectionViewActions.d.ts} +4 -4
  62. package/dist/components/{EntityCollectionView/EntityCollectionView.d.ts → CollectionViewBinding/CollectionViewBinding.d.ts} +4 -4
  63. package/dist/components/{EntityCollectionView/EntityCollectionViewStartActions.d.ts → CollectionViewBinding/CollectionViewStartActions.d.ts} +4 -4
  64. package/dist/components/CollectionViewBinding/EntityCardBinding.d.ts +21 -0
  65. package/dist/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.d.ts +3 -3
  66. package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.d.ts +3 -3
  67. package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.d.ts +2 -2
  68. package/dist/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.d.ts +2 -2
  69. package/dist/components/{EntityCollectionView/useEntityPreviewSlots.d.ts → CollectionViewBinding/usePreviewSlots.d.ts} +5 -5
  70. package/dist/components/DeleteEntityDialog.d.ts +4 -4
  71. package/dist/components/{EntityDetailView.d.ts → DetailViewBinding.d.ts} +5 -5
  72. package/dist/components/EditFormActions.d.ts +3 -0
  73. package/dist/components/{EntityEditView.d.ts → EditViewBinding.d.ts} +9 -9
  74. package/dist/components/{EntityPreview.d.ts → EntityPreviewBinding.d.ts} +13 -13
  75. package/dist/components/EntityViewBinding.d.ts +13 -0
  76. package/dist/components/{EntityJsonPreview.d.ts → JsonPreviewBinding.d.ts} +1 -1
  77. package/dist/components/{RebaseCMS.d.ts → RebaseAdmin.d.ts} +2 -2
  78. package/dist/components/RebaseLayout.d.ts +5 -4
  79. package/dist/components/RebaseNavigation.d.ts +1 -1
  80. package/dist/components/RebaseShell.d.ts +1 -0
  81. package/dist/components/ReferenceTable/{EntitySelectionTable.d.ts → SelectionTableBinding.d.ts} +5 -5
  82. package/dist/components/SelectableTable/SelectableTable.d.ts +6 -6
  83. package/dist/components/SelectableTable/SelectableTableContext.d.ts +3 -3
  84. package/dist/components/SelectableTable/SelectionStore.d.ts +2 -2
  85. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +6 -1
  86. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +7 -1
  87. package/dist/components/SelectableTable/filters/FilterFieldBinding.d.ts +40 -0
  88. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +7 -1
  89. package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +7 -1
  90. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +7 -1
  91. package/dist/components/SideDialogs.d.ts +1 -1
  92. package/dist/components/SidePanelBinding.d.ts +11 -0
  93. package/dist/components/{SideEntityProvider.d.ts → SidePanelProvider.d.ts} +7 -7
  94. package/dist/components/history/EntityHistoryEntry.d.ts +2 -2
  95. package/dist/components/history/LastEditedByIndicator.d.ts +2 -2
  96. package/dist/components/index.d.ts +15 -14
  97. package/dist/contexts/SidePanelControllerContext.d.ts +3 -0
  98. package/dist/data_export/export/ExportCollectionAction.d.ts +3 -3
  99. package/dist/data_import/components/ImportSaveInProgress.d.ts +2 -2
  100. package/dist/editor.js +1 -1
  101. package/dist/editor.js.map +1 -1
  102. package/dist/form/EntityForm.d.ts +1 -1
  103. package/dist/form/PropertyFieldBinding.d.ts +1 -1
  104. package/dist/form/components/LocalChangesMenu.d.ts +1 -1
  105. package/dist/form/components/StorageUploadProgress.d.ts +1 -1
  106. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +1 -1
  107. package/dist/form/form_utils.d.ts +2 -2
  108. package/dist/{history-B3cqBzEV.js → history-GSa4BgDt.js} +7 -7
  109. package/dist/history-GSa4BgDt.js.map +1 -0
  110. package/dist/hooks/index.d.ts +4 -4
  111. package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +2 -2
  112. package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +5 -5
  113. package/dist/hooks/navigation/useNavigationResolution.d.ts +4 -4
  114. package/dist/hooks/navigation/useResolvedCollections.d.ts +7 -7
  115. package/dist/hooks/navigation/useTopLevelNavigation.d.ts +2 -2
  116. package/dist/hooks/navigation/utils.d.ts +5 -5
  117. package/dist/hooks/useBuildSidePanel.d.ts +6 -0
  118. package/dist/hooks/useCMSContext.d.ts +2 -2
  119. package/dist/hooks/{useEntityHistory.d.ts → useHistory.d.ts} +1 -1
  120. package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
  121. package/dist/hooks/{useEntitySelectionDialog.d.ts → useSelectionDialog.d.ts} +2 -2
  122. package/dist/hooks/useSideDialogsController.d.ts +1 -1
  123. package/dist/hooks/useSidePanel.d.ts +11 -0
  124. package/dist/index.d.ts +2 -2
  125. package/dist/index.js +2 -2
  126. package/dist/{src-cxV1ODRG.js → src-B8WuGSPZ.js} +886 -692
  127. package/dist/src-B8WuGSPZ.js.map +1 -0
  128. package/dist/types/components/EntityFormActionsProps.d.ts +2 -2
  129. package/dist/types/components/EntityFormProps.d.ts +3 -3
  130. package/dist/types/components/formex.d.ts +1 -1
  131. package/dist/types/fields.d.ts +2 -2
  132. package/dist/util/dataControllerAdapter.d.ts +2 -5
  133. package/dist/util/navigation_utils.d.ts +6 -6
  134. package/dist/util/previews.d.ts +3 -3
  135. package/dist/util/property_utils.d.ts +2 -2
  136. package/dist/util/{entity_view_constants.d.ts → view_constants.d.ts} +1 -1
  137. package/package.json +12 -17
  138. package/src/collection_editor/ConfigControllerProvider.tsx +11 -11
  139. package/src/collection_editor/_cms_internals.ts +3 -3
  140. package/src/collection_editor/api/generateCollectionApi.ts +8 -8
  141. package/src/collection_editor/extensibility_types.ts +3 -3
  142. package/src/collection_editor/index.ts +3 -3
  143. package/src/collection_editor/pgColumnToProperty.ts +3 -3
  144. package/src/collection_editor/serializable_types.ts +8 -8
  145. package/src/collection_editor/serializable_utils.ts +17 -17
  146. package/src/collection_editor/types/collection_editor_controller.tsx +5 -5
  147. package/src/collection_editor/types/collection_inference.ts +2 -2
  148. package/src/collection_editor/types/config_controller.tsx +7 -7
  149. package/src/collection_editor/ui/AddKanbanColumnAction.tsx +3 -3
  150. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +3 -3
  151. package/src/collection_editor/ui/EditorCollectionAction.tsx +3 -3
  152. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +3 -3
  153. package/src/collection_editor/ui/EditorEntityAction.tsx +3 -3
  154. package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +1 -1
  155. package/src/collection_editor/ui/KanbanSetupAction.tsx +3 -3
  156. package/src/collection_editor/ui/MissingReferenceWidget.tsx +1 -1
  157. package/src/collection_editor/ui/NewCollectionButton.tsx +1 -1
  158. package/src/collection_editor/ui/NewCollectionCard.tsx +1 -1
  159. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +3 -3
  160. package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +6 -6
  161. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +6 -6
  162. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +29 -29
  163. package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +5 -5
  164. package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +2 -2
  165. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +10 -10
  166. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +38 -7
  167. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +3 -3
  168. package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +3 -3
  169. package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +3 -3
  170. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +4 -4
  171. package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +5 -5
  172. package/src/collection_editor/ui/collection_editor/EntityActionsSelectDialog.tsx +1 -1
  173. package/src/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.tsx +1 -1
  174. package/src/collection_editor/ui/collection_editor/EnumForm.tsx +2 -2
  175. package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +7 -7
  176. package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +5 -5
  177. package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +4 -4
  178. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +9 -9
  179. package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +46 -37
  180. package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +2 -2
  181. package/src/collection_editor/ui/collection_editor/RouterCollectionStudioView.tsx +1 -1
  182. package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +7 -7
  183. package/src/collection_editor/ui/collection_editor/SwitchControl.tsx +1 -1
  184. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.tsx +4 -4
  185. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +4 -4
  186. package/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx +1 -1
  187. package/src/collection_editor/ui/collection_editor/properties/BooleanPropertyField.tsx +1 -1
  188. package/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx +2 -2
  189. package/src/collection_editor/ui/collection_editor/properties/DateTimePropertyField.tsx +2 -2
  190. package/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx +2 -2
  191. package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +2 -2
  192. package/src/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.tsx +2 -2
  193. package/src/collection_editor/ui/collection_editor/properties/NumberPropertyField.tsx +2 -2
  194. package/src/collection_editor/ui/collection_editor/properties/ReferencePropertyField.tsx +2 -2
  195. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +3 -3
  196. package/src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.tsx +1 -1
  197. package/src/collection_editor/ui/collection_editor/properties/StoragePropertyField.tsx +2 -2
  198. package/src/collection_editor/ui/collection_editor/properties/StringPropertyField.tsx +2 -2
  199. package/src/collection_editor/ui/collection_editor/properties/UrlPropertyField.tsx +1 -1
  200. package/src/collection_editor/ui/collection_editor/properties/VectorPropertyField.tsx +1 -1
  201. package/src/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.tsx +1 -1
  202. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.tsx +1 -1
  203. package/src/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.tsx +1 -1
  204. package/src/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.tsx +2 -2
  205. package/src/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.tsx +2 -2
  206. package/src/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.tsx +2 -2
  207. package/src/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.tsx +2 -2
  208. package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +2 -2
  209. package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +2 -2
  210. package/src/collection_editor/ui/collection_editor/templates/products_template.ts +2 -2
  211. package/src/collection_editor/ui/collection_editor/templates/users_template.ts +2 -2
  212. package/src/collection_editor/useJsonCollectionsConfigController.tsx +13 -13
  213. package/src/collection_editor/useLocalCollectionsConfigController.tsx +4 -4
  214. package/src/collection_editor/useSafeSnackbarController.ts +1 -1
  215. package/src/collection_editor/validateCollectionJson.ts +3 -3
  216. package/src/components/AdminModeSyncer.tsx +1 -1
  217. package/src/components/ArrayContainer.tsx +1 -1
  218. package/src/components/ClearFilterSortButton.tsx +1 -1
  219. package/src/components/CollectionPanel.tsx +14 -17
  220. package/src/components/{EntityCollectionTable/EntityCollectionRowActions.tsx → CollectionTableBinding/CollectionRowActions.tsx} +8 -8
  221. package/src/components/{EntityCollectionTable/EntityCollectionTable.tsx → CollectionTableBinding/CollectionTableBinding.tsx} +13 -13
  222. package/src/components/{EntityCollectionTable/EntityCollectionTableProps.tsx → CollectionTableBinding/CollectionTableBindingProps.tsx} +2 -2
  223. package/src/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.tsx +1 -1
  224. package/src/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.tsx +1 -1
  225. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.tsx +7 -7
  226. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.tsx +10 -10
  227. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.tsx +7 -7
  228. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.tsx +1 -1
  229. package/src/components/CollectionTableBinding/index.tsx +14 -0
  230. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.tsx +1 -1
  231. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.tsx +2 -2
  232. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.tsx +1 -1
  233. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.tsx +2 -2
  234. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.tsx +6 -6
  235. package/src/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.tsx +1 -1
  236. package/src/components/{EntityCollectionView/EntityBoardCard.tsx → CollectionViewBinding/BoardCardBinding.tsx} +17 -17
  237. package/src/components/{EntityCollectionView/EntityCollectionBoardView.tsx → CollectionViewBinding/CollectionBoardViewBinding.tsx} +17 -16
  238. package/src/components/{EntityCollectionView/EntityCollectionCardView.tsx → CollectionViewBinding/CollectionCardViewBinding.tsx} +9 -9
  239. package/src/components/{EntityCollectionView/EntityCollectionListView.tsx → CollectionViewBinding/CollectionListViewBinding.tsx} +15 -15
  240. package/src/components/{EntityCollectionView/EntityCollectionViewActions.tsx → CollectionViewBinding/CollectionViewActions.tsx} +7 -7
  241. package/src/components/{EntityCollectionView/EntityCollectionView.tsx → CollectionViewBinding/CollectionViewBinding.tsx} +107 -92
  242. package/src/components/{EntityCollectionView/EntityCollectionViewStartActions.tsx → CollectionViewBinding/CollectionViewStartActions.tsx} +6 -6
  243. package/src/components/{EntityCollectionView/EntityCard.tsx → CollectionViewBinding/EntityCardBinding.tsx} +12 -12
  244. package/src/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.tsx +49 -72
  245. package/src/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.tsx +10 -10
  246. package/src/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.tsx +1 -1
  247. package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.ts +6 -6
  248. package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.ts +5 -5
  249. package/src/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.tsx +25 -13
  250. package/src/components/{EntityCollectionView/useEntityPreviewSlots.ts → CollectionViewBinding/usePreviewSlots.ts} +9 -9
  251. package/src/components/DefaultAppBar.tsx +3 -3
  252. package/src/components/DefaultDrawer.tsx +3 -3
  253. package/src/components/DeleteEntityDialog.tsx +7 -7
  254. package/src/components/{EntityDetailView.tsx → DetailViewBinding.tsx} +28 -31
  255. package/src/components/DrawerNavigationGroup.tsx +2 -2
  256. package/src/components/{EntityEditViewFormActions.tsx → EditFormActions.tsx} +16 -16
  257. package/src/components/{EntityEditView.tsx → EditViewBinding.tsx} +34 -37
  258. package/src/components/{EntityPreview.tsx → EntityPreviewBinding.tsx} +30 -30
  259. package/src/components/{EntityView.tsx → EntityViewBinding.tsx} +7 -7
  260. package/src/components/HomePage/ContentHomePage.tsx +4 -4
  261. package/src/components/HomePage/FavouritesView.tsx +1 -1
  262. package/src/components/HomePage/NavigationCardBinding.tsx +4 -4
  263. package/src/components/HomePage/NavigationGroup.tsx +1 -1
  264. package/src/components/HomePage/RenameGroupDialog.tsx +1 -1
  265. package/src/components/{EntityJsonPreview.tsx → JsonPreviewBinding.tsx} +2 -2
  266. package/src/components/{RebaseCMS.tsx → RebaseAdmin.tsx} +6 -5
  267. package/src/components/RebaseAuthGate.tsx +2 -2
  268. package/src/components/RebaseLayout.tsx +7 -13
  269. package/src/components/RebaseNavigation.tsx +35 -11
  270. package/src/components/RebaseRouteDefs.tsx +2 -2
  271. package/src/components/RebaseShell.tsx +2 -1
  272. package/src/components/ReferenceTable/{EntitySelectionTable.tsx → SelectionTableBinding.tsx} +27 -24
  273. package/src/components/ReferenceWidget.tsx +4 -4
  274. package/src/components/RelationSelector.tsx +15 -13
  275. package/src/components/SearchIconsView.tsx +2 -2
  276. package/src/components/SelectableTable/SelectableTable.tsx +35 -88
  277. package/src/components/SelectableTable/SelectableTableContext.tsx +3 -3
  278. package/src/components/SelectableTable/SelectionStore.ts +4 -4
  279. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +10 -2
  280. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +34 -13
  281. package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +187 -0
  282. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +22 -8
  283. package/src/components/SelectableTable/filters/RelationFilterField.tsx +17 -3
  284. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +67 -13
  285. package/src/components/SideDialogs.tsx +4 -4
  286. package/src/components/{EntitySidePanel.tsx → SidePanelBinding.tsx} +20 -20
  287. package/src/components/{SideEntityProvider.tsx → SidePanelProvider.tsx} +17 -17
  288. package/src/components/UserSelector.tsx +1 -1
  289. package/src/components/admin/CreationResultDialog.tsx +6 -3
  290. package/src/components/app/Scaffold.tsx +6 -2
  291. package/src/components/common/default_entity_actions.tsx +132 -34
  292. package/src/components/field_configs.tsx +1 -1
  293. package/src/components/history/EntityHistoryEntry.tsx +3 -3
  294. package/src/components/history/EntityHistoryView.tsx +7 -7
  295. package/src/components/history/LastEditedByIndicator.tsx +4 -4
  296. package/src/components/index.ts +16 -15
  297. package/src/contexts/SidePanelControllerContext.tsx +5 -0
  298. package/src/data_export/export/BasicExportAction.tsx +1 -1
  299. package/src/data_export/export/ExportCollectionAction.tsx +5 -5
  300. package/src/data_import/components/DataNewPropertiesMapping.tsx +1 -1
  301. package/src/data_import/components/ImportFileUpload.tsx +1 -1
  302. package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +1 -1
  303. package/src/data_import/components/ImportSaveInProgress.tsx +4 -4
  304. package/src/data_import/import/ImportCollectionAction.tsx +6 -6
  305. package/src/data_import/utils/data.ts +4 -4
  306. package/src/data_import/utils/get_properties_mapping.ts +1 -1
  307. package/src/editor/components/image-bubble.tsx +1 -1
  308. package/src/editor/components/table-bubble.tsx +1 -1
  309. package/src/editor/editor.tsx +1 -1
  310. package/src/editor/selectors/link-selector.tsx +1 -1
  311. package/src/editor/selectors/node-selector.tsx +1 -1
  312. package/src/form/EntityForm.tsx +6 -6
  313. package/src/form/EntityFormActions.tsx +4 -4
  314. package/src/form/EntityFormBinding.tsx +10 -10
  315. package/src/form/PropertyFieldBinding.tsx +7 -7
  316. package/src/form/components/ErrorFocus.tsx +1 -1
  317. package/src/form/components/LocalChangesMenu.tsx +3 -3
  318. package/src/form/components/StorageItemPreview.tsx +1 -1
  319. package/src/form/components/StorageUploadProgress.tsx +3 -3
  320. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +1 -1
  321. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +5 -5
  322. package/src/form/field_bindings/BlockFieldBinding.tsx +2 -2
  323. package/src/form/field_bindings/DateTimeFieldBinding.tsx +1 -1
  324. package/src/form/field_bindings/KeyValueFieldBinding.tsx +21 -21
  325. package/src/form/field_bindings/MapFieldBinding.tsx +1 -1
  326. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +2 -2
  327. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +3 -3
  328. package/src/form/field_bindings/ReferenceFieldBinding.tsx +7 -7
  329. package/src/form/field_bindings/RelationFieldBinding.tsx +4 -4
  330. package/src/form/field_bindings/RepeatFieldBinding.tsx +1 -1
  331. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +3 -3
  332. package/src/form/form_utils.ts +3 -3
  333. package/src/hooks/index.ts +4 -4
  334. package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +2 -2
  335. package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +11 -11
  336. package/src/hooks/navigation/useBuildNavigationStateController.tsx +5 -5
  337. package/src/hooks/navigation/useNavigationResolution.ts +28 -13
  338. package/src/hooks/navigation/useResolvedCollections.ts +8 -8
  339. package/src/hooks/navigation/useTopLevelNavigation.ts +2 -2
  340. package/src/hooks/navigation/utils.ts +5 -5
  341. package/src/hooks/{useBuildSideEntityController.tsx → useBuildSidePanel.tsx} +29 -29
  342. package/src/hooks/useCMSContext.tsx +7 -7
  343. package/src/hooks/{useEntityHistory.ts → useHistory.ts} +2 -2
  344. package/src/hooks/useResolvedNavigationFrom.tsx +10 -5
  345. package/src/hooks/{useEntitySelectionDialog.tsx → useSelectionDialog.tsx} +7 -7
  346. package/src/hooks/useSideDialogsController.tsx +1 -1
  347. package/src/hooks/useSidePanel.tsx +13 -0
  348. package/src/index.ts +15 -15
  349. package/src/preview/PropertyPreview.tsx +2 -2
  350. package/src/preview/components/DatePreview.tsx +1 -1
  351. package/src/preview/components/EnumValuesChip.tsx +1 -1
  352. package/src/preview/components/ImagePreview.tsx +1 -1
  353. package/src/preview/components/ReferencePreview.tsx +11 -11
  354. package/src/preview/components/RelationPreview.tsx +13 -12
  355. package/src/preview/components/StorageThumbnail.tsx +1 -1
  356. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +1 -1
  357. package/src/preview/property_previews/ArrayOneOfPreview.tsx +1 -1
  358. package/src/preview/property_previews/ArrayPropertyPreview.tsx +1 -1
  359. package/src/routes/RebaseRoute.tsx +12 -12
  360. package/src/types/components/EntityFormActionsProps.tsx +2 -2
  361. package/src/types/components/EntityFormProps.tsx +3 -3
  362. package/src/types/components/formex.tsx +1 -1
  363. package/src/types/fields.tsx +2 -2
  364. package/src/util/dataControllerAdapter.ts +9 -15
  365. package/src/util/navigation_utils.ts +7 -7
  366. package/src/util/previews.ts +7 -5
  367. package/src/util/property_utils.tsx +2 -2
  368. package/src/util/{entity_view_constants.ts → view_constants.ts} +1 -1
  369. package/dist/CollectionEditorDialog-BO_aQ-Z4.js.map +0 -1
  370. package/dist/PropertyEditView-DKzOpMjR.js.map +0 -1
  371. package/dist/RouterCollectionsStudioView-BQTIExjA.js.map +0 -1
  372. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +0 -28
  373. package/dist/components/EntityCollectionTable/index.d.ts +0 -6
  374. package/dist/components/EntityCollectionView/EntityCard.d.ts +0 -21
  375. package/dist/components/EntityEditViewFormActions.d.ts +0 -3
  376. package/dist/components/EntitySidePanel.d.ts +0 -11
  377. package/dist/components/EntityView.d.ts +0 -13
  378. package/dist/contexts/SideEntityControllerContext.d.ts +0 -3
  379. package/dist/history-B3cqBzEV.js.map +0 -1
  380. package/dist/hooks/useBuildSideEntityController.d.ts +0 -6
  381. package/dist/hooks/useSideEntityController.d.ts +0 -11
  382. package/dist/src-cxV1ODRG.js.map +0 -1
  383. package/src/components/EntityCollectionTable/index.tsx +0 -14
  384. package/src/contexts/SideEntityControllerContext.tsx +0 -5
  385. package/src/hooks/useSideEntityController.tsx +0 -13
  386. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.d.ts +0 -0
  387. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.d.ts +0 -0
  388. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.d.ts +0 -0
  389. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.d.ts +0 -0
  390. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.d.ts +0 -0
  391. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.d.ts +0 -0
  392. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.d.ts +0 -0
  393. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.d.ts +0 -0
  394. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.d.ts +0 -0
  395. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.d.ts +0 -0
  396. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/FilterPresetsButton.d.ts +0 -0
  397. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.d.ts +0 -0
  398. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.d.ts +0 -0
  399. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.d.ts +0 -0
  400. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/utils.d.ts +0 -0
  401. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.tsx +0 -0
  402. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.tsx +0 -0
  403. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.tsx +0 -0
  404. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.tsx +0 -0
  405. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.tsx +0 -0
  406. /package/src/components/{EntityCollectionView → CollectionViewBinding}/FilterPresetsButton.tsx +0 -0
  407. /package/src/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.tsx +0 -0
  408. /package/src/components/{EntityCollectionView → CollectionViewBinding}/utils.ts +0 -0
@@ -1,21 +1,20 @@
1
-
2
- import type { AdditionalFieldDelegate, EntityCollection } from "@rebasepro/types";
3
- import type { EntityAction, Property } from "@rebasepro/types";
1
+ import type { AdditionalFieldDelegate, EntityAction, CollectionConfig, Property } from "@rebasepro/types";
2
+ import {
3
+ CollectionSize,
4
+ Entity,
5
+ EntityReference,
6
+ EntityTableController,
7
+ FilterValues,
8
+ getCollectionDataPath,
9
+ PartialCollectionConfig,
10
+ ViewMode
11
+ } from "@rebasepro/types";
4
12
  import React, { useCallback, useEffect, useMemo, useState } from "react";
5
13
  import { useSearchParams } from "react-router-dom";
6
14
 
7
15
  import { deepEqual as equal } from "fast-equals"
8
-
9
-
10
- const EMPTY_ARRAY: never[] = [];
11
- const DEFAULT_ENTITY_OPEN_MODE = "split";
12
-
13
- import { CollectionSize, Entity, EntityReference, EntityTableController, FilterValues, getCollectionDataPath, PartialEntityCollection, ViewMode } from "@rebasepro/types";
14
- import {
15
- EntityCollectionRowActions,
16
- EntityCollectionTable
17
- } from "../EntityCollectionTable";
18
- import { CollectionTableToolbar } from "../EntityCollectionTable/internal/CollectionTableToolbar";
16
+ import { CollectionRowActions, CollectionTableBinding } from "../CollectionTableBinding";
17
+ import { CollectionTableToolbar } from "../CollectionTableBinding/internal/CollectionTableToolbar";
19
18
  import { getSubcollections } from "@rebasepro/common";
20
19
  import { useCollectionInlineEditor } from "./hooks/useCollectionInlineEditor";
21
20
  import { navigateToEntity } from "../../util/navigation_utils";
@@ -24,47 +23,63 @@ import { resolveEntityAction } from "../../util/resolutions";
24
23
  import { getPropertyInPath } from "../../util/property_utils";
25
24
  import { ReferencePreview } from "../../preview";
26
25
  import {
26
+ CollectionScopeProvider,
27
+ OnColumnResizeParams,
28
+ useAnalyticsController,
27
29
  useAuthController,
30
+ useColumnIds,
31
+ useComponentOverride,
28
32
  useCustomizationController,
29
33
  useData,
30
34
  useDataTableController,
31
35
  useLargeLayout,
32
36
  usePermissions,
33
- useTranslation,
37
+ useScrollRestoration,
34
38
  useSlot,
35
- IconForView,
36
- useComponentOverride,
37
- CollectionComponentOverrideProvider
38
- } from "@rebasepro/core";
39
- import { useUserConfigurationPersistence } from "@rebasepro/core";
40
- import { EntityCollectionViewActions } from "./EntityCollectionViewActions";
41
- import { EntityCollectionCardView } from "./EntityCollectionCardView";
42
- import { EntityCollectionListView } from "./EntityCollectionListView";
39
+ useTranslation,
40
+ useUserConfigurationPersistence
41
+ } from "@rebasepro/app";
42
+ import { CollectionViewActions } from "./CollectionViewActions";
43
+ import { CollectionCardViewBinding } from "./CollectionCardViewBinding";
44
+ import { CollectionListViewBinding } from "./CollectionListViewBinding";
43
45
  import { SplitListView } from "./SplitListView";
44
- import { EntityCollectionBoardView } from "./EntityCollectionBoardView";
45
- import { ViewModeToggle, KanbanPropertyOption } from "./ViewModeToggle";
46
- import { Button, cls, focusedDisabled, IconButton, Markdown, Popover, Skeleton, TextField, Tooltip, Typography, VirtualTableColumn, iconSize } from "@rebasepro/ui";
47
- import { ArrowRightToLineIcon, ErrorBoundary, PlusIcon, SearchIcon } from "@rebasepro/ui";
48
- import { setIn } from "@rebasepro/formex";
49
- import { getSubcollectionColumnId } from "../EntityCollectionTable/internal/common";
46
+ import { CollectionBoardViewBinding } from "./CollectionBoardViewBinding";
47
+ import { KanbanPropertyOption, ViewModeToggle } from "./ViewModeToggle";
50
48
  import {
51
- copyEntityAction,
52
- deleteEntityAction,
53
- editEntityAction
54
- } from "../common/default_entity_actions";
55
- import { OnCellValueChange, OnColumnResizeParams, UniqueFieldValidator } from "@rebasepro/core";
56
- import { useColumnIds } from "@rebasepro/core";
57
- import { PopupFormField } from "../EntityCollectionTable/internal/popup_field/PopupFormField";
58
- import { GetPropertyForProps } from "../EntityCollectionTable/EntityCollectionTableProps";
49
+ ArrowRightToLineIcon,
50
+ Button,
51
+ cls,
52
+ ErrorBoundary,
53
+ focusedDisabled,
54
+ IconButton,
55
+ iconSize,
56
+ PlusIcon,
57
+ Popover,
58
+ SearchIcon,
59
+ TextField,
60
+ Tooltip,
61
+ Typography,
62
+ VirtualTableColumn
63
+ } from "@rebasepro/ui";
64
+ import { getSubcollectionColumnId } from "../CollectionTableBinding/internal/common";
65
+ import { copyEntityAction, deleteEntityAction, editEntityAction } from "../common/default_entity_actions";
66
+ import { PopupFormField } from "../CollectionTableBinding/internal/popup_field/PopupFormField";
67
+ import { GetPropertyForProps } from "../CollectionTableBinding/CollectionTableBindingProps";
59
68
  import { DeleteEntityDialog } from "../DeleteEntityDialog";
60
- import { useAnalyticsController } from "@rebasepro/core";
61
69
  import { useSelectionController } from "./useSelectionController";
62
- import { EntityCollectionViewStartActions } from "./EntityCollectionViewStartActions";
70
+ import { CollectionViewStartActions } from "./CollectionViewStartActions";
63
71
  import { addRecentId, getRecentIds } from "./utils";
64
- import { useScrollRestoration } from "@rebasepro/core";
65
72
  import { mergeDeep } from "@rebasepro/utils";
66
- import { useCollectionRegistryController, useUrlController, useSideEntityController, useCMSContext } from "../../index";
67
- import { useBreadcrumbsController } from "../../index";
73
+ import {
74
+ useBreadcrumbsController,
75
+ useCMSContext,
76
+ useCollectionRegistryController,
77
+ useSidePanel,
78
+ useUrlController
79
+ } from "../../index";
80
+
81
+ const EMPTY_ARRAY: never[] = [];
82
+ const DEFAULT_ENTITY_OPEN_MODE = "split";
68
83
 
69
84
  function getOpenEntityMode(
70
85
  viewMode: ViewMode,
@@ -80,7 +95,7 @@ function getOpenEntityMode(
80
95
  /**
81
96
  * @group Components
82
97
  */
83
- export type EntityCollectionViewProps<M extends Record<string, unknown>> = {
98
+ export type CollectionViewBindingProps<M extends Record<string, unknown>> = {
84
99
  /**
85
100
  * Complete path where this collection is located.
86
101
  * It defaults to the collection path if not provided.
@@ -118,23 +133,23 @@ export type EntityCollectionViewProps<M extends Record<string, unknown>> = {
118
133
  */
119
134
  selectedTab?: string;
120
135
 
121
- } & EntityCollection<M>;
136
+ } & CollectionConfig<M>;
122
137
 
123
138
  /**
124
- * This component is in charge of binding a driver path with an {@link EntityCollection}
139
+ * This component is in charge of binding a driver path with an {@link CollectionConfig}
125
140
  * where it's configuration is defined. It includes an infinite scrolling table
126
141
  * and a 'Add' new entities button,
127
142
  *
128
143
  * This component is the default one used for displaying entity collections
129
144
  * and is in charge of generating all the specific actions and customization
130
- * of the lower level {@link EntityCollectionTable}
145
+ * of the lower level {@link CollectionTableBinding}
131
146
  *
132
147
  * Please **note** that you only need to use this component if you are building
133
148
  * a custom view. If you just need to create a default view you can do it
134
149
  * exclusively with config options.
135
150
  *
136
151
  * If you need a lower level implementation with more granular options, you
137
- * can use {@link EntityCollectionTable}.
152
+ * can use {@link CollectionTableBinding}.
138
153
  *
139
154
  * If you need a generic table that is not bound to the driver or entities and
140
155
  * properties at all, you can check {@link VirtualTable}
@@ -144,8 +159,8 @@ export type EntityCollectionViewProps<M extends Record<string, unknown>> = {
144
159
 
145
160
  * @group Components
146
161
  */
147
- const EntityCollectionViewInner = React.memo(
148
- function EntityCollectionViewInner<M extends Record<string, unknown>>({
162
+ const CollectionViewBindingInner = React.memo(
163
+ function CollectionViewBindingInner<M extends Record<string, unknown>>({
149
164
  path: pathProp,
150
165
 
151
166
  parentCollectionSlugs, parentEntityIds,
@@ -155,7 +170,7 @@ const EntityCollectionViewInner = React.memo(
155
170
  selectedEntityId: selectedEntityIdProp,
156
171
  selectedTab: selectedTabProp,
157
172
  ...collectionProp
158
- }: EntityCollectionViewProps<M>
173
+ }: CollectionViewBindingProps<M>
159
174
  ) {
160
175
 
161
176
  const { t } = useTranslation();
@@ -165,7 +180,7 @@ const EntityCollectionViewInner = React.memo(
165
180
  const breadcrumbs = useBreadcrumbsController();
166
181
  const path = pathProp ?? getCollectionDataPath(collectionProp);
167
182
  const dataClient = useData();
168
- const sideEntityController = useSideEntityController();
183
+ const sidePanelController = useSidePanel();
169
184
  const authController = useAuthController();
170
185
  const userConfigPersistence = useUserConfigurationPersistence();
171
186
  const analyticsController = useAnalyticsController();
@@ -179,7 +194,7 @@ const EntityCollectionViewInner = React.memo(
179
194
  const collection = useMemo(() => {
180
195
  const registryCollection = collectionRegistry.getCollection(path) || collectionProp;
181
196
  const userOverride = userConfigPersistence?.getCollectionConfig<M>(path);
182
- return (userOverride ? mergeDeep(registryCollection, userOverride) : registryCollection) as EntityCollection<M>;
197
+ return (userOverride ? mergeDeep(registryCollection, userOverride) : registryCollection) as CollectionConfig<M>;
183
198
  }, [collectionProp, path, userConfigPersistence, collectionRegistry]);
184
199
 
185
200
  const collectionRef = React.useRef(collection);
@@ -346,14 +361,14 @@ const EntityCollectionViewInner = React.memo(
346
361
  navigateToEntity({
347
362
  navigation: urlController,
348
363
  path: entityPath,
349
- sideEntityController,
364
+ sidePanelController,
350
365
  openEntityMode,
351
366
  collection,
352
367
  entityId: clickedEntity.id,
353
368
  replace: openEntityMode === "split" && selectedEntityIdProp !== undefined
354
369
  });
355
370
 
356
- }, [sideEntityController, openEntityMode, selectedEntityIdProp, path, urlController, analyticsController]);
371
+ }, [sidePanelController, openEntityMode, selectedEntityIdProp, path, urlController, analyticsController]);
357
372
 
358
373
  const onNewClick = useCallback(() => {
359
374
  const collection = collectionRef.current;
@@ -365,11 +380,11 @@ const EntityCollectionViewInner = React.memo(
365
380
  collection,
366
381
  entityId: undefined,
367
382
  path: path,
368
- sideEntityController,
383
+ sidePanelController,
369
384
  navigation: urlController,
370
385
  onClose: unselectNavigatedEntity
371
386
  })
372
- }, [path, sideEntityController]);
387
+ }, [path, sidePanelController]);
373
388
 
374
389
  const openNewDocument = useCallback((defaultValues?: Record<string, unknown>) => {
375
390
  const collection = collectionRef.current;
@@ -382,11 +397,11 @@ const EntityCollectionViewInner = React.memo(
382
397
  entityId: undefined,
383
398
  defaultValues,
384
399
  path: path,
385
- sideEntityController,
400
+ sidePanelController,
386
401
  navigation: urlController,
387
402
  onClose: unselectNavigatedEntity
388
403
  });
389
- }, [path, sideEntityController, openEntityMode, urlController, unselectNavigatedEntity]);
404
+ }, [path, sidePanelController, openEntityMode, urlController, unselectNavigatedEntity]);
390
405
 
391
406
  const onMultipleDeleteClick = () => {
392
407
  analyticsController.onAnalyticsEvent?.("multiple_delete_dialog_open", {
@@ -447,7 +462,7 @@ parentEntityIds: parentEntityIds ?? EMPTY_ARRAY,
447
462
  collection
448
463
  });
449
464
 
450
- const onCollectionModifiedForUser = useCallback((path: string, partialCollection: PartialEntityCollection<M>) => {
465
+ const onCollectionModifiedForUser = useCallback((path: string, partialCollection: PartialCollectionConfig<M>) => {
451
466
  if (userConfigPersistence) {
452
467
  const currentStoredConfig = userConfigPersistence.getCollectionConfig(path);
453
468
  const updatedConfig = mergeDeep(currentStoredConfig, partialCollection);
@@ -463,7 +478,7 @@ parentEntityIds: parentEntityIds ?? EMPTY_ARRAY,
463
478
  const collection = collectionRef.current;
464
479
  // Only for property columns
465
480
  if (!getPropertyInPath(collection.properties, key)) return;
466
- const localCollection = buildPropertyWidthOverwrite(key, width) as PartialEntityCollection<M>;
481
+ const localCollection = buildPropertyWidthOverwrite(key, width) as PartialCollectionConfig<M>;
467
482
  onCollectionModifiedForUser(path, localCollection);
468
483
  }, [onCollectionModifiedForUser, path]);
469
484
 
@@ -489,7 +504,7 @@ parentEntityIds: parentEntityIds ?? EMPTY_ARRAY,
489
504
  setViewMode(mode);
490
505
  // Save to local persistence for next visit
491
506
  if (userConfigPersistence) {
492
- onCollectionModifiedForUser(path, { defaultViewMode: mode } as PartialEntityCollection<M>);
507
+ onCollectionModifiedForUser(path, { defaultViewMode: mode } as PartialCollectionConfig<M>);
493
508
  }
494
509
  }, [setViewMode, userConfigPersistence, onCollectionModifiedForUser, path, analyticsController, viewMode]);
495
510
 
@@ -583,7 +598,7 @@ parentEntityIds: parentEntityIds ?? EMPTY_ARRAY,
583
598
  setSelectedKanbanProperty(property);
584
599
  // Save to local persistence
585
600
  if (userConfigPersistence) {
586
- onCollectionModifiedForUser(path, { kanbanColumnProperty: property } as PartialEntityCollection<M>);
601
+ onCollectionModifiedForUser(path, { kanbanColumnProperty: property } as PartialCollectionConfig<M>);
587
602
  }
588
603
  }, [userConfigPersistence, onCollectionModifiedForUser, path, analyticsController]);
589
604
 
@@ -620,7 +635,7 @@ parentEntityIds: parentEntityIds ?? EMPTY_ARRAY,
620
635
  const additionalFields = useMemo(() => {
621
636
  // v4: use getSubcollections helper to access subcollections
622
637
  const subcollectionsList = getSubcollections(collection);
623
- const subcollectionColumns: AdditionalFieldDelegate<M, any>[] = subcollectionsList.map((subcollection: EntityCollection) => {
638
+ const subcollectionColumns: AdditionalFieldDelegate<M, any>[] = subcollectionsList.map((subcollection: CollectionConfig) => {
624
639
  return {
625
640
  key: getSubcollectionColumnId(subcollection),
626
641
  name: subcollection.name,
@@ -639,7 +654,7 @@ parentEntityIds: parentEntityIds ?? EMPTY_ARRAY,
639
654
  selectedTab: subcollection.slug,
640
655
  path: path,
641
656
  navigation: urlController,
642
- sideEntityController
657
+ sidePanelController
643
658
  })
644
659
  }}>
645
660
  {subcollection.name}
@@ -652,7 +667,7 @@ parentEntityIds: parentEntityIds ?? EMPTY_ARRAY,
652
667
  ...(collection.additionalFields ?? EMPTY_ARRAY),
653
668
  ...subcollectionColumns
654
669
  ];
655
- }, [collection, path, sideEntityController]);
670
+ }, [collection, path, sidePanelController]);
656
671
 
657
672
  const updateLastDeleteTimestamp = useCallback(() => {
658
673
  setLastDeleteTimestamp(Date.now());
@@ -717,7 +732,7 @@ parentEntityIds: parentEntityIds ?? EMPTY_ARRAY,
717
732
  });
718
733
 
719
734
  return (
720
- <EntityCollectionRowActions
735
+ <CollectionRowActions
721
736
  entity={entity}
722
737
  width={width}
723
738
  frozen={frozen}
@@ -776,7 +791,7 @@ parentEntityIds: parentEntityIds ?? EMPTY_ARRAY,
776
791
  propertyKey,
777
792
  onHover,
778
793
  path,
779
- collection: collection as EntityCollection,
794
+ collection: collection as CollectionConfig,
780
795
  tableController: tableController as EntityTableController,
781
796
  parentCollectionSlugs: parentCollectionSlugs ?? EMPTY_ARRAY,
782
797
  parentEntityIds: parentEntityIds ?? EMPTY_ARRAY
@@ -832,7 +847,7 @@ parentEntityIds: parentEntityIds ?? EMPTY_ARRAY
832
847
 
833
848
  // Save to user configuration persistence (local storage)
834
849
  if (userConfigPersistence) {
835
- onCollectionModifiedForUser(path, { propertiesOrder: newPropertiesOrder } as PartialEntityCollection<M>);
850
+ onCollectionModifiedForUser(path, { propertiesOrder: newPropertiesOrder } as PartialCollectionConfig<M>);
836
851
  }
837
852
  }, [collection, setLocalPropertiesOrder, customizationController, path, parentCollectionSlugs, parentEntityIds, userConfigPersistence, onCollectionModifiedForUser]);
838
853
 
@@ -871,8 +886,8 @@ parentEntityIds,
871
886
  const isSearching = !!tableController.searchString;
872
887
  const isFilteredOrSorted = tableController.filterValues !== undefined || tableController.sortBy !== undefined || isSearching;
873
888
  const ResolvedEmptyState = useComponentOverride("Collection.EmptyState", DefaultCollectionEmptyState);
874
- const ResolvedCollectionActions = useComponentOverride("Collection.Actions", EntityCollectionViewActions);
875
- const ResolvedCollectionTable = useComponentOverride("Collection.Table", EntityCollectionTable) as typeof EntityCollectionTable;
889
+ const ResolvedCollectionActions = useComponentOverride("Collection.Actions", CollectionViewActions);
890
+ const ResolvedCollectionTable = useComponentOverride("Collection.Table", CollectionTableBinding) as typeof CollectionTableBinding;
876
891
  const emptyComponent = pluginEmptyStates.length > 0
877
892
  ? <>{pluginEmptyStates}</>
878
893
  : <ResolvedEmptyState
@@ -889,7 +904,7 @@ parentEntityIds,
889
904
  onTextSearch={tableController.setSearchString}
890
905
  initialSearchText={tableController.searchString}
891
906
  viewModeToggle={viewModeToggleElement}
892
- actionsStart={<EntityCollectionViewStartActions
907
+ actionsStart={<CollectionViewStartActions
893
908
  parentCollectionSlugs={parentCollectionSlugs ?? EMPTY_ARRAY} parentEntityIds={parentEntityIds ?? EMPTY_ARRAY}
894
909
  collection={collection}
895
910
  tableController={tableController}
@@ -920,7 +935,7 @@ parentEntityIds,
920
935
  }
921
936
  />
922
937
  ); const innerView = viewMode === "kanban" ? (
923
- <EntityCollectionBoardView
938
+ <CollectionBoardViewBinding
924
939
  key={`kanban-view-${path}-${selectedKanbanProperty}`}
925
940
  collection={collection}
926
941
  tableController={tableController}
@@ -935,7 +950,7 @@ parentEntityIds,
935
950
  emptyComponent={emptyComponent}
936
951
  />
937
952
  ) : viewMode === "cards" ? (
938
- <EntityCollectionCardView
953
+ <CollectionCardViewBinding
939
954
  key={`cards-view-${path}`}
940
955
  collection={collection}
941
956
  tableController={tableController}
@@ -949,7 +964,7 @@ parentEntityIds,
949
964
  emptyComponent={emptyComponent}
950
965
  />
951
966
  ) : viewMode === "list" ? (
952
- <EntityCollectionListView
967
+ <CollectionListViewBinding
953
968
  key={`list-view-${path}`}
954
969
  collection={collection}
955
970
  tableController={tableController}
@@ -1080,7 +1095,7 @@ parentEntityIds,
1080
1095
  </div>
1081
1096
  </div>
1082
1097
  )}
1083
- <EntityCollectionListView
1098
+ <CollectionListViewBinding
1084
1099
  key={`list-view-${path}`}
1085
1100
  collection={collection}
1086
1101
  tableController={tableController}
@@ -1195,26 +1210,26 @@ parentEntityIds,
1195
1210
  equal(a.fixedFilter, b.fixedFilter) &&
1196
1211
  equal(a.selectedEntityId, b.selectedEntityId) &&
1197
1212
  equal(a.selectedTab, b.selectedTab);
1198
- }) as React.FunctionComponent<EntityCollectionViewProps<any>>;
1213
+ }) as React.FunctionComponent<CollectionViewBindingProps<any>>;
1199
1214
 
1200
- export const EntityCollectionView = React.memo(
1201
- function EntityCollectionView<M extends Record<string, unknown>>(props: EntityCollectionViewProps<M>) {
1215
+ export const CollectionViewBinding = React.memo(
1216
+ function CollectionViewBinding<M extends Record<string, unknown>>(props: CollectionViewBindingProps<M>) {
1202
1217
  const collectionRegistry = useCollectionRegistryController();
1203
1218
  const path = props.path ?? props.slug;
1204
1219
  const collection = collectionRegistry.getCollection(path) ?? props;
1205
1220
 
1206
- const content = <EntityCollectionViewInner {...props} />;
1221
+ const content = <CollectionViewBindingInner {...props} />;
1207
1222
 
1208
- if (collection?.components) {
1223
+ if (collection) {
1209
1224
  return (
1210
- <CollectionComponentOverrideProvider overrides={collection.components}>
1225
+ <CollectionScopeProvider collection={collection as CollectionConfig}>
1211
1226
  {content}
1212
- </CollectionComponentOverrideProvider>
1227
+ </CollectionScopeProvider>
1213
1228
  );
1214
1229
  }
1215
1230
  return content;
1216
1231
  }
1217
- ) as React.FunctionComponent<EntityCollectionViewProps<any>>;
1232
+ ) as React.FunctionComponent<CollectionViewBindingProps<any>>;
1218
1233
 
1219
1234
  /**
1220
1235
  * Default empty state shown when a collection has no entities.
@@ -1272,7 +1287,7 @@ function EntitiesCount({
1272
1287
  onCountChange
1273
1288
  }: {
1274
1289
  path: string,
1275
- collection: EntityCollection,
1290
+ collection: CollectionConfig,
1276
1291
  filter?: FilterValues<any>,
1277
1292
  sortBy?: [string, "asc" | "desc"],
1278
1293
  onCountChange?: (count: number | null | undefined) => void,
@@ -1303,7 +1318,7 @@ function EntitiesCount({
1303
1318
 
1304
1319
  // filterValues is already FilterValues — pass directly
1305
1320
  const whereParams = filter && Object.keys(filter).length > 0 ? filter : undefined;
1306
- const orderByParams = sortByProperty ? `${String(sortByProperty)}:${currentSort}` : undefined;
1321
+ const orderByParams: [string, "asc" | "desc"] | undefined = sortByProperty && currentSort ? [String(sortByProperty), currentSort] : undefined;
1307
1322
 
1308
1323
  // Deduplicate inflight count requests (e.g. React StrictMode double-mount)
1309
1324
  const cacheKey = `${path}|${filterKey}|${sortByProperty ?? ""}|${currentSort ?? ""}`;
@@ -1332,12 +1347,12 @@ function EntitiesCount({
1332
1347
  return null;
1333
1348
  }
1334
1349
 
1335
- function buildPropertyWidthOverwrite(key: string, width: number): PartialEntityCollection {
1350
+ function buildPropertyWidthOverwrite(key: string, width: number): PartialCollectionConfig {
1336
1351
  if (key.includes(".")) {
1337
1352
  const [parentKey, ...childKey] = key.split(".");
1338
- return { properties: { [parentKey]: buildPropertyWidthOverwrite(childKey.join("."), width) } } as PartialEntityCollection;
1353
+ return { properties: { [parentKey]: buildPropertyWidthOverwrite(childKey.join("."), width) } } as PartialCollectionConfig;
1339
1354
  }
1340
- return { properties: { [key]: { ui: { columnWidth: width } } } } as PartialEntityCollection;
1355
+ return { properties: { [key]: { ui: { columnWidth: width } } } } as PartialCollectionConfig;
1341
1356
  }
1342
1357
 
1343
1358
  function EntityIdHeaderWidget({
@@ -1345,7 +1360,7 @@ function EntityIdHeaderWidget({
1345
1360
  path,
1346
1361
  idPath
1347
1362
  }: {
1348
- collection: EntityCollection,
1363
+ collection: CollectionConfig,
1349
1364
  path: string,
1350
1365
  idPath: string
1351
1366
  }) {
@@ -1355,7 +1370,7 @@ function EntityIdHeaderWidget({
1355
1370
  const [openPopup, setOpenPopup] = React.useState(false);
1356
1371
  const [searchString, setSearchString] = React.useState("");
1357
1372
  const [recentIds, setRecentIds] = React.useState<string[]>(getRecentIds(collection.slug).map(String));
1358
- const sideEntityController = useSideEntityController();
1373
+ const sidePanelController = useSidePanel();
1359
1374
 
1360
1375
  const openEntityMode = collection?.openEntityMode ?? DEFAULT_ENTITY_OPEN_MODE;
1361
1376
 
@@ -1387,7 +1402,7 @@ function EntityIdHeaderWidget({
1387
1402
  entityId,
1388
1403
  path,
1389
1404
 
1390
- sideEntityController,
1405
+ sidePanelController,
1391
1406
  navigation: urlController
1392
1407
  })
1393
1408
  }}
@@ -1425,7 +1440,7 @@ path })}
1425
1440
  entityId: id,
1426
1441
  path,
1427
1442
 
1428
- sideEntityController,
1443
+ sidePanelController,
1429
1444
  navigation: urlController
1430
1445
  })
1431
1446
  }}
@@ -1,7 +1,7 @@
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 React, { useState, useCallback } from "react";
4
- import { useAuthController, useLargeLayout, useTranslation, useSlot } from "@rebasepro/core";
4
+ import { useAuthController, useLargeLayout, useTranslation, useSlot } from "@rebasepro/app";
5
5
  import { CollectionActionsProps, EntityTableController, SelectionController } from "@rebasepro/types";
6
6
  import { ErrorBoundary, iconSize } from "@rebasepro/ui";
7
7
  import { ArrowLeftIcon, Badge, Button, cls, FilterIcon, IconButton, Tooltip } from "@rebasepro/ui";
@@ -12,8 +12,8 @@ import { toArray } from "@rebasepro/utils";
12
12
  import { useNavigate } from "react-router-dom";
13
13
  import { useUrlController, useCMSContext } from "../../index";
14
14
 
15
- export type EntityCollectionViewStartActionsProps<M extends Record<string, unknown>> = {
16
- collection: EntityCollection<M>;
15
+ export type CollectionViewStartActionsProps<M extends Record<string, unknown>> = {
16
+ collection: CollectionConfig<M>;
17
17
  path: string;
18
18
  relativePath: string;
19
19
  parentCollectionSlugs: string[], parentEntityIds: string[];
@@ -28,7 +28,7 @@ export type EntityCollectionViewStartActionsProps<M extends Record<string, unkno
28
28
  openNewDocument: (defaultValues?: Record<string, unknown>) => void;
29
29
  }
30
30
 
31
- export function EntityCollectionViewStartActions<M extends Record<string, unknown>>({
31
+ export function CollectionViewStartActions<M extends Record<string, unknown>>({
32
32
  collection,
33
33
  relativePath,
34
34
  parentCollectionSlugs, parentEntityIds,
@@ -39,7 +39,7 @@ export function EntityCollectionViewStartActions<M extends Record<string, unknow
39
39
  resolvedProperties,
40
40
  compact,
41
41
  openNewDocument
42
- }: EntityCollectionViewStartActionsProps<M>) {
42
+ }: CollectionViewStartActionsProps<M>) {
43
43
 
44
44
  const context = useCMSContext();
45
45
  const largeLayout = useLargeLayout();
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import React, { useMemo } from "react";
3
3
  import { CollectionSize, Entity } from "@rebasepro/types";
4
4
  import {
@@ -12,14 +12,14 @@ import { PropertyPreview } from "../../preview";
12
12
  import {
13
13
  useAuthController,
14
14
  useCustomizationController
15
- } from "@rebasepro/core";
16
- import { useAnalyticsController } from "@rebasepro/core";
17
- import { IconForView } from "@rebasepro/core";
18
- import { useCollectionSlotKeys, resolveEntitySlots } from "./useEntityPreviewSlots";
15
+ } from "@rebasepro/app";
16
+ import { useAnalyticsController } from "@rebasepro/app";
17
+ import { IconForView } from "@rebasepro/app";
18
+ import { useCollectionSlotKeys, resolveEntitySlots } from "./usePreviewSlots";
19
19
 
20
- export type EntityCardProps<M extends Record<string, unknown> = Record<string, unknown>> = {
20
+ export type EntityCardBindingProps<M extends Record<string, unknown> = Record<string, unknown>> = {
21
21
  entity: Entity<M>;
22
- collection: EntityCollection<M>;
22
+ collection: CollectionConfig<M>;
23
23
  onClick?: (entity: Entity<M>) => void;
24
24
  selected?: boolean;
25
25
  highlighted?: boolean;
@@ -32,10 +32,10 @@ export type EntityCardProps<M extends Record<string, unknown> = Record<string, u
32
32
  };
33
33
 
34
34
  /**
35
- * Card component for displaying an entity in a grid view.
35
+ * Card component for displaying a entity in a grid view.
36
36
  * Shows thumbnail, title, and preview properties via the shared slot system.
37
37
  */
38
- export function EntityCard<M extends Record<string, unknown> = Record<string, unknown>>({
38
+ export function EntityCardBinding<M extends Record<string, unknown> = Record<string, unknown>>({
39
39
  entity,
40
40
  collection,
41
41
  onClick,
@@ -44,13 +44,13 @@ export function EntityCard<M extends Record<string, unknown> = Record<string, un
44
44
  onSelectionChange,
45
45
  selectionEnabled,
46
46
  size = "m"
47
- }: EntityCardProps<M>) {
47
+ }: EntityCardBindingProps<M>) {
48
48
  const authController = useAuthController();
49
49
  const analyticsController = useAnalyticsController();
50
50
  const customizationController = useCustomizationController();
51
51
 
52
52
  const slotKeys = useCollectionSlotKeys(
53
- collection as EntityCollection<Record<string, unknown>>,
53
+ collection as CollectionConfig<Record<string, unknown>>,
54
54
  authController,
55
55
  customizationController.propertyConfigs
56
56
  );
@@ -58,7 +58,7 @@ export function EntityCard<M extends Record<string, unknown> = Record<string, un
58
58
  const slots = useMemo(
59
59
  () => resolveEntitySlots(
60
60
  entity as Entity<Record<string, unknown>>,
61
- collection as EntityCollection<Record<string, unknown>>,
61
+ collection as CollectionConfig<Record<string, unknown>>,
62
62
  slotKeys
63
63
  ),
64
64
  [entity, collection, slotKeys]