@asgardeo/vue 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/cjs/index.js CHANGED
@@ -37,7 +37,7 @@ __export(index_exports, {
37
37
  ArrowLeftRightIcon: () => ArrowLeftRightIcon,
38
38
  AsgardeoPlugin: () => AsgardeoPlugin_default,
39
39
  AsgardeoProvider: () => AsgardeoProvider_default,
40
- AsgardeoRuntimeError: () => import_browser72.AsgardeoRuntimeError,
40
+ AsgardeoRuntimeError: () => import_browser77.AsgardeoRuntimeError,
41
41
  AsgardeoVueClient: () => AsgardeoVueClient_default,
42
42
  BRANDING_KEY: () => BRANDING_KEY,
43
43
  BaseAcceptInvite: () => BaseAcceptInvite_default,
@@ -50,7 +50,7 @@ __export(index_exports, {
50
50
  BaseSignIn: () => BaseSignIn_default3,
51
51
  BaseSignInButton: () => BaseSignInButton_default,
52
52
  BaseSignOutButton: () => BaseSignOutButton_default,
53
- BaseSignUp: () => BaseSignUp_default,
53
+ BaseSignUp: () => BaseSignUp_default3,
54
54
  BaseSignUpButton: () => BaseSignUpButton_default,
55
55
  BaseUserDropdown: () => BaseUserDropdown_default,
56
56
  BaseUserProfile: () => BaseUserProfile_default,
@@ -67,19 +67,19 @@ __export(index_exports, {
67
67
  CreateOrganization: () => CreateOrganization_default,
68
68
  DatePicker: () => DatePicker_default,
69
69
  Divider: () => Divider_default,
70
- EmbeddedFlowActionVariant: () => import_browser72.EmbeddedFlowActionVariantV2,
71
- EmbeddedFlowComponentType: () => import_browser72.EmbeddedFlowComponentTypeV2,
72
- EmbeddedFlowEventType: () => import_browser72.EmbeddedFlowEventTypeV2,
73
- EmbeddedFlowTextVariant: () => import_browser72.EmbeddedFlowTextVariantV2,
74
- EmbeddedSignInFlowStatus: () => import_browser72.EmbeddedSignInFlowStatusV2,
75
- EmbeddedSignInFlowType: () => import_browser72.EmbeddedSignInFlowTypeV2,
70
+ EmbeddedFlowActionVariant: () => import_browser77.EmbeddedFlowActionVariantV2,
71
+ EmbeddedFlowComponentType: () => import_browser77.EmbeddedFlowComponentTypeV2,
72
+ EmbeddedFlowEventType: () => import_browser77.EmbeddedFlowEventTypeV2,
73
+ EmbeddedFlowTextVariant: () => import_browser77.EmbeddedFlowTextVariantV2,
74
+ EmbeddedSignInFlowStatus: () => import_browser77.EmbeddedSignInFlowStatusV2,
75
+ EmbeddedSignInFlowType: () => import_browser77.EmbeddedSignInFlowTypeV2,
76
76
  EyeIcon: () => EyeIcon,
77
77
  EyeOffIcon: () => EyeOffIcon,
78
78
  FLOW_KEY: () => FLOW_KEY,
79
79
  FLOW_META_KEY: () => FLOW_META_KEY,
80
80
  FacebookButton: () => FacebookButton_default,
81
81
  FieldFactory: () => FieldFactory_default,
82
- FieldType: () => import_browser71.FieldType,
82
+ FieldType: () => import_browser76.FieldType,
83
83
  FlowMetaProvider: () => FlowMetaProvider_default,
84
84
  FlowProvider: () => FlowProvider_default,
85
85
  GitHubButton: () => GitHubButton_default,
@@ -108,7 +108,7 @@ __export(index_exports, {
108
108
  SignIn: () => SignIn_default3,
109
109
  SignInButton: () => SignInButton_default,
110
110
  SignOutButton: () => SignOutButton_default,
111
- SignUp: () => SignUp_default,
111
+ SignUp: () => SignUp_default3,
112
112
  SignUpButton: () => SignUpButton_default,
113
113
  SignedIn: () => SignedIn_default,
114
114
  SignedOut: () => SignedOut_default,
@@ -128,17 +128,17 @@ __export(index_exports, {
128
128
  buildThemeConfigFromFlowMeta: () => buildThemeConfigFromFlowMeta_default,
129
129
  createAsgardeoGuard: () => createAsgardeoGuard,
130
130
  createCallbackRoute: () => createCallbackRoute,
131
- createClassObserver: () => import_browser70.createClassObserver,
131
+ createClassObserver: () => import_browser75.createClassObserver,
132
132
  createField: () => createField,
133
- createMediaQueryListener: () => import_browser70.createMediaQueryListener,
134
- detectThemeMode: () => import_browser70.detectThemeMode,
135
- getActiveTheme: () => import_browser69.getActiveTheme,
133
+ createMediaQueryListener: () => import_browser75.createMediaQueryListener,
134
+ detectThemeMode: () => import_browser75.detectThemeMode,
135
+ getActiveTheme: () => import_browser74.getActiveTheme,
136
136
  getAuthComponentHeadings: () => getAuthComponentHeadings_default,
137
- handleWebAuthnAuthentication: () => import_browser65.handleWebAuthnAuthentication,
138
- hasAuthParamsInUrl: () => import_browser66.hasAuthParamsInUrl,
139
- http: () => import_browser68.http,
137
+ handleWebAuthnAuthentication: () => import_browser70.handleWebAuthnAuthentication,
138
+ hasAuthParamsInUrl: () => import_browser71.hasAuthParamsInUrl,
139
+ http: () => import_browser73.http,
140
140
  initiateOAuthRedirect: () => initiateOAuthRedirect,
141
- navigate: () => import_browser67.navigate,
141
+ navigate: () => import_browser72.navigate,
142
142
  useAsgardeo: () => useAsgardeo_default,
143
143
  useBranding: () => useBranding_default,
144
144
  useFlow: () => useFlow_default,
@@ -4109,8 +4109,11 @@ function injectStyles() {
4109
4109
 
4110
4110
  // src/plugins/AsgardeoPlugin.ts
4111
4111
  var AsgardeoPlugin = {
4112
- install(app) {
4112
+ install(app, options) {
4113
4113
  injectStyles();
4114
+ if (options?.mode === "delegated") {
4115
+ return;
4116
+ }
4114
4117
  app.component("AsgardeoProvider", AsgardeoProvider_default);
4115
4118
  }
4116
4119
  };
@@ -8234,12 +8237,668 @@ var BaseSignIn3 = (0, import_vue57.defineComponent)({
8234
8237
  var BaseSignIn_default3 = BaseSignIn3;
8235
8238
 
8236
8239
  // src/components/presentation/sign-up/SignUp.ts
8240
+ var import_browser51 = require("@asgardeo/browser");
8241
+ var import_vue63 = require("vue");
8242
+
8243
+ // src/components/presentation/sign-up/v1/SignUp.ts
8244
+ var import_browser48 = require("@asgardeo/browser");
8245
+ var import_vue60 = require("vue");
8246
+
8247
+ // src/components/presentation/sign-up/v1/BaseSignUp.ts
8237
8248
  var import_browser47 = require("@asgardeo/browser");
8238
8249
  var import_vue59 = require("vue");
8239
8250
 
8240
- // src/components/presentation/sign-up/BaseSignUp.ts
8251
+ // src/components/presentation/sign-up/v1/options/SignUpOptionFactory.ts
8241
8252
  var import_browser46 = require("@asgardeo/browser");
8242
8253
  var import_vue58 = require("vue");
8254
+ var getInputName = (component) => {
8255
+ const cfg = component.config || {};
8256
+ return cfg.name || cfg.identifier || component.id;
8257
+ };
8258
+ var inferFieldType = (component) => {
8259
+ const variant = String(component.variant || "").toUpperCase();
8260
+ const cfg = component.config || {};
8261
+ const cfgType = String(cfg.type || "").toLowerCase();
8262
+ if (variant === "EMAIL" || cfgType === "email") return import_browser46.FieldType.Email;
8263
+ if (variant === "PASSWORD" || cfgType === "password") return import_browser46.FieldType.Password;
8264
+ if (variant === "TELEPHONE" || cfgType === "tel") return import_browser46.FieldType.Text;
8265
+ if (variant === "NUMBER" || cfgType === "number") return import_browser46.FieldType.Number;
8266
+ if (variant === "DATE" || cfgType === "date") return import_browser46.FieldType.Date;
8267
+ if (variant === "CHECKBOX" || cfgType === "checkbox") return import_browser46.FieldType.Checkbox;
8268
+ return import_browser46.FieldType.Text;
8269
+ };
8270
+ var inferTypographyVariant = (component) => {
8271
+ const variant = String(component.variant || "").toUpperCase();
8272
+ switch (variant) {
8273
+ case "H1":
8274
+ return "h1";
8275
+ case "H2":
8276
+ return "h2";
8277
+ case "H3":
8278
+ return "h3";
8279
+ case "H4":
8280
+ return "h4";
8281
+ case "H5":
8282
+ return "h5";
8283
+ case "H6":
8284
+ return "h6";
8285
+ case "SUBTITLE1":
8286
+ return "subtitle1";
8287
+ case "SUBTITLE2":
8288
+ return "subtitle2";
8289
+ case "BODY2":
8290
+ return "body2";
8291
+ case "CAPTION":
8292
+ return "caption";
8293
+ case "OVERLINE":
8294
+ return "overline";
8295
+ default:
8296
+ return "body1";
8297
+ }
8298
+ };
8299
+ var matchesSocialProvider2 = (component, provider) => {
8300
+ const text = String(component?.config?.text || component?.config?.label || "").toLowerCase();
8301
+ const variant = String(component?.variant || "").toUpperCase();
8302
+ return variant === "SOCIAL" && text.includes(provider);
8303
+ };
8304
+ var createSignUpComponent = (props) => {
8305
+ const {
8306
+ component,
8307
+ formValues,
8308
+ touchedFields,
8309
+ formErrors,
8310
+ isLoading,
8311
+ isFormValid,
8312
+ onInputChange,
8313
+ onSubmit,
8314
+ inputClassName,
8315
+ buttonClassName
8316
+ } = props;
8317
+ const cfg = component.config || {};
8318
+ switch (component.type) {
8319
+ case import_browser46.EmbeddedFlowComponentType.Typography: {
8320
+ const text = String(cfg.text || cfg.label || "");
8321
+ return (0, import_vue58.h)(
8322
+ Typography_default,
8323
+ { style: "margin-bottom:0.5rem", variant: inferTypographyVariant(component) },
8324
+ { default: () => text }
8325
+ );
8326
+ }
8327
+ case import_browser46.EmbeddedFlowComponentType.Input: {
8328
+ const name = getInputName(component);
8329
+ const fieldType = inferFieldType(component);
8330
+ const value = formValues[name] || "";
8331
+ const isTouched = touchedFields[name] || false;
8332
+ const error = isTouched ? formErrors[name] : void 0;
8333
+ return createField({
8334
+ className: inputClassName,
8335
+ disabled: isLoading,
8336
+ error,
8337
+ label: String(cfg.label || ""),
8338
+ name,
8339
+ onChange: (newValue) => onInputChange(name, newValue),
8340
+ placeholder: String(cfg.placeholder || ""),
8341
+ required: Boolean(cfg.required),
8342
+ touched: isTouched,
8343
+ type: fieldType,
8344
+ value
8345
+ });
8346
+ }
8347
+ case import_browser46.EmbeddedFlowComponentType.Button: {
8348
+ const text = String(cfg.text || cfg.label || "Submit");
8349
+ const variant = String(component.variant || "PRIMARY").toUpperCase();
8350
+ const isPrimary = variant === "PRIMARY";
8351
+ const handleClick = () => onSubmit(component, void 0);
8352
+ if (matchesSocialProvider2(component, "google")) {
8353
+ return (0, import_vue58.h)(GoogleButton_default, { class: buttonClassName, isLoading, onClick: handleClick });
8354
+ }
8355
+ if (matchesSocialProvider2(component, "github")) {
8356
+ return (0, import_vue58.h)(GitHubButton_default, { class: buttonClassName, isLoading, onClick: handleClick });
8357
+ }
8358
+ if (matchesSocialProvider2(component, "microsoft")) {
8359
+ return (0, import_vue58.h)(MicrosoftButton_default, { class: buttonClassName, isLoading, onClick: handleClick });
8360
+ }
8361
+ if (matchesSocialProvider2(component, "facebook")) {
8362
+ return (0, import_vue58.h)(FacebookButton_default, { class: buttonClassName, isLoading, onClick: handleClick });
8363
+ }
8364
+ return (0, import_vue58.h)(
8365
+ Button_default,
8366
+ {
8367
+ class: buttonClassName,
8368
+ color: isPrimary ? "primary" : "secondary",
8369
+ "data-testid": "asgardeo-signup-submit",
8370
+ disabled: isLoading || !isFormValid && cfg.type === "submit",
8371
+ fullWidth: true,
8372
+ loading: isLoading,
8373
+ onClick: handleClick,
8374
+ type: cfg.type === "submit" ? "submit" : "button",
8375
+ variant: isPrimary ? "solid" : "outline"
8376
+ },
8377
+ { default: () => text }
8378
+ );
8379
+ }
8380
+ case import_browser46.EmbeddedFlowComponentType.Form: {
8381
+ const children = component.components || [];
8382
+ const nodes = [];
8383
+ children.forEach((child) => {
8384
+ const rendered = createSignUpComponent({ ...props, component: child });
8385
+ if (rendered === null) return;
8386
+ if (Array.isArray(rendered)) nodes.push(...rendered);
8387
+ else nodes.push(rendered);
8388
+ });
8389
+ return nodes;
8390
+ }
8391
+ case import_browser46.EmbeddedFlowComponentType.Divider: {
8392
+ return (0, import_vue58.h)("hr", {
8393
+ class: "asgardeo-signup__divider",
8394
+ style: "margin:0.75rem 0;border:0;border-top:1px solid #e5e7eb"
8395
+ });
8396
+ }
8397
+ case import_browser46.EmbeddedFlowComponentType.Image: {
8398
+ const src = String(cfg.src || cfg.url || "");
8399
+ const alt = String(cfg.alt || "");
8400
+ if (!src) return null;
8401
+ return (0, import_vue58.h)("img", { alt, src, style: "max-width:100%;height:auto;display:block;margin:0.5rem auto" });
8402
+ }
8403
+ default: {
8404
+ if (String(component.type).toUpperCase() === "RICH_TEXT") {
8405
+ const html = String(cfg.text || cfg.label || "");
8406
+ return (0, import_vue58.h)("div", { class: "asgardeo-signup__rich-text", innerHTML: html });
8407
+ }
8408
+ return null;
8409
+ }
8410
+ }
8411
+ };
8412
+ var renderSignUpComponents2 = (components, formValues, touchedFields, formErrors, isLoading, isFormValid, onInputChange, onSubmit, options) => {
8413
+ const result = [];
8414
+ components.forEach((component) => {
8415
+ const rendered = createSignUpComponent({
8416
+ buttonClassName: options?.buttonClassName,
8417
+ component,
8418
+ formErrors,
8419
+ formValues,
8420
+ inputClassName: options?.inputClassName,
8421
+ isFormValid,
8422
+ isLoading,
8423
+ onInputChange,
8424
+ onSubmit,
8425
+ size: options?.size,
8426
+ touchedFields
8427
+ });
8428
+ if (rendered === null) return;
8429
+ if (Array.isArray(rendered)) result.push(...rendered);
8430
+ else result.push(rendered);
8431
+ });
8432
+ return result;
8433
+ };
8434
+
8435
+ // src/components/presentation/sign-up/v1/BaseSignUp.ts
8436
+ var logger6 = createVueLogger("BaseSignUpV1");
8437
+ var BaseSignUp = (0, import_vue59.defineComponent)({
8438
+ emits: ["error", "flowChange", "complete"],
8439
+ name: "BaseSignUpV1",
8440
+ props: {
8441
+ afterSignUpUrl: { default: void 0, type: String },
8442
+ buttonClassName: { default: "", type: String },
8443
+ className: { default: "", type: String },
8444
+ errorClassName: { default: "", type: String },
8445
+ inputClassName: { default: "", type: String },
8446
+ isInitialized: { default: true, type: Boolean },
8447
+ messageClassName: { default: "", type: String },
8448
+ onComplete: { default: void 0, type: Function },
8449
+ onError: { default: void 0, type: Function },
8450
+ onFlowChange: {
8451
+ default: void 0,
8452
+ type: Function
8453
+ },
8454
+ onInitialize: {
8455
+ default: void 0,
8456
+ type: Function
8457
+ },
8458
+ onSubmit: {
8459
+ default: void 0,
8460
+ type: Function
8461
+ },
8462
+ shouldRedirectAfterSignUp: { default: true, type: Boolean },
8463
+ showLogo: { default: true, type: Boolean },
8464
+ showSubtitle: { default: true, type: Boolean },
8465
+ showTitle: { default: true, type: Boolean },
8466
+ size: { default: "medium", type: String },
8467
+ variant: { default: "outlined", type: String }
8468
+ },
8469
+ setup(props, { slots, emit }) {
8470
+ const { t } = useI18n_default();
8471
+ const { title: flowTitle, subtitle: flowSubtitle, messages: flowMessages, addMessage, clearMessages } = useFlow_default();
8472
+ const isLoading = (0, import_vue59.ref)(false);
8473
+ const isFlowInitialized = (0, import_vue59.ref)(false);
8474
+ const currentFlow = (0, import_vue59.ref)(null);
8475
+ const formValues = (0, import_vue59.ref)({});
8476
+ const touchedFields = (0, import_vue59.ref)({});
8477
+ const formErrors = (0, import_vue59.ref)({});
8478
+ let initializationAttempted = false;
8479
+ const handleError = (err) => {
8480
+ let errorMessage = t("errors.signup.flow.failure") || "Sign-up failed";
8481
+ if (err && typeof err === "object") {
8482
+ if (err.code && (err.message || err.description)) {
8483
+ errorMessage = err.description || err.message;
8484
+ } else if (err.message) {
8485
+ errorMessage = err.message;
8486
+ }
8487
+ } else if (typeof err === "string") {
8488
+ errorMessage = err;
8489
+ }
8490
+ clearMessages();
8491
+ addMessage({ message: errorMessage, type: "error" });
8492
+ };
8493
+ const collectInputNames = (components) => {
8494
+ const names = [];
8495
+ const walk = (comps) => {
8496
+ comps.forEach((component) => {
8497
+ const cfg = component.config || {};
8498
+ if (component.type === import_browser47.EmbeddedFlowComponentType.Input) {
8499
+ const name = cfg.name || cfg.identifier || component.id;
8500
+ if (name) names.push(name);
8501
+ }
8502
+ const children = component.components || [];
8503
+ if (children.length > 0) walk(children);
8504
+ });
8505
+ };
8506
+ walk(components);
8507
+ return names;
8508
+ };
8509
+ const setupFormFields = (response) => {
8510
+ const componentTree = response.data?.components || [];
8511
+ const names = collectInputNames(componentTree);
8512
+ const initial = {};
8513
+ names.forEach((name) => {
8514
+ initial[name] = "";
8515
+ });
8516
+ formValues.value = initial;
8517
+ touchedFields.value = {};
8518
+ formErrors.value = {};
8519
+ };
8520
+ const handleInputChange = (name, value) => {
8521
+ formValues.value = { ...formValues.value, [name]: value };
8522
+ touchedFields.value = { ...touchedFields.value, [name]: true };
8523
+ if (formErrors.value[name]) {
8524
+ const next = { ...formErrors.value };
8525
+ delete next[name];
8526
+ formErrors.value = next;
8527
+ }
8528
+ };
8529
+ const isFormValid = () => Object.keys(formErrors.value).length === 0;
8530
+ const handleRedirectionIfNeeded = (response) => {
8531
+ if (response?.type !== import_browser47.EmbeddedFlowResponseType.Redirection || !response?.data?.redirectURL) {
8532
+ return false;
8533
+ }
8534
+ if (typeof window === "undefined") return false;
8535
+ const redirectUrl = response.data.redirectURL;
8536
+ const popup = window.open(
8537
+ redirectUrl,
8538
+ "oauth_popup",
8539
+ "width=500,height=600,scrollbars=yes,resizable=yes"
8540
+ );
8541
+ if (!popup) {
8542
+ logger6.error("Failed to open popup window for social sign-up redirect");
8543
+ return false;
8544
+ }
8545
+ let processed = false;
8546
+ let popupMonitor;
8547
+ let messageHandler;
8548
+ const cleanup = () => {
8549
+ window.removeEventListener("message", messageHandler);
8550
+ if (popupMonitor) clearInterval(popupMonitor);
8551
+ };
8552
+ const continueWithCode = async (code, state) => {
8553
+ const payload = {
8554
+ ...currentFlow.value?.flowId && { flowId: currentFlow.value.flowId },
8555
+ actionId: "",
8556
+ flowType: currentFlow.value?.flowType || "REGISTRATION",
8557
+ inputs: { code, state }
8558
+ };
8559
+ try {
8560
+ const next = await props.onSubmit(payload);
8561
+ props.onFlowChange?.(next);
8562
+ emit("flowChange", next);
8563
+ if (next.flowStatus === import_browser47.EmbeddedFlowStatus.Complete) {
8564
+ props.onComplete?.(next);
8565
+ emit("complete", next);
8566
+ } else if (next.flowStatus === import_browser47.EmbeddedFlowStatus.Incomplete) {
8567
+ currentFlow.value = next;
8568
+ setupFormFields(next);
8569
+ }
8570
+ } catch (err) {
8571
+ handleError(err);
8572
+ props.onError?.(err);
8573
+ emit("error", err);
8574
+ } finally {
8575
+ popup.close();
8576
+ cleanup();
8577
+ }
8578
+ };
8579
+ messageHandler = async (event) => {
8580
+ if (event.source !== popup) return;
8581
+ const expectedOrigin = props.afterSignUpUrl ? new URL(props.afterSignUpUrl).origin : window.location.origin;
8582
+ if (event.origin !== expectedOrigin && event.origin !== window.location.origin) return;
8583
+ const { code, state } = event.data || {};
8584
+ if (code && state && !processed) {
8585
+ processed = true;
8586
+ await continueWithCode(code, state);
8587
+ }
8588
+ };
8589
+ window.addEventListener("message", messageHandler);
8590
+ popupMonitor = setInterval(async () => {
8591
+ try {
8592
+ if (popup.closed) {
8593
+ cleanup();
8594
+ return;
8595
+ }
8596
+ if (processed) return;
8597
+ let popupUrl;
8598
+ try {
8599
+ popupUrl = popup.location.href;
8600
+ } catch {
8601
+ return;
8602
+ }
8603
+ if (!popupUrl) return;
8604
+ if (popupUrl.includes("code=") || popupUrl.includes("error=")) {
8605
+ const url = new URL(popupUrl);
8606
+ const code = url.searchParams.get("code");
8607
+ const state = url.searchParams.get("state");
8608
+ const error = url.searchParams.get("error");
8609
+ if (error) {
8610
+ processed = true;
8611
+ logger6.error(`OAuth error during social sign-up: ${error}`);
8612
+ popup.close();
8613
+ cleanup();
8614
+ return;
8615
+ }
8616
+ if (code && state) {
8617
+ processed = true;
8618
+ await continueWithCode(code, state);
8619
+ }
8620
+ }
8621
+ } catch (err) {
8622
+ logger6.error("Error monitoring sign-up popup");
8623
+ }
8624
+ }, 1e3);
8625
+ return true;
8626
+ };
8627
+ const handleSubmit = async (component, data) => {
8628
+ if (!currentFlow.value) return;
8629
+ isLoading.value = true;
8630
+ clearMessages();
8631
+ try {
8632
+ const filteredInputs = {};
8633
+ const sourceInputs = data ?? formValues.value;
8634
+ Object.entries(sourceInputs).forEach(([key, value]) => {
8635
+ if (value !== null && value !== void 0 && value !== "") {
8636
+ filteredInputs[key] = value;
8637
+ }
8638
+ });
8639
+ const actionId = component?.actionId || component?.id;
8640
+ const payload = {
8641
+ ...currentFlow.value.flowId && { flowId: currentFlow.value.flowId },
8642
+ flowType: currentFlow.value.flowType || "REGISTRATION",
8643
+ inputs: filteredInputs,
8644
+ ...actionId && { actionId }
8645
+ };
8646
+ const response = await props.onSubmit(payload);
8647
+ props.onFlowChange?.(response);
8648
+ emit("flowChange", response);
8649
+ if (response?.flowStatus === import_browser47.EmbeddedFlowStatus.Complete) {
8650
+ props.onComplete?.(response);
8651
+ emit("complete", response);
8652
+ return;
8653
+ }
8654
+ if (response?.flowStatus === import_browser47.EmbeddedFlowStatus.Incomplete) {
8655
+ if (handleRedirectionIfNeeded(response)) return;
8656
+ currentFlow.value = response;
8657
+ setupFormFields(response);
8658
+ }
8659
+ } catch (err) {
8660
+ handleError(err);
8661
+ props.onError?.(err);
8662
+ emit("error", err);
8663
+ } finally {
8664
+ isLoading.value = false;
8665
+ }
8666
+ };
8667
+ (0, import_vue59.watch)(
8668
+ () => [props.isInitialized, isFlowInitialized.value],
8669
+ ([initialized, flowInit]) => {
8670
+ if (!initialized || flowInit || initializationAttempted) return;
8671
+ if (!props.onInitialize) return;
8672
+ initializationAttempted = true;
8673
+ (async () => {
8674
+ isLoading.value = true;
8675
+ clearMessages();
8676
+ try {
8677
+ const response = await props.onInitialize();
8678
+ currentFlow.value = response;
8679
+ isFlowInitialized.value = true;
8680
+ props.onFlowChange?.(response);
8681
+ emit("flowChange", response);
8682
+ if (response?.flowStatus === import_browser47.EmbeddedFlowStatus.Complete) {
8683
+ props.onComplete?.(response);
8684
+ emit("complete", response);
8685
+ return;
8686
+ }
8687
+ if (response?.flowStatus === import_browser47.EmbeddedFlowStatus.Incomplete) {
8688
+ setupFormFields(response);
8689
+ }
8690
+ } catch (err) {
8691
+ handleError(err);
8692
+ props.onError?.(err);
8693
+ emit("error", err);
8694
+ } finally {
8695
+ isLoading.value = false;
8696
+ }
8697
+ })();
8698
+ },
8699
+ { immediate: true }
8700
+ );
8701
+ return () => {
8702
+ const containerClass = [
8703
+ (0, import_browser47.withVendorCSSClassPrefix)("signup"),
8704
+ (0, import_browser47.withVendorCSSClassPrefix)(`signup--${props.size}`),
8705
+ (0, import_browser47.withVendorCSSClassPrefix)(`signup--${props.variant}`),
8706
+ props.className
8707
+ ].filter(Boolean).join(" ");
8708
+ if (slots["default"]) {
8709
+ const renderProps = {
8710
+ components: currentFlow.value?.data?.components || [],
8711
+ errors: formErrors.value,
8712
+ handleInputChange,
8713
+ handleSubmit,
8714
+ isLoading: isLoading.value,
8715
+ isValid: isFormValid(),
8716
+ messages: flowMessages.value || [],
8717
+ subtitle: flowSubtitle.value || t("signup.subheading") || "",
8718
+ title: flowTitle.value || t("signup.heading") || "",
8719
+ touched: touchedFields.value,
8720
+ values: formValues.value
8721
+ };
8722
+ return (0, import_vue59.h)("div", { class: containerClass }, slots["default"](renderProps));
8723
+ }
8724
+ if (!isFlowInitialized.value && isLoading.value) {
8725
+ return (0, import_vue59.h)(
8726
+ Card_default,
8727
+ { class: containerClass, variant: props.variant },
8728
+ () => (0, import_vue59.h)("div", { style: "display:flex;justify-content:center;padding:2rem" }, (0, import_vue59.h)(Spinner_default))
8729
+ );
8730
+ }
8731
+ if (!currentFlow.value) {
8732
+ return (0, import_vue59.h)(
8733
+ Card_default,
8734
+ { class: containerClass, variant: props.variant },
8735
+ () => (0, import_vue59.h)(
8736
+ Alert_default,
8737
+ { variant: "error" },
8738
+ () => t("errors.signup.flow.initialization.failure") || "Failed to initialize sign-up flow"
8739
+ )
8740
+ );
8741
+ }
8742
+ const components = currentFlow.value.data?.components || [];
8743
+ const rendered = renderSignUpComponents2(
8744
+ components,
8745
+ formValues.value,
8746
+ touchedFields.value,
8747
+ formErrors.value,
8748
+ isLoading.value,
8749
+ isFormValid(),
8750
+ handleInputChange,
8751
+ handleSubmit,
8752
+ {
8753
+ buttonClassName: props.buttonClassName,
8754
+ inputClassName: props.inputClassName,
8755
+ size: props.size
8756
+ }
8757
+ );
8758
+ const cardChildren = [];
8759
+ if (props.showLogo) {
8760
+ cardChildren.push((0, import_vue59.h)("div", { style: "display:flex;justify-content:center;margin-bottom:1rem" }, [(0, import_vue59.h)(Logo_default)]));
8761
+ }
8762
+ if (props.showTitle || props.showSubtitle) {
8763
+ const headerChildren = [];
8764
+ if (props.showTitle) {
8765
+ headerChildren.push(
8766
+ (0, import_vue59.h)(Typography_default, { variant: "h2" }, { default: () => flowTitle.value || t("signup.heading") || "Sign Up" })
8767
+ );
8768
+ }
8769
+ if (props.showSubtitle) {
8770
+ headerChildren.push(
8771
+ (0, import_vue59.h)(
8772
+ Typography_default,
8773
+ { variant: "body1" },
8774
+ { default: () => flowSubtitle.value || t("signup.subheading") || "Create your account" }
8775
+ )
8776
+ );
8777
+ }
8778
+ cardChildren.push((0, import_vue59.h)("div", { style: "padding: 0 1rem 1rem" }, headerChildren));
8779
+ }
8780
+ if (flowMessages.value && flowMessages.value.length > 0) {
8781
+ cardChildren.push(
8782
+ (0, import_vue59.h)(
8783
+ "div",
8784
+ { style: "padding: 0 1rem" },
8785
+ flowMessages.value.map(
8786
+ (msg, i) => (0, import_vue59.h)(
8787
+ Alert_default,
8788
+ {
8789
+ class: props.messageClassName,
8790
+ key: msg.id || i,
8791
+ variant: msg.type?.toLowerCase() === "error" ? "error" : "info"
8792
+ },
8793
+ () => msg.message
8794
+ )
8795
+ )
8796
+ )
8797
+ );
8798
+ }
8799
+ cardChildren.push(
8800
+ (0, import_vue59.h)(
8801
+ "form",
8802
+ {
8803
+ class: (0, import_browser47.withVendorCSSClassPrefix)("signup__form"),
8804
+ onSubmit: (e) => {
8805
+ e.preventDefault();
8806
+ handleSubmit({ config: { type: "submit" }, type: "BUTTON" });
8807
+ },
8808
+ style: "padding: 1rem;display:flex;flex-direction:column;gap:0.75rem"
8809
+ },
8810
+ rendered.length > 0 ? rendered : [
8811
+ (0, import_vue59.h)(
8812
+ Alert_default,
8813
+ { variant: "warning" },
8814
+ () => t("errors.signup.components.not.available") || "No components available"
8815
+ )
8816
+ ]
8817
+ )
8818
+ );
8819
+ return (0, import_vue59.h)(Card_default, { class: containerClass, variant: props.variant }, () => cardChildren);
8820
+ };
8821
+ }
8822
+ });
8823
+ var BaseSignUp_default = BaseSignUp;
8824
+
8825
+ // src/components/presentation/sign-up/v1/SignUp.ts
8826
+ var SignUp = (0, import_vue60.defineComponent)({
8827
+ name: "SignUpV1",
8828
+ props: {
8829
+ afterSignUpUrl: { default: void 0, type: String },
8830
+ buttonClassName: { default: "", type: String },
8831
+ className: { default: "", type: String },
8832
+ errorClassName: { default: "", type: String },
8833
+ inputClassName: { default: "", type: String },
8834
+ messageClassName: { default: "", type: String },
8835
+ onComplete: { default: void 0, type: Function },
8836
+ onError: { default: void 0, type: Function },
8837
+ shouldRedirectAfterSignUp: { default: true, type: Boolean },
8838
+ showSubtitle: { default: true, type: Boolean },
8839
+ showTitle: { default: true, type: Boolean },
8840
+ size: { default: "medium", type: String },
8841
+ variant: { default: "outlined", type: String }
8842
+ },
8843
+ setup(props, { slots }) {
8844
+ const { signUp, isInitialized, applicationId } = useAsgardeo_default();
8845
+ const handleInitialize = async (payload) => {
8846
+ const applicationIdFromUrl = typeof window !== "undefined" ? new URL(window.location.href).searchParams.get("applicationId") : null;
8847
+ const effectiveApplicationId = applicationId || applicationIdFromUrl || void 0;
8848
+ const initialPayload = payload || {
8849
+ flowType: import_browser48.EmbeddedFlowType.Registration,
8850
+ ...effectiveApplicationId && { applicationId: effectiveApplicationId }
8851
+ };
8852
+ return await signUp(initialPayload);
8853
+ };
8854
+ const handleOnSubmit = async (payload) => await signUp(payload);
8855
+ const handleComplete = (response) => {
8856
+ props.onComplete?.(response);
8857
+ const oauthRedirectUrl = response?.redirectUrl;
8858
+ if (props.shouldRedirectAfterSignUp && oauthRedirectUrl) {
8859
+ if (typeof window !== "undefined") {
8860
+ window.location.href = oauthRedirectUrl;
8861
+ }
8862
+ return;
8863
+ }
8864
+ if (props.shouldRedirectAfterSignUp && response?.type !== import_browser48.EmbeddedFlowResponseType.Redirection && props.afterSignUpUrl) {
8865
+ if (typeof window !== "undefined") {
8866
+ window.location.href = props.afterSignUpUrl;
8867
+ }
8868
+ }
8869
+ };
8870
+ return () => (0, import_vue60.h)(
8871
+ BaseSignUp_default,
8872
+ {
8873
+ afterSignUpUrl: props.afterSignUpUrl,
8874
+ buttonClassName: props.buttonClassName,
8875
+ className: props.className,
8876
+ errorClassName: props.errorClassName,
8877
+ inputClassName: props.inputClassName,
8878
+ isInitialized: isInitialized?.value ?? false,
8879
+ messageClassName: props.messageClassName,
8880
+ onComplete: handleComplete,
8881
+ onError: props.onError,
8882
+ onInitialize: handleInitialize,
8883
+ onSubmit: handleOnSubmit,
8884
+ showSubtitle: props.showSubtitle,
8885
+ showTitle: props.showTitle,
8886
+ size: props.size,
8887
+ variant: props.variant
8888
+ },
8889
+ slots["default"] ? { default: (renderProps) => slots["default"](renderProps) } : void 0
8890
+ );
8891
+ }
8892
+ });
8893
+ var SignUp_default = SignUp;
8894
+
8895
+ // src/components/presentation/sign-up/v2/SignUp.ts
8896
+ var import_browser50 = require("@asgardeo/browser");
8897
+ var import_vue62 = require("vue");
8898
+
8899
+ // src/components/presentation/sign-up/v2/BaseSignUp.ts
8900
+ var import_browser49 = require("@asgardeo/browser");
8901
+ var import_vue61 = require("vue");
8243
8902
 
8244
8903
  // src/utils/v2/getAuthComponentHeadings.ts
8245
8904
  var getAuthComponentHeadings = (components, flowTitle, flowSubtitle, defaultTitle, defaultSubtitle) => {
@@ -8302,13 +8961,13 @@ var getAuthComponentHeadings = (components, flowTitle, flowSubtitle, defaultTitl
8302
8961
  };
8303
8962
  var getAuthComponentHeadings_default = getAuthComponentHeadings;
8304
8963
 
8305
- // src/components/presentation/sign-up/BaseSignUp.ts
8306
- var logger6 = createVueLogger("BaseSignUp");
8964
+ // src/components/presentation/sign-up/v2/BaseSignUp.ts
8965
+ var logger7 = createVueLogger("BaseSignUp");
8307
8966
  var extractFormFields2 = (components) => {
8308
8967
  const fields = [];
8309
8968
  const process = (comps) => {
8310
8969
  comps.forEach((c) => {
8311
- if (c.type === import_browser46.EmbeddedFlowComponentTypeV2.TextInput || c.type === import_browser46.EmbeddedFlowComponentTypeV2.PasswordInput || c.type === import_browser46.EmbeddedFlowComponentTypeV2.EmailInput || c.type === import_browser46.EmbeddedFlowComponentTypeV2.Select) {
8970
+ if (c.type === import_browser49.EmbeddedFlowComponentTypeV2.TextInput || c.type === import_browser49.EmbeddedFlowComponentTypeV2.PasswordInput || c.type === import_browser49.EmbeddedFlowComponentTypeV2.EmailInput || c.type === import_browser49.EmbeddedFlowComponentTypeV2.Select) {
8312
8971
  const fieldName = c.ref || c.id;
8313
8972
  fields.push({ name: fieldName, required: c.required || false, type: c.type });
8314
8973
  }
@@ -8320,7 +8979,7 @@ var extractFormFields2 = (components) => {
8320
8979
  process(components);
8321
8980
  return fields;
8322
8981
  };
8323
- var BaseSignUp = (0, import_vue58.defineComponent)({
8982
+ var BaseSignUp2 = (0, import_vue61.defineComponent)({
8324
8983
  emits: ["error", "complete", "flowChange"],
8325
8984
  name: "BaseSignUp",
8326
8985
  props: {
@@ -8360,22 +9019,22 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8360
9019
  setup(props, { slots }) {
8361
9020
  const { meta: flowMetaRef } = useFlowMeta_default();
8362
9021
  const { t } = useI18n_default();
8363
- const isLoading = (0, import_vue58.ref)(false);
8364
- const isFlowInitialized = (0, import_vue58.ref)(false);
8365
- const currentFlow = (0, import_vue58.ref)(null);
8366
- const apiError = (0, import_vue58.ref)(null);
8367
- const flowMessages = (0, import_vue58.ref)([]);
8368
- const passkeyState = (0, import_vue58.ref)({
9022
+ const isLoading = (0, import_vue61.ref)(false);
9023
+ const isFlowInitialized = (0, import_vue61.ref)(false);
9024
+ const currentFlow = (0, import_vue61.ref)(null);
9025
+ const apiError = (0, import_vue61.ref)(null);
9026
+ const flowMessages = (0, import_vue61.ref)([]);
9027
+ const passkeyState = (0, import_vue61.ref)({
8369
9028
  actionId: null,
8370
9029
  creationOptions: null,
8371
9030
  error: null,
8372
9031
  flowId: null,
8373
9032
  isActive: false
8374
9033
  });
8375
- const formValues = (0, import_vue58.ref)({});
8376
- const touchedFields = (0, import_vue58.ref)({});
8377
- const formErrors = (0, import_vue58.ref)({});
8378
- const isFormValid = (0, import_vue58.ref)(true);
9034
+ const formValues = (0, import_vue61.ref)({});
9035
+ const touchedFields = (0, import_vue61.ref)({});
9036
+ const formErrors = (0, import_vue61.ref)({});
9037
+ const isFormValid = (0, import_vue61.ref)(true);
8379
9038
  let initializationAttempted = false;
8380
9039
  let passkeyProcessed = false;
8381
9040
  const handleError = (error) => {
@@ -8418,7 +9077,7 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8418
9077
  if (field.required && (!value || value.trim() === "")) {
8419
9078
  errors[field.name] = t("validations.required.field.error") || "This field is required";
8420
9079
  }
8421
- if ((field.type === import_browser46.EmbeddedFlowComponentTypeV2.EmailInput || field.type === "EMAIL") && value && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) {
9080
+ if ((field.type === import_browser49.EmbeddedFlowComponentTypeV2.EmailInput || field.type === "EMAIL") && value && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) {
8422
9081
  errors[field.name] = t("field.email.invalid") || "Invalid email address";
8423
9082
  }
8424
9083
  });
@@ -8447,7 +9106,7 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8447
9106
  touchedFields.value = { ...touchedFields.value, [name]: true };
8448
9107
  };
8449
9108
  const handleRedirectionIfNeeded = (response) => {
8450
- if (response?.type !== import_browser46.EmbeddedFlowResponseType.Redirection || !response?.data?.redirectURL) {
9109
+ if (response?.type !== import_browser49.EmbeddedFlowResponseType.Redirection || !response?.data?.redirectURL) {
8451
9110
  return false;
8452
9111
  }
8453
9112
  const redirectUrl = response.data.redirectURL;
@@ -8457,7 +9116,7 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8457
9116
  "width=500,height=600,scrollbars=yes,resizable=yes"
8458
9117
  );
8459
9118
  if (!popup) {
8460
- logger6.error("Failed to open popup window");
9119
+ logger7.error("Failed to open popup window");
8461
9120
  return false;
8462
9121
  }
8463
9122
  let hasProcessedCallback = false;
@@ -8477,9 +9136,9 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8477
9136
  try {
8478
9137
  const continueResponse = await props.onSubmit(payload);
8479
9138
  props.onFlowChange?.(continueResponse);
8480
- if (continueResponse.flowStatus === import_browser46.EmbeddedFlowStatus.Complete) {
9139
+ if (continueResponse.flowStatus === import_browser49.EmbeddedFlowStatus.Complete) {
8481
9140
  props.onComplete?.(continueResponse);
8482
- } else if (continueResponse.flowStatus === import_browser46.EmbeddedFlowStatus.Incomplete) {
9141
+ } else if (continueResponse.flowStatus === import_browser49.EmbeddedFlowStatus.Incomplete) {
8483
9142
  currentFlow.value = continueResponse;
8484
9143
  setupFormFields(continueResponse);
8485
9144
  }
@@ -8518,7 +9177,7 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8518
9177
  const state = url.searchParams.get("state");
8519
9178
  const error = url.searchParams.get("error");
8520
9179
  if (error) {
8521
- logger6.error("OAuth error");
9180
+ logger7.error("OAuth error");
8522
9181
  popup.close();
8523
9182
  cleanup();
8524
9183
  return;
@@ -8530,7 +9189,7 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8530
9189
  } catch {
8531
9190
  }
8532
9191
  } catch {
8533
- logger6.error("Error monitoring popup");
9192
+ logger7.error("Error monitoring popup");
8534
9193
  }
8535
9194
  }, 1e3);
8536
9195
  return true;
@@ -8562,11 +9221,11 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8562
9221
  const rawResponse = await props.onSubmit(payload);
8563
9222
  const response = normalizeFlowResponseLocal(rawResponse);
8564
9223
  props.onFlowChange?.(response);
8565
- if (response.flowStatus === import_browser46.EmbeddedFlowStatus.Complete) {
9224
+ if (response.flowStatus === import_browser49.EmbeddedFlowStatus.Complete) {
8566
9225
  props.onComplete?.(response);
8567
9226
  return;
8568
9227
  }
8569
- if (response.flowStatus === import_browser46.EmbeddedFlowStatus.Incomplete) {
9228
+ if (response.flowStatus === import_browser49.EmbeddedFlowStatus.Incomplete) {
8570
9229
  if (handleRedirectionIfNeeded(response)) return;
8571
9230
  if (response.data?.additionalData?.["passkeyCreationOptions"]) {
8572
9231
  const { passkeyCreationOptions } = response.data.additionalData;
@@ -8592,7 +9251,7 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8592
9251
  isLoading.value = false;
8593
9252
  }
8594
9253
  };
8595
- (0, import_vue58.watch)(
9254
+ (0, import_vue61.watch)(
8596
9255
  () => passkeyState.value,
8597
9256
  async (state) => {
8598
9257
  if (!state.isActive || !state.creationOptions || !state.flowId) return;
@@ -8615,7 +9274,7 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8615
9274
  const nextResponse = await props.onSubmit(payload);
8616
9275
  const processed = normalizeFlowResponseLocal(nextResponse);
8617
9276
  props.onFlowChange?.(processed);
8618
- if (processed.flowStatus === import_browser46.EmbeddedFlowStatus.Complete) {
9277
+ if (processed.flowStatus === import_browser49.EmbeddedFlowStatus.Complete) {
8619
9278
  props.onComplete?.(processed);
8620
9279
  } else {
8621
9280
  currentFlow.value = processed;
@@ -8630,7 +9289,7 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8630
9289
  },
8631
9290
  { deep: true }
8632
9291
  );
8633
- (0, import_vue58.watch)(
9292
+ (0, import_vue61.watch)(
8634
9293
  () => [props.isInitialized, isFlowInitialized.value],
8635
9294
  ([initialized, flowInit]) => {
8636
9295
  const urlParams = new URL(window.location.href).searchParams;
@@ -8647,11 +9306,11 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8647
9306
  currentFlow.value = response;
8648
9307
  isFlowInitialized.value = true;
8649
9308
  props.onFlowChange?.(response);
8650
- if (response.flowStatus === import_browser46.EmbeddedFlowStatus.Complete) {
9309
+ if (response.flowStatus === import_browser49.EmbeddedFlowStatus.Complete) {
8651
9310
  props.onComplete?.(response);
8652
9311
  return;
8653
9312
  }
8654
- if (response.flowStatus === import_browser46.EmbeddedFlowStatus.Incomplete) {
9313
+ if (response.flowStatus === import_browser49.EmbeddedFlowStatus.Incomplete) {
8655
9314
  setupFormFields(response);
8656
9315
  }
8657
9316
  } catch (err) {
@@ -8667,9 +9326,9 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8667
9326
  );
8668
9327
  return () => {
8669
9328
  const containerClass = [
8670
- (0, import_browser46.withVendorCSSClassPrefix)("signup"),
8671
- (0, import_browser46.withVendorCSSClassPrefix)(`signup--${props.size}`),
8672
- (0, import_browser46.withVendorCSSClassPrefix)(`signup--${props.variant}`),
9329
+ (0, import_browser49.withVendorCSSClassPrefix)("signup"),
9330
+ (0, import_browser49.withVendorCSSClassPrefix)(`signup--${props.size}`),
9331
+ (0, import_browser49.withVendorCSSClassPrefix)(`signup--${props.variant}`),
8673
9332
  props.className
8674
9333
  ].filter(Boolean).join(" ");
8675
9334
  if (slots["default"]) {
@@ -8691,20 +9350,20 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8691
9350
  },
8692
9351
  values: formValues.value
8693
9352
  };
8694
- return (0, import_vue58.h)("div", { class: containerClass }, slots["default"](renderProps));
9353
+ return (0, import_vue61.h)("div", { class: containerClass }, slots["default"](renderProps));
8695
9354
  }
8696
9355
  if (!isFlowInitialized.value && isLoading.value) {
8697
- return (0, import_vue58.h)(
9356
+ return (0, import_vue61.h)(
8698
9357
  Card_default,
8699
9358
  { class: containerClass, variant: props.variant },
8700
- () => (0, import_vue58.h)("div", { style: "display:flex;justify-content:center;padding:2rem" }, (0, import_vue58.h)(Spinner_default))
9359
+ () => (0, import_vue61.h)("div", { style: "display:flex;justify-content:center;padding:2rem" }, (0, import_vue61.h)(Spinner_default))
8701
9360
  );
8702
9361
  }
8703
9362
  if (!currentFlow.value) {
8704
- return (0, import_vue58.h)(
9363
+ return (0, import_vue61.h)(
8705
9364
  Card_default,
8706
9365
  { class: containerClass, variant: props.variant },
8707
- () => (0, import_vue58.h)(
9366
+ () => (0, import_vue61.h)(
8708
9367
  Alert_default,
8709
9368
  { variant: "error" },
8710
9369
  () => t("errors.signup.flow.initialization.failure") || "Failed to initialize sign-up flow"
@@ -8739,32 +9398,32 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8739
9398
  variant: props.variant
8740
9399
  }
8741
9400
  ) : [];
8742
- return (0, import_vue58.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
9401
+ return (0, import_vue61.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
8743
9402
  // Header with title/subtitle
8744
- props.showTitle || props.showSubtitle ? (0, import_vue58.h)("div", { style: "padding: 1rem 1rem 0" }, [
8745
- props.showTitle ? (0, import_vue58.h)(Typography_default, { variant: "h5" }, () => title) : null,
8746
- props.showSubtitle ? (0, import_vue58.h)(Typography_default, { style: "margin-top: 0.25rem", variant: "body1" }, () => subtitle) : null
9403
+ props.showTitle || props.showSubtitle ? (0, import_vue61.h)("div", { style: "padding: 1rem 1rem 0" }, [
9404
+ props.showTitle ? (0, import_vue61.h)(Typography_default, { variant: "h5" }, () => title) : null,
9405
+ props.showSubtitle ? (0, import_vue61.h)(Typography_default, { style: "margin-top: 0.25rem", variant: "body1" }, () => subtitle) : null
8747
9406
  ]) : null,
8748
9407
  // External error
8749
- props.error ? (0, import_vue58.h)(
9408
+ props.error ? (0, import_vue61.h)(
8750
9409
  "div",
8751
9410
  { style: "padding: 0 1rem" },
8752
- (0, import_vue58.h)(Alert_default, { variant: "error" }, () => props.error.message)
9411
+ (0, import_vue61.h)(Alert_default, { variant: "error" }, () => props.error.message)
8753
9412
  ) : null,
8754
9413
  // Flow messages
8755
- flowMessages.value.length > 0 ? (0, import_vue58.h)(
9414
+ flowMessages.value.length > 0 ? (0, import_vue61.h)(
8756
9415
  "div",
8757
9416
  { style: "padding: 0 1rem" },
8758
9417
  flowMessages.value.map(
8759
- (msg, i) => (0, import_vue58.h)(Alert_default, { key: i, variant: msg.type === "error" ? "error" : "info" }, () => msg.message)
9418
+ (msg, i) => (0, import_vue61.h)(Alert_default, { key: i, variant: msg.type === "error" ? "error" : "info" }, () => msg.message)
8760
9419
  )
8761
9420
  ) : null,
8762
9421
  // Components
8763
- (0, import_vue58.h)(
9422
+ (0, import_vue61.h)(
8764
9423
  "div",
8765
9424
  { style: "padding: 1rem" },
8766
9425
  renderedComponents.length > 0 ? renderedComponents : [
8767
- (0, import_vue58.h)(
9426
+ (0, import_vue61.h)(
8768
9427
  Alert_default,
8769
9428
  { variant: "warning" },
8770
9429
  () => t("errors.signup.components.not.available") || "No components available"
@@ -8775,10 +9434,10 @@ var BaseSignUp = (0, import_vue58.defineComponent)({
8775
9434
  };
8776
9435
  }
8777
9436
  });
8778
- var BaseSignUp_default = BaseSignUp;
9437
+ var BaseSignUp_default2 = BaseSignUp2;
8779
9438
 
8780
- // src/components/presentation/sign-up/SignUp.ts
8781
- var SignUp = (0, import_vue59.defineComponent)({
9439
+ // src/components/presentation/sign-up/v2/SignUp.ts
9440
+ var SignUp2 = (0, import_vue62.defineComponent)({
8782
9441
  name: "SignUp",
8783
9442
  props: {
8784
9443
  afterSignUpUrl: { default: void 0, type: String },
@@ -8802,7 +9461,7 @@ var SignUp = (0, import_vue59.defineComponent)({
8802
9461
  const applicationIdFromUrl = urlParams.get("applicationId");
8803
9462
  const effectiveApplicationId = applicationId || applicationIdFromUrl || void 0;
8804
9463
  const initialPayload = payload || {
8805
- flowType: import_browser47.EmbeddedFlowType.Registration,
9464
+ flowType: import_browser50.EmbeddedFlowType.Registration,
8806
9465
  ...effectiveApplicationId && { applicationId: effectiveApplicationId }
8807
9466
  };
8808
9467
  return await signUp(initialPayload);
@@ -8815,15 +9474,15 @@ var SignUp = (0, import_vue59.defineComponent)({
8815
9474
  window.location.href = oauthRedirectUrl;
8816
9475
  return;
8817
9476
  }
8818
- if (props.shouldRedirectAfterSignUp && response?.type !== import_browser47.EmbeddedFlowResponseType.Redirection && props.afterSignUpUrl) {
9477
+ if (props.shouldRedirectAfterSignUp && response?.type !== import_browser50.EmbeddedFlowResponseType.Redirection && props.afterSignUpUrl) {
8819
9478
  window.location.href = props.afterSignUpUrl;
8820
9479
  }
8821
- if (props.shouldRedirectAfterSignUp && response?.type === import_browser47.EmbeddedFlowResponseType.Redirection && response?.data?.redirectURL && !response.data.redirectURL.includes("oauth") && !response.data.redirectURL.includes("auth")) {
9480
+ if (props.shouldRedirectAfterSignUp && response?.type === import_browser50.EmbeddedFlowResponseType.Redirection && response?.data?.redirectURL && !response.data.redirectURL.includes("oauth") && !response.data.redirectURL.includes("auth")) {
8822
9481
  window.location.href = response.data.redirectURL;
8823
9482
  }
8824
9483
  };
8825
- return () => (0, import_vue59.h)(
8826
- BaseSignUp_default,
9484
+ return () => (0, import_vue62.h)(
9485
+ BaseSignUp_default2,
8827
9486
  {
8828
9487
  afterSignUpUrl: props.afterSignUpUrl,
8829
9488
  buttonClassName: props.buttonClassName,
@@ -8845,24 +9504,107 @@ var SignUp = (0, import_vue59.defineComponent)({
8845
9504
  );
8846
9505
  }
8847
9506
  });
8848
- var SignUp_default = SignUp;
9507
+ var SignUp_default2 = SignUp2;
9508
+
9509
+ // src/components/presentation/sign-up/SignUp.ts
9510
+ var SignUp3 = (0, import_vue63.defineComponent)({
9511
+ inheritAttrs: false,
9512
+ name: "SignUp",
9513
+ setup(_props, { attrs, slots }) {
9514
+ const { platform } = useAsgardeo_default();
9515
+ return () => {
9516
+ if (platform === import_browser51.Platform.AsgardeoV2) {
9517
+ return (0, import_vue63.h)(SignUp_default2, { ...attrs }, slots);
9518
+ }
9519
+ return (0, import_vue63.h)(SignUp_default, { ...attrs }, slots);
9520
+ };
9521
+ }
9522
+ });
9523
+ var SignUp_default3 = SignUp3;
9524
+
9525
+ // src/components/presentation/sign-up/BaseSignUp.ts
9526
+ var import_browser52 = require("@asgardeo/browser");
9527
+ var import_vue64 = require("vue");
9528
+ var BaseSignUp3 = (0, import_vue64.defineComponent)({
9529
+ inheritAttrs: false,
9530
+ name: "BaseSignUp",
9531
+ setup(_props, { attrs, slots }) {
9532
+ const { platform } = useAsgardeo_default();
9533
+ return () => {
9534
+ if (platform === import_browser52.Platform.AsgardeoV2) {
9535
+ return (0, import_vue64.h)(BaseSignUp_default2, { ...attrs }, slots);
9536
+ }
9537
+ return (0, import_vue64.h)(BaseSignUp_default, { ...attrs }, slots);
9538
+ };
9539
+ }
9540
+ });
9541
+ var BaseSignUp_default3 = BaseSignUp3;
8849
9542
 
8850
9543
  // src/components/presentation/user-profile/UserProfile.ts
8851
- var import_browser49 = require("@asgardeo/browser");
8852
- var import_vue61 = require("vue");
9544
+ var import_browser54 = require("@asgardeo/browser");
9545
+ var import_vue66 = require("vue");
8853
9546
 
8854
9547
  // src/components/presentation/user-profile/BaseUserProfile.ts
8855
- var import_browser48 = require("@asgardeo/browser");
8856
- var import_vue60 = require("vue");
9548
+ var import_browser53 = require("@asgardeo/browser");
9549
+ var import_vue65 = require("vue");
8857
9550
  var PROFILE_FIELD_DESCRIPTORS = [
8858
- { keys: ["username", "userName", "user_name"], label: "Username", readonly: true },
8859
- { keys: ["firstName", "givenName"], label: "First Name", readonly: false },
8860
- { keys: ["lastName", "familyName"], label: "Last Name", readonly: false },
8861
- { keys: ["email", "emails"], label: "Email", readonly: false },
9551
+ { keys: ["userName", "username"], label: "Username", readonly: true },
9552
+ { keys: ["name.givenName", "firstName", "givenName"], label: "First Name", readonly: false },
9553
+ { keys: ["name.familyName", "lastName", "familyName"], label: "Last Name", readonly: false },
9554
+ { keys: ["emails", "email"], label: "Email", readonly: true },
8862
9555
  { keys: ["country"], label: "Country", readonly: false },
8863
- { keys: ["birthdate", "birthDate", "dateOfBirth"], label: "Birth Date", readonly: false },
8864
- { keys: ["mobile", "mobileNumber", "phoneNumbers"], label: "Mobile Numbers", readonly: false }
9556
+ { keys: ["dateOfBirth", "birthdate", "birthDate"], label: "Birth Date", readonly: false },
9557
+ { keys: ["phoneNumbers.mobile", "mobile", "mobileNumbers"], label: "Mobile", readonly: false }
8865
9558
  ];
9559
+ var CORE_USER_SCHEMA_ID = import_browser53.WellKnownSchemaIds.User;
9560
+ var setNestedPath = (target, segments, value) => {
9561
+ let cursor = target;
9562
+ for (let i = 0; i < segments.length - 1; i += 1) {
9563
+ const segment = segments[i];
9564
+ if (typeof cursor[segment] !== "object" || cursor[segment] === null) {
9565
+ cursor[segment] = {};
9566
+ }
9567
+ cursor = cursor[segment];
9568
+ }
9569
+ cursor[segments[segments.length - 1]] = value;
9570
+ };
9571
+ var buildScimPatchValue = (flatKey, rawValue, schemas) => {
9572
+ const list = schemas ?? [];
9573
+ const entry = list.find((s) => s.name === flatKey);
9574
+ if (flatKey === "phoneNumbers.mobile") {
9575
+ return {
9576
+ phoneNumbers: [{ type: "mobile", value: rawValue }],
9577
+ [import_browser53.WellKnownSchemaIds.SystemUser]: { mobileNumbers: [rawValue] }
9578
+ };
9579
+ }
9580
+ const complexMultiValued = /* @__PURE__ */ new Set([
9581
+ "phoneNumbers",
9582
+ "emails",
9583
+ "ims",
9584
+ "photos",
9585
+ "addresses",
9586
+ "entitlements",
9587
+ "roles",
9588
+ "x509Certificates"
9589
+ ]);
9590
+ const dotIndex = flatKey.indexOf(".");
9591
+ if (dotIndex > 0) {
9592
+ const head = flatKey.slice(0, dotIndex);
9593
+ const tail = flatKey.slice(dotIndex + 1);
9594
+ if (complexMultiValued.has(head)) {
9595
+ return { [head]: [{ type: tail, value: rawValue }] };
9596
+ }
9597
+ }
9598
+ const value = entry?.multiValued ? [rawValue] : rawValue;
9599
+ const segments = flatKey.split(".");
9600
+ const nested = {};
9601
+ setNestedPath(nested, segments, value);
9602
+ const schemaId = entry?.schemaId;
9603
+ if (schemaId && schemaId !== CORE_USER_SCHEMA_ID) {
9604
+ return { [schemaId]: nested };
9605
+ }
9606
+ return nested;
9607
+ };
8866
9608
  var AVATAR_GRADIENTS = [
8867
9609
  "linear-gradient(135deg, #a855f7 0%, #ec4899 100%)",
8868
9610
  "linear-gradient(135deg, #3b82f6 0%, #06b6d4 100%)",
@@ -8890,7 +9632,7 @@ var getUserInitials = (user) => {
8890
9632
  const fallback = String(user["username"] || user["userName"] || user["email"] || user["sub"] || "");
8891
9633
  return fallback.charAt(0).toUpperCase() || "?";
8892
9634
  };
8893
- var BaseUserProfile = (0, import_vue60.defineComponent)({
9635
+ var BaseUserProfile = (0, import_vue65.defineComponent)({
8894
9636
  inheritAttrs: false,
8895
9637
  name: "BaseUserProfile",
8896
9638
  props: {
@@ -8911,8 +9653,8 @@ var BaseUserProfile = (0, import_vue60.defineComponent)({
8911
9653
  title: { default: "Profile", type: String }
8912
9654
  },
8913
9655
  setup(props, { slots }) {
8914
- const editingFields = (0, import_vue60.ref)({});
8915
- const editedValues = (0, import_vue60.ref)({});
9656
+ const editingFields = (0, import_vue65.ref)({});
9657
+ const editedValues = (0, import_vue65.ref)({});
8916
9658
  return () => {
8917
9659
  if (slots["default"]) {
8918
9660
  return slots["default"]({
@@ -8921,7 +9663,7 @@ var BaseUserProfile = (0, import_vue60.defineComponent)({
8921
9663
  profile: props.flattenedProfile || props.profile
8922
9664
  });
8923
9665
  }
8924
- const prefix = import_browser48.withVendorCSSClassPrefix;
9666
+ const prefix = import_browser53.withVendorCSSClassPrefix;
8925
9667
  const data = props.flattenedProfile || props.profile;
8926
9668
  const dataRecord = data;
8927
9669
  const initials = getUserInitials(dataRecord);
@@ -8931,28 +9673,28 @@ var BaseUserProfile = (0, import_vue60.defineComponent)({
8931
9673
  const avatarGradient = getAvatarGradient(avatarSeed);
8932
9674
  const children = [];
8933
9675
  children.push(
8934
- (0, import_vue60.h)("div", { class: prefix("user-profile__header") }, [
8935
- (0, import_vue60.h)(Typography_default, { class: prefix("user-profile__title"), variant: "h5" }, () => props.title)
9676
+ (0, import_vue65.h)("div", { class: prefix("user-profile__header") }, [
9677
+ (0, import_vue65.h)(Typography_default, { class: prefix("user-profile__title"), variant: "h5" }, () => props.title)
8936
9678
  ])
8937
9679
  );
8938
- children.push((0, import_vue60.h)(Divider_default, { class: prefix("user-profile__header-divider") }));
9680
+ children.push((0, import_vue65.h)(Divider_default, { class: prefix("user-profile__header-divider") }));
8939
9681
  children.push(
8940
- (0, import_vue60.h)("div", { class: prefix("user-profile__avatar-section") }, [
8941
- (0, import_vue60.h)(
9682
+ (0, import_vue65.h)("div", { class: prefix("user-profile__avatar-section") }, [
9683
+ (0, import_vue65.h)(
8942
9684
  "div",
8943
9685
  {
8944
9686
  class: prefix("user-profile__avatar"),
8945
9687
  style: { background: avatarGradient }
8946
9688
  },
8947
- [(0, import_vue60.h)("span", { class: prefix("user-profile__avatar-initials") }, initials)]
9689
+ [(0, import_vue65.h)("span", { class: prefix("user-profile__avatar-initials") }, initials)]
8948
9690
  )
8949
9691
  ])
8950
9692
  );
8951
9693
  if (props.error) {
8952
- children.push((0, import_vue60.h)(Alert_default, { class: prefix("user-profile__error"), severity: "error" }, () => props.error));
9694
+ children.push((0, import_vue65.h)(Alert_default, { class: prefix("user-profile__error"), severity: "error" }, () => props.error));
8953
9695
  }
8954
9696
  if (props.isLoading) {
8955
- children.push((0, import_vue60.h)("div", { class: prefix("user-profile__loading") }, [(0, import_vue60.h)(Spinner_default)]));
9697
+ children.push((0, import_vue65.h)("div", { class: prefix("user-profile__loading") }, [(0, import_vue65.h)(Spinner_default)]));
8956
9698
  } else if (data) {
8957
9699
  const fieldDataRecord = data;
8958
9700
  const descriptors = PROFILE_FIELD_DESCRIPTORS.filter((d) => {
@@ -8972,28 +9714,28 @@ var BaseUserProfile = (0, import_vue60.defineComponent)({
8972
9714
  const isEmpty2 = value == null || value === "";
8973
9715
  const { label } = descriptor;
8974
9716
  fieldRows.push(
8975
- (0, import_vue60.h)("div", { class: prefix("user-profile__field"), key }, [
9717
+ (0, import_vue65.h)("div", { class: prefix("user-profile__field"), key }, [
8976
9718
  // Label column
8977
- (0, import_vue60.h)("div", { class: prefix("user-profile__field-label-col") }, [
8978
- (0, import_vue60.h)(Typography_default, { class: prefix("user-profile__field-label"), variant: "body2" }, () => label)
9719
+ (0, import_vue65.h)("div", { class: prefix("user-profile__field-label-col") }, [
9720
+ (0, import_vue65.h)(Typography_default, { class: prefix("user-profile__field-label"), variant: "body2" }, () => label)
8979
9721
  ]),
8980
9722
  // Value column
8981
- (0, import_vue60.h)("div", { class: prefix("user-profile__field-value-col") }, [
8982
- isEditing ? (0, import_vue60.h)("div", { class: prefix("user-profile__field-edit") }, [
8983
- (0, import_vue60.h)(TextField_default, {
9723
+ (0, import_vue65.h)("div", { class: prefix("user-profile__field-value-col") }, [
9724
+ isEditing ? (0, import_vue65.h)("div", { class: prefix("user-profile__field-edit") }, [
9725
+ (0, import_vue65.h)(TextField_default, {
8984
9726
  modelValue: editedValues.value[key] ?? String(value ?? ""),
8985
9727
  "onUpdate:modelValue": (v) => {
8986
9728
  editedValues.value = { ...editedValues.value, [key]: v };
8987
9729
  }
8988
9730
  }),
8989
- (0, import_vue60.h)("div", { class: prefix("user-profile__field-edit-actions") }, [
8990
- (0, import_vue60.h)(
9731
+ (0, import_vue65.h)("div", { class: prefix("user-profile__field-edit-actions") }, [
9732
+ (0, import_vue65.h)(
8991
9733
  Button_default,
8992
9734
  {
8993
9735
  onClick: async () => {
8994
9736
  if (props.onUpdate) {
8995
9737
  await props.onUpdate({
8996
- payload: { [key]: editedValues.value[key] }
9738
+ payload: buildScimPatchValue(key, editedValues.value[key] ?? "", props.schemas)
8997
9739
  });
8998
9740
  }
8999
9741
  editingFields.value = { ...editingFields.value, [key]: false };
@@ -9003,7 +9745,7 @@ var BaseUserProfile = (0, import_vue60.defineComponent)({
9003
9745
  },
9004
9746
  () => "Save"
9005
9747
  ),
9006
- (0, import_vue60.h)(
9748
+ (0, import_vue65.h)(
9007
9749
  Button_default,
9008
9750
  {
9009
9751
  onClick: () => {
@@ -9015,8 +9757,8 @@ var BaseUserProfile = (0, import_vue60.defineComponent)({
9015
9757
  () => "Cancel"
9016
9758
  )
9017
9759
  ])
9018
- ]) : (0, import_vue60.h)("div", { class: prefix("user-profile__field-display") }, [
9019
- isEmpty2 ? (0, import_vue60.h)(
9760
+ ]) : (0, import_vue65.h)("div", { class: prefix("user-profile__field-display") }, [
9761
+ isEmpty2 ? (0, import_vue65.h)(
9020
9762
  "span",
9021
9763
  {
9022
9764
  class: prefix("user-profile__field-placeholder"),
@@ -9026,12 +9768,12 @@ var BaseUserProfile = (0, import_vue60.defineComponent)({
9026
9768
  } : void 0
9027
9769
  },
9028
9770
  `Enter your ${label.toLowerCase()}`
9029
- ) : (0, import_vue60.h)(
9771
+ ) : (0, import_vue65.h)(
9030
9772
  Typography_default,
9031
9773
  { class: prefix("user-profile__field-value"), variant: "body1" },
9032
9774
  () => String(value)
9033
9775
  ),
9034
- props.editable && !isReadonly ? (0, import_vue60.h)(
9776
+ props.editable && !isReadonly ? (0, import_vue65.h)(
9035
9777
  "button",
9036
9778
  {
9037
9779
  "aria-label": `Edit ${label}`,
@@ -9042,29 +9784,29 @@ var BaseUserProfile = (0, import_vue60.defineComponent)({
9042
9784
  },
9043
9785
  type: "button"
9044
9786
  },
9045
- [(0, import_vue60.h)(PencilIcon)]
9787
+ [(0, import_vue65.h)(PencilIcon)]
9046
9788
  ) : null
9047
9789
  ])
9048
9790
  ])
9049
9791
  ])
9050
9792
  );
9051
9793
  });
9052
- children.push((0, import_vue60.h)("div", { class: prefix("user-profile__fields") }, fieldRows));
9794
+ children.push((0, import_vue65.h)("div", { class: prefix("user-profile__fields") }, fieldRows));
9053
9795
  }
9054
9796
  if (slots["footer"]) {
9055
- children.push((0, import_vue60.h)("div", { class: prefix("user-profile__footer") }, slots["footer"]()));
9797
+ children.push((0, import_vue65.h)("div", { class: prefix("user-profile__footer") }, slots["footer"]()));
9056
9798
  }
9057
9799
  if (props.cardLayout) {
9058
- return (0, import_vue60.h)(Card_default, { class: [prefix("user-profile"), props.className].filter(Boolean).join(" ") }, () => children);
9800
+ return (0, import_vue65.h)(Card_default, { class: [prefix("user-profile"), props.className].filter(Boolean).join(" ") }, () => children);
9059
9801
  }
9060
- return (0, import_vue60.h)("div", { class: [prefix("user-profile"), props.className].filter(Boolean).join(" ") }, children);
9802
+ return (0, import_vue65.h)("div", { class: [prefix("user-profile"), props.className].filter(Boolean).join(" ") }, children);
9061
9803
  };
9062
9804
  }
9063
9805
  });
9064
9806
  var BaseUserProfile_default = BaseUserProfile;
9065
9807
 
9066
9808
  // src/components/presentation/user-profile/UserProfile.ts
9067
- var UserProfile3 = (0, import_vue61.defineComponent)({
9809
+ var UserProfile3 = (0, import_vue66.defineComponent)({
9068
9810
  name: "UserProfile",
9069
9811
  props: {
9070
9812
  cardLayout: { default: true, type: Boolean },
@@ -9076,11 +9818,11 @@ var UserProfile3 = (0, import_vue61.defineComponent)({
9076
9818
  },
9077
9819
  setup(props, { slots }) {
9078
9820
  const { flattenedProfile, schemas, updateProfile } = useUser_default();
9079
- return () => (0, import_vue61.h)(
9821
+ return () => (0, import_vue66.h)(
9080
9822
  BaseUserProfile_default,
9081
9823
  {
9082
9824
  cardLayout: props.cardLayout,
9083
- class: (0, import_browser49.withVendorCSSClassPrefix)("user-profile--styled"),
9825
+ class: (0, import_browser54.withVendorCSSClassPrefix)("user-profile--styled"),
9084
9826
  className: props.className,
9085
9827
  editable: props.editable,
9086
9828
  flattenedProfile: flattenedProfile?.value,
@@ -9097,13 +9839,13 @@ var UserProfile3 = (0, import_vue61.defineComponent)({
9097
9839
  var UserProfile_default = UserProfile3;
9098
9840
 
9099
9841
  // src/components/presentation/user-dropdown/UserDropdown.ts
9100
- var import_browser51 = require("@asgardeo/browser");
9101
- var import_vue63 = require("vue");
9842
+ var import_browser56 = require("@asgardeo/browser");
9843
+ var import_vue68 = require("vue");
9102
9844
 
9103
9845
  // src/components/presentation/user-dropdown/BaseUserDropdown.ts
9104
- var import_browser50 = require("@asgardeo/browser");
9105
- var import_vue62 = require("vue");
9106
- var BaseUserDropdown = (0, import_vue62.defineComponent)({
9846
+ var import_browser55 = require("@asgardeo/browser");
9847
+ var import_vue67 = require("vue");
9848
+ var BaseUserDropdown = (0, import_vue67.defineComponent)({
9107
9849
  inheritAttrs: false,
9108
9850
  name: "BaseUserDropdown",
9109
9851
  props: {
@@ -9116,8 +9858,8 @@ var BaseUserDropdown = (0, import_vue62.defineComponent)({
9116
9858
  user: { default: null, type: Object }
9117
9859
  },
9118
9860
  setup(props, { slots }) {
9119
- const isOpen = (0, import_vue62.ref)(false);
9120
- const prefix = import_browser50.withVendorCSSClassPrefix;
9861
+ const isOpen = (0, import_vue67.ref)(false);
9862
+ const prefix = import_browser55.withVendorCSSClassPrefix;
9121
9863
  return () => {
9122
9864
  if (slots["default"]) {
9123
9865
  return slots["default"]({
@@ -9145,7 +9887,7 @@ var BaseUserDropdown = (0, import_vue62.defineComponent)({
9145
9887
  const displayName = resolveDisplayName();
9146
9888
  const children = [];
9147
9889
  children.push(
9148
- (0, import_vue62.h)(
9890
+ (0, import_vue67.h)(
9149
9891
  "button",
9150
9892
  {
9151
9893
  class: prefix("user-dropdown__trigger"),
@@ -9155,9 +9897,9 @@ var BaseUserDropdown = (0, import_vue62.defineComponent)({
9155
9897
  type: "button"
9156
9898
  },
9157
9899
  [
9158
- (0, import_vue62.h)("span", { class: prefix("user-dropdown__avatar") }, [(0, import_vue62.h)(UserIcon, { size: 20 })]),
9159
- displayName ? (0, import_vue62.h)(Typography_default, { class: prefix("user-dropdown__name"), variant: "body2" }, () => displayName) : null,
9160
- (0, import_vue62.h)(ChevronDownIcon, { size: 16 })
9900
+ (0, import_vue67.h)("span", { class: prefix("user-dropdown__avatar") }, [(0, import_vue67.h)(UserIcon, { size: 20 })]),
9901
+ displayName ? (0, import_vue67.h)(Typography_default, { class: prefix("user-dropdown__name"), variant: "body2" }, () => displayName) : null,
9902
+ (0, import_vue67.h)(ChevronDownIcon, { size: 16 })
9161
9903
  ]
9162
9904
  )
9163
9905
  );
@@ -9165,9 +9907,9 @@ var BaseUserDropdown = (0, import_vue62.defineComponent)({
9165
9907
  const menuItems = [];
9166
9908
  if (props.onProfileClick) {
9167
9909
  menuItems.push(
9168
- (0, import_vue62.h)("button", { class: prefix("user-dropdown__item"), onClick: props.onProfileClick, type: "button" }, [
9169
- (0, import_vue62.h)(UserIcon, { size: 16 }),
9170
- (0, import_vue62.h)("span", null, "Profile")
9910
+ (0, import_vue67.h)("button", { class: prefix("user-dropdown__item"), onClick: props.onProfileClick, type: "button" }, [
9911
+ (0, import_vue67.h)(UserIcon, { size: 16 }),
9912
+ (0, import_vue67.h)("span", null, "Profile")
9171
9913
  ])
9172
9914
  );
9173
9915
  }
@@ -9176,25 +9918,25 @@ var BaseUserDropdown = (0, import_vue62.defineComponent)({
9176
9918
  }
9177
9919
  if (props.onSignOut) {
9178
9920
  menuItems.push(
9179
- (0, import_vue62.h)("button", { class: prefix("user-dropdown__item"), onClick: props.onSignOut, type: "button" }, [
9180
- (0, import_vue62.h)(LogOutIcon, { size: 16 }),
9181
- (0, import_vue62.h)("span", null, "Sign Out")
9921
+ (0, import_vue67.h)("button", { class: prefix("user-dropdown__item"), onClick: props.onSignOut, type: "button" }, [
9922
+ (0, import_vue67.h)(LogOutIcon, { size: 16 }),
9923
+ (0, import_vue67.h)("span", null, "Sign Out")
9182
9924
  ])
9183
9925
  );
9184
9926
  }
9185
- children.push((0, import_vue62.h)("div", { class: prefix("user-dropdown__menu") }, menuItems));
9927
+ children.push((0, import_vue67.h)("div", { class: prefix("user-dropdown__menu") }, menuItems));
9186
9928
  }
9187
- const container = (0, import_vue62.h)(
9929
+ const container = (0, import_vue67.h)(
9188
9930
  "div",
9189
9931
  { class: [prefix("user-dropdown"), props.className].filter(Boolean).join(" ") },
9190
9932
  children
9191
9933
  );
9192
9934
  if (props.isProfileModalOpen) {
9193
- return (0, import_vue62.h)("div", [
9935
+ return (0, import_vue67.h)("div", [
9194
9936
  container,
9195
- (0, import_vue62.h)("div", { class: prefix("user-dropdown__modal-overlay") }, [
9196
- (0, import_vue62.h)("div", { class: prefix("user-dropdown__modal-content") }, [
9197
- (0, import_vue62.h)(
9937
+ (0, import_vue67.h)("div", { class: prefix("user-dropdown__modal-overlay") }, [
9938
+ (0, import_vue67.h)("div", { class: prefix("user-dropdown__modal-content") }, [
9939
+ (0, import_vue67.h)(
9198
9940
  "button",
9199
9941
  {
9200
9942
  "aria-label": "Close profile modal",
@@ -9202,7 +9944,7 @@ var BaseUserDropdown = (0, import_vue62.defineComponent)({
9202
9944
  onClick: props.onProfileModalClose,
9203
9945
  type: "button"
9204
9946
  },
9205
- [(0, import_vue62.h)(XIcon, { size: 24 })]
9947
+ [(0, import_vue67.h)(XIcon, { size: 24 })]
9206
9948
  ),
9207
9949
  props.profileContent
9208
9950
  ])
@@ -9216,7 +9958,7 @@ var BaseUserDropdown = (0, import_vue62.defineComponent)({
9216
9958
  var BaseUserDropdown_default = BaseUserDropdown;
9217
9959
 
9218
9960
  // src/components/presentation/user-dropdown/UserDropdown.ts
9219
- var UserDropdown = (0, import_vue63.defineComponent)({
9961
+ var UserDropdown = (0, import_vue68.defineComponent)({
9220
9962
  emits: ["profileClick"],
9221
9963
  name: "UserDropdown",
9222
9964
  props: {
@@ -9227,11 +9969,11 @@ var UserDropdown = (0, import_vue63.defineComponent)({
9227
9969
  },
9228
9970
  setup(props, { slots, emit }) {
9229
9971
  const { user, signOut } = useAsgardeo_default();
9230
- const isProfileModalOpen = (0, import_vue63.ref)(false);
9231
- return () => (0, import_vue63.h)(
9972
+ const isProfileModalOpen = (0, import_vue68.ref)(false);
9973
+ return () => (0, import_vue68.h)(
9232
9974
  BaseUserDropdown_default,
9233
9975
  {
9234
- class: (0, import_browser51.withVendorCSSClassPrefix)("user-dropdown--styled"),
9976
+ class: (0, import_browser56.withVendorCSSClassPrefix)("user-dropdown--styled"),
9235
9977
  className: props.className,
9236
9978
  isProfileModalOpen: isProfileModalOpen.value,
9237
9979
  onProfileClick: () => {
@@ -9244,7 +9986,7 @@ var UserDropdown = (0, import_vue63.defineComponent)({
9244
9986
  onSignOut: () => {
9245
9987
  signOut();
9246
9988
  },
9247
- profileContent: isProfileModalOpen.value ? (0, import_vue63.h)(UserProfile_default, {
9989
+ profileContent: isProfileModalOpen.value ? (0, import_vue68.h)(UserProfile_default, {
9248
9990
  cardLayout: false,
9249
9991
  editable: true
9250
9992
  }) : null,
@@ -9257,12 +9999,12 @@ var UserDropdown = (0, import_vue63.defineComponent)({
9257
9999
  var UserDropdown_default = UserDropdown;
9258
10000
 
9259
10001
  // src/components/presentation/accept-invite/AcceptInvite.ts
9260
- var import_vue65 = require("vue");
10002
+ var import_vue70 = require("vue");
9261
10003
 
9262
10004
  // src/components/presentation/accept-invite/BaseAcceptInvite.ts
9263
- var import_browser52 = require("@asgardeo/browser");
9264
- var import_vue64 = require("vue");
9265
- var BaseAcceptInvite = (0, import_vue64.defineComponent)({
10005
+ var import_browser57 = require("@asgardeo/browser");
10006
+ var import_vue69 = require("vue");
10007
+ var BaseAcceptInvite = (0, import_vue69.defineComponent)({
9266
10008
  name: "BaseAcceptInvite",
9267
10009
  props: {
9268
10010
  className: { default: "", type: String },
@@ -9287,17 +10029,17 @@ var BaseAcceptInvite = (0, import_vue64.defineComponent)({
9287
10029
  setup(props, { slots }) {
9288
10030
  const { meta: metaRef } = useFlowMeta_default();
9289
10031
  const { t } = useI18n_default();
9290
- const isLoading = (0, import_vue64.ref)(false);
9291
- const isValidatingToken = (0, import_vue64.ref)(true);
9292
- const isTokenInvalid = (0, import_vue64.ref)(false);
9293
- const isComplete = (0, import_vue64.ref)(false);
9294
- const currentFlow = (0, import_vue64.ref)(null);
9295
- const apiError = (0, import_vue64.ref)(null);
9296
- const completionTitle = (0, import_vue64.ref)(void 0);
9297
- const formValues = (0, import_vue64.ref)({});
9298
- const formErrors = (0, import_vue64.ref)({});
9299
- const touchedFields = (0, import_vue64.ref)({});
9300
- const isFormValid = (0, import_vue64.ref)(true);
10032
+ const isLoading = (0, import_vue69.ref)(false);
10033
+ const isValidatingToken = (0, import_vue69.ref)(true);
10034
+ const isTokenInvalid = (0, import_vue69.ref)(false);
10035
+ const isComplete = (0, import_vue69.ref)(false);
10036
+ const currentFlow = (0, import_vue69.ref)(null);
10037
+ const apiError = (0, import_vue69.ref)(null);
10038
+ const completionTitle = (0, import_vue69.ref)(void 0);
10039
+ const formValues = (0, import_vue69.ref)({});
10040
+ const formErrors = (0, import_vue69.ref)({});
10041
+ const touchedFields = (0, import_vue69.ref)({});
10042
+ const isFormValid = (0, import_vue69.ref)(true);
9301
10043
  let tokenValidationAttempted = false;
9302
10044
  const handleError = (error) => {
9303
10045
  const errorMessage = error?.failureReason || extractErrorMessage(error, t, "components.acceptInvite.errors.generic");
@@ -9319,8 +10061,8 @@ var BaseAcceptInvite = (0, import_vue64.defineComponent)({
9319
10061
  }
9320
10062
  };
9321
10063
  useOAuthCallback({
9322
- currentFlowId: (0, import_vue64.ref)(props.flowId ?? null),
9323
- isInitialized: (0, import_vue64.ref)(true),
10064
+ currentFlowId: (0, import_vue69.ref)(props.flowId ?? null),
10065
+ isInitialized: (0, import_vue69.ref)(true),
9324
10066
  onComplete: () => {
9325
10067
  isComplete.value = true;
9326
10068
  isValidatingToken.value = false;
@@ -9437,7 +10179,7 @@ var BaseAcceptInvite = (0, import_vue64.defineComponent)({
9437
10179
  isLoading.value = false;
9438
10180
  }
9439
10181
  };
9440
- (0, import_vue64.watch)(
10182
+ (0, import_vue69.watch)(
9441
10183
  () => [props.flowId, props.inviteToken],
9442
10184
  ([flowId, inviteToken]) => {
9443
10185
  if (tokenValidationAttempted) return;
@@ -9488,7 +10230,7 @@ var BaseAcceptInvite = (0, import_vue64.defineComponent)({
9488
10230
  (comp) => !(comp.type === "TEXT" && (comp.variant === "HEADING_1" || comp.variant === "HEADING_2"))
9489
10231
  );
9490
10232
  return () => {
9491
- const containerClass = [(0, import_browser52.withVendorCSSClassPrefix)("accept-invite"), props.className].filter(Boolean).join(" ");
10233
+ const containerClass = [(0, import_browser57.withVendorCSSClassPrefix)("accept-invite"), props.className].filter(Boolean).join(" ");
9492
10234
  const components = currentFlow.value?.data?.components || currentFlow.value?.data?.meta?.components || [];
9493
10235
  const { title, subtitle } = extractHeadings(components);
9494
10236
  const componentsWithoutHeadings = filterHeadings(components);
@@ -9516,44 +10258,44 @@ var BaseAcceptInvite = (0, import_vue64.defineComponent)({
9516
10258
  touched: touchedFields.value,
9517
10259
  values: formValues.value
9518
10260
  };
9519
- return (0, import_vue64.h)("div", { class: containerClass }, slots["default"](renderProps));
10261
+ return (0, import_vue69.h)("div", { class: containerClass }, slots["default"](renderProps));
9520
10262
  }
9521
10263
  if (isValidatingToken.value) {
9522
- return (0, import_vue64.h)(
10264
+ return (0, import_vue69.h)(
9523
10265
  Card_default,
9524
10266
  { class: containerClass, variant: props.variant },
9525
- () => (0, import_vue64.h)("div", { style: "display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem" }, [
9526
- (0, import_vue64.h)(Spinner_default),
9527
- (0, import_vue64.h)(Typography_default, { variant: "body1" }, () => "Validating your invite link...")
10267
+ () => (0, import_vue69.h)("div", { style: "display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem" }, [
10268
+ (0, import_vue69.h)(Spinner_default),
10269
+ (0, import_vue69.h)(Typography_default, { variant: "body1" }, () => "Validating your invite link...")
9528
10270
  ])
9529
10271
  );
9530
10272
  }
9531
10273
  if (isTokenInvalid.value) {
9532
- return (0, import_vue64.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
9533
- (0, import_vue64.h)("div", { style: "padding:1rem" }, [
9534
- (0, import_vue64.h)(Typography_default, { variant: "h5" }, () => "Invalid Invite Link"),
9535
- (0, import_vue64.h)(
10274
+ return (0, import_vue69.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
10275
+ (0, import_vue69.h)("div", { style: "padding:1rem" }, [
10276
+ (0, import_vue69.h)(Typography_default, { variant: "h5" }, () => "Invalid Invite Link"),
10277
+ (0, import_vue69.h)(
9536
10278
  Alert_default,
9537
10279
  { style: "margin-top:1rem", variant: "error" },
9538
10280
  () => apiError.value?.message || "This invite link is invalid or has expired. Please contact your administrator for a new invite."
9539
10281
  ),
9540
- props.onGoToSignIn ? (0, import_vue64.h)("div", { style: "display:flex;justify-content:center;margin-top:1.5rem" }, [
9541
- (0, import_vue64.h)(Button_default, { onClick: props.onGoToSignIn, variant: "outline" }, () => "Go to Sign In")
10282
+ props.onGoToSignIn ? (0, import_vue69.h)("div", { style: "display:flex;justify-content:center;margin-top:1.5rem" }, [
10283
+ (0, import_vue69.h)(Button_default, { onClick: props.onGoToSignIn, variant: "outline" }, () => "Go to Sign In")
9542
10284
  ]) : null
9543
10285
  ])
9544
10286
  ]);
9545
10287
  }
9546
10288
  if (isComplete.value) {
9547
- return (0, import_vue64.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
9548
- (0, import_vue64.h)("div", { style: "padding:1rem" }, [
9549
- (0, import_vue64.h)(Typography_default, { variant: "h5" }, () => "Account Setup Complete!"),
9550
- (0, import_vue64.h)(
10289
+ return (0, import_vue69.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
10290
+ (0, import_vue69.h)("div", { style: "padding:1rem" }, [
10291
+ (0, import_vue69.h)(Typography_default, { variant: "h5" }, () => "Account Setup Complete!"),
10292
+ (0, import_vue69.h)(
9551
10293
  Alert_default,
9552
10294
  { style: "margin-top:1rem", variant: "success" },
9553
10295
  () => "Your account has been successfully set up. You can now sign in with your credentials."
9554
10296
  ),
9555
- props.onGoToSignIn ? (0, import_vue64.h)("div", { style: "display:flex;justify-content:center;margin-top:1.5rem" }, [
9556
- (0, import_vue64.h)(Button_default, { onClick: props.onGoToSignIn, variant: "solid" }, () => "Sign In")
10297
+ props.onGoToSignIn ? (0, import_vue69.h)("div", { style: "display:flex;justify-content:center;margin-top:1.5rem" }, [
10298
+ (0, import_vue69.h)(Button_default, { onClick: props.onGoToSignIn, variant: "solid" }, () => "Sign In")
9557
10299
  ]) : null
9558
10300
  ])
9559
10301
  ]);
@@ -9575,17 +10317,17 @@ var BaseAcceptInvite = (0, import_vue64.defineComponent)({
9575
10317
  variant: props.variant
9576
10318
  }
9577
10319
  ) : [];
9578
- return (0, import_vue64.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
9579
- (props.showTitle || props.showSubtitle) && (title || subtitle) ? (0, import_vue64.h)("div", { style: "padding:1rem 1rem 0" }, [
9580
- props.showTitle && title ? (0, import_vue64.h)(Typography_default, { variant: "h5" }, () => title) : null,
9581
- props.showSubtitle && subtitle ? (0, import_vue64.h)(Typography_default, { style: "margin-top:0.25rem", variant: "body1" }, () => subtitle) : null
10320
+ return (0, import_vue69.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
10321
+ (props.showTitle || props.showSubtitle) && (title || subtitle) ? (0, import_vue69.h)("div", { style: "padding:1rem 1rem 0" }, [
10322
+ props.showTitle && title ? (0, import_vue69.h)(Typography_default, { variant: "h5" }, () => title) : null,
10323
+ props.showSubtitle && subtitle ? (0, import_vue69.h)(Typography_default, { style: "margin-top:0.25rem", variant: "body1" }, () => subtitle) : null
9582
10324
  ]) : null,
9583
- apiError.value ? (0, import_vue64.h)(
10325
+ apiError.value ? (0, import_vue69.h)(
9584
10326
  "div",
9585
10327
  { style: "padding:0 1rem;margin-bottom:1rem" },
9586
- (0, import_vue64.h)(Alert_default, { variant: "error" }, () => apiError.value.message)
10328
+ (0, import_vue69.h)(Alert_default, { variant: "error" }, () => apiError.value.message)
9587
10329
  ) : null,
9588
- (0, import_vue64.h)(
10330
+ (0, import_vue69.h)(
9589
10331
  "div",
9590
10332
  { style: "padding:1rem" },
9591
10333
  (() => {
@@ -9593,18 +10335,18 @@ var BaseAcceptInvite = (0, import_vue64.defineComponent)({
9593
10335
  if (renderedComponents.length > 0) {
9594
10336
  formContent.push(renderedComponents);
9595
10337
  } else if (!isLoading.value) {
9596
- formContent.push((0, import_vue64.h)(Alert_default, { variant: "warning" }, () => "No form components available"));
10338
+ formContent.push((0, import_vue69.h)(Alert_default, { variant: "warning" }, () => "No form components available"));
9597
10339
  }
9598
10340
  if (isLoading.value) {
9599
- formContent.push((0, import_vue64.h)("div", { style: "display:flex;justify-content:center;padding:1rem" }, (0, import_vue64.h)(Spinner_default)));
10341
+ formContent.push((0, import_vue69.h)("div", { style: "display:flex;justify-content:center;padding:1rem" }, (0, import_vue69.h)(Spinner_default)));
9600
10342
  }
9601
10343
  return formContent;
9602
10344
  })()
9603
10345
  ),
9604
- props.onGoToSignIn ? (0, import_vue64.h)("div", { style: "margin-top:1.5rem;text-align:center;padding:0 1rem 1rem" }, [
9605
- (0, import_vue64.h)(Typography_default, { variant: "body2" }, () => [
10346
+ props.onGoToSignIn ? (0, import_vue69.h)("div", { style: "margin-top:1.5rem;text-align:center;padding:0 1rem 1rem" }, [
10347
+ (0, import_vue69.h)(Typography_default, { variant: "body2" }, () => [
9606
10348
  "Already have an account? ",
9607
- (0, import_vue64.h)(
10349
+ (0, import_vue69.h)(
9608
10350
  Button_default,
9609
10351
  { onClick: props.onGoToSignIn, style: "min-width:auto;padding:0", variant: "text" },
9610
10352
  () => "Sign In"
@@ -9626,7 +10368,7 @@ var getUrlParams = () => {
9626
10368
  inviteToken: params.get("inviteToken") || void 0
9627
10369
  };
9628
10370
  };
9629
- var AcceptInvite = (0, import_vue65.defineComponent)({
10371
+ var AcceptInvite = (0, import_vue70.defineComponent)({
9630
10372
  name: "AcceptInvite",
9631
10373
  props: {
9632
10374
  baseUrl: { default: void 0, type: String },
@@ -9665,7 +10407,7 @@ var AcceptInvite = (0, import_vue65.defineComponent)({
9665
10407
  }
9666
10408
  return response.json();
9667
10409
  };
9668
- return () => (0, import_vue65.h)(
10410
+ return () => (0, import_vue70.h)(
9669
10411
  BaseAcceptInvite_default,
9670
10412
  {
9671
10413
  className: props.className,
@@ -9688,13 +10430,13 @@ var AcceptInvite = (0, import_vue65.defineComponent)({
9688
10430
  var AcceptInvite_default = AcceptInvite;
9689
10431
 
9690
10432
  // src/components/presentation/invite-user/InviteUser.ts
9691
- var import_browser54 = require("@asgardeo/browser");
9692
- var import_vue67 = require("vue");
10433
+ var import_browser59 = require("@asgardeo/browser");
10434
+ var import_vue72 = require("vue");
9693
10435
 
9694
10436
  // src/components/presentation/invite-user/BaseInviteUser.ts
9695
- var import_browser53 = require("@asgardeo/browser");
9696
- var import_vue66 = require("vue");
9697
- var BaseInviteUser = (0, import_vue66.defineComponent)({
10437
+ var import_browser58 = require("@asgardeo/browser");
10438
+ var import_vue71 = require("vue");
10439
+ var BaseInviteUser = (0, import_vue71.defineComponent)({
9698
10440
  name: "BaseInviteUser",
9699
10441
  props: {
9700
10442
  className: { default: "", type: String },
@@ -9724,17 +10466,17 @@ var BaseInviteUser = (0, import_vue66.defineComponent)({
9724
10466
  setup(props, { slots }) {
9725
10467
  const { meta: metaRef } = useFlowMeta_default();
9726
10468
  const { t } = useI18n_default();
9727
- const isLoading = (0, import_vue66.ref)(false);
9728
- const isFlowInitialized = (0, import_vue66.ref)(false);
9729
- const currentFlow = (0, import_vue66.ref)(null);
9730
- const apiError = (0, import_vue66.ref)(null);
9731
- const formValues = (0, import_vue66.ref)({});
9732
- const formErrors = (0, import_vue66.ref)({});
9733
- const touchedFields = (0, import_vue66.ref)({});
9734
- const isFormValid = (0, import_vue66.ref)(true);
9735
- const inviteLink = (0, import_vue66.ref)(void 0);
9736
- const inviteLinkCopied = (0, import_vue66.ref)(false);
9737
- const emailSent = (0, import_vue66.ref)(false);
10469
+ const isLoading = (0, import_vue71.ref)(false);
10470
+ const isFlowInitialized = (0, import_vue71.ref)(false);
10471
+ const currentFlow = (0, import_vue71.ref)(null);
10472
+ const apiError = (0, import_vue71.ref)(null);
10473
+ const formValues = (0, import_vue71.ref)({});
10474
+ const formErrors = (0, import_vue71.ref)({});
10475
+ const touchedFields = (0, import_vue71.ref)({});
10476
+ const isFormValid = (0, import_vue71.ref)(true);
10477
+ const inviteLink = (0, import_vue71.ref)(void 0);
10478
+ const inviteLinkCopied = (0, import_vue71.ref)(false);
10479
+ const emailSent = (0, import_vue71.ref)(false);
9738
10480
  let initializationAttempted = false;
9739
10481
  const handleError = (error) => {
9740
10482
  const errorMessage = error?.failureReason || extractErrorMessage(error, t, "components.inviteUser.errors.generic");
@@ -9868,7 +10610,7 @@ var BaseInviteUser = (0, import_vue66.defineComponent)({
9868
10610
  emailSent.value = false;
9869
10611
  initializationAttempted = false;
9870
10612
  };
9871
- (0, import_vue66.watch)(
10613
+ (0, import_vue71.watch)(
9872
10614
  () => [props.isInitialized, isFlowInitialized.value],
9873
10615
  ([initialized, flowInit]) => {
9874
10616
  if (initialized && !flowInit && !initializationAttempted) {
@@ -9877,7 +10619,7 @@ var BaseInviteUser = (0, import_vue66.defineComponent)({
9877
10619
  isLoading.value = true;
9878
10620
  apiError.value = null;
9879
10621
  try {
9880
- const payload = { flowType: import_browser53.EmbeddedFlowType.UserOnboarding, verbose: true };
10622
+ const payload = { flowType: import_browser58.EmbeddedFlowType.UserOnboarding, verbose: true };
9881
10623
  const rawResponse = await props.onInitialize(payload);
9882
10624
  const response = normalizeFlowResponseLocal(rawResponse);
9883
10625
  currentFlow.value = response;
@@ -9911,7 +10653,7 @@ var BaseInviteUser = (0, import_vue66.defineComponent)({
9911
10653
  (comp) => !(comp.type === "TEXT" && (comp.variant === "HEADING_1" || comp.variant === "HEADING_2"))
9912
10654
  );
9913
10655
  return () => {
9914
- const containerClass = [(0, import_browser53.withVendorCSSClassPrefix)("invite-user"), props.className].filter(Boolean).join(" ");
10656
+ const containerClass = [(0, import_browser58.withVendorCSSClassPrefix)("invite-user"), props.className].filter(Boolean).join(" ");
9915
10657
  const components = currentFlow.value?.data?.components || currentFlow.value?.data?.meta?.components || [];
9916
10658
  const { title, subtitle } = extractHeadings(components);
9917
10659
  const componentsWithoutHeadings = filterHeadings(components);
@@ -9941,56 +10683,56 @@ var BaseInviteUser = (0, import_vue66.defineComponent)({
9941
10683
  touched: touchedFields.value,
9942
10684
  values: formValues.value
9943
10685
  };
9944
- return (0, import_vue66.h)("div", { class: containerClass }, slots["default"](renderProps));
10686
+ return (0, import_vue71.h)("div", { class: containerClass }, slots["default"](renderProps));
9945
10687
  }
9946
10688
  if (!props.isInitialized || !isFlowInitialized.value && isLoading.value) {
9947
- return (0, import_vue66.h)(
10689
+ return (0, import_vue71.h)(
9948
10690
  Card_default,
9949
10691
  { class: containerClass, variant: props.variant },
9950
- () => (0, import_vue66.h)("div", { style: "display:flex;justify-content:center;padding:2rem" }, (0, import_vue66.h)(Spinner_default))
10692
+ () => (0, import_vue71.h)("div", { style: "display:flex;justify-content:center;padding:2rem" }, (0, import_vue71.h)(Spinner_default))
9951
10693
  );
9952
10694
  }
9953
10695
  if (!currentFlow.value && apiError.value) {
9954
- return (0, import_vue66.h)(
10696
+ return (0, import_vue71.h)(
9955
10697
  Card_default,
9956
10698
  { class: containerClass, variant: props.variant },
9957
- () => (0, import_vue66.h)(Alert_default, { variant: "error" }, () => apiError.value.message)
10699
+ () => (0, import_vue71.h)(Alert_default, { variant: "error" }, () => apiError.value.message)
9958
10700
  );
9959
10701
  }
9960
10702
  if (isInviteGenerated && isEmailSent) {
9961
- return (0, import_vue66.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
9962
- (0, import_vue66.h)("div", { style: "padding:1rem" }, [
9963
- (0, import_vue66.h)(Typography_default, { variant: "h5" }, () => "Invite Email Sent!"),
9964
- (0, import_vue66.h)(
10703
+ return (0, import_vue71.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
10704
+ (0, import_vue71.h)("div", { style: "padding:1rem" }, [
10705
+ (0, import_vue71.h)(Typography_default, { variant: "h5" }, () => "Invite Email Sent!"),
10706
+ (0, import_vue71.h)(
9965
10707
  Alert_default,
9966
10708
  { style: "margin-top:1rem", variant: "success" },
9967
10709
  () => "An invitation email has been sent successfully. The user can complete their registration using the link in the email."
9968
10710
  ),
9969
- (0, import_vue66.h)("div", { style: "display:flex;gap:0.5rem;margin-top:1.5rem" }, [
9970
- (0, import_vue66.h)(Button_default, { onClick: resetFlow, variant: "outline" }, () => "Invite Another User")
10711
+ (0, import_vue71.h)("div", { style: "display:flex;gap:0.5rem;margin-top:1.5rem" }, [
10712
+ (0, import_vue71.h)(Button_default, { onClick: resetFlow, variant: "outline" }, () => "Invite Another User")
9971
10713
  ])
9972
10714
  ])
9973
10715
  ]);
9974
10716
  }
9975
10717
  if (isInviteGenerated && inviteLink.value) {
9976
- return (0, import_vue66.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
9977
- (0, import_vue66.h)("div", { style: "padding:1rem" }, [
9978
- (0, import_vue66.h)(Typography_default, { variant: "h5" }, () => "Invite Link Generated!"),
9979
- (0, import_vue66.h)(
10718
+ return (0, import_vue71.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
10719
+ (0, import_vue71.h)("div", { style: "padding:1rem" }, [
10720
+ (0, import_vue71.h)(Typography_default, { variant: "h5" }, () => "Invite Link Generated!"),
10721
+ (0, import_vue71.h)(
9980
10722
  Alert_default,
9981
10723
  { style: "margin-top:1rem", variant: "success" },
9982
10724
  () => "Share this link with the user to complete their registration."
9983
10725
  ),
9984
- (0, import_vue66.h)("div", { style: "margin-top:1rem" }, [
9985
- (0, import_vue66.h)(Typography_default, { style: "margin-bottom:0.5rem", variant: "body2" }, () => "Invite Link"),
9986
- (0, import_vue66.h)(
10726
+ (0, import_vue71.h)("div", { style: "margin-top:1rem" }, [
10727
+ (0, import_vue71.h)(Typography_default, { style: "margin-bottom:0.5rem", variant: "body2" }, () => "Invite Link"),
10728
+ (0, import_vue71.h)(
9987
10729
  "div",
9988
10730
  {
9989
10731
  style: "display:flex;align-items:center;gap:0.5rem;padding:0.75rem;background:var(--asgardeo-color-background-secondary,#f5f5f5);border-radius:4px;word-break:break-all"
9990
10732
  },
9991
10733
  [
9992
- (0, import_vue66.h)(Typography_default, { style: "flex:1", variant: "body2" }, () => inviteLink.value),
9993
- (0, import_vue66.h)(
10734
+ (0, import_vue71.h)(Typography_default, { style: "flex:1", variant: "body2" }, () => inviteLink.value),
10735
+ (0, import_vue71.h)(
9994
10736
  Button_default,
9995
10737
  { onClick: copyInviteLink, size: "small", variant: "outline" },
9996
10738
  () => inviteLinkCopied.value ? "Copied!" : "Copy"
@@ -9998,8 +10740,8 @@ var BaseInviteUser = (0, import_vue66.defineComponent)({
9998
10740
  ]
9999
10741
  )
10000
10742
  ]),
10001
- (0, import_vue66.h)("div", { style: "display:flex;gap:0.5rem;margin-top:1.5rem" }, [
10002
- (0, import_vue66.h)(Button_default, { onClick: resetFlow, variant: "outline" }, () => "Invite Another User")
10743
+ (0, import_vue71.h)("div", { style: "display:flex;gap:0.5rem;margin-top:1.5rem" }, [
10744
+ (0, import_vue71.h)(Button_default, { onClick: resetFlow, variant: "outline" }, () => "Invite Another User")
10003
10745
  ])
10004
10746
  ])
10005
10747
  ]);
@@ -10021,17 +10763,17 @@ var BaseInviteUser = (0, import_vue66.defineComponent)({
10021
10763
  variant: props.variant
10022
10764
  }
10023
10765
  ) : [];
10024
- return (0, import_vue66.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
10025
- (props.showTitle || props.showSubtitle) && (title || subtitle) ? (0, import_vue66.h)("div", { style: "padding:1rem 1rem 0" }, [
10026
- props.showTitle && title ? (0, import_vue66.h)(Typography_default, { variant: "h5" }, () => title) : null,
10027
- props.showSubtitle && subtitle ? (0, import_vue66.h)(Typography_default, { style: "margin-top:0.25rem", variant: "body1" }, () => subtitle) : null
10766
+ return (0, import_vue71.h)(Card_default, { class: containerClass, variant: props.variant }, () => [
10767
+ (props.showTitle || props.showSubtitle) && (title || subtitle) ? (0, import_vue71.h)("div", { style: "padding:1rem 1rem 0" }, [
10768
+ props.showTitle && title ? (0, import_vue71.h)(Typography_default, { variant: "h5" }, () => title) : null,
10769
+ props.showSubtitle && subtitle ? (0, import_vue71.h)(Typography_default, { style: "margin-top:0.25rem", variant: "body1" }, () => subtitle) : null
10028
10770
  ]) : null,
10029
- apiError.value ? (0, import_vue66.h)(
10771
+ apiError.value ? (0, import_vue71.h)(
10030
10772
  "div",
10031
10773
  { style: "padding:0 1rem;margin-bottom:1rem" },
10032
- (0, import_vue66.h)(Alert_default, { variant: "error" }, () => apiError.value.message)
10774
+ (0, import_vue71.h)(Alert_default, { variant: "error" }, () => apiError.value.message)
10033
10775
  ) : null,
10034
- (0, import_vue66.h)(
10776
+ (0, import_vue71.h)(
10035
10777
  "div",
10036
10778
  { style: "padding:1rem" },
10037
10779
  (() => {
@@ -10039,10 +10781,10 @@ var BaseInviteUser = (0, import_vue66.defineComponent)({
10039
10781
  if (renderedComponents.length > 0) {
10040
10782
  formContent.push(renderedComponents);
10041
10783
  } else if (!isLoading.value) {
10042
- formContent.push((0, import_vue66.h)(Alert_default, { variant: "warning" }, () => "No form components available"));
10784
+ formContent.push((0, import_vue71.h)(Alert_default, { variant: "warning" }, () => "No form components available"));
10043
10785
  }
10044
10786
  if (isLoading.value) {
10045
- formContent.push((0, import_vue66.h)("div", { style: "display:flex;justify-content:center;padding:1rem" }, (0, import_vue66.h)(Spinner_default)));
10787
+ formContent.push((0, import_vue71.h)("div", { style: "display:flex;justify-content:center;padding:1rem" }, (0, import_vue71.h)(Spinner_default)));
10046
10788
  }
10047
10789
  return formContent;
10048
10790
  })()
@@ -10054,7 +10796,7 @@ var BaseInviteUser = (0, import_vue66.defineComponent)({
10054
10796
  var BaseInviteUser_default = BaseInviteUser;
10055
10797
 
10056
10798
  // src/components/presentation/invite-user/InviteUser.ts
10057
- var InviteUser = (0, import_vue67.defineComponent)({
10799
+ var InviteUser = (0, import_vue72.defineComponent)({
10058
10800
  name: "InviteUser",
10059
10801
  props: {
10060
10802
  className: { default: "", type: String },
@@ -10076,7 +10818,7 @@ var InviteUser = (0, import_vue67.defineComponent)({
10076
10818
  const { http: http3, baseUrl, isInitialized } = useAsgardeo_default();
10077
10819
  const handleInitialize = async (payload) => {
10078
10820
  const response = await http3.request({
10079
- data: { ...payload, flowType: import_browser54.EmbeddedFlowType.UserOnboarding, verbose: true },
10821
+ data: { ...payload, flowType: import_browser59.EmbeddedFlowType.UserOnboarding, verbose: true },
10080
10822
  headers: { Accept: "application/json", "Content-Type": "application/json" },
10081
10823
  method: "POST",
10082
10824
  url: `${baseUrl}/flow/execute`
@@ -10092,7 +10834,7 @@ var InviteUser = (0, import_vue67.defineComponent)({
10092
10834
  });
10093
10835
  return response.data;
10094
10836
  };
10095
- return () => (0, import_vue67.h)(
10837
+ return () => (0, import_vue72.h)(
10096
10838
  BaseInviteUser_default,
10097
10839
  {
10098
10840
  className: props.className,
@@ -10114,13 +10856,13 @@ var InviteUser = (0, import_vue67.defineComponent)({
10114
10856
  var InviteUser_default = InviteUser;
10115
10857
 
10116
10858
  // src/components/presentation/organization-list/OrganizationList.ts
10117
- var import_browser56 = require("@asgardeo/browser");
10118
- var import_vue69 = require("vue");
10859
+ var import_browser61 = require("@asgardeo/browser");
10860
+ var import_vue74 = require("vue");
10119
10861
 
10120
10862
  // src/components/presentation/organization-list/BaseOrganizationList.ts
10121
- var import_browser55 = require("@asgardeo/browser");
10122
- var import_vue68 = require("vue");
10123
- var BaseOrganizationList = (0, import_vue68.defineComponent)({
10863
+ var import_browser60 = require("@asgardeo/browser");
10864
+ var import_vue73 = require("vue");
10865
+ var BaseOrganizationList = (0, import_vue73.defineComponent)({
10124
10866
  inheritAttrs: false,
10125
10867
  name: "BaseOrganizationList",
10126
10868
  props: {
@@ -10134,18 +10876,18 @@ var BaseOrganizationList = (0, import_vue68.defineComponent)({
10134
10876
  if (slots["default"]) {
10135
10877
  return slots["default"]({ isLoading: props.isLoading, organizations: props.organizations });
10136
10878
  }
10137
- const prefix = import_browser55.withVendorCSSClassPrefix;
10879
+ const prefix = import_browser60.withVendorCSSClassPrefix;
10138
10880
  const children = [];
10139
10881
  if (props.isLoading) {
10140
- children.push((0, import_vue68.h)("div", { class: prefix("organization-list__loading") }, [(0, import_vue68.h)(Spinner_default)]));
10882
+ children.push((0, import_vue73.h)("div", { class: prefix("organization-list__loading") }, [(0, import_vue73.h)(Spinner_default)]));
10141
10883
  } else if (props.organizations.length === 0) {
10142
10884
  children.push(
10143
- (0, import_vue68.h)(Typography_default, { class: prefix("organization-list__empty"), variant: "body2" }, () => "No organizations found")
10885
+ (0, import_vue73.h)(Typography_default, { class: prefix("organization-list__empty"), variant: "body2" }, () => "No organizations found")
10144
10886
  );
10145
10887
  } else {
10146
10888
  props.organizations.forEach((org) => {
10147
10889
  children.push(
10148
- (0, import_vue68.h)(
10890
+ (0, import_vue73.h)(
10149
10891
  "button",
10150
10892
  {
10151
10893
  class: prefix("organization-list__item"),
@@ -10153,19 +10895,19 @@ var BaseOrganizationList = (0, import_vue68.defineComponent)({
10153
10895
  onClick: () => props.onSelect?.(org),
10154
10896
  type: "button"
10155
10897
  },
10156
- [(0, import_vue68.h)(BuildingIcon, { size: 16 }), (0, import_vue68.h)(Typography_default, { variant: "body1" }, () => org["name"] || org["id"])]
10898
+ [(0, import_vue73.h)(BuildingIcon, { size: 16 }), (0, import_vue73.h)(Typography_default, { variant: "body1" }, () => org["name"] || org["id"])]
10157
10899
  )
10158
10900
  );
10159
10901
  });
10160
10902
  }
10161
- return (0, import_vue68.h)("div", { class: [prefix("organization-list"), props.className].filter(Boolean).join(" ") }, children);
10903
+ return (0, import_vue73.h)("div", { class: [prefix("organization-list"), props.className].filter(Boolean).join(" ") }, children);
10162
10904
  };
10163
10905
  }
10164
10906
  });
10165
10907
  var BaseOrganizationList_default = BaseOrganizationList;
10166
10908
 
10167
10909
  // src/components/presentation/organization-list/OrganizationList.ts
10168
- var OrganizationList = (0, import_vue69.defineComponent)({
10910
+ var OrganizationList = (0, import_vue74.defineComponent)({
10169
10911
  emits: ["select"],
10170
10912
  name: "OrganizationList",
10171
10913
  props: {
@@ -10180,10 +10922,10 @@ var OrganizationList = (0, import_vue69.defineComponent)({
10180
10922
  emit("select", org);
10181
10923
  await switchOrganization(org);
10182
10924
  };
10183
- return () => (0, import_vue69.h)(
10925
+ return () => (0, import_vue74.h)(
10184
10926
  BaseOrganizationList_default,
10185
10927
  {
10186
- class: (0, import_browser56.withVendorCSSClassPrefix)("organization-list--styled"),
10928
+ class: (0, import_browser61.withVendorCSSClassPrefix)("organization-list--styled"),
10187
10929
  className: props.className,
10188
10930
  isLoading: isLoading.value,
10189
10931
  onSelect: handleSelect,
@@ -10196,12 +10938,12 @@ var OrganizationList = (0, import_vue69.defineComponent)({
10196
10938
  var OrganizationList_default = OrganizationList;
10197
10939
 
10198
10940
  // src/components/presentation/organization-profile/OrganizationProfile.ts
10199
- var import_browser58 = require("@asgardeo/browser");
10200
- var import_vue71 = require("vue");
10941
+ var import_browser63 = require("@asgardeo/browser");
10942
+ var import_vue76 = require("vue");
10201
10943
 
10202
10944
  // src/components/presentation/organization-profile/BaseOrganizationProfile.ts
10203
- var import_browser57 = require("@asgardeo/browser");
10204
- var import_vue70 = require("vue");
10945
+ var import_browser62 = require("@asgardeo/browser");
10946
+ var import_vue75 = require("vue");
10205
10947
  var ORG_AVATAR_GRADIENTS = [
10206
10948
  "linear-gradient(135deg, #22d3ee 0%, #2dd4bf 100%)",
10207
10949
  "linear-gradient(135deg, #34d399 0%, #059669 100%)",
@@ -10233,7 +10975,7 @@ var formatDate = (dateStr) => {
10233
10975
  return dateStr;
10234
10976
  }
10235
10977
  };
10236
- var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10978
+ var BaseOrganizationProfile = (0, import_vue75.defineComponent)({
10237
10979
  name: "BaseOrganizationProfile",
10238
10980
  props: {
10239
10981
  className: { default: "", type: String },
@@ -10246,10 +10988,10 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10246
10988
  title: { default: "Organization Profile", type: String }
10247
10989
  },
10248
10990
  setup(props, { slots }) {
10249
- const editingName = (0, import_vue70.ref)(false);
10250
- const editingDescription = (0, import_vue70.ref)(false);
10251
- const editedName = (0, import_vue70.ref)("");
10252
- const editedDescription = (0, import_vue70.ref)("");
10991
+ const editingName = (0, import_vue75.ref)(false);
10992
+ const editingDescription = (0, import_vue75.ref)(false);
10993
+ const editedName = (0, import_vue75.ref)("");
10994
+ const editedDescription = (0, import_vue75.ref)("");
10253
10995
  return () => {
10254
10996
  if (slots["default"]) {
10255
10997
  return slots["default"]({ organization: props.organization });
@@ -10257,7 +10999,7 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10257
10999
  if (!props.organization) {
10258
11000
  return slots["fallback"]?.() ?? null;
10259
11001
  }
10260
- const prefix = import_browser57.withVendorCSSClassPrefix;
11002
+ const prefix = import_browser62.withVendorCSSClassPrefix;
10261
11003
  const org = props.organization;
10262
11004
  const orgName = String(org["name"] || org["displayName"] || "");
10263
11005
  const orgHandle = String(org["orgHandle"] || "");
@@ -10269,43 +11011,43 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10269
11011
  const avatarGradient = getOrgAvatarGradient(orgId || orgName);
10270
11012
  const children = [];
10271
11013
  children.push(
10272
- (0, import_vue70.h)("div", { class: prefix("organization-profile__header") }, [
10273
- (0, import_vue70.h)(Typography_default, { class: prefix("organization-profile__title"), variant: "h5" }, () => props.title)
11014
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__header") }, [
11015
+ (0, import_vue75.h)(Typography_default, { class: prefix("organization-profile__title"), variant: "h5" }, () => props.title)
10274
11016
  ])
10275
11017
  );
10276
- children.push((0, import_vue70.h)(Divider_default, { class: prefix("organization-profile__header-divider") }));
11018
+ children.push((0, import_vue75.h)(Divider_default, { class: prefix("organization-profile__header-divider") }));
10277
11019
  children.push(
10278
- (0, import_vue70.h)("div", { class: prefix("organization-profile__identity") }, [
10279
- (0, import_vue70.h)(
11020
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__identity") }, [
11021
+ (0, import_vue75.h)(
10280
11022
  "div",
10281
11023
  {
10282
11024
  class: prefix("organization-profile__avatar"),
10283
11025
  style: { background: avatarGradient }
10284
11026
  },
10285
- [(0, import_vue70.h)("span", { class: prefix("organization-profile__avatar-initials") }, initials)]
11027
+ [(0, import_vue75.h)("span", { class: prefix("organization-profile__avatar-initials") }, initials)]
10286
11028
  ),
10287
- (0, import_vue70.h)(Typography_default, { class: prefix("organization-profile__org-name"), variant: "h5" }, () => orgName),
10288
- orgHandle ? (0, import_vue70.h)(
11029
+ (0, import_vue75.h)(Typography_default, { class: prefix("organization-profile__org-name"), variant: "h5" }, () => orgName),
11030
+ orgHandle ? (0, import_vue75.h)(
10289
11031
  Typography_default,
10290
11032
  { class: prefix("organization-profile__org-handle"), variant: "body2" },
10291
11033
  () => `@${orgHandle}`
10292
11034
  ) : null
10293
11035
  ])
10294
11036
  );
10295
- children.push((0, import_vue70.h)(Divider_default, { class: prefix("organization-profile__identity-divider") }));
11037
+ children.push((0, import_vue75.h)(Divider_default, { class: prefix("organization-profile__identity-divider") }));
10296
11038
  const fieldRows = [];
10297
11039
  fieldRows.push(
10298
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field"), key: "id" }, [
10299
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-label-col") }, [
10300
- (0, import_vue70.h)(
11040
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field"), key: "id" }, [
11041
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-label-col") }, [
11042
+ (0, import_vue75.h)(
10301
11043
  Typography_default,
10302
11044
  { class: prefix("organization-profile__field-label"), variant: "body2" },
10303
11045
  () => "Organization ID"
10304
11046
  )
10305
11047
  ]),
10306
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-value-col") }, [
10307
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-display") }, [
10308
- orgId ? (0, import_vue70.h)(
11048
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-value-col") }, [
11049
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-display") }, [
11050
+ orgId ? (0, import_vue75.h)(
10309
11051
  Typography_default,
10310
11052
  {
10311
11053
  class: [
@@ -10315,30 +11057,30 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10315
11057
  variant: "body1"
10316
11058
  },
10317
11059
  () => orgId
10318
- ) : (0, import_vue70.h)("span", { class: prefix("organization-profile__field-placeholder") }, "Not available")
11060
+ ) : (0, import_vue75.h)("span", { class: prefix("organization-profile__field-placeholder") }, "Not available")
10319
11061
  ])
10320
11062
  ])
10321
11063
  ])
10322
11064
  );
10323
11065
  fieldRows.push(
10324
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field"), key: "name" }, [
10325
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-label-col") }, [
10326
- (0, import_vue70.h)(
11066
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field"), key: "name" }, [
11067
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-label-col") }, [
11068
+ (0, import_vue75.h)(
10327
11069
  Typography_default,
10328
11070
  { class: prefix("organization-profile__field-label"), variant: "body2" },
10329
11071
  () => "Organization Name"
10330
11072
  )
10331
11073
  ]),
10332
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-value-col") }, [
10333
- editingName.value ? (0, import_vue70.h)("div", { class: prefix("organization-profile__field-edit") }, [
10334
- (0, import_vue70.h)(TextField_default, {
11074
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-value-col") }, [
11075
+ editingName.value ? (0, import_vue75.h)("div", { class: prefix("organization-profile__field-edit") }, [
11076
+ (0, import_vue75.h)(TextField_default, {
10335
11077
  modelValue: editedName.value,
10336
11078
  "onUpdate:modelValue": (v) => {
10337
11079
  editedName.value = v;
10338
11080
  }
10339
11081
  }),
10340
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-edit-actions") }, [
10341
- (0, import_vue70.h)(
11082
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-edit-actions") }, [
11083
+ (0, import_vue75.h)(
10342
11084
  Button_default,
10343
11085
  {
10344
11086
  onClick: async () => {
@@ -10350,7 +11092,7 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10350
11092
  },
10351
11093
  () => "Save"
10352
11094
  ),
10353
- (0, import_vue70.h)(
11095
+ (0, import_vue75.h)(
10354
11096
  Button_default,
10355
11097
  {
10356
11098
  onClick: () => {
@@ -10362,9 +11104,9 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10362
11104
  () => "Cancel"
10363
11105
  )
10364
11106
  ])
10365
- ]) : (0, import_vue70.h)("div", { class: prefix("organization-profile__field-display") }, [
10366
- (0, import_vue70.h)(Typography_default, { class: prefix("organization-profile__field-value"), variant: "body1" }, () => orgName),
10367
- props.editable ? (0, import_vue70.h)(
11107
+ ]) : (0, import_vue75.h)("div", { class: prefix("organization-profile__field-display") }, [
11108
+ (0, import_vue75.h)(Typography_default, { class: prefix("organization-profile__field-value"), variant: "body1" }, () => orgName),
11109
+ props.editable ? (0, import_vue75.h)(
10368
11110
  "button",
10369
11111
  {
10370
11112
  "aria-label": "Edit Organization Name",
@@ -10375,31 +11117,31 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10375
11117
  },
10376
11118
  type: "button"
10377
11119
  },
10378
- [(0, import_vue70.h)(PencilIcon)]
11120
+ [(0, import_vue75.h)(PencilIcon)]
10379
11121
  ) : null
10380
11122
  ])
10381
11123
  ])
10382
11124
  ])
10383
11125
  );
10384
11126
  fieldRows.push(
10385
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field"), key: "description" }, [
10386
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-label-col") }, [
10387
- (0, import_vue70.h)(
11127
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field"), key: "description" }, [
11128
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-label-col") }, [
11129
+ (0, import_vue75.h)(
10388
11130
  Typography_default,
10389
11131
  { class: prefix("organization-profile__field-label"), variant: "body2" },
10390
11132
  () => "Organization Description"
10391
11133
  )
10392
11134
  ]),
10393
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-value-col") }, [
10394
- editingDescription.value ? (0, import_vue70.h)("div", { class: prefix("organization-profile__field-edit") }, [
10395
- (0, import_vue70.h)(TextField_default, {
11135
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-value-col") }, [
11136
+ editingDescription.value ? (0, import_vue75.h)("div", { class: prefix("organization-profile__field-edit") }, [
11137
+ (0, import_vue75.h)(TextField_default, {
10396
11138
  modelValue: editedDescription.value,
10397
11139
  "onUpdate:modelValue": (v) => {
10398
11140
  editedDescription.value = v;
10399
11141
  }
10400
11142
  }),
10401
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-edit-actions") }, [
10402
- (0, import_vue70.h)(
11143
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-edit-actions") }, [
11144
+ (0, import_vue75.h)(
10403
11145
  Button_default,
10404
11146
  {
10405
11147
  onClick: async () => {
@@ -10411,7 +11153,7 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10411
11153
  },
10412
11154
  () => "Save"
10413
11155
  ),
10414
- (0, import_vue70.h)(
11156
+ (0, import_vue75.h)(
10415
11157
  Button_default,
10416
11158
  {
10417
11159
  onClick: () => {
@@ -10423,12 +11165,12 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10423
11165
  () => "Cancel"
10424
11166
  )
10425
11167
  ])
10426
- ]) : (0, import_vue70.h)("div", { class: prefix("organization-profile__field-display") }, [
10427
- orgDescription != null ? (0, import_vue70.h)(
11168
+ ]) : (0, import_vue75.h)("div", { class: prefix("organization-profile__field-display") }, [
11169
+ orgDescription != null ? (0, import_vue75.h)(
10428
11170
  Typography_default,
10429
11171
  { class: prefix("organization-profile__field-value"), variant: "body1" },
10430
11172
  () => orgDescription
10431
- ) : (0, import_vue70.h)(
11173
+ ) : (0, import_vue75.h)(
10432
11174
  "span",
10433
11175
  {
10434
11176
  class: prefix("organization-profile__field-placeholder"),
@@ -10439,7 +11181,7 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10439
11181
  },
10440
11182
  "Enter organization description"
10441
11183
  ),
10442
- props.editable ? (0, import_vue70.h)(
11184
+ props.editable ? (0, import_vue75.h)(
10443
11185
  "button",
10444
11186
  {
10445
11187
  "aria-label": "Edit Organization Description",
@@ -10450,66 +11192,66 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10450
11192
  },
10451
11193
  type: "button"
10452
11194
  },
10453
- [(0, import_vue70.h)(PencilIcon)]
11195
+ [(0, import_vue75.h)(PencilIcon)]
10454
11196
  ) : null
10455
11197
  ])
10456
11198
  ])
10457
11199
  ])
10458
11200
  );
10459
11201
  fieldRows.push(
10460
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field"), key: "created" }, [
10461
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-label-col") }, [
10462
- (0, import_vue70.h)(Typography_default, { class: prefix("organization-profile__field-label"), variant: "body2" }, () => "Created Date")
11202
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field"), key: "created" }, [
11203
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-label-col") }, [
11204
+ (0, import_vue75.h)(Typography_default, { class: prefix("organization-profile__field-label"), variant: "body2" }, () => "Created Date")
10463
11205
  ]),
10464
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-value-col") }, [
10465
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-display") }, [
10466
- createdDate ? (0, import_vue70.h)(
11206
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-value-col") }, [
11207
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-display") }, [
11208
+ createdDate ? (0, import_vue75.h)(
10467
11209
  Typography_default,
10468
11210
  { class: prefix("organization-profile__field-value"), variant: "body1" },
10469
11211
  () => createdDate
10470
- ) : (0, import_vue70.h)("span", { class: prefix("organization-profile__field-placeholder") }, "Not available")
11212
+ ) : (0, import_vue75.h)("span", { class: prefix("organization-profile__field-placeholder") }, "Not available")
10471
11213
  ])
10472
11214
  ])
10473
11215
  ])
10474
11216
  );
10475
11217
  fieldRows.push(
10476
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field"), key: "lastModified" }, [
10477
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-label-col") }, [
10478
- (0, import_vue70.h)(
11218
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field"), key: "lastModified" }, [
11219
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-label-col") }, [
11220
+ (0, import_vue75.h)(
10479
11221
  Typography_default,
10480
11222
  { class: prefix("organization-profile__field-label"), variant: "body2" },
10481
11223
  () => "Last Modified Date"
10482
11224
  )
10483
11225
  ]),
10484
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-value-col") }, [
10485
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-display") }, [
10486
- lastModifiedDate ? (0, import_vue70.h)(
11226
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-value-col") }, [
11227
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-display") }, [
11228
+ lastModifiedDate ? (0, import_vue75.h)(
10487
11229
  Typography_default,
10488
11230
  { class: prefix("organization-profile__field-value"), variant: "body1" },
10489
11231
  () => lastModifiedDate
10490
- ) : (0, import_vue70.h)("span", { class: prefix("organization-profile__field-placeholder") }, "Not available")
11232
+ ) : (0, import_vue75.h)("span", { class: prefix("organization-profile__field-placeholder") }, "Not available")
10491
11233
  ])
10492
11234
  ])
10493
11235
  ])
10494
11236
  );
10495
11237
  fieldRows.push(
10496
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field"), key: "orgHandle" }, [
10497
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-label-col") }, [
10498
- (0, import_vue70.h)(
11238
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field"), key: "orgHandle" }, [
11239
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-label-col") }, [
11240
+ (0, import_vue75.h)(
10499
11241
  Typography_default,
10500
11242
  { class: prefix("organization-profile__field-label"), variant: "body2" },
10501
11243
  () => "Organization Handle"
10502
11244
  )
10503
11245
  ]),
10504
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-value-col") }, [
10505
- (0, import_vue70.h)("div", { class: prefix("organization-profile__field-display") }, [
10506
- orgHandle ? (0, import_vue70.h)(Typography_default, { class: prefix("organization-profile__field-value"), variant: "body1" }, () => orgHandle) : (0, import_vue70.h)("span", { class: prefix("organization-profile__field-placeholder") }, "Not available")
11246
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-value-col") }, [
11247
+ (0, import_vue75.h)("div", { class: prefix("organization-profile__field-display") }, [
11248
+ orgHandle ? (0, import_vue75.h)(Typography_default, { class: prefix("organization-profile__field-value"), variant: "body1" }, () => orgHandle) : (0, import_vue75.h)("span", { class: prefix("organization-profile__field-placeholder") }, "Not available")
10507
11249
  ])
10508
11250
  ])
10509
11251
  ])
10510
11252
  );
10511
- children.push((0, import_vue70.h)("div", { class: prefix("organization-profile__fields") }, fieldRows));
10512
- return (0, import_vue70.h)(
11253
+ children.push((0, import_vue75.h)("div", { class: prefix("organization-profile__fields") }, fieldRows));
11254
+ return (0, import_vue75.h)(
10513
11255
  Card_default,
10514
11256
  { class: [prefix("organization-profile"), props.className].filter(Boolean).join(" ") },
10515
11257
  () => children
@@ -10520,7 +11262,7 @@ var BaseOrganizationProfile = (0, import_vue70.defineComponent)({
10520
11262
  var BaseOrganizationProfile_default = BaseOrganizationProfile;
10521
11263
 
10522
11264
  // src/components/presentation/organization-profile/OrganizationProfile.ts
10523
- var OrganizationProfile = (0, import_vue71.defineComponent)({
11265
+ var OrganizationProfile = (0, import_vue76.defineComponent)({
10524
11266
  name: "OrganizationProfile",
10525
11267
  props: {
10526
11268
  className: { default: "", type: String },
@@ -10533,10 +11275,10 @@ var OrganizationProfile = (0, import_vue71.defineComponent)({
10533
11275
  },
10534
11276
  setup(props, { slots }) {
10535
11277
  const { currentOrganization } = useOrganization_default();
10536
- return () => (0, import_vue71.h)(
11278
+ return () => (0, import_vue76.h)(
10537
11279
  BaseOrganizationProfile_default,
10538
11280
  {
10539
- class: (0, import_browser58.withVendorCSSClassPrefix)("organization-profile--styled"),
11281
+ class: (0, import_browser63.withVendorCSSClassPrefix)("organization-profile--styled"),
10540
11282
  className: props.className,
10541
11283
  editable: props.editable,
10542
11284
  onUpdate: props.onUpdate,
@@ -10550,14 +11292,14 @@ var OrganizationProfile = (0, import_vue71.defineComponent)({
10550
11292
  var OrganizationProfile_default = OrganizationProfile;
10551
11293
 
10552
11294
  // src/components/presentation/organization-switcher/OrganizationSwitcher.ts
10553
- var import_browser60 = require("@asgardeo/browser");
10554
- var import_vue73 = require("vue");
11295
+ var import_browser65 = require("@asgardeo/browser");
11296
+ var import_vue78 = require("vue");
10555
11297
 
10556
11298
  // src/components/presentation/organization-switcher/BaseOrganizationSwitcher.ts
10557
- var import_browser59 = require("@asgardeo/browser");
10558
- var import_vue72 = require("vue");
10559
- var cls = (name) => (0, import_browser59.withVendorCSSClassPrefix)(`organization-switcher${name}`);
10560
- var BaseOrganizationSwitcher = (0, import_vue72.defineComponent)({
11299
+ var import_browser64 = require("@asgardeo/browser");
11300
+ var import_vue77 = require("vue");
11301
+ var cls = (name) => (0, import_browser64.withVendorCSSClassPrefix)(`organization-switcher${name}`);
11302
+ var BaseOrganizationSwitcher = (0, import_vue77.defineComponent)({
10561
11303
  inheritAttrs: false,
10562
11304
  name: "BaseOrganizationSwitcher",
10563
11305
  props: {
@@ -10568,7 +11310,7 @@ var BaseOrganizationSwitcher = (0, import_vue72.defineComponent)({
10568
11310
  organizations: { default: () => [], type: Array }
10569
11311
  },
10570
11312
  setup(props, { slots }) {
10571
- const isOpen = (0, import_vue72.ref)(false);
11313
+ const isOpen = (0, import_vue77.ref)(false);
10572
11314
  const toggle = () => {
10573
11315
  isOpen.value = !isOpen.value;
10574
11316
  };
@@ -10588,7 +11330,7 @@ var BaseOrganizationSwitcher = (0, import_vue72.defineComponent)({
10588
11330
  });
10589
11331
  }
10590
11332
  const currentName = props.currentOrganization?.name ?? "No Organization";
10591
- const triggerButton = (0, import_vue72.h)(
11333
+ const triggerButton = (0, import_vue77.h)(
10592
11334
  "button",
10593
11335
  {
10594
11336
  "aria-expanded": isOpen.value,
@@ -10598,23 +11340,23 @@ var BaseOrganizationSwitcher = (0, import_vue72.defineComponent)({
10598
11340
  type: "button"
10599
11341
  },
10600
11342
  [
10601
- (0, import_vue72.h)(BuildingIcon, { size: 16 }),
10602
- (0, import_vue72.h)(Typography_default, { class: cls("__trigger-label"), variant: "body2" }, () => currentName),
10603
- (0, import_vue72.h)(ChevronDownIcon, { size: 12 })
11343
+ (0, import_vue77.h)(BuildingIcon, { size: 16 }),
11344
+ (0, import_vue77.h)(Typography_default, { class: cls("__trigger-label"), variant: "body2" }, () => currentName),
11345
+ (0, import_vue77.h)(ChevronDownIcon, { size: 12 })
10604
11346
  ]
10605
11347
  );
10606
11348
  const dropdownChildren = [];
10607
11349
  if (props.isLoading) {
10608
- dropdownChildren.push((0, import_vue72.h)("div", { class: cls("__loading") }, [(0, import_vue72.h)(Spinner_default, { size: "small" })]));
11350
+ dropdownChildren.push((0, import_vue77.h)("div", { class: cls("__loading") }, [(0, import_vue77.h)(Spinner_default, { size: "small" })]));
10609
11351
  } else if (props.organizations.length === 0) {
10610
11352
  dropdownChildren.push(
10611
- (0, import_vue72.h)(Typography_default, { class: cls("__empty"), variant: "body2" }, () => "No organizations available")
11353
+ (0, import_vue77.h)(Typography_default, { class: cls("__empty"), variant: "body2" }, () => "No organizations available")
10612
11354
  );
10613
11355
  } else {
10614
11356
  props.organizations.forEach((org) => {
10615
11357
  const isActive = org["id"] === props.currentOrganization?.id;
10616
11358
  dropdownChildren.push(
10617
- (0, import_vue72.h)(
11359
+ (0, import_vue77.h)(
10618
11360
  "button",
10619
11361
  {
10620
11362
  "aria-selected": isActive,
@@ -10623,30 +11365,30 @@ var BaseOrganizationSwitcher = (0, import_vue72.defineComponent)({
10623
11365
  role: "option",
10624
11366
  type: "button"
10625
11367
  },
10626
- [(0, import_vue72.h)(BuildingIcon, { size: 14 }), (0, import_vue72.h)(Typography_default, { variant: "body2" }, () => org["name"])]
11368
+ [(0, import_vue77.h)(BuildingIcon, { size: 14 }), (0, import_vue77.h)(Typography_default, { variant: "body2" }, () => org["name"])]
10627
11369
  )
10628
11370
  );
10629
11371
  });
10630
11372
  }
10631
- const dropdown = isOpen.value ? (0, import_vue72.h)("div", { class: cls("__dropdown"), role: "listbox" }, dropdownChildren) : null;
10632
- return (0, import_vue72.h)(Card_default, { class: [cls(""), props.className].filter(Boolean).join(" ") }, () => [triggerButton, dropdown]);
11373
+ const dropdown = isOpen.value ? (0, import_vue77.h)("div", { class: cls("__dropdown"), role: "listbox" }, dropdownChildren) : null;
11374
+ return (0, import_vue77.h)(Card_default, { class: [cls(""), props.className].filter(Boolean).join(" ") }, () => [triggerButton, dropdown]);
10633
11375
  };
10634
11376
  }
10635
11377
  });
10636
11378
  var BaseOrganizationSwitcher_default = BaseOrganizationSwitcher;
10637
11379
 
10638
11380
  // src/components/presentation/organization-switcher/OrganizationSwitcher.ts
10639
- var OrganizationSwitcher = (0, import_vue73.defineComponent)({
11381
+ var OrganizationSwitcher = (0, import_vue78.defineComponent)({
10640
11382
  name: "OrganizationSwitcher",
10641
11383
  props: {
10642
11384
  className: { default: "", type: String }
10643
11385
  },
10644
11386
  setup(props, { slots }) {
10645
11387
  const { currentOrganization, myOrganizations, isLoading, switchOrganization } = useOrganization_default();
10646
- return () => (0, import_vue73.h)(
11388
+ return () => (0, import_vue78.h)(
10647
11389
  BaseOrganizationSwitcher_default,
10648
11390
  {
10649
- class: (0, import_browser60.withVendorCSSClassPrefix)("organization-switcher--styled"),
11391
+ class: (0, import_browser65.withVendorCSSClassPrefix)("organization-switcher--styled"),
10650
11392
  className: props.className,
10651
11393
  currentOrganization: currentOrganization?.value ?? null,
10652
11394
  isLoading: isLoading?.value ?? false,
@@ -10660,14 +11402,14 @@ var OrganizationSwitcher = (0, import_vue73.defineComponent)({
10660
11402
  var OrganizationSwitcher_default = OrganizationSwitcher;
10661
11403
 
10662
11404
  // src/components/presentation/create-organization/CreateOrganization.ts
10663
- var import_browser62 = require("@asgardeo/browser");
10664
- var import_vue75 = require("vue");
11405
+ var import_browser67 = require("@asgardeo/browser");
11406
+ var import_vue80 = require("vue");
10665
11407
 
10666
11408
  // src/components/presentation/create-organization/BaseCreateOrganization.ts
10667
- var import_browser61 = require("@asgardeo/browser");
10668
- var import_vue74 = require("vue");
10669
- var cls2 = (name) => (0, import_browser61.withVendorCSSClassPrefix)(`create-organization${name}`);
10670
- var BaseCreateOrganization = (0, import_vue74.defineComponent)({
11409
+ var import_browser66 = require("@asgardeo/browser");
11410
+ var import_vue79 = require("vue");
11411
+ var cls2 = (name) => (0, import_browser66.withVendorCSSClassPrefix)(`create-organization${name}`);
11412
+ var BaseCreateOrganization = (0, import_vue79.defineComponent)({
10671
11413
  name: "BaseCreateOrganization",
10672
11414
  props: {
10673
11415
  className: { default: "", type: String },
@@ -10676,9 +11418,9 @@ var BaseCreateOrganization = (0, import_vue74.defineComponent)({
10676
11418
  title: { default: "Create Organization", type: String }
10677
11419
  },
10678
11420
  setup(props, { slots }) {
10679
- const orgName = (0, import_vue74.ref)("");
10680
- const isSubmitting = (0, import_vue74.ref)(false);
10681
- const error = (0, import_vue74.ref)(null);
11421
+ const orgName = (0, import_vue79.ref)("");
11422
+ const isSubmitting = (0, import_vue79.ref)(false);
11423
+ const error = (0, import_vue79.ref)(null);
10682
11424
  const handleSubmit = async () => {
10683
11425
  const name = orgName.value.trim();
10684
11426
  if (!name) {
@@ -10708,11 +11450,11 @@ var BaseCreateOrganization = (0, import_vue74.defineComponent)({
10708
11450
  }
10709
11451
  });
10710
11452
  }
10711
- return (0, import_vue74.h)(Card_default, { class: [cls2(""), props.className].filter(Boolean).join(" ") }, () => [
10712
- (0, import_vue74.h)(Typography_default, { class: cls2("__title"), variant: "h6" }, () => props.title),
10713
- props.description ? (0, import_vue74.h)(Typography_default, { class: cls2("__description"), variant: "body2" }, () => props.description) : null,
10714
- error.value ? (0, import_vue74.h)(Alert_default, { class: cls2("__error"), severity: "error" }, () => error.value) : null,
10715
- (0, import_vue74.h)(TextField_default, {
11453
+ return (0, import_vue79.h)(Card_default, { class: [cls2(""), props.className].filter(Boolean).join(" ") }, () => [
11454
+ (0, import_vue79.h)(Typography_default, { class: cls2("__title"), variant: "h6" }, () => props.title),
11455
+ props.description ? (0, import_vue79.h)(Typography_default, { class: cls2("__description"), variant: "body2" }, () => props.description) : null,
11456
+ error.value ? (0, import_vue79.h)(Alert_default, { class: cls2("__error"), severity: "error" }, () => error.value) : null,
11457
+ (0, import_vue79.h)(TextField_default, {
10716
11458
  class: cls2("__input"),
10717
11459
  label: "Organization Name",
10718
11460
  modelValue: orgName.value,
@@ -10721,7 +11463,7 @@ var BaseCreateOrganization = (0, import_vue74.defineComponent)({
10721
11463
  },
10722
11464
  placeholder: "Enter organization name"
10723
11465
  }),
10724
- (0, import_vue74.h)(
11466
+ (0, import_vue79.h)(
10725
11467
  Button_default,
10726
11468
  {
10727
11469
  class: cls2("__submit"),
@@ -10740,7 +11482,7 @@ var BaseCreateOrganization = (0, import_vue74.defineComponent)({
10740
11482
  var BaseCreateOrganization_default = BaseCreateOrganization;
10741
11483
 
10742
11484
  // src/components/presentation/create-organization/CreateOrganization.ts
10743
- var CreateOrganization = (0, import_vue75.defineComponent)({
11485
+ var CreateOrganization = (0, import_vue80.defineComponent)({
10744
11486
  name: "CreateOrganization",
10745
11487
  props: {
10746
11488
  className: { default: "", type: String },
@@ -10749,10 +11491,10 @@ var CreateOrganization = (0, import_vue75.defineComponent)({
10749
11491
  },
10750
11492
  setup(props, { slots }) {
10751
11493
  const { createOrganization } = useOrganization_default();
10752
- return () => (0, import_vue75.h)(
11494
+ return () => (0, import_vue80.h)(
10753
11495
  BaseCreateOrganization_default,
10754
11496
  {
10755
- class: (0, import_browser62.withVendorCSSClassPrefix)("create-organization--styled"),
11497
+ class: (0, import_browser67.withVendorCSSClassPrefix)("create-organization--styled"),
10756
11498
  className: props.className,
10757
11499
  description: props.description,
10758
11500
  onCreate: createOrganization ? async (name) => {
@@ -10767,14 +11509,14 @@ var CreateOrganization = (0, import_vue75.defineComponent)({
10767
11509
  var CreateOrganization_default = CreateOrganization;
10768
11510
 
10769
11511
  // src/components/presentation/language-switcher/LanguageSwitcher.ts
10770
- var import_browser64 = require("@asgardeo/browser");
10771
- var import_vue77 = require("vue");
11512
+ var import_browser69 = require("@asgardeo/browser");
11513
+ var import_vue82 = require("vue");
10772
11514
 
10773
11515
  // src/components/presentation/language-switcher/BaseLanguageSwitcher.ts
10774
- var import_browser63 = require("@asgardeo/browser");
10775
- var import_vue76 = require("vue");
10776
- var cls3 = (name) => (0, import_browser63.withVendorCSSClassPrefix)(`language-switcher${name}`);
10777
- var BaseLanguageSwitcher = (0, import_vue76.defineComponent)({
11516
+ var import_browser68 = require("@asgardeo/browser");
11517
+ var import_vue81 = require("vue");
11518
+ var cls3 = (name) => (0, import_browser68.withVendorCSSClassPrefix)(`language-switcher${name}`);
11519
+ var BaseLanguageSwitcher = (0, import_vue81.defineComponent)({
10778
11520
  name: "BaseLanguageSwitcher",
10779
11521
  props: {
10780
11522
  className: { default: "", type: String },
@@ -10783,7 +11525,7 @@ var BaseLanguageSwitcher = (0, import_vue76.defineComponent)({
10783
11525
  onLanguageChange: { default: void 0, type: Function }
10784
11526
  },
10785
11527
  setup(props, { slots }) {
10786
- const isOpen = (0, import_vue76.ref)(false);
11528
+ const isOpen = (0, import_vue81.ref)(false);
10787
11529
  const toggle = () => {
10788
11530
  isOpen.value = !isOpen.value;
10789
11531
  };
@@ -10802,7 +11544,7 @@ var BaseLanguageSwitcher = (0, import_vue76.defineComponent)({
10802
11544
  });
10803
11545
  }
10804
11546
  const currentLabel = props.languages.find((l) => l.value === props.currentLanguage)?.label ?? props.currentLanguage;
10805
- const triggerButton = (0, import_vue76.h)(
11547
+ const triggerButton = (0, import_vue81.h)(
10806
11548
  "button",
10807
11549
  {
10808
11550
  "aria-expanded": isOpen.value,
@@ -10812,14 +11554,14 @@ var BaseLanguageSwitcher = (0, import_vue76.defineComponent)({
10812
11554
  type: "button"
10813
11555
  },
10814
11556
  [
10815
- (0, import_vue76.h)(GlobeIcon, { size: 16 }),
10816
- (0, import_vue76.h)(Typography_default, { class: cls3("__trigger-label"), variant: "body2" }, () => currentLabel),
10817
- (0, import_vue76.h)(ChevronDownIcon, { size: 12 })
11557
+ (0, import_vue81.h)(GlobeIcon, { size: 16 }),
11558
+ (0, import_vue81.h)(Typography_default, { class: cls3("__trigger-label"), variant: "body2" }, () => currentLabel),
11559
+ (0, import_vue81.h)(ChevronDownIcon, { size: 12 })
10818
11560
  ]
10819
11561
  );
10820
11562
  const dropdownItems = props.languages.map((lang) => {
10821
11563
  const isActive = lang.value === props.currentLanguage;
10822
- return (0, import_vue76.h)(
11564
+ return (0, import_vue81.h)(
10823
11565
  "button",
10824
11566
  {
10825
11567
  "aria-selected": isActive,
@@ -10828,18 +11570,18 @@ var BaseLanguageSwitcher = (0, import_vue76.defineComponent)({
10828
11570
  role: "option",
10829
11571
  type: "button"
10830
11572
  },
10831
- [(0, import_vue76.h)(Typography_default, { variant: "body2" }, () => lang.label)]
11573
+ [(0, import_vue81.h)(Typography_default, { variant: "body2" }, () => lang.label)]
10832
11574
  );
10833
11575
  });
10834
- const dropdown = isOpen.value ? (0, import_vue76.h)("div", { class: cls3("__dropdown"), role: "listbox" }, dropdownItems) : null;
10835
- return (0, import_vue76.h)(Card_default, { class: [cls3(""), props.className].filter(Boolean).join(" ") }, () => [triggerButton, dropdown]);
11576
+ const dropdown = isOpen.value ? (0, import_vue81.h)("div", { class: cls3("__dropdown"), role: "listbox" }, dropdownItems) : null;
11577
+ return (0, import_vue81.h)(Card_default, { class: [cls3(""), props.className].filter(Boolean).join(" ") }, () => [triggerButton, dropdown]);
10836
11578
  };
10837
11579
  }
10838
11580
  });
10839
11581
  var BaseLanguageSwitcher_default = BaseLanguageSwitcher;
10840
11582
 
10841
11583
  // src/components/presentation/language-switcher/LanguageSwitcher.ts
10842
- var LanguageSwitcher = (0, import_vue77.defineComponent)({
11584
+ var LanguageSwitcher = (0, import_vue82.defineComponent)({
10843
11585
  name: "LanguageSwitcher",
10844
11586
  props: {
10845
11587
  className: { default: "", type: String },
@@ -10855,10 +11597,10 @@ var LanguageSwitcher = (0, import_vue77.defineComponent)({
10855
11597
  },
10856
11598
  setup(props, { slots }) {
10857
11599
  const { currentLanguage, setLanguage } = useI18n_default();
10858
- return () => (0, import_vue77.h)(
11600
+ return () => (0, import_vue82.h)(
10859
11601
  BaseLanguageSwitcher_default,
10860
11602
  {
10861
- class: (0, import_browser64.withVendorCSSClassPrefix)("language-switcher--styled"),
11603
+ class: (0, import_browser69.withVendorCSSClassPrefix)("language-switcher--styled"),
10862
11604
  className: props.className,
10863
11605
  currentLanguage: currentLanguage?.value ?? "en",
10864
11606
  languages: props.languages,
@@ -10916,29 +11658,29 @@ var buildThemeConfigFromFlowMeta = (flowMetaTheme, colorScheme) => {
10916
11658
  var buildThemeConfigFromFlowMeta_default = buildThemeConfigFromFlowMeta;
10917
11659
 
10918
11660
  // src/index.ts
10919
- var import_browser71 = require("@asgardeo/browser");
11661
+ var import_browser76 = require("@asgardeo/browser");
10920
11662
 
10921
11663
  // src/utils/handleWebAuthnAuthentication.ts
10922
- var import_browser65 = require("@asgardeo/browser");
11664
+ var import_browser70 = require("@asgardeo/browser");
10923
11665
 
10924
11666
  // src/utils/hasAuthParamsInUrl.ts
10925
- var import_browser66 = require("@asgardeo/browser");
11667
+ var import_browser71 = require("@asgardeo/browser");
10926
11668
 
10927
11669
  // src/utils/navigate.ts
10928
- var import_browser67 = require("@asgardeo/browser");
11670
+ var import_browser72 = require("@asgardeo/browser");
10929
11671
 
10930
11672
  // src/utils/http.ts
10931
- var import_browser68 = require("@asgardeo/browser");
11673
+ var import_browser73 = require("@asgardeo/browser");
10932
11674
 
10933
11675
  // src/router/guard.ts
10934
- var import_vue78 = require("vue");
10935
- var logger7 = createVueLogger("Guard");
11676
+ var import_vue83 = require("vue");
11677
+ var logger8 = createVueLogger("Guard");
10936
11678
  var createAsgardeoGuard = (options = {}) => {
10937
11679
  const { redirectTo = "/", waitForInit = true, initTimeout = 1e4 } = options;
10938
11680
  return async (_to, _from, next) => {
10939
- const ctx = (0, import_vue78.inject)(ASGARDEO_KEY);
11681
+ const ctx = (0, import_vue83.inject)(ASGARDEO_KEY);
10940
11682
  if (!ctx) {
10941
- logger7.error(
11683
+ logger8.error(
10942
11684
  "createAsgardeoGuard: Asgardeo context not found. Ensure the AsgardeoPlugin is installed before using the router guard."
10943
11685
  );
10944
11686
  next({ path: redirectTo });
@@ -10983,13 +11725,13 @@ var createAsgardeoGuard = (options = {}) => {
10983
11725
  };
10984
11726
 
10985
11727
  // src/router/callbackRoute.ts
10986
- var import_vue79 = require("vue");
11728
+ var import_vue84 = require("vue");
10987
11729
  var createCallbackRoute = (options = {}) => {
10988
11730
  const { path = "/callback", name, onError } = options;
10989
- const CallbackWrapper = (0, import_vue79.defineComponent)({
11731
+ const CallbackWrapper = (0, import_vue84.defineComponent)({
10990
11732
  name: "AsgardeoCallbackRoute",
10991
11733
  setup() {
10992
- return () => (0, import_vue79.h)(Callback_default, {
11734
+ return () => (0, import_vue84.h)(Callback_default, {
10993
11735
  ...onError && { onError }
10994
11736
  });
10995
11737
  }
@@ -11003,11 +11745,11 @@ var createCallbackRoute = (options = {}) => {
11003
11745
  };
11004
11746
 
11005
11747
  // src/theme/getActiveTheme.ts
11006
- var import_browser69 = require("@asgardeo/browser");
11748
+ var import_browser74 = require("@asgardeo/browser");
11007
11749
 
11008
11750
  // src/theme/themeDetection.ts
11009
- var import_browser70 = require("@asgardeo/browser");
11751
+ var import_browser75 = require("@asgardeo/browser");
11010
11752
 
11011
11753
  // src/index.ts
11012
- var import_browser72 = require("@asgardeo/browser");
11754
+ var import_browser77 = require("@asgardeo/browser");
11013
11755
  //# sourceMappingURL=index.js.map