@rebasepro/core 0.5.0 → 0.6.1
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.
- package/dist/components/AIIcon.d.ts +3 -2
- package/dist/components/ConfirmationDialog.d.ts +1 -1
- package/dist/components/Debug/UIReferenceView.d.ts +13 -1
- package/dist/components/Debug/UIStyleGuide.d.ts +2 -1
- package/dist/components/ErrorTooltip.d.ts +2 -1
- package/dist/components/LanguageToggle.d.ts +2 -1
- package/dist/components/LoginView/LoginView.d.ts +2 -2
- package/dist/components/NotFoundPage.d.ts +2 -1
- package/dist/components/RebaseLogo.d.ts +1 -1
- package/dist/components/SchemaDriftBanner.d.ts +27 -0
- package/dist/components/UnsavedChangesDialog.d.ts +1 -1
- package/dist/components/UserDisplay.d.ts +1 -1
- package/dist/components/UserSelectPopover.d.ts +2 -1
- package/dist/components/UserSettingsView.d.ts +2 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/contexts/ComponentOverrideContext.d.ts +42 -0
- package/dist/contexts/RebaseClientInstanceContext.d.ts +1 -1
- package/dist/contexts/index.d.ts +1 -1
- package/dist/core/Rebase.d.ts +2 -1
- package/dist/core/RebaseProps.d.ts +23 -22
- package/dist/core/RebaseRouter.d.ts +1 -1
- package/dist/core/RebaseRoutes.d.ts +1 -1
- package/dist/hooks/ApiConfigContext.d.ts +1 -1
- package/dist/hooks/index.d.ts +1 -2
- package/dist/hooks/useComponentOverride.d.ts +32 -0
- package/dist/hooks/useRebaseRegistry.d.ts +1 -1
- package/dist/hooks/useStudioBridge.d.ts +4 -16
- package/dist/i18n/RebaseI18nProvider.d.ts +2 -2
- package/dist/index.es.js +12748 -15004
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +13062 -15144
- package/dist/index.umd.js.map +1 -1
- package/dist/util/icons.d.ts +2 -2
- package/dist/vitePlugin.js +4 -1
- package/package.json +21 -21
- package/src/components/Debug/UIReferenceView.tsx +109 -201
- package/src/components/ErrorView.tsx +16 -6
- package/src/components/LoginView/LoginView.tsx +15 -17
- package/src/components/SchemaDriftBanner.tsx +102 -0
- package/src/components/common/useDataTableController.tsx +1 -1
- package/src/components/index.tsx +1 -1
- package/src/contexts/ComponentOverrideContext.tsx +81 -0
- package/src/contexts/RebaseClientInstanceContext.tsx +1 -1
- package/src/contexts/index.ts +1 -1
- package/src/core/Rebase.tsx +16 -18
- package/src/core/RebaseProps.tsx +24 -25
- package/src/hooks/data/useCollectionFetch.tsx +10 -2
- package/src/hooks/data/useRelationSelector.tsx +4 -2
- package/src/hooks/index.tsx +1 -3
- package/src/hooks/useCollapsedGroups.ts +2 -1
- package/src/hooks/useComponentOverride.tsx +59 -0
- package/src/hooks/useRebaseContext.tsx +3 -5
- package/src/hooks/useResolvedComponent.tsx +1 -1
- package/src/hooks/useStudioBridge.tsx +5 -13
- package/src/locales/en.ts +3 -0
- package/src/util/entity_cache.ts +0 -2
- package/src/util/previews.ts +1 -1
- package/src/vitePlugin.ts +2 -1
- package/dist/components/BootstrapAdminBanner.d.ts +0 -4
- package/dist/contexts/InternalUserManagementContext.d.ts +0 -3
- package/dist/hooks/data/useUserSelector.d.ts +0 -31
- package/dist/hooks/useInternalUserManagementController.d.ts +0 -12
- package/src/components/BootstrapAdminBanner.tsx +0 -75
- package/src/contexts/InternalUserManagementContext.tsx +0 -4
- package/src/hooks/data/useUserSelector.tsx +0 -157
- package/src/hooks/useInternalUserManagementController.tsx +0 -17
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface AIIconProps {
|
|
2
3
|
size?: "smallest" | "small" | "medium" | "large";
|
|
3
4
|
className?: string;
|
|
@@ -6,11 +7,11 @@ export interface AIIconProps {
|
|
|
6
7
|
* AI-styled AutoAwesome icon with gradient coloring.
|
|
7
8
|
* Used consistently across AI features for visual identification.
|
|
8
9
|
*/
|
|
9
|
-
export declare function AIIcon({ size, className }: AIIconProps):
|
|
10
|
+
export declare function AIIcon({ size, className }: AIIconProps): React.JSX.Element;
|
|
10
11
|
/**
|
|
11
12
|
* Small animated dot indicator for AI-modified elements.
|
|
12
13
|
* Shows a pulsing gradient dot.
|
|
13
14
|
*/
|
|
14
15
|
export declare function AIModifiedIndicator({ className }: {
|
|
15
16
|
className?: string;
|
|
16
|
-
}):
|
|
17
|
+
}): React.JSX.Element;
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* UIReferenceView — hidden debug route at /debug/ui
|
|
3
|
+
*
|
|
4
|
+
* This file is a STATIC reference of the real UI patterns used across the app.
|
|
5
|
+
* All markup / styles are copied verbatim from source files.
|
|
6
|
+
* DO NOT add invented styles. Only copy from actual source files.
|
|
7
|
+
*
|
|
8
|
+
* Sources:
|
|
9
|
+
* DefaultDrawer.tsx, DefaultAppBar.tsx, DrawerNavigationItem.tsx,
|
|
10
|
+
* DrawerNavigationGroup.tsx, UsersView.tsx, RolesView.tsx
|
|
11
|
+
*/
|
|
12
|
+
import React from "react";
|
|
13
|
+
export declare function UIReferenceView(): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const UIStyleGuide: () => React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare function LanguageToggle(): React.JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
2
|
/** Google Identity Services SDK — injected by the GIS <script> tag. */
|
|
3
3
|
declare global {
|
|
4
4
|
interface Window {
|
|
@@ -106,4 +106,4 @@ export interface LoginViewProps {
|
|
|
106
106
|
* Feature-detects capabilities to show/hide login methods.
|
|
107
107
|
* @group Core
|
|
108
108
|
*/
|
|
109
|
-
export declare function LoginView({ logo, authController, noUserComponent, disableSignupScreen, disabled, notAllowedError, googleClientId, githubClientId, linkedinClientId, title, subtitle, needsSetup, registrationEnabled, additionalComponent, defaultEmail, defaultPassword }: LoginViewProps):
|
|
109
|
+
export declare function LoginView({ logo, authController, noUserComponent, disableSignupScreen, disabled, notAllowedError, googleClientId, githubClientId, linkedinClientId, title, subtitle, needsSetup, registrationEnabled, additionalComponent, defaultEmail, defaultPassword }: LoginViewProps): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare function NotFoundPage(): React.JSX.Element;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface SchemaDriftContextValue {
|
|
3
|
+
/** Report a schema drift error (call from any data-loading hook). */
|
|
4
|
+
reportSchemaDrift: (message: string) => void;
|
|
5
|
+
/** The most recent schema drift message, or null. */
|
|
6
|
+
schemaDriftMessage: string | null;
|
|
7
|
+
/** Dismiss the banner for this session. */
|
|
8
|
+
dismiss: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function useSchemaDriftContext(): SchemaDriftContextValue;
|
|
11
|
+
/**
|
|
12
|
+
* Detects schema drift from an error object.
|
|
13
|
+
* Checks both the error code (from `RebaseApiError`) and the message
|
|
14
|
+
* for schema drift indicators.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isSchemaDriftError(error: unknown): boolean;
|
|
17
|
+
export declare function SchemaDriftProvider({ children }: {
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
}): React.JSX.Element;
|
|
20
|
+
export interface SchemaDriftBannerProps {
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Persistent banner shown when a schema drift error is detected.
|
|
25
|
+
*/
|
|
26
|
+
export declare function SchemaDriftBanner({ className }: SchemaDriftBannerProps): React.JSX.Element | null;
|
|
27
|
+
export {};
|
|
@@ -6,4 +6,4 @@ export interface UnsavedChangesDialogProps {
|
|
|
6
6
|
handleOk: () => void;
|
|
7
7
|
handleCancel: () => void;
|
|
8
8
|
}
|
|
9
|
-
export declare function UnsavedChangesDialog({ open, handleOk, handleCancel, body, title }: UnsavedChangesDialogProps):
|
|
9
|
+
export declare function UnsavedChangesDialog({ open, handleOk, handleCancel, body, title }: UnsavedChangesDialogProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
/**
|
|
2
3
|
* Represents a selectable user item with optional role information.
|
|
3
4
|
*/
|
|
@@ -59,4 +60,4 @@ export interface UserSelectPopoverProps {
|
|
|
59
60
|
*
|
|
60
61
|
* @group Components
|
|
61
62
|
*/
|
|
62
|
-
export declare function UserSelectPopover({ selectedUser, onUserSelected, users, loading, currentUser, defaultLabel, renderLimit, className, size }: UserSelectPopoverProps):
|
|
63
|
+
export declare function UserSelectPopover({ selectedUser, onUserSelected, users, loading, currentUser, defaultLabel, renderLimit, className, size }: UserSelectPopoverProps): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare function UserSettingsView(): React.JSX.Element | null;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { ComponentOverrideMap } from "@rebasepro/types";
|
|
3
|
+
/**
|
|
4
|
+
* Internal state for the component override resolution chain.
|
|
5
|
+
* Holds both global overrides (set on `<Rebase>`) and collection-scoped
|
|
6
|
+
* overrides (set on individual collections).
|
|
7
|
+
*
|
|
8
|
+
* Resolution priority: collection > global > default.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
interface ComponentOverrideState {
|
|
13
|
+
globalOverrides: ComponentOverrideMap;
|
|
14
|
+
collectionOverrides: ComponentOverrideMap;
|
|
15
|
+
}
|
|
16
|
+
export declare const ComponentOverrideContext: React.Context<ComponentOverrideState>;
|
|
17
|
+
/**
|
|
18
|
+
* Provider set at the `<Rebase>` root level to supply global component overrides.
|
|
19
|
+
*
|
|
20
|
+
* @internal — Used by the Rebase component. End users set overrides via
|
|
21
|
+
* the `components` prop on `<Rebase>`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function GlobalComponentOverrideProvider({ overrides, children }: {
|
|
24
|
+
overrides?: ComponentOverrideMap;
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
}): React.JSX.Element;
|
|
27
|
+
/**
|
|
28
|
+
* Provider set at the collection level to layer collection-scoped overrides
|
|
29
|
+
* on top of global overrides.
|
|
30
|
+
*
|
|
31
|
+
* When a collection defines `components`, this provider is mounted
|
|
32
|
+
* around the collection's view subtree. Components within the subtree
|
|
33
|
+
* will resolve overrides in order: collection → global → default.
|
|
34
|
+
*
|
|
35
|
+
* @internal — Used by EntityCollectionView when a collection has
|
|
36
|
+
* `components` defined.
|
|
37
|
+
*/
|
|
38
|
+
export declare function CollectionComponentOverrideProvider({ overrides, children }: {
|
|
39
|
+
overrides?: ComponentOverrideMap;
|
|
40
|
+
children: React.ReactNode;
|
|
41
|
+
}): React.JSX.Element;
|
|
42
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
/**
|
|
3
|
-
* Context that exposes the full RebaseClient instance
|
|
3
|
+
* Context that exposes the full RebaseClient instance.
|
|
4
4
|
* Used by the JS Editor to give developer scripts access to `client.data`, `client.auth`, etc.
|
|
5
5
|
*/
|
|
6
6
|
export declare const RebaseClientInstanceContext: React.Context<any>;
|
package/dist/contexts/index.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ export * from "./AnalyticsContext";
|
|
|
8
8
|
export * from "./StorageSourceContext";
|
|
9
9
|
export * from "./UserConfigurationPersistenceContext";
|
|
10
10
|
export * from "./DialogsProvider";
|
|
11
|
-
export * from "./InternalUserManagementContext";
|
|
12
11
|
export * from "./RebaseClientInstanceContext";
|
|
13
12
|
export * from "./CustomizationControllerContext";
|
|
13
|
+
export * from "./ComponentOverrideContext";
|
package/dist/core/Rebase.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { RebaseProps } from "./RebaseProps";
|
|
2
|
+
import React from "react";
|
|
2
3
|
import { User } from "@rebasepro/types";
|
|
3
4
|
/**
|
|
4
5
|
* If you are using independent components of the CMS
|
|
@@ -11,4 +12,4 @@ import { User } from "@rebasepro/types";
|
|
|
11
12
|
*
|
|
12
13
|
* @group Core
|
|
13
14
|
*/
|
|
14
|
-
export declare function Rebase<USER extends User>(props: RebaseProps<USER>):
|
|
15
|
+
export declare function Rebase<USER extends User>(props: RebaseProps<USER>): React.JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { Locale, User, AuthController, AnalyticsEvent, DataDriver, StorageSource, UserConfigurationPersistence, DatabaseAdmin, RebaseData, RebaseClient, RebaseContext,
|
|
2
|
+
import { Locale, User, AuthController, AnalyticsEvent, DataDriver, StorageSource, UserConfigurationPersistence, DatabaseAdmin, RebaseData, RebaseClient, RebaseContext, EntityLinkBuilder, RebasePlugin, SlotContribution, PropertyConfig, EntityCustomView, EntityAction, RebaseTranslations, ComponentOverrideMap } from "@rebasepro/types";
|
|
3
3
|
/** DeepPartial helper — allows partial overrides at any nesting level */
|
|
4
4
|
type DeepPartial<T> = T extends object ? {
|
|
5
5
|
[K in keyof T]?: DeepPartial<T[K]>;
|
|
@@ -92,19 +92,6 @@ export type RebaseProps<USER extends User> = {
|
|
|
92
92
|
* The function must return a URL that gets opened when the button is clicked
|
|
93
93
|
*/
|
|
94
94
|
entityLinkBuilder?: EntityLinkBuilder;
|
|
95
|
-
/**
|
|
96
|
-
* You can use this props to provide your own user management implementation.
|
|
97
|
-
* Note that this will not affect the UI, but it will be used to show user information
|
|
98
|
-
* in various places of the CMS, for example, to show who created or modified an entity,
|
|
99
|
-
* or to assign ownership of an entity.
|
|
100
|
-
*
|
|
101
|
-
* You can also use this data to be retrieved in your custom properties,
|
|
102
|
-
* for example, to show a list of users in a dropdown.
|
|
103
|
-
*
|
|
104
|
-
* If you are using the Rebase user management plugin, this
|
|
105
|
-
* prop will be implemented automatically.
|
|
106
|
-
*/
|
|
107
|
-
userManagement?: UserManagementDelegate<USER>;
|
|
108
95
|
/**
|
|
109
96
|
* Plugins loaded in the CMS
|
|
110
97
|
*/
|
|
@@ -125,14 +112,6 @@ export type RebaseProps<USER extends User> = {
|
|
|
125
112
|
* Entity Actions
|
|
126
113
|
*/
|
|
127
114
|
entityActions?: EntityAction[];
|
|
128
|
-
components?: {
|
|
129
|
-
/**
|
|
130
|
-
* Component to render when a reference is missing
|
|
131
|
-
*/
|
|
132
|
-
missingReference?: React.ComponentType<{
|
|
133
|
-
path: string;
|
|
134
|
-
}>;
|
|
135
|
-
};
|
|
136
115
|
/**
|
|
137
116
|
* Controller to simulate different roles when dev mode is active.
|
|
138
117
|
*/
|
|
@@ -143,5 +122,27 @@ export type RebaseProps<USER extends User> = {
|
|
|
143
122
|
translations?: {
|
|
144
123
|
[locale: string]: DeepPartial<RebaseTranslations>;
|
|
145
124
|
};
|
|
125
|
+
/**
|
|
126
|
+
* Override built-in UI components with custom implementations.
|
|
127
|
+
*
|
|
128
|
+
* Keys are component names from {@link OverridableComponentName}.
|
|
129
|
+
* Values specify the replacement component and an optional `wrap`
|
|
130
|
+
* flag for the wrapping pattern.
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```tsx
|
|
134
|
+
* <Rebase
|
|
135
|
+
* client={client}
|
|
136
|
+
* components={{
|
|
137
|
+
* "Shell.AppBar": { Component: MyCustomAppBar },
|
|
138
|
+
* "Entity.FormActions": {
|
|
139
|
+
* Component: MyFormActions,
|
|
140
|
+
* wrap: true
|
|
141
|
+
* }
|
|
142
|
+
* }}
|
|
143
|
+
* >
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
components?: ComponentOverrideMap;
|
|
146
147
|
};
|
|
147
148
|
export {};
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ export * from "./data/useData";
|
|
|
2
2
|
export * from "./data/useCollectionFetch";
|
|
3
3
|
export * from "./data/useEntityFetch";
|
|
4
4
|
export * from "./data/useRelationSelector";
|
|
5
|
-
export * from "./data/useUserSelector";
|
|
6
5
|
export * from "./data/save";
|
|
7
6
|
export * from "./data/delete";
|
|
8
7
|
export * from "./useUnsavedChangesDialog";
|
|
@@ -20,7 +19,6 @@ export * from "./useModeController";
|
|
|
20
19
|
export * from "./useClipboard";
|
|
21
20
|
export * from "./useLargeLayout";
|
|
22
21
|
export * from "./useCollapsedGroups";
|
|
23
|
-
export * from "./useInternalUserManagementController";
|
|
24
22
|
export * from "./useBrowserTitleAndIcon";
|
|
25
23
|
export * from "./useSlot";
|
|
26
24
|
export * from "./useCustomizationController";
|
|
@@ -35,3 +33,4 @@ export * from "./useRebaseClient";
|
|
|
35
33
|
export * from "./useAnalyticsController";
|
|
36
34
|
export * from "./useUserConfigurationPersistence";
|
|
37
35
|
export * from "./useResolvedComponent";
|
|
36
|
+
export * from "./useComponentOverride";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { OverridableComponentName } from "@rebasepro/types";
|
|
3
|
+
/**
|
|
4
|
+
* Resolves a potentially overridden component.
|
|
5
|
+
*
|
|
6
|
+
* Resolution order:
|
|
7
|
+
* 1. Collection-scoped override (highest priority)
|
|
8
|
+
* 2. Global override
|
|
9
|
+
* 3. Default component (fallback)
|
|
10
|
+
*
|
|
11
|
+
* Supports two override modes:
|
|
12
|
+
* - **Eject** (default): The override component fully replaces the default.
|
|
13
|
+
* - **Wrap** (`wrap: true`): The override component wraps the default.
|
|
14
|
+
* The default is passed as `OriginalComponent` in props.
|
|
15
|
+
*
|
|
16
|
+
* @param name - The overridable component name (e.g. `"Entity.Form"`)
|
|
17
|
+
* @param DefaultComponent - The built-in default component
|
|
18
|
+
* @returns The resolved component — either the default, a full replacement, or a wrapper
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* import { useComponentOverride } from "@rebasepro/core";
|
|
23
|
+
*
|
|
24
|
+
* function EntityFormWrapper(props: EntityFormProps) {
|
|
25
|
+
* const ResolvedForm = useComponentOverride("Entity.Form", DefaultEntityForm);
|
|
26
|
+
* return <ResolvedForm {...props} />;
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @group Hooks
|
|
31
|
+
*/
|
|
32
|
+
export declare function useComponentOverride<P>(name: OverridableComponentName, DefaultComponent: React.ComponentType<P>): React.ComponentType<P>;
|
|
@@ -19,7 +19,7 @@ interface RegistryDispatch {
|
|
|
19
19
|
}
|
|
20
20
|
export declare function RebaseRegistryProvider({ children }: {
|
|
21
21
|
children: React.ReactNode;
|
|
22
|
-
}):
|
|
22
|
+
}): React.JSX.Element;
|
|
23
23
|
/**
|
|
24
24
|
* Returns the full registry (state + dispatch).
|
|
25
25
|
* Use this in RebaseShell where you need to read configs.
|
|
@@ -1,18 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { CollectionRegistryController, SideEntityController, UrlController, NavigationStateController } from "@rebasepro/types";
|
|
3
|
-
export
|
|
4
|
-
title: string;
|
|
5
|
-
url: string;
|
|
6
|
-
count?: number | null;
|
|
7
|
-
id?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface BreadcrumbsController {
|
|
10
|
-
breadcrumbs: BreadcrumbEntry[];
|
|
11
|
-
set: (props: {
|
|
12
|
-
breadcrumbs: BreadcrumbEntry[];
|
|
13
|
-
}) => void;
|
|
14
|
-
updateCount: (id: string, count: number | null | undefined) => void;
|
|
15
|
-
}
|
|
2
|
+
import type { CollectionRegistryController, SideEntityController, UrlController, NavigationStateController, BreadcrumbEntry, BreadcrumbsController } from "@rebasepro/types";
|
|
3
|
+
export type { BreadcrumbEntry, BreadcrumbsController };
|
|
16
4
|
/**
|
|
17
5
|
* StudioBridge provides optional CMS capabilities to Studio components.
|
|
18
6
|
* When CMS is present, a bridge provider injects real implementations.
|
|
@@ -46,7 +34,7 @@ export declare const StudioBridgeContext: React.Context<StudioBridge>;
|
|
|
46
34
|
export declare function StudioBridgeProvider({ value, children }: {
|
|
47
35
|
value: Partial<StudioBridge>;
|
|
48
36
|
children: React.ReactNode;
|
|
49
|
-
}):
|
|
37
|
+
}): React.JSX.Element;
|
|
50
38
|
/** Collection registry — returns noop if CMS is not present. */
|
|
51
39
|
export declare function useStudioCollectionRegistry(): CollectionRegistryController;
|
|
52
40
|
/** Side entity controller — returns noop if CMS is not present. */
|
|
@@ -88,4 +76,4 @@ export declare const StudioBridgeRegistryContext: React.Context<StudioBridgeRegi
|
|
|
88
76
|
*/
|
|
89
77
|
export declare function StudioBridgeRegistryProvider({ children }: {
|
|
90
78
|
children: React.ReactNode;
|
|
91
|
-
}):
|
|
79
|
+
}): React.JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropsWithChildren } from "react";
|
|
1
|
+
import React, { PropsWithChildren } from "react";
|
|
2
2
|
import { RebaseTranslations } from "@rebasepro/types";
|
|
3
3
|
export declare const REBASE_LOCALE_STORAGE_KEY = "rebase_locale";
|
|
4
4
|
/** DeepPartial helper — allows partial overrides at any nesting level */
|
|
@@ -29,5 +29,5 @@ export interface RebaseI18nProviderProps {
|
|
|
29
29
|
*
|
|
30
30
|
* @internal
|
|
31
31
|
*/
|
|
32
|
-
export declare function RebaseI18nProvider({ locale, translations, children }: PropsWithChildren<RebaseI18nProviderProps>):
|
|
32
|
+
export declare function RebaseI18nProvider({ locale, translations, children }: PropsWithChildren<RebaseI18nProviderProps>): React.JSX.Element | null;
|
|
33
33
|
export {};
|