@thunderid/react 0.3.3 → 0.3.4
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,183 +0,0 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const require_useTheme = require('../../../contexts/Theme/useTheme.cjs');
|
|
3
|
-
const require_useTranslation = require('../../../hooks/useTranslation.cjs');
|
|
4
|
-
const require_Button = require('../../primitives/Button/Button.cjs');
|
|
5
|
-
const require_Alert = require('../../primitives/Alert/Alert.cjs');
|
|
6
|
-
const require_FormControl = require('../../primitives/FormControl/FormControl.cjs');
|
|
7
|
-
const require_InputLabel = require('../../primitives/InputLabel/InputLabel.cjs');
|
|
8
|
-
const require_TextField = require('../../primitives/TextField/TextField.cjs');
|
|
9
|
-
const require_Dialog = require('../../primitives/Dialog/Dialog.cjs');
|
|
10
|
-
const require_BaseCreateOrganization_styles = require('./BaseCreateOrganization.styles.cjs');
|
|
11
|
-
let __thunderid_browser = require("@thunderid/browser");
|
|
12
|
-
__thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
|
|
13
|
-
let react = require("react");
|
|
14
|
-
react = require_rolldown_runtime.__toESM(react);
|
|
15
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
16
|
-
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
17
|
-
let __emotion_css = require("@emotion/css");
|
|
18
|
-
__emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
|
|
19
|
-
|
|
20
|
-
//#region src/components/presentation/CreateOrganization/BaseCreateOrganization.tsx
|
|
21
|
-
const logger = (0, __thunderid_browser.createPackageComponentLogger)("@thunderid/react", "BaseCreateOrganization");
|
|
22
|
-
/**
|
|
23
|
-
* Removes special characters except space and hyphen from the organization name
|
|
24
|
-
* and generates a valid handle.
|
|
25
|
-
* @param name
|
|
26
|
-
* @returns
|
|
27
|
-
*/
|
|
28
|
-
const generateHandleFromName = (name) => name.toLowerCase().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
|
|
29
|
-
/**
|
|
30
|
-
* BaseCreateOrganization component provides the core functionality for creating organizations.
|
|
31
|
-
* This component serves as the base for framework-specific implementations.
|
|
32
|
-
*/
|
|
33
|
-
const BaseCreateOrganization = ({ cardLayout = true, className = "", defaultParentId = "", error, initialValues = {}, loading = false, mode = "inline", onCancel, onOpenChange, onSubmit, onSuccess, open = false, preferences, renderAdditionalFields, style, title = "Create Organization" }) => {
|
|
34
|
-
const { theme, colorScheme } = require_useTheme.default();
|
|
35
|
-
const styles = require_BaseCreateOrganization_styles.default(theme, colorScheme);
|
|
36
|
-
const { t } = require_useTranslation.default(preferences?.i18n);
|
|
37
|
-
const [formData, setFormData] = (0, react.useState)({
|
|
38
|
-
description: "",
|
|
39
|
-
handle: "",
|
|
40
|
-
name: "",
|
|
41
|
-
...initialValues
|
|
42
|
-
});
|
|
43
|
-
const [formErrors, setFormErrors] = (0, react.useState)({});
|
|
44
|
-
const validateForm = () => {
|
|
45
|
-
const errors = {};
|
|
46
|
-
if (!formData.name.trim()) errors.name = "Organization name is required";
|
|
47
|
-
if (!formData.handle.trim()) errors.handle = "Organization handle is required";
|
|
48
|
-
else if (!/^[a-z0-9-]+$/.test(formData.handle)) errors.handle = "Handle can only contain lowercase letters, numbers, and hyphens";
|
|
49
|
-
if (!formData.description.trim()) errors.description = "Organization description is required";
|
|
50
|
-
setFormErrors(errors);
|
|
51
|
-
return Object.keys(errors).length === 0;
|
|
52
|
-
};
|
|
53
|
-
const handleInputChange = (field, value) => {
|
|
54
|
-
setFormData((prev) => ({
|
|
55
|
-
...prev,
|
|
56
|
-
[field]: value
|
|
57
|
-
}));
|
|
58
|
-
if (formErrors[field]) setFormErrors((prev) => ({
|
|
59
|
-
...prev,
|
|
60
|
-
[field]: void 0
|
|
61
|
-
}));
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Handles changes to the organization name input.
|
|
65
|
-
* Automatically generates the organization handle based on the name if the handle is not set or matches
|
|
66
|
-
*
|
|
67
|
-
* @param value - The new value for the organization name.
|
|
68
|
-
*/
|
|
69
|
-
const handleNameChange = (value) => {
|
|
70
|
-
handleInputChange("name", value);
|
|
71
|
-
if (!formData.handle || formData.handle === generateHandleFromName(formData.name)) handleInputChange("handle", generateHandleFromName(value));
|
|
72
|
-
};
|
|
73
|
-
const handleSubmit = async (e) => {
|
|
74
|
-
e.preventDefault();
|
|
75
|
-
if (!validateForm() || loading) return;
|
|
76
|
-
const payload = {
|
|
77
|
-
description: formData.description.trim(),
|
|
78
|
-
name: formData.name.trim(),
|
|
79
|
-
orgHandle: formData.handle.trim(),
|
|
80
|
-
parentId: defaultParentId,
|
|
81
|
-
type: "TENANT"
|
|
82
|
-
};
|
|
83
|
-
try {
|
|
84
|
-
await onSubmit?.(payload);
|
|
85
|
-
if (onSuccess) onSuccess(payload);
|
|
86
|
-
} catch (submitError) {
|
|
87
|
-
logger.error("Form submission error:");
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
const createOrganizationContent = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
91
|
-
className: (0, __emotion_css.cx)(styles["root"], cardLayout && styles["card"], className),
|
|
92
|
-
style,
|
|
93
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
94
|
-
className: (0, __emotion_css.cx)(styles["content"]),
|
|
95
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("form", {
|
|
96
|
-
id: "create-organization-form",
|
|
97
|
-
className: (0, __emotion_css.cx)(styles["form"]),
|
|
98
|
-
onSubmit: handleSubmit,
|
|
99
|
-
children: [
|
|
100
|
-
error && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Alert.default, {
|
|
101
|
-
variant: "error",
|
|
102
|
-
className: styles["errorAlert"],
|
|
103
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default.Title, { children: "Error" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default.Description, { children: error })]
|
|
104
|
-
}),
|
|
105
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
106
|
-
className: (0, __emotion_css.cx)(styles["fieldGroup"]),
|
|
107
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TextField.default, {
|
|
108
|
-
label: `${t("elements.fields.organization.name.label")}`,
|
|
109
|
-
placeholder: t("elements.fields.organization.name.placeholder"),
|
|
110
|
-
value: formData.name,
|
|
111
|
-
onChange: (e) => handleNameChange(e.target.value),
|
|
112
|
-
disabled: loading,
|
|
113
|
-
required: true,
|
|
114
|
-
error: formErrors.name,
|
|
115
|
-
className: (0, __emotion_css.cx)(styles["input"])
|
|
116
|
-
})
|
|
117
|
-
}),
|
|
118
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
119
|
-
className: (0, __emotion_css.cx)(styles["fieldGroup"]),
|
|
120
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TextField.default, {
|
|
121
|
-
label: `${t("elements.fields.organization.handle.label") || "Organization Handle"}`,
|
|
122
|
-
placeholder: t("elements.fields.organization.handle.placeholder") || "my-organization",
|
|
123
|
-
value: formData.handle,
|
|
124
|
-
onChange: (e) => handleInputChange("handle", e.target.value),
|
|
125
|
-
disabled: loading,
|
|
126
|
-
required: true,
|
|
127
|
-
error: formErrors.handle,
|
|
128
|
-
helperText: "This will be your organization's unique identifier. Only lowercase letters, numbers, and hyphens are allowed.",
|
|
129
|
-
className: (0, __emotion_css.cx)(styles["input"])
|
|
130
|
-
})
|
|
131
|
-
}),
|
|
132
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
133
|
-
className: (0, __emotion_css.cx)(styles["fieldGroup"]),
|
|
134
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_FormControl.default, {
|
|
135
|
-
error: formErrors.description,
|
|
136
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_InputLabel.default, {
|
|
137
|
-
required: true,
|
|
138
|
-
children: t("elements.fields.organization.description.label")
|
|
139
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
140
|
-
className: (0, __emotion_css.cx)(styles["textarea"], formErrors.description && styles["textareaError"]),
|
|
141
|
-
placeholder: t("organization.create.description.placeholder"),
|
|
142
|
-
value: formData.description,
|
|
143
|
-
onChange: (e) => handleInputChange("description", e.target.value),
|
|
144
|
-
disabled: loading,
|
|
145
|
-
required: true
|
|
146
|
-
})]
|
|
147
|
-
})
|
|
148
|
-
}),
|
|
149
|
-
renderAdditionalFields?.()
|
|
150
|
-
]
|
|
151
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
152
|
-
className: (0, __emotion_css.cx)(styles["actions"]),
|
|
153
|
-
children: [onCancel && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
|
|
154
|
-
type: "button",
|
|
155
|
-
variant: "outline",
|
|
156
|
-
onClick: onCancel,
|
|
157
|
-
disabled: loading,
|
|
158
|
-
children: t("organization.create.buttons.cancel.text")
|
|
159
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
|
|
160
|
-
type: "submit",
|
|
161
|
-
variant: "solid",
|
|
162
|
-
color: "primary",
|
|
163
|
-
disabled: loading,
|
|
164
|
-
form: "create-organization-form",
|
|
165
|
-
children: loading ? t("organization.create.buttons.create_organization.loading.text") : t("organization.create.buttons.create_organization.text")
|
|
166
|
-
})]
|
|
167
|
-
})]
|
|
168
|
-
})
|
|
169
|
-
});
|
|
170
|
-
if (mode === "popup") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Dialog.default, {
|
|
171
|
-
open,
|
|
172
|
-
onOpenChange,
|
|
173
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Dialog.default.Content, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Dialog.default.Heading, { children: title }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
174
|
-
className: styles["popup"],
|
|
175
|
-
children: createOrganizationContent
|
|
176
|
-
})] })
|
|
177
|
-
});
|
|
178
|
-
return createOrganizationContent;
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
//#endregion
|
|
182
|
-
exports.BaseCreateOrganization = BaseCreateOrganization;
|
|
183
|
-
//# sourceMappingURL=BaseCreateOrganization.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCreateOrganization.cjs","names":["logger: ReturnType<typeof createPackageComponentLogger>","BaseCreateOrganization: FC<BaseCreateOrganizationProps>","useTheme","styles: ReturnType<typeof useStyles>","useStyles","useTranslation","errors: Partial<OrganizationFormData>","payload: CreateOrganizationPayload","createOrganizationContent: ReactElement","AlertPrimitive","TextField","FormControl","InputLabel","Button","DialogPrimitive"],"sources":["../../../../../src/components/presentation/CreateOrganization/BaseCreateOrganization.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 {cx} from '@emotion/css';\nimport {CreateOrganizationPayload, createPackageComponentLogger, Preferences} from '@thunderid/browser';\nimport {ChangeEvent, CSSProperties, FC, FormEvent, ReactElement, ReactNode, useState} from 'react';\nimport useStyles from './BaseCreateOrganization.styles';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport useTranslation from '../../../hooks/useTranslation';\nimport AlertPrimitive from '../../primitives/Alert/Alert';\nimport Button from '../../primitives/Button/Button';\nimport DialogPrimitive from '../../primitives/Dialog/Dialog';\nimport FormControl from '../../primitives/FormControl/FormControl';\nimport InputLabel from '../../primitives/InputLabel/InputLabel';\nimport TextField from '../../primitives/TextField/TextField';\n\nconst logger: ReturnType<typeof createPackageComponentLogger> = createPackageComponentLogger(\n '@thunderid/react',\n 'BaseCreateOrganization',\n);\n\n/**\n * Interface for organization form data.\n */\nexport interface OrganizationFormData {\n description: string;\n handle: string;\n name: string;\n}\n\n/**\n * Props interface for the BaseCreateOrganization component.\n */\nexport interface BaseCreateOrganizationProps {\n cardLayout?: boolean;\n className?: string;\n defaultParentId?: string;\n error?: string | null;\n initialValues?: Partial<OrganizationFormData>;\n loading?: boolean;\n mode?: 'inline' | 'popup';\n onCancel?: () => void;\n onOpenChange?: (open: boolean) => void;\n onSubmit?: (payload: CreateOrganizationPayload) => void | Promise<void>;\n onSuccess?: (organization: any) => void;\n open?: boolean;\n /**\n * Component-level preferences to override global i18n and theme settings.\n * Preferences are deep-merged with global ones, with component preferences\n * taking precedence. Affects this component and all its descendants.\n */\n preferences?: Preferences;\n renderAdditionalFields?: () => ReactNode;\n style?: CSSProperties;\n\n title?: string;\n}\n\n/**\n * Removes special characters except space and hyphen from the organization name\n * and generates a valid handle.\n * @param name\n * @returns\n */\nconst generateHandleFromName = (name: string): string =>\n name\n .toLowerCase()\n .replace(/[^a-z0-9\\s-]/g, '')\n .replace(/\\s+/g, '-')\n .replace(/-+/g, '-')\n .replace(/^-|-$/g, '');\n\n/**\n * BaseCreateOrganization component provides the core functionality for creating organizations.\n * This component serves as the base for framework-specific implementations.\n */\nexport const BaseCreateOrganization: FC<BaseCreateOrganizationProps> = ({\n cardLayout = true,\n className = '',\n defaultParentId = '',\n error,\n initialValues = {},\n loading = false,\n mode = 'inline',\n onCancel,\n onOpenChange,\n onSubmit,\n onSuccess,\n open = false,\n preferences,\n renderAdditionalFields,\n style,\n title = 'Create Organization',\n}: BaseCreateOrganizationProps): ReactElement => {\n const {theme, colorScheme} = useTheme();\n const styles: ReturnType<typeof useStyles> = useStyles(theme, colorScheme);\n const {t} = useTranslation(preferences?.i18n);\n const [formData, setFormData] = useState<OrganizationFormData>({\n description: '',\n handle: '',\n name: '',\n ...initialValues,\n });\n const [formErrors, setFormErrors] = useState<Partial<OrganizationFormData> & {avatar?: string}>({});\n\n const validateForm = (): boolean => {\n const errors: Partial<OrganizationFormData> = {};\n\n if (!formData.name.trim()) {\n errors.name = 'Organization name is required';\n }\n\n if (!formData.handle.trim()) {\n errors.handle = 'Organization handle is required';\n } else if (!/^[a-z0-9-]+$/.test(formData.handle)) {\n errors.handle = 'Handle can only contain lowercase letters, numbers, and hyphens';\n }\n\n if (!formData.description.trim()) {\n errors.description = 'Organization description is required';\n }\n\n setFormErrors(errors);\n return Object.keys(errors).length === 0;\n };\n\n const handleInputChange = (field: keyof OrganizationFormData, value: string): void => {\n setFormData((prev: OrganizationFormData) => ({\n ...prev,\n [field]: value,\n }));\n\n if (formErrors[field]) {\n setFormErrors((prev: Partial<OrganizationFormData> & {avatar?: string}) => ({\n ...prev,\n [field]: undefined,\n }));\n }\n };\n\n /**\n * Handles changes to the organization name input.\n * Automatically generates the organization handle based on the name if the handle is not set or matches\n *\n * @param value - The new value for the organization name.\n */\n const handleNameChange = (value: string): void => {\n handleInputChange('name', value);\n\n if (!formData.handle || formData.handle === generateHandleFromName(formData.name)) {\n const newHandle: string = generateHandleFromName(value);\n handleInputChange('handle', newHandle);\n }\n };\n\n const handleSubmit = async (e: FormEvent): Promise<void> => {\n e.preventDefault();\n\n if (!validateForm() || loading) {\n return;\n }\n\n const payload: CreateOrganizationPayload = {\n description: formData.description.trim(),\n name: formData.name.trim(),\n orgHandle: formData.handle.trim(),\n parentId: defaultParentId,\n type: 'TENANT',\n };\n\n try {\n await onSubmit?.(payload);\n if (onSuccess) {\n onSuccess(payload);\n }\n } catch (submitError) {\n // Error handling is done by parent component\n logger.error('Form submission error:');\n }\n };\n\n const createOrganizationContent: ReactElement = (\n <div className={cx(styles['root'], cardLayout && styles['card'], className)} style={style}>\n <div className={cx(styles['content'])}>\n <form id=\"create-organization-form\" className={cx(styles['form'])} onSubmit={handleSubmit}>\n {error && (\n <AlertPrimitive variant=\"error\" className={styles['errorAlert']}>\n <AlertPrimitive.Title>Error</AlertPrimitive.Title>\n <AlertPrimitive.Description>{error}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n <div className={cx(styles['fieldGroup'])}>\n <TextField\n label={`${t('elements.fields.organization.name.label')}`}\n placeholder={t('elements.fields.organization.name.placeholder')}\n value={formData.name}\n onChange={(e: ChangeEvent<HTMLInputElement>): void => handleNameChange(e.target.value)}\n disabled={loading}\n required\n error={formErrors.name}\n className={cx(styles['input'])}\n />\n </div>\n <div className={cx(styles['fieldGroup'])}>\n <TextField\n label={`${t('elements.fields.organization.handle.label') || 'Organization Handle'}`}\n placeholder={t('elements.fields.organization.handle.placeholder') || 'my-organization'}\n value={formData.handle}\n onChange={(e: ChangeEvent<HTMLInputElement>): void => handleInputChange('handle', e.target.value)}\n disabled={loading}\n required\n error={formErrors.handle}\n helperText=\"This will be your organization's unique identifier. Only lowercase letters, numbers, and hyphens are allowed.\"\n className={cx(styles['input'])}\n />\n </div>\n <div className={cx(styles['fieldGroup'])}>\n <FormControl error={formErrors.description}>\n <InputLabel required>{t('elements.fields.organization.description.label')}</InputLabel>\n <textarea\n className={cx(styles['textarea'], formErrors.description && styles['textareaError'])}\n placeholder={t('organization.create.description.placeholder')}\n value={formData.description}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>): void =>\n handleInputChange('description', e.target.value)\n }\n disabled={loading}\n required\n />\n </FormControl>\n </div>\n {renderAdditionalFields?.()}\n </form>\n <div className={cx(styles['actions'])}>\n {onCancel && (\n <Button type=\"button\" variant=\"outline\" onClick={onCancel} disabled={loading}>\n {t('organization.create.buttons.cancel.text')}\n </Button>\n )}\n <Button type=\"submit\" variant=\"solid\" color=\"primary\" disabled={loading} form=\"create-organization-form\">\n {loading\n ? t('organization.create.buttons.create_organization.loading.text')\n : t('organization.create.buttons.create_organization.text')}\n </Button>\n </div>\n </div>\n </div>\n );\n\n if (mode === 'popup') {\n return (\n <DialogPrimitive open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Content>\n <DialogPrimitive.Heading>{title}</DialogPrimitive.Heading>\n <div className={styles['popup']}>{createOrganizationContent}</div>\n </DialogPrimitive.Content>\n </DialogPrimitive>\n );\n }\n\n return createOrganizationContent;\n};\n\nexport default BaseCreateOrganization;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA+BA,MAAMA,+DACJ,oBACA,yBACD;;;;;;;AA6CD,MAAM,0BAA0B,SAC9B,KACG,aAAa,CACb,QAAQ,iBAAiB,GAAG,CAC5B,QAAQ,QAAQ,IAAI,CACpB,QAAQ,OAAO,IAAI,CACnB,QAAQ,UAAU,GAAG;;;;;AAM1B,MAAaC,0BAA2D,EACtE,aAAa,MACb,YAAY,IACZ,kBAAkB,IAClB,OACA,gBAAgB,EAAE,EAClB,UAAU,OACV,OAAO,UACP,UACA,cACA,UACA,WACA,OAAO,OACP,aACA,wBACA,OACA,QAAQ,4BACuC;CAC/C,MAAM,EAAC,OAAO,gBAAeC,0BAAU;CACvC,MAAMC,SAAuCC,8CAAU,OAAO,YAAY;CAC1E,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;CAC7C,MAAM,CAAC,UAAU,mCAA8C;EAC7D,aAAa;EACb,QAAQ;EACR,MAAM;EACN,GAAG;EACJ,CAAC;CACF,MAAM,CAAC,YAAY,qCAA6E,EAAE,CAAC;CAEnG,MAAM,qBAA8B;EAClC,MAAMC,SAAwC,EAAE;AAEhD,MAAI,CAAC,SAAS,KAAK,MAAM,CACvB,QAAO,OAAO;AAGhB,MAAI,CAAC,SAAS,OAAO,MAAM,CACzB,QAAO,SAAS;WACP,CAAC,eAAe,KAAK,SAAS,OAAO,CAC9C,QAAO,SAAS;AAGlB,MAAI,CAAC,SAAS,YAAY,MAAM,CAC9B,QAAO,cAAc;AAGvB,gBAAc,OAAO;AACrB,SAAO,OAAO,KAAK,OAAO,CAAC,WAAW;;CAGxC,MAAM,qBAAqB,OAAmC,UAAwB;AACpF,eAAa,UAAgC;GAC3C,GAAG;IACF,QAAQ;GACV,EAAE;AAEH,MAAI,WAAW,OACb,gBAAe,UAA6D;GAC1E,GAAG;IACF,QAAQ;GACV,EAAE;;;;;;;;CAUP,MAAM,oBAAoB,UAAwB;AAChD,oBAAkB,QAAQ,MAAM;AAEhC,MAAI,CAAC,SAAS,UAAU,SAAS,WAAW,uBAAuB,SAAS,KAAK,CAE/E,mBAAkB,UADQ,uBAAuB,MAAM,CACjB;;CAI1C,MAAM,eAAe,OAAO,MAAgC;AAC1D,IAAE,gBAAgB;AAElB,MAAI,CAAC,cAAc,IAAI,QACrB;EAGF,MAAMC,UAAqC;GACzC,aAAa,SAAS,YAAY,MAAM;GACxC,MAAM,SAAS,KAAK,MAAM;GAC1B,WAAW,SAAS,OAAO,MAAM;GACjC,UAAU;GACV,MAAM;GACP;AAED,MAAI;AACF,SAAM,WAAW,QAAQ;AACzB,OAAI,UACF,WAAU,QAAQ;WAEb,aAAa;AAEpB,UAAO,MAAM,yBAAyB;;;CAI1C,MAAMC,4BACJ,2CAAC;EAAI,iCAAc,OAAO,SAAS,cAAc,OAAO,SAAS,UAAU;EAAS;YAClF,4CAAC;GAAI,iCAAc,OAAO,WAAW;cACnC,4CAAC;IAAK,IAAG;IAA2B,iCAAc,OAAO,QAAQ;IAAE,UAAU;;KAC1E,SACC,4CAACC;MAAe,SAAQ;MAAQ,WAAW,OAAO;iBAChD,2CAACA,sBAAe,mBAAM,UAA4B,EAClD,2CAACA,sBAAe,yBAAa,QAAmC;OACjD;KAEnB,2CAAC;MAAI,iCAAc,OAAO,cAAc;gBACtC,2CAACC;OACC,OAAO,GAAG,EAAE,0CAA0C;OACtD,aAAa,EAAE,gDAAgD;OAC/D,OAAO,SAAS;OAChB,WAAW,MAA2C,iBAAiB,EAAE,OAAO,MAAM;OACtF,UAAU;OACV;OACA,OAAO,WAAW;OAClB,iCAAc,OAAO,SAAS;QAC9B;OACE;KACN,2CAAC;MAAI,iCAAc,OAAO,cAAc;gBACtC,2CAACA;OACC,OAAO,GAAG,EAAE,4CAA4C,IAAI;OAC5D,aAAa,EAAE,kDAAkD,IAAI;OACrE,OAAO,SAAS;OAChB,WAAW,MAA2C,kBAAkB,UAAU,EAAE,OAAO,MAAM;OACjG,UAAU;OACV;OACA,OAAO,WAAW;OAClB,YAAW;OACX,iCAAc,OAAO,SAAS;QAC9B;OACE;KACN,2CAAC;MAAI,iCAAc,OAAO,cAAc;gBACtC,4CAACC;OAAY,OAAO,WAAW;kBAC7B,2CAACC;QAAW;kBAAU,EAAE,iDAAiD;SAAc,EACvF,2CAAC;QACC,iCAAc,OAAO,aAAa,WAAW,eAAe,OAAO,iBAAiB;QACpF,aAAa,EAAE,8CAA8C;QAC7D,OAAO,SAAS;QAChB,WAAW,MACT,kBAAkB,eAAe,EAAE,OAAO,MAAM;QAElD,UAAU;QACV;SACA;QACU;OACV;KACL,0BAA0B;;KACtB,EACP,4CAAC;IAAI,iCAAc,OAAO,WAAW;eAClC,YACC,2CAACC;KAAO,MAAK;KAAS,SAAQ;KAAU,SAAS;KAAU,UAAU;eAClE,EAAE,0CAA0C;MACtC,EAEX,2CAACA;KAAO,MAAK;KAAS,SAAQ;KAAQ,OAAM;KAAU,UAAU;KAAS,MAAK;eAC3E,UACG,EAAE,+DAA+D,GACjE,EAAE,uDAAuD;MACtD;KACL;IACF;GACF;AAGR,KAAI,SAAS,QACX,QACE,2CAACC;EAAsB;EAAoB;YACzC,4CAACA,uBAAgB,sBACf,2CAACA,uBAAgB,qBAAS,QAAgC,EAC1D,2CAAC;GAAI,WAAW,OAAO;aAAW;IAAgC,IAC1C;GACV;AAItB,QAAO"}
|
package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
let react = require("react");
|
|
3
|
-
react = require_rolldown_runtime.__toESM(react);
|
|
4
|
-
let __emotion_css = require("@emotion/css");
|
|
5
|
-
__emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
|
|
6
|
-
|
|
7
|
-
//#region src/components/presentation/CreateOrganization/BaseCreateOrganization.styles.ts
|
|
8
|
-
/**
|
|
9
|
-
* Creates styles for the BaseCreateOrganization component using BEM methodology
|
|
10
|
-
* @param theme - The theme object containing design tokens
|
|
11
|
-
* @param colorScheme - The current color scheme (used for memoization)
|
|
12
|
-
* @returns Object containing CSS class names for component styling
|
|
13
|
-
*/
|
|
14
|
-
const useStyles = (theme, colorScheme) => (0, react.useMemo)(() => {
|
|
15
|
-
const root = __emotion_css.css`
|
|
16
|
-
padding: calc(${theme.vars.spacing.unit} * 4);
|
|
17
|
-
min-width: 600px;
|
|
18
|
-
margin: 0 auto;
|
|
19
|
-
font-family: ${theme.vars.typography.fontFamily};
|
|
20
|
-
`;
|
|
21
|
-
const card = __emotion_css.css`
|
|
22
|
-
background: ${theme.vars.colors.background.surface};
|
|
23
|
-
border-radius: ${theme.vars.borderRadius.large};
|
|
24
|
-
padding: calc(${theme.vars.spacing.unit} * 4);
|
|
25
|
-
`;
|
|
26
|
-
const content = __emotion_css.css`
|
|
27
|
-
display: flex;
|
|
28
|
-
flex-direction: column;
|
|
29
|
-
gap: calc(${theme.vars.spacing.unit} * 2);
|
|
30
|
-
`;
|
|
31
|
-
const form = __emotion_css.css`
|
|
32
|
-
display: flex;
|
|
33
|
-
flex-direction: column;
|
|
34
|
-
gap: calc(${theme.vars.spacing.unit} * 2);
|
|
35
|
-
width: 100%;
|
|
36
|
-
`;
|
|
37
|
-
const header = __emotion_css.css`
|
|
38
|
-
display: flex;
|
|
39
|
-
align-items: center;
|
|
40
|
-
gap: calc(${theme.vars.spacing.unit} * 1.5);
|
|
41
|
-
margin-bottom: calc(${theme.vars.spacing.unit} * 1.5);
|
|
42
|
-
`;
|
|
43
|
-
const field = __emotion_css.css`
|
|
44
|
-
display: flex;
|
|
45
|
-
align-items: center;
|
|
46
|
-
padding: ${theme.vars.spacing.unit} 0;
|
|
47
|
-
border-bottom: 1px solid ${theme.vars.colors.border};
|
|
48
|
-
min-height: 32px;
|
|
49
|
-
`;
|
|
50
|
-
const fieldGroup = __emotion_css.css`
|
|
51
|
-
display: flex;
|
|
52
|
-
flex-direction: column;
|
|
53
|
-
gap: calc(${theme.vars.spacing.unit} * 0.5);
|
|
54
|
-
`;
|
|
55
|
-
const textarea = __emotion_css.css`
|
|
56
|
-
width: 100%;
|
|
57
|
-
padding: ${theme.vars.spacing.unit} calc(${theme.vars.spacing.unit} * 1.5);
|
|
58
|
-
border: 1px solid ${theme.vars.colors.border};
|
|
59
|
-
border-radius: ${theme.vars.borderRadius.medium};
|
|
60
|
-
font-size: ${theme.vars.typography.fontSizes.md};
|
|
61
|
-
color: ${theme.vars.colors.text.primary};
|
|
62
|
-
background-color: ${theme.vars.colors.background.surface};
|
|
63
|
-
font-family: ${theme.vars.typography.fontFamily};
|
|
64
|
-
min-height: 80px;
|
|
65
|
-
resize: vertical;
|
|
66
|
-
outline: none;
|
|
67
|
-
&:focus {
|
|
68
|
-
border-color: ${theme.vars.colors.primary.main};
|
|
69
|
-
box-shadow: 0 0 0 2px ${theme.vars.colors.primary.main}20;
|
|
70
|
-
}
|
|
71
|
-
&:disabled {
|
|
72
|
-
background-color: ${theme.vars.colors.background.disabled};
|
|
73
|
-
color: ${theme.vars.colors.text.secondary};
|
|
74
|
-
cursor: not-allowed;
|
|
75
|
-
}
|
|
76
|
-
`;
|
|
77
|
-
const textareaError = __emotion_css.css`
|
|
78
|
-
border-color: ${theme.vars.colors.error.main};
|
|
79
|
-
`;
|
|
80
|
-
const input = __emotion_css.css``;
|
|
81
|
-
const avatarContainer = __emotion_css.css`
|
|
82
|
-
align-items: flex-start;
|
|
83
|
-
display: flex;
|
|
84
|
-
gap: calc(${theme.vars.spacing.unit} * 2);
|
|
85
|
-
margin-bottom: ${theme.vars.spacing.unit};
|
|
86
|
-
`;
|
|
87
|
-
const actions = __emotion_css.css`
|
|
88
|
-
display: flex;
|
|
89
|
-
gap: ${theme.vars.spacing.unit};
|
|
90
|
-
justify-content: flex-end;
|
|
91
|
-
padding-top: calc(${theme.vars.spacing.unit} * 2);
|
|
92
|
-
`;
|
|
93
|
-
const infoContainer = __emotion_css.css`
|
|
94
|
-
display: flex;
|
|
95
|
-
flex-direction: column;
|
|
96
|
-
gap: ${theme.vars.spacing.unit};
|
|
97
|
-
`;
|
|
98
|
-
const value = __emotion_css.css`
|
|
99
|
-
color: ${theme.vars.colors.text.primary};
|
|
100
|
-
flex: 1;
|
|
101
|
-
display: flex;
|
|
102
|
-
align-items: center;
|
|
103
|
-
gap: ${theme.vars.spacing.unit};
|
|
104
|
-
overflow: hidden;
|
|
105
|
-
min-height: 32px;
|
|
106
|
-
line-height: 32px;
|
|
107
|
-
`;
|
|
108
|
-
const popup = __emotion_css.css`
|
|
109
|
-
padding: calc(${theme.vars.spacing.unit} * 2);
|
|
110
|
-
`;
|
|
111
|
-
return {
|
|
112
|
-
actions,
|
|
113
|
-
avatarContainer,
|
|
114
|
-
card,
|
|
115
|
-
content,
|
|
116
|
-
errorAlert: __emotion_css.css`
|
|
117
|
-
margin-bottom: calc(${theme.vars.spacing.unit} * 2);
|
|
118
|
-
`,
|
|
119
|
-
field,
|
|
120
|
-
fieldGroup,
|
|
121
|
-
form,
|
|
122
|
-
header,
|
|
123
|
-
infoContainer,
|
|
124
|
-
input,
|
|
125
|
-
popup,
|
|
126
|
-
root,
|
|
127
|
-
textarea,
|
|
128
|
-
textareaError,
|
|
129
|
-
value
|
|
130
|
-
};
|
|
131
|
-
}, [
|
|
132
|
-
theme.vars.spacing.unit,
|
|
133
|
-
theme.vars.colors.background.surface,
|
|
134
|
-
theme.vars.colors.border,
|
|
135
|
-
theme.vars.borderRadius.large,
|
|
136
|
-
theme.vars.borderRadius.medium,
|
|
137
|
-
theme.vars.typography.fontSizes.md,
|
|
138
|
-
theme.vars.colors.text.primary,
|
|
139
|
-
theme.vars.colors.primary.main,
|
|
140
|
-
theme.vars.colors.background.disabled,
|
|
141
|
-
theme.vars.colors.text.secondary,
|
|
142
|
-
theme.vars.colors.error.main,
|
|
143
|
-
theme.vars.typography.fontFamily,
|
|
144
|
-
colorScheme
|
|
145
|
-
]);
|
|
146
|
-
var BaseCreateOrganization_styles_default = useStyles;
|
|
147
|
-
|
|
148
|
-
//#endregion
|
|
149
|
-
exports.default = BaseCreateOrganization_styles_default;
|
|
150
|
-
//# sourceMappingURL=BaseCreateOrganization.styles.cjs.map
|
package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCreateOrganization.styles.cjs","names":["root: string","card: string","content: string","form: string","header: string","field: string","fieldGroup: string","textarea: string","textareaError: string","input: string","avatarContainer: string","actions: string","infoContainer: string","value: string","popup: string"],"sources":["../../../../../src/components/presentation/CreateOrganization/BaseCreateOrganization.styles.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 {css} from '@emotion/css';\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\n\n/**\n * Creates styles for the BaseCreateOrganization component using BEM methodology\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (theme: Theme, colorScheme: string): Record<string, string> =>\n useMemo(() => {\n const root: string = css`\n padding: calc(${theme.vars.spacing.unit} * 4);\n min-width: 600px;\n margin: 0 auto;\n font-family: ${theme.vars.typography.fontFamily};\n `;\n\n const card: string = css`\n background: ${theme.vars.colors.background.surface};\n border-radius: ${theme.vars.borderRadius.large};\n padding: calc(${theme.vars.spacing.unit} * 4);\n `;\n\n const content: string = css`\n display: flex;\n flex-direction: column;\n gap: calc(${theme.vars.spacing.unit} * 2);\n `;\n\n const form: string = css`\n display: flex;\n flex-direction: column;\n gap: calc(${theme.vars.spacing.unit} * 2);\n width: 100%;\n `;\n\n const header: string = css`\n display: flex;\n align-items: center;\n gap: calc(${theme.vars.spacing.unit} * 1.5);\n margin-bottom: calc(${theme.vars.spacing.unit} * 1.5);\n `;\n\n const field: string = css`\n display: flex;\n align-items: center;\n padding: ${theme.vars.spacing.unit} 0;\n border-bottom: 1px solid ${theme.vars.colors.border};\n min-height: 32px;\n `;\n\n const fieldGroup: string = css`\n display: flex;\n flex-direction: column;\n gap: calc(${theme.vars.spacing.unit} * 0.5);\n `;\n\n const textarea: string = css`\n width: 100%;\n padding: ${theme.vars.spacing.unit} calc(${theme.vars.spacing.unit} * 1.5);\n border: 1px solid ${theme.vars.colors.border};\n border-radius: ${theme.vars.borderRadius.medium};\n font-size: ${theme.vars.typography.fontSizes.md};\n color: ${theme.vars.colors.text.primary};\n background-color: ${theme.vars.colors.background.surface};\n font-family: ${theme.vars.typography.fontFamily};\n min-height: 80px;\n resize: vertical;\n outline: none;\n &:focus {\n border-color: ${theme.vars.colors.primary.main};\n box-shadow: 0 0 0 2px ${theme.vars.colors.primary.main}20;\n }\n &:disabled {\n background-color: ${theme.vars.colors.background.disabled};\n color: ${theme.vars.colors.text.secondary};\n cursor: not-allowed;\n }\n `;\n\n const textareaError: string = css`\n border-color: ${theme.vars.colors.error.main};\n `;\n\n const input: string = css``;\n\n const avatarContainer: string = css`\n align-items: flex-start;\n display: flex;\n gap: calc(${theme.vars.spacing.unit} * 2);\n margin-bottom: ${theme.vars.spacing.unit};\n `;\n\n const actions: string = css`\n display: flex;\n gap: ${theme.vars.spacing.unit};\n justify-content: flex-end;\n padding-top: calc(${theme.vars.spacing.unit} * 2);\n `;\n\n const infoContainer: string = css`\n display: flex;\n flex-direction: column;\n gap: ${theme.vars.spacing.unit};\n `;\n\n const value: string = css`\n color: ${theme.vars.colors.text.primary};\n flex: 1;\n display: flex;\n align-items: center;\n gap: ${theme.vars.spacing.unit};\n overflow: hidden;\n min-height: 32px;\n line-height: 32px;\n `;\n\n const popup: string = css`\n padding: calc(${theme.vars.spacing.unit} * 2);\n `;\n\n const errorAlert: string = css`\n margin-bottom: calc(${theme.vars.spacing.unit} * 2);\n `;\n\n return {\n actions,\n avatarContainer,\n card,\n content,\n errorAlert,\n field,\n fieldGroup,\n form,\n header,\n infoContainer,\n input,\n popup,\n root,\n textarea,\n textareaError,\n value,\n };\n }, [\n theme.vars.spacing.unit,\n theme.vars.colors.background.surface,\n theme.vars.colors.border,\n theme.vars.borderRadius.large,\n theme.vars.borderRadius.medium,\n theme.vars.typography.fontSizes.md,\n theme.vars.colors.text.primary,\n theme.vars.colors.primary.main,\n theme.vars.colors.background.disabled,\n theme.vars.colors.text.secondary,\n theme.vars.colors.error.main,\n theme.vars.typography.fontFamily,\n colorScheme,\n ]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;;;;AA4BA,MAAM,aAAa,OAAc,yCACjB;CACZ,MAAMA,OAAe,iBAAG;sBACN,MAAM,KAAK,QAAQ,KAAK;;;qBAGzB,MAAM,KAAK,WAAW,WAAW;;CAGlD,MAAMC,OAAe,iBAAG;oBACR,MAAM,KAAK,OAAO,WAAW,QAAQ;uBAClC,MAAM,KAAK,aAAa,MAAM;sBAC/B,MAAM,KAAK,QAAQ,KAAK;;CAG1C,MAAMC,UAAkB,iBAAG;;;kBAGb,MAAM,KAAK,QAAQ,KAAK;;CAGtC,MAAMC,OAAe,iBAAG;;;kBAGV,MAAM,KAAK,QAAQ,KAAK;;;CAItC,MAAMC,SAAiB,iBAAG;;;kBAGZ,MAAM,KAAK,QAAQ,KAAK;4BACd,MAAM,KAAK,QAAQ,KAAK;;CAGhD,MAAMC,QAAgB,iBAAG;;;iBAGZ,MAAM,KAAK,QAAQ,KAAK;iCACR,MAAM,KAAK,OAAO,OAAO;;;CAItD,MAAMC,aAAqB,iBAAG;;;kBAGhB,MAAM,KAAK,QAAQ,KAAK;;CAGtC,MAAMC,WAAmB,iBAAG;;iBAEf,MAAM,KAAK,QAAQ,KAAK,QAAQ,MAAM,KAAK,QAAQ,KAAK;0BAC/C,MAAM,KAAK,OAAO,OAAO;uBAC5B,MAAM,KAAK,aAAa,OAAO;mBACnC,MAAM,KAAK,WAAW,UAAU,GAAG;eACvC,MAAM,KAAK,OAAO,KAAK,QAAQ;0BACpB,MAAM,KAAK,OAAO,WAAW,QAAQ;qBAC1C,MAAM,KAAK,WAAW,WAAW;;;;;wBAK9B,MAAM,KAAK,OAAO,QAAQ,KAAK;gCACvB,MAAM,KAAK,OAAO,QAAQ,KAAK;;;4BAGnC,MAAM,KAAK,OAAO,WAAW,SAAS;iBACjD,MAAM,KAAK,OAAO,KAAK,UAAU;;;;CAK9C,MAAMC,gBAAwB,iBAAG;sBACf,MAAM,KAAK,OAAO,MAAM,KAAK;;CAG/C,MAAMC,QAAgB,iBAAG;CAEzB,MAAMC,kBAA0B,iBAAG;;;kBAGrB,MAAM,KAAK,QAAQ,KAAK;uBACnB,MAAM,KAAK,QAAQ,KAAK;;CAG3C,MAAMC,UAAkB,iBAAG;;aAElB,MAAM,KAAK,QAAQ,KAAK;;0BAEX,MAAM,KAAK,QAAQ,KAAK;;CAG9C,MAAMC,gBAAwB,iBAAG;;;aAGxB,MAAM,KAAK,QAAQ,KAAK;;CAGjC,MAAMC,QAAgB,iBAAG;eACd,MAAM,KAAK,OAAO,KAAK,QAAQ;;;;aAIjC,MAAM,KAAK,QAAQ,KAAK;;;;;CAMjC,MAAMC,QAAgB,iBAAG;sBACP,MAAM,KAAK,QAAQ,KAAK;;AAO1C,QAAO;EACL;EACA;EACA;EACA;EACA,YATyB,iBAAG;4BACN,MAAM,KAAK,QAAQ,KAAK;;EAS9C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;GACA;CACD,MAAM,KAAK,QAAQ;CACnB,MAAM,KAAK,OAAO,WAAW;CAC7B,MAAM,KAAK,OAAO;CAClB,MAAM,KAAK,aAAa;CACxB,MAAM,KAAK,aAAa;CACxB,MAAM,KAAK,WAAW,UAAU;CAChC,MAAM,KAAK,OAAO,KAAK;CACvB,MAAM,KAAK,OAAO,QAAQ;CAC1B,MAAM,KAAK,OAAO,WAAW;CAC7B,MAAM,KAAK,OAAO,KAAK;CACvB,MAAM,KAAK,OAAO,MAAM;CACxB,MAAM,KAAK,WAAW;CACtB;CACD,CAAC;AAEJ,4CAAe"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const require_useThunderID = require('../../../contexts/ThunderID/useThunderID.cjs');
|
|
3
|
-
const require_useOrganization = require('../../../contexts/Organization/useOrganization.cjs');
|
|
4
|
-
const require_BaseCreateOrganization = require('./BaseCreateOrganization.cjs');
|
|
5
|
-
const require_createOrganization = require('../../../api/createOrganization.cjs');
|
|
6
|
-
let react = require("react");
|
|
7
|
-
react = require_rolldown_runtime.__toESM(react);
|
|
8
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
|
-
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
10
|
-
|
|
11
|
-
//#region src/components/presentation/CreateOrganization/CreateOrganization.tsx
|
|
12
|
-
/**
|
|
13
|
-
* CreateOrganization component that provides organization creation functionality.
|
|
14
|
-
* This component automatically integrates with the ThunderID and Organization contexts.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```tsx
|
|
18
|
-
* import { CreateOrganization } from '@thunderid/react';
|
|
19
|
-
*
|
|
20
|
-
* // Basic usage - uses default API and contexts
|
|
21
|
-
* <CreateOrganization
|
|
22
|
-
* onSuccess={(org) => console.log('Created:', org)}
|
|
23
|
-
* onCancel={() => navigate('/organizations')}
|
|
24
|
-
* />
|
|
25
|
-
*
|
|
26
|
-
* // With custom organization creation handler
|
|
27
|
-
* <CreateOrganization
|
|
28
|
-
* onCreateOrganization={async (payload) => {
|
|
29
|
-
* const result = await myCustomAPI.createOrganization(payload);
|
|
30
|
-
* return result;
|
|
31
|
-
* }}
|
|
32
|
-
* onSuccess={(org) => {
|
|
33
|
-
* console.log('Organization created:', org.name);
|
|
34
|
-
* // Custom success logic here
|
|
35
|
-
* }}
|
|
36
|
-
* />
|
|
37
|
-
*
|
|
38
|
-
* // With fallback for unauthenticated users
|
|
39
|
-
* <CreateOrganization
|
|
40
|
-
* fallback={<div>Please sign in to create an organization</div>}
|
|
41
|
-
* />
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
const CreateOrganization = ({ onCreateOrganization, fallback = null, onSuccess, defaultParentId,...props }) => {
|
|
45
|
-
const { isSignedIn, baseUrl, instanceId } = require_useThunderID.default();
|
|
46
|
-
const { currentOrganization, revalidateMyOrganizations } = require_useOrganization.default();
|
|
47
|
-
const [loading, setLoading] = (0, react.useState)(false);
|
|
48
|
-
const [error, setError] = (0, react.useState)(null);
|
|
49
|
-
if (!isSignedIn && fallback) return fallback;
|
|
50
|
-
if (!isSignedIn) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, {});
|
|
51
|
-
const parentId = defaultParentId || currentOrganization?.id || "";
|
|
52
|
-
const handleSubmit = async (payload) => {
|
|
53
|
-
setLoading(true);
|
|
54
|
-
setError(null);
|
|
55
|
-
try {
|
|
56
|
-
let result;
|
|
57
|
-
if (onCreateOrganization) result = await onCreateOrganization(payload);
|
|
58
|
-
else {
|
|
59
|
-
if (!baseUrl) throw new Error("Base URL is required for organization creation");
|
|
60
|
-
result = await require_createOrganization.default({
|
|
61
|
-
baseUrl,
|
|
62
|
-
instanceId,
|
|
63
|
-
payload: {
|
|
64
|
-
...payload,
|
|
65
|
-
parentId
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
await revalidateMyOrganizations();
|
|
70
|
-
if (onSuccess) onSuccess(result);
|
|
71
|
-
} catch (createError) {
|
|
72
|
-
setError(createError instanceof Error ? createError.message : "Failed to create organization");
|
|
73
|
-
throw createError;
|
|
74
|
-
} finally {
|
|
75
|
-
setLoading(false);
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_BaseCreateOrganization.BaseCreateOrganization, {
|
|
79
|
-
onSubmit: handleSubmit,
|
|
80
|
-
loading,
|
|
81
|
-
error,
|
|
82
|
-
defaultParentId: parentId,
|
|
83
|
-
onSuccess,
|
|
84
|
-
...props
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
//#endregion
|
|
89
|
-
exports.CreateOrganization = CreateOrganization;
|
|
90
|
-
//# sourceMappingURL=CreateOrganization.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateOrganization.cjs","names":["CreateOrganization: FC<CreateOrganizationProps>","useThunderID","useOrganization","parentId: string","result: any","createOrganization","BaseCreateOrganization"],"sources":["../../../../../src/components/presentation/CreateOrganization/CreateOrganization.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 {CreateOrganizationPayload} from '@thunderid/browser';\nimport {FC, ReactElement, useState} from 'react';\nimport {BaseCreateOrganization, BaseCreateOrganizationProps} from './BaseCreateOrganization';\nimport createOrganization from '../../../api/createOrganization';\nimport useOrganization from '../../../contexts/Organization/useOrganization';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\n\n/**\n * Props interface for the CreateOrganization component.\n */\nexport interface CreateOrganizationProps extends Omit<BaseCreateOrganizationProps, 'onSubmit' | 'loading' | 'error'> {\n /**\n * Fallback element to render when the user is not signed in.\n */\n fallback?: ReactElement | null;\n /**\n * Custom organization creation handler (will use default API if not provided).\n */\n onCreateOrganization?: (payload: CreateOrganizationPayload) => Promise<any>;\n}\n\n/**\n * CreateOrganization component that provides organization creation functionality.\n * This component automatically integrates with the ThunderID and Organization contexts.\n *\n * @example\n * ```tsx\n * import { CreateOrganization } from '@thunderid/react';\n *\n * // Basic usage - uses default API and contexts\n * <CreateOrganization\n * onSuccess={(org) => console.log('Created:', org)}\n * onCancel={() => navigate('/organizations')}\n * />\n *\n * // With custom organization creation handler\n * <CreateOrganization\n * onCreateOrganization={async (payload) => {\n * const result = await myCustomAPI.createOrganization(payload);\n * return result;\n * }}\n * onSuccess={(org) => {\n * console.log('Organization created:', org.name);\n * // Custom success logic here\n * }}\n * />\n *\n * // With fallback for unauthenticated users\n * <CreateOrganization\n * fallback={<div>Please sign in to create an organization</div>}\n * />\n * ```\n */\nexport const CreateOrganization: FC<CreateOrganizationProps> = ({\n onCreateOrganization,\n fallback = null,\n onSuccess,\n defaultParentId,\n ...props\n}: CreateOrganizationProps): ReactElement | null => {\n const {isSignedIn, baseUrl, instanceId} = useThunderID();\n const {currentOrganization, revalidateMyOrganizations} = useOrganization();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n if (!isSignedIn && fallback) {\n return fallback;\n }\n\n if (!isSignedIn) {\n return <></>;\n }\n\n // Use current organization as parent if no defaultParentId provided\n const parentId: string = defaultParentId || currentOrganization?.id || '';\n\n const handleSubmit = async (payload: CreateOrganizationPayload): Promise<void> => {\n setLoading(true);\n setError(null);\n\n try {\n let result: any;\n\n if (onCreateOrganization) {\n result = await onCreateOrganization(payload);\n } else {\n if (!baseUrl) {\n throw new Error('Base URL is required for organization creation');\n }\n\n result = await createOrganization({\n baseUrl,\n instanceId,\n payload: {\n ...payload,\n parentId,\n },\n });\n }\n\n await revalidateMyOrganizations();\n\n if (onSuccess) {\n onSuccess(result);\n }\n } catch (createError) {\n const errorMessage: string = createError instanceof Error ? createError.message : 'Failed to create organization';\n\n setError(errorMessage);\n\n throw createError;\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <BaseCreateOrganization\n onSubmit={handleSubmit}\n loading={loading}\n error={error}\n defaultParentId={parentId}\n onSuccess={onSuccess}\n {...props}\n />\n );\n};\n\nexport default CreateOrganization;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,MAAaA,sBAAmD,EAC9D,sBACA,WAAW,MACX,WACA,gBACA,GAAG,YAC+C;CAClD,MAAM,EAAC,YAAY,SAAS,eAAcC,8BAAc;CACxD,MAAM,EAAC,qBAAqB,8BAA6BC,iCAAiB;CAC1E,MAAM,CAAC,SAAS,kCAAuB,MAAM;CAC7C,MAAM,CAAC,OAAO,gCAAoC,KAAK;AAEvD,KAAI,CAAC,cAAc,SACjB,QAAO;AAGT,KAAI,CAAC,WACH,QAAO,0EAAK;CAId,MAAMC,WAAmB,mBAAmB,qBAAqB,MAAM;CAEvE,MAAM,eAAe,OAAO,YAAsD;AAChF,aAAW,KAAK;AAChB,WAAS,KAAK;AAEd,MAAI;GACF,IAAIC;AAEJ,OAAI,qBACF,UAAS,MAAM,qBAAqB,QAAQ;QACvC;AACL,QAAI,CAAC,QACH,OAAM,IAAI,MAAM,iDAAiD;AAGnE,aAAS,MAAMC,mCAAmB;KAChC;KACA;KACA,SAAS;MACP,GAAG;MACH;MACD;KACF,CAAC;;AAGJ,SAAM,2BAA2B;AAEjC,OAAI,UACF,WAAU,OAAO;WAEZ,aAAa;AAGpB,YAF6B,uBAAuB,QAAQ,YAAY,UAAU,gCAE5D;AAEtB,SAAM;YACE;AACR,cAAW,MAAM;;;AAIrB,QACE,2CAACC;EACC,UAAU;EACD;EACF;EACP,iBAAiB;EACN;EACX,GAAI;GACJ"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
3
|
-
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
4
|
-
|
|
5
|
-
//#region src/components/presentation/Organization/BaseOrganization.tsx
|
|
6
|
-
/**
|
|
7
|
-
* Base Organization component that provides the core functionality for displaying organization information.
|
|
8
|
-
* This component takes an organization object as a prop and uses render props to expose it.
|
|
9
|
-
*
|
|
10
|
-
* @remarks This is the base component that can be used in any context where you have
|
|
11
|
-
* an organization object available. For React applications, use the Organization component which
|
|
12
|
-
* automatically retrieves the current organization from Organization context.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```tsx
|
|
16
|
-
* import { BaseOrganization } from '@thunderid/auth-react';
|
|
17
|
-
*
|
|
18
|
-
* const MyComponent = ({ organization }) => {
|
|
19
|
-
* return (
|
|
20
|
-
* <BaseOrganization organization={organization} fallback={<p>No organization data</p>}>
|
|
21
|
-
* {(org) => (
|
|
22
|
-
* <div>
|
|
23
|
-
* <h1>Organization: {org.name}</h1>
|
|
24
|
-
* <p>ID: {org.id}</p>
|
|
25
|
-
* </div>
|
|
26
|
-
* )}
|
|
27
|
-
* </BaseOrganization>
|
|
28
|
-
* );
|
|
29
|
-
* }
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
const BaseOrganization = ({ children, fallback = null, organization }) => {
|
|
33
|
-
if (!organization) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: fallback });
|
|
34
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: children(organization) });
|
|
35
|
-
};
|
|
36
|
-
BaseOrganization.displayName = "BaseOrganization";
|
|
37
|
-
var BaseOrganization_default = BaseOrganization;
|
|
38
|
-
|
|
39
|
-
//#endregion
|
|
40
|
-
exports.default = BaseOrganization_default;
|
|
41
|
-
//# sourceMappingURL=BaseOrganization.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseOrganization.cjs","names":["BaseOrganization: FC<BaseOrganizationProps>"],"sources":["../../../../../src/components/presentation/Organization/BaseOrganization.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 {Organization as IOrganization} from '@thunderid/browser';\nimport {FC, ReactElement, ReactNode} from 'react';\n\n/**\n * Props for the BaseOrganization component.\n */\nexport interface BaseOrganizationProps {\n /**\n * Render prop that takes the organization object and returns a ReactNode.\n * @param organization - The organization object from ThunderID.\n * @returns A ReactNode to render.\n */\n children: (organization: IOrganization | null) => ReactNode;\n\n /**\n * Optional element to render when no organization is provided.\n */\n fallback?: ReactNode;\n\n /**\n * The organization object to display. If not provided, the component will render the fallback.\n */\n organization: IOrganization | null;\n}\n\n/**\n * Base Organization component that provides the core functionality for displaying organization information.\n * This component takes an organization object as a prop and uses render props to expose it.\n *\n * @remarks This is the base component that can be used in any context where you have\n * an organization object available. For React applications, use the Organization component which\n * automatically retrieves the current organization from Organization context.\n *\n * @example\n * ```tsx\n * import { BaseOrganization } from '@thunderid/auth-react';\n *\n * const MyComponent = ({ organization }) => {\n * return (\n * <BaseOrganization organization={organization} fallback={<p>No organization data</p>}>\n * {(org) => (\n * <div>\n * <h1>Organization: {org.name}</h1>\n * <p>ID: {org.id}</p>\n * </div>\n * )}\n * </BaseOrganization>\n * );\n * }\n * ```\n */\nconst BaseOrganization: FC<BaseOrganizationProps> = ({\n children,\n fallback = null,\n organization,\n}: BaseOrganizationProps): ReactElement => {\n if (!organization) {\n return <>{fallback}</>;\n }\n\n return <>{children(organization)}</>;\n};\n\nBaseOrganization.displayName = 'BaseOrganization';\n\nexport default BaseOrganization;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEA,MAAMA,oBAA+C,EACnD,UACA,WAAW,MACX,mBACyC;AACzC,KAAI,CAAC,aACH,QAAO,mFAAG,WAAY;AAGxB,QAAO,mFAAG,SAAS,aAAa,GAAI;;AAGtC,iBAAiB,cAAc;AAE/B,+BAAe"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const require_useOrganization = require('../../../contexts/Organization/useOrganization.cjs');
|
|
3
|
-
const require_BaseOrganization = require('./BaseOrganization.cjs');
|
|
4
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
-
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
6
|
-
|
|
7
|
-
//#region src/components/presentation/Organization/Organization.tsx
|
|
8
|
-
/**
|
|
9
|
-
* A component that uses render props to expose the current organization object.
|
|
10
|
-
* This component automatically retrieves the current organization from Organization context.
|
|
11
|
-
*
|
|
12
|
-
* @remarks This component is only supported in browser based React applications (CSR).
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```tsx
|
|
16
|
-
* import { Organization } from '@thunderid/auth-react';
|
|
17
|
-
*
|
|
18
|
-
* const App = () => {
|
|
19
|
-
* return (
|
|
20
|
-
* <Organization fallback={<p>No organization selected</p>}>
|
|
21
|
-
* {(organization) => (
|
|
22
|
-
* <div>
|
|
23
|
-
* <h1>Current Organization: {organization.name}!</h1>
|
|
24
|
-
* <p>ID: {organization.id}</p>
|
|
25
|
-
* <p>Role: {organization.role}</p>
|
|
26
|
-
* {organization.memberCount && (
|
|
27
|
-
* <p>Members: {organization.memberCount}</p>
|
|
28
|
-
* )}
|
|
29
|
-
* </div>
|
|
30
|
-
* )}
|
|
31
|
-
* </Organization>
|
|
32
|
-
* );
|
|
33
|
-
* }
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
const Organization = ({ children, fallback = null }) => {
|
|
37
|
-
const { currentOrganization } = require_useOrganization.default();
|
|
38
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_BaseOrganization.default, {
|
|
39
|
-
organization: currentOrganization,
|
|
40
|
-
fallback,
|
|
41
|
-
children
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
Organization.displayName = "Organization";
|
|
45
|
-
var Organization_default = Organization;
|
|
46
|
-
|
|
47
|
-
//#endregion
|
|
48
|
-
exports.default = Organization_default;
|
|
49
|
-
//# sourceMappingURL=Organization.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Organization.cjs","names":["Organization: FC<OrganizationProps>","useOrganization","BaseOrganization"],"sources":["../../../../../src/components/presentation/Organization/Organization.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 {Organization as IOrganization} from '@thunderid/browser';\nimport {FC, ReactElement, ReactNode} from 'react';\nimport BaseOrganization, {BaseOrganizationProps} from './BaseOrganization';\nimport useOrganization from '../../../contexts/Organization/useOrganization';\n\n/**\n * Props for the Organization component.\n * Extends BaseOrganizationProps but makes the organization prop optional since it will be obtained from useOrganization\n */\nexport interface OrganizationProps extends Omit<BaseOrganizationProps, 'organization'> {\n /**\n * Render prop that takes the organization object and returns a ReactNode.\n * @param organization - The current organization object from Organization context.\n * @returns A ReactNode to render.\n */\n children: (organization: IOrganization | null) => ReactNode;\n\n /**\n * Optional element to render when no organization is selected.\n */\n fallback?: ReactNode;\n}\n\n/**\n * A component that uses render props to expose the current organization object.\n * This component automatically retrieves the current organization from Organization context.\n *\n * @remarks This component is only supported in browser based React applications (CSR).\n *\n * @example\n * ```tsx\n * import { Organization } from '@thunderid/auth-react';\n *\n * const App = () => {\n * return (\n * <Organization fallback={<p>No organization selected</p>}>\n * {(organization) => (\n * <div>\n * <h1>Current Organization: {organization.name}!</h1>\n * <p>ID: {organization.id}</p>\n * <p>Role: {organization.role}</p>\n * {organization.memberCount && (\n * <p>Members: {organization.memberCount}</p>\n * )}\n * </div>\n * )}\n * </Organization>\n * );\n * }\n * ```\n */\nconst Organization: FC<OrganizationProps> = ({children, fallback = null}: OrganizationProps): ReactElement => {\n const {currentOrganization} = useOrganization();\n\n return (\n <BaseOrganization organization={currentOrganization} fallback={fallback}>\n {children}\n </BaseOrganization>\n );\n};\n\nOrganization.displayName = 'Organization';\n\nexport default Organization;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEA,MAAMA,gBAAuC,EAAC,UAAU,WAAW,WAA2C;CAC5G,MAAM,EAAC,wBAAuBC,iCAAiB;AAE/C,QACE,2CAACC;EAAiB,cAAc;EAA+B;EAC5D;GACgB;;AAIvB,aAAa,cAAc;AAE3B,2BAAe"}
|