@ory/elements-react 1.0.0-next.14 → 1.0.0-next.15

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.
@@ -40,9 +40,10 @@ function DefaultCardContent({ children }) {
40
40
 
41
41
  // src/theme/default/components/card/footer.tsx
42
42
  import { FlowType } from "@ory/client-fetch";
43
- import { useIntl } from "react-intl";
44
43
  import { useOryFlow } from "@ory/elements-react";
45
- import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
44
+ import { useFormContext } from "react-hook-form";
45
+ import { useIntl } from "react-intl";
46
+ import { Fragment, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
46
47
  function DefaultCardFooter() {
47
48
  const { flowType } = useOryFlow();
48
49
  switch (flowType) {
@@ -65,9 +66,9 @@ function getReturnToQueryParam() {
65
66
  }
66
67
  }
67
68
  function LoginCardFooter() {
68
- const { config } = useOryFlow();
69
+ const { config, formState } = useOryFlow();
69
70
  const intl = useIntl();
70
- if (!config.project.registration_enabled) {
71
+ if (!config.project.registration_enabled || formState.current !== "provide_identifier") {
71
72
  return null;
72
73
  }
73
74
  let registrationLink = `${config.sdk.url}/self-service/registration/browser`;
@@ -94,15 +95,42 @@ function LoginCardFooter() {
94
95
  )
95
96
  ] });
96
97
  }
98
+ function findScreenSelectionButton(nodes) {
99
+ return nodes.find(
100
+ (node) => node.attributes.node_type === "input" && node.attributes.type === "submit" && node.attributes.name === "screen"
101
+ );
102
+ }
97
103
  function RegistrationCardFooter() {
98
104
  const intl = useIntl();
99
- const { config } = useOryFlow();
105
+ const { config, flow, formState } = useOryFlow();
106
+ const { setValue } = useFormContext();
107
+ if (formState.current === "select_method") {
108
+ return null;
109
+ }
110
+ const screenSelectionNode = findScreenSelectionButton(flow.ui.nodes);
111
+ function handleScreenSelection() {
112
+ setValue("method", "profile");
113
+ if (screenSelectionNode) {
114
+ setValue("screen", "credential-selection");
115
+ }
116
+ }
100
117
  let loginLink = `${config.sdk.url}/self-service/login/browser`;
101
118
  const returnTo = getReturnToQueryParam();
102
119
  if (returnTo) {
103
120
  loginLink += `?return_to=${returnTo}`;
104
121
  }
105
- return /* @__PURE__ */ jsxs4("span", { className: "text-sm font-normal antialiased leading-normal", children: [
122
+ return /* @__PURE__ */ jsx4("span", { className: "text-sm font-normal antialiased leading-normal", children: formState.current === "method_active" ? /* @__PURE__ */ jsx4(Fragment, { children: screenSelectionNode && /* @__PURE__ */ jsx4(
123
+ "button",
124
+ {
125
+ className: "font-medium text-links-link-default",
126
+ type: "submit",
127
+ onClick: handleScreenSelection,
128
+ children: intl.formatMessage({
129
+ id: "card.footer.select-another-method",
130
+ defaultMessage: "Select another method"
131
+ })
132
+ }
133
+ ) }) : /* @__PURE__ */ jsxs4(Fragment, { children: [
106
134
  intl.formatMessage({
107
135
  id: "registration.login-label",
108
136
  defaultMessage: "Already have an account?"
@@ -119,7 +147,7 @@ function RegistrationCardFooter() {
119
147
  })
120
148
  }
121
149
  )
122
- ] });
150
+ ] }) });
123
151
  }
124
152
  function RecoveryCardFooter() {
125
153
  return null;
@@ -129,7 +157,7 @@ function VerificationCardFooter() {
129
157
  }
130
158
 
131
159
  // src/theme/default/components/card/header.tsx
132
- import { useComponents, useOryFlow as useOryFlow2 } from "@ory/elements-react";
160
+ import { useComponents, useOryFlow as useOryFlow3 } from "@ory/elements-react";
133
161
 
134
162
  // src/theme/default/utils/constructCardHeader.ts
135
163
  import { FlowType as FlowType2, isUiNodeInputAttributes } from "@ory/client-fetch";
@@ -149,6 +177,18 @@ function useCardHeaderText(nodes, opts) {
149
177
  const intl = useIntl2();
150
178
  switch (opts.flowType) {
151
179
  case FlowType2.Recovery:
180
+ if (nodes.find(
181
+ (node) => "name" in node.attributes && node.attributes.name === "code"
182
+ )) {
183
+ return {
184
+ title: intl.formatMessage({
185
+ id: "recovery.title"
186
+ }),
187
+ description: intl.formatMessage({
188
+ id: "identities.messages.1060003"
189
+ })
190
+ };
191
+ }
152
192
  return {
153
193
  title: intl.formatMessage({
154
194
  id: "recovery.title"
@@ -167,6 +207,18 @@ function useCardHeaderText(nodes, opts) {
167
207
  })
168
208
  };
169
209
  case FlowType2.Verification:
210
+ if (nodes.find(
211
+ (node) => "name" in node.attributes && node.attributes.name === "code"
212
+ )) {
213
+ return {
214
+ title: intl.formatMessage({
215
+ id: "verification.title"
216
+ }),
217
+ description: intl.formatMessage({
218
+ id: "identities.messages.1080003"
219
+ })
220
+ };
221
+ }
170
222
  return {
171
223
  title: intl.formatMessage({
172
224
  id: "verification.title"
@@ -288,44 +340,133 @@ function useCardHeaderText(nodes, opts) {
288
340
  };
289
341
  }
290
342
 
343
+ // src/theme/default/components/card/current-identifier-button.tsx
344
+ import { FlowType as FlowType3 } from "@ory/client-fetch";
345
+ import { useOryFlow as useOryFlow2 } from "@ory/elements-react";
346
+
347
+ // src/theme/default/assets/icons/arrow-left.svg
348
+ import * as React3 from "react";
349
+ import { jsx as jsx5 } from "react/jsx-runtime";
350
+ var SvgArrowLeft = (props) => {
351
+ var _a, _b;
352
+ return /* @__PURE__ */ jsx5("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 25", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx5("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M5 12.325h14m-14 0 6 6m-6-6 6-6" }) });
353
+ };
354
+ var arrow_left_default = SvgArrowLeft;
355
+
356
+ // src/theme/default/utils/attributes.ts
357
+ function omit(obj, keys) {
358
+ const ret = { ...obj };
359
+ for (const key of keys) {
360
+ delete ret[key];
361
+ }
362
+ return ret;
363
+ }
364
+
365
+ // src/theme/default/components/card/current-identifier-button.tsx
366
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
367
+ function DefaultCurrentIdentifierButton() {
368
+ const {
369
+ flow: { ui },
370
+ flowType,
371
+ config,
372
+ formState
373
+ } = useOryFlow2();
374
+ if (formState.current === "provide_identifier") {
375
+ return null;
376
+ }
377
+ const nodeBackButton = getBackButtonNode(flowType, ui.nodes);
378
+ if ((nodeBackButton == null ? void 0 : nodeBackButton.attributes.node_type) !== "input" || !nodeBackButton.attributes.value) {
379
+ return null;
380
+ }
381
+ const initFlowUrl = `${config.sdk.url}/self-service/${flowType}/browser`;
382
+ const attributes = omit(nodeBackButton.attributes, [
383
+ "autocomplete",
384
+ "node_type"
385
+ ]);
386
+ return /* @__PURE__ */ jsx6("div", { children: /* @__PURE__ */ jsxs5(
387
+ "a",
388
+ {
389
+ className: "cursor-pointer py-[5px] px-3 rounded-full border border-button-identifier-border-default bg-button-identifier-bg-default hover:border-button-identifier-border-hover hover:bg-button-identifier-bg-hover transition-colors inline-flex gap-1 items-center",
390
+ ...attributes,
391
+ href: initFlowUrl,
392
+ title: `Adjust ${nodeBackButton == null ? void 0 : nodeBackButton.attributes.value}`,
393
+ children: [
394
+ /* @__PURE__ */ jsx6(arrow_left_default, { size: 16, className: "text-button-identifier-fg-subtle" }),
395
+ /* @__PURE__ */ jsx6("span", { className: "text-sm font-medium text-button-identifier-fg-default text-ellipsis overflow-hidden text-nowrap", children: nodeBackButton == null ? void 0 : nodeBackButton.attributes.value })
396
+ ]
397
+ }
398
+ ) });
399
+ }
400
+ function getBackButtonNode(flowType, nodes) {
401
+ let nodeBackButton;
402
+ switch (flowType) {
403
+ case FlowType3.Login:
404
+ nodeBackButton = nodes.find(
405
+ (node) => "name" in node.attributes && node.attributes.name === "identifier" && node.group === "identifier_first"
406
+ );
407
+ break;
408
+ case FlowType3.Registration:
409
+ nodeBackButton = guessRegistrationBackButton(nodes);
410
+ break;
411
+ case FlowType3.Recovery:
412
+ case FlowType3.Verification:
413
+ nodeBackButton = nodes.find(
414
+ (n) => "name" in n.attributes && n.attributes.name === "email"
415
+ );
416
+ break;
417
+ }
418
+ return nodeBackButton;
419
+ }
420
+ var backButtonCandiates = [
421
+ "traits.email",
422
+ "traits.username",
423
+ "traits.phone_number"
424
+ ];
425
+ function guessRegistrationBackButton(uiNodes) {
426
+ return uiNodes.find(
427
+ (node) => "name" in node.attributes && backButtonCandiates.includes(node.attributes.name) && node.group === "default"
428
+ );
429
+ }
430
+
291
431
  // src/theme/default/components/card/header.tsx
292
- import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
432
+ import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
293
433
  function InnerCardHeader({ title, text }) {
294
434
  const { Card } = useComponents();
295
- return /* @__PURE__ */ jsxs5("header", { className: "flex flex-col gap-8 antialiased", children: [
296
- /* @__PURE__ */ jsx5(Card.Logo, {}),
297
- /* @__PURE__ */ jsxs5("div", { children: [
298
- /* @__PURE__ */ jsx5("h2", { className: "font-semibold text-lg text-dialog-fg-default leading-normal", children: title }),
299
- /* @__PURE__ */ jsx5("p", { className: "text-sm leading-normal text-dialog-fg-subtle", children: text })
435
+ return /* @__PURE__ */ jsxs6("header", { className: "flex flex-col gap-8 antialiased", children: [
436
+ /* @__PURE__ */ jsx7(Card.Logo, {}),
437
+ /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-2", children: [
438
+ /* @__PURE__ */ jsx7("h2", { className: "font-semibold text-lg text-dialog-fg-default leading-normal", children: title }),
439
+ /* @__PURE__ */ jsx7("p", { className: "text-sm leading-normal text-dialog-fg-subtle", children: text }),
440
+ /* @__PURE__ */ jsx7(DefaultCurrentIdentifierButton, {})
300
441
  ] })
301
442
  ] });
302
443
  }
303
444
  function DefaultCardHeader() {
304
- const context = useOryFlow2();
445
+ const context = useOryFlow3();
305
446
  const { title, description } = useCardHeaderText(
306
447
  context.flow.ui.nodes,
307
448
  context
308
449
  );
309
- return /* @__PURE__ */ jsx5(InnerCardHeader, { title, text: description });
450
+ return /* @__PURE__ */ jsx7(InnerCardHeader, { title, text: description });
310
451
  }
311
452
 
312
453
  // src/theme/default/components/card/logo.tsx
313
- import { useOryFlow as useOryFlow3 } from "@ory/elements-react";
314
- import { jsx as jsx6 } from "react/jsx-runtime";
454
+ import { useOryFlow as useOryFlow4 } from "@ory/elements-react";
455
+ import { jsx as jsx8 } from "react/jsx-runtime";
315
456
  function DefaultCardLogo() {
316
- const flow = useOryFlow3();
457
+ const flow = useOryFlow4();
317
458
  if (flow.config.logoUrl) {
318
- return /* @__PURE__ */ jsx6("img", { src: flow.config.logoUrl, width: 100, height: 36, alt: "Logo" });
459
+ return /* @__PURE__ */ jsx8("img", { src: flow.config.logoUrl, width: 100, height: 36, alt: "Logo" });
319
460
  }
320
- return /* @__PURE__ */ jsx6("h1", { className: "text-xl font-semibold leading-normal text-dialog-fg-default", children: flow.config.name });
461
+ return /* @__PURE__ */ jsx8("h1", { className: "text-xl font-semibold leading-normal text-dialog-fg-default", children: flow.config.name });
321
462
  }
322
463
 
323
464
  // src/theme/default/components/card/index.tsx
324
- import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
465
+ import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
325
466
  function DefaultCard({ children }) {
326
- return /* @__PURE__ */ jsx7("div", { className: "flex-1 flex-col flex justify-center items-center font-sans", children: /* @__PURE__ */ jsxs6("div", { className: "grid grid-cols-1 max-w-sm md:max-w-[480px] md:w-[480px] gap-8 bg-dialog-bg-default px-8 md:px-12 py-12 md:py-14 relative rounded-border-radius-cards border border-dialog-border-default", children: [
467
+ return /* @__PURE__ */ jsx9("div", { className: "flex-1 flex-col flex justify-center items-center font-sans", children: /* @__PURE__ */ jsxs7("div", { className: "grid grid-cols-1 max-w-sm md:max-w-[480px] md:w-[480px] gap-8 bg-dialog-bg-default px-8 md:px-12 py-12 md:py-14 relative rounded-border-radius-cards border border-dialog-border-default", children: [
327
468
  children,
328
- /* @__PURE__ */ jsx7(Badge, {})
469
+ /* @__PURE__ */ jsx9(Badge, {})
329
470
  ] }) });
330
471
  }
331
472
 
@@ -340,17 +481,17 @@ function cn(...inputs) {
340
481
  import { useIntl as useIntl3 } from "react-intl";
341
482
  import {
342
483
  uiTextToFormattedMessage,
343
- useOryFlow as useOryFlow4
484
+ useOryFlow as useOryFlow5
344
485
  } from "@ory/elements-react";
345
- import { FlowType as FlowType3 } from "@ory/client-fetch";
346
- import { jsx as jsx8 } from "react/jsx-runtime";
486
+ import { FlowType as FlowType4 } from "@ory/client-fetch";
487
+ import { jsx as jsx10 } from "react/jsx-runtime";
347
488
  function DefaultFormContainer({
348
489
  children,
349
490
  onSubmit,
350
491
  action,
351
492
  method
352
493
  }) {
353
- return /* @__PURE__ */ jsx8(
494
+ return /* @__PURE__ */ jsx10(
354
495
  "form",
355
496
  {
356
497
  onSubmit,
@@ -363,15 +504,15 @@ function DefaultFormContainer({
363
504
  );
364
505
  }
365
506
  function DefaultMessageContainer({ children }) {
366
- const { flowType } = useOryFlow4();
507
+ const { flowType } = useOryFlow5();
367
508
  if (!children || Array.isArray(children) && children.length === 0) {
368
509
  return null;
369
510
  }
370
- return /* @__PURE__ */ jsx8(
511
+ return /* @__PURE__ */ jsx10(
371
512
  "section",
372
513
  {
373
514
  className: cn(
374
- flowType === FlowType3.Settings ? "text-center" : "text-left"
515
+ flowType === FlowType4.Settings ? "text-center" : "text-left"
375
516
  ),
376
517
  children
377
518
  }
@@ -379,7 +520,7 @@ function DefaultMessageContainer({ children }) {
379
520
  }
380
521
  function DefaultMessage({ message }) {
381
522
  const intl = useIntl3();
382
- return /* @__PURE__ */ jsx8(
523
+ return /* @__PURE__ */ jsx10(
383
524
  "span",
384
525
  {
385
526
  className: cn("text-sm mt-1 leading-normal", {
@@ -396,38 +537,38 @@ function DefaultMessage({ message }) {
396
537
  import { useIntl as useIntl4 } from "react-intl";
397
538
 
398
539
  // src/theme/default/assets/icons/code.svg
399
- import * as React3 from "react";
400
- import { jsx as jsx9 } from "react/jsx-runtime";
540
+ import * as React4 from "react";
541
+ import { jsx as jsx11 } from "react/jsx-runtime";
401
542
  var SvgCode = (props) => {
402
543
  var _a, _b;
403
- return /* @__PURE__ */ jsx9("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 15 13", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx9("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M6.333 10.666h-4A1.333 1.333 0 0 1 1 9.333V2.666m0 0a1.333 1.333 0 0 1 1.333-1.333h9.334A1.333 1.333 0 0 1 13 2.666m-12 0 6 4 6-4m0 0v4M12.333 12l1.334-1.334-1.334-1.333m-2 0L9 10.666 10.333 12" }) });
544
+ return /* @__PURE__ */ jsx11("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 15 13", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx11("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M6.333 10.666h-4A1.333 1.333 0 0 1 1 9.333V2.666m0 0a1.333 1.333 0 0 1 1.333-1.333h9.334A1.333 1.333 0 0 1 13 2.666m-12 0 6 4 6-4m0 0v4M12.333 12l1.334-1.334-1.334-1.333m-2 0L9 10.666 10.333 12" }) });
404
545
  };
405
546
  var code_default = SvgCode;
406
547
 
407
548
  // src/theme/default/assets/icons/passkey.svg
408
- import * as React4 from "react";
409
- import { jsx as jsx10 } from "react/jsx-runtime";
549
+ import * as React5 from "react";
550
+ import { jsx as jsx12 } from "react/jsx-runtime";
410
551
  var SvgPasskey = (props) => {
411
552
  var _a, _b;
412
- return /* @__PURE__ */ jsx10("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 13 14", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx10("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M10.602 3.667c.603 1 .86 2.171.733 3.333v.667a4 4 0 0 0 .533 2M3.335 6.333a2.667 2.667 0 0 1 5.333 0V7c0 1.442.468 2.846 1.334 4m-4-4.667v1.334A9.33 9.33 0 0 0 7.668 13M3.335 9a12 12 0 0 0 1.2 4m-3.267-1.333A14.7 14.7 0 0 1 .668 7v-.667a5.333 5.333 0 0 1 8-4.633" }) });
553
+ return /* @__PURE__ */ jsx12("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 13 14", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx12("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M10.602 3.667c.603 1 .86 2.171.733 3.333v.667a4 4 0 0 0 .533 2M3.335 6.333a2.667 2.667 0 0 1 5.333 0V7c0 1.442.468 2.846 1.334 4m-4-4.667v1.334A9.33 9.33 0 0 0 7.668 13M3.335 9a12 12 0 0 0 1.2 4m-3.267-1.333A14.7 14.7 0 0 1 .668 7v-.667a5.333 5.333 0 0 1 8-4.633" }) });
413
554
  };
414
555
  var passkey_default = SvgPasskey;
415
556
 
416
557
  // src/theme/default/assets/icons/password.svg
417
- import * as React5 from "react";
418
- import { jsx as jsx11 } from "react/jsx-runtime";
558
+ import * as React6 from "react";
559
+ import { jsx as jsx13 } from "react/jsx-runtime";
419
560
  var SvgPassword = (props) => {
420
561
  var _a, _b;
421
- return /* @__PURE__ */ jsx11("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 4", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx11("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M7 .667v2.667m-1.333-.667 2.666-1.333m-2.666 0 2.666 1.333m-6-2v2.667M1 2.667l2.667-1.333M1 1.334l2.667 1.333m8-2v2.667m-1.334-.667L13 1.334m-2.667 0L13 2.667" }) });
562
+ return /* @__PURE__ */ jsx13("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 4", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx13("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M7 .667v2.667m-1.333-.667 2.666-1.333m-2.666 0 2.666 1.333m-6-2v2.667M1 2.667l2.667-1.333M1 1.334l2.667 1.333m8-2v2.667m-1.334-.667L13 1.334m-2.667 0L13 2.667" }) });
422
563
  };
423
564
  var password_default = SvgPassword;
424
565
 
425
566
  // src/theme/default/assets/icons/webauthn.svg
426
- import * as React6 from "react";
427
- import { jsx as jsx12 } from "react/jsx-runtime";
567
+ import * as React7 from "react";
568
+ import { jsx as jsx14 } from "react/jsx-runtime";
428
569
  var SvgWebauthn = (props) => {
429
570
  var _a, _b;
430
- return /* @__PURE__ */ jsx12("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 14", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx12("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5h.007m1.03-3.438 2.401 2.401a1.92 1.92 0 0 1 0 2.713l-1.762 1.762a1.92 1.92 0 0 1-2.713 0l-.2-.2-4.372 4.371a1.33 1.33 0 0 1-.826.386L2.448 13h-.781a.667.667 0 0 1-.662-.589L1 12.333v-.781c0-.313.11-.616.311-.856l.08-.087.276-.276H3V9h1.333V7.667l1.43-1.43-.201-.2a1.92 1.92 0 0 1 0-2.713l1.762-1.762a1.92 1.92 0 0 1 2.713 0" }) });
571
+ return /* @__PURE__ */ jsx14("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 14", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx14("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5h.007m1.03-3.438 2.401 2.401a1.92 1.92 0 0 1 0 2.713l-1.762 1.762a1.92 1.92 0 0 1-2.713 0l-.2-.2-4.372 4.371a1.33 1.33 0 0 1-.826.386L2.448 13h-.781a.667.667 0 0 1-.662-.589L1 12.333v-.781c0-.313.11-.616.311-.856l.08-.087.276-.276H3V9h1.333V7.667l1.43-1.43-.201-.2a1.92 1.92 0 0 1 0-2.713l1.762-1.762a1.92 1.92 0 0 1 2.713 0" }) });
431
572
  };
432
573
  var webauthn_default = SvgWebauthn;
433
574
 
@@ -437,7 +578,7 @@ function isGroupImmediateSubmit(group) {
437
578
  }
438
579
 
439
580
  // src/theme/default/components/card/auth-methods.tsx
440
- import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
581
+ import { jsx as jsx15, jsxs as jsxs8 } from "react/jsx-runtime";
441
582
  var iconsMap = {
442
583
  code: code_default,
443
584
  passkey: passkey_default,
@@ -450,17 +591,17 @@ function DefaultAuthMethodListItem({
450
591
  }) {
451
592
  const intl = useIntl4();
452
593
  const Icon = iconsMap[group] || null;
453
- return /* @__PURE__ */ jsx13("div", { className: "w-full hover:bg-forms-bg-hover px-2 py-1 rounded", children: /* @__PURE__ */ jsxs7(
594
+ return /* @__PURE__ */ jsx15("div", { className: "w-full hover:bg-forms-bg-hover px-2 py-1 rounded", children: /* @__PURE__ */ jsxs8(
454
595
  "button",
455
596
  {
456
597
  className: "flex text-left py-2 gap-3 cursor-pointer",
457
598
  onClick,
458
599
  type: isGroupImmediateSubmit(group) ? "submit" : "button",
459
600
  children: [
460
- /* @__PURE__ */ jsx13("div", { className: "flex-none w-4 h-4 mt-[2px]", children: Icon && /* @__PURE__ */ jsx13(Icon, { size: 20, className: "text-forms-fg-default" }) }),
461
- /* @__PURE__ */ jsxs7("div", { className: "flex-1 text-sm leading-normal", children: [
462
- /* @__PURE__ */ jsx13("div", { className: "text-forms-fg-default text-sm", children: intl.formatMessage({ id: `two-step.${group}.title` }) }),
463
- /* @__PURE__ */ jsx13("div", { className: "text-forms-fg-mute text-sm", children: intl.formatMessage({ id: `two-step.${group}.description` }) })
601
+ /* @__PURE__ */ jsx15("div", { className: "flex-none w-4 h-4 mt-[2px]", children: Icon && /* @__PURE__ */ jsx15(Icon, { size: 20, className: "text-forms-fg-default" }) }),
602
+ /* @__PURE__ */ jsxs8("div", { className: "flex-1 text-sm leading-normal", children: [
603
+ /* @__PURE__ */ jsx15("div", { className: "text-forms-fg-default text-sm", children: intl.formatMessage({ id: `two-step.${group}.title` }) }),
604
+ /* @__PURE__ */ jsx15("div", { className: "text-forms-fg-mute text-sm", children: intl.formatMessage({ id: `two-step.${group}.description` }) })
464
605
  ] })
465
606
  ]
466
607
  }
@@ -468,17 +609,17 @@ function DefaultAuthMethodListItem({
468
609
  }
469
610
 
470
611
  // src/theme/default/components/form/button.tsx
471
- import { FlowType as FlowType4, getNodeLabel } from "@ory/client-fetch";
612
+ import { FlowType as FlowType5, getNodeLabel } from "@ory/client-fetch";
472
613
  import {
473
614
  uiTextToFormattedMessage as uiTextToFormattedMessage2
474
615
  } from "@ory/elements-react";
475
- import { useFormContext } from "react-hook-form";
616
+ import { useFormContext as useFormContext2 } from "react-hook-form";
476
617
  import { useIntl as useIntl5 } from "react-intl";
477
618
 
478
619
  // src/theme/default/components/form/spinner.tsx
479
- import { jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
620
+ import { jsx as jsx16, jsxs as jsxs9 } from "react/jsx-runtime";
480
621
  function Spinner({ className }) {
481
- return /* @__PURE__ */ jsxs8(
622
+ return /* @__PURE__ */ jsxs9(
482
623
  "svg",
483
624
  {
484
625
  "aria-hidden": "true",
@@ -491,7 +632,7 @@ function Spinner({ className }) {
491
632
  fill: "none",
492
633
  xmlns: "http://www.w3.org/2000/svg",
493
634
  children: [
494
- /* @__PURE__ */ jsx14("g", { clipPath: "url(#clip0_2572_1748)", children: /* @__PURE__ */ jsx14(
635
+ /* @__PURE__ */ jsx16("g", { clipPath: "url(#clip0_2572_1748)", children: /* @__PURE__ */ jsx16(
495
636
  "path",
496
637
  {
497
638
  d: "M23.364 10.6362C22.1053 9.37751 20.5016 8.52034 18.7558 8.17307C17.01 7.82581 15.2004 8.00404 13.5559 8.68523C11.9113 9.36641 10.5057 10.52 9.51678 12C8.52784 13.4801 8 15.2201 8 17.0001C8 18.7802 8.52784 20.5202 9.51678 22.0003C10.5057 23.4803 11.9113 24.6339 13.5559 25.3151C15.2004 25.9962 17.01 26.1745 18.7558 25.8272C20.5016 25.4799 22.1053 24.6228 23.364 23.3641",
@@ -500,7 +641,7 @@ function Spinner({ className }) {
500
641
  strokeLinejoin: "round"
501
642
  }
502
643
  ) }),
503
- /* @__PURE__ */ jsx14("defs", { children: /* @__PURE__ */ jsx14("clipPath", { id: "clip0_2572_1748", children: /* @__PURE__ */ jsx14(
644
+ /* @__PURE__ */ jsx16("defs", { children: /* @__PURE__ */ jsx16("clipPath", { id: "clip0_2572_1748", children: /* @__PURE__ */ jsx16(
504
645
  "rect",
505
646
  {
506
647
  width: "24",
@@ -515,9 +656,9 @@ function Spinner({ className }) {
515
656
  }
516
657
 
517
658
  // src/theme/default/components/form/button.tsx
518
- import { useOryFlow as useOryFlow5 } from "@ory/elements-react";
659
+ import { useOryFlow as useOryFlow6 } from "@ory/elements-react";
519
660
  import { cva } from "class-variance-authority";
520
- import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
661
+ import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
521
662
  var buttonStyles = cva(
522
663
  [
523
664
  "ring-1 relative overflow-hidden ring-inset rounded text-sm leading-none flex gap-3 justify-center",
@@ -572,14 +713,14 @@ var DefaultButton = ({
572
713
  } = attributes;
573
714
  const intl = useIntl5();
574
715
  const label = getNodeLabel(node);
575
- const { flowType } = useOryFlow5();
716
+ const { flowType } = useOryFlow6();
576
717
  const {
577
718
  formState: { isSubmitting },
578
719
  setValue
579
- } = useFormContext();
720
+ } = useFormContext2();
580
721
  const isPrimary = attributes.name === "method" || attributes.name.includes("passkey") || attributes.name.includes("webauthn") || attributes.name.includes("lookup_secret");
581
- const isSmall = flowType === FlowType4.Settings && attributes.name !== "webauthn_register_trigger";
582
- return /* @__PURE__ */ jsxs9(
722
+ const isSmall = flowType === FlowType5.Settings && attributes.name !== "webauthn_register_trigger";
723
+ return /* @__PURE__ */ jsxs10(
583
724
  "button",
584
725
  {
585
726
  ...rest,
@@ -602,7 +743,7 @@ var DefaultButton = ({
602
743
  disabled: (_a = rest.disabled) != null ? _a : true,
603
744
  "data-loading": isSubmitting,
604
745
  children: [
605
- isSubmitting ? /* @__PURE__ */ jsx15(Spinner, {}) : null,
746
+ isSubmitting ? /* @__PURE__ */ jsx17(Spinner, {}) : null,
606
747
  label ? uiTextToFormattedMessage2(label, intl) : ""
607
748
  ]
608
749
  }
@@ -672,7 +813,7 @@ var uiTextToFormattedMessage3 = ({ id, context = {}, text }, intl) => {
672
813
  };
673
814
 
674
815
  // src/theme/default/components/ui/checkbox-label.tsx
675
- import { Fragment, jsx as jsx16 } from "react/jsx-runtime";
816
+ import { Fragment as Fragment2, jsx as jsx18 } from "react/jsx-runtime";
676
817
  var linkRegex = /\[([^\]]+)\]\(([^)]+)\)/g;
677
818
  function computeLabelElements(labelText) {
678
819
  const elements = [];
@@ -688,7 +829,7 @@ function computeLabelElements(labelText) {
688
829
  elements.push(labelText.slice(lastIndex, matchStart));
689
830
  }
690
831
  elements.push(
691
- /* @__PURE__ */ jsx16(
832
+ /* @__PURE__ */ jsx18(
692
833
  "a",
693
834
  {
694
835
  href: url,
@@ -713,13 +854,13 @@ function CheckboxLabel({ label }) {
713
854
  return null;
714
855
  }
715
856
  const labelText = uiTextToFormattedMessage3(label, intl);
716
- return /* @__PURE__ */ jsx16(Fragment, { children: computeLabelElements(labelText) });
857
+ return /* @__PURE__ */ jsx18(Fragment2, { children: computeLabelElements(labelText) });
717
858
  }
718
859
 
719
860
  // src/theme/default/components/form/checkbox.tsx
720
- import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
861
+ import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
721
862
  function CheckboxSVG() {
722
- return /* @__PURE__ */ jsxs10(
863
+ return /* @__PURE__ */ jsxs11(
723
864
  "svg",
724
865
  {
725
866
  className: "absolute w-4 h-4 hidden peer-checked:block",
@@ -729,14 +870,14 @@ function CheckboxSVG() {
729
870
  viewBox: "0 0 16 16",
730
871
  fill: "none",
731
872
  children: [
732
- /* @__PURE__ */ jsx17(
873
+ /* @__PURE__ */ jsx19(
733
874
  "path",
734
875
  {
735
876
  d: "M0 4C0 1.79086 1.79086 0 4 0H12C14.2091 0 16 1.79086 16 4V12C16 14.2091 14.2091 16 12 16H4C1.79086 16 0 14.2091 0 12V4Z",
736
877
  fill: "#0F172A"
737
878
  }
738
879
  ),
739
- /* @__PURE__ */ jsx17(
880
+ /* @__PURE__ */ jsx19(
740
881
  "path",
741
882
  {
742
883
  fillRule: "evenodd",
@@ -767,7 +908,7 @@ var DefaultCheckbox = ({
767
908
  const label = getNodeLabel2(node);
768
909
  const [checked, setChecked] = useState(Boolean(value));
769
910
  const { register } = useForm();
770
- return /* @__PURE__ */ jsxs10(
911
+ return /* @__PURE__ */ jsxs11(
771
912
  "div",
772
913
  {
773
914
  className: "flex antialiased gap-3 self-stretch item-start",
@@ -775,8 +916,8 @@ var DefaultCheckbox = ({
775
916
  setChecked(!checked);
776
917
  },
777
918
  children: [
778
- /* @__PURE__ */ jsxs10("div", { className: "flex h-5 items-center", children: [
779
- /* @__PURE__ */ jsx17(
919
+ /* @__PURE__ */ jsxs11("div", { className: "flex h-5 items-center", children: [
920
+ /* @__PURE__ */ jsx19(
780
921
  "input",
781
922
  {
782
923
  ...attributes,
@@ -791,11 +932,11 @@ var DefaultCheckbox = ({
791
932
  ...register(name, { value })
792
933
  }
793
934
  ),
794
- /* @__PURE__ */ jsx17(CheckboxSVG, {})
935
+ /* @__PURE__ */ jsx19(CheckboxSVG, {})
795
936
  ] }),
796
- /* @__PURE__ */ jsxs10("div", { className: "text-sm items-center", children: [
797
- /* @__PURE__ */ jsx17("label", { className: "text-sm font-normal leading-normal text-forms-fg-default", children: /* @__PURE__ */ jsx17(CheckboxLabel, { label }) }),
798
- node.messages.map((message) => /* @__PURE__ */ jsx17(
937
+ /* @__PURE__ */ jsxs11("div", { className: "text-sm items-center", children: [
938
+ /* @__PURE__ */ jsx19("label", { className: "text-sm font-normal leading-normal text-forms-fg-default", children: /* @__PURE__ */ jsx19(CheckboxLabel, { label }) }),
939
+ node.messages.map((message) => /* @__PURE__ */ jsx19(
799
940
  "span",
800
941
  {
801
942
  className: "text-sm text-red-900 mt-1",
@@ -811,42 +952,49 @@ var DefaultCheckbox = ({
811
952
  };
812
953
 
813
954
  // src/theme/default/components/form/group-container.tsx
814
- import { jsx as jsx18 } from "react/jsx-runtime";
955
+ import { jsx as jsx20 } from "react/jsx-runtime";
815
956
  function DefaultGroupContainer({ children }) {
816
- return /* @__PURE__ */ jsx18("div", { className: "grid grid-cols-1 gap-6", children });
957
+ return /* @__PURE__ */ jsx20("div", { className: "grid grid-cols-1 gap-6", children });
817
958
  }
818
959
 
819
960
  // src/theme/default/components/form/horizontal-divider.tsx
820
- import { jsx as jsx19 } from "react/jsx-runtime";
961
+ import { jsx as jsx21 } from "react/jsx-runtime";
821
962
  function DefaultHorizontalDivider() {
822
- return /* @__PURE__ */ jsx19("hr", { className: "border-dialog-border-default" });
963
+ return /* @__PURE__ */ jsx21("hr", { className: "border-dialog-border-default" });
823
964
  }
824
965
 
825
966
  // src/theme/default/components/form/image.tsx
826
- import { jsx as jsx20 } from "react/jsx-runtime";
967
+ import { jsx as jsx22 } from "react/jsx-runtime";
827
968
  function DefaultImage({ attributes }) {
828
- return /* @__PURE__ */ jsx20("figure", { children: /* @__PURE__ */ jsx20("img", { ...attributes }) });
969
+ return /* @__PURE__ */ jsx22("figure", { children: /* @__PURE__ */ jsx22("img", { ...attributes }) });
829
970
  }
830
971
 
831
972
  // src/theme/default/components/form/input.tsx
832
- import { FlowType as FlowType5, getNodeLabel as getNodeLabel3 } from "@ory/client-fetch";
973
+ import { FlowType as FlowType6, getNodeLabel as getNodeLabel3 } from "@ory/client-fetch";
833
974
  import {
834
975
  uiTextToFormattedMessage as uiTextToFormattedMessage5,
835
- useOryFlow as useOryFlow6
976
+ useOryFlow as useOryFlow7
836
977
  } from "@ory/elements-react";
837
- import { useFormContext as useFormContext2 } from "react-hook-form";
978
+ import { useFormContext as useFormContext3 } from "react-hook-form";
838
979
  import { useIntl as useIntl8 } from "react-intl";
839
- import { jsx as jsx21 } from "react/jsx-runtime";
980
+ import { jsx as jsx23 } from "react/jsx-runtime";
840
981
  var DefaultInput = ({
841
982
  node,
842
983
  attributes,
843
984
  onClick
844
985
  }) => {
845
986
  const label = getNodeLabel3(node);
846
- const { register } = useFormContext2();
847
- const { value, autocomplete, name, maxlength, ...rest } = attributes;
987
+ const { register } = useFormContext3();
988
+ const {
989
+ value,
990
+ autocomplete,
991
+ name,
992
+ maxlength,
993
+ node_type: _,
994
+ ...rest
995
+ } = attributes;
848
996
  const intl = useIntl8();
849
- const { flowType } = useOryFlow6();
997
+ const { flowType } = useOryFlow7();
850
998
  const formattedLabel = label ? intl.formatMessage(
851
999
  {
852
1000
  id: "input.placeholder",
@@ -856,7 +1004,7 @@ var DefaultInput = ({
856
1004
  placeholder: uiTextToFormattedMessage5(label, intl)
857
1005
  }
858
1006
  ) : "";
859
- return /* @__PURE__ */ jsx21(
1007
+ return /* @__PURE__ */ jsx23(
860
1008
  "input",
861
1009
  {
862
1010
  ...rest,
@@ -868,7 +1016,7 @@ var DefaultInput = ({
868
1016
  "antialiased disabled:text-forms-fg-disabled disabled:bg-forms-bg-disabled bg-forms-bg-default rounded-border-radius-forms border border-forms-border-default leading-tight hover:border-forms-border-hover transition-colors text-sm",
869
1017
  "px-3 py-2.5",
870
1018
  // The settings flow input fields are supposed to be dense, so we don't need the extra padding we want on the user flows.
871
- flowType === FlowType5.Settings ? "max-w-[488px]" : "md:px-4 md:py-4"
1019
+ flowType === FlowType6.Settings ? "max-w-[488px]" : "md:px-4 md:py-4"
872
1020
  ),
873
1021
  ...register(name, { value })
874
1022
  }
@@ -876,14 +1024,14 @@ var DefaultInput = ({
876
1024
  };
877
1025
 
878
1026
  // src/theme/default/components/form/label.tsx
879
- import { FlowType as FlowType6, getNodeLabel as getNodeLabel4 } from "@ory/client-fetch";
1027
+ import { FlowType as FlowType7, getNodeLabel as getNodeLabel4 } from "@ory/client-fetch";
880
1028
  import {
881
1029
  messageTestId as messageTestId2,
882
1030
  uiTextToFormattedMessage as uiTextToFormattedMessage6,
883
- useOryFlow as useOryFlow7
1031
+ useOryFlow as useOryFlow8
884
1032
  } from "@ory/elements-react";
885
1033
  import { useIntl as useIntl9 } from "react-intl";
886
- import { jsx as jsx22, jsxs as jsxs11 } from "react/jsx-runtime";
1034
+ import { jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
887
1035
  function DefaultLabel({
888
1036
  node,
889
1037
  children,
@@ -892,12 +1040,14 @@ function DefaultLabel({
892
1040
  }) {
893
1041
  const intl = useIntl9();
894
1042
  const label = getNodeLabel4(node);
895
- const { config, flowType } = useOryFlow7();
1043
+ const { config, flowType, flow } = useOryFlow8();
896
1044
  const isPassword = attributes.type === "password";
897
- const isCode = attributes.name === "code";
898
- return /* @__PURE__ */ jsxs11("span", { className: "flex flex-col antialiased gap-1", children: [
899
- label && /* @__PURE__ */ jsxs11("span", { className: "inline-flex justify-between", children: [
900
- /* @__PURE__ */ jsx22(
1045
+ const hasResendNode = flow.ui.nodes.some(
1046
+ (n) => "name" in n.attributes && n.attributes.name === "email" && n.attributes.type === "submit"
1047
+ );
1048
+ return /* @__PURE__ */ jsxs12("div", { className: "flex flex-col antialiased gap-1", children: [
1049
+ label && /* @__PURE__ */ jsxs12("span", { className: "inline-flex justify-between", children: [
1050
+ /* @__PURE__ */ jsx24(
901
1051
  "label",
902
1052
  {
903
1053
  ...messageTestId2(label),
@@ -907,8 +1057,8 @@ function DefaultLabel({
907
1057
  children: uiTextToFormattedMessage6(label, intl)
908
1058
  }
909
1059
  ),
910
- isPassword && config.project.recovery_enabled && flowType === FlowType6.Login && // TODO: make it possible to override with a custom component
911
- /* @__PURE__ */ jsx22(
1060
+ isPassword && config.project.recovery_enabled && flowType === FlowType7.Login && // TODO: make it possible to override with a custom component
1061
+ /* @__PURE__ */ jsx24(
912
1062
  "a",
913
1063
  {
914
1064
  href: config.project.recovery_ui_url,
@@ -919,7 +1069,7 @@ function DefaultLabel({
919
1069
  })
920
1070
  }
921
1071
  ),
922
- isCode && /* @__PURE__ */ jsx22(
1072
+ hasResendNode && /* @__PURE__ */ jsx24(
923
1073
  "button",
924
1074
  {
925
1075
  type: "submit",
@@ -931,7 +1081,7 @@ function DefaultLabel({
931
1081
  )
932
1082
  ] }),
933
1083
  children,
934
- node.messages.map((message) => /* @__PURE__ */ jsx22(
1084
+ node.messages.map((message) => /* @__PURE__ */ jsx24(
935
1085
  "span",
936
1086
  {
937
1087
  className: cn("text-sm leading-normal", {
@@ -954,11 +1104,11 @@ import {
954
1104
  } from "@ory/elements-react";
955
1105
  import { forwardRef } from "react";
956
1106
  import { useIntl as useIntl10 } from "react-intl";
957
- import { jsx as jsx23 } from "react/jsx-runtime";
1107
+ import { jsx as jsx25 } from "react/jsx-runtime";
958
1108
  var DefaultLinkButton = forwardRef(({ attributes, node }, ref) => {
959
1109
  const intl = useIntl10();
960
1110
  const label = getNodeLabel5(node);
961
- return /* @__PURE__ */ jsx23(
1111
+ return /* @__PURE__ */ jsx25(
962
1112
  "a",
963
1113
  {
964
1114
  ...attributes,
@@ -974,13 +1124,13 @@ var DefaultLinkButton = forwardRef(({ attributes, node }, ref) => {
974
1124
  DefaultLinkButton.displayName = "DefaultLinkButton";
975
1125
 
976
1126
  // src/theme/default/components/form/pin-code-input.tsx
977
- import { useFormContext as useFormContext3 } from "react-hook-form";
1127
+ import { useFormContext as useFormContext4 } from "react-hook-form";
978
1128
 
979
1129
  // src/theme/default/components/form/shadcn/otp-input.tsx
980
1130
  import { OTPInput, OTPInputContext } from "input-otp";
981
- import * as React7 from "react";
982
- import { jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
983
- var InputOTP = React7.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx24(
1131
+ import * as React8 from "react";
1132
+ import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
1133
+ var InputOTP = React8.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx26(
984
1134
  OTPInput,
985
1135
  {
986
1136
  ref,
@@ -993,12 +1143,12 @@ var InputOTP = React7.forwardRef(({ className, containerClassName, ...props }, r
993
1143
  }
994
1144
  ));
995
1145
  InputOTP.displayName = "InputOTP";
996
- var InputOTPGroup = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24("div", { ref, className: cn("flex items-center", className), ...props }));
1146
+ var InputOTPGroup = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26("div", { ref, className: cn("flex items-center", className), ...props }));
997
1147
  InputOTPGroup.displayName = "InputOTPGroup";
998
- var InputOTPSlot = React7.forwardRef(({ index, className, ...props }, ref) => {
999
- const inputOTPContext = React7.useContext(OTPInputContext);
1148
+ var InputOTPSlot = React8.forwardRef(({ index, className, ...props }, ref) => {
1149
+ const inputOTPContext = React8.useContext(OTPInputContext);
1000
1150
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
1001
- return /* @__PURE__ */ jsxs12(
1151
+ return /* @__PURE__ */ jsxs13(
1002
1152
  "div",
1003
1153
  {
1004
1154
  ref,
@@ -1010,7 +1160,7 @@ var InputOTPSlot = React7.forwardRef(({ index, className, ...props }, ref) => {
1010
1160
  ...props,
1011
1161
  children: [
1012
1162
  char,
1013
- hasFakeCaret && /* @__PURE__ */ jsx24("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx24("div", { className: "h-4 w-px animate-caret-blink bg-branding-bg-default duration-750" }) })
1163
+ hasFakeCaret && /* @__PURE__ */ jsx26("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx26("div", { className: "h-4 w-px animate-caret-blink bg-branding-bg-default duration-750" }) })
1014
1164
  ]
1015
1165
  }
1016
1166
  );
@@ -1018,23 +1168,23 @@ var InputOTPSlot = React7.forwardRef(({ index, className, ...props }, ref) => {
1018
1168
  InputOTPSlot.displayName = "InputOTPSlot";
1019
1169
 
1020
1170
  // src/theme/default/components/form/pin-code-input.tsx
1021
- import { jsx as jsx25 } from "react/jsx-runtime";
1171
+ import { jsx as jsx27 } from "react/jsx-runtime";
1022
1172
  var DefaultPinCodeInput = ({ attributes }) => {
1023
- const { setValue, watch } = useFormContext3();
1173
+ const { setValue, watch } = useFormContext4();
1024
1174
  const { maxlength, name } = attributes;
1025
1175
  const elements = maxlength != null ? maxlength : 6;
1026
1176
  const handleInputChange = (v) => {
1027
1177
  setValue(name, v);
1028
1178
  };
1029
1179
  const value = watch(name);
1030
- return /* @__PURE__ */ jsx25(
1180
+ return /* @__PURE__ */ jsx27(
1031
1181
  InputOTP,
1032
1182
  {
1033
1183
  maxLength: maxlength != null ? maxlength : 6,
1034
1184
  onChange: handleInputChange,
1035
1185
  name,
1036
1186
  value,
1037
- children: /* @__PURE__ */ jsx25(InputOTPGroup, { className: "w-full space-x-2 justify-between", children: [...Array(elements)].map((_, index) => /* @__PURE__ */ jsx25(
1187
+ children: /* @__PURE__ */ jsx27(InputOTPGroup, { className: "w-full space-x-2 justify-between", children: [...Array(elements)].map((_, index) => /* @__PURE__ */ jsx27(
1038
1188
  InputOTPSlot,
1039
1189
  {
1040
1190
  index,
@@ -1046,170 +1196,192 @@ var DefaultPinCodeInput = ({ attributes }) => {
1046
1196
  );
1047
1197
  };
1048
1198
 
1199
+ // src/theme/default/components/form/section.tsx
1200
+ import { jsx as jsx28, jsxs as jsxs14 } from "react/jsx-runtime";
1201
+ var DefaultFormSection = ({ children }) => {
1202
+ return /* @__PURE__ */ jsx28("div", { className: "flex flex-col w-80 md:w-[712px] lg:w-[802px] xl:w-[896px]", children });
1203
+ };
1204
+ var DefaultFormSectionContent = ({
1205
+ title,
1206
+ description,
1207
+ children
1208
+ }) => {
1209
+ return /* @__PURE__ */ jsxs14("div", { className: "border rounded-t-xl border-b-0 border-dialog-border-default bg-forms-bg-default px-6 py-8 flex flex-col gap-8", children: [
1210
+ /* @__PURE__ */ jsxs14("div", { className: "flex flex-col gap-2", children: [
1211
+ /* @__PURE__ */ jsx28("h3", { className: "font-medium text-dialog-fg-default", children: title }),
1212
+ /* @__PURE__ */ jsx28("span", { className: "text-sm text-dialog-fg-subtle", children: description })
1213
+ ] }),
1214
+ children
1215
+ ] });
1216
+ };
1217
+ var DefaultFormSectionFooter = ({ children }) => {
1218
+ return /* @__PURE__ */ jsx28("div", { className: "rounded-b-xl gap-2 flex justify-end px-6 py-4 bg-dialog-bg-subtle border border-dialog-border-default text-sm text-dialog-fg-mute items-center [&>span]:mr-auto min-h-[72px]", children });
1219
+ };
1220
+
1049
1221
  // src/theme/default/components/form/social.tsx
1050
1222
  import {
1051
1223
  uiTextToFormattedMessage as uiTextToFormattedMessage8,
1052
- useOryFlow as useOryFlow8
1224
+ useOryFlow as useOryFlow9
1053
1225
  } from "@ory/elements-react";
1054
1226
 
1055
1227
  // src/theme/default/provider-logos/apple.svg
1056
- import * as React8 from "react";
1057
- import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
1228
+ import * as React9 from "react";
1229
+ import { jsx as jsx29, jsxs as jsxs15 } from "react/jsx-runtime";
1058
1230
  var SvgApple = (props) => {
1059
1231
  var _a, _b;
1060
- return /* @__PURE__ */ jsxs13("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1061
- /* @__PURE__ */ jsx26("path", { fill: "#283544", d: "M30 16c0 7.728-6.265 14-14 14S2 23.728 2 16C2 8.265 8.265 2 16 2s14 6.265 14 14" }),
1062
- /* @__PURE__ */ jsx26("path", { fill: "#fff", d: "M22.562 12.457c-.076.045-1.895.986-1.895 3.07.086 2.38 2.295 3.213 2.333 3.213-.038.045-.334 1.136-1.21 2.28-.694.986-1.466 1.98-2.637 1.98-1.114 0-1.514-.657-2.8-.657-1.381 0-1.772.657-2.829.657-1.171 0-2-1.047-2.733-2.023-.952-1.278-1.761-3.284-1.79-5.21-.02-1.02.19-2.023.724-2.875.752-1.19 2.095-1.997 3.561-2.023 1.124-.036 2.124.719 2.81.719.657 0 1.885-.72 3.275-.72.6.001 2.2.17 3.191 1.59m-6.561-1.792c-.2-.932.352-1.864.866-2.458.657-.72 1.695-1.207 2.59-1.207a3.33 3.33 0 0 1-.952 2.511c-.58.72-1.58 1.26-2.504 1.154" })
1232
+ return /* @__PURE__ */ jsxs15("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1233
+ /* @__PURE__ */ jsx29("path", { fill: "#283544", d: "M30 16c0 7.728-6.265 14-14 14S2 23.728 2 16C2 8.265 8.265 2 16 2s14 6.265 14 14" }),
1234
+ /* @__PURE__ */ jsx29("path", { fill: "#fff", d: "M22.562 12.457c-.076.045-1.895.986-1.895 3.07.086 2.38 2.295 3.213 2.333 3.213-.038.045-.334 1.136-1.21 2.28-.694.986-1.466 1.98-2.637 1.98-1.114 0-1.514-.657-2.8-.657-1.381 0-1.772.657-2.829.657-1.171 0-2-1.047-2.733-2.023-.952-1.278-1.761-3.284-1.79-5.21-.02-1.02.19-2.023.724-2.875.752-1.19 2.095-1.997 3.561-2.023 1.124-.036 2.124.719 2.81.719.657 0 1.885-.72 3.275-.72.6.001 2.2.17 3.191 1.59m-6.561-1.792c-.2-.932.352-1.864.866-2.458.657-.72 1.695-1.207 2.59-1.207a3.33 3.33 0 0 1-.952 2.511c-.58.72-1.58 1.26-2.504 1.154" })
1063
1235
  ] });
1064
1236
  };
1065
1237
  var apple_default = SvgApple;
1066
1238
 
1067
1239
  // src/theme/default/provider-logos/auth0.svg
1068
- import * as React9 from "react";
1069
- import { jsx as jsx27 } from "react/jsx-runtime";
1240
+ import * as React10 from "react";
1241
+ import { jsx as jsx30 } from "react/jsx-runtime";
1070
1242
  var SvgAuth0 = (props) => {
1071
1243
  var _a, _b;
1072
- return /* @__PURE__ */ jsx27("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx27("path", { fill: "#eb5424", d: "M49.012 51.774 42.514 32l17.008-12.22h-21.02L32.005 0h21.032l6.506 19.78c3.767 11.468-.118 24.52-10.53 31.993zm-34.023 0L31.998 64l17.015-12.226-17.008-12.22zm-10.516-32c-3.976 12.1.64 24.917 10.5 32.007v-.007L21.482 32 4.474 19.774l21.025.007L31.998 0H10.972z" }) });
1244
+ return /* @__PURE__ */ jsx30("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx30("path", { fill: "#eb5424", d: "M49.012 51.774 42.514 32l17.008-12.22h-21.02L32.005 0h21.032l6.506 19.78c3.767 11.468-.118 24.52-10.53 31.993zm-34.023 0L31.998 64l17.015-12.226-17.008-12.22zm-10.516-32c-3.976 12.1.64 24.917 10.5 32.007v-.007L21.482 32 4.474 19.774l21.025.007L31.998 0H10.972z" }) });
1073
1245
  };
1074
1246
  var auth0_default = SvgAuth0;
1075
1247
 
1076
1248
  // src/theme/default/provider-logos/discord.svg
1077
- import * as React10 from "react";
1078
- import { jsx as jsx28, jsxs as jsxs14 } from "react/jsx-runtime";
1249
+ import * as React11 from "react";
1250
+ import { jsx as jsx31, jsxs as jsxs16 } from "react/jsx-runtime";
1079
1251
  var SvgDiscord = (props) => {
1080
1252
  var _a, _b;
1081
- return /* @__PURE__ */ jsxs14("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1082
- /* @__PURE__ */ jsx28("path", { d: "M2 11.6c0-3.36 0-5.04.654-6.324a6 6 0 0 1 2.622-2.622C6.56 2 8.24 2 11.6 2h8.8c3.36 0 5.04 0 6.324.654a6 6 0 0 1 2.622 2.622C30 6.56 30 8.24 30 11.6v8.8c0 3.36 0 5.04-.654 6.324a6 6 0 0 1-2.622 2.622C25.44 30 23.76 30 20.4 30h-8.8c-3.36 0-5.04 0-6.324-.654a6 6 0 0 1-2.622-2.622C2 25.44 2 23.76 2 20.4z" }),
1083
- /* @__PURE__ */ jsx28("path", { fill: "#5865F2", d: "M23.636 9.34A18.8 18.8 0 0 0 19.097 8c-.195.332-.424.779-.581 1.134a17.7 17.7 0 0 0-5.03 0A12 12 0 0 0 12.897 8a18.7 18.7 0 0 0-4.542 1.343c-2.872 4.078-3.65 8.055-3.262 11.975a18.6 18.6 0 0 0 5.567 2.68c.448-.58.848-1.195 1.192-1.844a12 12 0 0 1-1.877-.859 9 9 0 0 0 .46-.342c3.62 1.59 7.553 1.59 11.13 0q.225.178.46.342c-.595.337-1.225.626-1.88.86q.516.974 1.191 1.845a18.6 18.6 0 0 0 5.57-2.682c.457-4.544-.78-8.484-3.27-11.978m-11.29 9.567c-1.087 0-1.978-.953-1.978-2.113s.872-2.116 1.977-2.116c1.106 0 1.997.953 1.978 2.116.002 1.16-.872 2.113-1.978 2.113m7.308 0c-1.086 0-1.977-.953-1.977-2.113s.872-2.116 1.977-2.116c1.106 0 1.997.953 1.978 2.116 0 1.16-.872 2.113-1.978 2.113" })
1253
+ return /* @__PURE__ */ jsxs16("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1254
+ /* @__PURE__ */ jsx31("path", { d: "M2 11.6c0-3.36 0-5.04.654-6.324a6 6 0 0 1 2.622-2.622C6.56 2 8.24 2 11.6 2h8.8c3.36 0 5.04 0 6.324.654a6 6 0 0 1 2.622 2.622C30 6.56 30 8.24 30 11.6v8.8c0 3.36 0 5.04-.654 6.324a6 6 0 0 1-2.622 2.622C25.44 30 23.76 30 20.4 30h-8.8c-3.36 0-5.04 0-6.324-.654a6 6 0 0 1-2.622-2.622C2 25.44 2 23.76 2 20.4z" }),
1255
+ /* @__PURE__ */ jsx31("path", { fill: "#5865F2", d: "M23.636 9.34A18.8 18.8 0 0 0 19.097 8c-.195.332-.424.779-.581 1.134a17.7 17.7 0 0 0-5.03 0A12 12 0 0 0 12.897 8a18.7 18.7 0 0 0-4.542 1.343c-2.872 4.078-3.65 8.055-3.262 11.975a18.6 18.6 0 0 0 5.567 2.68c.448-.58.848-1.195 1.192-1.844a12 12 0 0 1-1.877-.859 9 9 0 0 0 .46-.342c3.62 1.59 7.553 1.59 11.13 0q.225.178.46.342c-.595.337-1.225.626-1.88.86q.516.974 1.191 1.845a18.6 18.6 0 0 0 5.57-2.682c.457-4.544-.78-8.484-3.27-11.978m-11.29 9.567c-1.087 0-1.978-.953-1.978-2.113s.872-2.116 1.977-2.116c1.106 0 1.997.953 1.978 2.116.002 1.16-.872 2.113-1.978 2.113m7.308 0c-1.086 0-1.977-.953-1.977-2.113s.872-2.116 1.977-2.116c1.106 0 1.997.953 1.978 2.116 0 1.16-.872 2.113-1.978 2.113" })
1084
1256
  ] });
1085
1257
  };
1086
1258
  var discord_default = SvgDiscord;
1087
1259
 
1088
1260
  // src/theme/default/provider-logos/facebook.svg
1089
- import * as React11 from "react";
1090
- import { jsx as jsx29, jsxs as jsxs15 } from "react/jsx-runtime";
1261
+ import * as React12 from "react";
1262
+ import { jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
1091
1263
  var SvgFacebook = (props) => {
1092
1264
  var _a, _b;
1093
- return /* @__PURE__ */ jsxs15("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1094
- /* @__PURE__ */ jsxs15("g", { clipPath: "url(#facebook_svg__a)", children: [
1095
- /* @__PURE__ */ jsx29("path", { fill: "#1877F2", d: "M24 12c0-6.627-5.373-12-12-12C5.372 0 0 5.374 0 12c0 5.99 4.388 10.954 10.125 11.854V15.47H7.078V12h3.047V9.357c0-3.008 1.791-4.669 4.532-4.669 1.313 0 2.686.234 2.686.234v2.953H15.83c-1.49 0-1.955.925-1.955 1.874V12h3.328l-.532 3.469h-2.796v8.385c5.736-.9 10.124-5.864 10.124-11.854" }),
1096
- /* @__PURE__ */ jsx29("path", { fill: "#fff", d: "M16.67 15.469 17.204 12h-3.328V9.75c0-.95.465-1.875 1.955-1.875h1.513V4.922s-1.373-.234-2.686-.234c-2.74 0-4.532 1.661-4.532 4.669V12H7.078v3.469h3.047v8.385a12.1 12.1 0 0 0 3.75 0V15.47z" })
1265
+ return /* @__PURE__ */ jsxs17("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1266
+ /* @__PURE__ */ jsxs17("g", { clipPath: "url(#facebook_svg__a)", children: [
1267
+ /* @__PURE__ */ jsx32("path", { fill: "#1877F2", d: "M24 12c0-6.627-5.373-12-12-12C5.372 0 0 5.374 0 12c0 5.99 4.388 10.954 10.125 11.854V15.47H7.078V12h3.047V9.357c0-3.008 1.791-4.669 4.532-4.669 1.313 0 2.686.234 2.686.234v2.953H15.83c-1.49 0-1.955.925-1.955 1.874V12h3.328l-.532 3.469h-2.796v8.385c5.736-.9 10.124-5.864 10.124-11.854" }),
1268
+ /* @__PURE__ */ jsx32("path", { fill: "#fff", d: "M16.67 15.469 17.204 12h-3.328V9.75c0-.95.465-1.875 1.955-1.875h1.513V4.922s-1.373-.234-2.686-.234c-2.74 0-4.532 1.661-4.532 4.669V12H7.078v3.469h3.047v8.385a12.1 12.1 0 0 0 3.75 0V15.47z" })
1097
1269
  ] }),
1098
- /* @__PURE__ */ jsx29("defs", { children: /* @__PURE__ */ jsx29("clipPath", { id: "facebook_svg__a", children: /* @__PURE__ */ jsx29("rect", { fill: "#fff" }) }) })
1270
+ /* @__PURE__ */ jsx32("defs", { children: /* @__PURE__ */ jsx32("clipPath", { id: "facebook_svg__a", children: /* @__PURE__ */ jsx32("rect", { fill: "#fff" }) }) })
1099
1271
  ] });
1100
1272
  };
1101
1273
  var facebook_default = SvgFacebook;
1102
1274
 
1103
1275
  // src/theme/default/provider-logos/generic.svg
1104
- import * as React12 from "react";
1105
- import { jsx as jsx30, jsxs as jsxs16 } from "react/jsx-runtime";
1276
+ import * as React13 from "react";
1277
+ import { jsx as jsx33, jsxs as jsxs18 } from "react/jsx-runtime";
1106
1278
  var SvgGeneric = (props) => {
1107
1279
  var _a, _b;
1108
- return /* @__PURE__ */ jsxs16("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, className: "generic_svg__icon generic_svg__icon-tabler generic_svg__icon-tabler-brand-oauth", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1109
- /* @__PURE__ */ jsx30("path", { stroke: "none", d: "M0 0h24v24H0z" }),
1110
- /* @__PURE__ */ jsx30("path", { d: "M2 12a10 10 0 1 0 20 0 10 10 0 1 0-20 0" }),
1111
- /* @__PURE__ */ jsx30("path", { d: "M12.556 6c.65 0 1.235.373 1.508.947l2.839 7.848a1.646 1.646 0 0 1-1.01 2.108 1.673 1.673 0 0 1-2.068-.851L13.365 15h-2.73l-.398.905A1.67 1.67 0 0 1 8.26 16.95l-.153-.047a1.647 1.647 0 0 1-1.056-1.956l2.824-7.852a1.66 1.66 0 0 1 1.409-1.087z" })
1280
+ return /* @__PURE__ */ jsxs18("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, className: "generic_svg__icon generic_svg__icon-tabler generic_svg__icon-tabler-brand-oauth", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1281
+ /* @__PURE__ */ jsx33("path", { stroke: "none", d: "M0 0h24v24H0z" }),
1282
+ /* @__PURE__ */ jsx33("path", { d: "M2 12a10 10 0 1 0 20 0 10 10 0 1 0-20 0" }),
1283
+ /* @__PURE__ */ jsx33("path", { d: "M12.556 6c.65 0 1.235.373 1.508.947l2.839 7.848a1.646 1.646 0 0 1-1.01 2.108 1.673 1.673 0 0 1-2.068-.851L13.365 15h-2.73l-.398.905A1.67 1.67 0 0 1 8.26 16.95l-.153-.047a1.647 1.647 0 0 1-1.056-1.956l2.824-7.852a1.66 1.66 0 0 1 1.409-1.087z" })
1112
1284
  ] });
1113
1285
  };
1114
1286
  var generic_default = SvgGeneric;
1115
1287
 
1116
1288
  // src/theme/default/provider-logos/github.svg
1117
- import * as React13 from "react";
1118
- import { jsx as jsx31 } from "react/jsx-runtime";
1289
+ import * as React14 from "react";
1290
+ import { jsx as jsx34 } from "react/jsx-runtime";
1119
1291
  var SvgGithub = (props) => {
1120
1292
  var _a, _b;
1121
- return /* @__PURE__ */ jsx31("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx31("path", { d: "M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.5 11.5 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12" }) });
1293
+ return /* @__PURE__ */ jsx34("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx34("path", { d: "M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.5 11.5 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12" }) });
1122
1294
  };
1123
1295
  var github_default = SvgGithub;
1124
1296
 
1125
1297
  // src/theme/default/provider-logos/gitlab.svg
1126
- import * as React14 from "react";
1127
- import { jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
1298
+ import * as React15 from "react";
1299
+ import { jsx as jsx35, jsxs as jsxs19 } from "react/jsx-runtime";
1128
1300
  var SvgGitlab = (props) => {
1129
1301
  var _a, _b;
1130
- return /* @__PURE__ */ jsxs17("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1131
- /* @__PURE__ */ jsx32("path", { fill: "#E24329", d: "m22.708 10.691-.031-.072-3.015-7.167a.74.74 0 0 0-.31-.34.87.87 0 0 0-.923.045.73.73 0 0 0-.268.37L16.125 9.2H7.881L5.845 3.527a.72.72 0 0 0-.268-.371.87.87 0 0 0-.923-.045.74.74 0 0 0-.31.34l-3.021 7.164-.03.072a4.67 4.67 0 0 0-.153 3.23c.335 1.063 1.04 1.998 2.01 2.664l.01.007.028.018 4.594 3.132 2.272 1.567 1.384.952c.162.112.36.172.563.172s.401-.06.563-.172l1.384-.952 2.273-1.567 4.62-3.151.012-.009c.968-.666 1.671-1.6 2.006-2.661a4.67 4.67 0 0 0-.15-3.226" }),
1132
- /* @__PURE__ */ jsx32("path", { fill: "#FC6D26", d: "m22.708 10.691-.031-.072a10.7 10.7 0 0 0-4.055 1.66L12 16.839l4.218 2.904 4.621-3.152.012-.008c.969-.666 1.674-1.601 2.008-2.664a4.67 4.67 0 0 0-.15-3.228" }),
1133
- /* @__PURE__ */ jsx32("path", { fill: "#FCA326", d: "m7.781 19.743 2.273 1.566 1.384.952c.162.112.36.172.563.172s.401-.06.563-.172l1.384-.952 2.273-1.566S14.255 18.389 12 16.839c-2.255 1.55-4.219 2.904-4.219 2.904" }),
1134
- /* @__PURE__ */ jsx32("path", { fill: "#FC6D26", d: "M5.376 12.279a10.7 10.7 0 0 0-4.053-1.664l-.03.072a4.67 4.67 0 0 0-.153 3.23c.335 1.063 1.04 1.998 2.01 2.664l.01.007.028.018 4.594 3.132L12 16.836z" })
1302
+ return /* @__PURE__ */ jsxs19("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1303
+ /* @__PURE__ */ jsx35("path", { fill: "#E24329", d: "m22.708 10.691-.031-.072-3.015-7.167a.74.74 0 0 0-.31-.34.87.87 0 0 0-.923.045.73.73 0 0 0-.268.37L16.125 9.2H7.881L5.845 3.527a.72.72 0 0 0-.268-.371.87.87 0 0 0-.923-.045.74.74 0 0 0-.31.34l-3.021 7.164-.03.072a4.67 4.67 0 0 0-.153 3.23c.335 1.063 1.04 1.998 2.01 2.664l.01.007.028.018 4.594 3.132 2.272 1.567 1.384.952c.162.112.36.172.563.172s.401-.06.563-.172l1.384-.952 2.273-1.567 4.62-3.151.012-.009c.968-.666 1.671-1.6 2.006-2.661a4.67 4.67 0 0 0-.15-3.226" }),
1304
+ /* @__PURE__ */ jsx35("path", { fill: "#FC6D26", d: "m22.708 10.691-.031-.072a10.7 10.7 0 0 0-4.055 1.66L12 16.839l4.218 2.904 4.621-3.152.012-.008c.969-.666 1.674-1.601 2.008-2.664a4.67 4.67 0 0 0-.15-3.228" }),
1305
+ /* @__PURE__ */ jsx35("path", { fill: "#FCA326", d: "m7.781 19.743 2.273 1.566 1.384.952c.162.112.36.172.563.172s.401-.06.563-.172l1.384-.952 2.273-1.566S14.255 18.389 12 16.839c-2.255 1.55-4.219 2.904-4.219 2.904" }),
1306
+ /* @__PURE__ */ jsx35("path", { fill: "#FC6D26", d: "M5.376 12.279a10.7 10.7 0 0 0-4.053-1.664l-.03.072a4.67 4.67 0 0 0-.153 3.23c.335 1.063 1.04 1.998 2.01 2.664l.01.007.028.018 4.594 3.132L12 16.836z" })
1135
1307
  ] });
1136
1308
  };
1137
1309
  var gitlab_default = SvgGitlab;
1138
1310
 
1139
1311
  // src/theme/default/provider-logos/google.svg
1140
- import * as React15 from "react";
1141
- import { jsx as jsx33, jsxs as jsxs18 } from "react/jsx-runtime";
1312
+ import * as React16 from "react";
1313
+ import { jsx as jsx36, jsxs as jsxs20 } from "react/jsx-runtime";
1142
1314
  var SvgGoogle = (props) => {
1143
1315
  var _a, _b;
1144
- return /* @__PURE__ */ jsxs18("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1145
- /* @__PURE__ */ jsx33("path", { fill: "#4285F4", d: "M23.745 12.27c0-.79-.07-1.54-.19-2.27h-11.3v4.51h6.47c-.29 1.48-1.14 2.73-2.4 3.58v3h3.86c2.26-2.09 3.56-5.17 3.56-8.82" }),
1146
- /* @__PURE__ */ jsx33("path", { fill: "#34A853", d: "M12.255 24c3.24 0 5.95-1.08 7.93-2.91l-3.86-3c-1.08.72-2.45 1.16-4.07 1.16-3.13 0-5.78-2.11-6.73-4.96h-3.98v3.09C3.515 21.3 7.565 24 12.255 24" }),
1147
- /* @__PURE__ */ jsx33("path", { fill: "#FBBC05", d: "M5.525 14.29c-.25-.72-.38-1.49-.38-2.29s.14-1.57.38-2.29V6.62h-3.98a11.86 11.86 0 0 0 0 10.76z" }),
1148
- /* @__PURE__ */ jsx33("path", { fill: "#EA4335", d: "M12.255 4.75c1.77 0 3.35.61 4.6 1.8l3.42-3.42C18.205 1.19 15.495 0 12.255 0c-4.69 0-8.74 2.7-10.71 6.62l3.98 3.09c.95-2.85 3.6-4.96 6.73-4.96" })
1316
+ return /* @__PURE__ */ jsxs20("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1317
+ /* @__PURE__ */ jsx36("path", { fill: "#4285F4", d: "M23.745 12.27c0-.79-.07-1.54-.19-2.27h-11.3v4.51h6.47c-.29 1.48-1.14 2.73-2.4 3.58v3h3.86c2.26-2.09 3.56-5.17 3.56-8.82" }),
1318
+ /* @__PURE__ */ jsx36("path", { fill: "#34A853", d: "M12.255 24c3.24 0 5.95-1.08 7.93-2.91l-3.86-3c-1.08.72-2.45 1.16-4.07 1.16-3.13 0-5.78-2.11-6.73-4.96h-3.98v3.09C3.515 21.3 7.565 24 12.255 24" }),
1319
+ /* @__PURE__ */ jsx36("path", { fill: "#FBBC05", d: "M5.525 14.29c-.25-.72-.38-1.49-.38-2.29s.14-1.57.38-2.29V6.62h-3.98a11.86 11.86 0 0 0 0 10.76z" }),
1320
+ /* @__PURE__ */ jsx36("path", { fill: "#EA4335", d: "M12.255 4.75c1.77 0 3.35.61 4.6 1.8l3.42-3.42C18.205 1.19 15.495 0 12.255 0c-4.69 0-8.74 2.7-10.71 6.62l3.98 3.09c.95-2.85 3.6-4.96 6.73-4.96" })
1149
1321
  ] });
1150
1322
  };
1151
1323
  var google_default = SvgGoogle;
1152
1324
 
1153
1325
  // src/theme/default/provider-logos/linkedin.svg
1154
- import * as React16 from "react";
1155
- import { jsx as jsx34, jsxs as jsxs19 } from "react/jsx-runtime";
1326
+ import * as React17 from "react";
1327
+ import { jsx as jsx37, jsxs as jsxs21 } from "react/jsx-runtime";
1156
1328
  var SvgLinkedin = (props) => {
1157
1329
  var _a, _b;
1158
- return /* @__PURE__ */ jsxs19("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1159
- /* @__PURE__ */ jsx34("rect", { x: 2, y: 2, fill: "#1275B1", rx: 14 }),
1160
- /* @__PURE__ */ jsx34("path", { fill: "#fff", d: "M12.619 9.692c0 .935-.81 1.692-1.81 1.692C9.81 11.384 9 10.627 9 9.692S9.81 8 10.81 8c.999 0 1.809.758 1.809 1.692M9.247 12.628h3.093V22H9.247zM17.32 12.628h-3.093V22h3.093v-4.795c0-1.107.378-2.22 1.886-2.22 1.705 0 1.695 1.45 1.687 2.572-.01 1.467.014 2.965.014 4.443H24v-4.946c-.026-3.159-.85-4.614-3.557-4.614-1.608 0-2.604.73-3.123 1.39z" })
1330
+ return /* @__PURE__ */ jsxs21("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1331
+ /* @__PURE__ */ jsx37("rect", { x: 2, y: 2, fill: "#1275B1", rx: 14 }),
1332
+ /* @__PURE__ */ jsx37("path", { fill: "#fff", d: "M12.619 9.692c0 .935-.81 1.692-1.81 1.692C9.81 11.384 9 10.627 9 9.692S9.81 8 10.81 8c.999 0 1.809.758 1.809 1.692M9.247 12.628h3.093V22H9.247zM17.32 12.628h-3.093V22h3.093v-4.795c0-1.107.378-2.22 1.886-2.22 1.705 0 1.695 1.45 1.687 2.572-.01 1.467.014 2.965.014 4.443H24v-4.946c-.026-3.159-.85-4.614-3.557-4.614-1.608 0-2.604.73-3.123 1.39z" })
1161
1333
  ] });
1162
1334
  };
1163
1335
  var linkedin_default = SvgLinkedin;
1164
1336
 
1165
1337
  // src/theme/default/provider-logos/microsoft.svg
1166
- import * as React17 from "react";
1167
- import { jsx as jsx35, jsxs as jsxs20 } from "react/jsx-runtime";
1338
+ import * as React18 from "react";
1339
+ import { jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
1168
1340
  var SvgMicrosoft = (props) => {
1169
1341
  var _a, _b;
1170
- return /* @__PURE__ */ jsxs20("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 23 23", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1171
- /* @__PURE__ */ jsx35("path", { fill: "#F35325", d: "M1 1h10v10H1z" }),
1172
- /* @__PURE__ */ jsx35("path", { fill: "#81BC06", d: "M12 1h10v10H12z" }),
1173
- /* @__PURE__ */ jsx35("path", { fill: "#05A6F0", d: "M1 12h10v10H1z" }),
1174
- /* @__PURE__ */ jsx35("path", { fill: "#FFBA08", d: "M12 12h10v10H12z" })
1342
+ return /* @__PURE__ */ jsxs22("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 23 23", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1343
+ /* @__PURE__ */ jsx38("path", { fill: "#F35325", d: "M1 1h10v10H1z" }),
1344
+ /* @__PURE__ */ jsx38("path", { fill: "#81BC06", d: "M12 1h10v10H12z" }),
1345
+ /* @__PURE__ */ jsx38("path", { fill: "#05A6F0", d: "M1 12h10v10H1z" }),
1346
+ /* @__PURE__ */ jsx38("path", { fill: "#FFBA08", d: "M12 12h10v10H12z" })
1175
1347
  ] });
1176
1348
  };
1177
1349
  var microsoft_default = SvgMicrosoft;
1178
1350
 
1179
1351
  // src/theme/default/provider-logos/slack.svg
1180
- import * as React18 from "react";
1181
- import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
1352
+ import * as React19 from "react";
1353
+ import { jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
1182
1354
  var SvgSlack = (props) => {
1183
1355
  var _a, _b;
1184
- return /* @__PURE__ */ jsxs21("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1185
- /* @__PURE__ */ jsx36("path", { fill: "#2EB67D", d: "M26.5 15a2.5 2.5 0 1 0-2.5-2.5V15zm-7 0a2.5 2.5 0 0 0 2.5-2.5v-7a2.5 2.5 0 0 0-5 0v7a2.5 2.5 0 0 0 2.5 2.5" }),
1186
- /* @__PURE__ */ jsx36("path", { fill: "#E01E5A", d: "M5.5 17A2.5 2.5 0 1 0 8 19.5V17zm7 0a2.5 2.5 0 0 0-2.5 2.5v7a2.5 2.5 0 0 0 5 0v-7a2.5 2.5 0 0 0-2.5-2.5" }),
1187
- /* @__PURE__ */ jsx36("path", { fill: "#ECB22E", d: "M17 26.5a2.5 2.5 0 1 0 2.5-2.5H17zm0-7a2.5 2.5 0 0 0 2.5 2.5h7a2.5 2.5 0 0 0 0-5h-7a2.5 2.5 0 0 0-2.5 2.5" }),
1188
- /* @__PURE__ */ jsx36("path", { fill: "#36C5F0", d: "M15 5.5A2.5 2.5 0 1 0 12.5 8H15zm0 7a2.5 2.5 0 0 0-2.5-2.5h-7a2.5 2.5 0 0 0 0 5h7a2.5 2.5 0 0 0 2.5-2.5" })
1356
+ return /* @__PURE__ */ jsxs23("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1357
+ /* @__PURE__ */ jsx39("path", { fill: "#2EB67D", d: "M26.5 15a2.5 2.5 0 1 0-2.5-2.5V15zm-7 0a2.5 2.5 0 0 0 2.5-2.5v-7a2.5 2.5 0 0 0-5 0v7a2.5 2.5 0 0 0 2.5 2.5" }),
1358
+ /* @__PURE__ */ jsx39("path", { fill: "#E01E5A", d: "M5.5 17A2.5 2.5 0 1 0 8 19.5V17zm7 0a2.5 2.5 0 0 0-2.5 2.5v7a2.5 2.5 0 0 0 5 0v-7a2.5 2.5 0 0 0-2.5-2.5" }),
1359
+ /* @__PURE__ */ jsx39("path", { fill: "#ECB22E", d: "M17 26.5a2.5 2.5 0 1 0 2.5-2.5H17zm0-7a2.5 2.5 0 0 0 2.5 2.5h7a2.5 2.5 0 0 0 0-5h-7a2.5 2.5 0 0 0-2.5 2.5" }),
1360
+ /* @__PURE__ */ jsx39("path", { fill: "#36C5F0", d: "M15 5.5A2.5 2.5 0 1 0 12.5 8H15zm0 7a2.5 2.5 0 0 0-2.5-2.5h-7a2.5 2.5 0 0 0 0 5h7a2.5 2.5 0 0 0 2.5-2.5" })
1189
1361
  ] });
1190
1362
  };
1191
1363
  var slack_default = SvgSlack;
1192
1364
 
1193
1365
  // src/theme/default/provider-logos/spotify.svg
1194
- import * as React19 from "react";
1195
- import { jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
1366
+ import * as React20 from "react";
1367
+ import { jsx as jsx40, jsxs as jsxs24 } from "react/jsx-runtime";
1196
1368
  var SvgSpotify = (props) => {
1197
1369
  var _a, _b;
1198
- return /* @__PURE__ */ jsxs22("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1199
- /* @__PURE__ */ jsx37("circle", { cx: 16, cy: 16, r: 14, fill: "#1ED760" }),
1200
- /* @__PURE__ */ jsx37("path", { fill: "#fff", d: "M22.364 21.623c-.239.38-.75.486-1.148.258-3.141-1.822-7.08-2.232-11.736-1.23-.446.091-.893-.167-.988-.592a.786.786 0 0 1 .621-.94c5.087-1.11 9.456-.639 12.964 1.41a.77.77 0 0 1 .287 1.094m1.627-3.461c-.303.47-.941.607-1.435.334-3.588-2.11-9.058-2.718-13.299-1.488-.558.152-1.132-.137-1.292-.653-.16-.531.144-1.078.702-1.23 4.848-1.396 10.875-.728 15.005 1.686.462.273.622.88.319 1.35m.143-3.613c-4.305-2.43-11.4-2.657-15.515-1.473-.654.197-1.355-.152-1.563-.79-.207-.622.176-1.29.83-1.487 4.72-1.366 12.565-1.093 17.508 1.7.59.334.781 1.063.43 1.625-.334.576-1.1.774-1.69.425" })
1370
+ return /* @__PURE__ */ jsxs24("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1371
+ /* @__PURE__ */ jsx40("circle", { cx: 16, cy: 16, r: 14, fill: "#1ED760" }),
1372
+ /* @__PURE__ */ jsx40("path", { fill: "#fff", d: "M22.364 21.623c-.239.38-.75.486-1.148.258-3.141-1.822-7.08-2.232-11.736-1.23-.446.091-.893-.167-.988-.592a.786.786 0 0 1 .621-.94c5.087-1.11 9.456-.639 12.964 1.41a.77.77 0 0 1 .287 1.094m1.627-3.461c-.303.47-.941.607-1.435.334-3.588-2.11-9.058-2.718-13.299-1.488-.558.152-1.132-.137-1.292-.653-.16-.531.144-1.078.702-1.23 4.848-1.396 10.875-.728 15.005 1.686.462.273.622.88.319 1.35m.143-3.613c-4.305-2.43-11.4-2.657-15.515-1.473-.654.197-1.355-.152-1.563-.79-.207-.622.176-1.29.83-1.487 4.72-1.366 12.565-1.093 17.508 1.7.59.334.781 1.063.43 1.625-.334.576-1.1.774-1.69.425" })
1201
1373
  ] });
1202
1374
  };
1203
1375
  var spotify_default = SvgSpotify;
1204
1376
 
1205
1377
  // src/theme/default/provider-logos/yandex.svg
1206
- import * as React20 from "react";
1207
- import { jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
1378
+ import * as React21 from "react";
1379
+ import { jsx as jsx41, jsxs as jsxs25 } from "react/jsx-runtime";
1208
1380
  var SvgYandex = (props) => {
1209
1381
  var _a, _b;
1210
- return /* @__PURE__ */ jsxs23("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1211
- /* @__PURE__ */ jsx38("circle", { cx: 16, cy: 16, r: 14, fill: "#fff" }),
1212
- /* @__PURE__ */ jsx38("path", { fill: "#FC3F1D", d: "M21 25h-3.143V9.435h-1.402c-2.572 0-3.922 1.294-3.922 3.211 0 2.175.935 3.185 2.857 4.48l1.584 1.063L12.403 25H9l4.104-6.086c-2.363-1.684-3.688-3.316-3.688-6.087C9.416 9.357 11.83 7 16.429 7H21z" })
1382
+ return /* @__PURE__ */ jsxs25("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
1383
+ /* @__PURE__ */ jsx41("circle", { cx: 16, cy: 16, r: 14, fill: "#fff" }),
1384
+ /* @__PURE__ */ jsx41("path", { fill: "#FC3F1D", d: "M21 25h-3.143V9.435h-1.402c-2.572 0-3.922 1.294-3.922 3.211 0 2.175.935 3.185 2.857 4.48l1.584 1.063L12.403 25H9l4.104-6.086c-2.363-1.684-3.688-3.316-3.688-6.087C9.416 9.357 11.83 7 16.429 7H21z" })
1213
1385
  ] });
1214
1386
  };
1215
1387
  var yandex_default = SvgYandex;
@@ -1234,7 +1406,7 @@ var provider_logos_default = logos;
1234
1406
 
1235
1407
  // src/theme/default/components/form/social.tsx
1236
1408
  import { useIntl as useIntl11 } from "react-intl";
1237
- import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
1409
+ import { jsx as jsx42, jsxs as jsxs26 } from "react/jsx-runtime";
1238
1410
  function extractProvider(context) {
1239
1411
  if (context && typeof context === "object" && "provider" in context && typeof context.provider === "string") {
1240
1412
  return context.provider;
@@ -1256,13 +1428,13 @@ function DefaultButtonSocial({
1256
1428
  } = attributes;
1257
1429
  const {
1258
1430
  flow: { ui }
1259
- } = useOryFlow8();
1431
+ } = useOryFlow9();
1260
1432
  const intl = useIntl11();
1261
1433
  const oidcNodeCount = (_a = ui.nodes.filter((node2) => node2.group === "oidc").length) != null ? _a : 0;
1262
1434
  const Logo = provider_logos_default[attributes.value];
1263
1435
  const showLabel = _showLabel != null ? _showLabel : oidcNodeCount % 3 !== 0 && oidcNodeCount % 4 !== 0;
1264
1436
  const provider = (_c = extractProvider((_b = node.meta.label) == null ? void 0 : _b.context)) != null ? _c : "";
1265
- return /* @__PURE__ */ jsxs24(
1437
+ return /* @__PURE__ */ jsxs26(
1266
1438
  "button",
1267
1439
  {
1268
1440
  className: cn(
@@ -1275,14 +1447,14 @@ function DefaultButtonSocial({
1275
1447
  ...props,
1276
1448
  onClick,
1277
1449
  children: [
1278
- /* @__PURE__ */ jsx39("span", { className: "w-5 h-5", children: Logo ? /* @__PURE__ */ jsx39(
1450
+ /* @__PURE__ */ jsx42("span", { className: "w-5 h-5", children: Logo ? /* @__PURE__ */ jsx42(
1279
1451
  Logo,
1280
1452
  {
1281
1453
  size: 20,
1282
1454
  className: "object-fill w-full h-full"
1283
1455
  }
1284
- ) : /* @__PURE__ */ jsx39("span", { className: "rounded-full aspect-square border flex items-center justify-center text-xs", children: provider.slice(0, 2) }) }),
1285
- showLabel && node.meta.label ? /* @__PURE__ */ jsx39("span", { className: "text-sm text-left leading-none font-medium text-forms-fg-default flex-grow", children: uiTextToFormattedMessage8(node.meta.label, intl) }) : null
1456
+ ) : /* @__PURE__ */ jsx42("span", { className: "rounded-full aspect-square border flex items-center justify-center text-xs", children: provider.slice(0, 2) }) }),
1457
+ showLabel && node.meta.label ? /* @__PURE__ */ jsx42("span", { className: "text-sm text-left leading-none font-medium text-forms-fg-default flex-grow", children: uiTextToFormattedMessage8(node.meta.label, intl) }) : null
1286
1458
  ]
1287
1459
  }
1288
1460
  );
@@ -1291,7 +1463,7 @@ function DefaultSocialButtonContainer({
1291
1463
  children,
1292
1464
  nodes
1293
1465
  }) {
1294
- return /* @__PURE__ */ jsx39(
1466
+ return /* @__PURE__ */ jsx42(
1295
1467
  "div",
1296
1468
  {
1297
1469
  className: cn("grid gap-3", {
@@ -1308,104 +1480,383 @@ function DefaultSocialButtonContainer({
1308
1480
  // src/theme/default/components/form/text.tsx
1309
1481
  import { uiTextToFormattedMessage as uiTextToFormattedMessage9 } from "@ory/elements-react";
1310
1482
  import { useIntl as useIntl12 } from "react-intl";
1311
- import { Fragment as Fragment2, jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
1483
+ import { Fragment as Fragment3, jsx as jsx43, jsxs as jsxs27 } from "react/jsx-runtime";
1312
1484
  function DefaultText({ node, attributes }) {
1313
1485
  var _a;
1314
1486
  const intl = useIntl12();
1315
- return /* @__PURE__ */ jsxs25(Fragment2, { children: [
1316
- /* @__PURE__ */ jsx40("p", { "data-testid": `node/text/${attributes.id}/label`, children: node.meta.label ? uiTextToFormattedMessage9(node.meta.label, intl) : "" }),
1317
- (_a = attributes.text.context.secrets) == null ? void 0 : _a.map((text, index) => /* @__PURE__ */ jsx40("pre", { "data-testid": `node/text/lookup_secret_codes/text`, children: /* @__PURE__ */ jsx40("code", { children: text ? uiTextToFormattedMessage9(text, intl) : "" }) }, index))
1487
+ return /* @__PURE__ */ jsxs27(Fragment3, { children: [
1488
+ /* @__PURE__ */ jsx43("p", { "data-testid": `node/text/${attributes.id}/label`, children: node.meta.label ? uiTextToFormattedMessage9(node.meta.label, intl) : "" }),
1489
+ (_a = attributes.text.context.secrets) == null ? void 0 : _a.map((text, index) => /* @__PURE__ */ jsx43("pre", { "data-testid": `node/text/lookup_secret_codes/text`, children: /* @__PURE__ */ jsx43("code", { children: text ? uiTextToFormattedMessage9(text, intl) : "" }) }, index))
1318
1490
  ] });
1319
1491
  }
1320
1492
 
1321
- // src/theme/default/assets/icons/arrow-left.svg
1322
- import * as React21 from "react";
1323
- import { jsx as jsx41 } from "react/jsx-runtime";
1324
- var SvgArrowLeft = (props) => {
1325
- var _a, _b;
1326
- return /* @__PURE__ */ jsx41("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 25", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx41("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M5 12.325h14m-14 0 6 6m-6-6 6-6" }) });
1327
- };
1328
- var arrow_left_default = SvgArrowLeft;
1493
+ // src/theme/default/components/generic/page-header.tsx
1494
+ import { useComponents as useComponents2 } from "@ory/elements-react";
1329
1495
 
1330
- // src/theme/default/components/card/current-identifier-button.tsx
1331
- import { jsx as jsx42, jsxs as jsxs26 } from "react/jsx-runtime";
1332
- function DefaultCurrentIdentifierButton({
1333
- attributes,
1334
- onClick,
1335
- type,
1336
- href
1337
- }) {
1338
- const Element = onClick ? "button" : "a";
1339
- return /* @__PURE__ */ jsx42("div", { children: /* @__PURE__ */ jsxs26(
1340
- Element,
1341
- {
1342
- className: "cursor-pointer py-1.5 px-3 rounded-full border border-button-identifier-border-default bg-button-identifier-bg-default hover:border-button-identifier-border-hover hover:bg-button-identifier-bg-hover transition-colors inline-flex gap-1 items-center",
1343
- onClick,
1344
- ...attributes,
1345
- href,
1346
- type,
1347
- children: [
1348
- /* @__PURE__ */ jsx42(arrow_left_default, { size: 16, className: "text-button-identifier-fg-subtle" }),
1349
- /* @__PURE__ */ jsx42("span", { className: "text-sm font-medium leading-none text-button-identifier-fg-default", children: attributes.value })
1350
- ]
1496
+ // src/theme/default/components/ui/user-menu.tsx
1497
+ import { DropdownMenuLabel as DropdownMenuLabel2 } from "@radix-ui/react-dropdown-menu";
1498
+ import { useCallback, useEffect, useState as useState2 } from "react";
1499
+ import { useOryFlow as useOryFlow10 } from "@ory/elements-react";
1500
+
1501
+ // src/util/client.ts
1502
+ import {
1503
+ Configuration,
1504
+ FrontendApi
1505
+ } from "@ory/client-fetch";
1506
+ function frontendClient(sdkUrl, opts = {}) {
1507
+ const config = new Configuration({
1508
+ ...opts,
1509
+ basePath: sdkUrl,
1510
+ headers: {
1511
+ Accept: "application/json",
1512
+ ...opts.headers
1351
1513
  }
1352
- ) });
1514
+ });
1515
+ return new FrontendApi(config);
1353
1516
  }
1354
1517
 
1355
- // src/theme/default/components/form/section.tsx
1356
- import { jsx as jsx43, jsxs as jsxs27 } from "react/jsx-runtime";
1357
- var DefaultFormSection = ({ children }) => {
1358
- return /* @__PURE__ */ jsx43("div", { className: "flex flex-col w-80 md:w-[712px] lg:w-[802px] xl:w-[896px]", children });
1359
- };
1360
- var DefaultFormSectionContent = ({
1361
- title,
1362
- description,
1363
- children
1364
- }) => {
1365
- return /* @__PURE__ */ jsxs27("div", { className: "border rounded-t-xl border-b-0 border-dialog-border-default bg-forms-bg-default px-6 py-8 flex flex-col gap-8", children: [
1366
- /* @__PURE__ */ jsxs27("div", { className: "flex flex-col gap-2", children: [
1367
- /* @__PURE__ */ jsx43("h3", { className: "font-medium text-dialog-fg-default", children: title }),
1368
- /* @__PURE__ */ jsx43("span", { className: "text-sm text-dialog-fg-subtle", children: description })
1369
- ] }),
1370
- children
1371
- ] });
1372
- };
1373
- var DefaultFormSectionFooter = ({ children }) => {
1374
- return /* @__PURE__ */ jsx43("div", { className: "rounded-b-xl gap-2 flex justify-end px-6 py-4 bg-dialog-bg-subtle border border-dialog-border-default text-sm text-dialog-fg-mute items-center [&>span]:mr-auto min-h-[72px]", children });
1375
- };
1376
-
1377
- // src/theme/default/assets/icons/download.svg
1518
+ // src/theme/default/assets/icons/logout.svg
1378
1519
  import * as React22 from "react";
1379
1520
  import { jsx as jsx44 } from "react/jsx-runtime";
1380
- var SvgDownload = (props) => {
1521
+ var SvgLogout = (props) => {
1381
1522
  var _a, _b;
1382
- return /* @__PURE__ */ jsx44("svg", { xmlns: "http://www.w3.org/2000/svg", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, fill: "none", ...props, children: /* @__PURE__ */ jsx44("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5m0 0 5-5m-5 5V4" }) });
1523
+ return /* @__PURE__ */ jsx44("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 16 16", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx44("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M9.333 5.334V4A1.333 1.333 0 0 0 8 2.667H3.333A1.333 1.333 0 0 0 2 4v8a1.333 1.333 0 0 0 1.333 1.334H8A1.333 1.333 0 0 0 9.333 12v-1.333M4.667 8H14m0 0-2-2m2 2-2 2" }) });
1383
1524
  };
1384
- var download_default = SvgDownload;
1525
+ var logout_default = SvgLogout;
1385
1526
 
1386
- // src/theme/default/assets/icons/eye.svg
1527
+ // src/theme/default/assets/icons/settings.svg
1387
1528
  import * as React23 from "react";
1388
1529
  import { jsx as jsx45, jsxs as jsxs28 } from "react/jsx-runtime";
1389
- var SvgEye = (props) => {
1530
+ var SvgSettings = (props) => {
1390
1531
  var _a, _b;
1391
- return /* @__PURE__ */ jsx45("svg", { xmlns: "http://www.w3.org/2000/svg", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, fill: "none", ...props, children: /* @__PURE__ */ jsxs28("g", { strokeLinecap: "round", strokeLinejoin: "round", children: [
1392
- /* @__PURE__ */ jsx45("path", { stroke: "currentColor", d: "M10 12a2 2 0 1 0 4 0 2 2 0 0 0-4 0" }),
1393
- /* @__PURE__ */ jsx45("path", { stroke: "#64748B", d: "M21 12q-3.6 6-9 6t-9-6q3.6-6 9-6t9 6" })
1532
+ return /* @__PURE__ */ jsx45("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 16 16", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsxs28("g", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", children: [
1533
+ /* @__PURE__ */ jsx45("path", { d: "M6.883 2.878c.284-1.17 1.95-1.17 2.234 0a1.15 1.15 0 0 0 1.715.71c1.029-.626 2.207.551 1.58 1.58a1.148 1.148 0 0 0 .71 1.715c1.17.284 1.17 1.95 0 2.234a1.15 1.15 0 0 0-.71 1.715c.626 1.029-.551 2.207-1.58 1.58a1.148 1.148 0 0 0-1.715.71c-.284 1.17-1.95 1.17-2.234 0a1.15 1.15 0 0 0-1.715-.71c-1.029.626-2.207-.551-1.58-1.58a1.15 1.15 0 0 0-.71-1.715c-1.17-.284-1.17-1.95 0-2.234a1.15 1.15 0 0 0 .71-1.715c-.626-1.029.551-2.207 1.58-1.58.667.405 1.531.047 1.715-.71" }),
1534
+ /* @__PURE__ */ jsx45("path", { d: "M6 8a2 2 0 1 0 4 0 2 2 0 0 0-4 0" })
1394
1535
  ] }) });
1395
1536
  };
1396
- var eye_default = SvgEye;
1537
+ var settings_default = SvgSettings;
1397
1538
 
1398
- // src/theme/default/assets/icons/refresh.svg
1399
- import * as React24 from "react";
1400
- import { jsx as jsx46 } from "react/jsx-runtime";
1401
- var SvgRefresh = (props) => {
1402
- var _a, _b;
1403
- return /* @__PURE__ */ jsx46("svg", { xmlns: "http://www.w3.org/2000/svg", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, fill: "none", ...props, children: /* @__PURE__ */ jsx46("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4m-4 4a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4" }) });
1539
+ // src/theme/default/utils/user.ts
1540
+ var getUserInitials = (session) => {
1541
+ var _a, _b;
1542
+ const avatar = "";
1543
+ let primary = "";
1544
+ let secondary = "";
1545
+ if (!((_a = session == null ? void 0 : session.identity) == null ? void 0 : _a.traits)) {
1546
+ return {
1547
+ primary,
1548
+ secondary,
1549
+ avatar
1550
+ };
1551
+ }
1552
+ const traits = (_b = session.identity) == null ? void 0 : _b.traits;
1553
+ if (traits.email) {
1554
+ secondary = traits.email;
1555
+ }
1556
+ if (traits.name) {
1557
+ if (typeof traits.name === "string") {
1558
+ primary = traits.name;
1559
+ }
1560
+ if (traits.name.first && traits.name.last) {
1561
+ primary = traits.name.first + " " + traits.name.last;
1562
+ }
1563
+ }
1564
+ if (primary === "") {
1565
+ primary = secondary;
1566
+ secondary = "";
1567
+ }
1568
+ return {
1569
+ primary,
1570
+ secondary,
1571
+ avatar
1572
+ };
1573
+ };
1574
+
1575
+ // src/theme/default/components/ui/dropdown-menu.tsx
1576
+ import { forwardRef as forwardRef3 } from "react";
1577
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1578
+ import { jsx as jsx46 } from "react/jsx-runtime";
1579
+ var DropdownMenu = DropdownMenuPrimitive.Root;
1580
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1581
+ var DropdownMenuContent = forwardRef3(({ className, sideOffset = 16, ...props }, ref) => /* @__PURE__ */ jsx46(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx46(
1582
+ DropdownMenuPrimitive.Content,
1583
+ {
1584
+ ref,
1585
+ sideOffset,
1586
+ align: "end",
1587
+ className: cn(
1588
+ "z-50 min-w-[19rem] overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1589
+ "border border-dialog-border-default bg-dialog-bg-default rounded-border-radius-cards",
1590
+ className
1591
+ ),
1592
+ ...props
1593
+ }
1594
+ ) }));
1595
+ DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1596
+ var DropdownMenuItem = forwardRef3(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx46(
1597
+ DropdownMenuPrimitive.Item,
1598
+ {
1599
+ ref,
1600
+ className: cn(
1601
+ "relative flex cursor-pointer select-none items-center outline-none transition-colors data-[disabled]:pointer-events-none",
1602
+ "px-8 py-3 lg:py-4.5 text-sm gap-6",
1603
+ "first:border-0 border-t border-button-secondary-border-default hover:border-button-social-border-hover data-[disabled]:border-button-secondary-border-disabled",
1604
+ "text-button-secondary-fg-default bg-button-secondary-bg-default",
1605
+ "hover:text-button-secondary-fg-hover hover:bg-button-secondary-bg-hover",
1606
+ "data-[disabled]:text-button-secondary-fg-disabled data-[disabled]:bg-button-secondary-bg-disabled",
1607
+ inset && "pl-8",
1608
+ className
1609
+ ),
1610
+ ...props
1611
+ }
1612
+ ));
1613
+ DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1614
+ var DropdownMenuLabel = forwardRef3(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx46(
1615
+ DropdownMenuPrimitive.Label,
1616
+ {
1617
+ ref,
1618
+ className: cn(
1619
+ "px-2 py-1.5 text-sm font-semibold",
1620
+ inset && "pl-8",
1621
+ className
1622
+ ),
1623
+ ...props
1624
+ }
1625
+ ));
1626
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1627
+
1628
+ // src/theme/default/components/ui/user-avater.tsx
1629
+ import { forwardRef as forwardRef4 } from "react";
1630
+
1631
+ // src/theme/default/assets/icons/user.svg
1632
+ import * as React24 from "react";
1633
+ import { jsx as jsx47 } from "react/jsx-runtime";
1634
+ var SvgUser = (props) => {
1635
+ var _a, _b;
1636
+ return /* @__PURE__ */ jsx47("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx47("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2M8 7a4 4 0 1 0 8 0 4 4 0 0 0-8 0" }) });
1637
+ };
1638
+ var user_default = SvgUser;
1639
+
1640
+ // src/theme/default/components/ui/user-avater.tsx
1641
+ import { jsx as jsx48 } from "react/jsx-runtime";
1642
+ var UserAvatar = forwardRef4(
1643
+ ({ initials, ...rest }, ref) => {
1644
+ return /* @__PURE__ */ jsx48(
1645
+ "button",
1646
+ {
1647
+ ref,
1648
+ className: "size-10 relative flex overflow-hidden items-center justify-center rounded-full bg-button-primary-bg-default disabled:hover:bg-button-primary-bg-default hover:bg-button-primary-bg-hover",
1649
+ ...rest,
1650
+ children: /* @__PURE__ */ jsx48("div", { className: "relative size-full flex items-center justify-center", children: initials.avatar ? /* @__PURE__ */ jsx48(
1651
+ "img",
1652
+ {
1653
+ src: initials.avatar,
1654
+ alt: initials.primary,
1655
+ className: "w-full object-contain"
1656
+ }
1657
+ ) : /* @__PURE__ */ jsx48(user_default, { size: 24, className: "text-button-primary-fg-default" }) })
1658
+ }
1659
+ );
1660
+ }
1661
+ );
1662
+ UserAvatar.displayName = "UserAvatar";
1663
+
1664
+ // src/theme/default/components/ui/user-menu.tsx
1665
+ import { jsx as jsx49, jsxs as jsxs29 } from "react/jsx-runtime";
1666
+ var UserMenu = ({ session }) => {
1667
+ const { config } = useOryFlow10();
1668
+ const initials = getUserInitials(session);
1669
+ const [logoutFlow, setLogoutFlow] = useState2();
1670
+ const fetchLogoutFlow = useCallback(async () => {
1671
+ const flow = await frontendClient(config.sdk.url).createBrowserLogoutFlow();
1672
+ setLogoutFlow(flow);
1673
+ }, [config.sdk.url]);
1674
+ useEffect(() => {
1675
+ void fetchLogoutFlow();
1676
+ }, [fetchLogoutFlow]);
1677
+ return /* @__PURE__ */ jsxs29(DropdownMenu, { children: [
1678
+ /* @__PURE__ */ jsx49(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx49(UserAvatar, { initials }) }),
1679
+ /* @__PURE__ */ jsxs29(DropdownMenuContent, { children: [
1680
+ /* @__PURE__ */ jsxs29(DropdownMenuLabel2, { className: "px-5 py-4.5 flex gap-3", children: [
1681
+ /* @__PURE__ */ jsx49(UserAvatar, { disabled: true, initials }),
1682
+ /* @__PURE__ */ jsxs29("div", { className: "flex flex-col text-sm leading-tight justify-center", children: [
1683
+ /* @__PURE__ */ jsx49("div", { className: "text-dialog-fg-default", children: initials.primary }),
1684
+ initials.secondary && /* @__PURE__ */ jsx49("div", { className: "text-dialog-fg-mute", children: initials.secondary })
1685
+ ] })
1686
+ ] }),
1687
+ /* @__PURE__ */ jsx49(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs29("a", { href: "/settings", children: [
1688
+ /* @__PURE__ */ jsx49(settings_default, { size: 16 }),
1689
+ " User settings"
1690
+ ] }) }),
1691
+ /* @__PURE__ */ jsx49(DropdownMenuItem, { asChild: true, disabled: !(logoutFlow == null ? void 0 : logoutFlow.logout_url), children: /* @__PURE__ */ jsxs29("a", { href: logoutFlow == null ? void 0 : logoutFlow.logout_url, children: [
1692
+ /* @__PURE__ */ jsx49(logout_default, { size: 16 }),
1693
+ " Logout"
1694
+ ] }) })
1695
+ ] })
1696
+ ] });
1697
+ };
1698
+
1699
+ // src/theme/default/components/generic/page-header.tsx
1700
+ import { useSession } from "@ory/elements-react/client";
1701
+ import { jsx as jsx50, jsxs as jsxs30 } from "react/jsx-runtime";
1702
+ var DefaultPageHeader = (_props) => {
1703
+ const { Card } = useComponents2();
1704
+ const { session } = useSession();
1705
+ return /* @__PURE__ */ jsx50("div", { className: "flex max-w-[896px] flex-col w-full gap-3 mt-16", children: /* @__PURE__ */ jsx50("div", { className: "flex flex-col gap-12", children: /* @__PURE__ */ jsxs30("div", { className: "flex gap-2 max-h-10 justify-between flex-1", children: [
1706
+ /* @__PURE__ */ jsx50("div", { className: "h-10 flex-1 relative", children: /* @__PURE__ */ jsx50(Card.Logo, {}) }),
1707
+ /* @__PURE__ */ jsx50(UserMenu, { session })
1708
+ ] }) }) });
1709
+ };
1710
+
1711
+ // src/theme/default/assets/icons/trash.svg
1712
+ import * as React25 from "react";
1713
+ import { jsx as jsx51 } from "react/jsx-runtime";
1714
+ var SvgTrash = (props) => {
1715
+ var _a, _b;
1716
+ return /* @__PURE__ */ jsx51("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx51("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M4 7h16m-10 4v6m4-6v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3" }) });
1717
+ };
1718
+ var trash_default = SvgTrash;
1719
+
1720
+ // src/theme/default/components/settings/settings-oidc.tsx
1721
+ import { useFormContext as useFormContext5 } from "react-hook-form";
1722
+ import { jsx as jsx52, jsxs as jsxs31 } from "react/jsx-runtime";
1723
+ function DefaultSettingsOidc({
1724
+ linkButtons,
1725
+ unlinkButtons
1726
+ }) {
1727
+ const hasLinkButtons = linkButtons.length > 0;
1728
+ const hasUnlinkButtons = unlinkButtons.length > 0;
1729
+ const { setValue } = useFormContext5();
1730
+ return /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-8", children: [
1731
+ hasLinkButtons && /* @__PURE__ */ jsx52("div", { className: "flex gap-3 items-start [&>button]:w-[79px]", children: linkButtons.map((button) => {
1732
+ const attrs = button.attributes;
1733
+ return /* @__PURE__ */ jsx52(
1734
+ DefaultButtonSocial,
1735
+ {
1736
+ showLabel: false,
1737
+ node: button,
1738
+ attributes: attrs,
1739
+ onClick: () => {
1740
+ setValue("link", attrs.value);
1741
+ setValue("method", "oidc");
1742
+ }
1743
+ },
1744
+ attrs.value
1745
+ );
1746
+ }) }),
1747
+ hasUnlinkButtons && hasLinkButtons ? /* @__PURE__ */ jsx52(DefaultHorizontalDivider, {}) : null,
1748
+ unlinkButtons.map((button) => {
1749
+ var _a, _b;
1750
+ const attrs = button.attributes;
1751
+ const provider = (_b = extractProvider((_a = button.meta.label) == null ? void 0 : _a.context)) != null ? _b : "";
1752
+ const Logo = attrs.value in provider_logos_default ? provider_logos_default[attrs.value] : provider_logos_default.generic;
1753
+ return /* @__PURE__ */ jsxs31("div", { className: "flex justify-between", children: [
1754
+ /* @__PURE__ */ jsxs31("div", { className: "flex gap-6 items-center", children: [
1755
+ /* @__PURE__ */ jsx52(Logo, { size: 32 }),
1756
+ /* @__PURE__ */ jsx52("p", { className: "text-dialog-fg-subtle text-sm font-medium", children: provider })
1757
+ ] }),
1758
+ /* @__PURE__ */ jsx52(
1759
+ "button",
1760
+ {
1761
+ ...attrs,
1762
+ type: "submit",
1763
+ onClick: () => {
1764
+ setValue("unlink", attrs.value);
1765
+ setValue("method", "oidc");
1766
+ },
1767
+ children: /* @__PURE__ */ jsx52(trash_default, { className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover" })
1768
+ }
1769
+ )
1770
+ ] }, attrs.value);
1771
+ })
1772
+ ] });
1773
+ }
1774
+
1775
+ // src/theme/default/components/settings/settings-passkey.tsx
1776
+ import { jsx as jsx53, jsxs as jsxs32 } from "react/jsx-runtime";
1777
+ function DefaultSettingsPasskey({
1778
+ triggerButton,
1779
+ removeButtons
1780
+ }) {
1781
+ const hasRemoveButtons = removeButtons.length > 0;
1782
+ return /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-8", children: [
1783
+ /* @__PURE__ */ jsx53("div", { className: "flex gap-3 items-end max-w-[60%]", children: triggerButton ? /* @__PURE__ */ jsx53(
1784
+ DefaultButton,
1785
+ {
1786
+ node: triggerButton,
1787
+ attributes: triggerButton.attributes,
1788
+ onClick: triggerButton.onClick
1789
+ }
1790
+ ) : null }),
1791
+ hasRemoveButtons ? /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-8", children: [
1792
+ /* @__PURE__ */ jsx53(DefaultHorizontalDivider, {}),
1793
+ /* @__PURE__ */ jsx53("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
1794
+ var _a, _b;
1795
+ const context = (_b = (_a = node.meta.label) == null ? void 0 : _a.context) != null ? _b : {};
1796
+ const addedAt = "added_at" in context ? context.added_at : null;
1797
+ const diaplyName = "display_name" in context ? context.display_name : null;
1798
+ const keyId = "value" in node.attributes ? node.attributes.value : null;
1799
+ return /* @__PURE__ */ jsxs32(
1800
+ "div",
1801
+ {
1802
+ className: "flex justify-between gap-6",
1803
+ children: [
1804
+ /* @__PURE__ */ jsx53(passkey_default, { size: 32, className: "text-dialog-fg-default" }),
1805
+ /* @__PURE__ */ jsxs32("div", { className: "flex-1 flex-col", children: [
1806
+ /* @__PURE__ */ jsx53("p", { className: "text-sm font-medium text-dialog-fg-subtle", children: diaplyName }),
1807
+ /* @__PURE__ */ jsx53("span", { className: "text-sm text-dialog-fg-mute", children: keyId })
1808
+ ] }),
1809
+ addedAt && /* @__PURE__ */ jsx53("p", { className: "text-sm self-center text-dialog-fg-mute", children: new Date(addedAt).toLocaleDateString() }),
1810
+ /* @__PURE__ */ jsx53(
1811
+ "button",
1812
+ {
1813
+ ...node.attributes,
1814
+ type: "submit",
1815
+ className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover",
1816
+ children: /* @__PURE__ */ jsx53(trash_default, { size: 20 })
1817
+ }
1818
+ )
1819
+ ]
1820
+ },
1821
+ `webauthn-remove-button-${i}`
1822
+ );
1823
+ }) })
1824
+ ] }) : null
1825
+ ] });
1826
+ }
1827
+
1828
+ // src/theme/default/assets/icons/download.svg
1829
+ import * as React26 from "react";
1830
+ import { jsx as jsx54 } from "react/jsx-runtime";
1831
+ var SvgDownload = (props) => {
1832
+ var _a, _b;
1833
+ return /* @__PURE__ */ jsx54("svg", { xmlns: "http://www.w3.org/2000/svg", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, fill: "none", ...props, children: /* @__PURE__ */ jsx54("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5m0 0 5-5m-5 5V4" }) });
1834
+ };
1835
+ var download_default = SvgDownload;
1836
+
1837
+ // src/theme/default/assets/icons/eye.svg
1838
+ import * as React27 from "react";
1839
+ import { jsx as jsx55, jsxs as jsxs33 } from "react/jsx-runtime";
1840
+ var SvgEye = (props) => {
1841
+ var _a, _b;
1842
+ return /* @__PURE__ */ jsx55("svg", { xmlns: "http://www.w3.org/2000/svg", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, fill: "none", ...props, children: /* @__PURE__ */ jsxs33("g", { strokeLinecap: "round", strokeLinejoin: "round", children: [
1843
+ /* @__PURE__ */ jsx55("path", { stroke: "currentColor", d: "M10 12a2 2 0 1 0 4 0 2 2 0 0 0-4 0" }),
1844
+ /* @__PURE__ */ jsx55("path", { stroke: "#64748B", d: "M21 12q-3.6 6-9 6t-9-6q3.6-6 9-6t9 6" })
1845
+ ] }) });
1846
+ };
1847
+ var eye_default = SvgEye;
1848
+
1849
+ // src/theme/default/assets/icons/refresh.svg
1850
+ import * as React28 from "react";
1851
+ import { jsx as jsx56 } from "react/jsx-runtime";
1852
+ var SvgRefresh = (props) => {
1853
+ var _a, _b;
1854
+ return /* @__PURE__ */ jsx56("svg", { xmlns: "http://www.w3.org/2000/svg", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, fill: "none", ...props, children: /* @__PURE__ */ jsx56("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4m-4 4a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4" }) });
1404
1855
  };
1405
1856
  var refresh_default = SvgRefresh;
1406
1857
 
1407
1858
  // src/theme/default/components/settings/settings-recovery-codes.tsx
1408
- import { jsx as jsx47, jsxs as jsxs29 } from "react/jsx-runtime";
1859
+ import { jsx as jsx57, jsxs as jsxs34 } from "react/jsx-runtime";
1409
1860
  function DefaultSettingsRecoveryCodes({
1410
1861
  codes,
1411
1862
  regnerateButton,
@@ -1422,15 +1873,15 @@ function DefaultSettingsRecoveryCodes({
1422
1873
  element.click();
1423
1874
  };
1424
1875
  const hasCodes = codes.length >= 1;
1425
- return /* @__PURE__ */ jsxs29("div", { className: "flex flex-col gap-8", children: [
1426
- /* @__PURE__ */ jsx47(DefaultHorizontalDivider, {}),
1427
- /* @__PURE__ */ jsxs29("div", { className: "flex justify-end gap-4", children: [
1428
- regnerateButton && /* @__PURE__ */ jsx47(
1876
+ return /* @__PURE__ */ jsxs34("div", { className: "flex flex-col gap-8", children: [
1877
+ /* @__PURE__ */ jsx57(DefaultHorizontalDivider, {}),
1878
+ /* @__PURE__ */ jsxs34("div", { className: "flex justify-end gap-4", children: [
1879
+ regnerateButton && /* @__PURE__ */ jsx57(
1429
1880
  "button",
1430
1881
  {
1431
1882
  ...regnerateButton.attributes,
1432
1883
  type: "submit",
1433
- children: /* @__PURE__ */ jsx47(
1884
+ children: /* @__PURE__ */ jsx57(
1434
1885
  refresh_default,
1435
1886
  {
1436
1887
  size: 24,
@@ -1439,12 +1890,12 @@ function DefaultSettingsRecoveryCodes({
1439
1890
  )
1440
1891
  }
1441
1892
  ),
1442
- revealButton && /* @__PURE__ */ jsx47(
1893
+ revealButton && /* @__PURE__ */ jsx57(
1443
1894
  "button",
1444
1895
  {
1445
1896
  ...revealButton.attributes,
1446
1897
  type: "submit",
1447
- children: /* @__PURE__ */ jsx47(
1898
+ children: /* @__PURE__ */ jsx57(
1448
1899
  eye_default,
1449
1900
  {
1450
1901
  size: 24,
@@ -1453,7 +1904,7 @@ function DefaultSettingsRecoveryCodes({
1453
1904
  )
1454
1905
  }
1455
1906
  ),
1456
- hasCodes ? /* @__PURE__ */ jsx47(
1907
+ hasCodes ? /* @__PURE__ */ jsx57(
1457
1908
  download_default,
1458
1909
  {
1459
1910
  size: 24,
@@ -1462,30 +1913,21 @@ function DefaultSettingsRecoveryCodes({
1462
1913
  }
1463
1914
  ) : null
1464
1915
  ] }),
1465
- hasCodes ? /* @__PURE__ */ jsx47("div", { className: "rounded-border-radius-cards bg-bg-default ring-1 ring-dialog-border-default p-6", children: /* @__PURE__ */ jsx47("div", { className: "grid grid-cols-6 gap-4 flex-wrap text-dialog-fg-default text-sm", children: codes.map((code) => /* @__PURE__ */ jsx47("p", { children: code }, code)) }) }) : null
1916
+ hasCodes ? /* @__PURE__ */ jsx57("div", { className: "rounded-border-radius-cards bg-bg-default ring-1 ring-dialog-border-default p-6", children: /* @__PURE__ */ jsx57("div", { className: "grid grid-cols-6 gap-4 flex-wrap text-dialog-fg-default text-sm", children: codes.map((code) => /* @__PURE__ */ jsx57("p", { children: code }, code)) }) }) : null
1466
1917
  ] });
1467
1918
  }
1468
1919
 
1469
1920
  // src/theme/default/assets/icons/qrcode.svg
1470
- import * as React25 from "react";
1471
- import { jsx as jsx48 } from "react/jsx-runtime";
1921
+ import * as React29 from "react";
1922
+ import { jsx as jsx58 } from "react/jsx-runtime";
1472
1923
  var SvgQrcode = (props) => {
1473
1924
  var _a, _b;
1474
- return /* @__PURE__ */ jsx48("svg", { xmlns: "http://www.w3.org/2000/svg", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, fill: "none", ...props, children: /* @__PURE__ */ jsx48("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M9.333 22.667v.013m0-13.346v.013m13.333-.013v.013m0 9.32h-4v4m8-4v.013m-8 7.987h4m0-4h4v4m-21.333-20a1.333 1.333 0 0 1 1.333-1.333H12a1.333 1.333 0 0 1 1.333 1.333V12A1.334 1.334 0 0 1 12 13.334H6.666A1.334 1.334 0 0 1 5.333 12zm13.333 0A1.333 1.333 0 0 1 20 5.334h5.333a1.333 1.333 0 0 1 1.333 1.333V12a1.333 1.333 0 0 1-1.333 1.334H20A1.333 1.333 0 0 1 18.666 12zM5.333 20a1.333 1.333 0 0 1 1.333-1.333H12A1.333 1.333 0 0 1 13.333 20v5.334A1.333 1.333 0 0 1 12 26.667H6.666a1.333 1.333 0 0 1-1.333-1.334z" }) });
1925
+ return /* @__PURE__ */ jsx58("svg", { xmlns: "http://www.w3.org/2000/svg", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, fill: "none", ...props, children: /* @__PURE__ */ jsx58("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M9.333 22.667v.013m0-13.346v.013m13.333-.013v.013m0 9.32h-4v4m8-4v.013m-8 7.987h4m0-4h4v4m-21.333-20a1.333 1.333 0 0 1 1.333-1.333H12a1.333 1.333 0 0 1 1.333 1.333V12A1.334 1.334 0 0 1 12 13.334H6.666A1.334 1.334 0 0 1 5.333 12zm13.333 0A1.333 1.333 0 0 1 20 5.334h5.333a1.333 1.333 0 0 1 1.333 1.333V12a1.333 1.333 0 0 1-1.333 1.334H20A1.333 1.333 0 0 1 18.666 12zM5.333 20a1.333 1.333 0 0 1 1.333-1.333H12A1.333 1.333 0 0 1 13.333 20v5.334A1.333 1.333 0 0 1 12 26.667H6.666a1.333 1.333 0 0 1-1.333-1.334z" }) });
1475
1926
  };
1476
1927
  var qrcode_default = SvgQrcode;
1477
1928
 
1478
- // src/theme/default/assets/icons/trash.svg
1479
- import * as React26 from "react";
1480
- import { jsx as jsx49 } from "react/jsx-runtime";
1481
- var SvgTrash = (props) => {
1482
- var _a, _b;
1483
- return /* @__PURE__ */ jsx49("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx49("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M4 7h16m-10 4v6m4-6v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3" }) });
1484
- };
1485
- var trash_default = SvgTrash;
1486
-
1487
1929
  // src/theme/default/components/settings/settings-top.tsx
1488
- import { jsx as jsx50, jsxs as jsxs30 } from "react/jsx-runtime";
1930
+ import { jsx as jsx59, jsxs as jsxs35 } from "react/jsx-runtime";
1489
1931
  function DefaultSettingsTotp(props) {
1490
1932
  var _a;
1491
1933
  if ("totpUnlink" in props && props.totpUnlink) {
@@ -1496,17 +1938,17 @@ function DefaultSettingsTotp(props) {
1496
1938
  node_type: _ignoredNodeType,
1497
1939
  ...buttonAttrs
1498
1940
  } = (_a = props.totpUnlink) == null ? void 0 : _a.attributes;
1499
- return /* @__PURE__ */ jsxs30("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8", children: [
1500
- /* @__PURE__ */ jsx50("div", { className: "col-span-full", children: /* @__PURE__ */ jsx50(DefaultHorizontalDivider, {}) }),
1501
- /* @__PURE__ */ jsxs30("div", { className: "flex gap-6 items-center col-span-full", children: [
1502
- /* @__PURE__ */ jsx50("div", { className: "size-8 aspect-square ", children: /* @__PURE__ */ jsx50(qrcode_default, { size: 32 }) }),
1503
- /* @__PURE__ */ jsx50("div", { className: "flex flex-col mr-auto", children: /* @__PURE__ */ jsx50("p", { className: "text-dialog-fg-subtle text-sm font-medium", children: "Authenticator app" }) }),
1504
- /* @__PURE__ */ jsx50(
1941
+ return /* @__PURE__ */ jsxs35("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8", children: [
1942
+ /* @__PURE__ */ jsx59("div", { className: "col-span-full", children: /* @__PURE__ */ jsx59(DefaultHorizontalDivider, {}) }),
1943
+ /* @__PURE__ */ jsxs35("div", { className: "flex gap-6 items-center col-span-full", children: [
1944
+ /* @__PURE__ */ jsx59("div", { className: "size-8 aspect-square ", children: /* @__PURE__ */ jsx59(qrcode_default, { size: 32 }) }),
1945
+ /* @__PURE__ */ jsx59("div", { className: "flex flex-col mr-auto", children: /* @__PURE__ */ jsx59("p", { className: "text-dialog-fg-subtle text-sm font-medium", children: "Authenticator app" }) }),
1946
+ /* @__PURE__ */ jsx59(
1505
1947
  "button",
1506
1948
  {
1507
1949
  type: type === "button" ? "button" : "submit",
1508
1950
  ...buttonAttrs,
1509
- children: /* @__PURE__ */ jsx50(
1951
+ children: /* @__PURE__ */ jsx59(
1510
1952
  trash_default,
1511
1953
  {
1512
1954
  size: 24,
@@ -1519,9 +1961,9 @@ function DefaultSettingsTotp(props) {
1519
1961
  ] });
1520
1962
  }
1521
1963
  if ("totpSecret" in props) {
1522
- return /* @__PURE__ */ jsxs30("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8", children: [
1523
- /* @__PURE__ */ jsx50("div", { className: "col-span-full", children: /* @__PURE__ */ jsx50(DefaultHorizontalDivider, {}) }),
1524
- /* @__PURE__ */ jsx50("div", { className: "bg-dialog-bg-subtle p-8 rounded-xl flex justify-center", children: /* @__PURE__ */ jsx50("div", { className: "h-44 aspect-square bg-[white] rounded", children: /* @__PURE__ */ jsx50("div", { className: "mix-blend-multiply -m-3 antialiased", children: /* @__PURE__ */ jsx50(
1964
+ return /* @__PURE__ */ jsxs35("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8", children: [
1965
+ /* @__PURE__ */ jsx59("div", { className: "col-span-full", children: /* @__PURE__ */ jsx59(DefaultHorizontalDivider, {}) }),
1966
+ /* @__PURE__ */ jsx59("div", { className: "bg-dialog-bg-subtle p-8 rounded-xl flex justify-center", children: /* @__PURE__ */ jsx59("div", { className: "h-44 aspect-square bg-[white] rounded", children: /* @__PURE__ */ jsx59("div", { className: "mix-blend-multiply -m-3 antialiased", children: /* @__PURE__ */ jsx59(
1525
1967
  DefaultImage,
1526
1968
  {
1527
1969
  node: props.totpImage,
@@ -1530,13 +1972,13 @@ function DefaultSettingsTotp(props) {
1530
1972
  }
1531
1973
  }
1532
1974
  ) }) }) }),
1533
- /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-6", children: [
1534
- /* @__PURE__ */ jsx50(
1975
+ /* @__PURE__ */ jsxs35("div", { className: "flex flex-col gap-6", children: [
1976
+ /* @__PURE__ */ jsx59(
1535
1977
  DefaultLabel,
1536
1978
  {
1537
1979
  node: props.totpSecret,
1538
1980
  attributes: props.totpSecret.attributes,
1539
- children: /* @__PURE__ */ jsx50(
1981
+ children: /* @__PURE__ */ jsx59(
1540
1982
  DefaultInput,
1541
1983
  {
1542
1984
  node: props.totpSecret,
@@ -1551,105 +1993,50 @@ function DefaultSettingsTotp(props) {
1551
1993
  )
1552
1994
  }
1553
1995
  ),
1554
- /* @__PURE__ */ jsx50(
1996
+ /* @__PURE__ */ jsx59(
1555
1997
  DefaultLabel,
1556
1998
  {
1557
1999
  attributes: props.totpInput.attributes,
1558
2000
  node: props.totpInput,
1559
- children: /* @__PURE__ */ jsx50(
2001
+ children: /* @__PURE__ */ jsx59(
1560
2002
  DefaultInput,
1561
2003
  {
1562
2004
  node: props.totpInput,
1563
- attributes: props.totpInput.attributes
1564
- }
1565
- )
1566
- }
1567
- )
1568
- ] })
1569
- ] });
1570
- }
1571
- }
1572
-
1573
- // src/theme/default/components/settings/settings-oidc.tsx
1574
- import { useFormContext as useFormContext4 } from "react-hook-form";
1575
- import { jsx as jsx51, jsxs as jsxs31 } from "react/jsx-runtime";
1576
- function DefaultSettingsOidc({
1577
- linkButtons,
1578
- unlinkButtons
1579
- }) {
1580
- const hasLinkButtons = linkButtons.length > 0;
1581
- const hasUnlinkButtons = unlinkButtons.length > 0;
1582
- const { setValue } = useFormContext4();
1583
- return /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-8", children: [
1584
- hasLinkButtons && /* @__PURE__ */ jsx51("div", { className: "flex gap-3 items-start [&>button]:w-[79px]", children: linkButtons.map((button) => {
1585
- const attrs = button.attributes;
1586
- return /* @__PURE__ */ jsx51(
1587
- DefaultButtonSocial,
1588
- {
1589
- showLabel: false,
1590
- node: button,
1591
- attributes: attrs,
1592
- onClick: () => {
1593
- setValue("link", attrs.value);
1594
- setValue("method", "oidc");
1595
- }
1596
- },
1597
- attrs.value
1598
- );
1599
- }) }),
1600
- hasUnlinkButtons && hasLinkButtons ? /* @__PURE__ */ jsx51(DefaultHorizontalDivider, {}) : null,
1601
- unlinkButtons.map((button) => {
1602
- var _a, _b;
1603
- const attrs = button.attributes;
1604
- const provider = (_b = extractProvider((_a = button.meta.label) == null ? void 0 : _a.context)) != null ? _b : "";
1605
- const Logo = attrs.value in provider_logos_default ? provider_logos_default[attrs.value] : provider_logos_default.generic;
1606
- return /* @__PURE__ */ jsxs31("div", { className: "flex justify-between", children: [
1607
- /* @__PURE__ */ jsxs31("div", { className: "flex gap-6 items-center", children: [
1608
- /* @__PURE__ */ jsx51(Logo, { size: 32 }),
1609
- /* @__PURE__ */ jsx51("p", { className: "text-dialog-fg-subtle text-sm font-medium", children: provider })
1610
- ] }),
1611
- /* @__PURE__ */ jsx51(
1612
- "button",
1613
- {
1614
- ...attrs,
1615
- type: "submit",
1616
- onClick: () => {
1617
- setValue("unlink", attrs.value);
1618
- setValue("method", "oidc");
1619
- },
1620
- children: /* @__PURE__ */ jsx51(trash_default, { className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover" })
2005
+ attributes: props.totpInput.attributes
2006
+ }
2007
+ )
1621
2008
  }
1622
2009
  )
1623
- ] }, attrs.value);
1624
- })
1625
- ] });
2010
+ ] })
2011
+ ] });
2012
+ }
1626
2013
  }
1627
2014
 
1628
2015
  // src/theme/default/assets/icons/key.svg
1629
- import * as React27 from "react";
1630
- import { jsx as jsx52 } from "react/jsx-runtime";
2016
+ import * as React30 from "react";
2017
+ import { jsx as jsx60 } from "react/jsx-runtime";
1631
2018
  var SvgKey = (props) => {
1632
2019
  var _a, _b;
1633
- return /* @__PURE__ */ jsx52("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx52("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M20 12h.013m2.06-6.876 4.803 4.803a3.836 3.836 0 0 1 0 5.425l-3.524 3.524a3.835 3.835 0 0 1-5.425 0l-.402-.401-8.744 8.744a2.67 2.67 0 0 1-1.652.77L6.896 28H5.333a1.334 1.334 0 0 1-1.324-1.177L4 26.667v-1.563c0-.626.22-1.232.623-1.712l.158-.173.552-.552H8V20h2.667v-2.667l2.858-2.858-.401-.402a3.835 3.835 0 0 1 0-5.425l3.524-3.524a3.835 3.835 0 0 1 5.425 0" }) });
2020
+ return /* @__PURE__ */ jsx60("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx60("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M20 12h.013m2.06-6.876 4.803 4.803a3.836 3.836 0 0 1 0 5.425l-3.524 3.524a3.835 3.835 0 0 1-5.425 0l-.402-.401-8.744 8.744a2.67 2.67 0 0 1-1.652.77L6.896 28H5.333a1.334 1.334 0 0 1-1.324-1.177L4 26.667v-1.563c0-.626.22-1.232.623-1.712l.158-.173.552-.552H8V20h2.667v-2.667l2.858-2.858-.401-.402a3.835 3.835 0 0 1 0-5.425l3.524-3.524a3.835 3.835 0 0 1 5.425 0" }) });
1634
2021
  };
1635
2022
  var key_default = SvgKey;
1636
2023
 
1637
2024
  // src/theme/default/components/settings/settings-webauthn.tsx
1638
- import { jsx as jsx53, jsxs as jsxs32 } from "react/jsx-runtime";
2025
+ import { jsx as jsx61, jsxs as jsxs36 } from "react/jsx-runtime";
1639
2026
  function DefaultSettingsWebauthn({
1640
2027
  nameInput,
1641
2028
  triggerButton,
1642
2029
  removeButtons
1643
2030
  }) {
1644
2031
  const hasRemoveButtons = removeButtons.length > 0;
1645
- return /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-8", children: [
1646
- /* @__PURE__ */ jsxs32("div", { className: "flex gap-3 items-end max-w-[60%]", children: [
1647
- /* @__PURE__ */ jsx53("div", { className: "flex-1", children: /* @__PURE__ */ jsx53(
2032
+ return /* @__PURE__ */ jsxs36("div", { className: "flex flex-col gap-8", children: [
2033
+ /* @__PURE__ */ jsxs36("div", { className: "flex gap-3 items-end max-w-[60%]", children: [
2034
+ /* @__PURE__ */ jsx61("div", { className: "flex-1", children: /* @__PURE__ */ jsx61(
1648
2035
  DefaultLabel,
1649
2036
  {
1650
2037
  node: nameInput,
1651
2038
  attributes: nameInput.attributes,
1652
- children: /* @__PURE__ */ jsx53(
2039
+ children: /* @__PURE__ */ jsx61(
1653
2040
  DefaultInput,
1654
2041
  {
1655
2042
  node: nameInput,
@@ -1658,7 +2045,7 @@ function DefaultSettingsWebauthn({
1658
2045
  )
1659
2046
  }
1660
2047
  ) }),
1661
- triggerButton ? /* @__PURE__ */ jsx53(
2048
+ triggerButton ? /* @__PURE__ */ jsx61(
1662
2049
  DefaultButton,
1663
2050
  {
1664
2051
  node: triggerButton,
@@ -1667,85 +2054,32 @@ function DefaultSettingsWebauthn({
1667
2054
  }
1668
2055
  ) : null
1669
2056
  ] }),
1670
- hasRemoveButtons ? /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-8", children: [
1671
- /* @__PURE__ */ jsx53(DefaultHorizontalDivider, {}),
1672
- /* @__PURE__ */ jsx53("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
1673
- var _a, _b;
1674
- const context = (_b = (_a = node.meta.label) == null ? void 0 : _a.context) != null ? _b : {};
1675
- const addedAt = "added_at" in context ? context.added_at : null;
1676
- const diaplyName = "display_name" in context ? context.display_name : null;
1677
- const keyId = "value" in node.attributes ? node.attributes.value : null;
1678
- return /* @__PURE__ */ jsxs32(
1679
- "div",
1680
- {
1681
- className: "flex justify-between gap-6",
1682
- children: [
1683
- /* @__PURE__ */ jsx53(key_default, { size: 32, className: "text-dialog-fg-default" }),
1684
- /* @__PURE__ */ jsxs32("div", { className: "flex-1 flex-col", children: [
1685
- /* @__PURE__ */ jsx53("p", { className: "text-sm font-medium text-dialog-fg-subtle", children: diaplyName }),
1686
- /* @__PURE__ */ jsx53("span", { className: "text-sm text-dialog-fg-mute", children: keyId })
1687
- ] }),
1688
- addedAt && /* @__PURE__ */ jsx53("p", { className: "text-sm self-center text-dialog-fg-mute", children: new Date(addedAt).toLocaleDateString() }),
1689
- /* @__PURE__ */ jsx53(
1690
- "button",
1691
- {
1692
- ...node.attributes,
1693
- type: "submit",
1694
- className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover",
1695
- children: /* @__PURE__ */ jsx53(trash_default, { size: 20 })
1696
- }
1697
- )
1698
- ]
1699
- },
1700
- `webauthn-remove-button-${i}`
1701
- );
1702
- }) })
1703
- ] }) : null
1704
- ] });
1705
- }
1706
-
1707
- // src/theme/default/components/settings/settings-passkey.tsx
1708
- import { jsx as jsx54, jsxs as jsxs33 } from "react/jsx-runtime";
1709
- function DefaultSettingsPasskey({
1710
- triggerButton,
1711
- removeButtons
1712
- }) {
1713
- const hasRemoveButtons = removeButtons.length > 0;
1714
- return /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-8", children: [
1715
- /* @__PURE__ */ jsx54("div", { className: "flex gap-3 items-end max-w-[60%]", children: triggerButton ? /* @__PURE__ */ jsx54(
1716
- DefaultButton,
1717
- {
1718
- node: triggerButton,
1719
- attributes: triggerButton.attributes,
1720
- onClick: triggerButton.onClick
1721
- }
1722
- ) : null }),
1723
- hasRemoveButtons ? /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-8", children: [
1724
- /* @__PURE__ */ jsx54(DefaultHorizontalDivider, {}),
1725
- /* @__PURE__ */ jsx54("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
2057
+ hasRemoveButtons ? /* @__PURE__ */ jsxs36("div", { className: "flex flex-col gap-8", children: [
2058
+ /* @__PURE__ */ jsx61(DefaultHorizontalDivider, {}),
2059
+ /* @__PURE__ */ jsx61("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
1726
2060
  var _a, _b;
1727
2061
  const context = (_b = (_a = node.meta.label) == null ? void 0 : _a.context) != null ? _b : {};
1728
2062
  const addedAt = "added_at" in context ? context.added_at : null;
1729
2063
  const diaplyName = "display_name" in context ? context.display_name : null;
1730
2064
  const keyId = "value" in node.attributes ? node.attributes.value : null;
1731
- return /* @__PURE__ */ jsxs33(
2065
+ return /* @__PURE__ */ jsxs36(
1732
2066
  "div",
1733
2067
  {
1734
2068
  className: "flex justify-between gap-6",
1735
2069
  children: [
1736
- /* @__PURE__ */ jsx54(passkey_default, { size: 32, className: "text-dialog-fg-default" }),
1737
- /* @__PURE__ */ jsxs33("div", { className: "flex-1 flex-col", children: [
1738
- /* @__PURE__ */ jsx54("p", { className: "text-sm font-medium text-dialog-fg-subtle", children: diaplyName }),
1739
- /* @__PURE__ */ jsx54("span", { className: "text-sm text-dialog-fg-mute", children: keyId })
2070
+ /* @__PURE__ */ jsx61(key_default, { size: 32, className: "text-dialog-fg-default" }),
2071
+ /* @__PURE__ */ jsxs36("div", { className: "flex-1 flex-col", children: [
2072
+ /* @__PURE__ */ jsx61("p", { className: "text-sm font-medium text-dialog-fg-subtle", children: diaplyName }),
2073
+ /* @__PURE__ */ jsx61("span", { className: "text-sm text-dialog-fg-mute", children: keyId })
1740
2074
  ] }),
1741
- addedAt && /* @__PURE__ */ jsx54("p", { className: "text-sm self-center text-dialog-fg-mute", children: new Date(addedAt).toLocaleDateString() }),
1742
- /* @__PURE__ */ jsx54(
2075
+ addedAt && /* @__PURE__ */ jsx61("p", { className: "text-sm self-center text-dialog-fg-mute", children: new Date(addedAt).toLocaleDateString() }),
2076
+ /* @__PURE__ */ jsx61(
1743
2077
  "button",
1744
2078
  {
1745
2079
  ...node.attributes,
1746
2080
  type: "submit",
1747
2081
  className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover",
1748
- children: /* @__PURE__ */ jsx54(trash_default, { size: 20 })
2082
+ children: /* @__PURE__ */ jsx61(trash_default, { size: 20 })
1749
2083
  }
1750
2084
  )
1751
2085
  ]
@@ -1757,227 +2091,9 @@ function DefaultSettingsPasskey({
1757
2091
  ] });
1758
2092
  }
1759
2093
 
1760
- // src/theme/default/components/generic/page-header.tsx
1761
- import { useComponents as useComponents2 } from "@ory/elements-react";
1762
-
1763
- // src/theme/default/components/ui/user-menu.tsx
1764
- import { DropdownMenuLabel as DropdownMenuLabel2 } from "@radix-ui/react-dropdown-menu";
1765
- import { useCallback, useEffect, useState as useState2 } from "react";
1766
- import { useOryFlow as useOryFlow9 } from "@ory/elements-react";
1767
-
1768
- // src/util/client.ts
1769
- import {
1770
- Configuration,
1771
- FrontendApi
1772
- } from "@ory/client-fetch";
1773
- function frontendClient(sdkUrl, opts = {}) {
1774
- const config = new Configuration({
1775
- ...opts,
1776
- basePath: sdkUrl,
1777
- headers: {
1778
- Accept: "application/json",
1779
- ...opts.headers
1780
- }
1781
- });
1782
- return new FrontendApi(config);
1783
- }
1784
-
1785
- // src/theme/default/assets/icons/logout.svg
1786
- import * as React28 from "react";
1787
- import { jsx as jsx55 } from "react/jsx-runtime";
1788
- var SvgLogout = (props) => {
1789
- var _a, _b;
1790
- return /* @__PURE__ */ jsx55("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 16 16", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx55("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M9.333 5.334V4A1.333 1.333 0 0 0 8 2.667H3.333A1.333 1.333 0 0 0 2 4v8a1.333 1.333 0 0 0 1.333 1.334H8A1.333 1.333 0 0 0 9.333 12v-1.333M4.667 8H14m0 0-2-2m2 2-2 2" }) });
1791
- };
1792
- var logout_default = SvgLogout;
1793
-
1794
- // src/theme/default/assets/icons/settings.svg
1795
- import * as React29 from "react";
1796
- import { jsx as jsx56, jsxs as jsxs34 } from "react/jsx-runtime";
1797
- var SvgSettings = (props) => {
1798
- var _a, _b;
1799
- return /* @__PURE__ */ jsx56("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 16 16", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsxs34("g", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", children: [
1800
- /* @__PURE__ */ jsx56("path", { d: "M6.883 2.878c.284-1.17 1.95-1.17 2.234 0a1.15 1.15 0 0 0 1.715.71c1.029-.626 2.207.551 1.58 1.58a1.148 1.148 0 0 0 .71 1.715c1.17.284 1.17 1.95 0 2.234a1.15 1.15 0 0 0-.71 1.715c.626 1.029-.551 2.207-1.58 1.58a1.148 1.148 0 0 0-1.715.71c-.284 1.17-1.95 1.17-2.234 0a1.15 1.15 0 0 0-1.715-.71c-1.029.626-2.207-.551-1.58-1.58a1.15 1.15 0 0 0-.71-1.715c-1.17-.284-1.17-1.95 0-2.234a1.15 1.15 0 0 0 .71-1.715c-.626-1.029.551-2.207 1.58-1.58.667.405 1.531.047 1.715-.71" }),
1801
- /* @__PURE__ */ jsx56("path", { d: "M6 8a2 2 0 1 0 4 0 2 2 0 0 0-4 0" })
1802
- ] }) });
1803
- };
1804
- var settings_default = SvgSettings;
1805
-
1806
- // src/theme/default/utils/user.ts
1807
- var getUserInitials = (session) => {
1808
- var _a, _b;
1809
- const avatar = "";
1810
- let primary = "";
1811
- let secondary = "";
1812
- if (!((_a = session == null ? void 0 : session.identity) == null ? void 0 : _a.traits)) {
1813
- return {
1814
- primary,
1815
- secondary,
1816
- avatar
1817
- };
1818
- }
1819
- const traits = (_b = session.identity) == null ? void 0 : _b.traits;
1820
- if (traits.email) {
1821
- secondary = traits.email;
1822
- }
1823
- if (traits.name) {
1824
- if (typeof traits.name === "string") {
1825
- primary = traits.name;
1826
- }
1827
- if (traits.name.first && traits.name.last) {
1828
- primary = traits.name.first + " " + traits.name.last;
1829
- }
1830
- }
1831
- if (primary === "") {
1832
- primary = secondary;
1833
- secondary = "";
1834
- }
1835
- return {
1836
- primary,
1837
- secondary,
1838
- avatar
1839
- };
1840
- };
1841
-
1842
- // src/theme/default/components/ui/dropdown-menu.tsx
1843
- import { forwardRef as forwardRef3 } from "react";
1844
- import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1845
- import { jsx as jsx57 } from "react/jsx-runtime";
1846
- var DropdownMenu = DropdownMenuPrimitive.Root;
1847
- var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1848
- var DropdownMenuContent = forwardRef3(({ className, sideOffset = 16, ...props }, ref) => /* @__PURE__ */ jsx57(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx57(
1849
- DropdownMenuPrimitive.Content,
1850
- {
1851
- ref,
1852
- sideOffset,
1853
- align: "end",
1854
- className: cn(
1855
- "z-50 min-w-[19rem] overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1856
- "border border-dialog-border-default bg-dialog-bg-default rounded-border-radius-cards",
1857
- className
1858
- ),
1859
- ...props
1860
- }
1861
- ) }));
1862
- DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1863
- var DropdownMenuItem = forwardRef3(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx57(
1864
- DropdownMenuPrimitive.Item,
1865
- {
1866
- ref,
1867
- className: cn(
1868
- "relative flex cursor-pointer select-none items-center outline-none transition-colors data-[disabled]:pointer-events-none",
1869
- "px-8 py-3 lg:py-4.5 text-sm gap-6",
1870
- "first:border-0 border-t border-button-secondary-border-default hover:border-button-social-border-hover data-[disabled]:border-button-secondary-border-disabled",
1871
- "text-button-secondary-fg-default bg-button-secondary-bg-default",
1872
- "hover:text-button-secondary-fg-hover hover:bg-button-secondary-bg-hover",
1873
- "data-[disabled]:text-button-secondary-fg-disabled data-[disabled]:bg-button-secondary-bg-disabled",
1874
- inset && "pl-8",
1875
- className
1876
- ),
1877
- ...props
1878
- }
1879
- ));
1880
- DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1881
- var DropdownMenuLabel = forwardRef3(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx57(
1882
- DropdownMenuPrimitive.Label,
1883
- {
1884
- ref,
1885
- className: cn(
1886
- "px-2 py-1.5 text-sm font-semibold",
1887
- inset && "pl-8",
1888
- className
1889
- ),
1890
- ...props
1891
- }
1892
- ));
1893
- DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1894
-
1895
- // src/theme/default/components/ui/user-avater.tsx
1896
- import { forwardRef as forwardRef4 } from "react";
1897
-
1898
- // src/theme/default/assets/icons/user.svg
1899
- import * as React30 from "react";
1900
- import { jsx as jsx58 } from "react/jsx-runtime";
1901
- var SvgUser = (props) => {
1902
- var _a, _b;
1903
- return /* @__PURE__ */ jsx58("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx58("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2M8 7a4 4 0 1 0 8 0 4 4 0 0 0-8 0" }) });
1904
- };
1905
- var user_default = SvgUser;
1906
-
1907
- // src/theme/default/components/ui/user-avater.tsx
1908
- import { jsx as jsx59 } from "react/jsx-runtime";
1909
- var UserAvatar = forwardRef4(
1910
- ({ initials, ...rest }, ref) => {
1911
- return /* @__PURE__ */ jsx59(
1912
- "button",
1913
- {
1914
- ref,
1915
- className: "size-10 relative flex overflow-hidden items-center justify-center rounded-full bg-button-primary-bg-default disabled:hover:bg-button-primary-bg-default hover:bg-button-primary-bg-hover",
1916
- ...rest,
1917
- children: /* @__PURE__ */ jsx59("div", { className: "relative size-full flex items-center justify-center", children: initials.avatar ? /* @__PURE__ */ jsx59(
1918
- "img",
1919
- {
1920
- src: initials.avatar,
1921
- alt: initials.primary,
1922
- className: "w-full object-contain"
1923
- }
1924
- ) : /* @__PURE__ */ jsx59(user_default, { size: 24, className: "text-button-primary-fg-default" }) })
1925
- }
1926
- );
1927
- }
1928
- );
1929
- UserAvatar.displayName = "UserAvatar";
1930
-
1931
- // src/theme/default/components/ui/user-menu.tsx
1932
- import { jsx as jsx60, jsxs as jsxs35 } from "react/jsx-runtime";
1933
- var UserMenu = ({ session }) => {
1934
- const { config } = useOryFlow9();
1935
- const initials = getUserInitials(session);
1936
- const [logoutFlow, setLogoutFlow] = useState2();
1937
- const fetchLogoutFlow = useCallback(async () => {
1938
- const flow = await frontendClient(config.sdk.url).createBrowserLogoutFlow();
1939
- setLogoutFlow(flow);
1940
- }, [config.sdk.url]);
1941
- useEffect(() => {
1942
- void fetchLogoutFlow();
1943
- }, [fetchLogoutFlow]);
1944
- return /* @__PURE__ */ jsxs35(DropdownMenu, { children: [
1945
- /* @__PURE__ */ jsx60(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx60(UserAvatar, { initials }) }),
1946
- /* @__PURE__ */ jsxs35(DropdownMenuContent, { children: [
1947
- /* @__PURE__ */ jsxs35(DropdownMenuLabel2, { className: "px-5 py-4.5 flex gap-3", children: [
1948
- /* @__PURE__ */ jsx60(UserAvatar, { disabled: true, initials }),
1949
- /* @__PURE__ */ jsxs35("div", { className: "flex flex-col text-sm leading-tight justify-center", children: [
1950
- /* @__PURE__ */ jsx60("div", { className: "text-dialog-fg-default", children: initials.primary }),
1951
- initials.secondary && /* @__PURE__ */ jsx60("div", { className: "text-dialog-fg-mute", children: initials.secondary })
1952
- ] })
1953
- ] }),
1954
- /* @__PURE__ */ jsx60(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs35("a", { href: "/settings", children: [
1955
- /* @__PURE__ */ jsx60(settings_default, { size: 16 }),
1956
- " User settings"
1957
- ] }) }),
1958
- /* @__PURE__ */ jsx60(DropdownMenuItem, { asChild: true, disabled: !(logoutFlow == null ? void 0 : logoutFlow.logout_url), children: /* @__PURE__ */ jsxs35("a", { href: logoutFlow == null ? void 0 : logoutFlow.logout_url, children: [
1959
- /* @__PURE__ */ jsx60(logout_default, { size: 16 }),
1960
- " Logout"
1961
- ] }) })
1962
- ] })
1963
- ] });
1964
- };
1965
-
1966
- // src/theme/default/components/generic/page-header.tsx
1967
- import { useSession } from "@ory/elements-react/client";
1968
- import { jsx as jsx61, jsxs as jsxs36 } from "react/jsx-runtime";
1969
- var DefaultPageHeader = (_props) => {
1970
- const { Card } = useComponents2();
1971
- const { session } = useSession();
1972
- return /* @__PURE__ */ jsx61("div", { className: "flex max-w-[896px] flex-col w-full gap-3 mt-16", children: /* @__PURE__ */ jsx61("div", { className: "flex flex-col gap-12", children: /* @__PURE__ */ jsxs36("div", { className: "flex gap-2 max-h-10 justify-between flex-1", children: [
1973
- /* @__PURE__ */ jsx61("div", { className: "h-10 flex-1 relative", children: /* @__PURE__ */ jsx61(Card.Logo, {}) }),
1974
- /* @__PURE__ */ jsx61(UserMenu, { session })
1975
- ] }) }) });
1976
- };
1977
-
1978
2094
  // src/theme/default/components/default-components.tsx
1979
2095
  function getOryComponents(overrides) {
1980
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea, _fa, _ga, _ha;
2096
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea, _fa;
1981
2097
  return {
1982
2098
  Card: {
1983
2099
  Root: (_b = (_a = overrides == null ? void 0 : overrides.Card) == null ? void 0 : _a.Root) != null ? _b : DefaultCard,
@@ -1994,31 +2110,30 @@ function getOryComponents(overrides) {
1994
2110
  Node: {
1995
2111
  Button: (_v = (_u = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _u.Button) != null ? _v : DefaultButton,
1996
2112
  OidcButton: (_x = (_w = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _w.OidcButton) != null ? _x : DefaultButtonSocial,
1997
- CurrentIdentifierButton: (_z = (_y = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _y.CurrentIdentifierButton) != null ? _z : DefaultCurrentIdentifierButton,
1998
- Input: (_B = (_A = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _A.Input) != null ? _B : DefaultInput,
1999
- CodeInput: (_D = (_C = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _C.CodeInput) != null ? _D : DefaultPinCodeInput,
2000
- Image: (_F = (_E = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _E.Image) != null ? _F : DefaultImage,
2001
- Label: (_H = (_G = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _G.Label) != null ? _H : DefaultLabel,
2002
- Checkbox: (_J = (_I = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _I.Checkbox) != null ? _J : DefaultCheckbox,
2003
- Text: (_L = (_K = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _K.Text) != null ? _L : DefaultText,
2004
- Anchor: (_N = (_M = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _M.Anchor) != null ? _N : DefaultLinkButton
2113
+ Input: (_z = (_y = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _y.Input) != null ? _z : DefaultInput,
2114
+ CodeInput: (_B = (_A = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _A.CodeInput) != null ? _B : DefaultPinCodeInput,
2115
+ Image: (_D = (_C = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _C.Image) != null ? _D : DefaultImage,
2116
+ Label: (_F = (_E = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _E.Label) != null ? _F : DefaultLabel,
2117
+ Checkbox: (_H = (_G = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _G.Checkbox) != null ? _H : DefaultCheckbox,
2118
+ Text: (_J = (_I = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _I.Text) != null ? _J : DefaultText,
2119
+ Anchor: (_L = (_K = overrides == null ? void 0 : overrides.Node) == null ? void 0 : _K.Anchor) != null ? _L : DefaultLinkButton
2005
2120
  },
2006
2121
  Form: {
2007
- Root: (_P = (_O = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _O.Root) != null ? _P : DefaultFormContainer,
2008
- Group: (_R = (_Q = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _Q.Group) != null ? _R : DefaultGroupContainer,
2009
- OidcRoot: (_T = (_S = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _S.OidcRoot) != null ? _T : DefaultSocialButtonContainer,
2010
- RecoveryCodesSettings: (_V = (_U = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _U.RecoveryCodesSettings) != null ? _V : DefaultSettingsRecoveryCodes,
2011
- TotpSettings: (_X = (_W = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _W.TotpSettings) != null ? _X : DefaultSettingsTotp,
2012
- OidcSettings: (_Z = (_Y = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _Y.OidcSettings) != null ? _Z : DefaultSettingsOidc,
2013
- WebauthnSettings: (_$ = (__ = overrides == null ? void 0 : overrides.Form) == null ? void 0 : __.WebauthnSettings) != null ? _$ : DefaultSettingsWebauthn,
2014
- PasskeySettings: (_ba = (_aa = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _aa.PasskeySettings) != null ? _ba : DefaultSettingsPasskey
2122
+ Root: (_N = (_M = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _M.Root) != null ? _N : DefaultFormContainer,
2123
+ Group: (_P = (_O = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _O.Group) != null ? _P : DefaultGroupContainer,
2124
+ OidcRoot: (_R = (_Q = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _Q.OidcRoot) != null ? _R : DefaultSocialButtonContainer,
2125
+ RecoveryCodesSettings: (_T = (_S = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _S.RecoveryCodesSettings) != null ? _T : DefaultSettingsRecoveryCodes,
2126
+ TotpSettings: (_V = (_U = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _U.TotpSettings) != null ? _V : DefaultSettingsTotp,
2127
+ OidcSettings: (_X = (_W = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _W.OidcSettings) != null ? _X : DefaultSettingsOidc,
2128
+ WebauthnSettings: (_Z = (_Y = overrides == null ? void 0 : overrides.Form) == null ? void 0 : _Y.WebauthnSettings) != null ? _Z : DefaultSettingsWebauthn,
2129
+ PasskeySettings: (_$ = (__ = overrides == null ? void 0 : overrides.Form) == null ? void 0 : __.PasskeySettings) != null ? _$ : DefaultSettingsPasskey
2015
2130
  },
2016
2131
  Message: {
2017
- Root: (_da = (_ca = overrides == null ? void 0 : overrides.Message) == null ? void 0 : _ca.Root) != null ? _da : DefaultMessageContainer,
2018
- Content: (_fa = (_ea = overrides == null ? void 0 : overrides.Message) == null ? void 0 : _ea.Content) != null ? _fa : DefaultMessage
2132
+ Root: (_ba = (_aa = overrides == null ? void 0 : overrides.Message) == null ? void 0 : _aa.Root) != null ? _ba : DefaultMessageContainer,
2133
+ Content: (_da = (_ca = overrides == null ? void 0 : overrides.Message) == null ? void 0 : _ca.Content) != null ? _da : DefaultMessage
2019
2134
  },
2020
2135
  Page: {
2021
- Header: (_ha = (_ga = overrides == null ? void 0 : overrides.Page) == null ? void 0 : _ga.Header) != null ? _ha : DefaultPageHeader
2136
+ Header: (_fa = (_ea = overrides == null ? void 0 : overrides.Page) == null ? void 0 : _ea.Header) != null ? _fa : DefaultPageHeader
2022
2137
  }
2023
2138
  };
2024
2139
  }
@@ -2033,7 +2148,7 @@ function Error({
2033
2148
  }
2034
2149
 
2035
2150
  // src/theme/default/flows/login.tsx
2036
- import { FlowType as FlowType7 } from "@ory/client-fetch";
2151
+ import { FlowType as FlowType8 } from "@ory/client-fetch";
2037
2152
  import {
2038
2153
  OryProvider,
2039
2154
  OryTwoStepCard
@@ -2051,7 +2166,7 @@ function Login({
2051
2166
  {
2052
2167
  config,
2053
2168
  flow,
2054
- flowType: FlowType7.Login,
2169
+ flowType: FlowType8.Login,
2055
2170
  components,
2056
2171
  children: children != null ? children : /* @__PURE__ */ jsx63(OryTwoStepCard, {})
2057
2172
  }
@@ -2059,7 +2174,7 @@ function Login({
2059
2174
  }
2060
2175
 
2061
2176
  // src/theme/default/flows/recovery.tsx
2062
- import { FlowType as FlowType8 } from "@ory/client-fetch";
2177
+ import { FlowType as FlowType9 } from "@ory/client-fetch";
2063
2178
  import {
2064
2179
  OryProvider as OryProvider2,
2065
2180
  OryTwoStepCard as OryTwoStepCard2
@@ -2077,7 +2192,7 @@ function Recovery({
2077
2192
  {
2078
2193
  config,
2079
2194
  flow,
2080
- flowType: FlowType8.Recovery,
2195
+ flowType: FlowType9.Recovery,
2081
2196
  components,
2082
2197
  children: children != null ? children : /* @__PURE__ */ jsx64(OryTwoStepCard2, {})
2083
2198
  }
@@ -2085,7 +2200,7 @@ function Recovery({
2085
2200
  }
2086
2201
 
2087
2202
  // src/theme/default/flows/registration.tsx
2088
- import { FlowType as FlowType9 } from "@ory/client-fetch";
2203
+ import { FlowType as FlowType10 } from "@ory/client-fetch";
2089
2204
  import {
2090
2205
  OryProvider as OryProvider3,
2091
2206
  OryTwoStepCard as OryTwoStepCard3
@@ -2103,7 +2218,7 @@ function Registration({
2103
2218
  {
2104
2219
  config,
2105
2220
  flow,
2106
- flowType: FlowType9.Registration,
2221
+ flowType: FlowType10.Registration,
2107
2222
  components,
2108
2223
  children: children != null ? children : /* @__PURE__ */ jsx65(OryTwoStepCard3, {})
2109
2224
  }
@@ -2111,13 +2226,13 @@ function Registration({
2111
2226
  }
2112
2227
 
2113
2228
  // src/theme/default/flows/settings.tsx
2114
- import { FlowType as FlowType10 } from "@ory/client-fetch";
2229
+ import { FlowType as FlowType11 } from "@ory/client-fetch";
2115
2230
  import {
2116
2231
  HeadlessPageHeader,
2117
2232
  OryProvider as OryProvider4,
2118
2233
  OrySettingsCard
2119
2234
  } from "@ory/elements-react";
2120
- import { Fragment as Fragment3, jsx as jsx66, jsxs as jsxs37 } from "react/jsx-runtime";
2235
+ import { Fragment as Fragment4, jsx as jsx66, jsxs as jsxs37 } from "react/jsx-runtime";
2121
2236
  function Settings({
2122
2237
  flow,
2123
2238
  config,
@@ -2130,9 +2245,9 @@ function Settings({
2130
2245
  {
2131
2246
  config,
2132
2247
  flow,
2133
- flowType: FlowType10.Settings,
2248
+ flowType: FlowType11.Settings,
2134
2249
  components,
2135
- children: children != null ? children : /* @__PURE__ */ jsxs37(Fragment3, { children: [
2250
+ children: children != null ? children : /* @__PURE__ */ jsxs37(Fragment4, { children: [
2136
2251
  /* @__PURE__ */ jsx66(HeadlessPageHeader, {}),
2137
2252
  /* @__PURE__ */ jsx66(OrySettingsCard, {})
2138
2253
  ] })
@@ -2141,7 +2256,7 @@ function Settings({
2141
2256
  }
2142
2257
 
2143
2258
  // src/theme/default/flows/verification.tsx
2144
- import { FlowType as FlowType11 } from "@ory/client-fetch";
2259
+ import { FlowType as FlowType12 } from "@ory/client-fetch";
2145
2260
  import {
2146
2261
  OryProvider as OryProvider5,
2147
2262
  OryTwoStepCard as OryTwoStepCard4
@@ -2159,7 +2274,7 @@ function Verification({
2159
2274
  {
2160
2275
  config,
2161
2276
  flow,
2162
- flowType: FlowType11.Verification,
2277
+ flowType: FlowType12.Verification,
2163
2278
  components,
2164
2279
  children: children != null ? children : /* @__PURE__ */ jsx67(OryTwoStepCard4, {})
2165
2280
  }
@@ -2171,6 +2286,7 @@ export {
2171
2286
  DefaultCardFooter,
2172
2287
  DefaultCardHeader,
2173
2288
  DefaultCardLogo,
2289
+ DefaultCurrentIdentifierButton,
2174
2290
  DefaultFormContainer,
2175
2291
  DefaultMessage,
2176
2292
  DefaultMessageContainer,