@rebasepro/core 0.0.1-canary.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 (570) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -0
  3. package/dist/app/AppBar.d.ts +12 -0
  4. package/dist/app/Drawer.d.ts +19 -0
  5. package/dist/app/Scaffold.d.ts +34 -0
  6. package/dist/app/index.d.ts +4 -0
  7. package/dist/app/useApp.d.ts +17 -0
  8. package/dist/components/AIIcon.d.ts +16 -0
  9. package/dist/components/AdminModeSyncer.d.ts +17 -0
  10. package/dist/components/ArrayContainer.d.ts +59 -0
  11. package/dist/components/CircularProgressCenter.d.ts +11 -0
  12. package/dist/components/ClearFilterSortButton.d.ts +5 -0
  13. package/dist/components/ConfirmationDialog.d.ts +9 -0
  14. package/dist/components/Debug/UIReferenceView.d.ts +1 -0
  15. package/dist/components/Debug/UIStyleGuide.d.ts +1 -0
  16. package/dist/components/DeleteEntityDialog.d.ts +12 -0
  17. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +37 -0
  18. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +27 -0
  19. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +128 -0
  20. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +25 -0
  21. package/dist/components/EntityCollectionTable/column_utils.d.ts +15 -0
  22. package/dist/components/EntityCollectionTable/fields/TableMultipleRelationField.d.ts +20 -0
  23. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +21 -0
  24. package/dist/components/EntityCollectionTable/fields/TableRelationField.d.ts +21 -0
  25. package/dist/components/EntityCollectionTable/fields/TableRelationSelectorField.d.ts +20 -0
  26. package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +32 -0
  27. package/dist/components/EntityCollectionTable/index.d.ts +6 -0
  28. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +16 -0
  29. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +32 -0
  30. package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
  31. package/dist/components/EntityCollectionTable/internal/common.d.ts +4 -0
  32. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +26 -0
  33. package/dist/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
  34. package/dist/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
  35. package/dist/components/EntityCollectionView/Board.d.ts +2 -0
  36. package/dist/components/EntityCollectionView/BoardColumn.d.ts +42 -0
  37. package/dist/components/EntityCollectionView/BoardColumnTitle.d.ts +9 -0
  38. package/dist/components/EntityCollectionView/BoardSortableList.d.ts +14 -0
  39. package/dist/components/EntityCollectionView/EntityBoardCard.d.ts +26 -0
  40. package/dist/components/EntityCollectionView/EntityCard.d.ts +19 -0
  41. package/dist/components/EntityCollectionView/EntityCollectionBoardView.d.ts +20 -0
  42. package/dist/components/EntityCollectionView/EntityCollectionCardView.d.ts +31 -0
  43. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +54 -0
  44. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
  45. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +15 -0
  46. package/dist/components/EntityCollectionView/FiltersDialog.d.ts +14 -0
  47. package/dist/components/EntityCollectionView/ViewModeToggle.d.ts +44 -0
  48. package/dist/components/EntityCollectionView/board_types.d.ts +105 -0
  49. package/dist/components/EntityCollectionView/useBoardDataController.d.ts +60 -0
  50. package/dist/components/EntityCollectionView/useSelectionController.d.ts +2 -0
  51. package/dist/components/EntityCollectionView/utils.d.ts +3 -0
  52. package/dist/components/EntityJsonPreview.d.ts +3 -0
  53. package/dist/components/EntityPreview.d.ts +54 -0
  54. package/dist/components/EntityView.d.ts +11 -0
  55. package/dist/components/ErrorBoundary.d.ts +11 -0
  56. package/dist/components/ErrorTooltip.d.ts +2 -0
  57. package/dist/components/ErrorView.d.ts +21 -0
  58. package/dist/components/FieldCaption.d.ts +5 -0
  59. package/dist/components/HomePage/ContentHomePage.d.ts +11 -0
  60. package/dist/components/HomePage/FavouritesView.d.ts +3 -0
  61. package/dist/components/HomePage/HomePageDnD.d.ts +77 -0
  62. package/dist/components/HomePage/NavigationCard.d.ts +10 -0
  63. package/dist/components/HomePage/NavigationCardBinding.d.ts +18 -0
  64. package/dist/components/HomePage/NavigationGroup.d.ts +11 -0
  65. package/dist/components/HomePage/RenameGroupDialog.d.ts +9 -0
  66. package/dist/components/HomePage/SmallNavigationCard.d.ts +6 -0
  67. package/dist/components/HomePage/StudioHomePage.d.ts +9 -0
  68. package/dist/components/HomePage/index.d.ts +5 -0
  69. package/dist/components/NotFoundPage.d.ts +1 -0
  70. package/dist/components/PropertyCollectionView.d.ts +22 -0
  71. package/dist/components/PropertyConfigBadge.d.ts +6 -0
  72. package/dist/components/PropertyIdCopyTooltip.d.ts +8 -0
  73. package/dist/components/RebaseLogo.d.ts +7 -0
  74. package/dist/components/ReferenceTable/EntitySelectionTable.d.ts +58 -0
  75. package/dist/components/ReferenceWidget.d.ts +29 -0
  76. package/dist/components/RelationSelector.d.ts +32 -0
  77. package/dist/components/SearchIconsView.d.ts +5 -0
  78. package/dist/components/SelectableTable/SelectableTable.d.ts +89 -0
  79. package/dist/components/SelectableTable/SelectableTableContext.d.ts +4 -0
  80. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +9 -0
  81. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +12 -0
  82. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +15 -0
  83. package/dist/components/SelectableTable/filters/RelationFilterField.d.ts +12 -0
  84. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +13 -0
  85. package/dist/components/UnsavedChangesDialog.d.ts +9 -0
  86. package/dist/components/UserDisplay.d.ts +7 -0
  87. package/dist/components/UserSettingsView.d.ts +1 -0
  88. package/dist/components/VirtualTable/VirtualTable.d.ts +11 -0
  89. package/dist/components/VirtualTable/VirtualTableCell.d.ts +20 -0
  90. package/dist/components/VirtualTable/VirtualTableHeader.d.ts +29 -0
  91. package/dist/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
  92. package/dist/components/VirtualTable/VirtualTableProps.d.ts +239 -0
  93. package/dist/components/VirtualTable/VirtualTableRow.d.ts +3 -0
  94. package/dist/components/VirtualTable/fields/VirtualTableDateField.d.ts +12 -0
  95. package/dist/components/VirtualTable/fields/VirtualTableInput.d.ts +9 -0
  96. package/dist/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
  97. package/dist/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
  98. package/dist/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
  99. package/dist/components/VirtualTable/fields/VirtualTableUserSelect.d.ts +12 -0
  100. package/dist/components/VirtualTable/index.d.ts +3 -0
  101. package/dist/components/VirtualTable/types.d.ts +37 -0
  102. package/dist/components/admin/RoleChip.d.ts +4 -0
  103. package/dist/components/admin/RolesView.d.ts +4 -0
  104. package/dist/components/admin/UsersView.d.ts +4 -0
  105. package/dist/components/admin/index.d.ts +3 -0
  106. package/dist/components/common/default_entity_actions.d.ts +4 -0
  107. package/dist/components/common/index.d.ts +6 -0
  108. package/dist/components/common/table_height.d.ts +5 -0
  109. package/dist/components/common/types.d.ts +58 -0
  110. package/dist/components/common/useColumnsIds.d.ts +6 -0
  111. package/dist/components/common/useDataSourceTableController.d.ts +44 -0
  112. package/dist/components/common/useDebouncedCallback.d.ts +1 -0
  113. package/dist/components/common/useDebouncedData.d.ts +9 -0
  114. package/dist/components/common/useScrollRestoration.d.ts +14 -0
  115. package/dist/components/common/useTableSearchHelper.d.ts +11 -0
  116. package/dist/components/index.d.ts +35 -0
  117. package/dist/contexts/AdminModeController.d.ts +4 -0
  118. package/dist/contexts/AnalyticsContext.d.ts +3 -0
  119. package/dist/contexts/AuthControllerContext.d.ts +3 -0
  120. package/dist/contexts/BreacrumbsContext.d.ts +8 -0
  121. package/dist/contexts/CustomizationControllerContext.d.ts +3 -0
  122. package/dist/contexts/DataSourceContext.d.ts +3 -0
  123. package/dist/contexts/DialogsProvider.d.ts +4 -0
  124. package/dist/contexts/EffectiveRoleController.d.ts +4 -0
  125. package/dist/contexts/InternalUserManagementContext.d.ts +3 -0
  126. package/dist/contexts/ModeController.d.ts +4 -0
  127. package/dist/contexts/NavigationContext.d.ts +3 -0
  128. package/dist/contexts/SideDialogsControllerContext.d.ts +3 -0
  129. package/dist/contexts/SideEntityControllerContext.d.ts +3 -0
  130. package/dist/contexts/SnackbarProvider.d.ts +2 -0
  131. package/dist/contexts/StorageSourceContext.d.ts +3 -0
  132. package/dist/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
  133. package/dist/contexts/index.d.ts +15 -0
  134. package/dist/core/DefaultAppBar.d.ts +29 -0
  135. package/dist/core/DefaultDrawer.d.ts +29 -0
  136. package/dist/core/DrawerNavigationGroup.d.ts +45 -0
  137. package/dist/core/DrawerNavigationItem.d.ts +10 -0
  138. package/dist/core/EntityEditView.d.ts +47 -0
  139. package/dist/core/EntityEditViewFormActions.d.ts +2 -0
  140. package/dist/core/EntitySidePanel.d.ts +10 -0
  141. package/dist/core/Rebase.d.ts +13 -0
  142. package/dist/core/RebaseRouter.d.ts +4 -0
  143. package/dist/core/RebaseRoutes.d.ts +17 -0
  144. package/dist/core/SideDialogs.d.ts +25 -0
  145. package/dist/core/field_configs.d.ts +6 -0
  146. package/dist/core/index.d.ts +9 -0
  147. package/dist/form/EntityForm.d.ts +7 -0
  148. package/dist/form/EntityFormActions.d.ts +2 -0
  149. package/dist/form/PropertyFieldBinding.d.ts +30 -0
  150. package/dist/form/components/ErrorFocus.d.ts +4 -0
  151. package/dist/form/components/FieldHelperText.d.ts +12 -0
  152. package/dist/form/components/FormEntry.d.ts +6 -0
  153. package/dist/form/components/FormLayout.d.ts +5 -0
  154. package/dist/form/components/LabelWithIcon.d.ts +14 -0
  155. package/dist/form/components/LabelWithIconAndTooltip.d.ts +15 -0
  156. package/dist/form/components/LocalChangesMenu.d.ts +11 -0
  157. package/dist/form/components/StorageItemPreview.d.ts +13 -0
  158. package/dist/form/components/StorageUploadProgress.d.ts +10 -0
  159. package/dist/form/components/index.d.ts +5 -0
  160. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
  161. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
  162. package/dist/form/field_bindings/BlockFieldBinding.d.ts +10 -0
  163. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
  164. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
  165. package/dist/form/field_bindings/MapFieldBinding.d.ts +9 -0
  166. package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +11 -0
  167. package/dist/form/field_bindings/MultiSelectFieldBinding.d.ts +9 -0
  168. package/dist/form/field_bindings/MultipleRelationFieldBinding.d.ts +9 -0
  169. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
  170. package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +9 -0
  171. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
  172. package/dist/form/field_bindings/RelationFieldBinding.d.ts +2 -0
  173. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
  174. package/dist/form/field_bindings/SelectFieldBinding.d.ts +10 -0
  175. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +19 -0
  176. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +9 -0
  177. package/dist/form/field_bindings/TextFieldBinding.d.ts +8 -0
  178. package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +12 -0
  179. package/dist/form/index.d.ts +20 -0
  180. package/dist/form/useClearRestoreValue.d.ts +13 -0
  181. package/dist/form/validation.d.ts +26 -0
  182. package/dist/hooks/ApiConfigContext.d.ts +24 -0
  183. package/dist/hooks/data/delete.d.ts +33 -0
  184. package/dist/hooks/data/save.d.ts +37 -0
  185. package/dist/hooks/data/useCollectionFetch.d.ts +50 -0
  186. package/dist/hooks/data/useDataOrder.d.ts +12 -0
  187. package/dist/hooks/data/useDataSource.d.ts +6 -0
  188. package/dist/hooks/data/useEntityFetch.d.ts +29 -0
  189. package/dist/hooks/data/useRelationSelector.d.ts +45 -0
  190. package/dist/hooks/index.d.ts +41 -0
  191. package/dist/hooks/navigation/contexts/CMSUrlContext.d.ts +4 -0
  192. package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +4 -0
  193. package/dist/hooks/navigation/contexts/NavigationStateContext.d.ts +4 -0
  194. package/dist/hooks/navigation/contexts/index.d.ts +3 -0
  195. package/dist/hooks/navigation/useBuildCMSUrlController.d.ts +6 -0
  196. package/dist/hooks/navigation/useBuildCollectionRegistryController.d.ts +7 -0
  197. package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +32 -0
  198. package/dist/hooks/navigation/useNavigationRegistry.d.ts +10 -0
  199. package/dist/hooks/navigation/useNavigationResolution.d.ts +5 -0
  200. package/dist/hooks/navigation/useNavigationURLs.d.ts +11 -0
  201. package/dist/hooks/navigation/useResolvedCollections.d.ts +26 -0
  202. package/dist/hooks/navigation/useResolvedViews.d.ts +28 -0
  203. package/dist/hooks/navigation/useTopLevelNavigation.d.ts +26 -0
  204. package/dist/hooks/navigation/utils.d.ts +12 -0
  205. package/dist/hooks/useAdminModeController.d.ts +19 -0
  206. package/dist/hooks/useAnalyticsController.d.ts +5 -0
  207. package/dist/hooks/useAuthController.d.ts +11 -0
  208. package/dist/hooks/useBackendStorageSource.d.ts +30 -0
  209. package/dist/hooks/useBreadcrumbsController.d.ts +42 -0
  210. package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
  211. package/dist/hooks/useBuildAdminModeController.d.ts +6 -0
  212. package/dist/hooks/useBuildEffectiveRoleController.d.ts +8 -0
  213. package/dist/hooks/useBuildLocalConfigurationPersistence.d.ts +2 -0
  214. package/dist/hooks/useBuildModeController.d.ts +6 -0
  215. package/dist/hooks/useBuildNavigationController.d.ts +16 -0
  216. package/dist/hooks/useClipboard.d.ts +57 -0
  217. package/dist/hooks/useCollapsedGroups.d.ts +12 -0
  218. package/dist/hooks/useCustomizationController.d.ts +11 -0
  219. package/dist/hooks/useDialogsController.d.ts +11 -0
  220. package/dist/hooks/useEffectiveRoleController.d.ts +7 -0
  221. package/dist/hooks/useEntitySelectionDialog.d.ts +18 -0
  222. package/dist/hooks/useInternalUserManagementController.d.ts +12 -0
  223. package/dist/hooks/useLargeLayout.d.ts +1 -0
  224. package/dist/hooks/useModeController.d.ts +19 -0
  225. package/dist/hooks/usePermissions.d.ts +11 -0
  226. package/dist/hooks/useRebaseContext.d.ts +11 -0
  227. package/dist/hooks/useResolvedNavigationFrom.d.ts +72 -0
  228. package/dist/hooks/useSideDialogsController.d.ts +18 -0
  229. package/dist/hooks/useSideEntityController.d.ts +12 -0
  230. package/dist/hooks/useSnackbarController.d.ts +20 -0
  231. package/dist/hooks/useStorageSource.d.ts +6 -0
  232. package/dist/hooks/useUnsavedChangesDialog.d.ts +12 -0
  233. package/dist/hooks/useUserConfigurationPersistence.d.ts +8 -0
  234. package/dist/hooks/useValidateAuthenticator.d.ts +21 -0
  235. package/dist/index.d.ts +15 -0
  236. package/dist/index.es.js +34745 -0
  237. package/dist/index.es.js.map +1 -0
  238. package/dist/index.umd.js +34751 -0
  239. package/dist/index.umd.js.map +1 -0
  240. package/dist/internal/common.d.ts +3 -0
  241. package/dist/internal/useBuildDataSource.d.ts +12 -0
  242. package/dist/internal/useBuildSideDialogsController.d.ts +2 -0
  243. package/dist/internal/useBuildSideEntityController.d.ts +4 -0
  244. package/dist/internal/useRestoreScroll.d.ts +6 -0
  245. package/dist/preview/PropertyPreview.d.ts +6 -0
  246. package/dist/preview/components/ArrayEnumPreview.d.ts +10 -0
  247. package/dist/preview/components/AsyncPreviewComponent.d.ts +11 -0
  248. package/dist/preview/components/BooleanPreview.d.ts +10 -0
  249. package/dist/preview/components/DatePreview.d.ts +17 -0
  250. package/dist/preview/components/EmptyValue.d.ts +6 -0
  251. package/dist/preview/components/EnumValuesChip.d.ts +13 -0
  252. package/dist/preview/components/ImagePreview.d.ts +16 -0
  253. package/dist/preview/components/ReferencePreview.d.ts +16 -0
  254. package/dist/preview/components/RelationPreview.d.ts +16 -0
  255. package/dist/preview/components/StorageThumbnail.d.ts +15 -0
  256. package/dist/preview/components/UrlComponentPreview.d.ts +13 -0
  257. package/dist/preview/components/UserPreview.d.ts +8 -0
  258. package/dist/preview/index.d.ts +24 -0
  259. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
  260. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
  261. package/dist/preview/property_previews/ArrayOfRelationsPreview.d.ts +5 -0
  262. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
  263. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
  264. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
  265. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
  266. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
  267. package/dist/preview/property_previews/MapPropertyPreview.d.ts +8 -0
  268. package/dist/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
  269. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +13 -0
  270. package/dist/preview/property_previews/StringPropertyPreview.d.ts +6 -0
  271. package/dist/preview/util.d.ts +6 -0
  272. package/dist/routes/CustomCMSRoute.d.ts +4 -0
  273. package/dist/routes/RebaseRoute.d.ts +1 -0
  274. package/dist/routes/index.d.ts +2 -0
  275. package/dist/util/createFormexStub.d.ts +2 -0
  276. package/dist/util/entity_cache.d.ts +27 -0
  277. package/dist/util/enums.d.ts +5 -0
  278. package/dist/util/icon_list.d.ts +5 -0
  279. package/dist/util/icon_synonyms.d.ts +1853 -0
  280. package/dist/util/icons.d.ts +16 -0
  281. package/dist/util/index.d.ts +11 -0
  282. package/dist/util/previews.d.ts +3 -0
  283. package/dist/util/property_utils.d.ts +23 -0
  284. package/dist/util/useDebouncedCallback.d.ts +1 -0
  285. package/dist/util/useStorageUploadController.d.ts +36 -0
  286. package/dist/util/useTraceUpdate.d.ts +2 -0
  287. package/dist/vitePlugin.d.ts +16 -0
  288. package/package.json +165 -0
  289. package/src/app/AppBar.tsx +18 -0
  290. package/src/app/Drawer.tsx +30 -0
  291. package/src/app/Scaffold.tsx +238 -0
  292. package/src/app/index.ts +4 -0
  293. package/src/app/useApp.tsx +36 -0
  294. package/src/components/AIIcon.tsx +39 -0
  295. package/src/components/AdminModeSyncer.tsx +47 -0
  296. package/src/components/ArrayContainer.tsx +549 -0
  297. package/src/components/CircularProgressCenter.tsx +26 -0
  298. package/src/components/ClearFilterSortButton.tsx +44 -0
  299. package/src/components/ConfirmationDialog.tsx +46 -0
  300. package/src/components/Debug/UIReferenceView.tsx +710 -0
  301. package/src/components/Debug/UIStyleGuide.tsx +164 -0
  302. package/src/components/DeleteEntityDialog.tsx +181 -0
  303. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +225 -0
  304. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +383 -0
  305. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +180 -0
  306. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +561 -0
  307. package/src/components/EntityCollectionTable/column_utils.tsx +74 -0
  308. package/src/components/EntityCollectionTable/fields/TableMultipleRelationField.tsx +122 -0
  309. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +169 -0
  310. package/src/components/EntityCollectionTable/fields/TableRelationField.tsx +177 -0
  311. package/src/components/EntityCollectionTable/fields/TableRelationSelectorField.tsx +42 -0
  312. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +315 -0
  313. package/src/components/EntityCollectionTable/index.tsx +12 -0
  314. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +90 -0
  315. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +311 -0
  316. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +82 -0
  317. package/src/components/EntityCollectionTable/internal/common.tsx +72 -0
  318. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +425 -0
  319. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +96 -0
  320. package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +20 -0
  321. package/src/components/EntityCollectionView/Board.tsx +324 -0
  322. package/src/components/EntityCollectionView/BoardColumn.tsx +158 -0
  323. package/src/components/EntityCollectionView/BoardColumnTitle.tsx +45 -0
  324. package/src/components/EntityCollectionView/BoardSortableList.tsx +172 -0
  325. package/src/components/EntityCollectionView/EntityBoardCard.tsx +200 -0
  326. package/src/components/EntityCollectionView/EntityCard.tsx +225 -0
  327. package/src/components/EntityCollectionView/EntityCollectionBoardView.tsx +746 -0
  328. package/src/components/EntityCollectionView/EntityCollectionCardView.tsx +254 -0
  329. package/src/components/EntityCollectionView/EntityCollectionView.tsx +1220 -0
  330. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +142 -0
  331. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +131 -0
  332. package/src/components/EntityCollectionView/FiltersDialog.tsx +249 -0
  333. package/src/components/EntityCollectionView/ViewModeToggle.tsx +194 -0
  334. package/src/components/EntityCollectionView/board_types.ts +113 -0
  335. package/src/components/EntityCollectionView/useBoardDataController.tsx +490 -0
  336. package/src/components/EntityCollectionView/useSelectionController.tsx +43 -0
  337. package/src/components/EntityCollectionView/utils.ts +19 -0
  338. package/src/components/EntityJsonPreview.tsx +66 -0
  339. package/src/components/EntityPreview.tsx +367 -0
  340. package/src/components/EntityView.tsx +66 -0
  341. package/src/components/ErrorBoundary.tsx +40 -0
  342. package/src/components/ErrorTooltip.tsx +12 -0
  343. package/src/components/ErrorView.tsx +69 -0
  344. package/src/components/FieldCaption.tsx +14 -0
  345. package/src/components/HomePage/ContentHomePage.tsx +634 -0
  346. package/src/components/HomePage/FavouritesView.tsx +59 -0
  347. package/src/components/HomePage/HomePageDnD.tsx +702 -0
  348. package/src/components/HomePage/NavigationCard.tsx +80 -0
  349. package/src/components/HomePage/NavigationCardBinding.tsx +111 -0
  350. package/src/components/HomePage/NavigationGroup.tsx +154 -0
  351. package/src/components/HomePage/RenameGroupDialog.tsx +121 -0
  352. package/src/components/HomePage/SmallNavigationCard.tsx +45 -0
  353. package/src/components/HomePage/StudioHomePage.tsx +231 -0
  354. package/src/components/HomePage/index.tsx +6 -0
  355. package/src/components/NotFoundPage.tsx +25 -0
  356. package/src/components/PropertyCollectionView.tsx +333 -0
  357. package/src/components/PropertyConfigBadge.tsx +27 -0
  358. package/src/components/PropertyIdCopyTooltip.tsx +47 -0
  359. package/src/components/RebaseLogo.tsx +29 -0
  360. package/src/components/ReferenceTable/EntitySelectionTable.tsx +371 -0
  361. package/src/components/ReferenceWidget.tsx +152 -0
  362. package/src/components/RelationSelector.tsx +518 -0
  363. package/src/components/SearchIconsView.tsx +78 -0
  364. package/src/components/SelectableTable/SelectableTable.tsx +344 -0
  365. package/src/components/SelectableTable/SelectableTableContext.tsx +6 -0
  366. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +49 -0
  367. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +126 -0
  368. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +203 -0
  369. package/src/components/SelectableTable/filters/RelationFilterField.tsx +138 -0
  370. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +217 -0
  371. package/src/components/UnsavedChangesDialog.tsx +45 -0
  372. package/src/components/UserDisplay.tsx +55 -0
  373. package/src/components/UserSettingsView.tsx +220 -0
  374. package/src/components/VirtualTable/VirtualTable.performance.test.tsx +386 -0
  375. package/src/components/VirtualTable/VirtualTable.tsx +625 -0
  376. package/src/components/VirtualTable/VirtualTableCell.tsx +58 -0
  377. package/src/components/VirtualTable/VirtualTableHeader.tsx +275 -0
  378. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +249 -0
  379. package/src/components/VirtualTable/VirtualTableProps.tsx +298 -0
  380. package/src/components/VirtualTable/VirtualTableRow.tsx +52 -0
  381. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +39 -0
  382. package/src/components/VirtualTable/fields/VirtualTableInput.tsx +93 -0
  383. package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +83 -0
  384. package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +133 -0
  385. package/src/components/VirtualTable/fields/VirtualTableSwitch.tsx +32 -0
  386. package/src/components/VirtualTable/fields/VirtualTableUserSelect.tsx +111 -0
  387. package/src/components/VirtualTable/index.tsx +3 -0
  388. package/src/components/VirtualTable/types.tsx +46 -0
  389. package/src/components/admin/RoleChip.tsx +23 -0
  390. package/src/components/admin/RolesView.tsx +408 -0
  391. package/src/components/admin/UsersView.tsx +353 -0
  392. package/src/components/admin/index.ts +3 -0
  393. package/src/components/common/default_entity_actions.tsx +144 -0
  394. package/src/components/common/index.ts +6 -0
  395. package/src/components/common/table_height.tsx +21 -0
  396. package/src/components/common/types.tsx +61 -0
  397. package/src/components/common/useColumnsIds.tsx +210 -0
  398. package/src/components/common/useDataSourceTableController.tsx +480 -0
  399. package/src/components/common/useDebouncedCallback.tsx +20 -0
  400. package/src/components/common/useDebouncedData.ts +49 -0
  401. package/src/components/common/useScrollRestoration.tsx +68 -0
  402. package/src/components/common/useTableSearchHelper.ts +75 -0
  403. package/src/components/index.tsx +49 -0
  404. package/src/contexts/AdminModeController.tsx +11 -0
  405. package/src/contexts/AnalyticsContext.tsx +4 -0
  406. package/src/contexts/AuthControllerContext.tsx +4 -0
  407. package/src/contexts/BreacrumbsContext.tsx +45 -0
  408. package/src/contexts/CustomizationControllerContext.tsx +4 -0
  409. package/src/contexts/DataSourceContext.tsx +4 -0
  410. package/src/contexts/DialogsProvider.tsx +53 -0
  411. package/src/contexts/EffectiveRoleController.tsx +11 -0
  412. package/src/contexts/InternalUserManagementContext.tsx +4 -0
  413. package/src/contexts/ModeController.tsx +11 -0
  414. package/src/contexts/NavigationContext.tsx +4 -0
  415. package/src/contexts/SideDialogsControllerContext.tsx +4 -0
  416. package/src/contexts/SideEntityControllerContext.tsx +4 -0
  417. package/src/contexts/SnackbarProvider.tsx +14 -0
  418. package/src/contexts/StorageSourceContext.tsx +4 -0
  419. package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
  420. package/src/contexts/index.ts +15 -0
  421. package/src/core/DefaultAppBar.tsx +274 -0
  422. package/src/core/DefaultDrawer.tsx +267 -0
  423. package/src/core/DrawerNavigationGroup.tsx +117 -0
  424. package/src/core/DrawerNavigationItem.tsx +65 -0
  425. package/src/core/EntityEditView.tsx +590 -0
  426. package/src/core/EntityEditViewFormActions.tsx +343 -0
  427. package/src/core/EntitySidePanel.tsx +173 -0
  428. package/src/core/Rebase.tsx +229 -0
  429. package/src/core/RebaseRouter.tsx +17 -0
  430. package/src/core/RebaseRoutes.tsx +47 -0
  431. package/src/core/SideDialogs.tsx +200 -0
  432. package/src/core/field_configs.tsx +443 -0
  433. package/src/core/index.tsx +14 -0
  434. package/src/form/EntityForm.tsx +820 -0
  435. package/src/form/EntityFormActions.tsx +201 -0
  436. package/src/form/PropertyFieldBinding.tsx +348 -0
  437. package/src/form/components/ErrorFocus.tsx +44 -0
  438. package/src/form/components/FieldHelperText.tsx +45 -0
  439. package/src/form/components/FormEntry.tsx +22 -0
  440. package/src/form/components/FormLayout.tsx +16 -0
  441. package/src/form/components/LabelWithIcon.tsx +43 -0
  442. package/src/form/components/LabelWithIconAndTooltip.tsx +28 -0
  443. package/src/form/components/LocalChangesMenu.tsx +144 -0
  444. package/src/form/components/StorageItemPreview.tsx +79 -0
  445. package/src/form/components/StorageUploadProgress.tsx +105 -0
  446. package/src/form/components/index.tsx +5 -0
  447. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +105 -0
  448. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +163 -0
  449. package/src/form/field_bindings/BlockFieldBinding.tsx +268 -0
  450. package/src/form/field_bindings/DateTimeFieldBinding.tsx +70 -0
  451. package/src/form/field_bindings/KeyValueFieldBinding.tsx +567 -0
  452. package/src/form/field_bindings/MapFieldBinding.tsx +156 -0
  453. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +146 -0
  454. package/src/form/field_bindings/MultiSelectFieldBinding.tsx +120 -0
  455. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +151 -0
  456. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +64 -0
  457. package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +135 -0
  458. package/src/form/field_bindings/ReferenceFieldBinding.tsx +134 -0
  459. package/src/form/field_bindings/RelationFieldBinding.tsx +176 -0
  460. package/src/form/field_bindings/RepeatFieldBinding.tsx +136 -0
  461. package/src/form/field_bindings/SelectFieldBinding.tsx +107 -0
  462. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +490 -0
  463. package/src/form/field_bindings/SwitchFieldBinding.tsx +64 -0
  464. package/src/form/field_bindings/TextFieldBinding.tsx +153 -0
  465. package/src/form/field_bindings/UserSelectFieldBinding.tsx +96 -0
  466. package/src/form/index.tsx +27 -0
  467. package/src/form/useClearRestoreValue.tsx +35 -0
  468. package/src/form/validation.ts +532 -0
  469. package/src/hooks/ApiConfigContext.tsx +40 -0
  470. package/src/hooks/data/delete.ts +77 -0
  471. package/src/hooks/data/save.ts +75 -0
  472. package/src/hooks/data/useCollectionFetch.tsx +148 -0
  473. package/src/hooks/data/useDataOrder.ts +26 -0
  474. package/src/hooks/data/useDataSource.tsx +22 -0
  475. package/src/hooks/data/useEntityFetch.tsx +121 -0
  476. package/src/hooks/data/useRelationSelector.tsx +205 -0
  477. package/src/hooks/index.tsx +51 -0
  478. package/src/hooks/navigation/contexts/CMSUrlContext.tsx +24 -0
  479. package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +19 -0
  480. package/src/hooks/navigation/contexts/NavigationStateContext.tsx +15 -0
  481. package/src/hooks/navigation/contexts/index.ts +14 -0
  482. package/src/hooks/navigation/useBuildCMSUrlController.tsx +68 -0
  483. package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +150 -0
  484. package/src/hooks/navigation/useBuildNavigationStateController.tsx +135 -0
  485. package/src/hooks/navigation/useNavigationRegistry.ts +142 -0
  486. package/src/hooks/navigation/useNavigationResolution.ts +98 -0
  487. package/src/hooks/navigation/useNavigationURLs.ts +56 -0
  488. package/src/hooks/navigation/useResolvedCollections.ts +139 -0
  489. package/src/hooks/navigation/useResolvedViews.tsx +204 -0
  490. package/src/hooks/navigation/useTopLevelNavigation.ts +265 -0
  491. package/src/hooks/navigation/utils.ts +177 -0
  492. package/src/hooks/useAdminModeController.tsx +23 -0
  493. package/src/hooks/useAnalyticsController.tsx +8 -0
  494. package/src/hooks/useAuthController.tsx +14 -0
  495. package/src/hooks/useBackendStorageSource.ts +276 -0
  496. package/src/hooks/useBreadcrumbsController.tsx +49 -0
  497. package/src/hooks/useBrowserTitleAndIcon.tsx +25 -0
  498. package/src/hooks/useBuildAdminModeController.tsx +24 -0
  499. package/src/hooks/useBuildEffectiveRoleController.tsx +30 -0
  500. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +65 -0
  501. package/src/hooks/useBuildModeController.tsx +71 -0
  502. package/src/hooks/useBuildNavigationController.tsx +341 -0
  503. package/src/hooks/useClipboard.tsx +158 -0
  504. package/src/hooks/useCollapsedGroups.ts +72 -0
  505. package/src/hooks/useCustomizationController.tsx +14 -0
  506. package/src/hooks/useDialogsController.tsx +14 -0
  507. package/src/hooks/useEffectiveRoleController.tsx +10 -0
  508. package/src/hooks/useEntitySelectionDialog.tsx +56 -0
  509. package/src/hooks/useInternalUserManagementController.tsx +17 -0
  510. package/src/hooks/useLargeLayout.tsx +65 -0
  511. package/src/hooks/useModeController.tsx +23 -0
  512. package/src/hooks/usePermissions.ts +43 -0
  513. package/src/hooks/useRebaseContext.tsx +86 -0
  514. package/src/hooks/useResolvedNavigationFrom.tsx +158 -0
  515. package/src/hooks/useSideDialogsController.tsx +21 -0
  516. package/src/hooks/useSideEntityController.tsx +15 -0
  517. package/src/hooks/useSnackbarController.tsx +52 -0
  518. package/src/hooks/useStorageSource.tsx +14 -0
  519. package/src/hooks/useUnsavedChangesDialog.tsx +62 -0
  520. package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
  521. package/src/hooks/useValidateAuthenticator.tsx +115 -0
  522. package/src/index.ts +17 -0
  523. package/src/internal/common.tsx +5 -0
  524. package/src/internal/useBuildDataSource.ts +380 -0
  525. package/src/internal/useBuildSideDialogsController.tsx +135 -0
  526. package/src/internal/useBuildSideEntityController.tsx +309 -0
  527. package/src/internal/useRestoreScroll.tsx +60 -0
  528. package/src/preview/PropertyPreview.tsx +308 -0
  529. package/src/preview/components/ArrayEnumPreview.tsx +38 -0
  530. package/src/preview/components/AsyncPreviewComponent.tsx +47 -0
  531. package/src/preview/components/BooleanPreview.tsx +25 -0
  532. package/src/preview/components/DatePreview.tsx +94 -0
  533. package/src/preview/components/EmptyValue.tsx +10 -0
  534. package/src/preview/components/EnumValuesChip.tsx +39 -0
  535. package/src/preview/components/ImagePreview.tsx +111 -0
  536. package/src/preview/components/ReferencePreview.tsx +162 -0
  537. package/src/preview/components/RelationPreview.tsx +153 -0
  538. package/src/preview/components/StorageThumbnail.tsx +91 -0
  539. package/src/preview/components/UrlComponentPreview.tsx +113 -0
  540. package/src/preview/components/UserPreview.tsx +27 -0
  541. package/src/preview/index.ts +26 -0
  542. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +72 -0
  543. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +43 -0
  544. package/src/preview/property_previews/ArrayOfRelationsPreview.tsx +52 -0
  545. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +49 -0
  546. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +44 -0
  547. package/src/preview/property_previews/ArrayOneOfPreview.tsx +67 -0
  548. package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +34 -0
  549. package/src/preview/property_previews/ArrayPropertyPreview.tsx +69 -0
  550. package/src/preview/property_previews/MapPropertyPreview.tsx +145 -0
  551. package/src/preview/property_previews/NumberPropertyPreview.tsx +28 -0
  552. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +275 -0
  553. package/src/preview/property_previews/StringPropertyPreview.tsx +57 -0
  554. package/src/preview/util.ts +30 -0
  555. package/src/routes/CustomCMSRoute.tsx +21 -0
  556. package/src/routes/RebaseRoute.tsx +255 -0
  557. package/src/routes/index.ts +2 -0
  558. package/src/util/createFormexStub.tsx +66 -0
  559. package/src/util/entity_cache.ts +267 -0
  560. package/src/util/enums.ts +32 -0
  561. package/src/util/icon_list.ts +23 -0
  562. package/src/util/icon_synonyms.ts +1853 -0
  563. package/src/util/icons.tsx +87 -0
  564. package/src/util/index.ts +11 -0
  565. package/src/util/previews.ts +50 -0
  566. package/src/util/property_utils.tsx +152 -0
  567. package/src/util/useDebouncedCallback.ts +25 -0
  568. package/src/util/useStorageUploadController.tsx +342 -0
  569. package/src/util/useTraceUpdate.tsx +24 -0
  570. package/src/vitePlugin.ts +47 -0
@@ -0,0 +1,41 @@
1
+ export * from "./data/useDataSource";
2
+ export * from "./data/useCollectionFetch";
3
+ export * from "./data/useEntityFetch";
4
+ export * from "./data/useRelationSelector";
5
+ export * from "./data/save";
6
+ export * from "./data/delete";
7
+ export * from "./navigation/contexts";
8
+ export * from "./navigation/useBuildCollectionRegistryController";
9
+ export * from "./navigation/useBuildCMSUrlController";
10
+ export * from "./navigation/useBuildNavigationStateController";
11
+ export * from "./navigation/useResolvedCollections";
12
+ export * from "./navigation/useResolvedViews";
13
+ export * from "./navigation/useTopLevelNavigation";
14
+ export * from "./useUnsavedChangesDialog";
15
+ export * from "./useResolvedNavigationFrom";
16
+ export * from "./useStorageSource";
17
+ export * from "./useAuthController";
18
+ export * from "./useDialogsController";
19
+ export * from "./useSideDialogsController";
20
+ export * from "./useAdminModeController";
21
+ export * from "./useBuildAdminModeController";
22
+ export * from "./useEffectiveRoleController";
23
+ export * from "./useBuildEffectiveRoleController";
24
+ export * from "./useSideEntityController";
25
+ export * from "./useRebaseContext";
26
+ export * from "./useSnackbarController";
27
+ export * from "./useModeController";
28
+ export * from "./useClipboard";
29
+ export * from "./useLargeLayout";
30
+ export * from "./useCollapsedGroups";
31
+ export * from "./useInternalUserManagementController";
32
+ export * from "./useEntitySelectionDialog";
33
+ export * from "./useBrowserTitleAndIcon";
34
+ export * from "./useCustomizationController";
35
+ export * from "./useBuildNavigationController";
36
+ export * from "./useBuildLocalConfigurationPersistence";
37
+ export * from "./useBuildModeController";
38
+ export * from "./useValidateAuthenticator";
39
+ export * from "./useBackendStorageSource";
40
+ export * from "./usePermissions";
41
+ export * from "./ApiConfigContext";
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { CMSUrlController } from "@rebasepro/types";
3
+ export declare const CMSUrlContext: React.Context<CMSUrlController>;
4
+ export declare function useCMSUrlController(): CMSUrlController;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { CollectionRegistryController, EntityCollection } from "@rebasepro/types";
3
+ export declare const CollectionRegistryContext: React.Context<CollectionRegistryController>;
4
+ export declare function useCollectionRegistryController<EC extends EntityCollection = EntityCollection<any>>(): CollectionRegistryController<EC>;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { NavigationStateController } from "@rebasepro/types";
3
+ export declare const NavigationStateContext: React.Context<NavigationStateController>;
4
+ export declare function useNavigationStateController(): NavigationStateController;
@@ -0,0 +1,3 @@
1
+ export { CollectionRegistryContext, useCollectionRegistryController } from "./CollectionRegistryContext";
2
+ export { NavigationStateContext, useNavigationStateController } from "./NavigationStateContext";
3
+ export { CMSUrlContext, useCMSUrlController } from "./CMSUrlContext";
@@ -0,0 +1,6 @@
1
+ import { CMSUrlController, CollectionRegistryController } from "@rebasepro/types";
2
+ export declare function useBuildCMSUrlController(props: {
3
+ basePath: string;
4
+ baseCollectionPath: string;
5
+ collectionRegistryController: CollectionRegistryController;
6
+ }): CMSUrlController;
@@ -0,0 +1,7 @@
1
+ import { CollectionRegistry } from "@rebasepro/common";
2
+ import { UserConfigurationPersistence, CollectionRegistryController } from "@rebasepro/types";
3
+ export declare function useBuildCollectionRegistryController(props: {
4
+ userConfigPersistence?: UserConfigurationPersistence;
5
+ }): CollectionRegistryController & {
6
+ collectionRegistryRef: React.MutableRefObject<CollectionRegistry>;
7
+ };
@@ -0,0 +1,32 @@
1
+ import { CMSView, EntityCollection, RebasePlugin, AuthController, EntityCollectionsBuilder, CMSViewsBuilder, NavigationStateController, DataSource, CollectionRegistryController, CMSUrlController, NavigationGroupMapping, User } from "@rebasepro/types";
2
+ import { CollectionRegistry } from "@rebasepro/common";
3
+ import { EffectiveRoleController, UserManagementDelegate } from "@rebasepro/types";
4
+ export type BuildNavigationStateProps<EC extends EntityCollection, USER extends User> = {
5
+ authController: AuthController<USER>;
6
+ collections?: EC[] | EntityCollectionsBuilder<EC>;
7
+ views?: CMSView[] | CMSViewsBuilder;
8
+ adminViews?: CMSView[] | CMSViewsBuilder;
9
+ dataSource: DataSource;
10
+ plugins?: RebasePlugin[];
11
+ navigationGroupMappings?: NavigationGroupMapping[];
12
+ disabled?: boolean;
13
+ viewsOrder?: string[];
14
+ collectionRegistryController: CollectionRegistryController<EC> & {
15
+ collectionRegistryRef: React.MutableRefObject<CollectionRegistry>;
16
+ };
17
+ cmsUrlController: CMSUrlController;
18
+ adminMode?: "content" | "studio" | "settings";
19
+ effectiveRoleController?: EffectiveRoleController;
20
+ userManagement?: UserManagementDelegate<USER>;
21
+ };
22
+ /**
23
+ * Main hook that resolves collections, views, and admin views into a
24
+ * NavigationStateController. This is a thin composition of three focused hooks:
25
+ *
26
+ * - useResolvedCollections: resolves collection props and registers with CollectionRegistry
27
+ * - useResolvedViews: resolves view/admin view props and injects Users/Roles views
28
+ * - useTopLevelNavigation: computes the NavigationResult from resolved data
29
+ *
30
+ * The NavigationStateController type is preserved as a public API.
31
+ */
32
+ export declare function useBuildNavigationStateController<EC extends EntityCollection, USER extends User>(props: BuildNavigationStateProps<EC, USER>): NavigationStateController;
@@ -0,0 +1,10 @@
1
+ import { CollectionRegistry } from "@rebasepro/common";
2
+ import { EntityCollection, EntityReference, UserConfigurationPersistence } from "@rebasepro/types";
3
+ export declare function useNavigationRegistry(userConfigPersistence?: UserConfigurationPersistence): {
4
+ collectionRegistryRef: import("react").RefObject<CollectionRegistry>;
5
+ getCollection: (slugOrPath: string, includeUserOverride?: boolean) => EntityCollection | undefined;
6
+ getRawCollection: (slugOrPath: string) => EntityCollection | undefined;
7
+ getParentReferencesFromPath: (path: string) => EntityReference[];
8
+ getParentCollectionIds: (path: string) => string[];
9
+ convertIdsToPaths: (ids: string[]) => string[];
10
+ };
@@ -0,0 +1,5 @@
1
+ import { AuthController, CMSView, CMSViewsBuilder, DataSource, EntityCollection, EntityCollectionsBuilder, RebasePlugin, User } from "@rebasepro/types";
2
+ export declare function filterOutNotAllowedCollections(resolvedCollections: EntityCollection[], authController: AuthController<User>): EntityCollection[];
3
+ export declare function applyPluginModifyCollection(resolvedCollections: EntityCollection[], modifyCollection: (collection: EntityCollection) => EntityCollection): EntityCollection<any, any>[];
4
+ export declare function resolveCollections(collections: undefined | EntityCollection[] | EntityCollectionsBuilder<any>, authController: AuthController, dataSource: DataSource, plugins: RebasePlugin[] | undefined): Promise<EntityCollection[]>;
5
+ export declare function resolveCMSViews(baseViews: CMSView[] | CMSViewsBuilder | undefined, authController: AuthController, dataSource: DataSource, plugins?: RebasePlugin[]): Promise<CMSView[]>;
@@ -0,0 +1,11 @@
1
+ import { CollectionRegistry } from "@rebasepro/common";
2
+ export declare function encodePath(input: string): string;
3
+ export declare function useNavigationURLs(basePath: string, baseCollectionPath: string, collectionRegistryRef: React.MutableRefObject<CollectionRegistry>): {
4
+ homeUrl: string;
5
+ fullCollectionPath: string;
6
+ buildCMSUrlPath: (path: string) => string;
7
+ buildUrlCollectionPath: (path: string) => string;
8
+ isUrlCollectionPath: (path: string) => boolean;
9
+ urlPathToDataPath: (path: string) => string;
10
+ resolveDatabasePathsFrom: (path: string) => string;
11
+ };
@@ -0,0 +1,26 @@
1
+ import { AuthController, CollectionRegistryController, DataSource, EntityCollection, EntityCollectionsBuilder, RebasePlugin, User } from "@rebasepro/types";
2
+ import { CollectionRegistry } from "@rebasepro/common";
3
+ export type UseResolvedCollectionsProps<EC extends EntityCollection, USER extends User> = {
4
+ authController: AuthController<USER>;
5
+ collections?: EC[] | EntityCollectionsBuilder<EC>;
6
+ dataSource: DataSource;
7
+ plugins?: RebasePlugin[];
8
+ disabled?: boolean;
9
+ collectionRegistryController: CollectionRegistryController<EC> & {
10
+ collectionRegistryRef: React.MutableRefObject<CollectionRegistry>;
11
+ };
12
+ };
13
+ export type UseResolvedCollectionsResult = {
14
+ collections: EntityCollection[];
15
+ loading: boolean;
16
+ error: Error | undefined;
17
+ refresh: () => void;
18
+ };
19
+ /**
20
+ * Hook that resolves collection props (which may be async builders or arrays)
21
+ * into concrete EntityCollection[], and registers them with the CollectionRegistry.
22
+ *
23
+ * Uses refs for potentially-unstable dependencies (dataSource, authController,
24
+ * plugins) to avoid re-triggering effects when their object identity changes.
25
+ */
26
+ export declare function useResolvedCollections<EC extends EntityCollection, USER extends User>(props: UseResolvedCollectionsProps<EC, USER>): UseResolvedCollectionsResult;
@@ -0,0 +1,28 @@
1
+ import { AuthController, CMSView, CMSViewsBuilder, DataSource, EffectiveRoleController, RebasePlugin, User } from "@rebasepro/types";
2
+ import { UserManagementDelegate } from "@rebasepro/types";
3
+ export type UseResolvedViewsProps<USER extends User> = {
4
+ authController: AuthController<USER>;
5
+ views?: CMSView[] | CMSViewsBuilder;
6
+ adminViews?: CMSView[] | CMSViewsBuilder;
7
+ dataSource: DataSource;
8
+ plugins?: RebasePlugin[];
9
+ adminMode?: "content" | "studio" | "settings";
10
+ effectiveRoleController?: EffectiveRoleController;
11
+ userManagement?: UserManagementDelegate<USER>;
12
+ };
13
+ export type UseResolvedViewsResult = {
14
+ views: CMSView[] | undefined;
15
+ adminViews: CMSView[] | undefined;
16
+ loading: boolean;
17
+ error: Error | undefined;
18
+ refresh: () => void;
19
+ };
20
+ /**
21
+ * Hook that resolves view and admin view props (which may be async builders or arrays)
22
+ * into concrete CMSView[]. Also injects Users/Roles admin views when userManagement
23
+ * is provided.
24
+ *
25
+ * Uses refs for potentially-unstable dependencies (dataSource, authController,
26
+ * plugins) to avoid re-triggering effects when their object identity changes.
27
+ */
28
+ export declare function useResolvedViews<USER extends User>(props: UseResolvedViewsProps<USER>): UseResolvedViewsResult;
@@ -0,0 +1,26 @@
1
+ import { CMSView, CMSUrlController, EntityCollection, RebasePlugin, NavigationGroupMapping, NavigationResult, CollectionRegistryController } from "@rebasepro/types";
2
+ import { CollectionRegistry } from "@rebasepro/common";
3
+ export type UseTopLevelNavigationProps = {
4
+ collections: EntityCollection[];
5
+ views: CMSView[] | undefined;
6
+ adminViews: CMSView[] | undefined;
7
+ plugins?: RebasePlugin[];
8
+ navigationGroupMappings?: NavigationGroupMapping[];
9
+ viewsOrder?: string[];
10
+ cmsUrlController: CMSUrlController;
11
+ adminMode?: "content" | "studio" | "settings";
12
+ collectionRegistryController: CollectionRegistryController<any> & {
13
+ collectionRegistryRef: React.MutableRefObject<CollectionRegistry>;
14
+ };
15
+ };
16
+ export type UseTopLevelNavigationResult = {
17
+ topLevelNavigation: NavigationResult | undefined;
18
+ };
19
+ /**
20
+ * Hook that computes the top-level NavigationResult from resolved collections,
21
+ * views, and admin views. Pure computation — no async, no effects.
22
+ *
23
+ * The `onNavigationEntriesUpdate` callback is embedded in the result for API
24
+ * compatibility, but its reference is stable via useCallback.
25
+ */
26
+ export declare function useTopLevelNavigation(props: UseTopLevelNavigationProps): UseTopLevelNavigationResult;
@@ -0,0 +1,12 @@
1
+ import { CMSView, EntityCollection, RebasePlugin, NavigationGroupMapping } from "@rebasepro/types";
2
+ export declare const NAVIGATION_DEFAULT_GROUP_NAME = "Views";
3
+ export declare const NAVIGATION_ADMIN_GROUP_NAME = "Admin";
4
+ export declare function getGroup(collectionOrView: EntityCollection<any, any> | CMSView): string;
5
+ export declare function computeNavigationGroups({ navigationGroupMappings, collections, views, plugins }: {
6
+ navigationGroupMappings?: NavigationGroupMapping[];
7
+ collections?: EntityCollection[];
8
+ views?: CMSView[];
9
+ plugins?: RebasePlugin[];
10
+ }): NavigationGroupMapping[];
11
+ export declare function areCollectionListsEqual(a: EntityCollection[], b: EntityCollection[], visitedSlugs?: string[]): boolean;
12
+ export declare function areCollectionsEqual(a: EntityCollection, b: EntityCollection, visitedSlugs?: string[]): boolean;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Use this controller to change the admin mode (developer vs editor)
3
+ * @group Hooks and utilities
4
+ */
5
+ export interface AdminModeController {
6
+ mode: "content" | "studio" | "settings";
7
+ setMode: (mode: "content" | "studio" | "settings") => void;
8
+ }
9
+ /**
10
+ * Hook to retrieve the current admin mode ("developer" | "editor"), and `setMode`
11
+ * to change it.
12
+ *
13
+ * Consider that in order to use this hook you need to have a parent
14
+ * `Rebase`
15
+ *
16
+ * @see AdminModeController
17
+ * @group Hooks and utilities
18
+ */
19
+ export declare const useAdminModeController: () => AdminModeController;
@@ -0,0 +1,5 @@
1
+ import { AnalyticsController } from "@rebasepro/types";
2
+ /**
3
+ * @group Hooks and utilities
4
+ */
5
+ export declare const useAnalyticsController: () => AnalyticsController;
@@ -0,0 +1,11 @@
1
+ import { AuthController, User } from "@rebasepro/types";
2
+ /**
3
+ * Hook to retrieve the AuthContext.
4
+ *
5
+ * Consider that in order to use this hook you need to have a parent
6
+ * `Rebase`
7
+ *
8
+ * @see AuthController
9
+ * @group Hooks and utilities
10
+ */
11
+ export declare const useAuthController: <USER extends User = User, AuthControllerType extends AuthController<USER> = AuthController<USER>>() => AuthControllerType;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * React hook for using backend storage API as a StorageSource
3
+ */
4
+ import { StorageSource } from '@rebasepro/types';
5
+ export interface BackendStorageSourceProps {
6
+ /**
7
+ * Backend API URL (e.g., 'http://localhost:3001')
8
+ */
9
+ apiUrl: string;
10
+ /**
11
+ * Function to get the current auth token
12
+ */
13
+ getAuthToken: () => Promise<string>;
14
+ }
15
+ /**
16
+ * Hook to create a StorageSource that uses the backend storage REST API.
17
+ * Use this for self-hosted Rebase with local or S3 storage.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * const storageSource = useBackendStorageSource({
22
+ * apiUrl: 'http://localhost:3001',
23
+ * getAuthToken: authController.getAuthToken
24
+ * });
25
+ *
26
+ * // Then pass to Rebase:
27
+ * <Rebase storageSource={storageSource} ... />
28
+ * ```
29
+ */
30
+ export declare function useBackendStorageSource({ apiUrl, getAuthToken }: BackendStorageSourceProps): StorageSource;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @group Hooks and utilities
3
+ */
4
+ export interface BreadcrumbsController {
5
+ breadcrumbs: BreadcrumbEntry[];
6
+ set: (props: {
7
+ breadcrumbs: BreadcrumbEntry[];
8
+ }) => void;
9
+ /**
10
+ * Update the count for a specific breadcrumb by ID.
11
+ */
12
+ updateCount: (id: string, count: number | null | undefined) => void;
13
+ }
14
+ /**
15
+ * @group Hooks and utilities
16
+ */
17
+ export interface BreadcrumbEntry {
18
+ title: string;
19
+ url: string;
20
+ /**
21
+ * Optional entity count for collection breadcrumbs.
22
+ * - undefined: not applicable (e.g., entity breadcrumb, custom view)
23
+ * - null: loading
24
+ * - number: loaded count
25
+ */
26
+ count?: number | null;
27
+ /**
28
+ * Unique identifier for this breadcrumb (e.g., collection path).
29
+ * Used to update count without replacing entire breadcrumb array.
30
+ */
31
+ id?: string;
32
+ }
33
+ /**
34
+ * Hook to retrieve the BreadcrumbsController.
35
+ *
36
+ * Consider that in order to use this hook you need to have a parent
37
+ * `Rebase`
38
+ *
39
+ * @see BreadcrumbsController
40
+ * @group Hooks and utilities
41
+ */
42
+ export declare const useBreadcrumbsController: () => BreadcrumbsController;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Internal hook to handle the browser title and icon
3
+ * @param name
4
+ * @param logo
5
+ */
6
+ export declare function useBrowserTitleAndIcon(name: string, logo?: string): void;
@@ -0,0 +1,6 @@
1
+ import { AdminModeController } from "./index";
2
+ /**
3
+ * Use this hook to build an admin mode controller that determines
4
+ * whether the UI shows Developer or Editor tools.
5
+ */
6
+ export declare function useBuildAdminModeController(): AdminModeController;
@@ -0,0 +1,8 @@
1
+ import { EffectiveRoleController } from "@rebasepro/types";
2
+ /**
3
+ * Use this hook to build an effective role controller that determines
4
+ * what role is simulated in Editor mode when Dev mode is active.
5
+ *
6
+ * It uses localStorage to persist the simulated role across reloads.
7
+ */
8
+ export declare function useBuildEffectiveRoleController(): EffectiveRoleController;
@@ -0,0 +1,2 @@
1
+ import { UserConfigurationPersistence } from "@rebasepro/types";
2
+ export declare function useBuildLocalConfigurationPersistence(): UserConfigurationPersistence;
@@ -0,0 +1,6 @@
1
+ import { ModeController } from "./index";
2
+ /**
3
+ * Use this hook to build a color mode controller that determines
4
+ * the theme of the CMS
5
+ */
6
+ export declare function useBuildModeController(): ModeController;
@@ -0,0 +1,16 @@
1
+ import { EntityCollection, CMSView, User, NavigationController, NavigationGroupMapping, RebasePlugin, AuthController, EntityCollectionsBuilder, CMSViewsBuilder, UserConfigurationPersistence, DataSource } from "@rebasepro/types";
2
+ export type BuildNavigationContextProps<EC extends EntityCollection, USER extends User> = {
3
+ basePath?: string;
4
+ baseCollectionPath?: string;
5
+ authController: AuthController<USER>;
6
+ collections?: EC[] | EntityCollectionsBuilder<EC>;
7
+ views?: CMSView[] | CMSViewsBuilder;
8
+ adminViews?: CMSView[] | CMSViewsBuilder;
9
+ userConfigPersistence?: UserConfigurationPersistence;
10
+ dataSource: DataSource;
11
+ plugins?: RebasePlugin[];
12
+ navigationGroupMappings?: NavigationGroupMapping[];
13
+ disabled?: boolean;
14
+ viewsOrder?: string[];
15
+ };
16
+ export declare function useBuildNavigationController<EC extends EntityCollection, USER extends User>(props: BuildNavigationContextProps<EC, USER>): NavigationController;
@@ -0,0 +1,57 @@
1
+ import { MutableRefObject } from "react";
2
+ export interface UseClipboardProps {
3
+ /**
4
+ * It's callback function that is called after the `copy` command
5
+ * is executed.
6
+ *
7
+ * @param text: The selected clipboard text.
8
+ */
9
+ onSuccess?: (text: string) => void;
10
+ /**
11
+ * Triggers when the hook encounters an error.
12
+ * If passed hook won't throw an error.
13
+ *
14
+ * @param error: cause of the error
15
+ */
16
+ onError?: (error: string) => void;
17
+ /**
18
+ * Disables the new clipboard API `navigator.clipboard` even if
19
+ * it is supported.
20
+ */
21
+ disableClipboardAPI?: boolean;
22
+ /**
23
+ * revert back the isCopied flag to false again if a value is set.
24
+ */
25
+ copiedDuration?: number;
26
+ }
27
+ export interface useClipboardReturnType {
28
+ /**
29
+ * Use ref to pull the text content from.
30
+ */
31
+ ref: MutableRefObject<any>;
32
+ /**
33
+ * Use it to perform the copy operation
34
+ */
35
+ copy: (text?: string) => void;
36
+ /**
37
+ * Use it to perform the cut operation
38
+ */
39
+ cut: () => void;
40
+ /**
41
+ * Indicates wheater the content was successfully copied or not.
42
+ */
43
+ isCoppied: boolean;
44
+ /**
45
+ * Current selected clipboard content.
46
+ */
47
+ clipboard: string;
48
+ /**
49
+ * Clears the user clipboard.
50
+ */
51
+ clearClipboard: () => void;
52
+ /**
53
+ * Check to see if the browser supports the new `navigator.clipboard` API.
54
+ */
55
+ isSupported: () => boolean;
56
+ }
57
+ export declare const useClipboard: (options?: UseClipboardProps) => useClipboardReturnType;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Custom hook for managing collapsed/expanded state of navigation groups
3
+ * with localStorage persistence. Automatically cleans up stale group entries
4
+ * when groups are removed from the navigation.
5
+ *
6
+ * @param groupNames - Array of group names to track
7
+ * @param namespace - Namespace for localStorage key (e.g., "home", "drawer") to allow independent state
8
+ */
9
+ export declare function useCollapsedGroups(groupNames: string[], namespace?: string): {
10
+ isGroupCollapsed: (name: string) => boolean;
11
+ toggleGroupCollapsed: (name: string) => void;
12
+ };
@@ -0,0 +1,11 @@
1
+ import { CustomizationController } from "@rebasepro/types";
2
+ /**
3
+ * Use this hook to retrieve the customization controller.
4
+ * This hook includes all the customization options that can be used
5
+ * to customize the CMS.
6
+ *
7
+ * You will likely not need to use this hook directly.
8
+ *
9
+ * @group Hooks and utilities
10
+ */
11
+ export declare const useCustomizationController: () => CustomizationController;
@@ -0,0 +1,11 @@
1
+ import { DialogsController } from "@rebasepro/types";
2
+ /**
3
+ * Use this hook to open a dialog imperatively.
4
+ * Alternatively, you can use dialogs declaratively using the `Dialog` component.
5
+ *
6
+ * Consider that in order to use this hook you need to have a parent
7
+ * `Rebase`
8
+ *
9
+ * @group Hooks and utilities
10
+ */
11
+ export declare const useDialogsController: () => DialogsController;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Hook to retrieve the {@link EffectiveRoleController}
3
+ *
4
+ * @see EffectiveRoleController
5
+ * @category Hooks and utilities
6
+ */
7
+ export declare const useEffectiveRoleController: () => import("@rebasepro/types").EffectiveRoleController;
@@ -0,0 +1,18 @@
1
+ import { EntitySelectionProps } from "../components";
2
+ /**
3
+ * This hook is used to open a side dialog that allows the selection
4
+ * of entities under a given path.
5
+ * You can use it in custom views for selecting entities.
6
+ * You need to specify the path of the target collection at least.
7
+ * If your collection is not defined in your top collection configuration
8
+ * (in your `Rebase` component), you need to specify explicitly.
9
+ * This is the same hook used internally when a reference property is defined.
10
+ * @group Hooks and utilities
11
+ */
12
+ export declare function useEntitySelectionDialog<M extends Record<string, any>>(referenceDialogProps: Omit<EntitySelectionProps<M>, "path"> & {
13
+ path?: string | false;
14
+ onClose?: () => void;
15
+ }): {
16
+ open: () => void;
17
+ close: () => void;
18
+ };
@@ -0,0 +1,12 @@
1
+ import { User, UserManagementDelegate } from "@rebasepro/types";
2
+ /**
3
+ * Use this hook to get the internal user management of the app.
4
+ * Note that this is different from the user management plugin controller.
5
+ * This controller will be eventually replaced by the one provided
6
+ * by the user management plugin.
7
+ *
8
+ * Use at your own risk!
9
+ *
10
+ * @group Hooks and utilities
11
+ */
12
+ export declare function useInternalUserManagementController<USER extends User>(): UserManagementDelegate<USER> | undefined;
@@ -0,0 +1 @@
1
+ export declare const useLargeLayout: () => boolean;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Use this controller to change color mode
3
+ * @group Hooks and utilities
4
+ */
5
+ export interface ModeController {
6
+ mode: "light" | "dark";
7
+ setMode: (mode: "light" | "dark" | "system") => void;
8
+ }
9
+ /**
10
+ * Hook to retrieve the current mode ("light" | "dark"), and `setMode`
11
+ * or `toggle` functions to change it.
12
+ *
13
+ * Consider that in order to use this hook you need to have a parent
14
+ * `Rebase`
15
+ *
16
+ * @see ModeController
17
+ * @group Hooks and utilities
18
+ */
19
+ export declare const useModeController: () => ModeController;
@@ -0,0 +1,11 @@
1
+ import { EntityCollection, Entity } from "@rebasepro/types";
2
+ /**
3
+ * Hook to evaluate roles and permissions for the current user.
4
+ * It abstracts away the need to pass `authController` to permission evaluation functions.
5
+ */
6
+ export declare function usePermissions(): {
7
+ canCreate: (collection: EntityCollection<any>, path: string) => boolean;
8
+ canEdit: (collection: EntityCollection<any>, path: string, entity: Entity<any> | null) => boolean;
9
+ canDelete: (collection: EntityCollection<any>, path: string, entity: Entity<any> | null) => boolean;
10
+ canRead: (collection: EntityCollection<any>) => boolean;
11
+ };
@@ -0,0 +1,11 @@
1
+ import { AuthController, RebaseContext, User } from "@rebasepro/types";
2
+ /**
3
+ * Hook to retrieve the {@link RebaseContext}.
4
+ *
5
+ * Consider that in order to use this hook you need to have a parent
6
+ * `Rebase` component.
7
+ *
8
+ * @see RebaseContext
9
+ * @group Hooks and utilities
10
+ */
11
+ export declare const useRebaseContext: <USER extends User = User, AuthControllerType extends AuthController<USER> = AuthController<USER>>() => RebaseContext<USER, AuthControllerType>;