@rebasepro/admin 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/README.md +20 -20
  2. package/dist/{CollectionEditorDialog-BO_aQ-Z4.js → CollectionEditorDialog-B-7uW3iJ.js} +11 -11
  3. package/dist/CollectionEditorDialog-B-7uW3iJ.js.map +1 -0
  4. package/dist/{PropertyEditView-DKzOpMjR.js → PropertyEditView-7KMTcrqi.js} +78 -70
  5. package/dist/PropertyEditView-7KMTcrqi.js.map +1 -0
  6. package/dist/{RouterCollectionsStudioView-BQTIExjA.js → RouterCollectionsStudioView-epqIbZrJ.js} +4 -4
  7. package/dist/{RouterCollectionsStudioView-BQTIExjA.js.map → RouterCollectionsStudioView-epqIbZrJ.js.map} +1 -1
  8. package/dist/collection_editor/_cms_internals.d.ts +3 -3
  9. package/dist/collection_editor/api/generateCollectionApi.d.ts +4 -4
  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 +4 -4
  34. package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +3 -3
  35. package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +2 -2
  36. package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +2 -2
  37. package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +2 -2
  38. package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +2 -2
  39. package/dist/collection_editor/useLocalCollectionsConfigController.d.ts +2 -2
  40. package/dist/collection_editor/validateCollectionJson.d.ts +2 -2
  41. package/dist/collection_editor_ui.js +4 -4
  42. package/dist/components/CollectionPanel.d.ts +4 -4
  43. package/dist/components/{EntityCollectionTable/EntityCollectionRowActions.d.ts → CollectionTableBinding/CollectionRowActions.d.ts} +3 -3
  44. package/dist/components/CollectionTableBinding/CollectionTableBinding.d.ts +28 -0
  45. package/dist/components/{EntityCollectionTable/EntityCollectionTableProps.d.ts → CollectionTableBinding/CollectionTableBindingProps.d.ts} +1 -1
  46. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.d.ts +2 -2
  47. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.d.ts +2 -2
  48. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.d.ts +2 -2
  49. package/dist/components/CollectionTableBinding/index.d.ts +6 -0
  50. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.d.ts +2 -2
  51. package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.d.ts +2 -2
  52. package/dist/components/{EntityCollectionView/EntityBoardCard.d.ts → CollectionViewBinding/BoardCardBinding.d.ts} +8 -8
  53. package/dist/components/{EntityCollectionView/EntityCollectionBoardView.d.ts → CollectionViewBinding/CollectionBoardViewBinding.d.ts} +4 -4
  54. package/dist/components/{EntityCollectionView/EntityCollectionCardView.d.ts → CollectionViewBinding/CollectionCardViewBinding.d.ts} +5 -5
  55. package/dist/components/{EntityCollectionView/EntityCollectionListView.d.ts → CollectionViewBinding/CollectionListViewBinding.d.ts} +4 -4
  56. package/dist/components/{EntityCollectionView/EntityCollectionViewActions.d.ts → CollectionViewBinding/CollectionViewActions.d.ts} +4 -4
  57. package/dist/components/{EntityCollectionView/EntityCollectionView.d.ts → CollectionViewBinding/CollectionViewBinding.d.ts} +4 -4
  58. package/dist/components/{EntityCollectionView/EntityCollectionViewStartActions.d.ts → CollectionViewBinding/CollectionViewStartActions.d.ts} +4 -4
  59. package/dist/components/CollectionViewBinding/EntityCardBinding.d.ts +21 -0
  60. package/dist/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.d.ts +3 -3
  61. package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.d.ts +2 -2
  62. package/dist/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.d.ts +2 -2
  63. package/dist/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.d.ts +2 -2
  64. package/dist/components/{EntityCollectionView/useEntityPreviewSlots.d.ts → CollectionViewBinding/usePreviewSlots.d.ts} +5 -5
  65. package/dist/components/DeleteEntityDialog.d.ts +4 -4
  66. package/dist/components/{EntityDetailView.d.ts → DetailViewBinding.d.ts} +5 -5
  67. package/dist/components/EditFormActions.d.ts +3 -0
  68. package/dist/components/{EntityEditView.d.ts → EditViewBinding.d.ts} +9 -9
  69. package/dist/components/{EntityPreview.d.ts → EntityPreviewBinding.d.ts} +13 -13
  70. package/dist/components/EntityViewBinding.d.ts +13 -0
  71. package/dist/components/{EntityJsonPreview.d.ts → JsonPreviewBinding.d.ts} +1 -1
  72. package/dist/components/RebaseCMS.d.ts +1 -1
  73. package/dist/components/RebaseNavigation.d.ts +1 -1
  74. package/dist/components/ReferenceTable/{EntitySelectionTable.d.ts → SelectionTableBinding.d.ts} +5 -5
  75. package/dist/components/SelectableTable/SelectableTable.d.ts +5 -5
  76. package/dist/components/SelectableTable/SelectableTableContext.d.ts +3 -3
  77. package/dist/components/SelectableTable/SelectionStore.d.ts +2 -2
  78. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +6 -1
  79. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +7 -1
  80. package/dist/components/SelectableTable/filters/FilterFieldBinding.d.ts +40 -0
  81. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +7 -1
  82. package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +7 -1
  83. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +7 -1
  84. package/dist/components/SideDialogs.d.ts +1 -1
  85. package/dist/components/SidePanelBinding.d.ts +11 -0
  86. package/dist/components/{SideEntityProvider.d.ts → SidePanelProvider.d.ts} +7 -7
  87. package/dist/components/history/EntityHistoryEntry.d.ts +2 -2
  88. package/dist/components/history/LastEditedByIndicator.d.ts +2 -2
  89. package/dist/components/index.d.ts +14 -13
  90. package/dist/contexts/SidePanelControllerContext.d.ts +3 -0
  91. package/dist/data_export/export/ExportCollectionAction.d.ts +3 -3
  92. package/dist/data_import/components/ImportSaveInProgress.d.ts +2 -2
  93. package/dist/form/EntityForm.d.ts +1 -1
  94. package/dist/form/PropertyFieldBinding.d.ts +1 -1
  95. package/dist/form/form_utils.d.ts +2 -2
  96. package/dist/{history-B3cqBzEV.js → history-7X5bON_n.js} +4 -4
  97. package/dist/history-7X5bON_n.js.map +1 -0
  98. package/dist/hooks/index.d.ts +4 -4
  99. package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +2 -2
  100. package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +5 -5
  101. package/dist/hooks/navigation/useNavigationResolution.d.ts +4 -4
  102. package/dist/hooks/navigation/useResolvedCollections.d.ts +7 -7
  103. package/dist/hooks/navigation/useTopLevelNavigation.d.ts +2 -2
  104. package/dist/hooks/navigation/utils.d.ts +5 -5
  105. package/dist/hooks/useBuildSidePanel.d.ts +6 -0
  106. package/dist/hooks/useCMSContext.d.ts +2 -2
  107. package/dist/hooks/{useEntityHistory.d.ts → useHistory.d.ts} +1 -1
  108. package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
  109. package/dist/hooks/{useEntitySelectionDialog.d.ts → useSelectionDialog.d.ts} +2 -2
  110. package/dist/hooks/useSideDialogsController.d.ts +1 -1
  111. package/dist/hooks/useSidePanel.d.ts +11 -0
  112. package/dist/index.d.ts +2 -2
  113. package/dist/index.js +2 -2
  114. package/dist/{src-cxV1ODRG.js → src-sUZfe29F.js} +737 -647
  115. package/dist/src-sUZfe29F.js.map +1 -0
  116. package/dist/types/components/EntityFormActionsProps.d.ts +2 -2
  117. package/dist/types/components/EntityFormProps.d.ts +3 -3
  118. package/dist/types/fields.d.ts +2 -2
  119. package/dist/util/dataControllerAdapter.d.ts +2 -5
  120. package/dist/util/navigation_utils.d.ts +6 -6
  121. package/dist/util/previews.d.ts +3 -3
  122. package/dist/util/property_utils.d.ts +2 -2
  123. package/dist/util/{entity_view_constants.d.ts → view_constants.d.ts} +1 -1
  124. package/package.json +8 -8
  125. package/src/collection_editor/ConfigControllerProvider.tsx +10 -10
  126. package/src/collection_editor/_cms_internals.ts +3 -3
  127. package/src/collection_editor/api/generateCollectionApi.ts +4 -4
  128. package/src/collection_editor/extensibility_types.ts +3 -3
  129. package/src/collection_editor/index.ts +3 -3
  130. package/src/collection_editor/pgColumnToProperty.ts +3 -3
  131. package/src/collection_editor/serializable_types.ts +8 -8
  132. package/src/collection_editor/serializable_utils.ts +17 -17
  133. package/src/collection_editor/types/collection_editor_controller.tsx +5 -5
  134. package/src/collection_editor/types/collection_inference.ts +2 -2
  135. package/src/collection_editor/types/config_controller.tsx +7 -7
  136. package/src/collection_editor/ui/AddKanbanColumnAction.tsx +2 -2
  137. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +2 -2
  138. package/src/collection_editor/ui/EditorCollectionAction.tsx +2 -2
  139. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +2 -2
  140. package/src/collection_editor/ui/EditorEntityAction.tsx +2 -2
  141. package/src/collection_editor/ui/KanbanSetupAction.tsx +2 -2
  142. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +2 -2
  143. package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +5 -5
  144. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +3 -3
  145. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +26 -26
  146. package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +3 -3
  147. package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +2 -2
  148. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +8 -8
  149. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +2 -2
  150. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +2 -2
  151. package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +2 -2
  152. package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +2 -2
  153. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +2 -2
  154. package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +3 -3
  155. package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +5 -5
  156. package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +4 -4
  157. package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +2 -2
  158. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +7 -7
  159. package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +45 -36
  160. package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +1 -1
  161. package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +5 -5
  162. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.tsx +3 -3
  163. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +2 -2
  164. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +2 -2
  165. package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +2 -2
  166. package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +2 -2
  167. package/src/collection_editor/ui/collection_editor/templates/products_template.ts +2 -2
  168. package/src/collection_editor/ui/collection_editor/templates/users_template.ts +2 -2
  169. package/src/collection_editor/useJsonCollectionsConfigController.tsx +13 -13
  170. package/src/collection_editor/useLocalCollectionsConfigController.tsx +4 -4
  171. package/src/collection_editor/validateCollectionJson.ts +3 -3
  172. package/src/components/CollectionPanel.tsx +14 -17
  173. package/src/components/{EntityCollectionTable/EntityCollectionRowActions.tsx → CollectionTableBinding/CollectionRowActions.tsx} +6 -6
  174. package/src/components/{EntityCollectionTable/EntityCollectionTable.tsx → CollectionTableBinding/CollectionTableBinding.tsx} +10 -10
  175. package/src/components/{EntityCollectionTable/EntityCollectionTableProps.tsx → CollectionTableBinding/CollectionTableBindingProps.tsx} +1 -1
  176. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableMultipleRelationField.tsx +5 -5
  177. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableReferenceField.tsx +10 -10
  178. package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationField.tsx +5 -5
  179. package/src/components/CollectionTableBinding/index.tsx +14 -0
  180. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/common.tsx +2 -2
  181. package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/PopupFormField.tsx +2 -2
  182. package/src/components/{EntityCollectionView/EntityBoardCard.tsx → CollectionViewBinding/BoardCardBinding.tsx} +15 -15
  183. package/src/components/{EntityCollectionView/EntityCollectionBoardView.tsx → CollectionViewBinding/CollectionBoardViewBinding.tsx} +14 -13
  184. package/src/components/{EntityCollectionView/EntityCollectionCardView.tsx → CollectionViewBinding/CollectionCardViewBinding.tsx} +8 -8
  185. package/src/components/{EntityCollectionView/EntityCollectionListView.tsx → CollectionViewBinding/CollectionListViewBinding.tsx} +12 -12
  186. package/src/components/{EntityCollectionView/EntityCollectionViewActions.tsx → CollectionViewBinding/CollectionViewActions.tsx} +5 -5
  187. package/src/components/{EntityCollectionView/EntityCollectionView.tsx → CollectionViewBinding/CollectionViewBinding.tsx} +106 -91
  188. package/src/components/{EntityCollectionView/EntityCollectionViewStartActions.tsx → CollectionViewBinding/CollectionViewStartActions.tsx} +5 -5
  189. package/src/components/{EntityCollectionView/EntityCard.tsx → CollectionViewBinding/EntityCardBinding.tsx} +9 -9
  190. package/src/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.tsx +31 -72
  191. package/src/components/{EntityCollectionView → CollectionViewBinding}/SplitListView.tsx +9 -9
  192. package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useCollectionInlineEditor.ts +5 -5
  193. package/src/components/{EntityCollectionView → CollectionViewBinding}/hooks/useKanbanDragAndDrop.ts +4 -4
  194. package/src/components/{EntityCollectionView → CollectionViewBinding}/useBoardDataController.tsx +16 -10
  195. package/src/components/{EntityCollectionView/useEntityPreviewSlots.ts → CollectionViewBinding/usePreviewSlots.ts} +8 -8
  196. package/src/components/DeleteEntityDialog.tsx +6 -6
  197. package/src/components/{EntityDetailView.tsx → DetailViewBinding.tsx} +26 -29
  198. package/src/components/{EntityEditViewFormActions.tsx → EditFormActions.tsx} +12 -12
  199. package/src/components/{EntityEditView.tsx → EditViewBinding.tsx} +29 -32
  200. package/src/components/{EntityPreview.tsx → EntityPreviewBinding.tsx} +27 -27
  201. package/src/components/{EntityView.tsx → EntityViewBinding.tsx} +5 -5
  202. package/src/components/HomePage/NavigationCardBinding.tsx +1 -1
  203. package/src/components/{EntityJsonPreview.tsx → JsonPreviewBinding.tsx} +1 -1
  204. package/src/components/RebaseCMS.tsx +4 -3
  205. package/src/components/RebaseNavigation.tsx +17 -8
  206. package/src/components/ReferenceTable/{EntitySelectionTable.tsx → SelectionTableBinding.tsx} +22 -19
  207. package/src/components/ReferenceWidget.tsx +4 -4
  208. package/src/components/RelationSelector.tsx +14 -12
  209. package/src/components/SelectableTable/SelectableTable.tsx +34 -87
  210. package/src/components/SelectableTable/SelectableTableContext.tsx +3 -3
  211. package/src/components/SelectableTable/SelectionStore.ts +4 -4
  212. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +9 -1
  213. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +33 -12
  214. package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +187 -0
  215. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +21 -7
  216. package/src/components/SelectableTable/filters/RelationFilterField.tsx +17 -3
  217. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +66 -12
  218. package/src/components/SideDialogs.tsx +3 -3
  219. package/src/components/{EntitySidePanel.tsx → SidePanelBinding.tsx} +19 -19
  220. package/src/components/{SideEntityProvider.tsx → SidePanelProvider.tsx} +16 -16
  221. package/src/components/common/default_entity_actions.tsx +9 -9
  222. package/src/components/history/EntityHistoryEntry.tsx +2 -2
  223. package/src/components/history/EntityHistoryView.tsx +3 -3
  224. package/src/components/history/LastEditedByIndicator.tsx +2 -2
  225. package/src/components/index.ts +15 -14
  226. package/src/contexts/SidePanelControllerContext.tsx +5 -0
  227. package/src/data_export/export/ExportCollectionAction.tsx +4 -4
  228. package/src/data_import/components/ImportSaveInProgress.tsx +3 -3
  229. package/src/data_import/import/ImportCollectionAction.tsx +4 -4
  230. package/src/data_import/utils/data.ts +2 -2
  231. package/src/form/EntityForm.tsx +2 -2
  232. package/src/form/EntityFormActions.tsx +3 -3
  233. package/src/form/EntityFormBinding.tsx +6 -6
  234. package/src/form/PropertyFieldBinding.tsx +4 -4
  235. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +4 -4
  236. package/src/form/field_bindings/KeyValueFieldBinding.tsx +19 -19
  237. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +2 -2
  238. package/src/form/field_bindings/ReferenceFieldBinding.tsx +5 -5
  239. package/src/form/field_bindings/RelationFieldBinding.tsx +3 -3
  240. package/src/form/form_utils.ts +2 -2
  241. package/src/hooks/index.ts +4 -4
  242. package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +2 -2
  243. package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +11 -11
  244. package/src/hooks/navigation/useBuildNavigationStateController.tsx +5 -5
  245. package/src/hooks/navigation/useNavigationResolution.ts +10 -10
  246. package/src/hooks/navigation/useResolvedCollections.ts +8 -8
  247. package/src/hooks/navigation/useTopLevelNavigation.ts +2 -2
  248. package/src/hooks/navigation/utils.ts +5 -5
  249. package/src/hooks/{useBuildSideEntityController.tsx → useBuildSidePanel.tsx} +28 -28
  250. package/src/hooks/useCMSContext.tsx +6 -6
  251. package/src/hooks/{useEntityHistory.ts → useHistory.ts} +1 -1
  252. package/src/hooks/useResolvedNavigationFrom.tsx +8 -5
  253. package/src/hooks/{useEntitySelectionDialog.tsx → useSelectionDialog.tsx} +7 -7
  254. package/src/hooks/useSideDialogsController.tsx +1 -1
  255. package/src/hooks/useSidePanel.tsx +13 -0
  256. package/src/index.ts +12 -12
  257. package/src/preview/components/ReferencePreview.tsx +10 -10
  258. package/src/preview/components/RelationPreview.tsx +13 -12
  259. package/src/routes/RebaseRoute.tsx +10 -10
  260. package/src/types/components/EntityFormActionsProps.tsx +2 -2
  261. package/src/types/components/EntityFormProps.tsx +3 -3
  262. package/src/types/fields.tsx +2 -2
  263. package/src/util/dataControllerAdapter.ts +9 -15
  264. package/src/util/navigation_utils.ts +7 -7
  265. package/src/util/previews.ts +3 -3
  266. package/src/util/property_utils.tsx +2 -2
  267. package/src/util/{entity_view_constants.ts → view_constants.ts} +1 -1
  268. package/dist/CollectionEditorDialog-BO_aQ-Z4.js.map +0 -1
  269. package/dist/PropertyEditView-DKzOpMjR.js.map +0 -1
  270. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +0 -28
  271. package/dist/components/EntityCollectionTable/index.d.ts +0 -6
  272. package/dist/components/EntityCollectionView/EntityCard.d.ts +0 -21
  273. package/dist/components/EntityEditViewFormActions.d.ts +0 -3
  274. package/dist/components/EntitySidePanel.d.ts +0 -11
  275. package/dist/components/EntityView.d.ts +0 -13
  276. package/dist/contexts/SideEntityControllerContext.d.ts +0 -3
  277. package/dist/history-B3cqBzEV.js.map +0 -1
  278. package/dist/hooks/useBuildSideEntityController.d.ts +0 -6
  279. package/dist/hooks/useSideEntityController.d.ts +0 -11
  280. package/dist/src-cxV1ODRG.js.map +0 -1
  281. package/src/components/EntityCollectionTable/index.tsx +0 -14
  282. package/src/contexts/SideEntityControllerContext.tsx +0 -5
  283. package/src/hooks/useSideEntityController.tsx +0 -13
  284. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.d.ts +0 -0
  285. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.d.ts +0 -0
  286. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.d.ts +0 -0
  287. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.d.ts +0 -0
  288. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.d.ts +0 -0
  289. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.d.ts +0 -0
  290. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.d.ts +0 -0
  291. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.d.ts +0 -0
  292. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.d.ts +0 -0
  293. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.d.ts +0 -0
  294. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.d.ts +0 -0
  295. /package/dist/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.d.ts +0 -0
  296. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/FilterPresetsButton.d.ts +0 -0
  297. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/FiltersDialog.d.ts +0 -0
  298. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.d.ts +0 -0
  299. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.d.ts +0 -0
  300. /package/dist/components/{EntityCollectionView → CollectionViewBinding}/utils.d.ts +0 -0
  301. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/PropertyTableCell.tsx +0 -0
  302. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/column_utils.tsx +0 -0
  303. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableRelationSelectorField.tsx +0 -0
  304. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/TableStorageUpload.tsx +0 -0
  305. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableSelect.tsx +0 -0
  306. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/fields/VirtualTableUserSelect.tsx +0 -0
  307. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/CollectionTableToolbar.tsx +0 -0
  308. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCell.tsx +0 -0
  309. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/EntityTableCellActions.tsx +0 -0
  310. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useDraggable.tsx +0 -0
  311. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/internal/popup_field/useWindowSize.tsx +0 -0
  312. /package/src/components/{EntityCollectionTable → CollectionTableBinding}/table_bindings.tsx +0 -0
  313. /package/src/components/{EntityCollectionView → CollectionViewBinding}/FilterPresetsButton.tsx +0 -0
  314. /package/src/components/{EntityCollectionView → CollectionViewBinding}/ViewModeToggle.tsx +0 -0
  315. /package/src/components/{EntityCollectionView → CollectionViewBinding}/useSelectionController.tsx +0 -0
  316. /package/src/components/{EntityCollectionView → CollectionViewBinding}/utils.ts +0 -0
@@ -1,10 +1,10 @@
1
- import type { EntityCollection, Property, RelationProperty } from "@rebasepro/types";
1
+ import type { CollectionConfig, Property, RelationProperty } from "@rebasepro/types";
2
2
  import type { Entity, PropertyConfig } from "@rebasepro/types";
3
3
  import type { AuthController } from "@rebasepro/types";
4
4
  import { ChipColorScheme } from "@rebasepro/ui";
5
5
  /**
6
6
  * A resolved "slot" containing the property definition, key, and the
7
- * concrete value extracted from an entity.
7
+ * concrete value extracted from a entity.
8
8
  */
9
9
  export interface PreviewSlot {
10
10
  property: Property;
@@ -84,7 +84,7 @@ export interface CollectionSlotKeys {
84
84
  * Resolve which property key fills each slot for a given collection.
85
85
  * Pure function — call inside `useMemo`.
86
86
  */
87
- export declare function resolveCollectionSlotKeys(collection: EntityCollection<Record<string, unknown>>, authController: AuthController, propertyConfigs: Record<string, PropertyConfig>): CollectionSlotKeys;
87
+ export declare function resolveCollectionSlotKeys(collection: CollectionConfig<Record<string, unknown>>, authController: AuthController, propertyConfigs: Record<string, PropertyConfig>): CollectionSlotKeys;
88
88
  /**
89
89
  * Resolves which property key fills each preview slot for a collection.
90
90
  * Memoized — only recomputes when the collection definition changes.
@@ -92,10 +92,10 @@ export declare function resolveCollectionSlotKeys(collection: EntityCollection<R
92
92
  * Use this in the parent list/grid component, then pass the result to
93
93
  * `resolveEntitySlots` for each entity row.
94
94
  */
95
- export declare function useCollectionSlotKeys(collection: EntityCollection<Record<string, unknown>>, authController: AuthController, propertyConfigs: Record<string, PropertyConfig>): CollectionSlotKeys;
95
+ export declare function useCollectionSlotKeys(collection: CollectionConfig<Record<string, unknown>>, authController: AuthController, propertyConfigs: Record<string, PropertyConfig>): CollectionSlotKeys;
96
96
  /**
97
97
  * Resolve concrete slot values for a single entity.
98
98
  * This is a pure function (no hooks) so it can be called inside
99
99
  * `React.memo` render functions or loops without violating hook rules.
100
100
  */
101
- export declare function resolveEntitySlots(entity: Entity<Record<string, unknown>>, collection: EntityCollection<Record<string, unknown>>, slotKeys: CollectionSlotKeys): EntityPreviewSlots;
101
+ export declare function resolveEntitySlots(entity: Entity<Record<string, unknown>>, collection: CollectionConfig<Record<string, unknown>>, slotKeys: CollectionSlotKeys): EntityPreviewSlots;
@@ -1,13 +1,13 @@
1
- import type { EntityCollection } from "@rebasepro/types";
2
- import { Entity, EntityCallbacks } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
+ import { Entity, CollectionCallbacks } from "@rebasepro/types";
3
3
  import React from "react";
4
4
  export interface DeleteEntityDialogProps<M extends Record<string, unknown>> {
5
5
  entityOrEntitiesToDelete?: Entity<M> | Entity<M>[];
6
6
  path: string;
7
- collection: EntityCollection<M>;
7
+ collection: CollectionConfig<M>;
8
8
  open: boolean;
9
9
  onClose: () => void;
10
- callbacks?: EntityCallbacks<M>;
10
+ callbacks?: CollectionCallbacks<M>;
11
11
  onEntityDelete?(path: string, entity: Entity<M>): void;
12
12
  onMultipleEntitiesDelete?(path: string, entities: Entity<M>[]): void;
13
13
  }
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import React from "react";
3
3
  import { EntityStatus } from "@rebasepro/types";
4
4
  export type BarActionsParams = {
@@ -11,11 +11,11 @@ export type OnTabChangeParams<M extends Record<string, unknown>> = {
11
11
  path: string;
12
12
  entityId?: string | number;
13
13
  selectedTab?: string;
14
- collection: EntityCollection<M>;
14
+ collection: CollectionConfig<M>;
15
15
  };
16
- export interface EntityDetailViewProps<M extends Record<string, unknown> = Record<string, unknown>> {
16
+ export interface DetailViewBindingProps<M extends Record<string, unknown> = Record<string, unknown>> {
17
17
  path: string;
18
- collection: EntityCollection<M>;
18
+ collection: CollectionConfig<M>;
19
19
  entityId: string | number;
20
20
  selectedTab?: string;
21
21
  parentCollectionSlugs: string[];
@@ -25,4 +25,4 @@ export interface EntityDetailViewProps<M extends Record<string, unknown> = Recor
25
25
  layout?: "side_panel" | "full_screen" | "split" | "dialog";
26
26
  barActions?: (params: BarActionsParams) => React.ReactNode;
27
27
  }
28
- export declare function EntityDetailView<M extends Record<string, unknown>>({ entityId, ...props }: EntityDetailViewProps<M>): React.JSX.Element;
28
+ export declare function DetailViewBinding<M extends Record<string, unknown>>({ entityId, ...props }: DetailViewBindingProps<M>): React.JSX.Element;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { EntityFormActionsProps } from "../types/components/EntityFormActionsProps";
3
+ export declare function EditFormActions({ collection, path, entity, layout, savingError, formex, disabled, status, pluginActions, openEntityMode, showDefaultActions, navigateBack, formContext }: EntityFormActionsProps): React.JSX.Element;
@@ -1,9 +1,9 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import React from "react";
3
3
  import { Entity, EntityStatus } from "@rebasepro/types";
4
4
  import type { EntityFormBindingProps } from "../form";
5
5
  import type { OnUpdateParams } from "../types/components/EntityFormProps";
6
- import { MAIN_TAB_VALUE, JSON_TAB_VALUE, HISTORY_TAB_VALUE } from "../util/entity_view_constants";
6
+ import { MAIN_TAB_VALUE, JSON_TAB_VALUE, HISTORY_TAB_VALUE } from "../util/view_constants";
7
7
  export { MAIN_TAB_VALUE, JSON_TAB_VALUE, HISTORY_TAB_VALUE };
8
8
  export type BarActionsParams = {
9
9
  values: object;
@@ -15,14 +15,14 @@ export type OnTabChangeParams<M extends Record<string, unknown>> = {
15
15
  path: string;
16
16
  entityId?: string | number;
17
17
  selectedTab?: string;
18
- collection: EntityCollection<M>;
18
+ collection: CollectionConfig<M>;
19
19
  };
20
- export interface EntityEditViewProps<M extends Record<string, unknown> = Record<string, unknown>> {
20
+ export interface EditViewBindingProps<M extends Record<string, unknown> = Record<string, unknown>> {
21
21
  /**
22
22
  * The CMS path of the entity, e.g. "users" or "products".
23
23
  */
24
24
  path: string;
25
- collection: EntityCollection<M>;
25
+ collection: CollectionConfig<M>;
26
26
  entityId?: string | number;
27
27
  databaseId?: string;
28
28
  copy?: boolean;
@@ -39,16 +39,16 @@ export interface EntityEditViewProps<M extends Record<string, unknown> = Record<
39
39
  /**
40
40
  * Pre-populate the form with these values when creating a new entity.
41
41
  * Only applied when the form is in "new" mode (no entityId).
42
- * Sourced from EntitySidePanelProps (side panel) or location.state (full screen).
42
+ * Sourced from SidePanelBindingProps (side panel) or location.state (full screen).
43
43
  */
44
44
  defaultValues?: Partial<M>;
45
45
  }
46
46
  /**
47
47
  * This is the default view that is used as the content of a side panel when
48
- * an entity is opened.
48
+ * a record is opened.
49
49
  */
50
- export declare function EntityEditView<M extends Record<string, unknown>>({ entityId, ...props }: EntityEditViewProps<M>): React.JSX.Element;
51
- export declare function EntityEditViewInner<M extends Record<string, unknown>>({ path, entityId, selectedTab: selectedTabProp, collection, parentCollectionSlugs, parentEntityIds, onValuesModified, onSaved, onTabChange, navigateBack, entity, initialDirtyValues, dataLoading, layout, barActions, status, setStatus, formProps, canEdit }: EntityEditViewProps<M> & {
50
+ export declare function EditViewBinding<M extends Record<string, unknown>>({ entityId, ...props }: EditViewBindingProps<M>): React.JSX.Element;
51
+ export declare function EditViewBindingInner<M extends Record<string, unknown>>({ path, entityId, selectedTab: selectedTabProp, collection, parentCollectionSlugs, parentEntityIds, onValuesModified, onSaved, onTabChange, navigateBack, entity, initialDirtyValues, dataLoading, layout, barActions, status, setStatus, formProps, canEdit }: EditViewBindingProps<M> & {
52
52
  entity?: Entity<M>;
53
53
  initialDirtyValues?: Partial<M>;
54
54
  dataLoading: boolean;
@@ -1,11 +1,11 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import * as React from "react";
3
3
  import { Entity } from "@rebasepro/types";
4
4
  import type { PreviewSize } from "../types/components/PropertyPreviewProps";
5
- export type EntityPreviewProps = {
5
+ export type EntityPreviewBindingProps = {
6
6
  size?: PreviewSize;
7
7
  actions?: React.ReactNode;
8
- collection?: EntityCollection;
8
+ collection?: CollectionConfig;
9
9
  hover?: boolean;
10
10
  previewKeys?: string[];
11
11
  disabled?: boolean;
@@ -15,35 +15,35 @@ export type EntityPreviewProps = {
15
15
  includeEntityLink?: boolean;
16
16
  includeImage?: boolean;
17
17
  onClick?: (e: React.SyntheticEvent) => void;
18
- onSideEntityClick?: (entity: Entity) => void;
18
+ onSidePanelClick?: (entity: Entity) => void;
19
19
  };
20
- export type EntityPreviewDataProps = {
20
+ export type EntityPreviewBindingDataProps = {
21
21
  size?: "smallest" | "small" | "medium" | "large";
22
22
  actions?: React.ReactNode;
23
- collection?: EntityCollection;
23
+ collection?: CollectionConfig;
24
24
  previewKeys?: string[];
25
25
  entity: Entity<any>;
26
- onSideEntityClick?: (entity: Entity) => void;
26
+ onSidePanelClick?: (entity: Entity) => void;
27
27
  includeId?: boolean;
28
28
  includeTitle?: boolean;
29
29
  includeEntityLink?: boolean;
30
30
  includeImage?: boolean;
31
31
  };
32
32
  /**
33
- * This component contains the main logic and content for displaying an entity preview,
34
- * without any container wrapper. Used internally by EntityPreview.
33
+ * This component contains the main logic and content for displaying a entity preview,
34
+ * without any container wrapper. Used internally by EntityPreviewBinding.
35
35
  */
36
- export declare function EntityPreviewData({ actions, collection: collectionProp, previewKeys, size, includeId, onSideEntityClick, includeTitle, includeEntityLink, includeImage, entity }: EntityPreviewDataProps): React.JSX.Element;
37
- export declare function EntityPreviewWithId({ entityId, path, ...props }: Omit<EntityPreviewProps, "entity"> & {
36
+ export declare function EntityPreviewBindingData({ actions, collection: collectionProp, previewKeys, size, includeId, onSidePanelClick, includeTitle, includeEntityLink, includeImage, entity }: EntityPreviewBindingDataProps): React.JSX.Element;
37
+ export declare function EntityPreviewBindingWithId({ entityId, path, ...props }: Omit<EntityPreviewBindingProps, "entity"> & {
38
38
  entityId: string | number;
39
39
  path: string;
40
40
  databaseId?: string;
41
41
  }): React.JSX.Element;
42
42
  /**
43
- * This view is used to display a preview of an entity.
43
+ * This view is used to display a preview of a entity.
44
44
  * It is used by default in reference fields and whenever a reference is displayed.
45
45
  */
46
- export declare function EntityPreview({ actions, disabled, hover, collection, previewKeys, onClick, size, includeId, includeTitle, includeEntityLink, includeImage, onSideEntityClick, entity }: EntityPreviewProps): React.JSX.Element;
46
+ export declare function EntityPreviewBinding({ actions, disabled, hover, collection, previewKeys, onClick, size, includeId, includeTitle, includeEntityLink, includeImage, onSidePanelClick, entity }: EntityPreviewBindingProps): React.JSX.Element;
47
47
  export type EntityPreviewContainerProps = {
48
48
  children: React.ReactNode;
49
49
  hover?: boolean;
@@ -0,0 +1,13 @@
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
+ import React from "react";
3
+ import { Entity } from "@rebasepro/types";
4
+ /**
5
+ * @group Components
6
+ */
7
+ export interface EntityViewBindingProps<M extends Record<string, unknown>> {
8
+ entity: Entity<M>;
9
+ collection: CollectionConfig<M>;
10
+ path: string;
11
+ className?: string;
12
+ }
13
+ export declare function EntityViewBinding<M extends Record<string, unknown>>({ entity, collection, path, className }: EntityViewBindingProps<M>): React.JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- export declare function EntityJsonPreview({ values }: {
2
+ export declare function JsonPreviewBinding({ values }: {
3
3
  values: object;
4
4
  }): React.JSX.Element;
@@ -7,4 +7,4 @@ import type { RebaseCMSConfig } from "@rebasepro/types";
7
7
  * is auto-wired as a native feature (slots, provider, Studio view) without
8
8
  * needing any external plugin.
9
9
  */
10
- export declare function RebaseCMS({ collections, views, homePage, entityViews, entityActions, collectionEditor, navigationGroupMappings }: RebaseCMSConfig): null;
10
+ export declare function RebaseCMS({ collections, views, homePage, entityViews, entityActions, collectionEditor, navigationGroupMappings, basePath }: RebaseCMSConfig): null;
@@ -16,7 +16,7 @@ export interface RebaseNavigationProps {
16
16
  * ```tsx
17
17
  * <RebaseNavigation>
18
18
  * <MyCustomLayout>
19
- * <EntityCollectionView ... />
19
+ * <CollectionViewBinding ... />
20
20
  * </MyCustomLayout>
21
21
  * </RebaseNavigation>
22
22
  * ```
@@ -1,10 +1,10 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import React from "react";
3
3
  import { Entity, FilterValues } from "@rebasepro/types";
4
4
  /**
5
5
  * @group Components
6
6
  */
7
- export interface EntitySelectionProps<M extends Record<string, unknown>> {
7
+ export interface SelectionProps<M extends Record<string, unknown>> {
8
8
  /**
9
9
  * Allow multiple selection of values
10
10
  */
@@ -12,7 +12,7 @@ export interface EntitySelectionProps<M extends Record<string, unknown>> {
12
12
  /**
13
13
  * Entity collection config
14
14
  */
15
- collection?: EntityCollection<M>;
15
+ collection?: CollectionConfig<M>;
16
16
  /**
17
17
  * Absolute path of the collection.
18
18
  * May be not set if this hook is being used in a component and the path is
@@ -53,7 +53,7 @@ export interface EntitySelectionProps<M extends Record<string, unknown>> {
53
53
  }
54
54
  /**
55
55
  * This component allows to select entities from a given collection.
56
- * You probably want to open this dialog as a side view using {@link useEntitySelectionTable}
56
+ * You probably want to open this dialog as a side view using {@link useSelectionTableBinding}
57
57
  * @group Components
58
58
  */
59
- export declare function EntitySelectionTable<M extends Record<string, unknown>>(props: EntitySelectionProps<M>): React.JSX.Element;
59
+ export declare function SelectionTableBinding<M extends Record<string, unknown>>(props: SelectionProps<M>): React.JSX.Element;
@@ -72,23 +72,23 @@ export type SelectableTableProps<M extends Record<string, unknown>> = {
72
72
  * This component is in charge of rendering a collection table with a high
73
73
  * degree of customization.
74
74
  *
75
- * This component is used internally by {@link EntityCollectionView} and
75
+ * This component is used internally by {@link CollectionViewBinding} and
76
76
  * {@link useReferenceDialog}
77
77
  *
78
78
  * Please note that you only need to use this component if you are building
79
79
  * a custom view. If you just need to create a default view you can do it
80
80
  * exclusively with config options.
81
81
  *
82
- * If you want to bind a {@link EntityCollection} to a table with the default
82
+ * If you want to bind a {@link CollectionConfig} to a table with the default
83
83
  * options you see in collections in the top level navigation, you can
84
- * check {@link EntityCollectionView}.
84
+ * check {@link CollectionViewBinding}.
85
85
  *
86
86
  * The data displayed in the table is managed by a {@link EntityTableController}.
87
87
  * You can build the default, bound to a path in the driver, by using the hook
88
88
  * {@link useDataTableController}
89
89
  *
90
- * @see EntityCollectionTableProps
91
- * @see EntityCollectionView
90
+ * @see CollectionTableBindingProps
91
+ * @see CollectionViewBinding
92
92
  * @see VirtualTable
93
93
  * @group Components
94
94
  */
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- import { EntityCollectionTableController } from "@rebasepro/core";
3
- export declare const SelectableTableContext: React.Context<EntityCollectionTableController<Record<string, unknown>>>;
4
- export declare const useSelectableTableController: <M extends Record<string, unknown> = Record<string, unknown>>() => EntityCollectionTableController<M>;
2
+ import { DataCollectionTableController } from "@rebasepro/core";
3
+ export declare const SelectableTableContext: React.Context<DataCollectionTableController<Record<string, unknown>>>;
4
+ export declare const useSelectableTableController: <M extends Record<string, unknown> = Record<string, unknown>>() => DataCollectionTableController<M>;
@@ -9,12 +9,12 @@ export interface AdminSelectedCell extends SelectedCell {
9
9
  height: number;
10
10
  }
11
11
  export declare function createSelectionStore(): {
12
- getSnapshot: () => AdminSelectedCell | undefined;
12
+ getEntity: () => AdminSelectedCell | undefined;
13
13
  subscribe: (listener: () => void) => () => void;
14
14
  select: (cell: AdminSelectedCell | undefined) => void;
15
15
  };
16
16
  export type SelectionStore = VirtualTableSelectionStore<AdminSelectedCell>;
17
17
  export declare function useCellSelected(store: {
18
- getSnapshot: () => SelectedCellProps | undefined;
18
+ getEntity: () => SelectedCellProps | undefined;
19
19
  subscribe: (listener: () => void) => () => void;
20
20
  }, propertyKey: string, entityPath: string, entityId: string | number): boolean;
@@ -5,6 +5,11 @@ interface BooleanFieldProps {
5
5
  value?: [op: VirtualTableWhereFilterOp, fieldValue: unknown];
6
6
  setValue: (value?: [op: VirtualTableWhereFilterOp, newValue: unknown]) => void;
7
7
  title?: string;
8
+ /**
9
+ * Restrict the offered operators. This field only ever emits `["==", …]`,
10
+ * so it renders nothing when `==` is not allowed.
11
+ */
12
+ operators?: readonly VirtualTableWhereFilterOp[];
8
13
  }
9
- export declare function BooleanFilterField({ name, title, value, setValue }: BooleanFieldProps): React.JSX.Element;
14
+ export declare function BooleanFilterField({ name, title, value, setValue, operators }: BooleanFieldProps): React.JSX.Element | null;
10
15
  export {};
@@ -8,6 +8,12 @@ interface DateTimeFilterFieldProps {
8
8
  isArray?: boolean;
9
9
  title?: string;
10
10
  timezone?: string;
11
+ /**
12
+ * Restrict the offered operators (already resolved against engine
13
+ * capabilities and property config). When omitted, all operators this
14
+ * field can render are offered.
15
+ */
16
+ operators?: readonly VirtualTableWhereFilterOp[];
11
17
  }
12
- export declare function DateTimeFilterField({ name, isArray, mode, value, setValue, title, timezone }: DateTimeFilterFieldProps): React.JSX.Element;
18
+ export declare function DateTimeFilterField({ name, isArray, mode, value, setValue, title, timezone, operators }: DateTimeFilterFieldProps): React.JSX.Element | null;
13
19
  export {};
@@ -0,0 +1,40 @@
1
+ import React from "react";
2
+ import { Property, WhereFilterOp } from "@rebasepro/types";
3
+ export interface FilterFieldBindingInput {
4
+ /** Key of the property being filtered (the column id). */
5
+ propertyKey: string;
6
+ /** The raw property — array properties are unwrapped internally. */
7
+ property: Property;
8
+ /**
9
+ * Engine backing the collection (`collection.engine`). Drives which
10
+ * operators the engine can execute. Usually omitted — it is read from
11
+ * the surrounding {@link CollectionScopeProvider}; pass it explicitly
12
+ * only when rendering outside any collection scope.
13
+ */
14
+ engine?: string;
15
+ value?: [WhereFilterOp, unknown];
16
+ setValue: (value?: [WhereFilterOp, unknown]) => void;
17
+ /** Coordination flags for fields that open their own dialogs. */
18
+ hidden?: boolean;
19
+ setHidden?: (hidden: boolean) => void;
20
+ }
21
+ /**
22
+ * The single entry point for rendering a collection filter field.
23
+ * Used by both the table header filters ({@link SelectableTable}) and the
24
+ * Filters dialog.
25
+ *
26
+ * Resolution order:
27
+ * 1. `property.ui.Filter` — per-property replacement (rendered even when the
28
+ * resolved operator list is empty; the component owns filterability).
29
+ * 2. `components["Collection.FilterField"]` — collection-level or app-level
30
+ * override (wrap mode supported via `OriginalComponent`).
31
+ * 3. Built-in field dispatched by property type.
32
+ *
33
+ * The operators handed to the field are the intersection of the engine's
34
+ * capabilities, the property-type defaults, and `property.ui.filterOperators`
35
+ * (see `resolveFilterOperators`). When that intersection is empty and no
36
+ * per-property `Filter` is set, nothing is rendered.
37
+ *
38
+ * @group Components
39
+ */
40
+ export declare function FilterFieldBinding({ propertyKey, property, engine, value, setValue, hidden, setHidden }: FilterFieldBindingInput): React.ReactNode;
@@ -11,6 +11,12 @@ interface ReferenceFilterFieldProps {
11
11
  previewProperties?: string[];
12
12
  hidden: boolean;
13
13
  setHidden: (hidden: boolean) => void;
14
+ /**
15
+ * Restrict the offered operators (already resolved against engine
16
+ * capabilities and property config). When omitted, all operators this
17
+ * field can render are offered.
18
+ */
19
+ operators?: readonly VirtualTableWhereFilterOp[];
14
20
  }
15
- export declare function ReferenceFilterField({ value, setValue, isArray, path, includeId, previewProperties, setHidden }: ReferenceFilterFieldProps): React.JSX.Element;
21
+ export declare function ReferenceFilterField({ value, setValue, isArray, path, includeId, previewProperties, setHidden, operators }: ReferenceFilterFieldProps): React.JSX.Element | null;
16
22
  export {};
@@ -8,6 +8,12 @@ interface RelationFilterFieldProps {
8
8
  relation: Relation;
9
9
  hidden: boolean;
10
10
  setHidden: (value: boolean) => void;
11
+ /**
12
+ * Restrict the offered operators (already resolved against engine
13
+ * capabilities and property config). When omitted, all operators this
14
+ * field can render are offered.
15
+ */
16
+ operators?: readonly VirtualTableWhereFilterOp[];
11
17
  }
12
- export declare function RelationFilterField({ value, setValue, relation, name: _name, hidden: _hidden, setHidden: _setHidden }: RelationFilterFieldProps): React.JSX.Element;
18
+ export declare function RelationFilterField({ value, setValue, relation, name: _name, hidden: _hidden, setHidden: _setHidden, operators }: RelationFilterFieldProps): React.JSX.Element | null;
13
19
  export {};
@@ -9,6 +9,12 @@ interface StringNumberFilterFieldProps {
9
9
  isArray?: boolean;
10
10
  enumValues?: EnumValueConfig[];
11
11
  title?: string;
12
+ /**
13
+ * Restrict the offered operators (already resolved against engine
14
+ * capabilities and property config). When omitted, all operators this
15
+ * field can render are offered.
16
+ */
17
+ operators?: readonly VirtualTableWhereFilterOp[];
12
18
  }
13
- export declare function StringNumberFilterField({ name, value, setValue, type, isArray, enumValues, title }: StringNumberFilterFieldProps): React.JSX.Element;
19
+ export declare function StringNumberFilterField({ name, value, setValue, type, isArray, enumValues, title, operators }: StringNumberFilterFieldProps): React.JSX.Element | null;
14
20
  export {};
@@ -16,7 +16,7 @@ export type SideDialogController = {
16
16
  export declare const useSideDialogContext: () => SideDialogController;
17
17
  /**
18
18
  * This is the component in charge of rendering the side dialogs used
19
- * for editing entities. Use the {@link useSideEntityController} to open
19
+ * for editing entities. Use the {@link useSidePanel} to open
20
20
  * and control the dialogs.
21
21
  * This component needs a parent {@link Rebase}
22
22
  * {@link useSideDialogsController}
@@ -0,0 +1,11 @@
1
+ import type { SidePanelBindingProps } from "@rebasepro/types";
2
+ import React from "react";
3
+ /**
4
+ * This is the component in charge of rendering the side dialog used
5
+ * for editing entities. Use the {@link useSidePanel} to open
6
+ * and control the dialogs.
7
+ * This component needs a parent {@link Rebase}
8
+ * {@link useSidePanel}
9
+ * @group Components
10
+ */
11
+ export declare function SidePanelBinding(props: SidePanelBindingProps): React.JSX.Element;
@@ -1,12 +1,12 @@
1
1
  import React from "react";
2
2
  /**
3
- * Provider that builds the SideEntityController and makes it available
4
- * via the SideEntityControllerContext from @rebasepro/core.
3
+ * Provider that builds the SidePanelController and makes it available
4
+ * via the SidePanelControllerContext from @rebasepro/core.
5
5
  *
6
- * After the CMS extraction refactor, `useBuildSideEntityController` lives
6
+ * After the CMS extraction refactor, `useBuildSidePanel` lives
7
7
  * in the CMS package while the context it feeds into lives in core.
8
8
  * This provider bridges the two: place it inside the `<Rebase>` tree and
9
- * above any component that calls `useSideEntityController()`.
9
+ * above any component that calls `useSidePanel()`.
10
10
  *
11
11
  * Also auto-registers the side entity controller and breadcrumbs into the
12
12
  * self-assembling Studio bridge (when a StudioBridgeRegistryProvider is
@@ -16,17 +16,17 @@ import React from "react";
16
16
  * ```tsx
17
17
  * <Rebase ...>
18
18
  * {({ loading }) => (
19
- * <SideEntityProvider>
19
+ * <SidePanelProvider>
20
20
  * <RebaseRoutes>
21
21
  * ...
22
22
  * </RebaseRoutes>
23
- * </SideEntityProvider>
23
+ * </SidePanelProvider>
24
24
  * )}
25
25
  * </Rebase>
26
26
  * ```
27
27
  *
28
28
  * @group Components
29
29
  */
30
- export declare function SideEntityProvider({ children }: {
30
+ export declare function SidePanelProvider({ children }: {
31
31
  children: React.ReactNode;
32
32
  }): React.JSX.Element;
@@ -1,11 +1,11 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import * as React from "react";
3
3
  import { PreviewSize } from "../../types/components/PropertyPreviewProps";
4
4
  import { HistoryEntryData } from "../../hooks";
5
5
  export type EntityHistoryEntryProps = {
6
6
  size: PreviewSize;
7
7
  actions?: React.ReactNode;
8
- collection?: EntityCollection;
8
+ collection?: CollectionConfig;
9
9
  hover?: boolean;
10
10
  entry: HistoryEntryData;
11
11
  onClick?: (e: React.SyntheticEvent) => void;
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import React from "react";
3
3
  /**
4
4
  * Fetches the latest history entry from the backend API and displays
@@ -7,5 +7,5 @@ import React from "react";
7
7
  export declare function LastEditedByIndicator({ path, entityId, collection }: {
8
8
  path: string;
9
9
  entityId: string;
10
- collection: EntityCollection;
10
+ collection: CollectionConfig;
11
11
  }): React.JSX.Element | null;
@@ -1,26 +1,27 @@
1
- export type { EntityViewProps } from "./EntityView";
2
- export { EntityView } from "./EntityView";
3
- export * from "./EntityDetailView";
4
- export type { EntitySelectionProps } from "./ReferenceTable/EntitySelectionTable";
5
- export { EntitySelectionTable } from "./ReferenceTable/EntitySelectionTable";
1
+ export type { EntityViewBindingProps } from "./EntityViewBinding";
2
+ export { EntityViewBinding } from "./EntityViewBinding";
3
+ export * from "./DetailViewBinding";
4
+ export type { SelectionProps } from "./ReferenceTable/SelectionTableBinding";
5
+ export { SelectionTableBinding } from "./ReferenceTable/SelectionTableBinding";
6
6
  export * from "./SelectableTable/SelectableTable";
7
7
  export * from "./SelectableTable/SelectableTableContext";
8
- export * from "./EntityCollectionView/EntityCollectionView";
9
- export * from "./EntityCollectionView/EntityCollectionViewActions";
10
- export * from "./EntityCollectionView/EntityCollectionCardView";
11
- export * from "./EntityCollectionView/EntityCard";
12
- export * from "./EntityCollectionView/useSelectionController";
8
+ export * from "./SelectableTable/filters/FilterFieldBinding";
9
+ export * from "./CollectionViewBinding/CollectionViewBinding";
10
+ export * from "./CollectionViewBinding/CollectionViewActions";
11
+ export * from "./CollectionViewBinding/CollectionCardViewBinding";
12
+ export * from "./CollectionViewBinding/EntityCardBinding";
13
+ export * from "./CollectionViewBinding/useSelectionController";
13
14
  export * from "./PropertyConfigBadge";
14
15
  export * from "./PropertyIdCopyTooltip";
15
- export * from "./EntityCollectionTable";
16
+ export * from "./CollectionTableBinding";
16
17
  export * from "./ArrayContainer";
17
18
  export * from "./ReferenceWidget";
18
19
  export * from "./SearchIconsView";
19
20
  export * from "./FieldCaption";
20
- export * from "./EntityPreview";
21
+ export * from "./EntityPreviewBinding";
21
22
  export * from "./common";
22
23
  export * from "./field_configs";
23
- export * from "./SideEntityProvider";
24
+ export * from "./SidePanelProvider";
24
25
  export * from "./AdminModeSyncer";
25
26
  export * from "./app/AppBar";
26
27
  export * from "./app/Drawer";
@@ -0,0 +1,3 @@
1
+ import type { SidePanelController } from "@rebasepro/types";
2
+ import React from "react";
3
+ export declare const SidePanelControllerContext: React.Context<SidePanelController>;
@@ -1,10 +1,10 @@
1
1
  import React from "react";
2
- import { CollectionActionsProps, EntityCollection, User } from "@rebasepro/types";
3
- export declare function ExportCollectionAction<M extends Record<string, unknown>, USER extends User>({ collection, path, collectionEntitiesCount, onAnalyticsEvent, exportAllowed, notAllowedView }: CollectionActionsProps<M, USER, EntityCollection<M>> & {
2
+ import { CollectionActionsProps, CollectionConfig, User } from "@rebasepro/types";
3
+ export declare function ExportCollectionAction<M extends Record<string, unknown>, USER extends User>({ collection, path, collectionEntitiesCount, onAnalyticsEvent, exportAllowed, notAllowedView }: CollectionActionsProps<M, USER, CollectionConfig<M>> & {
4
4
  exportAllowed?: (props: {
5
5
  collectionEntitiesCount: number;
6
6
  path: string;
7
- collection: EntityCollection;
7
+ collection: CollectionConfig;
8
8
  }) => boolean;
9
9
  notAllowedView?: React.ReactNode;
10
10
  onAnalyticsEvent?: (event: string, params?: any) => void;
@@ -1,6 +1,6 @@
1
- import { EntityCollection } from "@rebasepro/types";
1
+ import { CollectionConfig } from "@rebasepro/types";
2
2
  import { ImportConfig } from "../types";
3
- export declare function ImportSaveInProgress<C extends EntityCollection<any>>({ path, importConfig, collection, onImportSuccess }: {
3
+ export declare function ImportSaveInProgress<C extends CollectionConfig<any>>({ path, importConfig, collection, onImportSuccess }: {
4
4
  path: string;
5
5
  importConfig: ImportConfig;
6
6
  collection: C;
@@ -3,7 +3,7 @@ import type { EntityFormProps } from "../types/components/EntityFormProps";
3
3
  /**
4
4
  * Headless entity form component.
5
5
  *
6
- * Renders a form for an entity collection without any CMS or backend dependencies.
6
+ * Renders a form for a entity collection without any CMS or backend dependencies.
7
7
  * All backend concerns (save, caching, analytics, plugin slots) are provided via
8
8
  * callback props. For CMS-connected usage, use {@link EntityFormBinding} instead.
9
9
  *
@@ -12,7 +12,7 @@ import { ReactElement } from "react";
12
12
  *
13
13
  * Please note that if you build a custom field in a component, the
14
14
  * **validation** passed in the property will have no effect. You need to set
15
- * the validation in the `EntityCollection` definition.
15
+ * the validation in the `CollectionConfig` definition.
16
16
  *
17
17
  * @param propertyKey You can use nested names such as `address.street` or `friends[2]`
18
18
  * @param property