@23blocks/react 5.4.0 → 6.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/dist/index.esm.js
CHANGED
|
@@ -25,9 +25,9 @@ import { createUniversityBlock } from '@23blocks/block-university';
|
|
|
25
25
|
// Token Manager Implementation
|
|
26
26
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
27
27
|
/**
|
|
28
|
-
* Generate storage key scoped to
|
|
29
|
-
*/ function getStorageKey(type,
|
|
30
|
-
const scope = tenantId ? `${
|
|
28
|
+
* Generate storage key scoped to API key and tenant
|
|
29
|
+
*/ function getStorageKey(type, apiKey, tenantId) {
|
|
30
|
+
const scope = tenantId ? `${apiKey}_${tenantId}` : apiKey;
|
|
31
31
|
return `23blocks_${scope}_${type}_token`;
|
|
32
32
|
}
|
|
33
33
|
let MemoryStorage = class MemoryStorage {
|
|
@@ -47,10 +47,10 @@ let MemoryStorage = class MemoryStorage {
|
|
|
47
47
|
};
|
|
48
48
|
/**
|
|
49
49
|
* Create a sync token manager for web (localStorage, sessionStorage, memory)
|
|
50
|
-
*/ function createSyncTokenManager(
|
|
50
|
+
*/ function createSyncTokenManager(apiKey, storageType, tenantId) {
|
|
51
51
|
const isBrowser = typeof window !== 'undefined' && typeof window.localStorage !== 'undefined';
|
|
52
|
-
const accessTokenKey = getStorageKey('access',
|
|
53
|
-
const refreshTokenKey = getStorageKey('refresh',
|
|
52
|
+
const accessTokenKey = getStorageKey('access', apiKey, tenantId);
|
|
53
|
+
const refreshTokenKey = getStorageKey('refresh', apiKey, tenantId);
|
|
54
54
|
let storage;
|
|
55
55
|
if (!isBrowser) {
|
|
56
56
|
storage = new MemoryStorage();
|
|
@@ -122,9 +122,9 @@ let MemoryStorage = class MemoryStorage {
|
|
|
122
122
|
/**
|
|
123
123
|
* Create an async token manager for React Native with a sync cache.
|
|
124
124
|
* Uses a sync in-memory cache for immediate access while persisting to async storage.
|
|
125
|
-
*/ function createAsyncTokenManager(
|
|
126
|
-
const accessTokenKey = getStorageKey('access',
|
|
127
|
-
const refreshTokenKey = getStorageKey('refresh',
|
|
125
|
+
*/ function createAsyncTokenManager(apiKey, asyncStorage, tenantId, onReady) {
|
|
126
|
+
const accessTokenKey = getStorageKey('access', apiKey, tenantId);
|
|
127
|
+
const refreshTokenKey = getStorageKey('refresh', apiKey, tenantId);
|
|
128
128
|
// In-memory cache for sync access
|
|
129
129
|
let accessTokenCache = null;
|
|
130
130
|
let refreshTokenCache = null;
|
|
@@ -210,7 +210,7 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
|
|
|
210
210
|
* function App() {
|
|
211
211
|
* return (
|
|
212
212
|
* <Provider
|
|
213
|
-
*
|
|
213
|
+
* apiKey="your-api-key"
|
|
214
214
|
* urls={{
|
|
215
215
|
* authentication: 'https://gateway.23blocks.com',
|
|
216
216
|
* crm: 'https://crm.23blocks.com',
|
|
@@ -226,7 +226,7 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
|
|
|
226
226
|
* @example Cookie mode (recommended for security)
|
|
227
227
|
* ```tsx
|
|
228
228
|
* <Provider
|
|
229
|
-
*
|
|
229
|
+
* apiKey="your-api-key"
|
|
230
230
|
* authMode="cookie"
|
|
231
231
|
* urls={{
|
|
232
232
|
* authentication: 'https://gateway.23blocks.com',
|
|
@@ -242,7 +242,7 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
|
|
|
242
242
|
* import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
243
243
|
*
|
|
244
244
|
* <Provider
|
|
245
|
-
*
|
|
245
|
+
* apiKey="your-api-key"
|
|
246
246
|
* customStorage={AsyncStorage}
|
|
247
247
|
* urls={{
|
|
248
248
|
* authentication: 'https://gateway.23blocks.com',
|
|
@@ -263,7 +263,7 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
|
|
|
263
263
|
* };
|
|
264
264
|
*
|
|
265
265
|
* <Provider
|
|
266
|
-
*
|
|
266
|
+
* apiKey="your-api-key"
|
|
267
267
|
* customStorage={secureStorage}
|
|
268
268
|
* urls={{
|
|
269
269
|
* authentication: 'https://gateway.23blocks.com',
|
|
@@ -272,7 +272,7 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
|
|
|
272
272
|
* <App />
|
|
273
273
|
* </Provider>
|
|
274
274
|
* ```
|
|
275
|
-
*/ function Provider({ children, urls,
|
|
275
|
+
*/ function Provider({ children, urls, apiKey, tenantId, authMode = 'token', storage = 'localStorage', customStorage, headers: staticHeaders = {}, timeout }) {
|
|
276
276
|
// Track if async storage has loaded tokens
|
|
277
277
|
const [isReady, setIsReady] = useState(!customStorage);
|
|
278
278
|
const tokenManagerRef = useRef(null);
|
|
@@ -283,20 +283,20 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
|
|
|
283
283
|
}
|
|
284
284
|
if (customStorage) {
|
|
285
285
|
// Use async storage for React Native
|
|
286
|
-
const manager = createAsyncTokenManager(
|
|
286
|
+
const manager = createAsyncTokenManager(apiKey, customStorage, tenantId, ()=>{
|
|
287
287
|
setIsReady(true);
|
|
288
288
|
});
|
|
289
289
|
tokenManagerRef.current = manager;
|
|
290
290
|
return manager;
|
|
291
291
|
} else {
|
|
292
292
|
// Use sync storage for web
|
|
293
|
-
const manager = createSyncTokenManager(
|
|
293
|
+
const manager = createSyncTokenManager(apiKey, storage, tenantId);
|
|
294
294
|
tokenManagerRef.current = manager;
|
|
295
295
|
return manager;
|
|
296
296
|
}
|
|
297
297
|
}, [
|
|
298
298
|
authMode,
|
|
299
|
-
|
|
299
|
+
apiKey,
|
|
300
300
|
storage,
|
|
301
301
|
tenantId,
|
|
302
302
|
customStorage
|
|
@@ -309,7 +309,7 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
|
|
|
309
309
|
credentials: authMode === 'cookie' ? 'include' : undefined,
|
|
310
310
|
headers: ()=>{
|
|
311
311
|
const headers = _({}, staticHeaders, {
|
|
312
|
-
'
|
|
312
|
+
'api-key': apiKey
|
|
313
313
|
});
|
|
314
314
|
if (tenantId) {
|
|
315
315
|
headers['tenant-id'] = tenantId;
|
|
@@ -324,7 +324,7 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
|
|
|
324
324
|
}
|
|
325
325
|
});
|
|
326
326
|
}, [
|
|
327
|
-
|
|
327
|
+
apiKey,
|
|
328
328
|
tenantId,
|
|
329
329
|
authMode,
|
|
330
330
|
staticHeaders,
|
|
@@ -332,10 +332,10 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
|
|
|
332
332
|
]);
|
|
333
333
|
// Create blocks (memoized) - each with its own transport (no fallback)
|
|
334
334
|
const blockConfig = useMemo(()=>({
|
|
335
|
-
|
|
335
|
+
apiKey,
|
|
336
336
|
tenantId
|
|
337
337
|
}), [
|
|
338
|
-
|
|
338
|
+
apiKey,
|
|
339
339
|
tenantId
|
|
340
340
|
]);
|
|
341
341
|
// Create blocks only if URL is configured, otherwise use proxy that throws helpful error
|
|
@@ -823,10 +823,10 @@ const Blocks23ContextInternal = /*#__PURE__*/ createContext(null);
|
|
|
823
823
|
* return (
|
|
824
824
|
* <Blocks23Provider
|
|
825
825
|
* transport={transport}
|
|
826
|
-
* authentication={{
|
|
827
|
-
* search={{
|
|
828
|
-
* products={{
|
|
829
|
-
* crm={{
|
|
826
|
+
* authentication={{ apiKey: 'my-api-key' }}
|
|
827
|
+
* search={{ apiKey: 'my-api-key' }}
|
|
828
|
+
* products={{ apiKey: 'my-api-key' }}
|
|
829
|
+
* crm={{ apiKey: 'my-api-key' }}
|
|
830
830
|
* >
|
|
831
831
|
* <MyApp />
|
|
832
832
|
* </Blocks23Provider>
|
|
@@ -80,10 +80,10 @@ export interface Blocks23ProviderProps {
|
|
|
80
80
|
* return (
|
|
81
81
|
* <Blocks23Provider
|
|
82
82
|
* transport={transport}
|
|
83
|
-
* authentication={{
|
|
84
|
-
* search={{
|
|
85
|
-
* products={{
|
|
86
|
-
* crm={{
|
|
83
|
+
* authentication={{ apiKey: 'my-api-key' }}
|
|
84
|
+
* search={{ apiKey: 'my-api-key' }}
|
|
85
|
+
* products={{ apiKey: 'my-api-key' }}
|
|
86
|
+
* crm={{ apiKey: 'my-api-key' }}
|
|
87
87
|
* >
|
|
88
88
|
* <MyApp />
|
|
89
89
|
* </Blocks23Provider>
|
|
@@ -103,7 +103,7 @@ export interface ProviderProps {
|
|
|
103
103
|
* @example
|
|
104
104
|
* ```tsx
|
|
105
105
|
* <Provider
|
|
106
|
-
*
|
|
106
|
+
* apiKey="your-api-key"
|
|
107
107
|
* urls={{
|
|
108
108
|
* authentication: 'https://gateway.23blocks.com',
|
|
109
109
|
* crm: 'https://crm.23blocks.com',
|
|
@@ -116,9 +116,9 @@ export interface ProviderProps {
|
|
|
116
116
|
*/
|
|
117
117
|
urls: ServiceUrls;
|
|
118
118
|
/**
|
|
119
|
-
*
|
|
119
|
+
* API Key for authenticating with 23blocks services
|
|
120
120
|
*/
|
|
121
|
-
|
|
121
|
+
apiKey: string;
|
|
122
122
|
/**
|
|
123
123
|
* Tenant ID (optional, for multi-tenant setups)
|
|
124
124
|
*/
|
|
@@ -144,7 +144,7 @@ export interface ProviderProps {
|
|
|
144
144
|
* import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
145
145
|
*
|
|
146
146
|
* <Provider
|
|
147
|
-
*
|
|
147
|
+
* apiKey="your-api-key"
|
|
148
148
|
* customStorage={AsyncStorage}
|
|
149
149
|
* urls={{ authentication: 'https://api.example.com' }}
|
|
150
150
|
* >
|
|
@@ -163,7 +163,7 @@ export interface ProviderProps {
|
|
|
163
163
|
* };
|
|
164
164
|
*
|
|
165
165
|
* <Provider
|
|
166
|
-
*
|
|
166
|
+
* apiKey="your-api-key"
|
|
167
167
|
* customStorage={secureStorage}
|
|
168
168
|
* urls={{ authentication: 'https://api.example.com' }}
|
|
169
169
|
* >
|
|
@@ -241,7 +241,7 @@ export interface ClientContext {
|
|
|
241
241
|
* function App() {
|
|
242
242
|
* return (
|
|
243
243
|
* <Provider
|
|
244
|
-
*
|
|
244
|
+
* apiKey="your-api-key"
|
|
245
245
|
* urls={{
|
|
246
246
|
* authentication: 'https://gateway.23blocks.com',
|
|
247
247
|
* crm: 'https://crm.23blocks.com',
|
|
@@ -257,7 +257,7 @@ export interface ClientContext {
|
|
|
257
257
|
* @example Cookie mode (recommended for security)
|
|
258
258
|
* ```tsx
|
|
259
259
|
* <Provider
|
|
260
|
-
*
|
|
260
|
+
* apiKey="your-api-key"
|
|
261
261
|
* authMode="cookie"
|
|
262
262
|
* urls={{
|
|
263
263
|
* authentication: 'https://gateway.23blocks.com',
|
|
@@ -273,7 +273,7 @@ export interface ClientContext {
|
|
|
273
273
|
* import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
274
274
|
*
|
|
275
275
|
* <Provider
|
|
276
|
-
*
|
|
276
|
+
* apiKey="your-api-key"
|
|
277
277
|
* customStorage={AsyncStorage}
|
|
278
278
|
* urls={{
|
|
279
279
|
* authentication: 'https://gateway.23blocks.com',
|
|
@@ -294,7 +294,7 @@ export interface ClientContext {
|
|
|
294
294
|
* };
|
|
295
295
|
*
|
|
296
296
|
* <Provider
|
|
297
|
-
*
|
|
297
|
+
* apiKey="your-api-key"
|
|
298
298
|
* customStorage={secureStorage}
|
|
299
299
|
* urls={{
|
|
300
300
|
* authentication: 'https://gateway.23blocks.com',
|
|
@@ -304,7 +304,7 @@ export interface ClientContext {
|
|
|
304
304
|
* </Provider>
|
|
305
305
|
* ```
|
|
306
306
|
*/
|
|
307
|
-
export declare function Provider({ children, urls,
|
|
307
|
+
export declare function Provider({ children, urls, apiKey, tenantId, authMode, storage, customStorage, headers: staticHeaders, timeout, }: ProviderProps): any;
|
|
308
308
|
/**
|
|
309
309
|
* Hook to access all 23blocks services.
|
|
310
310
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/simple-provider.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"simple-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/simple-provider.tsx"],"names":[],"mappings":"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"}
|