@thunderid/react 0.3.3 → 0.3.5
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/ThunderIDReactClient.d.ts +1 -5
- package/dist/ThunderIDReactClient.d.ts.map +1 -1
- package/dist/ThunderIDReactClient.js +1 -68
- package/dist/ThunderIDReactClient.js.map +1 -1
- package/dist/cjs/ThunderIDReactClient.cjs +0 -67
- package/dist/cjs/ThunderIDReactClient.cjs.map +1 -1
- package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs +1 -1
- package/dist/cjs/components/presentation/UserAvatar/BaseUserAvatar.cjs +57 -0
- package/dist/cjs/components/presentation/UserAvatar/BaseUserAvatar.cjs.map +1 -0
- package/dist/cjs/components/presentation/UserAvatar/UserAvatar.cjs +36 -0
- package/dist/cjs/components/presentation/UserAvatar/UserAvatar.cjs.map +1 -0
- package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs +6 -5
- package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs.map +1 -1
- package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs +3 -15
- package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -1
- package/dist/cjs/contexts/Theme/ThemeContext.cjs.map +1 -1
- package/dist/cjs/contexts/Theme/ThemeProvider.cjs +2 -5
- package/dist/cjs/contexts/Theme/ThemeProvider.cjs.map +1 -1
- package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs +0 -2
- package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -1
- package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +14 -90
- package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
- package/dist/cjs/index.cjs +6 -51
- package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js +1 -1
- package/dist/components/presentation/UserAvatar/BaseUserAvatar.d.ts +50 -0
- package/dist/components/presentation/UserAvatar/BaseUserAvatar.d.ts.map +1 -0
- package/dist/components/presentation/UserAvatar/BaseUserAvatar.js +55 -0
- package/dist/components/presentation/UserAvatar/BaseUserAvatar.js.map +1 -0
- package/dist/components/presentation/UserAvatar/UserAvatar.d.ts +46 -0
- package/dist/components/presentation/UserAvatar/UserAvatar.d.ts.map +1 -0
- package/dist/components/presentation/UserAvatar/UserAvatar.js +34 -0
- package/dist/components/presentation/UserAvatar/UserAvatar.js.map +1 -0
- package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts.map +1 -1
- package/dist/components/presentation/UserDropdown/BaseUserDropdown.js +6 -5
- package/dist/components/presentation/UserDropdown/BaseUserDropdown.js.map +1 -1
- package/dist/components/presentation/auth/AuthOptionFactory.d.ts +2 -2
- package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
- package/dist/components/presentation/auth/AuthOptionFactory.js +3 -15
- package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -1
- package/dist/contexts/Theme/ThemeContext.d.ts +0 -12
- package/dist/contexts/Theme/ThemeContext.d.ts.map +1 -1
- package/dist/contexts/Theme/ThemeContext.js.map +1 -1
- package/dist/contexts/Theme/ThemeProvider.d.ts +0 -4
- package/dist/contexts/Theme/ThemeProvider.d.ts.map +1 -1
- package/dist/contexts/Theme/ThemeProvider.js +2 -5
- package/dist/contexts/Theme/ThemeProvider.js.map +1 -1
- package/dist/contexts/ThunderID/ThunderIDContext.d.ts +2 -3
- package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
- package/dist/contexts/ThunderID/ThunderIDContext.js +0 -2
- package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -1
- package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
- package/dist/contexts/ThunderID/ThunderIDProvider.js +15 -91
- package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
- package/dist/index.d.ts +4 -40
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -27
- package/package.json +2 -2
- package/dist/api/createOrganization.d.ts +0 -86
- package/dist/api/createOrganization.d.ts.map +0 -1
- package/dist/api/createOrganization.js +0 -80
- package/dist/api/createOrganization.js.map +0 -1
- package/dist/api/getAllOrganizations.d.ts +0 -78
- package/dist/api/getAllOrganizations.d.ts.map +0 -1
- package/dist/api/getAllOrganizations.js +0 -71
- package/dist/api/getAllOrganizations.js.map +0 -1
- package/dist/api/getMeOrganizations.d.ts +0 -82
- package/dist/api/getMeOrganizations.d.ts.map +0 -1
- package/dist/api/getMeOrganizations.js +0 -75
- package/dist/api/getMeOrganizations.js.map +0 -1
- package/dist/api/getOrganization.d.ts +0 -74
- package/dist/api/getOrganization.d.ts.map +0 -1
- package/dist/api/getOrganization.js +0 -67
- package/dist/api/getOrganization.js.map +0 -1
- package/dist/api/getSchemas.d.ts +0 -72
- package/dist/api/getSchemas.d.ts.map +0 -1
- package/dist/api/getSchemas.js +0 -65
- package/dist/api/getSchemas.js.map +0 -1
- package/dist/api/updateOrganization.d.ts +0 -81
- package/dist/api/updateOrganization.d.ts.map +0 -1
- package/dist/api/updateOrganization.js +0 -74
- package/dist/api/updateOrganization.js.map +0 -1
- package/dist/cjs/api/createOrganization.cjs +0 -82
- package/dist/cjs/api/createOrganization.cjs.map +0 -1
- package/dist/cjs/api/getAllOrganizations.cjs +0 -73
- package/dist/cjs/api/getAllOrganizations.cjs.map +0 -1
- package/dist/cjs/api/getMeOrganizations.cjs +0 -77
- package/dist/cjs/api/getMeOrganizations.cjs.map +0 -1
- package/dist/cjs/api/getOrganization.cjs +0 -69
- package/dist/cjs/api/getOrganization.cjs.map +0 -1
- package/dist/cjs/api/getSchemas.cjs +0 -67
- package/dist/cjs/api/getSchemas.cjs.map +0 -1
- package/dist/cjs/api/updateOrganization.cjs +0 -76
- package/dist/cjs/api/updateOrganization.cjs.map +0 -1
- package/dist/cjs/components/control/OrganizationContext/OrganizationContext.cjs +0 -34
- package/dist/cjs/components/control/OrganizationContext/OrganizationContext.cjs.map +0 -1
- package/dist/cjs/components/control/OrganizationContext/OrganizationContextController.cjs +0 -58
- package/dist/cjs/components/control/OrganizationContext/OrganizationContextController.cjs.map +0 -1
- package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.cjs +0 -183
- package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.cjs.map +0 -1
- package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs +0 -150
- package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs.map +0 -1
- package/dist/cjs/components/presentation/CreateOrganization/CreateOrganization.cjs +0 -90
- package/dist/cjs/components/presentation/CreateOrganization/CreateOrganization.cjs.map +0 -1
- package/dist/cjs/components/presentation/Organization/BaseOrganization.cjs +0 -41
- package/dist/cjs/components/presentation/Organization/BaseOrganization.cjs.map +0 -1
- package/dist/cjs/components/presentation/Organization/Organization.cjs +0 -49
- package/dist/cjs/components/presentation/Organization/Organization.cjs.map +0 -1
- package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.cjs +0 -257
- package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.cjs.map +0 -1
- package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.styles.cjs +0 -236
- package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.styles.cjs.map +0 -1
- package/dist/cjs/components/presentation/OrganizationList/OrganizationList.cjs +0 -86
- package/dist/cjs/components/presentation/OrganizationList/OrganizationList.cjs.map +0 -1
- package/dist/cjs/components/presentation/OrganizationList/OrganizationList.styles.cjs +0 -75
- package/dist/cjs/components/presentation/OrganizationList/OrganizationList.styles.cjs.map +0 -1
- package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs +0 -328
- package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs.map +0 -1
- package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.cjs +0 -166
- package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.cjs.map +0 -1
- package/dist/cjs/components/presentation/OrganizationProfile/OrganizationProfile.cjs +0 -126
- package/dist/cjs/components/presentation/OrganizationProfile/OrganizationProfile.cjs.map +0 -1
- package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.cjs +0 -288
- package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.cjs.map +0 -1
- package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.cjs +0 -237
- package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.cjs.map +0 -1
- package/dist/cjs/components/presentation/OrganizationSwitcher/OrganizationSwitcher.cjs +0 -127
- package/dist/cjs/components/presentation/OrganizationSwitcher/OrganizationSwitcher.cjs.map +0 -1
- package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.cjs +0 -183
- package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.cjs.map +0 -1
- package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.cjs +0 -128
- package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.cjs.map +0 -1
- package/dist/cjs/components/primitives/Icons/Building.cjs +0 -75
- package/dist/cjs/components/primitives/Icons/Building.cjs.map +0 -1
- package/dist/cjs/contexts/Branding/BrandingContext.cjs +0 -12
- package/dist/cjs/contexts/Branding/BrandingContext.cjs.map +0 -1
- package/dist/cjs/contexts/Branding/BrandingProvider.cjs +0 -96
- package/dist/cjs/contexts/Branding/BrandingProvider.cjs.map +0 -1
- package/dist/cjs/contexts/Branding/useBrandingContext.cjs +0 -40
- package/dist/cjs/contexts/Branding/useBrandingContext.cjs.map +0 -1
- package/dist/cjs/contexts/Organization/OrganizationContext.cjs +0 -27
- package/dist/cjs/contexts/Organization/OrganizationContext.cjs.map +0 -1
- package/dist/cjs/contexts/Organization/OrganizationProvider.cjs +0 -97
- package/dist/cjs/contexts/Organization/OrganizationProvider.cjs.map +0 -1
- package/dist/cjs/contexts/Organization/useOrganization.cjs +0 -100
- package/dist/cjs/contexts/Organization/useOrganization.cjs.map +0 -1
- package/dist/cjs/hooks/useBranding.cjs +0 -71
- package/dist/cjs/hooks/useBranding.cjs.map +0 -1
- package/dist/components/control/OrganizationContext/OrganizationContext.d.ts +0 -40
- package/dist/components/control/OrganizationContext/OrganizationContext.d.ts.map +0 -1
- package/dist/components/control/OrganizationContext/OrganizationContext.js +0 -32
- package/dist/components/control/OrganizationContext/OrganizationContext.js.map +0 -1
- package/dist/components/control/OrganizationContext/OrganizationContextController.d.ts +0 -35
- package/dist/components/control/OrganizationContext/OrganizationContextController.d.ts.map +0 -1
- package/dist/components/control/OrganizationContext/OrganizationContextController.js +0 -55
- package/dist/components/control/OrganizationContext/OrganizationContextController.js.map +0 -1
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.d.ts +0 -60
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.d.ts.map +0 -1
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js +0 -178
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js.map +0 -1
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.d.ts +0 -27
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.d.ts.map +0 -1
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.js +0 -147
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.js.map +0 -1
- package/dist/components/presentation/CreateOrganization/CreateOrganization.d.ts +0 -68
- package/dist/components/presentation/CreateOrganization/CreateOrganization.d.ts.map +0 -1
- package/dist/components/presentation/CreateOrganization/CreateOrganization.js +0 -87
- package/dist/components/presentation/CreateOrganization/CreateOrganization.js.map +0 -1
- package/dist/components/presentation/Organization/BaseOrganization.d.ts +0 -67
- package/dist/components/presentation/Organization/BaseOrganization.d.ts.map +0 -1
- package/dist/components/presentation/Organization/BaseOrganization.js +0 -39
- package/dist/components/presentation/Organization/BaseOrganization.js.map +0 -1
- package/dist/components/presentation/Organization/Organization.d.ts +0 -67
- package/dist/components/presentation/Organization/Organization.d.ts.map +0 -1
- package/dist/components/presentation/Organization/Organization.js +0 -47
- package/dist/components/presentation/Organization/Organization.js.map +0 -1
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.d.ts +0 -135
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.d.ts.map +0 -1
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.js +0 -252
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.js.map +0 -1
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.d.ts +0 -27
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.d.ts.map +0 -1
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.js +0 -233
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.js.map +0 -1
- package/dist/components/presentation/OrganizationList/OrganizationList.d.ts +0 -93
- package/dist/components/presentation/OrganizationList/OrganizationList.d.ts.map +0 -1
- package/dist/components/presentation/OrganizationList/OrganizationList.js +0 -82
- package/dist/components/presentation/OrganizationList/OrganizationList.js.map +0 -1
- package/dist/components/presentation/OrganizationList/OrganizationList.styles.d.ts +0 -27
- package/dist/components/presentation/OrganizationList/OrganizationList.styles.d.ts.map +0 -1
- package/dist/components/presentation/OrganizationList/OrganizationList.styles.js +0 -72
- package/dist/components/presentation/OrganizationList/OrganizationList.styles.js.map +0 -1
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.d.ts +0 -160
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.d.ts.map +0 -1
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js +0 -323
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js.map +0 -1
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.d.ts +0 -27
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.d.ts.map +0 -1
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.js +0 -163
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.js.map +0 -1
- package/dist/components/presentation/OrganizationProfile/OrganizationProfile.d.ts +0 -120
- package/dist/components/presentation/OrganizationProfile/OrganizationProfile.d.ts.map +0 -1
- package/dist/components/presentation/OrganizationProfile/OrganizationProfile.js +0 -122
- package/dist/components/presentation/OrganizationProfile/OrganizationProfile.js.map +0 -1
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.d.ts +0 -149
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.d.ts.map +0 -1
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.js +0 -282
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.js.map +0 -1
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.d.ts +0 -27
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.d.ts.map +0 -1
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.js +0 -234
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.js.map +0 -1
- package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts +0 -71
- package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts.map +0 -1
- package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js +0 -124
- package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js.map +0 -1
- package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.d.ts +0 -30
- package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.d.ts.map +0 -1
- package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.js +0 -179
- package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.js.map +0 -1
- package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.d.ts +0 -21
- package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.d.ts.map +0 -1
- package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.js +0 -125
- package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.js.map +0 -1
- package/dist/components/presentation/auth/OrganizationUnitPicker/index.d.ts +0 -20
- package/dist/components/presentation/auth/OrganizationUnitPicker/index.d.ts.map +0 -1
- package/dist/components/primitives/Icons/Building.js +0 -73
- package/dist/components/primitives/Icons/Building.js.map +0 -1
- package/dist/contexts/Branding/BrandingContext.d.ts +0 -53
- package/dist/contexts/Branding/BrandingContext.d.ts.map +0 -1
- package/dist/contexts/Branding/BrandingContext.js +0 -10
- package/dist/contexts/Branding/BrandingContext.js.map +0 -1
- package/dist/contexts/Branding/BrandingProvider.d.ts +0 -89
- package/dist/contexts/Branding/BrandingProvider.d.ts.map +0 -1
- package/dist/contexts/Branding/BrandingProvider.js +0 -92
- package/dist/contexts/Branding/BrandingProvider.js.map +0 -1
- package/dist/contexts/Branding/useBrandingContext.d.ts +0 -45
- package/dist/contexts/Branding/useBrandingContext.d.ts.map +0 -1
- package/dist/contexts/Branding/useBrandingContext.js +0 -38
- package/dist/contexts/Branding/useBrandingContext.js.map +0 -1
- package/dist/contexts/Organization/OrganizationContext.d.ts +0 -41
- package/dist/contexts/Organization/OrganizationContext.d.ts.map +0 -1
- package/dist/contexts/Organization/OrganizationContext.js +0 -25
- package/dist/contexts/Organization/OrganizationContext.js.map +0 -1
- package/dist/contexts/Organization/OrganizationProvider.d.ts +0 -94
- package/dist/contexts/Organization/OrganizationProvider.d.ts.map +0 -1
- package/dist/contexts/Organization/OrganizationProvider.js +0 -93
- package/dist/contexts/Organization/OrganizationProvider.js.map +0 -1
- package/dist/contexts/Organization/useOrganization.d.ts +0 -105
- package/dist/contexts/Organization/useOrganization.d.ts.map +0 -1
- package/dist/contexts/Organization/useOrganization.js +0 -98
- package/dist/contexts/Organization/useOrganization.js.map +0 -1
- package/dist/hooks/useBranding.d.ts +0 -128
- package/dist/hooks/useBranding.d.ts.map +0 -1
- package/dist/hooks/useBranding.js +0 -69
- package/dist/hooks/useBranding.js.map +0 -1
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import OrganizationContext_default from "./OrganizationContext.js";
|
|
2
|
-
import { ThunderIDRuntimeError } from "@thunderid/browser";
|
|
3
|
-
import { useCallback, useMemo, useState } from "react";
|
|
4
|
-
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
|
|
6
|
-
//#region src/contexts/Organization/OrganizationProvider.tsx
|
|
7
|
-
/**
|
|
8
|
-
* OrganizationProvider component that manages organization data and provides it through OrganizationContext.
|
|
9
|
-
*
|
|
10
|
-
* This provider:
|
|
11
|
-
* - Fetches organization data from the organizations endpoint
|
|
12
|
-
* - Manages current organization state
|
|
13
|
-
* - Provides functions for switching organizations and refreshing data
|
|
14
|
-
* - Handles loading states and errors
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```tsx
|
|
18
|
-
* // Basic usage with auto-fetch (uses internal API)
|
|
19
|
-
* <OrganizationProvider>
|
|
20
|
-
* <App />
|
|
21
|
-
* </OrganizationProvider>
|
|
22
|
-
*
|
|
23
|
-
* // With custom error handling
|
|
24
|
-
* <OrganizationProvider onError={(error) => console.error('Organization error:', error)}>
|
|
25
|
-
* <App />
|
|
26
|
-
* </OrganizationProvider>
|
|
27
|
-
*
|
|
28
|
-
* // With custom organization switch handler
|
|
29
|
-
* <OrganizationProvider
|
|
30
|
-
* onOrganizationSwitch={(org) => console.log('Switched to:', org.name)}
|
|
31
|
-
* >
|
|
32
|
-
* <App />
|
|
33
|
-
* </OrganizationProvider>
|
|
34
|
-
*
|
|
35
|
-
* // Disable auto-fetch (fetch manually using revalidateMyOrganizations)
|
|
36
|
-
* <OrganizationProvider autoFetch={false}>
|
|
37
|
-
* <App />
|
|
38
|
-
* </OrganizationProvider>
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
const OrganizationProvider = ({ children, currentOrganization, onError, myOrganizations, onOrganizationSwitch, revalidateMyOrganizations, getAllOrganizations: getAllOrganizations$1, createOrganization: createOrganization$1 }) => {
|
|
42
|
-
const [isLoading, setIsLoading] = useState(false);
|
|
43
|
-
const [error, setError] = useState(null);
|
|
44
|
-
/**
|
|
45
|
-
* Switches to a different organization
|
|
46
|
-
*/
|
|
47
|
-
const switchOrganization = useCallback(async (organization) => {
|
|
48
|
-
if (!onOrganizationSwitch) throw new ThunderIDRuntimeError("onOrganizationSwitch callback is required", "OrganizationProvider-SwitchError-001", "react", "The onOrganizationSwitch callback must be provided to handle organization switching.");
|
|
49
|
-
setIsLoading(true);
|
|
50
|
-
setError(null);
|
|
51
|
-
try {
|
|
52
|
-
await onOrganizationSwitch(organization);
|
|
53
|
-
} catch (switchError) {
|
|
54
|
-
const errorMessage = switchError instanceof Error ? switchError.message : "Failed to switch organization";
|
|
55
|
-
setError(errorMessage);
|
|
56
|
-
if (onError) onError(errorMessage);
|
|
57
|
-
throw switchError;
|
|
58
|
-
} finally {
|
|
59
|
-
setIsLoading(false);
|
|
60
|
-
}
|
|
61
|
-
}, [onOrganizationSwitch, onError]);
|
|
62
|
-
const contextValue = useMemo(() => ({
|
|
63
|
-
createOrganization: createOrganization$1,
|
|
64
|
-
currentOrganization: currentOrganization ?? null,
|
|
65
|
-
error,
|
|
66
|
-
getAllOrganizations: getAllOrganizations$1 ?? (() => Promise.resolve({
|
|
67
|
-
count: 0,
|
|
68
|
-
organizations: []
|
|
69
|
-
})),
|
|
70
|
-
isLoading,
|
|
71
|
-
myOrganizations: myOrganizations ?? [],
|
|
72
|
-
revalidateMyOrganizations,
|
|
73
|
-
switchOrganization
|
|
74
|
-
}), [
|
|
75
|
-
currentOrganization,
|
|
76
|
-
error,
|
|
77
|
-
isLoading,
|
|
78
|
-
myOrganizations,
|
|
79
|
-
switchOrganization,
|
|
80
|
-
revalidateMyOrganizations,
|
|
81
|
-
getAllOrganizations$1,
|
|
82
|
-
createOrganization$1
|
|
83
|
-
]);
|
|
84
|
-
return /* @__PURE__ */ jsx(OrganizationContext_default.Provider, {
|
|
85
|
-
value: contextValue,
|
|
86
|
-
children
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
var OrganizationProvider_default = OrganizationProvider;
|
|
90
|
-
|
|
91
|
-
//#endregion
|
|
92
|
-
export { OrganizationProvider_default as default };
|
|
93
|
-
//# sourceMappingURL=OrganizationProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrganizationProvider.js","names":["OrganizationProvider: FC<PropsWithChildren<OrganizationProviderProps>>","switchOrganization: (organization: Organization) => Promise<void>","errorMessage: string","contextValue: OrganizationContextProps","getAllOrganizations","createOrganization","OrganizationContext"],"sources":["../../../src/contexts/Organization/OrganizationProvider.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {\n ThunderIDRuntimeError,\n Organization,\n AllOrganizationsApiResponse,\n CreateOrganizationPayload,\n TokenResponse,\n} from '@thunderid/browser';\nimport {FC, PropsWithChildren, ReactElement, useCallback, useMemo, useState} from 'react';\nimport OrganizationContext, {OrganizationContextProps} from './OrganizationContext';\n\n/**\n * Props interface of {@link OrganizationProvider}\n */\nexport interface OrganizationProviderProps {\n /**\n * Whether to automatically fetch organizations on mount\n */\n autoFetch?: boolean;\n /**\n * Function to create a new organization.\n */\n createOrganization?: (payload: CreateOrganizationPayload, sessionId: string) => Promise<Organization>;\n /**\n * Initial current organization\n */\n currentOrganization?: Organization | null;\n /**\n * Initial list of organizations\n */\n getAllOrganizations?: () => Promise<AllOrganizationsApiResponse>;\n /**\n * List of organizations the signed-in user belongs to.\n */\n myOrganizations?: Organization[];\n /**\n * Callback function called when an error occurs\n */\n onError?: (error: string) => void;\n /**\n * Callback function called when switching organizations\n */\n onOrganizationSwitch?: (organization: Organization) => Promise<TokenResponse | Response>;\n /**\n * Refetch the my organizations list.\n * @returns\n */\n revalidateMyOrganizations: () => Promise<Organization[]>;\n}\n\n/**\n * OrganizationProvider component that manages organization data and provides it through OrganizationContext.\n *\n * This provider:\n * - Fetches organization data from the organizations endpoint\n * - Manages current organization state\n * - Provides functions for switching organizations and refreshing data\n * - Handles loading states and errors\n *\n * @example\n * ```tsx\n * // Basic usage with auto-fetch (uses internal API)\n * <OrganizationProvider>\n * <App />\n * </OrganizationProvider>\n *\n * // With custom error handling\n * <OrganizationProvider onError={(error) => console.error('Organization error:', error)}>\n * <App />\n * </OrganizationProvider>\n *\n * // With custom organization switch handler\n * <OrganizationProvider\n * onOrganizationSwitch={(org) => console.log('Switched to:', org.name)}\n * >\n * <App />\n * </OrganizationProvider>\n *\n * // Disable auto-fetch (fetch manually using revalidateMyOrganizations)\n * <OrganizationProvider autoFetch={false}>\n * <App />\n * </OrganizationProvider>\n * ```\n */\nconst OrganizationProvider: FC<PropsWithChildren<OrganizationProviderProps>> = ({\n children,\n currentOrganization,\n onError,\n myOrganizations,\n onOrganizationSwitch,\n revalidateMyOrganizations,\n getAllOrganizations,\n createOrganization,\n}: PropsWithChildren<OrganizationProviderProps>): ReactElement => {\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n /**\n * Switches to a different organization\n */\n const switchOrganization: (organization: Organization) => Promise<void> = useCallback(\n async (organization: Organization): Promise<void> => {\n if (!onOrganizationSwitch) {\n throw new ThunderIDRuntimeError(\n 'onOrganizationSwitch callback is required',\n 'OrganizationProvider-SwitchError-001',\n 'react',\n 'The onOrganizationSwitch callback must be provided to handle organization switching.',\n );\n }\n\n setIsLoading(true);\n setError(null);\n\n try {\n await onOrganizationSwitch(organization);\n // The organization state will be updated by the parent provider\n } catch (switchError) {\n const errorMessage: string =\n switchError instanceof Error ? switchError.message : 'Failed to switch organization';\n setError(errorMessage);\n if (onError) {\n onError(errorMessage);\n }\n throw switchError; // Re-throw so the UI can handle it\n } finally {\n setIsLoading(false);\n }\n },\n [onOrganizationSwitch, onError],\n );\n\n const contextValue: OrganizationContextProps = useMemo(\n () => ({\n createOrganization,\n currentOrganization: currentOrganization ?? null,\n error,\n getAllOrganizations:\n getAllOrganizations ??\n ((): Promise<AllOrganizationsApiResponse> => Promise.resolve({count: 0, organizations: []})),\n isLoading,\n myOrganizations: myOrganizations ?? [],\n revalidateMyOrganizations,\n switchOrganization,\n }),\n [\n currentOrganization,\n error,\n isLoading,\n myOrganizations,\n switchOrganization,\n revalidateMyOrganizations,\n getAllOrganizations,\n createOrganization,\n ],\n );\n\n return <OrganizationContext.Provider value={contextValue}>{children}</OrganizationContext.Provider>;\n};\n\nexport default OrganizationProvider;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqGA,MAAMA,wBAA0E,EAC9E,UACA,qBACA,SACA,iBACA,sBACA,2BACA,4CACA,+CACgE;CAChE,MAAM,CAAC,WAAW,gBAAgB,SAAkB,MAAM;CAC1D,MAAM,CAAC,OAAO,YAAY,SAAwB,KAAK;;;;CAKvD,MAAMC,qBAAoE,YACxE,OAAO,iBAA8C;AACnD,MAAI,CAAC,qBACH,OAAM,IAAI,sBACR,6CACA,wCACA,SACA,uFACD;AAGH,eAAa,KAAK;AAClB,WAAS,KAAK;AAEd,MAAI;AACF,SAAM,qBAAqB,aAAa;WAEjC,aAAa;GACpB,MAAMC,eACJ,uBAAuB,QAAQ,YAAY,UAAU;AACvD,YAAS,aAAa;AACtB,OAAI,QACF,SAAQ,aAAa;AAEvB,SAAM;YACE;AACR,gBAAa,MAAM;;IAGvB,CAAC,sBAAsB,QAAQ,CAChC;CAED,MAAMC,eAAyC,eACtC;EACL;EACA,qBAAqB,uBAAuB;EAC5C;EACA,qBACEC,gCAC6C,QAAQ,QAAQ;GAAC,OAAO;GAAG,eAAe,EAAE;GAAC,CAAC;EAC7F;EACA,iBAAiB,mBAAmB,EAAE;EACtC;EACA;EACD,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACAA;EACAC;EACD,CACF;AAED,QAAO,oBAACC,4BAAoB;EAAS,OAAO;EAAe;GAAwC;;AAGrG,mCAAe"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).
|
|
3
|
-
*
|
|
4
|
-
* WSO2 LLC. licenses this file to you under the Apache License,
|
|
5
|
-
* Version 2.0 (the "License"); you may not use this file except
|
|
6
|
-
* in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing,
|
|
12
|
-
* software distributed under the License is distributed on an
|
|
13
|
-
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
-
* KIND, either express or implied. See the License for the
|
|
15
|
-
* specific language governing permissions and limitations
|
|
16
|
-
* under the License.
|
|
17
|
-
*/
|
|
18
|
-
import { OrganizationContextProps } from './OrganizationContext';
|
|
19
|
-
/**
|
|
20
|
-
* Hook to access the Organization context.
|
|
21
|
-
*
|
|
22
|
-
* This hook provides access to organization data including:
|
|
23
|
-
* - List of organizations the user belongs to
|
|
24
|
-
* - Current organization
|
|
25
|
-
* - Functions to switch organizations and refresh data
|
|
26
|
-
* - Function to fetch organizations programmatically
|
|
27
|
-
* - Loading states and error handling
|
|
28
|
-
*
|
|
29
|
-
* @returns {OrganizationContextProps} The organization context value containing all organization-related data and functions
|
|
30
|
-
* @throws {Error} Throws an error if used outside of OrganizationProvider
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```tsx
|
|
34
|
-
* import {useOrganization} from '@thunderid/react';
|
|
35
|
-
*
|
|
36
|
-
* function OrganizationSelector() {
|
|
37
|
-
* const {
|
|
38
|
-
* organizations,
|
|
39
|
-
* currentOrganization,
|
|
40
|
-
* switchOrganization,
|
|
41
|
-
* revalidateMyOrganizations,
|
|
42
|
-
* getOrganizations,
|
|
43
|
-
* isLoading,
|
|
44
|
-
* error
|
|
45
|
-
* } = useOrganization();
|
|
46
|
-
*
|
|
47
|
-
* if (isLoading) {
|
|
48
|
-
* return <div>Loading organizations...</div>;
|
|
49
|
-
* }
|
|
50
|
-
*
|
|
51
|
-
* if (error) {
|
|
52
|
-
* return <div>Error: {error}</div>;
|
|
53
|
-
* }
|
|
54
|
-
*
|
|
55
|
-
* return (
|
|
56
|
-
* <div>
|
|
57
|
-
* <h2>Current: {currentOrganization?.name}</h2>
|
|
58
|
-
* <select
|
|
59
|
-
* value={currentOrganization?.id || ''}
|
|
60
|
-
* onChange={(e) => {
|
|
61
|
-
* const org = organizations?.find(o => o.id === e.target.value);
|
|
62
|
-
* if (org) switchOrganization(org);
|
|
63
|
-
* }}
|
|
64
|
-
* >
|
|
65
|
-
* {organizations?.map(org => (
|
|
66
|
-
* <option key={org.id} value={org.id}>
|
|
67
|
-
* {org.name}
|
|
68
|
-
* </option>
|
|
69
|
-
* ))}
|
|
70
|
-
* </select>
|
|
71
|
-
* <button onClick={revalidateMyOrganizations}>
|
|
72
|
-
* Refresh Organizations
|
|
73
|
-
* </button>
|
|
74
|
-
* <button onClick={async () => {
|
|
75
|
-
* const fresh = await getOrganizations();
|
|
76
|
-
* console.log('Fresh organizations:', fresh);
|
|
77
|
-
* }}>
|
|
78
|
-
* Get Organizations Manually
|
|
79
|
-
* </button>
|
|
80
|
-
* </div>
|
|
81
|
-
* );
|
|
82
|
-
* }
|
|
83
|
-
*
|
|
84
|
-
* // Switch to a specific organization
|
|
85
|
-
* function SwitchOrgButton() {
|
|
86
|
-
* const {organizations, switchOrganization} = useOrganization();
|
|
87
|
-
*
|
|
88
|
-
* const handleSwitch = (orgId: string) => {
|
|
89
|
-
* const org = organizations?.find(o => o.id === orgId);
|
|
90
|
-
* if (org) {
|
|
91
|
-
* switchOrganization(org);
|
|
92
|
-
* }
|
|
93
|
-
* };
|
|
94
|
-
*
|
|
95
|
-
* return (
|
|
96
|
-
* <button onClick={() => handleSwitch('org-123')}>
|
|
97
|
-
* Switch to Organization
|
|
98
|
-
* </button>
|
|
99
|
-
* );
|
|
100
|
-
* }
|
|
101
|
-
* ```
|
|
102
|
-
*/
|
|
103
|
-
declare const useOrganization: () => OrganizationContextProps;
|
|
104
|
-
export default useOrganization;
|
|
105
|
-
//# sourceMappingURL=useOrganization.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useOrganization.d.ts","sourceRoot":"","sources":["../../../src/contexts/Organization/useOrganization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAA4B,EAAC,wBAAwB,EAAC,MAAM,uBAAuB,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,QAAA,MAAM,eAAe,QAAO,wBAQ3B,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import OrganizationContext_default from "./OrganizationContext.js";
|
|
2
|
-
import { useContext } from "react";
|
|
3
|
-
|
|
4
|
-
//#region src/contexts/Organization/useOrganization.ts
|
|
5
|
-
/**
|
|
6
|
-
* Hook to access the Organization context.
|
|
7
|
-
*
|
|
8
|
-
* This hook provides access to organization data including:
|
|
9
|
-
* - List of organizations the user belongs to
|
|
10
|
-
* - Current organization
|
|
11
|
-
* - Functions to switch organizations and refresh data
|
|
12
|
-
* - Function to fetch organizations programmatically
|
|
13
|
-
* - Loading states and error handling
|
|
14
|
-
*
|
|
15
|
-
* @returns {OrganizationContextProps} The organization context value containing all organization-related data and functions
|
|
16
|
-
* @throws {Error} Throws an error if used outside of OrganizationProvider
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```tsx
|
|
20
|
-
* import {useOrganization} from '@thunderid/react';
|
|
21
|
-
*
|
|
22
|
-
* function OrganizationSelector() {
|
|
23
|
-
* const {
|
|
24
|
-
* organizations,
|
|
25
|
-
* currentOrganization,
|
|
26
|
-
* switchOrganization,
|
|
27
|
-
* revalidateMyOrganizations,
|
|
28
|
-
* getOrganizations,
|
|
29
|
-
* isLoading,
|
|
30
|
-
* error
|
|
31
|
-
* } = useOrganization();
|
|
32
|
-
*
|
|
33
|
-
* if (isLoading) {
|
|
34
|
-
* return <div>Loading organizations...</div>;
|
|
35
|
-
* }
|
|
36
|
-
*
|
|
37
|
-
* if (error) {
|
|
38
|
-
* return <div>Error: {error}</div>;
|
|
39
|
-
* }
|
|
40
|
-
*
|
|
41
|
-
* return (
|
|
42
|
-
* <div>
|
|
43
|
-
* <h2>Current: {currentOrganization?.name}</h2>
|
|
44
|
-
* <select
|
|
45
|
-
* value={currentOrganization?.id || ''}
|
|
46
|
-
* onChange={(e) => {
|
|
47
|
-
* const org = organizations?.find(o => o.id === e.target.value);
|
|
48
|
-
* if (org) switchOrganization(org);
|
|
49
|
-
* }}
|
|
50
|
-
* >
|
|
51
|
-
* {organizations?.map(org => (
|
|
52
|
-
* <option key={org.id} value={org.id}>
|
|
53
|
-
* {org.name}
|
|
54
|
-
* </option>
|
|
55
|
-
* ))}
|
|
56
|
-
* </select>
|
|
57
|
-
* <button onClick={revalidateMyOrganizations}>
|
|
58
|
-
* Refresh Organizations
|
|
59
|
-
* </button>
|
|
60
|
-
* <button onClick={async () => {
|
|
61
|
-
* const fresh = await getOrganizations();
|
|
62
|
-
* console.log('Fresh organizations:', fresh);
|
|
63
|
-
* }}>
|
|
64
|
-
* Get Organizations Manually
|
|
65
|
-
* </button>
|
|
66
|
-
* </div>
|
|
67
|
-
* );
|
|
68
|
-
* }
|
|
69
|
-
*
|
|
70
|
-
* // Switch to a specific organization
|
|
71
|
-
* function SwitchOrgButton() {
|
|
72
|
-
* const {organizations, switchOrganization} = useOrganization();
|
|
73
|
-
*
|
|
74
|
-
* const handleSwitch = (orgId: string) => {
|
|
75
|
-
* const org = organizations?.find(o => o.id === orgId);
|
|
76
|
-
* if (org) {
|
|
77
|
-
* switchOrganization(org);
|
|
78
|
-
* }
|
|
79
|
-
* };
|
|
80
|
-
*
|
|
81
|
-
* return (
|
|
82
|
-
* <button onClick={() => handleSwitch('org-123')}>
|
|
83
|
-
* Switch to Organization
|
|
84
|
-
* </button>
|
|
85
|
-
* );
|
|
86
|
-
* }
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
const useOrganization = () => {
|
|
90
|
-
const context = useContext(OrganizationContext_default);
|
|
91
|
-
if (!context) throw new Error("useOrganization must be used within an OrganizationProvider");
|
|
92
|
-
return context;
|
|
93
|
-
};
|
|
94
|
-
var useOrganization_default = useOrganization;
|
|
95
|
-
|
|
96
|
-
//#endregion
|
|
97
|
-
export { useOrganization_default as default };
|
|
98
|
-
//# sourceMappingURL=useOrganization.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useOrganization.js","names":["context: OrganizationContextProps | null","OrganizationContext"],"sources":["../../../src/contexts/Organization/useOrganization.ts"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {useContext} from 'react';\nimport OrganizationContext, {OrganizationContextProps} from './OrganizationContext';\n\n/**\n * Hook to access the Organization context.\n *\n * This hook provides access to organization data including:\n * - List of organizations the user belongs to\n * - Current organization\n * - Functions to switch organizations and refresh data\n * - Function to fetch organizations programmatically\n * - Loading states and error handling\n *\n * @returns {OrganizationContextProps} The organization context value containing all organization-related data and functions\n * @throws {Error} Throws an error if used outside of OrganizationProvider\n *\n * @example\n * ```tsx\n * import {useOrganization} from '@thunderid/react';\n *\n * function OrganizationSelector() {\n * const {\n * organizations,\n * currentOrganization,\n * switchOrganization,\n * revalidateMyOrganizations,\n * getOrganizations,\n * isLoading,\n * error\n * } = useOrganization();\n *\n * if (isLoading) {\n * return <div>Loading organizations...</div>;\n * }\n *\n * if (error) {\n * return <div>Error: {error}</div>;\n * }\n *\n * return (\n * <div>\n * <h2>Current: {currentOrganization?.name}</h2>\n * <select\n * value={currentOrganization?.id || ''}\n * onChange={(e) => {\n * const org = organizations?.find(o => o.id === e.target.value);\n * if (org) switchOrganization(org);\n * }}\n * >\n * {organizations?.map(org => (\n * <option key={org.id} value={org.id}>\n * {org.name}\n * </option>\n * ))}\n * </select>\n * <button onClick={revalidateMyOrganizations}>\n * Refresh Organizations\n * </button>\n * <button onClick={async () => {\n * const fresh = await getOrganizations();\n * console.log('Fresh organizations:', fresh);\n * }}>\n * Get Organizations Manually\n * </button>\n * </div>\n * );\n * }\n *\n * // Switch to a specific organization\n * function SwitchOrgButton() {\n * const {organizations, switchOrganization} = useOrganization();\n *\n * const handleSwitch = (orgId: string) => {\n * const org = organizations?.find(o => o.id === orgId);\n * if (org) {\n * switchOrganization(org);\n * }\n * };\n *\n * return (\n * <button onClick={() => handleSwitch('org-123')}>\n * Switch to Organization\n * </button>\n * );\n * }\n * ```\n */\nconst useOrganization = (): OrganizationContextProps => {\n const context: OrganizationContextProps | null = useContext(OrganizationContext);\n\n if (!context) {\n throw new Error('useOrganization must be used within an OrganizationProvider');\n }\n\n return context;\n};\n\nexport default useOrganization;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyGA,MAAM,wBAAkD;CACtD,MAAMA,UAA2C,WAAWC,4BAAoB;AAEhF,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,8DAA8D;AAGhF,QAAO;;AAGT,8BAAe"}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).
|
|
3
|
-
*
|
|
4
|
-
* WSO2 LLC. licenses this file to you under the Apache License,
|
|
5
|
-
* Version 2.0 (the "License"); you may not use this file except
|
|
6
|
-
* in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing,
|
|
12
|
-
* software distributed under the License is distributed on an
|
|
13
|
-
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
-
* KIND, either express or implied. See the License for the
|
|
15
|
-
* specific language governing permissions and limitations
|
|
16
|
-
* under the License.
|
|
17
|
-
*/
|
|
18
|
-
import { BrandingPreference, Theme } from '@thunderid/browser';
|
|
19
|
-
/**
|
|
20
|
-
* Configuration options for the useBranding hook
|
|
21
|
-
* @deprecated Use BrandingProvider instead for better performance and consistency
|
|
22
|
-
*/
|
|
23
|
-
export interface UseBrandingConfig {
|
|
24
|
-
/**
|
|
25
|
-
* @deprecated This configuration is now handled by BrandingProvider
|
|
26
|
-
*/
|
|
27
|
-
autoFetch?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* @deprecated This configuration is now handled by BrandingProvider
|
|
30
|
-
*/
|
|
31
|
-
fetcher?: (url: string, config: RequestInit) => Promise<Response>;
|
|
32
|
-
/**
|
|
33
|
-
* @deprecated This configuration is now handled by BrandingProvider
|
|
34
|
-
*/
|
|
35
|
-
forceTheme?: 'light' | 'dark';
|
|
36
|
-
/**
|
|
37
|
-
* @deprecated This configuration is now handled by BrandingProvider
|
|
38
|
-
*/
|
|
39
|
-
locale?: string;
|
|
40
|
-
/**
|
|
41
|
-
* @deprecated This configuration is now handled by BrandingProvider
|
|
42
|
-
*/
|
|
43
|
-
name?: string;
|
|
44
|
-
/**
|
|
45
|
-
* @deprecated This configuration is now handled by BrandingProvider
|
|
46
|
-
*/
|
|
47
|
-
type?: string;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Return type of the useBranding hook
|
|
51
|
-
*/
|
|
52
|
-
export interface UseBrandingReturn {
|
|
53
|
-
/**
|
|
54
|
-
* The active theme mode from branding preference ('light' | 'dark')
|
|
55
|
-
*/
|
|
56
|
-
activeTheme: 'light' | 'dark' | null;
|
|
57
|
-
/**
|
|
58
|
-
* The raw branding preference data
|
|
59
|
-
*/
|
|
60
|
-
brandingPreference: BrandingPreference | null;
|
|
61
|
-
/**
|
|
62
|
-
* Error state
|
|
63
|
-
*/
|
|
64
|
-
error: Error | null;
|
|
65
|
-
/**
|
|
66
|
-
* Function to manually fetch branding preference
|
|
67
|
-
*/
|
|
68
|
-
fetchBranding: () => Promise<void>;
|
|
69
|
-
/**
|
|
70
|
-
* Loading state
|
|
71
|
-
*/
|
|
72
|
-
isLoading: boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Function to refetch branding preference
|
|
75
|
-
* This bypasses the single-call restriction and forces a new API call
|
|
76
|
-
*/
|
|
77
|
-
refetch: () => Promise<void>;
|
|
78
|
-
/**
|
|
79
|
-
* The transformed theme object
|
|
80
|
-
*/
|
|
81
|
-
theme: Theme | null;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* React hook for accessing branding preferences from the BrandingProvider context.
|
|
85
|
-
* This hook provides access to branding preferences, theme data, and loading states.
|
|
86
|
-
*
|
|
87
|
-
* @deprecated Consider using useBrandingContext directly for better performance.
|
|
88
|
-
* This hook is maintained for backward compatibility.
|
|
89
|
-
*
|
|
90
|
-
* @param config - Configuration options (deprecated, use BrandingProvider props instead)
|
|
91
|
-
* @returns Object containing branding preference data, theme, loading state, error, and refetch function
|
|
92
|
-
*
|
|
93
|
-
* @example
|
|
94
|
-
* Basic usage:
|
|
95
|
-
* ```tsx
|
|
96
|
-
* function MyComponent() {
|
|
97
|
-
* const { theme, activeTheme, isLoading, error } = useBranding();
|
|
98
|
-
*
|
|
99
|
-
* if (isLoading) return <div>Loading branding...</div>;
|
|
100
|
-
* if (error) return <div>Error: {error.message}</div>;
|
|
101
|
-
*
|
|
102
|
-
* return (
|
|
103
|
-
* <div style={{ color: theme?.colors?.primary?.main }}>
|
|
104
|
-
* <p>Active theme mode: {activeTheme}</p>
|
|
105
|
-
* <p>Styled with ThunderID branding</p>
|
|
106
|
-
* </div>
|
|
107
|
-
* );
|
|
108
|
-
* }
|
|
109
|
-
* ```
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* For new implementations, use BrandingProvider with useBrandingContext:
|
|
113
|
-
* ```tsx
|
|
114
|
-
* // In your root component
|
|
115
|
-
* <BrandingProvider baseUrl="https://localhost:8090">
|
|
116
|
-
* <App />
|
|
117
|
-
* </BrandingProvider>
|
|
118
|
-
*
|
|
119
|
-
* // In your component
|
|
120
|
-
* function MyComponent() {
|
|
121
|
-
* const { theme, activeTheme, isLoading, error } = useBrandingContext();
|
|
122
|
-
* // ... rest of your component
|
|
123
|
-
* }
|
|
124
|
-
* ```
|
|
125
|
-
*/
|
|
126
|
-
export declare const useBranding: () => UseBrandingReturn;
|
|
127
|
-
export default useBranding;
|
|
128
|
-
//# sourceMappingURL=useBranding.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBranding.d.ts","sourceRoot":"","sources":["../../src/hooks/useBranding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,kBAAkB,EAAE,KAAK,EAA+B,MAAM,oBAAoB,CAAC;AAQ3F;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC;;OAEG;IACH,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9C;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,WAAW,QAAO,iBAmB9B,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import useBrandingContext_default from "../contexts/Branding/useBrandingContext.js";
|
|
2
|
-
import { createPackageComponentLogger } from "@thunderid/browser";
|
|
3
|
-
|
|
4
|
-
//#region src/hooks/useBranding.ts
|
|
5
|
-
const logger$1 = createPackageComponentLogger("@thunderid/react", "useBranding");
|
|
6
|
-
/**
|
|
7
|
-
* React hook for accessing branding preferences from the BrandingProvider context.
|
|
8
|
-
* This hook provides access to branding preferences, theme data, and loading states.
|
|
9
|
-
*
|
|
10
|
-
* @deprecated Consider using useBrandingContext directly for better performance.
|
|
11
|
-
* This hook is maintained for backward compatibility.
|
|
12
|
-
*
|
|
13
|
-
* @param config - Configuration options (deprecated, use BrandingProvider props instead)
|
|
14
|
-
* @returns Object containing branding preference data, theme, loading state, error, and refetch function
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* Basic usage:
|
|
18
|
-
* ```tsx
|
|
19
|
-
* function MyComponent() {
|
|
20
|
-
* const { theme, activeTheme, isLoading, error } = useBranding();
|
|
21
|
-
*
|
|
22
|
-
* if (isLoading) return <div>Loading branding...</div>;
|
|
23
|
-
* if (error) return <div>Error: {error.message}</div>;
|
|
24
|
-
*
|
|
25
|
-
* return (
|
|
26
|
-
* <div style={{ color: theme?.colors?.primary?.main }}>
|
|
27
|
-
* <p>Active theme mode: {activeTheme}</p>
|
|
28
|
-
* <p>Styled with ThunderID branding</p>
|
|
29
|
-
* </div>
|
|
30
|
-
* );
|
|
31
|
-
* }
|
|
32
|
-
* ```
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* For new implementations, use BrandingProvider with useBrandingContext:
|
|
36
|
-
* ```tsx
|
|
37
|
-
* // In your root component
|
|
38
|
-
* <BrandingProvider baseUrl="https://localhost:8090">
|
|
39
|
-
* <App />
|
|
40
|
-
* </BrandingProvider>
|
|
41
|
-
*
|
|
42
|
-
* // In your component
|
|
43
|
-
* function MyComponent() {
|
|
44
|
-
* const { theme, activeTheme, isLoading, error } = useBrandingContext();
|
|
45
|
-
* // ... rest of your component
|
|
46
|
-
* }
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
const useBranding = () => {
|
|
50
|
-
try {
|
|
51
|
-
return useBrandingContext_default();
|
|
52
|
-
} catch (error) {
|
|
53
|
-
logger$1.warn("useBranding: BrandingProvider not available. Make sure to wrap your app with BrandingProvider or ThunderIDProvider with branding preferences.");
|
|
54
|
-
return {
|
|
55
|
-
activeTheme: null,
|
|
56
|
-
brandingPreference: null,
|
|
57
|
-
error: /* @__PURE__ */ new Error("BrandingProvider not available"),
|
|
58
|
-
fetchBranding: async () => {},
|
|
59
|
-
isLoading: false,
|
|
60
|
-
refetch: async () => {},
|
|
61
|
-
theme: null
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
var useBranding_default = useBranding;
|
|
66
|
-
|
|
67
|
-
//#endregion
|
|
68
|
-
export { useBranding_default as default };
|
|
69
|
-
//# sourceMappingURL=useBranding.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBranding.js","names":["logger: ReturnType<typeof createPackageComponentLogger>","useBrandingContext"],"sources":["../../src/hooks/useBranding.ts"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {BrandingPreference, Theme, createPackageComponentLogger} from '@thunderid/browser';\nimport useBrandingContext from '../contexts/Branding/useBrandingContext';\n\nconst logger: ReturnType<typeof createPackageComponentLogger> = createPackageComponentLogger(\n '@thunderid/react',\n 'useBranding',\n);\n\n/**\n * Configuration options for the useBranding hook\n * @deprecated Use BrandingProvider instead for better performance and consistency\n */\nexport interface UseBrandingConfig {\n /**\n * @deprecated This configuration is now handled by BrandingProvider\n */\n autoFetch?: boolean;\n /**\n * @deprecated This configuration is now handled by BrandingProvider\n */\n fetcher?: (url: string, config: RequestInit) => Promise<Response>;\n /**\n * @deprecated This configuration is now handled by BrandingProvider\n */\n forceTheme?: 'light' | 'dark';\n /**\n * @deprecated This configuration is now handled by BrandingProvider\n */\n locale?: string;\n /**\n * @deprecated This configuration is now handled by BrandingProvider\n */\n name?: string;\n /**\n * @deprecated This configuration is now handled by BrandingProvider\n */\n type?: string;\n}\n\n/**\n * Return type of the useBranding hook\n */\nexport interface UseBrandingReturn {\n /**\n * The active theme mode from branding preference ('light' | 'dark')\n */\n activeTheme: 'light' | 'dark' | null;\n /**\n * The raw branding preference data\n */\n brandingPreference: BrandingPreference | null;\n /**\n * Error state\n */\n error: Error | null;\n /**\n * Function to manually fetch branding preference\n */\n fetchBranding: () => Promise<void>;\n /**\n * Loading state\n */\n isLoading: boolean;\n /**\n * Function to refetch branding preference\n * This bypasses the single-call restriction and forces a new API call\n */\n refetch: () => Promise<void>;\n /**\n * The transformed theme object\n */\n theme: Theme | null;\n}\n\n/**\n * React hook for accessing branding preferences from the BrandingProvider context.\n * This hook provides access to branding preferences, theme data, and loading states.\n *\n * @deprecated Consider using useBrandingContext directly for better performance.\n * This hook is maintained for backward compatibility.\n *\n * @param config - Configuration options (deprecated, use BrandingProvider props instead)\n * @returns Object containing branding preference data, theme, loading state, error, and refetch function\n *\n * @example\n * Basic usage:\n * ```tsx\n * function MyComponent() {\n * const { theme, activeTheme, isLoading, error } = useBranding();\n *\n * if (isLoading) return <div>Loading branding...</div>;\n * if (error) return <div>Error: {error.message}</div>;\n *\n * return (\n * <div style={{ color: theme?.colors?.primary?.main }}>\n * <p>Active theme mode: {activeTheme}</p>\n * <p>Styled with ThunderID branding</p>\n * </div>\n * );\n * }\n * ```\n *\n * @example\n * For new implementations, use BrandingProvider with useBrandingContext:\n * ```tsx\n * // In your root component\n * <BrandingProvider baseUrl=\"https://localhost:8090\">\n * <App />\n * </BrandingProvider>\n *\n * // In your component\n * function MyComponent() {\n * const { theme, activeTheme, isLoading, error } = useBrandingContext();\n * // ... rest of your component\n * }\n * ```\n */\nexport const useBranding = (): UseBrandingReturn => {\n try {\n return useBrandingContext();\n } catch (error) {\n logger.warn(\n 'useBranding: BrandingProvider not available. ' +\n 'Make sure to wrap your app with BrandingProvider or ThunderIDProvider with branding preferences.',\n );\n\n return {\n activeTheme: null,\n brandingPreference: null,\n error: new Error('BrandingProvider not available'),\n fetchBranding: async (): Promise<void> => {},\n isLoading: false,\n refetch: async (): Promise<void> => {},\n theme: null,\n };\n }\n};\n\nexport default useBranding;\n"],"mappings":";;;;AAqBA,MAAMA,WAA0D,6BAC9D,oBACA,cACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+GD,MAAa,oBAAuC;AAClD,KAAI;AACF,SAAOC,4BAAoB;UACpB,OAAO;AACd,WAAO,KACL,gJAED;AAED,SAAO;GACL,aAAa;GACb,oBAAoB;GACpB,uBAAO,IAAI,MAAM,iCAAiC;GAClD,eAAe,YAA2B;GAC1C,WAAW;GACX,SAAS,YAA2B;GACpC,OAAO;GACR;;;AAIL,0BAAe"}
|