@molecule/app-react 1.0.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.
- package/LICENSE +115 -0
- package/README.md +2645 -0
- package/dist/agent-identity.d.ts +40 -0
- package/dist/agent-identity.d.ts.map +1 -0
- package/dist/agent-identity.js +31 -0
- package/dist/agent-identity.js.map +1 -0
- package/dist/contexts.d.ts +69 -0
- package/dist/contexts.d.ts.map +1 -0
- package/dist/contexts.js +70 -0
- package/dist/contexts.js.map +1 -0
- package/dist/hooks/index.d.ts +32 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +32 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useAIModels.d.ts +48 -0
- package/dist/hooks/useAIModels.d.ts.map +1 -0
- package/dist/hooks/useAIModels.js +145 -0
- package/dist/hooks/useAIModels.js.map +1 -0
- package/dist/hooks/useAsyncState.d.ts +41 -0
- package/dist/hooks/useAsyncState.d.ts.map +1 -0
- package/dist/hooks/useAsyncState.js +77 -0
- package/dist/hooks/useAsyncState.js.map +1 -0
- package/dist/hooks/useAuth.d.ts +43 -0
- package/dist/hooks/useAuth.d.ts.map +1 -0
- package/dist/hooks/useAuth.js +106 -0
- package/dist/hooks/useAuth.js.map +1 -0
- package/dist/hooks/useCapacitorApp.d.ts +35 -0
- package/dist/hooks/useCapacitorApp.d.ts.map +1 -0
- package/dist/hooks/useCapacitorApp.js +61 -0
- package/dist/hooks/useCapacitorApp.js.map +1 -0
- package/dist/hooks/useChangePassword.d.ts +34 -0
- package/dist/hooks/useChangePassword.d.ts.map +1 -0
- package/dist/hooks/useChangePassword.js +37 -0
- package/dist/hooks/useChangePassword.js.map +1 -0
- package/dist/hooks/useChat.d.ts +30 -0
- package/dist/hooks/useChat.d.ts.map +1 -0
- package/dist/hooks/useChat.js +1510 -0
- package/dist/hooks/useChat.js.map +1 -0
- package/dist/hooks/useDevice.d.ts +39 -0
- package/dist/hooks/useDevice.d.ts.map +1 -0
- package/dist/hooks/useDevice.js +41 -0
- package/dist/hooks/useDevice.js.map +1 -0
- package/dist/hooks/useEditor.d.ts +20 -0
- package/dist/hooks/useEditor.d.ts.map +1 -0
- package/dist/hooks/useEditor.js +98 -0
- package/dist/hooks/useEditor.js.map +1 -0
- package/dist/hooks/useForm.d.ts +87 -0
- package/dist/hooks/useForm.d.ts.map +1 -0
- package/dist/hooks/useForm.js +148 -0
- package/dist/hooks/useForm.js.map +1 -0
- package/dist/hooks/useHttp.d.ts +103 -0
- package/dist/hooks/useHttp.d.ts.map +1 -0
- package/dist/hooks/useHttp.js +161 -0
- package/dist/hooks/useHttp.js.map +1 -0
- package/dist/hooks/useLogger.d.ts +68 -0
- package/dist/hooks/useLogger.d.ts.map +1 -0
- package/dist/hooks/useLogger.js +95 -0
- package/dist/hooks/useLogger.js.map +1 -0
- package/dist/hooks/useLogin.d.ts +35 -0
- package/dist/hooks/useLogin.d.ts.map +1 -0
- package/dist/hooks/useLogin.js +37 -0
- package/dist/hooks/useLogin.js.map +1 -0
- package/dist/hooks/useOAuth.d.ts +83 -0
- package/dist/hooks/useOAuth.d.ts.map +1 -0
- package/dist/hooks/useOAuth.js +348 -0
- package/dist/hooks/useOAuth.js.map +1 -0
- package/dist/hooks/usePasswordReset.d.ts +43 -0
- package/dist/hooks/usePasswordReset.d.ts.map +1 -0
- package/dist/hooks/usePasswordReset.js +50 -0
- package/dist/hooks/usePasswordReset.js.map +1 -0
- package/dist/hooks/usePlatform.d.ts +38 -0
- package/dist/hooks/usePlatform.d.ts.map +1 -0
- package/dist/hooks/usePlatform.js +40 -0
- package/dist/hooks/usePlatform.js.map +1 -0
- package/dist/hooks/usePreview.d.ts +20 -0
- package/dist/hooks/usePreview.d.ts.map +1 -0
- package/dist/hooks/usePreview.js +62 -0
- package/dist/hooks/usePreview.js.map +1 -0
- package/dist/hooks/usePromise.d.ts +39 -0
- package/dist/hooks/usePromise.d.ts.map +1 -0
- package/dist/hooks/usePromise.js +92 -0
- package/dist/hooks/usePromise.js.map +1 -0
- package/dist/hooks/usePush.d.ts +50 -0
- package/dist/hooks/usePush.d.ts.map +1 -0
- package/dist/hooks/usePush.js +89 -0
- package/dist/hooks/usePush.js.map +1 -0
- package/dist/hooks/useRouter.d.ts +65 -0
- package/dist/hooks/useRouter.d.ts.map +1 -0
- package/dist/hooks/useRouter.js +120 -0
- package/dist/hooks/useRouter.js.map +1 -0
- package/dist/hooks/useSignup.d.ts +35 -0
- package/dist/hooks/useSignup.d.ts.map +1 -0
- package/dist/hooks/useSignup.js +37 -0
- package/dist/hooks/useSignup.js.map +1 -0
- package/dist/hooks/useStorage.d.ts +72 -0
- package/dist/hooks/useStorage.d.ts.map +1 -0
- package/dist/hooks/useStorage.js +144 -0
- package/dist/hooks/useStorage.js.map +1 -0
- package/dist/hooks/useStore.d.ts +51 -0
- package/dist/hooks/useStore.d.ts.map +1 -0
- package/dist/hooks/useStore.js +86 -0
- package/dist/hooks/useStore.js.map +1 -0
- package/dist/hooks/useTheme.d.ts +50 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/hooks/useTheme.js +135 -0
- package/dist/hooks/useTheme.js.map +1 -0
- package/dist/hooks/useTranslation.d.ts +69 -0
- package/dist/hooks/useTranslation.d.ts.map +1 -0
- package/dist/hooks/useTranslation.js +131 -0
- package/dist/hooks/useTranslation.js.map +1 -0
- package/dist/hooks/useVersion.d.ts +41 -0
- package/dist/hooks/useVersion.d.ts.map +1 -0
- package/dist/hooks/useVersion.js +73 -0
- package/dist/hooks/useVersion.js.map +1 -0
- package/dist/hooks/useWorkspace.d.ts +18 -0
- package/dist/hooks/useWorkspace.d.ts.map +1 -0
- package/dist/hooks/useWorkspace.js +67 -0
- package/dist/hooks/useWorkspace.js.map +1 -0
- package/dist/index.d.ts +80 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +80 -0
- package/dist/index.js.map +1 -0
- package/dist/providers.d.ts +189 -0
- package/dist/providers.d.ts.map +1 -0
- package/dist/providers.js +248 -0
- package/dist/providers.js.map +1 -0
- package/dist/types.d.ts +381 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React provider components for the Molecule framework bindings.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import type { AuthProviderProps, ChatProviderProps, EditorProviderProps, HttpProviderProps, I18nProviderProps, LoggerProviderProps, MoleculeProviderProps, PreviewProviderProps, RouterProviderProps, StateProviderProps, StorageProviderProps, ThemeProviderProps, WorkspaceProviderProps } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Provider for state management.
|
|
10
|
+
*
|
|
11
|
+
* @param props - Component props (see {@link StateProviderProps}).
|
|
12
|
+
* @returns The rendered state provider element.
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* import { provider } from '@molecule/app-state-zustand'
|
|
16
|
+
*
|
|
17
|
+
* <StateProvider provider={provider}>
|
|
18
|
+
* <App />
|
|
19
|
+
* </StateProvider>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function StateProvider({ provider, children }: StateProviderProps): React.ReactElement;
|
|
23
|
+
/**
|
|
24
|
+
* Provider for authentication.
|
|
25
|
+
*
|
|
26
|
+
* @param props - Component props (see {@link AuthProviderProps}).
|
|
27
|
+
* @returns The rendered auth provider element.
|
|
28
|
+
* @example
|
|
29
|
+
* ```tsx
|
|
30
|
+
* import { createJWTAuthClient } from '@molecule/app-auth'
|
|
31
|
+
*
|
|
32
|
+
* const authClient = createJWTAuthClient({ baseURL: '/api' })
|
|
33
|
+
*
|
|
34
|
+
* <AuthProvider client={authClient}>
|
|
35
|
+
* <App />
|
|
36
|
+
* </AuthProvider>
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function AuthProvider<T = unknown>({ client, children, }: AuthProviderProps<T>): React.ReactElement;
|
|
40
|
+
/**
|
|
41
|
+
* Provider for theming.
|
|
42
|
+
*
|
|
43
|
+
* @param props - Component props (see {@link ThemeProviderProps}).
|
|
44
|
+
* @returns The rendered theme provider element.
|
|
45
|
+
* @example
|
|
46
|
+
* ```tsx
|
|
47
|
+
* import { provider as themeProvider } from '@molecule/app-theme-css-variables'
|
|
48
|
+
*
|
|
49
|
+
* <ThemeProvider provider={themeProvider}>
|
|
50
|
+
* <App />
|
|
51
|
+
* </ThemeProvider>
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare function ThemeProvider({ provider, children }: ThemeProviderProps): React.ReactElement;
|
|
55
|
+
/**
|
|
56
|
+
* Provider for routing.
|
|
57
|
+
*
|
|
58
|
+
* @param props - Component props (see {@link RouterProviderProps}).
|
|
59
|
+
* @returns The rendered router provider element.
|
|
60
|
+
* @example
|
|
61
|
+
* ```tsx
|
|
62
|
+
* import { createReactRouter } from '@molecule/app-routing-react-router'
|
|
63
|
+
*
|
|
64
|
+
* const router = createReactRouter()
|
|
65
|
+
*
|
|
66
|
+
* <RouterProvider router={router}>
|
|
67
|
+
* <App />
|
|
68
|
+
* </RouterProvider>
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare function RouterProvider({ router, children }: RouterProviderProps): React.ReactElement;
|
|
72
|
+
/**
|
|
73
|
+
* Provider for internationalization.
|
|
74
|
+
*
|
|
75
|
+
* @param props - Component props (see {@link I18nProviderProps}).
|
|
76
|
+
* @returns The rendered i18n provider element.
|
|
77
|
+
* @example
|
|
78
|
+
* ```tsx
|
|
79
|
+
* import { createReactI18nextProvider } from '@molecule/app-i18n-react-i18next'
|
|
80
|
+
*
|
|
81
|
+
* const i18n = createReactI18nextProvider()
|
|
82
|
+
*
|
|
83
|
+
* <I18nProvider provider={i18n}>
|
|
84
|
+
* <App />
|
|
85
|
+
* </I18nProvider>
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export declare function I18nProvider({ provider, children }: I18nProviderProps): React.ReactElement;
|
|
89
|
+
/**
|
|
90
|
+
* Provider for HTTP client.
|
|
91
|
+
*
|
|
92
|
+
* @param props - Component props (see {@link HttpProviderProps}).
|
|
93
|
+
* @returns The rendered HTTP provider element.
|
|
94
|
+
* @example
|
|
95
|
+
* ```tsx
|
|
96
|
+
* import { createAxiosClient } from '@molecule/app-http-axios'
|
|
97
|
+
*
|
|
98
|
+
* const httpClient = createAxiosClient({ baseURL: '/api' })
|
|
99
|
+
*
|
|
100
|
+
* <HttpProvider client={httpClient}>
|
|
101
|
+
* <App />
|
|
102
|
+
* </HttpProvider>
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export declare function HttpProvider({ client, children }: HttpProviderProps): React.ReactElement;
|
|
106
|
+
/**
|
|
107
|
+
* Provider for storage.
|
|
108
|
+
*
|
|
109
|
+
* @param props - Component props (see {@link StorageProviderProps}).
|
|
110
|
+
* @returns The rendered storage provider element.
|
|
111
|
+
* @example
|
|
112
|
+
* ```tsx
|
|
113
|
+
* import { provider } from '@molecule/app-storage-localstorage'
|
|
114
|
+
*
|
|
115
|
+
* <StorageProvider provider={provider}>
|
|
116
|
+
* <App />
|
|
117
|
+
* </StorageProvider>
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export declare function StorageProvider({ provider, children }: StorageProviderProps): React.ReactElement;
|
|
121
|
+
/**
|
|
122
|
+
* Provider for logging.
|
|
123
|
+
*
|
|
124
|
+
* @param props - Component props (see {@link LoggerProviderProps}).
|
|
125
|
+
* @returns The rendered logger provider element.
|
|
126
|
+
* @example
|
|
127
|
+
* ```tsx
|
|
128
|
+
* import { createConsoleLoggerProvider } from '@molecule/app-logger'
|
|
129
|
+
*
|
|
130
|
+
* const loggerProvider = createConsoleLoggerProvider()
|
|
131
|
+
*
|
|
132
|
+
* <LoggerProvider provider={loggerProvider}>
|
|
133
|
+
* <App />
|
|
134
|
+
* </LoggerProvider>
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export declare function LoggerProvider({ provider, children }: LoggerProviderProps): React.ReactElement;
|
|
138
|
+
/**
|
|
139
|
+
* Provider for AI chat.
|
|
140
|
+
* @param props - Component props (see {@link ChatProviderProps}).
|
|
141
|
+
* @returns The rendered chat provider element.
|
|
142
|
+
*/
|
|
143
|
+
export declare function ChatProvider({ provider, children }: ChatProviderProps): React.ReactElement;
|
|
144
|
+
/**
|
|
145
|
+
* Provider for IDE workspace.
|
|
146
|
+
* @param props - Component props (see {@link WorkspaceProviderProps}).
|
|
147
|
+
* @returns The rendered workspace provider element.
|
|
148
|
+
*/
|
|
149
|
+
export declare function WorkspaceProvider({ provider, children, }: WorkspaceProviderProps): React.ReactElement;
|
|
150
|
+
/**
|
|
151
|
+
* Provider for code editor.
|
|
152
|
+
* @param props - Component props (see {@link EditorProviderProps}).
|
|
153
|
+
* @returns The rendered editor provider element.
|
|
154
|
+
*/
|
|
155
|
+
export declare function EditorProvider({ provider, children }: EditorProviderProps): React.ReactElement;
|
|
156
|
+
/**
|
|
157
|
+
* Provider for live preview.
|
|
158
|
+
* @param props - Component props (see {@link PreviewProviderProps}).
|
|
159
|
+
* @returns The rendered preview provider element.
|
|
160
|
+
*/
|
|
161
|
+
export declare function PreviewProvider({ provider, children }: PreviewProviderProps): React.ReactElement;
|
|
162
|
+
/**
|
|
163
|
+
* Combined provider for all molecule services.
|
|
164
|
+
*
|
|
165
|
+
* Provides a convenient way to wrap your app with all molecule providers at once.
|
|
166
|
+
* Only providers that are passed will be included.
|
|
167
|
+
*
|
|
168
|
+
* @param props - Component props (see {@link MoleculeProviderProps}) — each service is
|
|
169
|
+
* optional, and ONLY the services passed are provided to the tree.
|
|
170
|
+
* @returns The rendered combined provider element.
|
|
171
|
+
* @example
|
|
172
|
+
* ```tsx
|
|
173
|
+
* import { provider as stateProvider } from '@molecule/app-state-zustand'
|
|
174
|
+
* import { createJWTAuthClient } from '@molecule/app-auth'
|
|
175
|
+
* import { provider as themeProvider } from '@molecule/app-theme-css-variables'
|
|
176
|
+
*
|
|
177
|
+
* const authClient = createJWTAuthClient({ baseURL: '/api' })
|
|
178
|
+
*
|
|
179
|
+
* <MoleculeProvider
|
|
180
|
+
* state={stateProvider}
|
|
181
|
+
* auth={authClient}
|
|
182
|
+
* theme={themeProvider}
|
|
183
|
+
* >
|
|
184
|
+
* <App />
|
|
185
|
+
* </MoleculeProvider>
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export declare function MoleculeProvider({ children, state, auth, theme, router, i18n, http, storage, logger, chat, workspace, editor, preview, }: MoleculeProviderProps): React.ReactElement;
|
|
189
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAA;AAkBzB,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAE5F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,EACxC,MAAM,EACN,QAAQ,GACT,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAI3C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAE5F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAE5F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAE1F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAExF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAEhG;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAE9F;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAE1F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,QAAQ,GACT,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAE9F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAEhG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,MAAM,EACN,OAAO,GACR,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAqD5C"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { AuthContext, ChatContext, EditorContext, HttpContext, I18nContext, LoggerContext, PreviewContext, RouterContext, StateContext, StorageContext, ThemeContext, WorkspaceContext, } from './contexts.js';
|
|
3
|
+
/**
|
|
4
|
+
* Provider for state management.
|
|
5
|
+
*
|
|
6
|
+
* @param props - Component props (see {@link StateProviderProps}).
|
|
7
|
+
* @returns The rendered state provider element.
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* import { provider } from '@molecule/app-state-zustand'
|
|
11
|
+
*
|
|
12
|
+
* <StateProvider provider={provider}>
|
|
13
|
+
* <App />
|
|
14
|
+
* </StateProvider>
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export function StateProvider({ provider, children }) {
|
|
18
|
+
return _jsx(StateContext.Provider, { value: provider, children: children });
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Provider for authentication.
|
|
22
|
+
*
|
|
23
|
+
* @param props - Component props (see {@link AuthProviderProps}).
|
|
24
|
+
* @returns The rendered auth provider element.
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* import { createJWTAuthClient } from '@molecule/app-auth'
|
|
28
|
+
*
|
|
29
|
+
* const authClient = createJWTAuthClient({ baseURL: '/api' })
|
|
30
|
+
*
|
|
31
|
+
* <AuthProvider client={authClient}>
|
|
32
|
+
* <App />
|
|
33
|
+
* </AuthProvider>
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export function AuthProvider({ client, children, }) {
|
|
37
|
+
return (_jsx(AuthContext.Provider, { value: client, children: children }));
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Provider for theming.
|
|
41
|
+
*
|
|
42
|
+
* @param props - Component props (see {@link ThemeProviderProps}).
|
|
43
|
+
* @returns The rendered theme provider element.
|
|
44
|
+
* @example
|
|
45
|
+
* ```tsx
|
|
46
|
+
* import { provider as themeProvider } from '@molecule/app-theme-css-variables'
|
|
47
|
+
*
|
|
48
|
+
* <ThemeProvider provider={themeProvider}>
|
|
49
|
+
* <App />
|
|
50
|
+
* </ThemeProvider>
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export function ThemeProvider({ provider, children }) {
|
|
54
|
+
return _jsx(ThemeContext.Provider, { value: provider, children: children });
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Provider for routing.
|
|
58
|
+
*
|
|
59
|
+
* @param props - Component props (see {@link RouterProviderProps}).
|
|
60
|
+
* @returns The rendered router provider element.
|
|
61
|
+
* @example
|
|
62
|
+
* ```tsx
|
|
63
|
+
* import { createReactRouter } from '@molecule/app-routing-react-router'
|
|
64
|
+
*
|
|
65
|
+
* const router = createReactRouter()
|
|
66
|
+
*
|
|
67
|
+
* <RouterProvider router={router}>
|
|
68
|
+
* <App />
|
|
69
|
+
* </RouterProvider>
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export function RouterProvider({ router, children }) {
|
|
73
|
+
return _jsx(RouterContext.Provider, { value: router, children: children });
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Provider for internationalization.
|
|
77
|
+
*
|
|
78
|
+
* @param props - Component props (see {@link I18nProviderProps}).
|
|
79
|
+
* @returns The rendered i18n provider element.
|
|
80
|
+
* @example
|
|
81
|
+
* ```tsx
|
|
82
|
+
* import { createReactI18nextProvider } from '@molecule/app-i18n-react-i18next'
|
|
83
|
+
*
|
|
84
|
+
* const i18n = createReactI18nextProvider()
|
|
85
|
+
*
|
|
86
|
+
* <I18nProvider provider={i18n}>
|
|
87
|
+
* <App />
|
|
88
|
+
* </I18nProvider>
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export function I18nProvider({ provider, children }) {
|
|
92
|
+
return _jsx(I18nContext.Provider, { value: provider, children: children });
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Provider for HTTP client.
|
|
96
|
+
*
|
|
97
|
+
* @param props - Component props (see {@link HttpProviderProps}).
|
|
98
|
+
* @returns The rendered HTTP provider element.
|
|
99
|
+
* @example
|
|
100
|
+
* ```tsx
|
|
101
|
+
* import { createAxiosClient } from '@molecule/app-http-axios'
|
|
102
|
+
*
|
|
103
|
+
* const httpClient = createAxiosClient({ baseURL: '/api' })
|
|
104
|
+
*
|
|
105
|
+
* <HttpProvider client={httpClient}>
|
|
106
|
+
* <App />
|
|
107
|
+
* </HttpProvider>
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
export function HttpProvider({ client, children }) {
|
|
111
|
+
return _jsx(HttpContext.Provider, { value: client, children: children });
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Provider for storage.
|
|
115
|
+
*
|
|
116
|
+
* @param props - Component props (see {@link StorageProviderProps}).
|
|
117
|
+
* @returns The rendered storage provider element.
|
|
118
|
+
* @example
|
|
119
|
+
* ```tsx
|
|
120
|
+
* import { provider } from '@molecule/app-storage-localstorage'
|
|
121
|
+
*
|
|
122
|
+
* <StorageProvider provider={provider}>
|
|
123
|
+
* <App />
|
|
124
|
+
* </StorageProvider>
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
export function StorageProvider({ provider, children }) {
|
|
128
|
+
return _jsx(StorageContext.Provider, { value: provider, children: children });
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Provider for logging.
|
|
132
|
+
*
|
|
133
|
+
* @param props - Component props (see {@link LoggerProviderProps}).
|
|
134
|
+
* @returns The rendered logger provider element.
|
|
135
|
+
* @example
|
|
136
|
+
* ```tsx
|
|
137
|
+
* import { createConsoleLoggerProvider } from '@molecule/app-logger'
|
|
138
|
+
*
|
|
139
|
+
* const loggerProvider = createConsoleLoggerProvider()
|
|
140
|
+
*
|
|
141
|
+
* <LoggerProvider provider={loggerProvider}>
|
|
142
|
+
* <App />
|
|
143
|
+
* </LoggerProvider>
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export function LoggerProvider({ provider, children }) {
|
|
147
|
+
return _jsx(LoggerContext.Provider, { value: provider, children: children });
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Provider for AI chat.
|
|
151
|
+
* @param props - Component props (see {@link ChatProviderProps}).
|
|
152
|
+
* @returns The rendered chat provider element.
|
|
153
|
+
*/
|
|
154
|
+
export function ChatProvider({ provider, children }) {
|
|
155
|
+
return _jsx(ChatContext.Provider, { value: provider, children: children });
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Provider for IDE workspace.
|
|
159
|
+
* @param props - Component props (see {@link WorkspaceProviderProps}).
|
|
160
|
+
* @returns The rendered workspace provider element.
|
|
161
|
+
*/
|
|
162
|
+
export function WorkspaceProvider({ provider, children, }) {
|
|
163
|
+
return _jsx(WorkspaceContext.Provider, { value: provider, children: children });
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Provider for code editor.
|
|
167
|
+
* @param props - Component props (see {@link EditorProviderProps}).
|
|
168
|
+
* @returns The rendered editor provider element.
|
|
169
|
+
*/
|
|
170
|
+
export function EditorProvider({ provider, children }) {
|
|
171
|
+
return _jsx(EditorContext.Provider, { value: provider, children: children });
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Provider for live preview.
|
|
175
|
+
* @param props - Component props (see {@link PreviewProviderProps}).
|
|
176
|
+
* @returns The rendered preview provider element.
|
|
177
|
+
*/
|
|
178
|
+
export function PreviewProvider({ provider, children }) {
|
|
179
|
+
return _jsx(PreviewContext.Provider, { value: provider, children: children });
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Combined provider for all molecule services.
|
|
183
|
+
*
|
|
184
|
+
* Provides a convenient way to wrap your app with all molecule providers at once.
|
|
185
|
+
* Only providers that are passed will be included.
|
|
186
|
+
*
|
|
187
|
+
* @param props - Component props (see {@link MoleculeProviderProps}) — each service is
|
|
188
|
+
* optional, and ONLY the services passed are provided to the tree.
|
|
189
|
+
* @returns The rendered combined provider element.
|
|
190
|
+
* @example
|
|
191
|
+
* ```tsx
|
|
192
|
+
* import { provider as stateProvider } from '@molecule/app-state-zustand'
|
|
193
|
+
* import { createJWTAuthClient } from '@molecule/app-auth'
|
|
194
|
+
* import { provider as themeProvider } from '@molecule/app-theme-css-variables'
|
|
195
|
+
*
|
|
196
|
+
* const authClient = createJWTAuthClient({ baseURL: '/api' })
|
|
197
|
+
*
|
|
198
|
+
* <MoleculeProvider
|
|
199
|
+
* state={stateProvider}
|
|
200
|
+
* auth={authClient}
|
|
201
|
+
* theme={themeProvider}
|
|
202
|
+
* >
|
|
203
|
+
* <App />
|
|
204
|
+
* </MoleculeProvider>
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
export function MoleculeProvider({ children, state, auth, theme, router, i18n, http, storage, logger, chat, workspace, editor, preview, }) {
|
|
208
|
+
// Build provider tree from inside out
|
|
209
|
+
let result = children;
|
|
210
|
+
if (preview) {
|
|
211
|
+
result = _jsx(PreviewContext.Provider, { value: preview, children: result });
|
|
212
|
+
}
|
|
213
|
+
if (editor) {
|
|
214
|
+
result = _jsx(EditorContext.Provider, { value: editor, children: result });
|
|
215
|
+
}
|
|
216
|
+
if (workspace) {
|
|
217
|
+
result = _jsx(WorkspaceContext.Provider, { value: workspace, children: result });
|
|
218
|
+
}
|
|
219
|
+
if (chat) {
|
|
220
|
+
result = _jsx(ChatContext.Provider, { value: chat, children: result });
|
|
221
|
+
}
|
|
222
|
+
if (logger) {
|
|
223
|
+
result = _jsx(LoggerContext.Provider, { value: logger, children: result });
|
|
224
|
+
}
|
|
225
|
+
if (storage) {
|
|
226
|
+
result = _jsx(StorageContext.Provider, { value: storage, children: result });
|
|
227
|
+
}
|
|
228
|
+
if (http) {
|
|
229
|
+
result = _jsx(HttpContext.Provider, { value: http, children: result });
|
|
230
|
+
}
|
|
231
|
+
if (i18n) {
|
|
232
|
+
result = _jsx(I18nContext.Provider, { value: i18n, children: result });
|
|
233
|
+
}
|
|
234
|
+
if (router) {
|
|
235
|
+
result = _jsx(RouterContext.Provider, { value: router, children: result });
|
|
236
|
+
}
|
|
237
|
+
if (theme) {
|
|
238
|
+
result = _jsx(ThemeContext.Provider, { value: theme, children: result });
|
|
239
|
+
}
|
|
240
|
+
if (auth) {
|
|
241
|
+
result = _jsx(AuthContext.Provider, { value: auth, children: result });
|
|
242
|
+
}
|
|
243
|
+
if (state) {
|
|
244
|
+
result = _jsx(StateContext.Provider, { value: state, children: result });
|
|
245
|
+
}
|
|
246
|
+
return _jsx(_Fragment, { children: result });
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.tsx"],"names":[],"mappings":"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"}
|