@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,14 +1,14 @@
1
- import type { EntityCollection, ViewMode } from "@rebasepro/types";
1
+ import type { CollectionConfig, ViewMode } from "@rebasepro/types";
2
2
  import React, { useMemo } from "react";
3
- import { EntityCollectionView } from "./EntityCollectionView/EntityCollectionView";
3
+ import { CollectionViewBinding } from "./CollectionViewBinding/CollectionViewBinding";
4
4
  import { useCollectionRegistryController } from "../hooks/navigation/contexts/CollectionRegistryContext";
5
5
  import { Typography } from "@rebasepro/ui";
6
- import { useComponentOverride, CollectionComponentOverrideProvider } from "@rebasepro/core";
6
+ import { useComponentOverride, CollectionScopeProvider } from "@rebasepro/core";
7
7
 
8
8
  /**
9
9
  * Props for the {@link CollectionPanel} component.
10
10
  *
11
- * This is a high-level, consumer-friendly wrapper around {@link EntityCollectionView}
11
+ * This is a high-level, consumer-friendly wrapper around {@link CollectionViewBinding}
12
12
  * designed for embedding collection views inside custom pages (home pages,
13
13
  * dashboards, entity detail views, etc.).
14
14
  *
@@ -53,7 +53,7 @@ export type CollectionPanelProps = {
53
53
  updateUrl?: boolean;
54
54
 
55
55
  /**
56
- * Override the entity open mode when clicking an entity.
56
+ * Override the entity open mode when clicking a entity.
57
57
  */
58
58
  openEntityMode?: "side_panel" | "full_screen" | "split" | "dialog";
59
59
 
@@ -66,7 +66,7 @@ export type CollectionPanelProps = {
66
66
  * Any additional collection-level overrides (e.g. `previewProperties`,
67
67
  * `enabledViews`, `entityActions`, `defaultFilter`, etc.).
68
68
  */
69
- collectionOverrides?: Partial<EntityCollection>;
69
+ collectionOverrides?: Partial<CollectionConfig>;
70
70
  };
71
71
 
72
72
  /**
@@ -101,8 +101,8 @@ function CollectionPanelInner({
101
101
  title,
102
102
  updateUrl,
103
103
  className
104
- }: CollectionPanelProps & { mergedCollection: EntityCollection }) {
105
- const ResolvedCollectionView = useComponentOverride("Collection.View", EntityCollectionView);
104
+ }: CollectionPanelProps & { mergedCollection: CollectionConfig }) {
105
+ const ResolvedCollectionView = useComponentOverride("Collection.View", CollectionViewBinding);
106
106
 
107
107
  return (
108
108
  <div className={className}>
@@ -150,7 +150,7 @@ export function CollectionPanel(props: CollectionPanelProps) {
150
150
  ...registeredCollection,
151
151
  ...(collectionOverrides ?? {}),
152
152
  ...propOverrides
153
- } as EntityCollection;
153
+ } as CollectionConfig;
154
154
  }, [registeredCollection, collectionOverrides, viewMode, sort, limit, openEntityMode]);
155
155
 
156
156
  if (!mergedCollection) {
@@ -170,12 +170,9 @@ export function CollectionPanel(props: CollectionPanelProps) {
170
170
  />
171
171
  );
172
172
 
173
- if (mergedCollection.components) {
174
- return (
175
- <CollectionComponentOverrideProvider overrides={mergedCollection.components}>
176
- {content}
177
- </CollectionComponentOverrideProvider>
178
- );
179
- }
180
- return content;
173
+ return (
174
+ <CollectionScopeProvider collection={mergedCollection}>
175
+ {content}
176
+ </CollectionScopeProvider>
177
+ );
181
178
  }
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import type { EntityAction } from "@rebasepro/types";
3
3
  import React, { MouseEvent, useCallback } from "react";
4
4
 
@@ -32,7 +32,7 @@ import { useCMSContext } from "../../index";
32
32
  *
33
33
  * @group Collection components
34
34
  */
35
- export const EntityCollectionRowActions = function EntityCollectionRowActions({
35
+ export const CollectionRowActions = function CollectionRowActions({
36
36
  entity,
37
37
  collection,
38
38
  path,
@@ -56,7 +56,7 @@ export const EntityCollectionRowActions = function EntityCollectionRowActions({
56
56
  }:
57
57
  {
58
58
  entity: Entity<any>,
59
- collection?: EntityCollection<any>,
59
+ collection?: CollectionConfig<any>,
60
60
  path?: string,
61
61
  width: number,
62
62
  frozen?: boolean,
@@ -80,7 +80,7 @@ export const EntityCollectionRowActions = function EntityCollectionRowActions({
80
80
 
81
81
 
82
82
  const context = useCMSContext();
83
- const sideEntityCtrl = context.sideEntityController;
83
+ const sidePanelCtrl = context.sidePanelController;
84
84
  const { t } = useTranslation();
85
85
 
86
86
  const onCheckedChange = useCallback((checked: boolean) => {
@@ -131,7 +131,7 @@ export const EntityCollectionRowActions = function EntityCollectionRowActions({
131
131
  path,
132
132
  collection,
133
133
  context,
134
- sideEntityController: sideEntityCtrl,
134
+ sidePanelController: sidePanelCtrl,
135
135
  selectionController,
136
136
  highlightEntity,
137
137
  unhighlightEntity,
@@ -175,7 +175,7 @@ export const EntityCollectionRowActions = function EntityCollectionRowActions({
175
175
  path,
176
176
  collection,
177
177
  context,
178
- sideEntityController: sideEntityCtrl,
178
+ sidePanelController: sidePanelCtrl,
179
179
  selectionController,
180
180
  highlightEntity,
181
181
  unhighlightEntity,
@@ -5,9 +5,9 @@ import { PropertyTableCell } from "./PropertyTableCell";
5
5
  import { ErrorBoundary } from "@rebasepro/ui";
6
6
  import { useRebaseContext, useLargeLayout } from "@rebasepro/core";
7
7
  import { CellRendererParams, VirtualTableColumn } from "@rebasepro/ui";
8
- import { EntityCollectionRowActions } from "./EntityCollectionRowActions";
8
+ import { CollectionRowActions } from "./CollectionRowActions";
9
9
  import { CollectionTableToolbar } from "./internal/CollectionTableToolbar";
10
- import { EntityCollectionTableProps } from "./EntityCollectionTableProps";
10
+ import { CollectionTableBindingProps } from "./CollectionTableBindingProps";
11
11
  import { EntityTableCell } from "./internal/EntityTableCell";
12
12
  import { CustomFieldValidator } from "../../form/validation";
13
13
  import { renderSkeletonText } from "../../preview";
@@ -22,27 +22,27 @@ import { getValueInPath } from "@rebasepro/utils";
22
22
  * This component is in charge of rendering a collection table with a high
23
23
  * degree of customization.
24
24
  *
25
- * This component is used internally by {@link EntityCollectionView} and
25
+ * This component is used internally by {@link CollectionViewBinding} and
26
26
  * {@link useReferenceDialog}
27
27
  *
28
28
  * Please note that you only need to use this component if you are building
29
29
  * a custom view. If you just need to create a default view you can do it
30
30
  * exclusively with config options.
31
31
  *
32
- * If you want to bind a {@link EntityCollection} to a table with the default
32
+ * If you want to bind a {@link CollectionConfig} to a table with the default
33
33
  * options you see in collections in the top level navigation, you can
34
- * check {@link EntityCollectionView}.
34
+ * check {@link CollectionViewBinding}.
35
35
  *
36
36
  * The data displayed in the table is managed by a {@link EntityTableController}.
37
37
  * You can build the default, bound to a path in the driver, by using the hook
38
38
  * {@link useDataTableController}
39
39
  *
40
- * @see EntityCollectionTableProps
41
- * @see EntityCollectionView
40
+ * @see CollectionTableBindingProps
41
+ * @see CollectionViewBinding
42
42
  * @see VirtualTable
43
43
  * @group Components
44
44
  */
45
- export const EntityCollectionTable = function EntityCollectionTable<M extends Record<string, unknown> = Record<string, unknown>, USER extends User = User>
45
+ export const CollectionTableBinding = function CollectionTableBinding<M extends Record<string, unknown> = Record<string, unknown>, USER extends User = User>
46
46
  ({
47
47
  className,
48
48
  style,
@@ -82,7 +82,7 @@ export const EntityCollectionTable = function EntityCollectionTable<M extends Re
82
82
  openEntityMode = "side_panel",
83
83
  onColumnsOrderChange,
84
84
  hideToolbar = false
85
- }: EntityCollectionTableProps<M>) {
85
+ }: CollectionTableBindingProps<M>) {
86
86
 
87
87
  const ref = useRef<HTMLDivElement>(null);
88
88
 
@@ -310,7 +310,7 @@ export const EntityCollectionTable = function EntityCollectionTable<M extends Re
310
310
  frozen: column.frozen
311
311
  });
312
312
  else
313
- return <EntityCollectionRowActions entity={props.rowData!}
313
+ return <CollectionRowActions entity={props.rowData!}
314
314
  width={column.width}
315
315
  frozen={column.frozen}
316
316
  isSelected={false}
@@ -9,7 +9,7 @@ import { VirtualTableColumn } from "@rebasepro/ui";
9
9
  /**
10
10
  * @group Collection components
11
11
  */
12
- export type EntityCollectionTableProps<M extends Record<string, unknown>,
12
+ export type CollectionTableBindingProps<M extends Record<string, unknown>,
13
13
  USER extends User = User> = {
14
14
 
15
15
  className?: string;
@@ -1,5 +1,5 @@
1
- import { useEntitySelectionDialog } from "../../../hooks/useEntitySelectionDialog";
2
- import type { EntityCollection } from "@rebasepro/types";
1
+ import { useSelectionDialog } from "../../../hooks/useSelectionDialog";
2
+ import type { CollectionConfig } from "@rebasepro/types";
3
3
  import { getCollectionDataPath } from "@rebasepro/types";
4
4
  import React, { useCallback } from "react";
5
5
  import { deepEqual as equal } from "fast-equals";
@@ -11,7 +11,7 @@ import { RelationPreview } from "../../../preview";
11
11
  import { CollectionSize, Entity, EntityRelation, FilterValues, Relation } from "@rebasepro/types";
12
12
  import { } from "@rebasepro/core";
13
13
  import { ErrorView } from "@rebasepro/core";
14
- import { EntityPreviewContainer } from "../../EntityPreview";
14
+ import { EntityPreviewContainer } from "../../EntityPreviewBinding";
15
15
 
16
16
  type TableMultipleRelationFieldProps = {
17
17
  name: string;
@@ -34,7 +34,7 @@ export function TableMultipleRelationField(props: TableMultipleRelationFieldProp
34
34
 
35
35
  export const TableMultipleRelationFieldInternal = React.memo(
36
36
  function TableMultipleRelationFieldInternal(props: TableMultipleRelationFieldProps & {
37
- collection: EntityCollection;
37
+ collection: CollectionConfig;
38
38
  }) {
39
39
  const {
40
40
  name,
@@ -57,7 +57,7 @@ export const TableMultipleRelationFieldInternal = React.memo(
57
57
 
58
58
  const selectedEntityIds = value.map((ref) => ref.id);
59
59
 
60
- const relationDialogController = useEntitySelectionDialog({
60
+ const relationDialogController = useSelectionDialog({
61
61
  multiselect: true,
62
62
  path: getCollectionDataPath(collection),
63
63
  collection,
@@ -1,5 +1,5 @@
1
- import { useEntitySelectionDialog } from "../../../hooks/useEntitySelectionDialog";
2
- import type { EntityCollection } from "@rebasepro/types";
1
+ import { useSelectionDialog } from "../../../hooks/useSelectionDialog";
2
+ import type { CollectionConfig } from "@rebasepro/types";
3
3
  import React, { useCallback } from "react";
4
4
  import { deepEqual as equal } from "fast-equals"
5
5
 
@@ -7,9 +7,9 @@ import { ReferencePreview } from "../../../preview";
7
7
  import { CollectionSize, Entity, EntityReference, FilterValues } from "@rebasepro/types";
8
8
 
9
9
  import { getPreviewSizeFrom } from "../../../preview/util";
10
- import { useComponentOverride, ErrorView, CollectionComponentOverrideProvider } from "@rebasepro/core";
10
+ import { useComponentOverride, ErrorView, CollectionScopeProvider } from "@rebasepro/core";
11
11
  import { cls, PencilIcon } from "@rebasepro/ui";
12
- import { EntityPreviewContainer } from "../../EntityPreview";
12
+ import { EntityPreviewContainer } from "../../EntityPreviewBinding";
13
13
  import { getReferenceFrom } from "@rebasepro/common";
14
14
  import { useCollectionRegistryController } from "../../../index";
15
15
 
@@ -30,7 +30,7 @@ type TableReferenceFieldProps = {
30
30
 
31
31
  const DefaultMissingReference: React.FC<{ path: string }> = () => null;
32
32
 
33
- function TableReferenceFieldResolver(props: TableReferenceFieldProps & { collection: EntityCollection | undefined }) {
33
+ function TableReferenceFieldResolver(props: TableReferenceFieldProps & { collection: CollectionConfig | undefined }) {
34
34
  const ResolvedMissingReference = useComponentOverride("Entity.MissingReference", DefaultMissingReference);
35
35
  const { path, collection } = props;
36
36
 
@@ -56,11 +56,11 @@ export function TableReferenceField(props: TableReferenceFieldProps) {
56
56
  />
57
57
  );
58
58
 
59
- if (collection?.components) {
59
+ if (collection) {
60
60
  return (
61
- <CollectionComponentOverrideProvider overrides={collection.components}>
61
+ <CollectionScopeProvider collection={collection}>
62
62
  {content}
63
- </CollectionComponentOverrideProvider>
63
+ </CollectionScopeProvider>
64
64
  );
65
65
  }
66
66
  return content;
@@ -68,7 +68,7 @@ export function TableReferenceField(props: TableReferenceFieldProps) {
68
68
 
69
69
  export const TableReferenceFieldInternal = React.memo(
70
70
  function TableReferenceFieldInternal(props: TableReferenceFieldProps & {
71
- collection: EntityCollection;
71
+ collection: CollectionConfig;
72
72
  }) {
73
73
  const {
74
74
  name,
@@ -100,7 +100,7 @@ export const TableReferenceFieldInternal = React.memo(
100
100
  : internalValue.id ? [internalValue.id] : [])
101
101
  : [];
102
102
 
103
- const referenceDialogController = useEntitySelectionDialog({
103
+ const referenceDialogController = useSelectionDialog({
104
104
  multiselect,
105
105
  path,
106
106
  collection,
@@ -1,5 +1,5 @@
1
- import { useEntitySelectionDialog } from "../../../hooks/useEntitySelectionDialog";
2
- import type { EntityCollection } from "@rebasepro/types";
1
+ import { useSelectionDialog } from "../../../hooks/useSelectionDialog";
2
+ import type { CollectionConfig } from "@rebasepro/types";
3
3
  import { getCollectionDataPath } from "@rebasepro/types";
4
4
  import React, { useCallback } from "react";
5
5
  import { deepEqual as equal } from "fast-equals"
@@ -11,7 +11,7 @@ import { getPreviewSizeFrom } from "../../../preview/util";
11
11
  import { } from "@rebasepro/core";
12
12
  import { ErrorView } from "@rebasepro/core";
13
13
  import { cls, PencilIcon } from "@rebasepro/ui";
14
- import { EntityPreviewContainer } from "../../EntityPreview";
14
+ import { EntityPreviewContainer } from "../../EntityPreviewBinding";
15
15
  import { getRelationFrom, normalizeToEntityRelation } from "@rebasepro/common";
16
16
  import { TableMultipleRelationField } from "./TableMultipleRelationField";
17
17
 
@@ -57,7 +57,7 @@ export function TableRelationField(props: TableRelationFieldProps) {
57
57
 
58
58
  export const TableRelationFieldInternal = React.memo(
59
59
  function TableRelationFieldInternal(props: TableRelationFieldProps & {
60
- collection: EntityCollection;
60
+ collection: CollectionConfig;
61
61
  }) {
62
62
  const {
63
63
  name,
@@ -89,7 +89,7 @@ export const TableRelationFieldInternal = React.memo(
89
89
  : internalValue.id ? [internalValue.id] : [])
90
90
  : [];
91
91
 
92
- const relationDialogController = useEntitySelectionDialog({
92
+ const relationDialogController = useSelectionDialog({
93
93
  multiselect,
94
94
  path: getCollectionDataPath(collection),
95
95
  collection,
@@ -0,0 +1,14 @@
1
+ export {
2
+ CollectionTableBinding
3
+ } from "./CollectionTableBinding";
4
+
5
+ export type {
6
+ CollectionTableBindingProps
7
+ } from "./CollectionTableBindingProps";
8
+
9
+ export * from "./PropertyTableCell";
10
+ export * from "./CollectionRowActions";
11
+
12
+ export * from "./column_utils";
13
+
14
+ export { VirtualTableInput } from "@rebasepro/ui";
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import type { ArrayProperty, Property } from "@rebasepro/types";
3
3
 
4
4
  export function getTableCellAlignment(property: Property): "right" | "left" | "center" {
@@ -68,6 +68,6 @@ export function getTablePropertyColumnWidth(property: Property): number {
68
68
  }
69
69
  }
70
70
 
71
- export function getSubcollectionColumnId(collection: EntityCollection) {
71
+ export function getSubcollectionColumnId(collection: CollectionConfig) {
72
72
  return `subcollection:${collection.slug}`;
73
73
  }
@@ -1,5 +1,5 @@
1
1
  import type { Properties } from "@rebasepro/types";
2
- import type { EntityCollection } from "@rebasepro/types";
2
+ import type { CollectionConfig } from "@rebasepro/types";
3
3
  import type { FormContext, PropertyFieldBindingProps } from "../../../../types/fields";
4
4
  import type { Property } from "@rebasepro/types";
5
5
  import React, { useCallback, useEffect, useLayoutEffect, useMemo, useState } from "react";
@@ -24,7 +24,7 @@ interface PopupFormFieldProps<M extends Record<string, unknown>> {
24
24
  entityId: string | number;
25
25
  tableKey: string;
26
26
  propertyKey?: Extract<keyof M, string>;
27
- collection?: EntityCollection<any>;
27
+ collection?: CollectionConfig<any>;
28
28
  cellRect?: DOMRect;
29
29
  open: boolean;
30
30
  onClose: () => void;
@@ -1,4 +1,4 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import React, { memo, useCallback, useMemo } from "react";
3
3
  import { Entity } from "@rebasepro/types";
4
4
  import { Checkbox, Chip, cls, defaultBorderMixin, Markdown } from "@rebasepro/ui";
@@ -6,10 +6,10 @@ import { PropertyPreview } from "../../preview";
6
6
  import { useAuthController, useCustomizationController } from "@rebasepro/core";
7
7
  import { IconForView } from "@rebasepro/core";
8
8
  import { BoardItemViewProps } from "@rebasepro/ui";
9
- import { useCollectionSlotKeys, resolveEntitySlots } from "./useEntityPreviewSlots";
9
+ import { useCollectionSlotKeys, resolveEntitySlots } from "./usePreviewSlots";
10
10
 
11
- export type EntityBoardCardProps<M extends Record<string, unknown> = Record<string, unknown>> = BoardItemViewProps<Entity<M>> & {
12
- collection: EntityCollection<M>;
11
+ export type BoardCardBindingProps<M extends Record<string, unknown> = Record<string, unknown>> = BoardItemViewProps<Entity<M>> & {
12
+ collection: CollectionConfig<M>;
13
13
  onClick?: (entity: Entity<M>) => void;
14
14
  selected?: boolean;
15
15
  onSelectionChange?: (entity: Entity<M>, selected: boolean) => void;
@@ -17,14 +17,14 @@ export type EntityBoardCardProps<M extends Record<string, unknown> = Record<stri
17
17
  };
18
18
 
19
19
  /**
20
- * Compact card component for displaying an entity in a Kanban board.
20
+ * Compact card component for displaying a entity in a Kanban board.
21
21
  * Uses the shared slot system for consistent preview rendering.
22
22
  *
23
23
  * Selection UX: The checkbox overlays on top of the image/icon thumbnail area,
24
24
  * revealed on card hover or when the card is selected. This keeps the card
25
25
  * layout clean while providing intuitive selection affordance.
26
26
  */
27
- function EntityBoardCardInner<M extends Record<string, unknown> = Record<string, unknown>>({
27
+ function BoardCardBindingInner<M extends Record<string, unknown> = Record<string, unknown>>({
28
28
  item,
29
29
  isDragging,
30
30
  isGroupedOver,
@@ -34,13 +34,13 @@ function EntityBoardCardInner<M extends Record<string, unknown> = Record<string,
34
34
  selected,
35
35
  onSelectionChange,
36
36
  selectionEnabled = false
37
- }: EntityBoardCardProps<M>) {
37
+ }: BoardCardBindingProps<M>) {
38
38
  const entity = item.data;
39
39
  const authController = useAuthController();
40
40
  const customizationController = useCustomizationController();
41
41
 
42
42
  const slotKeys = useCollectionSlotKeys(
43
- collection as EntityCollection<Record<string, unknown>>,
43
+ collection as CollectionConfig<Record<string, unknown>>,
44
44
  authController,
45
45
  customizationController.propertyConfigs
46
46
  );
@@ -48,7 +48,7 @@ function EntityBoardCardInner<M extends Record<string, unknown> = Record<string,
48
48
  const slots = useMemo(
49
49
  () => resolveEntitySlots(
50
50
  entity as Entity<Record<string, unknown>>,
51
- collection as EntityCollection<Record<string, unknown>>,
51
+ collection as CollectionConfig<Record<string, unknown>>,
52
52
  slotKeys
53
53
  ),
54
54
  [entity, collection, slotKeys]
@@ -234,13 +234,13 @@ function EntityBoardCardInner<M extends Record<string, unknown> = Record<string,
234
234
  }
235
235
 
236
236
  // Memoized to prevent unnecessary re-renders when other cards in the board change
237
- export const EntityBoardCard = memo(EntityBoardCardInner) as typeof EntityBoardCardInner;
237
+ export const BoardCardBinding = memo(BoardCardBindingInner) as typeof BoardCardBindingInner;
238
238
 
239
239
  /**
240
- * Wrapper component that adapts EntityBoardCard to BoardItemViewProps interface
240
+ * Wrapper component that adapts BoardCardBinding to BoardItemViewProps interface
241
241
  */
242
- export function createEntityBoardCardComponent<M extends Record<string, unknown>>(
243
- collection: EntityCollection<M>,
242
+ export function createBoardCardBindingComponent<M extends Record<string, unknown>>(
243
+ collection: CollectionConfig<M>,
244
244
  options: {
245
245
  onClick?: (entity: Entity<M>) => void;
246
246
  isEntitySelected?: (entity: Entity<M>) => boolean;
@@ -248,9 +248,9 @@ export function createEntityBoardCardComponent<M extends Record<string, unknown>
248
248
  selectionEnabled?: boolean;
249
249
  }
250
250
  ): React.ComponentType<BoardItemViewProps<Entity<M>>> {
251
- return function EntityBoardCardWrapper(props: BoardItemViewProps<Entity<M>>) {
251
+ return function BoardCardBindingWrapper(props: BoardItemViewProps<Entity<M>>) {
252
252
  return (
253
- <EntityBoardCard
253
+ <BoardCardBinding
254
254
  {...props}
255
255
  collection={collection}
256
256
  onClick={options.onClick}
@@ -1,7 +1,7 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
3
- import { Entity, EntityTableController, EnumValueConfig, SaveEntityProps, SelectionController } from "@rebasepro/types";
4
- import { EntityBoardCard } from "./EntityBoardCard";
3
+ import { Entity, EntityTableController, EnumValueConfig, SelectionController } from "@rebasepro/types";
4
+ import { BoardCardBinding } from "./BoardCardBinding";
5
5
  import {
6
6
  Button,
7
7
  ChipColorKey,
@@ -26,6 +26,7 @@ import { resolveEnumValues } from "@rebasepro/common";
26
26
  import { getPropertyInPath } from "../../util/property_utils";
27
27
  import {
28
28
  saveEntityWithCallbacks,
29
+ SaveEntityWithCallbacksProps,
29
30
  useAuthController,
30
31
  useCustomizationController,
31
32
  useData,
@@ -37,11 +38,11 @@ import { useAnalyticsController } from "@rebasepro/core";
37
38
  import { setIn } from "@rebasepro/formex";
38
39
  import { useBoardDataController } from "./useBoardDataController";
39
40
  import { useKanbanDragAndDrop } from "./hooks/useKanbanDragAndDrop";
40
- import { useSideEntityController } from "../../index";
41
+ import { useSidePanel } from "../../index";
41
42
  import { generateNKeysBetween } from "fractional-indexing";
42
43
 
43
- export type EntityCollectionBoardViewProps<M extends Record<string, unknown> = Record<string, unknown>> = {
44
- collection: EntityCollection<M>;
44
+ export type CollectionBoardViewBindingProps<M extends Record<string, unknown> = Record<string, unknown>> = {
45
+ collection: CollectionConfig<M>;
45
46
  tableController: EntityTableController<M>;
46
47
  fullPath: string;
47
48
  parentCollectionSlugs?: string[], parentEntityIds?: string[];
@@ -58,7 +59,7 @@ export type EntityCollectionBoardViewProps<M extends Record<string, unknown> = R
58
59
  /**
59
60
  * Kanban board view for displaying entities grouped by a string enum property.
60
61
  */
61
- export function EntityCollectionBoardView<M extends Record<string, unknown> = Record<string, unknown>>({
62
+ export function CollectionBoardViewBinding<M extends Record<string, unknown> = Record<string, unknown>>({
62
63
  collection,
63
64
  tableController,
64
65
  fullPath,
@@ -71,11 +72,11 @@ export function EntityCollectionBoardView<M extends Record<string, unknown> = Re
71
72
  highlightedEntities,
72
73
  emptyComponent,
73
74
  deletedEntities
74
- }: EntityCollectionBoardViewProps<M>) {
75
+ }: CollectionBoardViewBindingProps<M>) {
75
76
  const customizationController = useCustomizationController();
76
77
  const context = useRebaseContext();
77
78
  const dataClient = useData();
78
- const sideEntityController = useSideEntityController();
79
+ const sidePanelController = useSidePanel();
79
80
  const analyticsController = useAnalyticsController();
80
81
  const { t } = useTranslation();
81
82
  const plugins = customizationController.plugins ?? [];
@@ -391,7 +392,7 @@ parentEntityIds,
391
392
  entitiesToUpdate.forEach((entity: Entity<M>, index: number) => {
392
393
  const updatedValues = setIn({ ...entity.values }, orderProperty, keys[index]);
393
394
 
394
- const saveProps: SaveEntityProps = {
395
+ const saveProps: SaveEntityWithCallbacksProps<Record<string, unknown>> = {
395
396
  path: entity.path,
396
397
  entityId: entity.id,
397
398
  values: updatedValues as M,
@@ -464,9 +465,9 @@ parentEntityIds,
464
465
  // the card → DOM is destroyed/recreated → CSS :hover state is lost → flicker.
465
466
  const ItemComponent = useMemo(() => {
466
467
  const Comp = (props: BoardItemViewProps<Entity<M>>) => (
467
- <EntityBoardCard
468
+ <BoardCardBinding
468
469
  {...props}
469
- collection={collectionRef.current as EntityCollection<M>}
470
+ collection={collectionRef.current as CollectionConfig<M>}
470
471
  onClick={stableOnClick}
471
472
  selected={isEntitySelectedRef.current(props.item.data)}
472
473
  onSelectionChange={stableOnSelectionChange}
@@ -610,7 +611,7 @@ parentEntityIds,
610
611
  path: fullPath,
611
612
  column
612
613
  });
613
- sideEntityController.open({
614
+ sidePanelController.open({
614
615
  path: fullPath,
615
616
  collection,
616
617
  entityId: undefined,
@@ -1,7 +1,7 @@
1
- import type { EntityCollection } from "@rebasepro/types";
1
+ import type { CollectionConfig } from "@rebasepro/types";
2
2
  import React, { useCallback, useEffect, useMemo, useRef } from "react";
3
3
  import { CollectionSize, Entity, EntityTableController, SelectionController } from "@rebasepro/types";
4
- import { EntityCard } from "./EntityCard";
4
+ import { EntityCardBinding } from "./EntityCardBinding";
5
5
  import {
6
6
  cls,
7
7
  CircularProgress,
@@ -10,8 +10,8 @@ import {
10
10
  } from "@rebasepro/ui";
11
11
  import { useComponentOverride } from "@rebasepro/core";
12
12
 
13
- export type EntityCollectionCardViewProps<M extends Record<string, unknown> = Record<string, unknown>> = {
14
- collection: EntityCollection<M>;
13
+ export type CollectionCardViewBindingProps<M extends Record<string, unknown> = Record<string, unknown>> = {
14
+ collection: CollectionConfig<M>;
15
15
  tableController: EntityTableController<M>;
16
16
  onEntityClick?: (entity: Entity<M>) => void;
17
17
  selectionController?: SelectionController<M>;
@@ -77,9 +77,9 @@ function getScrollParent(element: HTMLElement | null): HTMLElement | null {
77
77
 
78
78
  /**
79
79
  * Card grid view for displaying entities with infinite scroll.
80
- * Alternative to the EntityCollectionTable for visual browsing.
80
+ * Alternative to the CollectionTableBinding for visual browsing.
81
81
  */
82
- export function EntityCollectionCardView<M extends Record<string, unknown> = Record<string, unknown>>({
82
+ export function CollectionCardViewBinding<M extends Record<string, unknown> = Record<string, unknown>>({
83
83
  collection,
84
84
  tableController,
85
85
  onEntityClick,
@@ -90,9 +90,9 @@ export function EntityCollectionCardView<M extends Record<string, unknown> = Rec
90
90
  onScroll,
91
91
  initialScroll,
92
92
  size = "m"
93
- }: EntityCollectionCardViewProps<M>) {
93
+ }: CollectionCardViewBindingProps<M>) {
94
94
 
95
- const ResolvedEntityCard = useComponentOverride("Collection.Card", EntityCard) as typeof EntityCard;
95
+ const ResolvedEntityCard = useComponentOverride("Collection.Card", EntityCardBinding) as typeof EntityCardBinding;
96
96
 
97
97
  const {
98
98
  data,