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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/README.md +7 -7
  2. package/dist/{CollectionEditorDialog-B-7uW3iJ.js → CollectionEditorDialog-DbPpDDwb.js} +33 -11
  3. package/dist/CollectionEditorDialog-DbPpDDwb.js.map +1 -0
  4. package/dist/{PropertyEditView-7KMTcrqi.js → PropertyEditView-DfJbZ67t.js} +5 -5
  5. package/dist/PropertyEditView-DfJbZ67t.js.map +1 -0
  6. package/dist/{RouterCollectionsStudioView-epqIbZrJ.js → RouterCollectionsStudioView-C6XQ7Il5.js} +5 -5
  7. package/dist/RouterCollectionsStudioView-C6XQ7Il5.js.map +1 -0
  8. package/dist/collection_editor/api/generateCollectionApi.d.ts +4 -4
  9. package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +1 -1
  10. package/dist/collection_editor/ui/collection_editor/SwitchControl.d.ts +1 -1
  11. package/dist/collection_editor/useSafeSnackbarController.d.ts +1 -1
  12. package/dist/collection_editor_ui.js +5 -5
  13. package/dist/collection_editor_ui.js.map +1 -1
  14. package/dist/components/CollectionTableBinding/CollectionTableBindingProps.d.ts +1 -1
  15. package/dist/components/CollectionTableBinding/internal/EntityTableCell.d.ts +1 -1
  16. package/dist/components/CollectionTableBinding/internal/popup_field/PopupFormField.d.ts +1 -1
  17. package/dist/components/CollectionTableBinding/table_bindings.d.ts +1 -1
  18. package/dist/components/CollectionViewBinding/hooks/useCollectionInlineEditor.d.ts +1 -1
  19. package/dist/components/{RebaseCMS.d.ts → RebaseAdmin.d.ts} +2 -2
  20. package/dist/components/RebaseLayout.d.ts +5 -4
  21. package/dist/components/RebaseShell.d.ts +1 -0
  22. package/dist/components/SelectableTable/SelectableTable.d.ts +1 -1
  23. package/dist/components/SelectableTable/SelectableTableContext.d.ts +1 -1
  24. package/dist/components/SidePanelProvider.d.ts +1 -1
  25. package/dist/components/index.d.ts +1 -1
  26. package/dist/editor.js +1 -1
  27. package/dist/editor.js.map +1 -1
  28. package/dist/form/components/LocalChangesMenu.d.ts +1 -1
  29. package/dist/form/components/StorageUploadProgress.d.ts +1 -1
  30. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +1 -1
  31. package/dist/{history-7X5bON_n.js → history-GSa4BgDt.js} +5 -5
  32. package/dist/history-GSa4BgDt.js.map +1 -0
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.js +2 -2
  35. package/dist/{src-sUZfe29F.js → src-B8WuGSPZ.js} +160 -56
  36. package/dist/src-B8WuGSPZ.js.map +1 -0
  37. package/dist/types/components/formex.d.ts +1 -1
  38. package/package.json +12 -17
  39. package/src/collection_editor/ConfigControllerProvider.tsx +1 -1
  40. package/src/collection_editor/api/generateCollectionApi.ts +4 -4
  41. package/src/collection_editor/ui/AddKanbanColumnAction.tsx +1 -1
  42. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +1 -1
  43. package/src/collection_editor/ui/EditorCollectionAction.tsx +1 -1
  44. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +1 -1
  45. package/src/collection_editor/ui/EditorEntityAction.tsx +1 -1
  46. package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +1 -1
  47. package/src/collection_editor/ui/KanbanSetupAction.tsx +1 -1
  48. package/src/collection_editor/ui/MissingReferenceWidget.tsx +1 -1
  49. package/src/collection_editor/ui/NewCollectionButton.tsx +1 -1
  50. package/src/collection_editor/ui/NewCollectionCard.tsx +1 -1
  51. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +1 -1
  52. package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +1 -1
  53. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +3 -3
  54. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +3 -3
  55. package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +2 -2
  56. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +2 -2
  57. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +37 -6
  58. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +1 -1
  59. package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +1 -1
  60. package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +1 -1
  61. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +2 -2
  62. package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +2 -2
  63. package/src/collection_editor/ui/collection_editor/EntityActionsSelectDialog.tsx +1 -1
  64. package/src/collection_editor/ui/collection_editor/EntityCustomViewsSelectDialog.tsx +1 -1
  65. package/src/collection_editor/ui/collection_editor/EnumForm.tsx +2 -2
  66. package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +2 -2
  67. package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +2 -2
  68. package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +2 -2
  69. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +2 -2
  70. package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +1 -1
  71. package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +1 -1
  72. package/src/collection_editor/ui/collection_editor/RouterCollectionStudioView.tsx +1 -1
  73. package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +2 -2
  74. package/src/collection_editor/ui/collection_editor/SwitchControl.tsx +1 -1
  75. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportDataPreview.tsx +1 -1
  76. package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +2 -2
  77. package/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx +1 -1
  78. package/src/collection_editor/ui/collection_editor/properties/BooleanPropertyField.tsx +1 -1
  79. package/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx +2 -2
  80. package/src/collection_editor/ui/collection_editor/properties/DateTimePropertyField.tsx +2 -2
  81. package/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx +2 -2
  82. package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +2 -2
  83. package/src/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.tsx +2 -2
  84. package/src/collection_editor/ui/collection_editor/properties/NumberPropertyField.tsx +2 -2
  85. package/src/collection_editor/ui/collection_editor/properties/ReferencePropertyField.tsx +2 -2
  86. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +1 -1
  87. package/src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.tsx +1 -1
  88. package/src/collection_editor/ui/collection_editor/properties/StoragePropertyField.tsx +2 -2
  89. package/src/collection_editor/ui/collection_editor/properties/StringPropertyField.tsx +2 -2
  90. package/src/collection_editor/ui/collection_editor/properties/UrlPropertyField.tsx +1 -1
  91. package/src/collection_editor/ui/collection_editor/properties/VectorPropertyField.tsx +1 -1
  92. package/src/collection_editor/ui/collection_editor/properties/advanced/AdvancedPropertyValidation.tsx +1 -1
  93. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.tsx +1 -1
  94. package/src/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.tsx +1 -1
  95. package/src/collection_editor/ui/collection_editor/properties/validation/ArrayPropertyValidation.tsx +2 -2
  96. package/src/collection_editor/ui/collection_editor/properties/validation/GeneralPropertyValidation.tsx +2 -2
  97. package/src/collection_editor/ui/collection_editor/properties/validation/NumberPropertyValidation.tsx +2 -2
  98. package/src/collection_editor/ui/collection_editor/properties/validation/StringPropertyValidation.tsx +2 -2
  99. package/src/collection_editor/useSafeSnackbarController.ts +1 -1
  100. package/src/components/AdminModeSyncer.tsx +1 -1
  101. package/src/components/ArrayContainer.tsx +1 -1
  102. package/src/components/ClearFilterSortButton.tsx +1 -1
  103. package/src/components/CollectionPanel.tsx +1 -1
  104. package/src/components/CollectionTableBinding/CollectionRowActions.tsx +2 -2
  105. package/src/components/CollectionTableBinding/CollectionTableBinding.tsx +3 -3
  106. package/src/components/CollectionTableBinding/CollectionTableBindingProps.tsx +1 -1
  107. package/src/components/CollectionTableBinding/PropertyTableCell.tsx +1 -1
  108. package/src/components/CollectionTableBinding/column_utils.tsx +1 -1
  109. package/src/components/CollectionTableBinding/fields/TableMultipleRelationField.tsx +2 -2
  110. package/src/components/CollectionTableBinding/fields/TableReferenceField.tsx +1 -1
  111. package/src/components/CollectionTableBinding/fields/TableRelationField.tsx +2 -2
  112. package/src/components/CollectionTableBinding/fields/TableStorageUpload.tsx +1 -1
  113. package/src/components/CollectionTableBinding/internal/CollectionTableToolbar.tsx +1 -1
  114. package/src/components/CollectionTableBinding/internal/EntityTableCell.tsx +2 -2
  115. package/src/components/CollectionTableBinding/internal/EntityTableCellActions.tsx +1 -1
  116. package/src/components/CollectionTableBinding/internal/popup_field/PopupFormField.tsx +4 -4
  117. package/src/components/CollectionTableBinding/table_bindings.tsx +1 -1
  118. package/src/components/CollectionViewBinding/BoardCardBinding.tsx +2 -2
  119. package/src/components/CollectionViewBinding/CollectionBoardViewBinding.tsx +3 -3
  120. package/src/components/CollectionViewBinding/CollectionCardViewBinding.tsx +1 -1
  121. package/src/components/CollectionViewBinding/CollectionListViewBinding.tsx +3 -3
  122. package/src/components/CollectionViewBinding/CollectionViewActions.tsx +2 -2
  123. package/src/components/CollectionViewBinding/CollectionViewBinding.tsx +1 -1
  124. package/src/components/CollectionViewBinding/CollectionViewStartActions.tsx +1 -1
  125. package/src/components/CollectionViewBinding/EntityCardBinding.tsx +3 -3
  126. package/src/components/CollectionViewBinding/FiltersDialog.tsx +19 -1
  127. package/src/components/CollectionViewBinding/SplitListView.tsx +1 -1
  128. package/src/components/CollectionViewBinding/ViewModeToggle.tsx +1 -1
  129. package/src/components/CollectionViewBinding/hooks/useCollectionInlineEditor.ts +2 -2
  130. package/src/components/CollectionViewBinding/hooks/useKanbanDragAndDrop.ts +2 -2
  131. package/src/components/CollectionViewBinding/useBoardDataController.tsx +9 -3
  132. package/src/components/CollectionViewBinding/usePreviewSlots.ts +1 -1
  133. package/src/components/DefaultAppBar.tsx +3 -3
  134. package/src/components/DefaultDrawer.tsx +3 -3
  135. package/src/components/DeleteEntityDialog.tsx +1 -1
  136. package/src/components/DetailViewBinding.tsx +3 -3
  137. package/src/components/DrawerNavigationGroup.tsx +2 -2
  138. package/src/components/EditFormActions.tsx +4 -4
  139. package/src/components/EditViewBinding.tsx +6 -6
  140. package/src/components/EntityPreviewBinding.tsx +3 -3
  141. package/src/components/EntityViewBinding.tsx +2 -2
  142. package/src/components/HomePage/ContentHomePage.tsx +4 -4
  143. package/src/components/HomePage/FavouritesView.tsx +1 -1
  144. package/src/components/HomePage/NavigationCardBinding.tsx +3 -3
  145. package/src/components/HomePage/NavigationGroup.tsx +1 -1
  146. package/src/components/HomePage/RenameGroupDialog.tsx +1 -1
  147. package/src/components/JsonPreviewBinding.tsx +1 -1
  148. package/src/components/{RebaseCMS.tsx → RebaseAdmin.tsx} +3 -3
  149. package/src/components/RebaseAuthGate.tsx +2 -2
  150. package/src/components/RebaseLayout.tsx +7 -13
  151. package/src/components/RebaseNavigation.tsx +18 -3
  152. package/src/components/RebaseRouteDefs.tsx +2 -2
  153. package/src/components/RebaseShell.tsx +2 -1
  154. package/src/components/ReferenceTable/SelectionTableBinding.tsx +5 -5
  155. package/src/components/RelationSelector.tsx +1 -1
  156. package/src/components/SearchIconsView.tsx +2 -2
  157. package/src/components/SelectableTable/SelectableTable.tsx +2 -2
  158. package/src/components/SelectableTable/SelectableTableContext.tsx +1 -1
  159. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +1 -1
  160. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +1 -1
  161. package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +1 -1
  162. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +1 -1
  163. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +1 -1
  164. package/src/components/SideDialogs.tsx +1 -1
  165. package/src/components/SidePanelBinding.tsx +1 -1
  166. package/src/components/SidePanelProvider.tsx +2 -2
  167. package/src/components/UserSelector.tsx +1 -1
  168. package/src/components/admin/CreationResultDialog.tsx +6 -3
  169. package/src/components/app/Scaffold.tsx +6 -2
  170. package/src/components/common/default_entity_actions.tsx +123 -25
  171. package/src/components/field_configs.tsx +1 -1
  172. package/src/components/history/EntityHistoryEntry.tsx +1 -1
  173. package/src/components/history/EntityHistoryView.tsx +4 -4
  174. package/src/components/history/LastEditedByIndicator.tsx +2 -2
  175. package/src/components/index.ts +1 -1
  176. package/src/data_export/export/BasicExportAction.tsx +1 -1
  177. package/src/data_export/export/ExportCollectionAction.tsx +1 -1
  178. package/src/data_import/components/DataNewPropertiesMapping.tsx +1 -1
  179. package/src/data_import/components/ImportFileUpload.tsx +1 -1
  180. package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +1 -1
  181. package/src/data_import/components/ImportSaveInProgress.tsx +1 -1
  182. package/src/data_import/import/ImportCollectionAction.tsx +2 -2
  183. package/src/data_import/utils/data.ts +2 -2
  184. package/src/data_import/utils/get_properties_mapping.ts +1 -1
  185. package/src/editor/components/image-bubble.tsx +1 -1
  186. package/src/editor/components/table-bubble.tsx +1 -1
  187. package/src/editor/editor.tsx +1 -1
  188. package/src/editor/selectors/link-selector.tsx +1 -1
  189. package/src/editor/selectors/node-selector.tsx +1 -1
  190. package/src/form/EntityForm.tsx +4 -4
  191. package/src/form/EntityFormActions.tsx +1 -1
  192. package/src/form/EntityFormBinding.tsx +4 -4
  193. package/src/form/PropertyFieldBinding.tsx +3 -3
  194. package/src/form/components/ErrorFocus.tsx +1 -1
  195. package/src/form/components/LocalChangesMenu.tsx +3 -3
  196. package/src/form/components/StorageItemPreview.tsx +1 -1
  197. package/src/form/components/StorageUploadProgress.tsx +3 -3
  198. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +1 -1
  199. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +1 -1
  200. package/src/form/field_bindings/BlockFieldBinding.tsx +2 -2
  201. package/src/form/field_bindings/DateTimeFieldBinding.tsx +1 -1
  202. package/src/form/field_bindings/KeyValueFieldBinding.tsx +2 -2
  203. package/src/form/field_bindings/MapFieldBinding.tsx +1 -1
  204. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +2 -2
  205. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +1 -1
  206. package/src/form/field_bindings/ReferenceFieldBinding.tsx +2 -2
  207. package/src/form/field_bindings/RelationFieldBinding.tsx +1 -1
  208. package/src/form/field_bindings/RepeatFieldBinding.tsx +1 -1
  209. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +3 -3
  210. package/src/form/form_utils.ts +1 -1
  211. package/src/hooks/navigation/useNavigationResolution.ts +19 -4
  212. package/src/hooks/useBuildSidePanel.tsx +2 -2
  213. package/src/hooks/useCMSContext.tsx +1 -1
  214. package/src/hooks/useHistory.ts +1 -1
  215. package/src/hooks/useResolvedNavigationFrom.tsx +4 -2
  216. package/src/index.ts +3 -3
  217. package/src/preview/PropertyPreview.tsx +2 -2
  218. package/src/preview/components/DatePreview.tsx +1 -1
  219. package/src/preview/components/EnumValuesChip.tsx +1 -1
  220. package/src/preview/components/ImagePreview.tsx +1 -1
  221. package/src/preview/components/ReferencePreview.tsx +2 -2
  222. package/src/preview/components/RelationPreview.tsx +1 -1
  223. package/src/preview/components/StorageThumbnail.tsx +1 -1
  224. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +1 -1
  225. package/src/preview/property_previews/ArrayOneOfPreview.tsx +1 -1
  226. package/src/preview/property_previews/ArrayPropertyPreview.tsx +1 -1
  227. package/src/routes/RebaseRoute.tsx +2 -2
  228. package/src/types/components/formex.tsx +1 -1
  229. package/src/util/previews.ts +4 -2
  230. package/dist/CollectionEditorDialog-B-7uW3iJ.js.map +0 -1
  231. package/dist/PropertyEditView-7KMTcrqi.js.map +0 -1
  232. package/dist/RouterCollectionsStudioView-epqIbZrJ.js.map +0 -1
  233. package/dist/history-7X5bON_n.js.map +0 -1
  234. package/dist/src-sUZfe29F.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { useCallback, useMemo } from "react";
2
- import { setIn } from "@rebasepro/formex";
2
+ import { setIn } from "@rebasepro/forms";
3
3
  import { CollectionConfig, RebaseData, RebaseContext } from "@rebasepro/types";
4
- import { OnCellValueChange, saveEntityWithCallbacks, SaveEntityWithCallbacksProps, UniqueFieldValidator } from "@rebasepro/core";
4
+ import { OnCellValueChange, saveEntityWithCallbacks, SaveEntityWithCallbacksProps, UniqueFieldValidator } from "@rebasepro/app";
5
5
 
6
6
  export interface UseCollectionInlineEditorParams<M extends Record<string, unknown>> {
7
7
  path: string;
@@ -1,7 +1,7 @@
1
1
  import { useCallback, useMemo } from "react";
2
- import { setIn } from "@rebasepro/formex";
2
+ import { setIn } from "@rebasepro/forms";
3
3
  import { CollectionConfig, RebaseData, RebaseContext, AnalyticsController, Entity } from "@rebasepro/types";
4
- import { saveEntityWithCallbacks, SaveEntityWithCallbacksProps } from "@rebasepro/core";
4
+ import { saveEntityWithCallbacks, SaveEntityWithCallbacksProps } from "@rebasepro/app";
5
5
  import { BoardItem } from "@rebasepro/ui";
6
6
  import { BoardDataController } from "../useBoardDataController";
7
7
  import { generateKeyBetween } from "fractional-indexing";
@@ -1,7 +1,7 @@
1
1
  import type { CollectionConfig } from "@rebasepro/types";
2
2
  import { Entity, FilterValues } from "@rebasepro/types";
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
- import { useData, useRebaseContext } from "@rebasepro/core";
4
+ import { getRelationIncludeParams, useData, useRebaseContext } from "@rebasepro/app";
5
5
 
6
6
  const DEFAULT_PAGE_SIZE = 20;
7
7
 
@@ -410,18 +410,24 @@ values: { ...e.values,
410
410
 
411
411
  // Set up listener or fetch
412
412
  const accessor = currentDataClient.collection(currentResolvedPath);
413
+
414
+ // Eagerly include relations to avoid N+1 fetches.
415
+ const includeParams = getRelationIncludeParams(currentCollection);
416
+
413
417
  if (accessor.listen) {
414
418
  const unsubscribe = accessor.listen({
415
419
  where: whereFilter,
416
420
  limit: itemCount,
417
- orderBy: orderByParam
421
+ orderBy: orderByParam,
422
+ include: includeParams
418
423
  }, res => onUpdate(res.data as Entity<M>[]), onError);
419
424
  unsubscribersRef.current[column] = unsubscribe;
420
425
  } else {
421
426
  accessor.find({
422
427
  where: whereFilter,
423
428
  limit: itemCount,
424
- orderBy: orderByParam
429
+ orderBy: orderByParam,
430
+ include: includeParams
425
431
  })
426
432
  .then(res => onUpdate(res.data as Entity<M>[]))
427
433
  .catch(onError);
@@ -2,7 +2,7 @@ import { useMemo } from "react";
2
2
  import type { CollectionConfig, Property, RelationProperty } from "@rebasepro/types";
3
3
  import type { Entity, PropertyConfig, EntityRelation } from "@rebasepro/types";
4
4
  import { getEntityImagePreviewPropertyKey } from "@rebasepro/common";
5
- import { getEntityFromCache } from "@rebasepro/core";
5
+ import { getEntityFromCache } from "@rebasepro/app";
6
6
  import { getEntityTitlePropertyKey, getEntityPreviewKeys } from "../../util/previews";
7
7
  import { getValueInPath } from "@rebasepro/utils";
8
8
  import type { AuthController } from "@rebasepro/types";
@@ -2,7 +2,7 @@
2
2
  import React from "react";
3
3
 
4
4
  import { Link, useNavigate } from "react-router-dom";
5
- import { RebaseLogo, LanguageToggle } from "@rebasepro/core";
5
+ import { RebaseLogo, LanguageToggle } from "@rebasepro/app";
6
6
  import { ErrorBoundary, iconSize } from "@rebasepro/ui";
7
7
  import {
8
8
  Avatar,
@@ -18,12 +18,12 @@ import {
18
18
  SunMoonIcon,
19
19
  Typography
20
20
  } from "@rebasepro/ui";
21
- import { useAuthController, useLargeLayout, useModeController, useAdminModeController, useTranslation } from "@rebasepro/core";
21
+ import { useAuthController, useLargeLayout, useModeController, useAdminModeController, useTranslation } from "@rebasepro/app";
22
22
  import { useUrlController } from "../hooks/navigation/contexts/UrlContext";
23
23
  import { User } from "@rebasepro/types";
24
24
  import { useApp } from "./app/useApp";
25
25
  import { useBreadcrumbsController } from "../hooks/useBreadcrumbsController";
26
- import { UserSettingsView } from "@rebasepro/core";
26
+ import { UserSettingsView } from "@rebasepro/app";
27
27
 
28
28
  export type DefaultAppBarProps<ADDITIONAL_PROPS = object> = {
29
29
 
@@ -1,7 +1,7 @@
1
1
  import type { NavigationEntry, NavigationResult } from "@rebasepro/types";
2
2
  import React, { useMemo } from "react";
3
3
 
4
- import { useCollapsedGroups, buildCollapsedDefaults, useLargeLayout, useAdminModeController, useAuthController, useModeController, useTranslation, useSlot, useRebaseContext, useAnalyticsController, useRebaseRegistry, useComponentOverride } from "@rebasepro/core";
4
+ import { useCollapsedGroups, buildCollapsedDefaults, useLargeLayout, useAdminModeController, useAuthController, useModeController, useTranslation, useSlot, useRebaseContext, useAnalyticsController, useRebaseRegistry, useComponentOverride } from "@rebasepro/app";
5
5
  import { useUrlController } from "../hooks/navigation/contexts/UrlContext";
6
6
  import { useNavigationStateController } from "../hooks/navigation/contexts/NavigationStateContext";
7
7
 
@@ -29,7 +29,7 @@ import {
29
29
  Typography
30
30
  } from "@rebasepro/ui";
31
31
  import { DrawerNavigationGroup } from "./DrawerNavigationGroup";
32
- import { LanguageToggle, RebaseLogo } from "@rebasepro/core";
32
+ import { LanguageToggle, RebaseLogo } from "@rebasepro/app";
33
33
  import { useApp } from "./app/useApp";
34
34
 
35
35
  /**
@@ -166,7 +166,7 @@ function CMSNavigationContent() {
166
166
  const allNavigationEntries = navigationState.topLevelNavigation?.navigationEntries ?? [];
167
167
 
168
168
  // Build a set of Studio-only dev view slugs so we can distinguish them from
169
- // CMS custom views added via <RebaseCMS views={...}> or plugins.
169
+ // CMS custom views added via <RebaseAdmin views={...}> or plugins.
170
170
  const studioViewSlugs = useMemo(() => {
171
171
  const slugs = new Set<string>();
172
172
  (registry.studioConfig?.devViews ?? []).forEach(v => slugs.add(v.slug));
@@ -9,7 +9,7 @@ import {
9
9
  useData,
10
10
  useSnackbarController,
11
11
  useTranslation
12
- } from "@rebasepro/core";
12
+ } from "@rebasepro/app";
13
13
  import { useCMSContext } from "../hooks";
14
14
  import { EntityViewBinding } from "./EntityViewBinding";
15
15
 
@@ -3,7 +3,7 @@ import type { FormContext } from "../types/fields";
3
3
  import type { PluginFormActionProps } from "@rebasepro/types";
4
4
  import React, { lazy, Suspense, useCallback, useEffect, useMemo, useRef, useState } from "react";
5
5
  import { Entity, EntityStatus, getCollectionDataPath, Property } from "@rebasepro/types";
6
- import { PluginProviderStack, resolveComponentRef, useComponentOverride, CollectionScopeProvider } from "@rebasepro/core";
6
+ import { PluginProviderStack, resolveComponentRef, useComponentOverride, CollectionScopeProvider } from "@rebasepro/app";
7
7
 
8
8
  import { CollectionViewBinding, EntityViewBinding } from "../components";
9
9
  import { CircularProgressCenter, iconSize } from "@rebasepro/ui";
@@ -25,7 +25,7 @@ import {
25
25
  Typography
26
26
  } from "@rebasepro/ui";
27
27
  import { ErrorBoundary } from "@rebasepro/ui";
28
- import { ErrorView, createFormexStub, usePermissions, useTranslation, getIcon } from "@rebasepro/core";
28
+ import { ErrorView, createFormexStub, usePermissions, useTranslation, getIcon } from "@rebasepro/app";
29
29
  import {
30
30
  getSubcollections,
31
31
  removeInitialAndTrailingSlashes,
@@ -38,7 +38,7 @@ import {
38
38
  useRebaseContext,
39
39
  useLargeLayout,
40
40
  useSlot
41
- } from "@rebasepro/core";
41
+ } from "@rebasepro/app";
42
42
  import { useUrlController, useCollectionRegistryController } from "../index";
43
43
  import { useNavigate } from "react-router-dom";
44
44
  import { getValueInPath } from "@rebasepro/utils";
@@ -2,9 +2,9 @@ import type { NavigationEntry } from "@rebasepro/types";
2
2
  import React from "react";
3
3
  import { ChevronDownIcon, cls, iconSize, Typography } from "@rebasepro/ui";
4
4
 
5
- import { IconForView } from "@rebasepro/core";
5
+ import { IconForView } from "@rebasepro/app";
6
6
  import { DrawerNavigationItem } from "./DrawerNavigationItem";
7
- import { useTranslation, useComponentOverride } from "@rebasepro/core";
7
+ import { useTranslation, useComponentOverride } from "@rebasepro/app";
8
8
 
9
9
  export interface DrawerNavigationGroupProps {
10
10
  /**
@@ -14,11 +14,11 @@ import {
14
14
  useCustomizationController,
15
15
  useSnackbarController,
16
16
  useTranslation
17
- } from "@rebasepro/core";
17
+ } from "@rebasepro/app";
18
18
  import { SideDialogController, useSideDialogContext } from "./SideDialogs";
19
- import { FormexController } from "@rebasepro/formex";
20
- import { ErrorTooltip } from "@rebasepro/core";
21
- import { usePermissions } from "@rebasepro/core";
19
+ import { FormexController } from "@rebasepro/forms";
20
+ import { ErrorTooltip } from "@rebasepro/app";
21
+ import { usePermissions } from "@rebasepro/app";
22
22
  import { useCMSContext } from "../index";
23
23
 
24
24
  export function EditFormActions({
@@ -3,7 +3,7 @@ import type { FormContext } from "../types/fields";
3
3
  import type { PluginFormActionProps } from "@rebasepro/types";
4
4
  import React, { lazy, Suspense, useCallback, useEffect, useMemo, useRef, useState } from "react";
5
5
  import { Entity, EntityStatus, getCollectionDataPath } from "@rebasepro/types";
6
- import { PluginProviderStack, resolveComponentRef, useComponentOverride, CollectionScopeProvider } from "@rebasepro/core";
6
+ import { PluginProviderStack, resolveComponentRef, useComponentOverride, CollectionScopeProvider } from "@rebasepro/app";
7
7
 
8
8
  import { CollectionViewBinding, EntityViewBinding } from "../components";
9
9
  import { CircularProgressCenter, iconSize } from "@rebasepro/ui";
@@ -23,7 +23,7 @@ import {
23
23
  Typography
24
24
  } from "@rebasepro/ui";
25
25
  import { ErrorBoundary } from "@rebasepro/ui";
26
- import { ErrorView } from "@rebasepro/core";
26
+ import { ErrorView } from "@rebasepro/app";
27
27
  import {
28
28
  getSubcollections,
29
29
  removeInitialAndTrailingSlashes,
@@ -37,8 +37,8 @@ import {
37
37
  useLargeLayout,
38
38
  useSlot,
39
39
  getIcon
40
- } from "@rebasepro/core";
41
- import { getEntityFromMemoryCache } from "@rebasepro/core";
40
+ } from "@rebasepro/app";
41
+ import { getEntityFromMemoryCache } from "@rebasepro/app";
42
42
  import { EntityFormBinding } from "../form";
43
43
  import type { EntityFormBindingProps } from "../form";
44
44
  import type { OnUpdateParams } from "../types/components/EntityFormProps";
@@ -46,8 +46,8 @@ import { EditFormActions } from "./EditFormActions";
46
46
  import { JsonPreviewBinding } from "../components/JsonPreviewBinding";
47
47
  // Lazy-load history view — only loaded when user clicks the HistoryIcon tab
48
48
  const EntityHistoryView = lazy(() => import("../components/history").then(m => ({ default: m.EntityHistoryView })));
49
- import { createFormexStub, getEntityFromCache } from "@rebasepro/core";
50
- import { usePermissions } from "@rebasepro/core";
49
+ import { createFormexStub, getEntityFromCache } from "@rebasepro/app";
50
+ import { usePermissions } from "@rebasepro/app";
51
51
  import { useUrlController } from "../index";
52
52
  import { useNavigate } from "react-router-dom";
53
53
 
@@ -21,9 +21,9 @@ import {
21
21
  useCustomizationController,
22
22
  useData,
23
23
  ErrorView
24
- } from "@rebasepro/core";
25
- import { useAnalyticsController } from "@rebasepro/core";
26
- import { IconForView } from "@rebasepro/core";
24
+ } from "@rebasepro/app";
25
+ import { useAnalyticsController } from "@rebasepro/app";
26
+ import { IconForView } from "@rebasepro/app";
27
27
  import { getPropertyInPath } from "../util/property_utils";
28
28
  import { getEntityPreviewKeys, getEntityTitlePropertyKey } from "../util/previews";
29
29
  import { getValueInPath } from "@rebasepro/utils";
@@ -5,8 +5,8 @@ import React from "react";
5
5
  import { Entity } from "@rebasepro/types";
6
6
  import { cls, defaultBorderMixin, ExternalLinkIcon, IconButton, Typography } from "@rebasepro/ui";
7
7
  ;
8
- import { useCustomizationController } from "@rebasepro/core";
9
- import { useAuthController } from "@rebasepro/core";
8
+ import { useCustomizationController } from "@rebasepro/app";
9
+ import { useAuthController } from "@rebasepro/app";
10
10
  import { PropertyCollectionView } from "./PropertyCollectionView";
11
11
 
12
12
  /**
@@ -19,10 +19,10 @@ import { SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable"
19
19
  import { restrictToVerticalAxis, restrictToWindowEdges } from "@dnd-kit/modifiers";
20
20
  import { RenameGroupDialog } from "./RenameGroupDialog";
21
21
  import { toArray } from "@rebasepro/utils";
22
- import { useCollapsedGroups, buildCollapsedDefaults, useCustomizationController, useTranslation, useSlot, useAdminModeController, useRebaseRegistry } from "@rebasepro/core";
23
- import { useRestoreScroll } from "@rebasepro/core";
22
+ import { useCollapsedGroups, buildCollapsedDefaults, useCustomizationController, useTranslation, useSlot, useAdminModeController, useRebaseRegistry } from "@rebasepro/app";
23
+ import { useRestoreScroll } from "@rebasepro/app";
24
24
 
25
- import { SchemaDriftBanner } from "@rebasepro/core";
25
+ import { SchemaDriftBanner } from "@rebasepro/app";
26
26
  import { useBreadcrumbsController, useCMSContext } from "../../index";
27
27
 
28
28
  export const DEFAULT_GROUP_NAME = "Views";
@@ -64,7 +64,7 @@ export function ContentHomePage({
64
64
  } = navigationStateController.topLevelNavigation || {};
65
65
 
66
66
  // Build a set of Studio-only dev view slugs so we can distinguish them from
67
- // CMS custom views added via <RebaseCMS views={...}> or plugins.
67
+ // CMS custom views added via <RebaseAdmin views={...}> or plugins.
68
68
  const studioViewSlugs = useMemo(() => {
69
69
  const slugs = new Set<string>();
70
70
  (registry.studioConfig?.devViews ?? []).forEach(v => slugs.add(v.slug));
@@ -2,7 +2,7 @@ import type { NavigationEntry } from "@rebasepro/types";
2
2
  import { useNavigate } from "react-router-dom";
3
3
  ;
4
4
  import { Chip, Collapse, StarIcon } from "@rebasepro/ui";
5
- import { useUserConfigurationPersistence } from "@rebasepro/core";
5
+ import { useUserConfigurationPersistence } from "@rebasepro/app";
6
6
  import { useNavigationStateController } from "../../index";
7
7
 
8
8
  function NavigationChip({ entry }: { entry: NavigationEntry }) {
@@ -5,9 +5,9 @@ import { IconButton, StarIcon, Tooltip } from "@rebasepro/ui";
5
5
  import { NavigationCard } from "./NavigationCard";
6
6
  import { SmallNavigationCard } from "./SmallNavigationCard";
7
7
  import React from "react";
8
- import { useRebaseContext, useSlot } from "@rebasepro/core";
9
- import { IconForView } from "@rebasepro/core";
10
- import { useUserConfigurationPersistence } from "@rebasepro/core";
8
+ import { useRebaseContext, useSlot } from "@rebasepro/app";
9
+ import { IconForView } from "@rebasepro/app";
10
+ import { useUserConfigurationPersistence } from "@rebasepro/app";
11
11
 
12
12
  /**
13
13
  * This is the component used in the home page to render a card for each
@@ -1,6 +1,6 @@
1
1
  import React, { PropsWithChildren, useState } from "react";
2
2
  import { cls, ExpandablePanel, IconButton, iconSize, PencilIcon, Typography } from "@rebasepro/ui";
3
- import { useTranslation } from "@rebasepro/core";
3
+ import { useTranslation } from "@rebasepro/app";
4
4
 
5
5
  export function NavigationGroup({
6
6
  children,
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useRef, useState } from "react";
2
2
  import { Button, Dialog, DialogActions, DialogContent, DialogTitle, TextField } from "@rebasepro/ui";
3
- import { useTranslation } from "@rebasepro/core";
3
+ import { useTranslation } from "@rebasepro/app";
4
4
 
5
5
  interface RenameGroupDialogProps {
6
6
  open: boolean;
@@ -1,6 +1,6 @@
1
1
  import React, { useRef } from "react";
2
2
  import { Highlight, themes } from "prism-react-renderer";
3
- import { useModeController } from "@rebasepro/core";
3
+ import { useModeController } from "@rebasepro/app";
4
4
 
5
5
  export function JsonPreviewBinding({ values }: { values: object }) {
6
6
  const code = JSON.stringify(values, null, "\t");
@@ -1,6 +1,6 @@
1
1
  import React, { useLayoutEffect } from "react";
2
- import { useRebaseRegistryDispatch } from "@rebasepro/core";
3
- import type { RebaseCMSConfig } from "@rebasepro/types";
2
+ import { useRebaseRegistryDispatch } from "@rebasepro/app";
3
+ import type { RebaseAdminConfig } from "@rebasepro/types";
4
4
 
5
5
  /**
6
6
  * Declarative component to configure the CMS in Rebase.
@@ -10,7 +10,7 @@ import type { RebaseCMSConfig } from "@rebasepro/types";
10
10
  * is auto-wired as a native feature (slots, provider, Studio view) without
11
11
  * needing any external plugin.
12
12
  */
13
- export function RebaseCMS({ collections, views, homePage, entityViews, entityActions, collectionEditor, navigationGroupMappings, basePath }: RebaseCMSConfig) {
13
+ export function RebaseAdmin({ collections, views, homePage, entityViews, entityActions, collectionEditor, navigationGroupMappings, basePath }: RebaseAdminConfig) {
14
14
  const dispatch = useRebaseRegistryDispatch();
15
15
 
16
16
  useLayoutEffect(() => {
@@ -2,9 +2,9 @@ import React from "react";
2
2
  import {
3
3
  useRebaseRegistry,
4
4
  useAuthController
5
- } from "@rebasepro/core";
5
+ } from "@rebasepro/app";
6
6
  import { CircularProgressCenter } from "@rebasepro/ui";
7
- import { LoginView } from "@rebasepro/core";
7
+ import { LoginView } from "@rebasepro/app";
8
8
  import type { AuthControllerExtended } from "@rebasepro/types";
9
9
 
10
10
  /**
@@ -4,10 +4,9 @@ import {
4
4
  useAdminModeController,
5
5
  useComponentOverride,
6
6
  useRebaseRegistry
7
- } from "@rebasepro/core";
7
+ } from "@rebasepro/app";
8
8
 
9
9
  import { Scaffold } from "./app/Scaffold";
10
- import { AppBar } from "./app/AppBar";
11
10
  import { Drawer } from "./app/Drawer";
12
11
  import { SideDialogs } from "./SideDialogs";
13
12
  import { AdminModeSyncer } from "./AdminModeSyncer";
@@ -16,7 +15,7 @@ import type { AppView } from "@rebasepro/types";
16
15
  export interface RebaseLayoutProps {
17
16
  /** Title shown in the drawer. */
18
17
  title?: string;
19
- /** Custom AppBar to override the default. */
18
+ /** Top bar. Only rendered if provided — pass `<AppBar/>` for the default one. */
20
19
  appBar?: React.ReactNode;
21
20
  /** Custom Drawer to override the default. */
22
21
  drawer?: React.ReactNode;
@@ -27,17 +26,18 @@ export interface RebaseLayoutProps {
27
26
  }
28
27
 
29
28
  /**
30
- * Layout layer — provides the Scaffold, AppBar, Drawer, and SideDialogs.
29
+ * Layout layer — provides the Scaffold, Drawer, and SideDialogs.
31
30
  *
32
31
  * Wraps the route outlet with the standard Rebase admin layout.
33
- * Override individual pieces (appBar, drawer) via props.
32
+ * Override the drawer via props; pass `appBar` to add a top bar (there is
33
+ * none by default — the drawer owns navigation and user actions).
34
34
  *
35
35
  * **Independently usable**: Use this when you want the Rebase layout
36
36
  * without its default route definitions.
37
37
  *
38
38
  * @example
39
39
  * ```tsx
40
- * <RebaseLayout title="My Admin">
40
+ * <RebaseLayout title="My Admin" appBar={<AppBar/>}>
41
41
  * <Route path="/" element={<MyHomePage />} />
42
42
  * <Route path="/custom" element={<CustomView />} />
43
43
  * </RebaseLayout>
@@ -53,14 +53,8 @@ export function RebaseLayout(props: RebaseLayoutProps) {
53
53
  } = props;
54
54
 
55
55
  const adminModeController = useAdminModeController();
56
- const ResolvedAppBar = useComponentOverride("Shell.AppBar", AppBar);
57
56
  const ResolvedDrawer = useComponentOverride("Shell.Drawer", Drawer);
58
57
 
59
- const ActiveAppBar = appBar ?? <ResolvedAppBar
60
- includeLanguageToggle={false}
61
- includeModeToggle={false}
62
- includeUserMenu={false}
63
- />;
64
58
  const ActiveDrawer = drawer ?? (
65
59
  <ResolvedDrawer
66
60
  title={title}
@@ -71,7 +65,7 @@ export function RebaseLayout(props: RebaseLayoutProps) {
71
65
  return (
72
66
  <Scaffold autoOpenDrawer={autoOpenDrawer}>
73
67
  <AdminModeSyncer devViews={devViews}/>
74
- {ActiveAppBar}
68
+ {appBar}
75
69
  {ActiveDrawer}
76
70
  <Outlet/>
77
71
  <SideDialogs/>
@@ -1,4 +1,4 @@
1
- import React, { useMemo, useRef, useEffect, lazy, Suspense } from "react";
1
+ import React, { useMemo, useRef, useEffect, useCallback, useContext, lazy, Suspense } from "react";
2
2
  import {
3
3
  useRebaseRegistry,
4
4
  useRebaseContext,
@@ -9,11 +9,12 @@ import {
9
9
  useRebaseClient,
10
10
  useData,
11
11
  useDataSources,
12
+ CollectionResolverRegistrationContext,
12
13
  StudioBridgeRegistryProvider,
13
14
  useBridgeRegistration,
14
15
  CustomizationControllerContext,
15
16
  RebaseDataContext
16
- } from "@rebasepro/core";
17
+ } from "@rebasepro/app";
17
18
  import { buildRoutedRebaseData, resolveDataSource } from "@rebasepro/common";
18
19
  import { CircularProgressCenter } from "@rebasepro/ui";
19
20
  import type { AppView, CollectionEditorOptions, EntityCustomView, EntityAction, CollectionConfig, RebasePlugin } from "@rebasepro/types";
@@ -103,6 +104,20 @@ export function RebaseNavigation({ children }: RebaseNavigationProps) {
103
104
  const defaultData = useData();
104
105
  const getCollectionRef = useRef(collectionRegistryController.getCollection);
105
106
  getCollectionRef.current = collectionRegistryController.getCollection;
107
+
108
+ // Hand the data layer a way to read this registry. It was built by <Rebase>,
109
+ // above us, and needs a collection's primary keys to give its rows an
110
+ // address — rows themselves carry only columns.
111
+ //
112
+ // Registered during render, not in an effect: the views that fetch rows are
113
+ // below us, and their effects run before ours, so an effect here would bind
114
+ // after the first page had already been converted. The call only assigns a
115
+ // ref, so repeating it per render is free.
116
+ const registerCollectionResolver = useContext(CollectionResolverRegistrationContext);
117
+ const resolveCollection = useCallback(
118
+ (slug: string) => getCollectionRef.current(slug),
119
+ []);
120
+ registerCollectionResolver(resolveCollection);
106
121
  const routedData = useMemo(() => buildRoutedRebaseData({
107
122
  defaultData,
108
123
  sources: dataSources.sources,
@@ -220,7 +235,7 @@ export function RebaseNavigation({ children }: RebaseNavigationProps) {
220
235
 
221
236
  // ── Merge CMS-registered entityViews/entityActions into the customization controller ──
222
237
  // The <Rebase> component builds the customizationController from its own props,
223
- // but entity views passed to <RebaseCMS> are stored in the registry and not
238
+ // but entity views passed to <RebaseAdmin> are stored in the registry and not
224
239
  // automatically merged. We re-provide an enriched controller here so that
225
240
  // downstream consumers (EditViewBinding, side panels, etc.) can resolve
226
241
  // string-keyed entity views like "blog_preview".
@@ -7,7 +7,7 @@ import {
7
7
  UIReferenceView,
8
8
  NotFoundPage,
9
9
  useComponentOverride
10
- } from "@rebasepro/core";
10
+ } from "@rebasepro/app";
11
11
  import { CircularProgressCenter } from "@rebasepro/ui";
12
12
 
13
13
  import { ContentHomePage as DefaultHomePage } from "./HomePage/ContentHomePage";
@@ -17,7 +17,7 @@ import { CustomViewRoute } from "../routes/CustomViewRoute";
17
17
  import { useNavigationStateController } from "../hooks/navigation/contexts/NavigationStateContext";
18
18
  import { CollectionEditorDialogs } from "./CollectionEditorDialogs";
19
19
  import { useEffect } from "react";
20
- import { useTranslation } from "@rebasepro/core";
20
+ import { useTranslation } from "@rebasepro/app";
21
21
  import { useBreadcrumbsController } from "../index";
22
22
 
23
23
  function SettingsView() {
@@ -1,7 +1,7 @@
1
1
  import React, { useMemo } from "react";
2
2
  import {
3
3
  useRebaseRegistry
4
- } from "@rebasepro/core";
4
+ } from "@rebasepro/app";
5
5
  import { ErrorBoundary } from "@rebasepro/ui";
6
6
 
7
7
  import { RebaseAuthGate } from "./RebaseAuthGate";
@@ -11,6 +11,7 @@ import { RebaseRouteDefs } from "./RebaseRouteDefs";
11
11
 
12
12
  export interface RebaseShellProps {
13
13
  title?: string;
14
+ /** Top bar. Only rendered if provided — pass `<AppBar/>` for the default one. */
14
15
  appBar?: React.ReactNode;
15
16
  drawer?: React.ReactNode;
16
17
  autoOpenDrawer?: boolean;
@@ -14,15 +14,15 @@ import {
14
14
  useDataTableController,
15
15
  useLargeLayout,
16
16
  usePermissions
17
- } from "@rebasepro/core";
18
- import { ErrorView } from "@rebasepro/core";
17
+ } from "@rebasepro/app";
18
+ import { ErrorView } from "@rebasepro/app";
19
19
  import { Button, DialogActions, PlusIcon, Typography } from "@rebasepro/ui";
20
- import { IconForView } from "@rebasepro/core";
20
+ import { IconForView } from "@rebasepro/app";
21
21
  import { useSelectionController } from "../CollectionViewBinding/useSelectionController";
22
22
 
23
- import { useColumnIds } from "@rebasepro/core";
23
+ import { useColumnIds } from "@rebasepro/app";
24
24
  import { useSideDialogContext } from "../SideDialogs";
25
- import { useAnalyticsController } from "@rebasepro/core";
25
+ import { useAnalyticsController } from "@rebasepro/app";
26
26
  import { useUrlController, useSidePanel } from "../../index";
27
27
 
28
28
  /**
@@ -26,7 +26,7 @@ import { useCallback, useEffect, useRef, useState } from "react";
26
26
  import { Command as CommandPrimitive } from "cmdk";
27
27
  import { Entity, EntityRelation, FilterValues, Relation, getCollectionDataPath } from "@rebasepro/types";
28
28
  import { EntityPreviewBindingData } from "./EntityPreviewBinding";
29
- import { useData, useRelationSelector } from "@rebasepro/core";
29
+ import { useData, useRelationSelector } from "@rebasepro/app";
30
30
  import { useSidePanel } from "../hooks/useSidePanel";
31
31
  import { normalizeToEntityRelation } from "@rebasepro/common";
32
32
  import { EmptyValue } from "../preview";
@@ -10,8 +10,8 @@ import {
10
10
  SearchBar,
11
11
  Tooltip
12
12
  } from "@rebasepro/ui";
13
- import { iconsSearch } from "@rebasepro/core";
14
- import { useTranslation } from "@rebasepro/core";
13
+ import { iconsSearch } from "@rebasepro/app";
14
+ import { useTranslation } from "@rebasepro/app";
15
15
 
16
16
  const UPDATE_SEARCH_INDEX_WAIT_MS = 220;
17
17
 
@@ -3,11 +3,11 @@ import type { Property, WhereFilterOp } from "@rebasepro/types";
3
3
  import React, { useCallback, useEffect, useMemo, useRef } from "react";
4
4
  import { CollectionSize, Entity, EntityTableController, FilterValues, SelectedCellProps } from "@rebasepro/types";
5
5
  import { CellRendererParams, TableView, VirtualTableColumn, VirtualTableFilterValues, OnRowClickParams } from "@rebasepro/ui";
6
- import { DEFAULT_PAGE_SIZE, DataCollectionTableController, OnCellValueChange, OnColumnResizeParams } from "@rebasepro/core";
6
+ import { DEFAULT_PAGE_SIZE, DataCollectionTableController, OnCellValueChange, OnColumnResizeParams } from "@rebasepro/app";
7
7
  import { FilterFormFieldProps } from "@rebasepro/ui";
8
8
  import { useOutsideAlerter } from "@rebasepro/ui";
9
9
  import { SelectableTableContext } from "./SelectableTableContext";
10
- import { getRowHeight } from "@rebasepro/core";
10
+ import { getRowHeight } from "@rebasepro/app";
11
11
  import { FilterFieldBinding } from "./filters/FilterFieldBinding";
12
12
 
13
13
  export type SelectableTableProps<M extends Record<string, unknown>> = {
@@ -1,5 +1,5 @@
1
1
  import React, { useContext } from "react";
2
- import { DataCollectionTableController } from "@rebasepro/core";
2
+ import { DataCollectionTableController } from "@rebasepro/app";
3
3
 
4
4
  export const SelectableTableContext = React.createContext<DataCollectionTableController<Record<string, unknown>>>(null! as DataCollectionTableController<Record<string, unknown>>);
5
5
 
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { VirtualTableWhereFilterOp } from "@rebasepro/ui";
3
3
  import { BooleanSwitchWithLabel } from "@rebasepro/ui";
4
- import { useTranslation } from "@rebasepro/core";
4
+ import { useTranslation } from "@rebasepro/app";
5
5
 
6
6
  interface BooleanFieldProps {
7
7
  name: string,
@@ -1,7 +1,7 @@
1
1
  import React, { useState } from "react";
2
2
  import { VirtualTableWhereFilterOp } from "@rebasepro/ui";
3
3
  import { DateTimeField, Select, SelectItem } from "@rebasepro/ui";
4
- import { useCustomizationController } from "@rebasepro/core";
4
+ import { useCustomizationController } from "@rebasepro/app";
5
5
 
6
6
  interface DateTimeFilterFieldProps {
7
7
  name: string,
@@ -8,7 +8,7 @@ import {
8
8
  WhereFilterOp
9
9
  } from "@rebasepro/types";
10
10
  import { enumToObjectEntries, resolveFilterOperators } from "@rebasepro/common";
11
- import { useCollectionScope, useComponentOverride, useResolvedComponent } from "@rebasepro/core";
11
+ import { useCollectionScope, useComponentOverride, useResolvedComponent } from "@rebasepro/app";
12
12
  import { StringNumberFilterField } from "./StringNumberFilterField";
13
13
  import { BooleanFilterField } from "./BooleanFilterField";
14
14
  import { DateTimeFilterField } from "./DateTimeFilterField";
@@ -6,7 +6,7 @@ import { Entity, EntityReference } from "@rebasepro/types";
6
6
  import { ReferencePreview } from "../../../preview";
7
7
  import { Button, Checkbox, Label, Select, SelectItem } from "@rebasepro/ui";
8
8
  import { getReferenceFrom } from "@rebasepro/common";
9
- import { useTranslation } from "@rebasepro/core";
9
+ import { useTranslation } from "@rebasepro/app";
10
10
  import { useCollectionRegistryController } from "../../../index";
11
11
 
12
12
  interface ReferenceFilterFieldProps {