@23blocks/react 1.1.1 → 1.1.2
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/lib/context.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import { createContext, useContext, useMemo } from 'react';
|
|
2
3
|
import { createAuthenticationBlock } from '@23blocks/block-authentication';
|
|
3
4
|
import { createSearchBlock } from '@23blocks/block-search';
|
|
@@ -95,9 +96,10 @@ const Blocks23ContextInternal = /*#__PURE__*/ createContext(null);
|
|
|
95
96
|
onboarding,
|
|
96
97
|
university
|
|
97
98
|
]);
|
|
98
|
-
return /*#__PURE__*/
|
|
99
|
-
value: value
|
|
100
|
-
|
|
99
|
+
return /*#__PURE__*/ _jsx(Blocks23ContextInternal.Provider, {
|
|
100
|
+
value: value,
|
|
101
|
+
children: children
|
|
102
|
+
});
|
|
101
103
|
}
|
|
102
104
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
103
105
|
// Context Hook
|
package/dist/lib/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/context.tsx"],"sourcesContent":["import { createContext, useContext, useMemo, type ReactNode } from 'react';\nimport type { Transport, BlockConfig } from '@23blocks/contracts';\nimport { createAuthenticationBlock, type AuthenticationBlock, type AuthenticationBlockConfig } from '@23blocks/block-authentication';\nimport { createSearchBlock, type SearchBlock, type SearchBlockConfig } from '@23blocks/block-search';\nimport { createProductsBlock, type ProductsBlock, type ProductsBlockConfig } from '@23blocks/block-products';\nimport { createCrmBlock, type CrmBlock, type CrmBlockConfig } from '@23blocks/block-crm';\nimport { createContentBlock, type ContentBlock, type ContentBlockConfig } from '@23blocks/block-content';\nimport { createGeolocationBlock, type GeolocationBlock, type GeolocationBlockConfig } from '@23blocks/block-geolocation';\nimport { createConversationsBlock, type ConversationsBlock, type ConversationsBlockConfig } from '@23blocks/block-conversations';\nimport { createFilesBlock, type FilesBlock, type FilesBlockConfig } from '@23blocks/block-files';\nimport { createFormsBlock, type FormsBlock, type FormsBlockConfig } from '@23blocks/block-forms';\nimport { createAssetsBlock, type AssetsBlock, type AssetsBlockConfig } from '@23blocks/block-assets';\nimport { createCampaignsBlock, type CampaignsBlock, type CampaignsBlockConfig } from '@23blocks/block-campaigns';\nimport { createCompanyBlock, type CompanyBlock, type CompanyBlockConfig } from '@23blocks/block-company';\nimport { createRewardsBlock, type RewardsBlock, type RewardsBlockConfig } from '@23blocks/block-rewards';\nimport { createSalesBlock, type SalesBlock, type SalesBlockConfig } from '@23blocks/block-sales';\nimport { createWalletBlock, type WalletBlock, type WalletBlockConfig } from '@23blocks/block-wallet';\nimport { createJarvisBlock, type JarvisBlock, type JarvisBlockConfig } from '@23blocks/block-jarvis';\nimport { createOnboardingBlock, type OnboardingBlock, type OnboardingBlockConfig } from '@23blocks/block-onboarding';\nimport { createUniversityBlock, type UniversityBlock, type UniversityBlockConfig } from '@23blocks/block-university';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Context Types\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface Blocks23Context {\n transport: Transport;\n authentication: AuthenticationBlock | null;\n search: SearchBlock | null;\n products: ProductsBlock | null;\n crm: CrmBlock | null;\n content: ContentBlock | null;\n geolocation: GeolocationBlock | null;\n conversations: ConversationsBlock | null;\n files: FilesBlock | null;\n forms: FormsBlock | null;\n assets: AssetsBlock | null;\n campaigns: CampaignsBlock | null;\n company: CompanyBlock | null;\n rewards: RewardsBlock | null;\n sales: SalesBlock | null;\n wallet: WalletBlock | null;\n jarvis: JarvisBlock | null;\n onboarding: OnboardingBlock | null;\n university: UniversityBlock | null;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Context\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst Blocks23ContextInternal = createContext<Blocks23Context | null>(null);\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Props\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface Blocks23ProviderProps {\n children: ReactNode;\n transport: Transport;\n authentication?: AuthenticationBlockConfig;\n search?: SearchBlockConfig;\n products?: ProductsBlockConfig;\n crm?: CrmBlockConfig;\n content?: ContentBlockConfig;\n geolocation?: GeolocationBlockConfig;\n conversations?: ConversationsBlockConfig;\n files?: FilesBlockConfig;\n forms?: FormsBlockConfig;\n assets?: AssetsBlockConfig;\n campaigns?: CampaignsBlockConfig;\n company?: CompanyBlockConfig;\n rewards?: RewardsBlockConfig;\n sales?: SalesBlockConfig;\n wallet?: WalletBlockConfig;\n jarvis?: JarvisBlockConfig;\n onboarding?: OnboardingBlockConfig;\n university?: UniversityBlockConfig;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Component\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Provider component for 23blocks services.\n *\n * @example\n * ```tsx\n * import { Blocks23Provider } from '@23blocks/react';\n * import { createHttpTransport } from '@23blocks/transport-http';\n *\n * const transport = createHttpTransport({\n * baseUrl: 'https://api.example.com',\n * headers: () => ({\n * 'Authorization': `Bearer ${localStorage.getItem('token')}`,\n * }),\n * });\n *\n * function App() {\n * return (\n * <Blocks23Provider\n * transport={transport}\n * authentication={{ appId: 'my-app' }}\n * search={{ appId: 'my-app' }}\n * products={{ appId: 'my-app' }}\n * crm={{ appId: 'my-app' }}\n * >\n * <MyApp />\n * </Blocks23Provider>\n * );\n * }\n * ```\n */\nexport function Blocks23Provider({\n children,\n transport,\n authentication,\n search,\n products,\n crm,\n content,\n geolocation,\n conversations,\n files,\n forms,\n assets,\n campaigns,\n company,\n rewards,\n sales,\n wallet,\n jarvis,\n onboarding,\n university,\n}: Blocks23ProviderProps) {\n const value = useMemo<Blocks23Context>(() => ({\n transport,\n authentication: authentication ? createAuthenticationBlock(transport, authentication) : null,\n search: search ? createSearchBlock(transport, search) : null,\n products: products ? createProductsBlock(transport, products) : null,\n crm: crm ? createCrmBlock(transport, crm) : null,\n content: content ? createContentBlock(transport, content) : null,\n geolocation: geolocation ? createGeolocationBlock(transport, geolocation) : null,\n conversations: conversations ? createConversationsBlock(transport, conversations) : null,\n files: files ? createFilesBlock(transport, files) : null,\n forms: forms ? createFormsBlock(transport, forms) : null,\n assets: assets ? createAssetsBlock(transport, assets) : null,\n campaigns: campaigns ? createCampaignsBlock(transport, campaigns) : null,\n company: company ? createCompanyBlock(transport, company) : null,\n rewards: rewards ? createRewardsBlock(transport, rewards) : null,\n sales: sales ? createSalesBlock(transport, sales) : null,\n wallet: wallet ? createWalletBlock(transport, wallet) : null,\n jarvis: jarvis ? createJarvisBlock(transport, jarvis) : null,\n onboarding: onboarding ? createOnboardingBlock(transport, onboarding) : null,\n university: university ? createUniversityBlock(transport, university) : null,\n }), [transport, authentication, search, products, crm, content, geolocation, conversations, files, forms, assets, campaigns, company, rewards, sales, wallet, jarvis, onboarding, university]);\n\n return (\n <Blocks23ContextInternal.Provider value={value}>\n {children}\n </Blocks23ContextInternal.Provider>\n );\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Context Hook\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function use23Blocks(): Blocks23Context {\n const context = useContext(Blocks23ContextInternal);\n if (!context) {\n throw new Error('use23Blocks must be used within a Blocks23Provider');\n }\n return context;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Block-specific hooks\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function useAuthenticationBlock(): AuthenticationBlock {\n const { authentication } = use23Blocks();\n if (!authentication) throw new Error('Authentication block not configured. Pass `authentication` prop to Blocks23Provider.');\n return authentication;\n}\n\nexport function useSearchBlock(): SearchBlock {\n const { search } = use23Blocks();\n if (!search) throw new Error('Search block not configured. Pass `search` prop to Blocks23Provider.');\n return search;\n}\n\nexport function useProductsBlock(): ProductsBlock {\n const { products } = use23Blocks();\n if (!products) throw new Error('Products block not configured. Pass `products` prop to Blocks23Provider.');\n return products;\n}\n\nexport function useCrmBlock(): CrmBlock {\n const { crm } = use23Blocks();\n if (!crm) throw new Error('CRM block not configured. Pass `crm` prop to Blocks23Provider.');\n return crm;\n}\n\nexport function useContentBlock(): ContentBlock {\n const { content } = use23Blocks();\n if (!content) throw new Error('Content block not configured. Pass `content` prop to Blocks23Provider.');\n return content;\n}\n\nexport function useGeolocationBlock(): GeolocationBlock {\n const { geolocation } = use23Blocks();\n if (!geolocation) throw new Error('Geolocation block not configured. Pass `geolocation` prop to Blocks23Provider.');\n return geolocation;\n}\n\nexport function useConversationsBlock(): ConversationsBlock {\n const { conversations } = use23Blocks();\n if (!conversations) throw new Error('Conversations block not configured. Pass `conversations` prop to Blocks23Provider.');\n return conversations;\n}\n\nexport function useFilesBlock(): FilesBlock {\n const { files } = use23Blocks();\n if (!files) throw new Error('Files block not configured. Pass `files` prop to Blocks23Provider.');\n return files;\n}\n\nexport function useFormsBlock(): FormsBlock {\n const { forms } = use23Blocks();\n if (!forms) throw new Error('Forms block not configured. Pass `forms` prop to Blocks23Provider.');\n return forms;\n}\n\nexport function useAssetsBlock(): AssetsBlock {\n const { assets } = use23Blocks();\n if (!assets) throw new Error('Assets block not configured. Pass `assets` prop to Blocks23Provider.');\n return assets;\n}\n\nexport function useCampaignsBlock(): CampaignsBlock {\n const { campaigns } = use23Blocks();\n if (!campaigns) throw new Error('Campaigns block not configured. Pass `campaigns` prop to Blocks23Provider.');\n return campaigns;\n}\n\nexport function useCompanyBlock(): CompanyBlock {\n const { company } = use23Blocks();\n if (!company) throw new Error('Company block not configured. Pass `company` prop to Blocks23Provider.');\n return company;\n}\n\nexport function useRewardsBlock(): RewardsBlock {\n const { rewards } = use23Blocks();\n if (!rewards) throw new Error('Rewards block not configured. Pass `rewards` prop to Blocks23Provider.');\n return rewards;\n}\n\nexport function useSalesBlock(): SalesBlock {\n const { sales } = use23Blocks();\n if (!sales) throw new Error('Sales block not configured. Pass `sales` prop to Blocks23Provider.');\n return sales;\n}\n\nexport function useWalletBlock(): WalletBlock {\n const { wallet } = use23Blocks();\n if (!wallet) throw new Error('Wallet block not configured. Pass `wallet` prop to Blocks23Provider.');\n return wallet;\n}\n\nexport function useJarvisBlock(): JarvisBlock {\n const { jarvis } = use23Blocks();\n if (!jarvis) throw new Error('Jarvis block not configured. Pass `jarvis` prop to Blocks23Provider.');\n return jarvis;\n}\n\nexport function useOnboardingBlock(): OnboardingBlock {\n const { onboarding } = use23Blocks();\n if (!onboarding) throw new Error('Onboarding block not configured. Pass `onboarding` prop to Blocks23Provider.');\n return onboarding;\n}\n\nexport function useUniversityBlock(): UniversityBlock {\n const { university } = use23Blocks();\n if (!university) throw new Error('University block not configured. Pass `university` prop to Blocks23Provider.');\n return university;\n}\n"],"names":["createContext","useContext","useMemo","createAuthenticationBlock","createSearchBlock","createProductsBlock","createCrmBlock","createContentBlock","createGeolocationBlock","createConversationsBlock","createFilesBlock","createFormsBlock","createAssetsBlock","createCampaignsBlock","createCompanyBlock","createRewardsBlock","createSalesBlock","createWalletBlock","createJarvisBlock","createOnboardingBlock","createUniversityBlock","Blocks23ContextInternal","Blocks23Provider","children","transport","authentication","search","products","crm","content","geolocation","conversations","files","forms","assets","campaigns","company","rewards","sales","wallet","jarvis","onboarding","university","value","Provider","use23Blocks","context","Error","useAuthenticationBlock","useSearchBlock","useProductsBlock","useCrmBlock","useContentBlock","useGeolocationBlock","useConversationsBlock","useFilesBlock","useFormsBlock","useAssetsBlock","useCampaignsBlock","useCompanyBlock","useRewardsBlock","useSalesBlock","useWalletBlock","useJarvisBlock","useOnboardingBlock","useUniversityBlock"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/context.tsx"],"sourcesContent":["import { createContext, useContext, useMemo, type ReactNode } from 'react';\nimport type { Transport, BlockConfig } from '@23blocks/contracts';\nimport { createAuthenticationBlock, type AuthenticationBlock, type AuthenticationBlockConfig } from '@23blocks/block-authentication';\nimport { createSearchBlock, type SearchBlock, type SearchBlockConfig } from '@23blocks/block-search';\nimport { createProductsBlock, type ProductsBlock, type ProductsBlockConfig } from '@23blocks/block-products';\nimport { createCrmBlock, type CrmBlock, type CrmBlockConfig } from '@23blocks/block-crm';\nimport { createContentBlock, type ContentBlock, type ContentBlockConfig } from '@23blocks/block-content';\nimport { createGeolocationBlock, type GeolocationBlock, type GeolocationBlockConfig } from '@23blocks/block-geolocation';\nimport { createConversationsBlock, type ConversationsBlock, type ConversationsBlockConfig } from '@23blocks/block-conversations';\nimport { createFilesBlock, type FilesBlock, type FilesBlockConfig } from '@23blocks/block-files';\nimport { createFormsBlock, type FormsBlock, type FormsBlockConfig } from '@23blocks/block-forms';\nimport { createAssetsBlock, type AssetsBlock, type AssetsBlockConfig } from '@23blocks/block-assets';\nimport { createCampaignsBlock, type CampaignsBlock, type CampaignsBlockConfig } from '@23blocks/block-campaigns';\nimport { createCompanyBlock, type CompanyBlock, type CompanyBlockConfig } from '@23blocks/block-company';\nimport { createRewardsBlock, type RewardsBlock, type RewardsBlockConfig } from '@23blocks/block-rewards';\nimport { createSalesBlock, type SalesBlock, type SalesBlockConfig } from '@23blocks/block-sales';\nimport { createWalletBlock, type WalletBlock, type WalletBlockConfig } from '@23blocks/block-wallet';\nimport { createJarvisBlock, type JarvisBlock, type JarvisBlockConfig } from '@23blocks/block-jarvis';\nimport { createOnboardingBlock, type OnboardingBlock, type OnboardingBlockConfig } from '@23blocks/block-onboarding';\nimport { createUniversityBlock, type UniversityBlock, type UniversityBlockConfig } from '@23blocks/block-university';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Context Types\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface Blocks23Context {\n transport: Transport;\n authentication: AuthenticationBlock | null;\n search: SearchBlock | null;\n products: ProductsBlock | null;\n crm: CrmBlock | null;\n content: ContentBlock | null;\n geolocation: GeolocationBlock | null;\n conversations: ConversationsBlock | null;\n files: FilesBlock | null;\n forms: FormsBlock | null;\n assets: AssetsBlock | null;\n campaigns: CampaignsBlock | null;\n company: CompanyBlock | null;\n rewards: RewardsBlock | null;\n sales: SalesBlock | null;\n wallet: WalletBlock | null;\n jarvis: JarvisBlock | null;\n onboarding: OnboardingBlock | null;\n university: UniversityBlock | null;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Context\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst Blocks23ContextInternal = createContext<Blocks23Context | null>(null);\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Props\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface Blocks23ProviderProps {\n children: ReactNode;\n transport: Transport;\n authentication?: AuthenticationBlockConfig;\n search?: SearchBlockConfig;\n products?: ProductsBlockConfig;\n crm?: CrmBlockConfig;\n content?: ContentBlockConfig;\n geolocation?: GeolocationBlockConfig;\n conversations?: ConversationsBlockConfig;\n files?: FilesBlockConfig;\n forms?: FormsBlockConfig;\n assets?: AssetsBlockConfig;\n campaigns?: CampaignsBlockConfig;\n company?: CompanyBlockConfig;\n rewards?: RewardsBlockConfig;\n sales?: SalesBlockConfig;\n wallet?: WalletBlockConfig;\n jarvis?: JarvisBlockConfig;\n onboarding?: OnboardingBlockConfig;\n university?: UniversityBlockConfig;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Component\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Provider component for 23blocks services.\n *\n * @example\n * ```tsx\n * import { Blocks23Provider } from '@23blocks/react';\n * import { createHttpTransport } from '@23blocks/transport-http';\n *\n * const transport = createHttpTransport({\n * baseUrl: 'https://api.example.com',\n * headers: () => ({\n * 'Authorization': `Bearer ${localStorage.getItem('token')}`,\n * }),\n * });\n *\n * function App() {\n * return (\n * <Blocks23Provider\n * transport={transport}\n * authentication={{ appId: 'my-app' }}\n * search={{ appId: 'my-app' }}\n * products={{ appId: 'my-app' }}\n * crm={{ appId: 'my-app' }}\n * >\n * <MyApp />\n * </Blocks23Provider>\n * );\n * }\n * ```\n */\nexport function Blocks23Provider({\n children,\n transport,\n authentication,\n search,\n products,\n crm,\n content,\n geolocation,\n conversations,\n files,\n forms,\n assets,\n campaigns,\n company,\n rewards,\n sales,\n wallet,\n jarvis,\n onboarding,\n university,\n}: Blocks23ProviderProps) {\n const value = useMemo<Blocks23Context>(() => ({\n transport,\n authentication: authentication ? createAuthenticationBlock(transport, authentication) : null,\n search: search ? createSearchBlock(transport, search) : null,\n products: products ? createProductsBlock(transport, products) : null,\n crm: crm ? createCrmBlock(transport, crm) : null,\n content: content ? createContentBlock(transport, content) : null,\n geolocation: geolocation ? createGeolocationBlock(transport, geolocation) : null,\n conversations: conversations ? createConversationsBlock(transport, conversations) : null,\n files: files ? createFilesBlock(transport, files) : null,\n forms: forms ? createFormsBlock(transport, forms) : null,\n assets: assets ? createAssetsBlock(transport, assets) : null,\n campaigns: campaigns ? createCampaignsBlock(transport, campaigns) : null,\n company: company ? createCompanyBlock(transport, company) : null,\n rewards: rewards ? createRewardsBlock(transport, rewards) : null,\n sales: sales ? createSalesBlock(transport, sales) : null,\n wallet: wallet ? createWalletBlock(transport, wallet) : null,\n jarvis: jarvis ? createJarvisBlock(transport, jarvis) : null,\n onboarding: onboarding ? createOnboardingBlock(transport, onboarding) : null,\n university: university ? createUniversityBlock(transport, university) : null,\n }), [transport, authentication, search, products, crm, content, geolocation, conversations, files, forms, assets, campaigns, company, rewards, sales, wallet, jarvis, onboarding, university]);\n\n return (\n <Blocks23ContextInternal.Provider value={value}>\n {children}\n </Blocks23ContextInternal.Provider>\n );\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Context Hook\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function use23Blocks(): Blocks23Context {\n const context = useContext(Blocks23ContextInternal);\n if (!context) {\n throw new Error('use23Blocks must be used within a Blocks23Provider');\n }\n return context;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Block-specific hooks\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function useAuthenticationBlock(): AuthenticationBlock {\n const { authentication } = use23Blocks();\n if (!authentication) throw new Error('Authentication block not configured. Pass `authentication` prop to Blocks23Provider.');\n return authentication;\n}\n\nexport function useSearchBlock(): SearchBlock {\n const { search } = use23Blocks();\n if (!search) throw new Error('Search block not configured. Pass `search` prop to Blocks23Provider.');\n return search;\n}\n\nexport function useProductsBlock(): ProductsBlock {\n const { products } = use23Blocks();\n if (!products) throw new Error('Products block not configured. Pass `products` prop to Blocks23Provider.');\n return products;\n}\n\nexport function useCrmBlock(): CrmBlock {\n const { crm } = use23Blocks();\n if (!crm) throw new Error('CRM block not configured. Pass `crm` prop to Blocks23Provider.');\n return crm;\n}\n\nexport function useContentBlock(): ContentBlock {\n const { content } = use23Blocks();\n if (!content) throw new Error('Content block not configured. Pass `content` prop to Blocks23Provider.');\n return content;\n}\n\nexport function useGeolocationBlock(): GeolocationBlock {\n const { geolocation } = use23Blocks();\n if (!geolocation) throw new Error('Geolocation block not configured. Pass `geolocation` prop to Blocks23Provider.');\n return geolocation;\n}\n\nexport function useConversationsBlock(): ConversationsBlock {\n const { conversations } = use23Blocks();\n if (!conversations) throw new Error('Conversations block not configured. Pass `conversations` prop to Blocks23Provider.');\n return conversations;\n}\n\nexport function useFilesBlock(): FilesBlock {\n const { files } = use23Blocks();\n if (!files) throw new Error('Files block not configured. Pass `files` prop to Blocks23Provider.');\n return files;\n}\n\nexport function useFormsBlock(): FormsBlock {\n const { forms } = use23Blocks();\n if (!forms) throw new Error('Forms block not configured. Pass `forms` prop to Blocks23Provider.');\n return forms;\n}\n\nexport function useAssetsBlock(): AssetsBlock {\n const { assets } = use23Blocks();\n if (!assets) throw new Error('Assets block not configured. Pass `assets` prop to Blocks23Provider.');\n return assets;\n}\n\nexport function useCampaignsBlock(): CampaignsBlock {\n const { campaigns } = use23Blocks();\n if (!campaigns) throw new Error('Campaigns block not configured. Pass `campaigns` prop to Blocks23Provider.');\n return campaigns;\n}\n\nexport function useCompanyBlock(): CompanyBlock {\n const { company } = use23Blocks();\n if (!company) throw new Error('Company block not configured. Pass `company` prop to Blocks23Provider.');\n return company;\n}\n\nexport function useRewardsBlock(): RewardsBlock {\n const { rewards } = use23Blocks();\n if (!rewards) throw new Error('Rewards block not configured. Pass `rewards` prop to Blocks23Provider.');\n return rewards;\n}\n\nexport function useSalesBlock(): SalesBlock {\n const { sales } = use23Blocks();\n if (!sales) throw new Error('Sales block not configured. Pass `sales` prop to Blocks23Provider.');\n return sales;\n}\n\nexport function useWalletBlock(): WalletBlock {\n const { wallet } = use23Blocks();\n if (!wallet) throw new Error('Wallet block not configured. Pass `wallet` prop to Blocks23Provider.');\n return wallet;\n}\n\nexport function useJarvisBlock(): JarvisBlock {\n const { jarvis } = use23Blocks();\n if (!jarvis) throw new Error('Jarvis block not configured. Pass `jarvis` prop to Blocks23Provider.');\n return jarvis;\n}\n\nexport function useOnboardingBlock(): OnboardingBlock {\n const { onboarding } = use23Blocks();\n if (!onboarding) throw new Error('Onboarding block not configured. Pass `onboarding` prop to Blocks23Provider.');\n return onboarding;\n}\n\nexport function useUniversityBlock(): UniversityBlock {\n const { university } = use23Blocks();\n if (!university) throw new Error('University block not configured. Pass `university` prop to Blocks23Provider.');\n return university;\n}\n"],"names":["createContext","useContext","useMemo","createAuthenticationBlock","createSearchBlock","createProductsBlock","createCrmBlock","createContentBlock","createGeolocationBlock","createConversationsBlock","createFilesBlock","createFormsBlock","createAssetsBlock","createCampaignsBlock","createCompanyBlock","createRewardsBlock","createSalesBlock","createWalletBlock","createJarvisBlock","createOnboardingBlock","createUniversityBlock","Blocks23ContextInternal","Blocks23Provider","children","transport","authentication","search","products","crm","content","geolocation","conversations","files","forms","assets","campaigns","company","rewards","sales","wallet","jarvis","onboarding","university","value","Provider","use23Blocks","context","Error","useAuthenticationBlock","useSearchBlock","useProductsBlock","useCrmBlock","useContentBlock","useGeolocationBlock","useConversationsBlock","useFilesBlock","useFormsBlock","useAssetsBlock","useCampaignsBlock","useCompanyBlock","useRewardsBlock","useSalesBlock","useWalletBlock","useJarvisBlock","useOnboardingBlock","useUniversityBlock"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { _ as _extends } from "@swc/helpers/_/_extends";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
3
|
import { createContext, useContext, useMemo, useCallback } from 'react';
|
|
3
4
|
import { createHttpTransport } from '@23blocks/transport-http';
|
|
4
5
|
import { createAuthenticationBlock } from '@23blocks/block-authentication';
|
|
@@ -544,9 +545,10 @@ const Blocks23Context = /*#__PURE__*/ createContext(null);
|
|
|
544
545
|
onStorageChange,
|
|
545
546
|
authMode
|
|
546
547
|
]);
|
|
547
|
-
return /*#__PURE__*/
|
|
548
|
-
value: value
|
|
549
|
-
|
|
548
|
+
return /*#__PURE__*/ _jsx(Blocks23Context.Provider, {
|
|
549
|
+
value: value,
|
|
550
|
+
children: children
|
|
551
|
+
});
|
|
550
552
|
}
|
|
551
553
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
552
554
|
// Hooks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/simple-provider.tsx"],"sourcesContent":["import { createContext, useContext, useMemo, useCallback, type ReactNode } from 'react';\nimport { createHttpTransport } from '@23blocks/transport-http';\nimport type { Transport } from '@23blocks/contracts';\nimport { createAuthenticationBlock, type AuthenticationBlock, type SignInRequest, type SignInResponse, type SignUpRequest, type SignUpResponse } from '@23blocks/block-authentication';\nimport { createSearchBlock, type SearchBlock } from '@23blocks/block-search';\nimport { createProductsBlock, type ProductsBlock } from '@23blocks/block-products';\nimport { createCrmBlock, type CrmBlock } from '@23blocks/block-crm';\nimport { createContentBlock, type ContentBlock } from '@23blocks/block-content';\nimport { createGeolocationBlock, type GeolocationBlock } from '@23blocks/block-geolocation';\nimport { createConversationsBlock, type ConversationsBlock } from '@23blocks/block-conversations';\nimport { createFilesBlock, type FilesBlock } from '@23blocks/block-files';\nimport { createFormsBlock, type FormsBlock } from '@23blocks/block-forms';\nimport { createAssetsBlock, type AssetsBlock } from '@23blocks/block-assets';\nimport { createCampaignsBlock, type CampaignsBlock } from '@23blocks/block-campaigns';\nimport { createCompanyBlock, type CompanyBlock } from '@23blocks/block-company';\nimport { createRewardsBlock, type RewardsBlock } from '@23blocks/block-rewards';\nimport { createSalesBlock, type SalesBlock } from '@23blocks/block-sales';\nimport { createWalletBlock, type WalletBlock } from '@23blocks/block-wallet';\nimport { createJarvisBlock, type JarvisBlock } from '@23blocks/block-jarvis';\nimport { createOnboardingBlock, type OnboardingBlock } from '@23blocks/block-onboarding';\nimport { createUniversityBlock, type UniversityBlock } from '@23blocks/block-university';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Types\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Authentication mode\n */\nexport type AuthMode = 'token' | 'cookie';\n\n/**\n * Storage type for token mode\n */\nexport type StorageType = 'localStorage' | 'sessionStorage' | 'memory';\n\n/**\n * Token manager interface\n */\nexport interface TokenManager {\n getAccessToken(): string | null;\n getRefreshToken(): string | null;\n setTokens(accessToken: string, refreshToken?: string): void;\n clearTokens(): void;\n /**\n * Subscribe to storage changes from other tabs/windows.\n * Returns an unsubscribe function.\n */\n onStorageChange(callback: () => void): () => void;\n}\n\n/**\n * Service URL configuration - each microservice has its own URL.\n * All URLs are optional - only configure the services you need.\n */\nexport interface ServiceUrls {\n /** Authentication service URL */\n authentication?: string;\n /** Search service URL */\n search?: string;\n /** Products service URL */\n products?: string;\n /** CRM service URL */\n crm?: string;\n /** Content service URL */\n content?: string;\n /** Geolocation service URL */\n geolocation?: string;\n /** Conversations service URL */\n conversations?: string;\n /** Files service URL */\n files?: string;\n /** Forms service URL */\n forms?: string;\n /** Assets service URL */\n assets?: string;\n /** Campaigns service URL */\n campaigns?: string;\n /** Company service URL */\n company?: string;\n /** Rewards service URL */\n rewards?: string;\n /** Sales service URL */\n sales?: string;\n /** Wallet service URL */\n wallet?: string;\n /** Jarvis (AI) service URL */\n jarvis?: string;\n /** Onboarding service URL */\n onboarding?: string;\n /** University (LMS) service URL */\n university?: string;\n}\n\n/**\n * Provider props\n */\nexport interface ProviderProps {\n children: ReactNode;\n\n /**\n * Service URLs for each microservice.\n * Only configure the services you need - accessing a service without\n * a configured URL will throw an error.\n *\n * @example\n * ```tsx\n * <Provider\n * appId=\"your-app-id\"\n * urls={{\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * products: 'https://products.23blocks.com',\n * }}\n * >\n * <App />\n * </Provider>\n * ```\n */\n urls: ServiceUrls;\n\n /**\n * Application ID\n */\n appId: string;\n\n /**\n * Tenant ID (optional, for multi-tenant setups)\n */\n tenantId?: string;\n\n /**\n * Authentication mode\n * - 'token' (default): SDK stores tokens in localStorage/sessionStorage/memory\n * - 'cookie': Backend manages auth via httpOnly cookies\n */\n authMode?: AuthMode;\n\n /**\n * Storage type for token mode\n * @default 'localStorage'\n */\n storage?: StorageType;\n\n /**\n * Additional headers to include with every request\n */\n headers?: Record<string, string>;\n\n /**\n * Request timeout in milliseconds\n * @default 30000\n */\n timeout?: number;\n}\n\n/**\n * Context value providing access to all 23blocks services\n */\nexport interface ClientContext {\n // Blocks\n authentication: AuthenticationBlock;\n search: SearchBlock;\n products: ProductsBlock;\n crm: CrmBlock;\n content: ContentBlock;\n geolocation: GeolocationBlock;\n conversations: ConversationsBlock;\n files: FilesBlock;\n forms: FormsBlock;\n assets: AssetsBlock;\n campaigns: CampaignsBlock;\n company: CompanyBlock;\n rewards: RewardsBlock;\n sales: SalesBlock;\n wallet: WalletBlock;\n jarvis: JarvisBlock;\n onboarding: OnboardingBlock;\n university: UniversityBlock;\n\n // Auth with automatic token management\n signIn: (request: SignInRequest) => Promise<SignInResponse>;\n signUp: (request: SignUpRequest) => Promise<SignUpResponse>;\n signOut: () => Promise<void>;\n\n // Token utilities\n getAccessToken: () => string | null;\n getRefreshToken: () => string | null;\n setTokens: (accessToken: string, refreshToken?: string) => void;\n clearTokens: () => void;\n isAuthenticated: () => boolean | null;\n /**\n * Subscribe to token changes from other tabs/windows.\n * Returns an unsubscribe function.\n */\n onStorageChange: (callback: () => void) => () => void;\n\n // Config info\n authMode: AuthMode;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Token Manager Implementation\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Generate storage key scoped to app and tenant\n */\nfunction getStorageKey(type: 'access' | 'refresh', appId: string, tenantId?: string): string {\n const scope = tenantId ? `${appId}_${tenantId}` : appId;\n return `23blocks_${scope}_${type}_token`;\n}\n\nclass MemoryStorage {\n private data = new Map<string, string>();\n getItem(key: string): string | null {\n return this.data.get(key) ?? null;\n }\n setItem(key: string, value: string): void {\n this.data.set(key, value);\n }\n removeItem(key: string): void {\n this.data.delete(key);\n }\n}\n\nfunction createTokenManager(appId: string, storageType: StorageType, tenantId?: string): TokenManager {\n const isBrowser = typeof window !== 'undefined' && typeof window.localStorage !== 'undefined';\n\n const accessTokenKey = getStorageKey('access', appId, tenantId);\n const refreshTokenKey = getStorageKey('refresh', appId, tenantId);\n\n let storage: Storage | MemoryStorage;\n if (!isBrowser) {\n storage = new MemoryStorage();\n } else {\n switch (storageType) {\n case 'sessionStorage':\n storage = window.sessionStorage;\n break;\n case 'memory':\n storage = new MemoryStorage();\n break;\n default:\n storage = window.localStorage;\n }\n }\n\n return {\n getAccessToken(): string | null {\n try {\n return storage.getItem(accessTokenKey);\n } catch {\n return null;\n }\n },\n getRefreshToken(): string | null {\n try {\n return storage.getItem(refreshTokenKey);\n } catch {\n return null;\n }\n },\n setTokens(accessToken: string, refreshToken?: string): void {\n try {\n storage.setItem(accessTokenKey, accessToken);\n if (refreshToken) {\n storage.setItem(refreshTokenKey, refreshToken);\n }\n } catch {\n console.warn('[23blocks] Unable to store tokens');\n }\n },\n clearTokens(): void {\n try {\n storage.removeItem(accessTokenKey);\n storage.removeItem(refreshTokenKey);\n } catch {\n // Silently fail\n }\n },\n onStorageChange(callback: () => void): () => void {\n // Only works in browser with localStorage/sessionStorage\n if (!isBrowser || storageType === 'memory') {\n // Return no-op unsubscribe for SSR/memory storage\n return () => {};\n }\n\n const handler = (event: StorageEvent) => {\n // Only trigger if our keys changed\n if (event.key === accessTokenKey || event.key === refreshTokenKey) {\n callback();\n }\n };\n\n window.addEventListener('storage', handler);\n\n // Return unsubscribe function\n return () => {\n window.removeEventListener('storage', handler);\n };\n },\n };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Context\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst Blocks23Context = createContext<ClientContext | null>(null);\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Component\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Helper to create a proxy that throws when accessing unconfigured service\n */\nfunction createUnconfiguredServiceProxy<T>(serviceName: string, urlKey: string): T {\n return new Proxy({} as T, {\n get(_target, prop) {\n throw new Error(\n `[23blocks] Cannot access '${serviceName}.${String(prop)}': ` +\n `The ${serviceName} service URL is not configured. ` +\n `Add 'urls.${urlKey}' to your Provider configuration.`\n );\n },\n });\n}\n\n/**\n * Provider component for 23blocks services.\n *\n * Wrap your app with this provider to access all 23blocks services\n * with automatic token management.\n *\n * Services are only available if their URL is configured. Accessing\n * a service without a configured URL will throw an error.\n *\n * @example Basic usage with multiple services\n * ```tsx\n * import { Provider } from '@23blocks/react';\n *\n * function App() {\n * return (\n * <Provider\n * appId=\"your-app-id\"\n * urls={{\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * products: 'https://products.23blocks.com',\n * }}\n * >\n * <MyApp />\n * </Provider>\n * );\n * }\n * ```\n *\n * @example Cookie mode (recommended for security)\n * ```tsx\n * <Provider\n * appId=\"your-app-id\"\n * authMode=\"cookie\"\n * urls={{\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * }}\n * >\n * <MyApp />\n * </Provider>\n * ```\n */\nexport function Provider({\n children,\n urls,\n appId,\n tenantId,\n authMode = 'token',\n storage = 'localStorage',\n headers: staticHeaders = {},\n timeout,\n}: ProviderProps) {\n // Create token manager (memoized) with scoped storage keys\n const tokenManager = useMemo(\n () => (authMode === 'token' ? createTokenManager(appId, storage, tenantId) : null),\n [authMode, appId, storage, tenantId]\n );\n\n // Factory to create transport for a specific service URL\n const createServiceTransport = useCallback((baseUrl: string) => {\n return createHttpTransport({\n baseUrl,\n timeout,\n credentials: authMode === 'cookie' ? 'include' : undefined,\n headers: () => {\n const headers: Record<string, string> = {\n ...staticHeaders,\n appid: appId,\n };\n\n if (tenantId) {\n headers['tenant-id'] = tenantId;\n }\n\n if (authMode === 'token' && tokenManager) {\n const token = tokenManager.getAccessToken();\n if (token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n }\n\n return headers;\n },\n });\n }, [appId, tenantId, authMode, staticHeaders, timeout, tokenManager]);\n\n // Create blocks (memoized) - each with its own transport (no fallback)\n const blockConfig = useMemo(() => ({ appId, tenantId }), [appId, tenantId]);\n\n // Create blocks only if URL is configured, otherwise use proxy that throws helpful error\n const authentication = useMemo(() => {\n if (!urls.authentication) {\n return createUnconfiguredServiceProxy<AuthenticationBlock>('authentication', 'authentication');\n }\n return createAuthenticationBlock(createServiceTransport(urls.authentication), blockConfig);\n }, [createServiceTransport, urls.authentication, blockConfig]);\n\n const search = useMemo(() => {\n if (!urls.search) {\n return createUnconfiguredServiceProxy<SearchBlock>('search', 'search');\n }\n return createSearchBlock(createServiceTransport(urls.search), blockConfig);\n }, [createServiceTransport, urls.search, blockConfig]);\n\n const products = useMemo(() => {\n if (!urls.products) {\n return createUnconfiguredServiceProxy<ProductsBlock>('products', 'products');\n }\n return createProductsBlock(createServiceTransport(urls.products), blockConfig);\n }, [createServiceTransport, urls.products, blockConfig]);\n\n const crm = useMemo(() => {\n if (!urls.crm) {\n return createUnconfiguredServiceProxy<CrmBlock>('crm', 'crm');\n }\n return createCrmBlock(createServiceTransport(urls.crm), blockConfig);\n }, [createServiceTransport, urls.crm, blockConfig]);\n\n const content = useMemo(() => {\n if (!urls.content) {\n return createUnconfiguredServiceProxy<ContentBlock>('content', 'content');\n }\n return createContentBlock(createServiceTransport(urls.content), blockConfig);\n }, [createServiceTransport, urls.content, blockConfig]);\n\n const geolocation = useMemo(() => {\n if (!urls.geolocation) {\n return createUnconfiguredServiceProxy<GeolocationBlock>('geolocation', 'geolocation');\n }\n return createGeolocationBlock(createServiceTransport(urls.geolocation), blockConfig);\n }, [createServiceTransport, urls.geolocation, blockConfig]);\n\n const conversations = useMemo(() => {\n if (!urls.conversations) {\n return createUnconfiguredServiceProxy<ConversationsBlock>('conversations', 'conversations');\n }\n return createConversationsBlock(createServiceTransport(urls.conversations), blockConfig);\n }, [createServiceTransport, urls.conversations, blockConfig]);\n\n const files = useMemo(() => {\n if (!urls.files) {\n return createUnconfiguredServiceProxy<FilesBlock>('files', 'files');\n }\n return createFilesBlock(createServiceTransport(urls.files), blockConfig);\n }, [createServiceTransport, urls.files, blockConfig]);\n\n const forms = useMemo(() => {\n if (!urls.forms) {\n return createUnconfiguredServiceProxy<FormsBlock>('forms', 'forms');\n }\n return createFormsBlock(createServiceTransport(urls.forms), blockConfig);\n }, [createServiceTransport, urls.forms, blockConfig]);\n\n const assets = useMemo(() => {\n if (!urls.assets) {\n return createUnconfiguredServiceProxy<AssetsBlock>('assets', 'assets');\n }\n return createAssetsBlock(createServiceTransport(urls.assets), blockConfig);\n }, [createServiceTransport, urls.assets, blockConfig]);\n\n const campaigns = useMemo(() => {\n if (!urls.campaigns) {\n return createUnconfiguredServiceProxy<CampaignsBlock>('campaigns', 'campaigns');\n }\n return createCampaignsBlock(createServiceTransport(urls.campaigns), blockConfig);\n }, [createServiceTransport, urls.campaigns, blockConfig]);\n\n const company = useMemo(() => {\n if (!urls.company) {\n return createUnconfiguredServiceProxy<CompanyBlock>('company', 'company');\n }\n return createCompanyBlock(createServiceTransport(urls.company), blockConfig);\n }, [createServiceTransport, urls.company, blockConfig]);\n\n const rewards = useMemo(() => {\n if (!urls.rewards) {\n return createUnconfiguredServiceProxy<RewardsBlock>('rewards', 'rewards');\n }\n return createRewardsBlock(createServiceTransport(urls.rewards), blockConfig);\n }, [createServiceTransport, urls.rewards, blockConfig]);\n\n const sales = useMemo(() => {\n if (!urls.sales) {\n return createUnconfiguredServiceProxy<SalesBlock>('sales', 'sales');\n }\n return createSalesBlock(createServiceTransport(urls.sales), blockConfig);\n }, [createServiceTransport, urls.sales, blockConfig]);\n\n const wallet = useMemo(() => {\n if (!urls.wallet) {\n return createUnconfiguredServiceProxy<WalletBlock>('wallet', 'wallet');\n }\n return createWalletBlock(createServiceTransport(urls.wallet), blockConfig);\n }, [createServiceTransport, urls.wallet, blockConfig]);\n\n const jarvis = useMemo(() => {\n if (!urls.jarvis) {\n return createUnconfiguredServiceProxy<JarvisBlock>('jarvis', 'jarvis');\n }\n return createJarvisBlock(createServiceTransport(urls.jarvis), blockConfig);\n }, [createServiceTransport, urls.jarvis, blockConfig]);\n\n const onboarding = useMemo(() => {\n if (!urls.onboarding) {\n return createUnconfiguredServiceProxy<OnboardingBlock>('onboarding', 'onboarding');\n }\n return createOnboardingBlock(createServiceTransport(urls.onboarding), blockConfig);\n }, [createServiceTransport, urls.onboarding, blockConfig]);\n\n const university = useMemo(() => {\n if (!urls.university) {\n return createUnconfiguredServiceProxy<UniversityBlock>('university', 'university');\n }\n return createUniversityBlock(createServiceTransport(urls.university), blockConfig);\n }, [createServiceTransport, urls.university, blockConfig]);\n\n // Check if authentication is configured for auth methods\n const isAuthConfigured = !!urls.authentication;\n\n // Auth methods with automatic token management\n const signIn = useCallback(async (request: SignInRequest): Promise<SignInResponse> => {\n if (!isAuthConfigured) {\n throw new Error(\n '[23blocks] Cannot call signIn: The authentication service URL is not configured. ' +\n \"Add 'urls.authentication' to your Provider configuration.\"\n );\n }\n const response = await (authentication as AuthenticationBlock).auth.signIn(request);\n if (authMode === 'token' && tokenManager && response.accessToken) {\n tokenManager.setTokens(response.accessToken, response.refreshToken);\n }\n return response;\n }, [authentication, authMode, tokenManager, isAuthConfigured]);\n\n const signUp = useCallback(async (request: SignUpRequest): Promise<SignUpResponse> => {\n if (!isAuthConfigured) {\n throw new Error(\n '[23blocks] Cannot call signUp: The authentication service URL is not configured. ' +\n \"Add 'urls.authentication' to your Provider configuration.\"\n );\n }\n const response = await (authentication as AuthenticationBlock).auth.signUp(request);\n if (authMode === 'token' && tokenManager && response.accessToken) {\n tokenManager.setTokens(response.accessToken);\n }\n return response;\n }, [authentication, authMode, tokenManager, isAuthConfigured]);\n\n const signOut = useCallback(async (): Promise<void> => {\n if (!isAuthConfigured) {\n throw new Error(\n '[23blocks] Cannot call signOut: The authentication service URL is not configured. ' +\n \"Add 'urls.authentication' to your Provider configuration.\"\n );\n }\n await (authentication as AuthenticationBlock).auth.signOut();\n if (authMode === 'token' && tokenManager) {\n tokenManager.clearTokens();\n }\n }, [authentication, authMode, tokenManager, isAuthConfigured]);\n\n // Token utilities\n const getAccessToken = useCallback(() => tokenManager?.getAccessToken() ?? null, [tokenManager]);\n const getRefreshToken = useCallback(() => tokenManager?.getRefreshToken() ?? null, [tokenManager]);\n const setTokens = useCallback((accessToken: string, refreshToken?: string) => {\n tokenManager?.setTokens(accessToken, refreshToken);\n }, [tokenManager]);\n const clearTokens = useCallback(() => tokenManager?.clearTokens(), [tokenManager]);\n const isAuthenticated = useCallback((): boolean | null => {\n if (authMode === 'cookie') return null;\n return tokenManager ? !!tokenManager.getAccessToken() : false;\n }, [authMode, tokenManager]);\n const onStorageChange = useCallback((callback: () => void): (() => void) => {\n return tokenManager?.onStorageChange(callback) ?? (() => {});\n }, [tokenManager]);\n\n const value = useMemo<ClientContext>(() => ({\n // Blocks\n authentication,\n search,\n products,\n crm,\n content,\n geolocation,\n conversations,\n files,\n forms,\n assets,\n campaigns,\n company,\n rewards,\n sales,\n wallet,\n jarvis,\n onboarding,\n university,\n\n // Auth with token management\n signIn,\n signUp,\n signOut,\n\n // Token utilities\n getAccessToken,\n getRefreshToken,\n setTokens,\n clearTokens,\n isAuthenticated,\n onStorageChange,\n\n // Config\n authMode,\n }), [\n authentication, search, products, crm, content, geolocation, conversations,\n files, forms, assets, campaigns, company, rewards, sales, wallet, jarvis,\n onboarding, university, signIn, signUp, signOut, getAccessToken, getRefreshToken,\n setTokens, clearTokens, isAuthenticated, onStorageChange, authMode,\n ]);\n\n return (\n <Blocks23Context.Provider value={value}>\n {children}\n </Blocks23Context.Provider>\n );\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Hooks\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Hook to access all 23blocks services.\n *\n * @example\n * ```tsx\n * function Dashboard() {\n * const { products, crm, files } = useClient();\n *\n * // Access any service\n * const loadProducts = async () => {\n * const { data } = await products.products.list({ limit: 10 });\n * };\n * }\n * ```\n */\nexport function useClient(): ClientContext {\n const context = useContext(Blocks23Context);\n if (!context) {\n throw new Error('useClient must be used within a Provider');\n }\n return context;\n}\n\n/**\n * Hook for authentication operations with automatic token management.\n *\n * @example\n * ```tsx\n * function LoginPage() {\n * const { signIn, signOut, isAuthenticated } = useAuth();\n *\n * const handleLogin = async () => {\n * await signIn({ email: 'user@example.com', password: 'password' });\n * };\n *\n * return (\n * <div>\n * {isAuthenticated() ? (\n * <button onClick={signOut}>Sign Out</button>\n * ) : (\n * <button onClick={handleLogin}>Sign In</button>\n * )}\n * </div>\n * );\n * }\n * ```\n */\nexport function useAuth() {\n const context = useClient();\n return {\n signIn: context.signIn,\n signUp: context.signUp,\n signOut: context.signOut,\n getAccessToken: context.getAccessToken,\n getRefreshToken: context.getRefreshToken,\n setTokens: context.setTokens,\n clearTokens: context.clearTokens,\n isAuthenticated: context.isAuthenticated,\n onStorageChange: context.onStorageChange,\n authentication: context.authentication,\n };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Backward Compatibility Aliases (deprecated)\n// ─────────────────────────────────────────────────────────────────────────────\n\n/** @deprecated Use `Provider` instead */\nexport const SimpleBlocks23Provider = Provider;\n\n/** @deprecated Use `ProviderProps` instead */\nexport type SimpleBlocks23ProviderProps = ProviderProps;\n\n/** @deprecated Use `ClientContext` instead */\nexport type SimpleBlocks23Context = ClientContext;\n\n/** @deprecated Use `useClient` instead */\nexport const useSimpleBlocks23 = useClient;\n\n/** @deprecated Use `useAuth` instead */\nexport const useSimpleAuth = useAuth;\n"],"names":["createContext","useContext","useMemo","useCallback","createHttpTransport","createAuthenticationBlock","createSearchBlock","createProductsBlock","createCrmBlock","createContentBlock","createGeolocationBlock","createConversationsBlock","createFilesBlock","createFormsBlock","createAssetsBlock","createCampaignsBlock","createCompanyBlock","createRewardsBlock","createSalesBlock","createWalletBlock","createJarvisBlock","createOnboardingBlock","createUniversityBlock","getStorageKey","type","appId","tenantId","scope","MemoryStorage","getItem","key","data","get","setItem","value","set","removeItem","delete","Map","createTokenManager","storageType","isBrowser","window","localStorage","accessTokenKey","refreshTokenKey","storage","sessionStorage","getAccessToken","getRefreshToken","setTokens","accessToken","refreshToken","console","warn","clearTokens","onStorageChange","callback","handler","event","addEventListener","removeEventListener","Blocks23Context","createUnconfiguredServiceProxy","serviceName","urlKey","Proxy","_target","prop","Error","String","Provider","children","urls","authMode","headers","staticHeaders","timeout","tokenManager","createServiceTransport","baseUrl","credentials","undefined","appid","token","blockConfig","authentication","search","products","crm","content","geolocation","conversations","files","forms","assets","campaigns","company","rewards","sales","wallet","jarvis","onboarding","university","isAuthConfigured","signIn","request","response","auth","signUp","signOut","isAuthenticated","useClient","context","useAuth","SimpleBlocks23Provider","useSimpleBlocks23","useSimpleAuth"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/simple-provider.tsx"],"sourcesContent":["import { createContext, useContext, useMemo, useCallback, type ReactNode } from 'react';\nimport { createHttpTransport } from '@23blocks/transport-http';\nimport type { Transport } from '@23blocks/contracts';\nimport { createAuthenticationBlock, type AuthenticationBlock, type SignInRequest, type SignInResponse, type SignUpRequest, type SignUpResponse } from '@23blocks/block-authentication';\nimport { createSearchBlock, type SearchBlock } from '@23blocks/block-search';\nimport { createProductsBlock, type ProductsBlock } from '@23blocks/block-products';\nimport { createCrmBlock, type CrmBlock } from '@23blocks/block-crm';\nimport { createContentBlock, type ContentBlock } from '@23blocks/block-content';\nimport { createGeolocationBlock, type GeolocationBlock } from '@23blocks/block-geolocation';\nimport { createConversationsBlock, type ConversationsBlock } from '@23blocks/block-conversations';\nimport { createFilesBlock, type FilesBlock } from '@23blocks/block-files';\nimport { createFormsBlock, type FormsBlock } from '@23blocks/block-forms';\nimport { createAssetsBlock, type AssetsBlock } from '@23blocks/block-assets';\nimport { createCampaignsBlock, type CampaignsBlock } from '@23blocks/block-campaigns';\nimport { createCompanyBlock, type CompanyBlock } from '@23blocks/block-company';\nimport { createRewardsBlock, type RewardsBlock } from '@23blocks/block-rewards';\nimport { createSalesBlock, type SalesBlock } from '@23blocks/block-sales';\nimport { createWalletBlock, type WalletBlock } from '@23blocks/block-wallet';\nimport { createJarvisBlock, type JarvisBlock } from '@23blocks/block-jarvis';\nimport { createOnboardingBlock, type OnboardingBlock } from '@23blocks/block-onboarding';\nimport { createUniversityBlock, type UniversityBlock } from '@23blocks/block-university';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Types\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Authentication mode\n */\nexport type AuthMode = 'token' | 'cookie';\n\n/**\n * Storage type for token mode\n */\nexport type StorageType = 'localStorage' | 'sessionStorage' | 'memory';\n\n/**\n * Token manager interface\n */\nexport interface TokenManager {\n getAccessToken(): string | null;\n getRefreshToken(): string | null;\n setTokens(accessToken: string, refreshToken?: string): void;\n clearTokens(): void;\n /**\n * Subscribe to storage changes from other tabs/windows.\n * Returns an unsubscribe function.\n */\n onStorageChange(callback: () => void): () => void;\n}\n\n/**\n * Service URL configuration - each microservice has its own URL.\n * All URLs are optional - only configure the services you need.\n */\nexport interface ServiceUrls {\n /** Authentication service URL */\n authentication?: string;\n /** Search service URL */\n search?: string;\n /** Products service URL */\n products?: string;\n /** CRM service URL */\n crm?: string;\n /** Content service URL */\n content?: string;\n /** Geolocation service URL */\n geolocation?: string;\n /** Conversations service URL */\n conversations?: string;\n /** Files service URL */\n files?: string;\n /** Forms service URL */\n forms?: string;\n /** Assets service URL */\n assets?: string;\n /** Campaigns service URL */\n campaigns?: string;\n /** Company service URL */\n company?: string;\n /** Rewards service URL */\n rewards?: string;\n /** Sales service URL */\n sales?: string;\n /** Wallet service URL */\n wallet?: string;\n /** Jarvis (AI) service URL */\n jarvis?: string;\n /** Onboarding service URL */\n onboarding?: string;\n /** University (LMS) service URL */\n university?: string;\n}\n\n/**\n * Provider props\n */\nexport interface ProviderProps {\n children: ReactNode;\n\n /**\n * Service URLs for each microservice.\n * Only configure the services you need - accessing a service without\n * a configured URL will throw an error.\n *\n * @example\n * ```tsx\n * <Provider\n * appId=\"your-app-id\"\n * urls={{\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * products: 'https://products.23blocks.com',\n * }}\n * >\n * <App />\n * </Provider>\n * ```\n */\n urls: ServiceUrls;\n\n /**\n * Application ID\n */\n appId: string;\n\n /**\n * Tenant ID (optional, for multi-tenant setups)\n */\n tenantId?: string;\n\n /**\n * Authentication mode\n * - 'token' (default): SDK stores tokens in localStorage/sessionStorage/memory\n * - 'cookie': Backend manages auth via httpOnly cookies\n */\n authMode?: AuthMode;\n\n /**\n * Storage type for token mode\n * @default 'localStorage'\n */\n storage?: StorageType;\n\n /**\n * Additional headers to include with every request\n */\n headers?: Record<string, string>;\n\n /**\n * Request timeout in milliseconds\n * @default 30000\n */\n timeout?: number;\n}\n\n/**\n * Context value providing access to all 23blocks services\n */\nexport interface ClientContext {\n // Blocks\n authentication: AuthenticationBlock;\n search: SearchBlock;\n products: ProductsBlock;\n crm: CrmBlock;\n content: ContentBlock;\n geolocation: GeolocationBlock;\n conversations: ConversationsBlock;\n files: FilesBlock;\n forms: FormsBlock;\n assets: AssetsBlock;\n campaigns: CampaignsBlock;\n company: CompanyBlock;\n rewards: RewardsBlock;\n sales: SalesBlock;\n wallet: WalletBlock;\n jarvis: JarvisBlock;\n onboarding: OnboardingBlock;\n university: UniversityBlock;\n\n // Auth with automatic token management\n signIn: (request: SignInRequest) => Promise<SignInResponse>;\n signUp: (request: SignUpRequest) => Promise<SignUpResponse>;\n signOut: () => Promise<void>;\n\n // Token utilities\n getAccessToken: () => string | null;\n getRefreshToken: () => string | null;\n setTokens: (accessToken: string, refreshToken?: string) => void;\n clearTokens: () => void;\n isAuthenticated: () => boolean | null;\n /**\n * Subscribe to token changes from other tabs/windows.\n * Returns an unsubscribe function.\n */\n onStorageChange: (callback: () => void) => () => void;\n\n // Config info\n authMode: AuthMode;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Token Manager Implementation\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Generate storage key scoped to app and tenant\n */\nfunction getStorageKey(type: 'access' | 'refresh', appId: string, tenantId?: string): string {\n const scope = tenantId ? `${appId}_${tenantId}` : appId;\n return `23blocks_${scope}_${type}_token`;\n}\n\nclass MemoryStorage {\n private data = new Map<string, string>();\n getItem(key: string): string | null {\n return this.data.get(key) ?? null;\n }\n setItem(key: string, value: string): void {\n this.data.set(key, value);\n }\n removeItem(key: string): void {\n this.data.delete(key);\n }\n}\n\nfunction createTokenManager(appId: string, storageType: StorageType, tenantId?: string): TokenManager {\n const isBrowser = typeof window !== 'undefined' && typeof window.localStorage !== 'undefined';\n\n const accessTokenKey = getStorageKey('access', appId, tenantId);\n const refreshTokenKey = getStorageKey('refresh', appId, tenantId);\n\n let storage: Storage | MemoryStorage;\n if (!isBrowser) {\n storage = new MemoryStorage();\n } else {\n switch (storageType) {\n case 'sessionStorage':\n storage = window.sessionStorage;\n break;\n case 'memory':\n storage = new MemoryStorage();\n break;\n default:\n storage = window.localStorage;\n }\n }\n\n return {\n getAccessToken(): string | null {\n try {\n return storage.getItem(accessTokenKey);\n } catch {\n return null;\n }\n },\n getRefreshToken(): string | null {\n try {\n return storage.getItem(refreshTokenKey);\n } catch {\n return null;\n }\n },\n setTokens(accessToken: string, refreshToken?: string): void {\n try {\n storage.setItem(accessTokenKey, accessToken);\n if (refreshToken) {\n storage.setItem(refreshTokenKey, refreshToken);\n }\n } catch {\n console.warn('[23blocks] Unable to store tokens');\n }\n },\n clearTokens(): void {\n try {\n storage.removeItem(accessTokenKey);\n storage.removeItem(refreshTokenKey);\n } catch {\n // Silently fail\n }\n },\n onStorageChange(callback: () => void): () => void {\n // Only works in browser with localStorage/sessionStorage\n if (!isBrowser || storageType === 'memory') {\n // Return no-op unsubscribe for SSR/memory storage\n return () => {};\n }\n\n const handler = (event: StorageEvent) => {\n // Only trigger if our keys changed\n if (event.key === accessTokenKey || event.key === refreshTokenKey) {\n callback();\n }\n };\n\n window.addEventListener('storage', handler);\n\n // Return unsubscribe function\n return () => {\n window.removeEventListener('storage', handler);\n };\n },\n };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Context\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst Blocks23Context = createContext<ClientContext | null>(null);\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Provider Component\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Helper to create a proxy that throws when accessing unconfigured service\n */\nfunction createUnconfiguredServiceProxy<T>(serviceName: string, urlKey: string): T {\n return new Proxy({} as T, {\n get(_target, prop) {\n throw new Error(\n `[23blocks] Cannot access '${serviceName}.${String(prop)}': ` +\n `The ${serviceName} service URL is not configured. ` +\n `Add 'urls.${urlKey}' to your Provider configuration.`\n );\n },\n });\n}\n\n/**\n * Provider component for 23blocks services.\n *\n * Wrap your app with this provider to access all 23blocks services\n * with automatic token management.\n *\n * Services are only available if their URL is configured. Accessing\n * a service without a configured URL will throw an error.\n *\n * @example Basic usage with multiple services\n * ```tsx\n * import { Provider } from '@23blocks/react';\n *\n * function App() {\n * return (\n * <Provider\n * appId=\"your-app-id\"\n * urls={{\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * products: 'https://products.23blocks.com',\n * }}\n * >\n * <MyApp />\n * </Provider>\n * );\n * }\n * ```\n *\n * @example Cookie mode (recommended for security)\n * ```tsx\n * <Provider\n * appId=\"your-app-id\"\n * authMode=\"cookie\"\n * urls={{\n * authentication: 'https://gateway.23blocks.com',\n * crm: 'https://crm.23blocks.com',\n * }}\n * >\n * <MyApp />\n * </Provider>\n * ```\n */\nexport function Provider({\n children,\n urls,\n appId,\n tenantId,\n authMode = 'token',\n storage = 'localStorage',\n headers: staticHeaders = {},\n timeout,\n}: ProviderProps) {\n // Create token manager (memoized) with scoped storage keys\n const tokenManager = useMemo(\n () => (authMode === 'token' ? createTokenManager(appId, storage, tenantId) : null),\n [authMode, appId, storage, tenantId]\n );\n\n // Factory to create transport for a specific service URL\n const createServiceTransport = useCallback((baseUrl: string) => {\n return createHttpTransport({\n baseUrl,\n timeout,\n credentials: authMode === 'cookie' ? 'include' : undefined,\n headers: () => {\n const headers: Record<string, string> = {\n ...staticHeaders,\n appid: appId,\n };\n\n if (tenantId) {\n headers['tenant-id'] = tenantId;\n }\n\n if (authMode === 'token' && tokenManager) {\n const token = tokenManager.getAccessToken();\n if (token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n }\n\n return headers;\n },\n });\n }, [appId, tenantId, authMode, staticHeaders, timeout, tokenManager]);\n\n // Create blocks (memoized) - each with its own transport (no fallback)\n const blockConfig = useMemo(() => ({ appId, tenantId }), [appId, tenantId]);\n\n // Create blocks only if URL is configured, otherwise use proxy that throws helpful error\n const authentication = useMemo(() => {\n if (!urls.authentication) {\n return createUnconfiguredServiceProxy<AuthenticationBlock>('authentication', 'authentication');\n }\n return createAuthenticationBlock(createServiceTransport(urls.authentication), blockConfig);\n }, [createServiceTransport, urls.authentication, blockConfig]);\n\n const search = useMemo(() => {\n if (!urls.search) {\n return createUnconfiguredServiceProxy<SearchBlock>('search', 'search');\n }\n return createSearchBlock(createServiceTransport(urls.search), blockConfig);\n }, [createServiceTransport, urls.search, blockConfig]);\n\n const products = useMemo(() => {\n if (!urls.products) {\n return createUnconfiguredServiceProxy<ProductsBlock>('products', 'products');\n }\n return createProductsBlock(createServiceTransport(urls.products), blockConfig);\n }, [createServiceTransport, urls.products, blockConfig]);\n\n const crm = useMemo(() => {\n if (!urls.crm) {\n return createUnconfiguredServiceProxy<CrmBlock>('crm', 'crm');\n }\n return createCrmBlock(createServiceTransport(urls.crm), blockConfig);\n }, [createServiceTransport, urls.crm, blockConfig]);\n\n const content = useMemo(() => {\n if (!urls.content) {\n return createUnconfiguredServiceProxy<ContentBlock>('content', 'content');\n }\n return createContentBlock(createServiceTransport(urls.content), blockConfig);\n }, [createServiceTransport, urls.content, blockConfig]);\n\n const geolocation = useMemo(() => {\n if (!urls.geolocation) {\n return createUnconfiguredServiceProxy<GeolocationBlock>('geolocation', 'geolocation');\n }\n return createGeolocationBlock(createServiceTransport(urls.geolocation), blockConfig);\n }, [createServiceTransport, urls.geolocation, blockConfig]);\n\n const conversations = useMemo(() => {\n if (!urls.conversations) {\n return createUnconfiguredServiceProxy<ConversationsBlock>('conversations', 'conversations');\n }\n return createConversationsBlock(createServiceTransport(urls.conversations), blockConfig);\n }, [createServiceTransport, urls.conversations, blockConfig]);\n\n const files = useMemo(() => {\n if (!urls.files) {\n return createUnconfiguredServiceProxy<FilesBlock>('files', 'files');\n }\n return createFilesBlock(createServiceTransport(urls.files), blockConfig);\n }, [createServiceTransport, urls.files, blockConfig]);\n\n const forms = useMemo(() => {\n if (!urls.forms) {\n return createUnconfiguredServiceProxy<FormsBlock>('forms', 'forms');\n }\n return createFormsBlock(createServiceTransport(urls.forms), blockConfig);\n }, [createServiceTransport, urls.forms, blockConfig]);\n\n const assets = useMemo(() => {\n if (!urls.assets) {\n return createUnconfiguredServiceProxy<AssetsBlock>('assets', 'assets');\n }\n return createAssetsBlock(createServiceTransport(urls.assets), blockConfig);\n }, [createServiceTransport, urls.assets, blockConfig]);\n\n const campaigns = useMemo(() => {\n if (!urls.campaigns) {\n return createUnconfiguredServiceProxy<CampaignsBlock>('campaigns', 'campaigns');\n }\n return createCampaignsBlock(createServiceTransport(urls.campaigns), blockConfig);\n }, [createServiceTransport, urls.campaigns, blockConfig]);\n\n const company = useMemo(() => {\n if (!urls.company) {\n return createUnconfiguredServiceProxy<CompanyBlock>('company', 'company');\n }\n return createCompanyBlock(createServiceTransport(urls.company), blockConfig);\n }, [createServiceTransport, urls.company, blockConfig]);\n\n const rewards = useMemo(() => {\n if (!urls.rewards) {\n return createUnconfiguredServiceProxy<RewardsBlock>('rewards', 'rewards');\n }\n return createRewardsBlock(createServiceTransport(urls.rewards), blockConfig);\n }, [createServiceTransport, urls.rewards, blockConfig]);\n\n const sales = useMemo(() => {\n if (!urls.sales) {\n return createUnconfiguredServiceProxy<SalesBlock>('sales', 'sales');\n }\n return createSalesBlock(createServiceTransport(urls.sales), blockConfig);\n }, [createServiceTransport, urls.sales, blockConfig]);\n\n const wallet = useMemo(() => {\n if (!urls.wallet) {\n return createUnconfiguredServiceProxy<WalletBlock>('wallet', 'wallet');\n }\n return createWalletBlock(createServiceTransport(urls.wallet), blockConfig);\n }, [createServiceTransport, urls.wallet, blockConfig]);\n\n const jarvis = useMemo(() => {\n if (!urls.jarvis) {\n return createUnconfiguredServiceProxy<JarvisBlock>('jarvis', 'jarvis');\n }\n return createJarvisBlock(createServiceTransport(urls.jarvis), blockConfig);\n }, [createServiceTransport, urls.jarvis, blockConfig]);\n\n const onboarding = useMemo(() => {\n if (!urls.onboarding) {\n return createUnconfiguredServiceProxy<OnboardingBlock>('onboarding', 'onboarding');\n }\n return createOnboardingBlock(createServiceTransport(urls.onboarding), blockConfig);\n }, [createServiceTransport, urls.onboarding, blockConfig]);\n\n const university = useMemo(() => {\n if (!urls.university) {\n return createUnconfiguredServiceProxy<UniversityBlock>('university', 'university');\n }\n return createUniversityBlock(createServiceTransport(urls.university), blockConfig);\n }, [createServiceTransport, urls.university, blockConfig]);\n\n // Check if authentication is configured for auth methods\n const isAuthConfigured = !!urls.authentication;\n\n // Auth methods with automatic token management\n const signIn = useCallback(async (request: SignInRequest): Promise<SignInResponse> => {\n if (!isAuthConfigured) {\n throw new Error(\n '[23blocks] Cannot call signIn: The authentication service URL is not configured. ' +\n \"Add 'urls.authentication' to your Provider configuration.\"\n );\n }\n const response = await (authentication as AuthenticationBlock).auth.signIn(request);\n if (authMode === 'token' && tokenManager && response.accessToken) {\n tokenManager.setTokens(response.accessToken, response.refreshToken);\n }\n return response;\n }, [authentication, authMode, tokenManager, isAuthConfigured]);\n\n const signUp = useCallback(async (request: SignUpRequest): Promise<SignUpResponse> => {\n if (!isAuthConfigured) {\n throw new Error(\n '[23blocks] Cannot call signUp: The authentication service URL is not configured. ' +\n \"Add 'urls.authentication' to your Provider configuration.\"\n );\n }\n const response = await (authentication as AuthenticationBlock).auth.signUp(request);\n if (authMode === 'token' && tokenManager && response.accessToken) {\n tokenManager.setTokens(response.accessToken);\n }\n return response;\n }, [authentication, authMode, tokenManager, isAuthConfigured]);\n\n const signOut = useCallback(async (): Promise<void> => {\n if (!isAuthConfigured) {\n throw new Error(\n '[23blocks] Cannot call signOut: The authentication service URL is not configured. ' +\n \"Add 'urls.authentication' to your Provider configuration.\"\n );\n }\n await (authentication as AuthenticationBlock).auth.signOut();\n if (authMode === 'token' && tokenManager) {\n tokenManager.clearTokens();\n }\n }, [authentication, authMode, tokenManager, isAuthConfigured]);\n\n // Token utilities\n const getAccessToken = useCallback(() => tokenManager?.getAccessToken() ?? null, [tokenManager]);\n const getRefreshToken = useCallback(() => tokenManager?.getRefreshToken() ?? null, [tokenManager]);\n const setTokens = useCallback((accessToken: string, refreshToken?: string) => {\n tokenManager?.setTokens(accessToken, refreshToken);\n }, [tokenManager]);\n const clearTokens = useCallback(() => tokenManager?.clearTokens(), [tokenManager]);\n const isAuthenticated = useCallback((): boolean | null => {\n if (authMode === 'cookie') return null;\n return tokenManager ? !!tokenManager.getAccessToken() : false;\n }, [authMode, tokenManager]);\n const onStorageChange = useCallback((callback: () => void): (() => void) => {\n return tokenManager?.onStorageChange(callback) ?? (() => {});\n }, [tokenManager]);\n\n const value = useMemo<ClientContext>(() => ({\n // Blocks\n authentication,\n search,\n products,\n crm,\n content,\n geolocation,\n conversations,\n files,\n forms,\n assets,\n campaigns,\n company,\n rewards,\n sales,\n wallet,\n jarvis,\n onboarding,\n university,\n\n // Auth with token management\n signIn,\n signUp,\n signOut,\n\n // Token utilities\n getAccessToken,\n getRefreshToken,\n setTokens,\n clearTokens,\n isAuthenticated,\n onStorageChange,\n\n // Config\n authMode,\n }), [\n authentication, search, products, crm, content, geolocation, conversations,\n files, forms, assets, campaigns, company, rewards, sales, wallet, jarvis,\n onboarding, university, signIn, signUp, signOut, getAccessToken, getRefreshToken,\n setTokens, clearTokens, isAuthenticated, onStorageChange, authMode,\n ]);\n\n return (\n <Blocks23Context.Provider value={value}>\n {children}\n </Blocks23Context.Provider>\n );\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Hooks\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Hook to access all 23blocks services.\n *\n * @example\n * ```tsx\n * function Dashboard() {\n * const { products, crm, files } = useClient();\n *\n * // Access any service\n * const loadProducts = async () => {\n * const { data } = await products.products.list({ limit: 10 });\n * };\n * }\n * ```\n */\nexport function useClient(): ClientContext {\n const context = useContext(Blocks23Context);\n if (!context) {\n throw new Error('useClient must be used within a Provider');\n }\n return context;\n}\n\n/**\n * Hook for authentication operations with automatic token management.\n *\n * @example\n * ```tsx\n * function LoginPage() {\n * const { signIn, signOut, isAuthenticated } = useAuth();\n *\n * const handleLogin = async () => {\n * await signIn({ email: 'user@example.com', password: 'password' });\n * };\n *\n * return (\n * <div>\n * {isAuthenticated() ? (\n * <button onClick={signOut}>Sign Out</button>\n * ) : (\n * <button onClick={handleLogin}>Sign In</button>\n * )}\n * </div>\n * );\n * }\n * ```\n */\nexport function useAuth() {\n const context = useClient();\n return {\n signIn: context.signIn,\n signUp: context.signUp,\n signOut: context.signOut,\n getAccessToken: context.getAccessToken,\n getRefreshToken: context.getRefreshToken,\n setTokens: context.setTokens,\n clearTokens: context.clearTokens,\n isAuthenticated: context.isAuthenticated,\n onStorageChange: context.onStorageChange,\n authentication: context.authentication,\n };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Backward Compatibility Aliases (deprecated)\n// ─────────────────────────────────────────────────────────────────────────────\n\n/** @deprecated Use `Provider` instead */\nexport const SimpleBlocks23Provider = Provider;\n\n/** @deprecated Use `ProviderProps` instead */\nexport type SimpleBlocks23ProviderProps = ProviderProps;\n\n/** @deprecated Use `ClientContext` instead */\nexport type SimpleBlocks23Context = ClientContext;\n\n/** @deprecated Use `useClient` instead */\nexport const useSimpleBlocks23 = useClient;\n\n/** @deprecated Use `useAuth` instead */\nexport const useSimpleAuth = useAuth;\n"],"names":["createContext","useContext","useMemo","useCallback","createHttpTransport","createAuthenticationBlock","createSearchBlock","createProductsBlock","createCrmBlock","createContentBlock","createGeolocationBlock","createConversationsBlock","createFilesBlock","createFormsBlock","createAssetsBlock","createCampaignsBlock","createCompanyBlock","createRewardsBlock","createSalesBlock","createWalletBlock","createJarvisBlock","createOnboardingBlock","createUniversityBlock","getStorageKey","type","appId","tenantId","scope","MemoryStorage","getItem","key","data","get","setItem","value","set","removeItem","delete","Map","createTokenManager","storageType","isBrowser","window","localStorage","accessTokenKey","refreshTokenKey","storage","sessionStorage","getAccessToken","getRefreshToken","setTokens","accessToken","refreshToken","console","warn","clearTokens","onStorageChange","callback","handler","event","addEventListener","removeEventListener","Blocks23Context","createUnconfiguredServiceProxy","serviceName","urlKey","Proxy","_target","prop","Error","String","Provider","children","urls","authMode","headers","staticHeaders","timeout","tokenManager","createServiceTransport","baseUrl","credentials","undefined","appid","token","blockConfig","authentication","search","products","crm","content","geolocation","conversations","files","forms","assets","campaigns","company","rewards","sales","wallet","jarvis","onboarding","university","isAuthConfigured","signIn","request","response","auth","signUp","signOut","isAuthenticated","useClient","context","useAuth","SimpleBlocks23Provider","useSimpleBlocks23","useSimpleAuth"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|