@23blocks/react 2.0.0 → 3.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
@@ -1,6 +1,6 @@
1
1
  import { _ } from '@swc/helpers/_/_extends';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { useMemo, useCallback, createContext, useContext, useState } from 'react';
3
+ import { useState, useRef, useMemo, useCallback, createContext, useContext } from 'react';
4
4
  import { createHttpTransport } from '@23blocks/transport-http';
5
5
  import { createAuthenticationBlock } from '@23blocks/block-authentication';
6
6
  import { createSearchBlock } from '@23blocks/block-search';
@@ -45,7 +45,9 @@ let MemoryStorage = class MemoryStorage {
45
45
  this.data = new Map();
46
46
  }
47
47
  };
48
- function createTokenManager(appId, storageType, tenantId) {
48
+ /**
49
+ * Create a sync token manager for web (localStorage, sessionStorage, memory)
50
+ */ function createSyncTokenManager(appId, storageType, tenantId) {
49
51
  const isBrowser = typeof window !== 'undefined' && typeof window.localStorage !== 'undefined';
50
52
  const accessTokenKey = getStorageKey('access', appId, tenantId);
51
53
  const refreshTokenKey = getStorageKey('refresh', appId, tenantId);
@@ -117,6 +119,65 @@ function createTokenManager(appId, storageType, tenantId) {
117
119
  }
118
120
  };
119
121
  }
122
+ /**
123
+ * Create an async token manager for React Native with a sync cache.
124
+ * Uses a sync in-memory cache for immediate access while persisting to async storage.
125
+ */ function createAsyncTokenManager(appId, asyncStorage, tenantId, onReady) {
126
+ const accessTokenKey = getStorageKey('access', appId, tenantId);
127
+ const refreshTokenKey = getStorageKey('refresh', appId, tenantId);
128
+ // In-memory cache for sync access
129
+ let accessTokenCache = null;
130
+ let refreshTokenCache = null;
131
+ // Load tokens from async storage on initialization
132
+ Promise.all([
133
+ asyncStorage.getItem(accessTokenKey),
134
+ asyncStorage.getItem(refreshTokenKey)
135
+ ]).then(([accessToken, refreshToken])=>{
136
+ accessTokenCache = accessToken;
137
+ refreshTokenCache = refreshToken;
138
+ onReady == null ? void 0 : onReady();
139
+ }).catch((error)=>{
140
+ console.warn('[23blocks] Failed to load tokens from storage:', error);
141
+ onReady == null ? void 0 : onReady();
142
+ });
143
+ return {
144
+ getAccessToken () {
145
+ return accessTokenCache;
146
+ },
147
+ getRefreshToken () {
148
+ return refreshTokenCache;
149
+ },
150
+ setTokens (accessToken, refreshToken) {
151
+ // Update cache immediately for sync access
152
+ accessTokenCache = accessToken;
153
+ if (refreshToken !== undefined) {
154
+ refreshTokenCache = refreshToken;
155
+ }
156
+ // Persist to async storage (fire and forget with error logging)
157
+ asyncStorage.setItem(accessTokenKey, accessToken).catch((error)=>{
158
+ console.warn('[23blocks] Failed to persist access token:', error);
159
+ });
160
+ if (refreshToken) {
161
+ asyncStorage.setItem(refreshTokenKey, refreshToken).catch((error)=>{
162
+ console.warn('[23blocks] Failed to persist refresh token:', error);
163
+ });
164
+ }
165
+ },
166
+ clearTokens () {
167
+ // Clear cache immediately
168
+ accessTokenCache = null;
169
+ refreshTokenCache = null;
170
+ // Clear from async storage (fire and forget)
171
+ asyncStorage.removeItem(accessTokenKey).catch(()=>{});
172
+ asyncStorage.removeItem(refreshTokenKey).catch(()=>{});
173
+ },
174
+ onStorageChange (_callback) {
175
+ // Async storage doesn't support cross-tab events
176
+ // For React Native, this is typically not needed anyway
177
+ return ()=>{};
178
+ }
179
+ };
180
+ }
120
181
  // ─────────────────────────────────────────────────────────────────────────────
121
182
  // Context
122
183
  // ─────────────────────────────────────────────────────────────────────────────
@@ -175,13 +236,70 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
175
236
  * <MyApp />
176
237
  * </Provider>
177
238
  * ```
178
- */ function Provider({ children, urls, appId, tenantId, authMode = 'token', storage = 'localStorage', headers: staticHeaders = {}, timeout }) {
239
+ *
240
+ * @example React Native with AsyncStorage
241
+ * ```tsx
242
+ * import AsyncStorage from '@react-native-async-storage/async-storage';
243
+ *
244
+ * <Provider
245
+ * appId="your-app-id"
246
+ * customStorage={AsyncStorage}
247
+ * urls={{
248
+ * authentication: 'https://gateway.23blocks.com',
249
+ * }}
250
+ * >
251
+ * <App />
252
+ * </Provider>
253
+ * ```
254
+ *
255
+ * @example React Native with Expo SecureStore (recommended for sensitive data)
256
+ * ```tsx
257
+ * import * as SecureStore from 'expo-secure-store';
258
+ *
259
+ * const secureStorage = {
260
+ * getItem: SecureStore.getItemAsync,
261
+ * setItem: SecureStore.setItemAsync,
262
+ * removeItem: SecureStore.deleteItemAsync,
263
+ * };
264
+ *
265
+ * <Provider
266
+ * appId="your-app-id"
267
+ * customStorage={secureStorage}
268
+ * urls={{
269
+ * authentication: 'https://gateway.23blocks.com',
270
+ * }}
271
+ * >
272
+ * <App />
273
+ * </Provider>
274
+ * ```
275
+ */ function Provider({ children, urls, appId, tenantId, authMode = 'token', storage = 'localStorage', customStorage, headers: staticHeaders = {}, timeout }) {
276
+ // Track if async storage has loaded tokens
277
+ const [isReady, setIsReady] = useState(!customStorage);
278
+ const tokenManagerRef = useRef(null);
179
279
  // Create token manager (memoized) with scoped storage keys
180
- const tokenManager = useMemo(()=>authMode === 'token' ? createTokenManager(appId, storage, tenantId) : null, [
280
+ const tokenManager = useMemo(()=>{
281
+ if (authMode !== 'token') {
282
+ return null;
283
+ }
284
+ if (customStorage) {
285
+ // Use async storage for React Native
286
+ const manager = createAsyncTokenManager(appId, customStorage, tenantId, ()=>{
287
+ setIsReady(true);
288
+ });
289
+ tokenManagerRef.current = manager;
290
+ return manager;
291
+ } else {
292
+ // Use sync storage for web
293
+ const manager = createSyncTokenManager(appId, storage, tenantId);
294
+ tokenManagerRef.current = manager;
295
+ return manager;
296
+ }
297
+ }, [
181
298
  authMode,
182
299
  appId,
183
300
  storage,
184
- tenantId
301
+ tenantId,
302
+ customStorage
185
303
  ]);
186
304
  // Factory to create transport for a specific service URL
187
305
  const createServiceTransport = useCallback((baseUrl)=>{
@@ -196,8 +314,8 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
196
314
  if (tenantId) {
197
315
  headers['tenant-id'] = tenantId;
198
316
  }
199
- if (authMode === 'token' && tokenManager) {
200
- const token = tokenManager.getAccessToken();
317
+ if (authMode === 'token' && tokenManagerRef.current) {
318
+ const token = tokenManagerRef.current.getAccessToken();
201
319
  if (token) {
202
320
  headers['Authorization'] = `Bearer ${token}`;
203
321
  }
@@ -210,8 +328,7 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
210
328
  tenantId,
211
329
  authMode,
212
330
  staticHeaders,
213
- timeout,
214
- tokenManager
331
+ timeout
215
332
  ]);
216
333
  // Create blocks (memoized) - each with its own transport (no fallback)
217
334
  const blockConfig = useMemo(()=>({
@@ -515,7 +632,8 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
515
632
  isAuthenticated,
516
633
  onStorageChange,
517
634
  // Config
518
- authMode
635
+ authMode,
636
+ isReady
519
637
  }), [
520
638
  authentication,
521
639
  search,
@@ -544,7 +662,8 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
544
662
  clearTokens,
545
663
  isAuthenticated,
546
664
  onStorageChange,
547
- authMode
665
+ authMode,
666
+ isReady
548
667
  ]);
549
668
  return jsx(Blocks23Context.Provider, {
550
669
  value: value,
@@ -598,6 +717,19 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
598
717
  * );
599
718
  * }
600
719
  * ```
720
+ *
721
+ * @example React Native - wait for tokens to load
722
+ * ```tsx
723
+ * function App() {
724
+ * const { isReady, isAuthenticated } = useAuth();
725
+ *
726
+ * if (!isReady) {
727
+ * return <LoadingScreen />;
728
+ * }
729
+ *
730
+ * return isAuthenticated() ? <HomeScreen /> : <LoginScreen />;
731
+ * }
732
+ * ```
601
733
  */ function useAuth$1() {
602
734
  const context = useClient();
603
735
  return {
@@ -610,7 +742,8 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
610
742
  clearTokens: context.clearTokens,
611
743
  isAuthenticated: context.isAuthenticated,
612
744
  onStorageChange: context.onStorageChange,
613
- authentication: context.authentication
745
+ authentication: context.authentication,
746
+ isReady: context.isReady
614
747
  };
615
748
  }
616
749
  // ─────────────────────────────────────────────────────────────────────────────
@@ -25,6 +25,15 @@ export type AuthMode = 'token' | 'cookie';
25
25
  * Storage type for token mode
26
26
  */
27
27
  export type StorageType = 'localStorage' | 'sessionStorage' | 'memory';
28
+ /**
29
+ * Async storage interface for React Native compatibility.
30
+ * Compatible with @react-native-async-storage/async-storage and expo-secure-store.
31
+ */
32
+ export interface AsyncStorageInterface {
33
+ getItem(key: string): Promise<string | null>;
34
+ setItem(key: string, value: string): Promise<void>;
35
+ removeItem(key: string): Promise<void>;
36
+ }
28
37
  /**
29
38
  * Token manager interface
30
39
  */
@@ -121,10 +130,48 @@ export interface ProviderProps {
121
130
  */
122
131
  authMode?: AuthMode;
123
132
  /**
124
- * Storage type for token mode
133
+ * Storage type for token mode (ignored if customStorage is provided)
125
134
  * @default 'localStorage'
126
135
  */
127
136
  storage?: StorageType;
137
+ /**
138
+ * Custom async storage for React Native.
139
+ * When provided, this takes precedence over the `storage` prop.
140
+ * Compatible with @react-native-async-storage/async-storage and expo-secure-store.
141
+ *
142
+ * @example React Native with AsyncStorage
143
+ * ```tsx
144
+ * import AsyncStorage from '@react-native-async-storage/async-storage';
145
+ *
146
+ * <Provider
147
+ * appId="your-app-id"
148
+ * customStorage={AsyncStorage}
149
+ * urls={{ authentication: 'https://api.example.com' }}
150
+ * >
151
+ * <App />
152
+ * </Provider>
153
+ * ```
154
+ *
155
+ * @example React Native with Expo SecureStore
156
+ * ```tsx
157
+ * import * as SecureStore from 'expo-secure-store';
158
+ *
159
+ * const secureStorage = {
160
+ * getItem: SecureStore.getItemAsync,
161
+ * setItem: SecureStore.setItemAsync,
162
+ * removeItem: SecureStore.deleteItemAsync,
163
+ * };
164
+ *
165
+ * <Provider
166
+ * appId="your-app-id"
167
+ * customStorage={secureStorage}
168
+ * urls={{ authentication: 'https://api.example.com' }}
169
+ * >
170
+ * <App />
171
+ * </Provider>
172
+ * ```
173
+ */
174
+ customStorage?: AsyncStorageInterface;
128
175
  /**
129
176
  * Additional headers to include with every request
130
177
  */
@@ -171,6 +218,12 @@ export interface ClientContext {
171
218
  */
172
219
  onStorageChange: (callback: () => void) => () => void;
173
220
  authMode: AuthMode;
221
+ /**
222
+ * Whether the provider has finished loading tokens from async storage.
223
+ * Always true for sync storage (localStorage, sessionStorage, memory).
224
+ * For React Native with customStorage, this is false until tokens are loaded.
225
+ */
226
+ isReady: boolean;
174
227
  }
175
228
  /**
176
229
  * Provider component for 23blocks services.
@@ -214,8 +267,44 @@ export interface ClientContext {
214
267
  * <MyApp />
215
268
  * </Provider>
216
269
  * ```
270
+ *
271
+ * @example React Native with AsyncStorage
272
+ * ```tsx
273
+ * import AsyncStorage from '@react-native-async-storage/async-storage';
274
+ *
275
+ * <Provider
276
+ * appId="your-app-id"
277
+ * customStorage={AsyncStorage}
278
+ * urls={{
279
+ * authentication: 'https://gateway.23blocks.com',
280
+ * }}
281
+ * >
282
+ * <App />
283
+ * </Provider>
284
+ * ```
285
+ *
286
+ * @example React Native with Expo SecureStore (recommended for sensitive data)
287
+ * ```tsx
288
+ * import * as SecureStore from 'expo-secure-store';
289
+ *
290
+ * const secureStorage = {
291
+ * getItem: SecureStore.getItemAsync,
292
+ * setItem: SecureStore.setItemAsync,
293
+ * removeItem: SecureStore.deleteItemAsync,
294
+ * };
295
+ *
296
+ * <Provider
297
+ * appId="your-app-id"
298
+ * customStorage={secureStorage}
299
+ * urls={{
300
+ * authentication: 'https://gateway.23blocks.com',
301
+ * }}
302
+ * >
303
+ * <App />
304
+ * </Provider>
305
+ * ```
217
306
  */
218
- export declare function Provider({ children, urls, appId, tenantId, authMode, storage, headers: staticHeaders, timeout, }: ProviderProps): any;
307
+ export declare function Provider({ children, urls, appId, tenantId, authMode, storage, customStorage, headers: staticHeaders, timeout, }: ProviderProps): any;
219
308
  /**
220
309
  * Hook to access all 23blocks services.
221
310
  *
@@ -255,6 +344,19 @@ export declare function useClient(): ClientContext;
255
344
  * );
256
345
  * }
257
346
  * ```
347
+ *
348
+ * @example React Native - wait for tokens to load
349
+ * ```tsx
350
+ * function App() {
351
+ * const { isReady, isAuthenticated } = useAuth();
352
+ *
353
+ * if (!isReady) {
354
+ * return <LoadingScreen />;
355
+ * }
356
+ *
357
+ * return isAuthenticated() ? <HomeScreen /> : <LoginScreen />;
358
+ * }
359
+ * ```
258
360
  */
259
361
  export declare function useAuth(): {
260
362
  signIn: (request: SignInRequest) => Promise<SignInResponse>;
@@ -267,6 +369,7 @@ export declare function useAuth(): {
267
369
  isAuthenticated: () => boolean | null;
268
370
  onStorageChange: (callback: () => void) => () => void;
269
371
  authentication: AuthenticationBlock;
372
+ isReady: boolean;
270
373
  };
271
374
  /** @deprecated Use `Provider` instead */
272
375
  export declare const SimpleBlocks23Provider: typeof Provider;
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@23blocks/react",
3
- "version": "2.0.0",
3
+ "version": "3.0.0",
4
4
  "description": "React bindings for 23blocks SDK - hooks and context providers",
5
5
  "license": "MIT",
6
6
  "author": "23blocks <hello@23blocks.com>",