@ory/elements-react 1.0.0-next.11 → 1.0.0-next.12

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.
@@ -317,19 +317,13 @@ function DefaultCardLogo() {
317
317
  if (flow.config.logoUrl) {
318
318
  return /* @__PURE__ */ jsx6("img", { src: flow.config.logoUrl, width: 100, height: 36, alt: "Logo" });
319
319
  }
320
- return /* @__PURE__ */ jsx6(
321
- "h1",
322
- {
323
- className: "text-xl font-semibold leading-normal text-dialog-fg-default",
324
- children: flow.config.name
325
- }
326
- );
320
+ return /* @__PURE__ */ jsx6("h1", { className: "text-xl font-semibold leading-normal text-dialog-fg-default", children: flow.config.name });
327
321
  }
328
322
 
329
323
  // src/theme/default/components/card/index.tsx
330
324
  import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
331
325
  function DefaultCard({ children }) {
332
- return /* @__PURE__ */ jsx7("div", { className: "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: [
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: [
333
327
  children,
334
328
  /* @__PURE__ */ jsx7(Badge, {})
335
329
  ] }) });
@@ -344,7 +338,11 @@ function cn(...inputs) {
344
338
 
345
339
  // src/theme/default/components/form/index.tsx
346
340
  import { useIntl as useIntl3 } from "react-intl";
347
- import { uiTextToFormattedMessage } from "@ory/elements-react";
341
+ import {
342
+ uiTextToFormattedMessage,
343
+ useOryFlow as useOryFlow4
344
+ } from "@ory/elements-react";
345
+ import { FlowType as FlowType3 } from "@ory/client-fetch";
348
346
  import { jsx as jsx8 } from "react/jsx-runtime";
349
347
  function DefaultFormContainer({
350
348
  children,
@@ -365,10 +363,19 @@ function DefaultFormContainer({
365
363
  );
366
364
  }
367
365
  function DefaultMessageContainer({ children }) {
366
+ const { flowType } = useOryFlow4();
368
367
  if (!children || Array.isArray(children) && children.length === 0) {
369
368
  return null;
370
369
  }
371
- return /* @__PURE__ */ jsx8("section", { className: "text-left", children });
370
+ return /* @__PURE__ */ jsx8(
371
+ "section",
372
+ {
373
+ className: cn(
374
+ flowType === FlowType3.Settings ? "text-center" : "text-left"
375
+ ),
376
+ children
377
+ }
378
+ );
372
379
  }
373
380
  function DefaultMessage({ message }) {
374
381
  const intl = useIntl3();
@@ -424,6 +431,11 @@ var SvgWebauthn = (props) => {
424
431
  };
425
432
  var webauthn_default = SvgWebauthn;
426
433
 
434
+ // src/theme/default/utils/form.ts
435
+ function isGroupImmediateSubmit(group) {
436
+ return group === "code";
437
+ }
438
+
427
439
  // src/theme/default/components/card/auth-methods.tsx
428
440
  import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
429
441
  var iconsMap = {
@@ -441,8 +453,9 @@ function DefaultAuthMethodListItem({
441
453
  return /* @__PURE__ */ jsx13("div", { className: "w-full hover:bg-forms-bg-hover px-2 py-1 rounded", children: /* @__PURE__ */ jsxs7(
442
454
  "button",
443
455
  {
444
- className: "flex text-left py-2 gap-3 cursor-pointer ",
456
+ className: "flex text-left py-2 gap-3 cursor-pointer",
445
457
  onClick,
458
+ type: isGroupImmediateSubmit(group) ? "submit" : "button",
446
459
  children: [
447
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" }) }),
448
461
  /* @__PURE__ */ jsxs7("div", { className: "flex-1 text-sm leading-normal", children: [
@@ -455,7 +468,7 @@ function DefaultAuthMethodListItem({
455
468
  }
456
469
 
457
470
  // src/theme/default/components/form/button.tsx
458
- import { getNodeLabel } from "@ory/client-fetch";
471
+ import { FlowType as FlowType4, getNodeLabel } from "@ory/client-fetch";
459
472
  import {
460
473
  uiTextToFormattedMessage as uiTextToFormattedMessage2
461
474
  } from "@ory/elements-react";
@@ -471,7 +484,7 @@ function Spinner({ className }) {
471
484
  "aria-hidden": "true",
472
485
  role: "status",
473
486
  className: cn(
474
- "absolute inset-0 mx-auto my-auto w-8 h-8 text-branding-fg-default animate-spin text-button-primary-fg-default",
487
+ "absolute pointer-events-none inset-0 mx-auto my-auto w-8 h-8 animate-spin",
475
488
  className
476
489
  ),
477
490
  viewBox: "0 0 34 34",
@@ -502,12 +515,50 @@ function Spinner({ className }) {
502
515
  }
503
516
 
504
517
  // src/theme/default/components/form/button.tsx
518
+ import { useOryFlow as useOryFlow5 } from "@ory/elements-react";
519
+ import { cva } from "class-variance-authority";
505
520
  import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
521
+ var buttonStyles = cva(
522
+ [
523
+ "ring-1 relative overflow-hidden ring-inset rounded text-sm leading-none flex gap-3 justify-center",
524
+ "disabled:cursor-not-allowed loading:before:pointer-events-none loading:cursor-wait",
525
+ "transition-colors ease-linear duration-100"
526
+ ],
527
+ {
528
+ variants: {
529
+ intent: {
530
+ primary: [
531
+ "bg-button-primary-bg-default text-button-primary-fg-default ring-button-primary-border-default",
532
+ "hover:bg-button-primary-bg-hover hover:text-button-primary-fg-hover hover:ring-button-primary-border-hover",
533
+ "disabled:bg-button-primary-bg-disabled disabled:text-button-primary-fg-disabled disabled:ring-button-primary-border-disabled",
534
+ "loading:bg-button-primary-bg-default loading:text-button-primary-fg-default loading:ring-button-primary-border-default",
535
+ "loading:before:absolute loading:before:content-[''] loading:before:inset-0 loading:before:bg-button-primary-bg-default loading:before:opacity-80"
536
+ ],
537
+ secondary: [
538
+ "bg-button-secondary-bg-default text-button-secondary-fg-default ring-button-secondary-border-default",
539
+ "hover:bg-button-secondary-bg-hover hover:text-button-secondary-fg-hover hover:ring-button-secondary-border-hover",
540
+ "disabled:bg-button-secondary-bg-disabled disabled:text-button-secondary-fg-disabled disabled:ring-button-secondary-border-disabled",
541
+ "loading:bg-button-secondary-bg-default loading:text-button-secondary-fg-default loading:ring-button-secondary-border-default",
542
+ "loading:before:absolute loading:before:content-[''] loading:before:inset-0 loading:before:bg-button-secondary-bg-default loading:before:opacity-80"
543
+ ]
544
+ },
545
+ size: {
546
+ default: ["px-4 py-3"],
547
+ large: ["px-4 py-4.5 max-md:py-3"]
548
+ },
549
+ defaultVariants: {
550
+ intent: "primary",
551
+ size: "default"
552
+ }
553
+ }
554
+ }
555
+ );
506
556
  var DefaultButton = ({
507
557
  attributes,
508
558
  node,
509
559
  onClick
510
560
  }) => {
561
+ var _a;
511
562
  const {
512
563
  type,
513
564
  name,
@@ -521,11 +572,13 @@ var DefaultButton = ({
521
572
  } = attributes;
522
573
  const intl = useIntl5();
523
574
  const label = getNodeLabel(node);
575
+ const { flowType } = useOryFlow5();
524
576
  const {
525
577
  formState: { isSubmitting },
526
578
  setValue
527
579
  } = useFormContext();
528
- const isPrimary = attributes.name === "method" || attributes.name.includes("passkey") || attributes.name.includes("webauthn");
580
+ 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";
529
582
  return /* @__PURE__ */ jsxs9(
530
583
  "button",
531
584
  {
@@ -537,38 +590,20 @@ var DefaultButton = ({
537
590
  setValue(name, value);
538
591
  },
539
592
  onClick: (e) => {
540
- if (onClick) {
541
- onClick(e);
542
- }
593
+ onClick == null ? void 0 : onClick(e);
543
594
  if (type !== "button") {
544
595
  setValue(name, value);
545
596
  }
546
597
  },
547
- className: cn(
548
- "antialiased rounded-border-radius-buttons border border-transparent gap-3 bg-button-primary-bg-default hover:bg-button-primary-bg-hover transition-colors text-button-primary-fg-default hover:text-button-primary-fg-hover px-4 py-3 md:py-4.5 text-sm leading-none font-medium",
549
- {
550
- "cursor-not-allowed": isSubmitting,
551
- "bg-button-primary-bg-hover": isSubmitting,
552
- "bg-button-primary-bg-default hover:bg-button-primary-bg-hover text-button-primary-fg-default hover:text-button-primary-fg-hover": isPrimary,
553
- "bg-button-secondary-bg-default hover:bg-button-secondary-bg-hover text-button-secondary-fg-default hover:text-button-secondary-fg-hover border-button-secondary-border-default": !isPrimary
554
- },
555
- {}
556
- ),
598
+ className: buttonStyles({
599
+ intent: isPrimary ? "primary" : "secondary",
600
+ size: isSmall ? "default" : "large"
601
+ }),
602
+ disabled: (_a = rest.disabled) != null ? _a : true,
603
+ "data-loading": isSubmitting,
557
604
  children: [
558
605
  isSubmitting ? /* @__PURE__ */ jsx15(Spinner, {}) : null,
559
- /* @__PURE__ */ jsx15(
560
- "span",
561
- {
562
- className: cn(
563
- "transition-colors ease-linear duration-100 leading-none text-button-primary-fg-default/20",
564
- {
565
- "text-button-primary-fg-default opacity-20 transition-opacity": isSubmitting && isPrimary,
566
- "text-button-secondary-fg-default/20": isSubmitting && !isPrimary
567
- }
568
- ),
569
- children: label ? uiTextToFormattedMessage2(label, intl) : ""
570
- }
571
- )
606
+ label ? uiTextToFormattedMessage2(label, intl) : ""
572
607
  ]
573
608
  }
574
609
  );
@@ -579,12 +614,110 @@ DefaultButton.displayName = "DefaultButton";
579
614
  import { getNodeLabel as getNodeLabel2 } from "@ory/client-fetch";
580
615
  import {
581
616
  messageTestId,
582
- uiTextToFormattedMessage as uiTextToFormattedMessage3
617
+ uiTextToFormattedMessage as uiTextToFormattedMessage4
583
618
  } from "@ory/elements-react";
584
619
  import { useState } from "react";
585
620
  import { useForm } from "react-hook-form";
621
+ import { useIntl as useIntl7 } from "react-intl";
622
+
623
+ // src/theme/default/components/ui/checkbox-label.tsx
586
624
  import { useIntl as useIntl6 } from "react-intl";
587
- import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
625
+
626
+ // src/util/i18n/index.ts
627
+ var uiTextToFormattedMessage3 = ({ id, context = {}, text }, intl) => {
628
+ const contextInjectedMessage = Object.entries(context).reduce(
629
+ (accumulator, [key, value]) => {
630
+ if (Array.isArray(value)) {
631
+ return {
632
+ ...accumulator,
633
+ [key]: value,
634
+ [key + "_list"]: intl.formatList(value)
635
+ };
636
+ } else if (key.endsWith("_unix")) {
637
+ if (typeof value === "number") {
638
+ return {
639
+ ...accumulator,
640
+ [key]: intl.formatDate(new Date(value * 1e3)),
641
+ [key + "_since"]: intl.formatDateTimeRange(
642
+ new Date(value),
643
+ /* @__PURE__ */ new Date()
644
+ ),
645
+ [key + "_since_minutes"]: Math.abs(
646
+ (value - (/* @__PURE__ */ new Date()).getTime() / 1e3) / 60
647
+ ).toFixed(2),
648
+ [key + "_until"]: intl.formatDateTimeRange(
649
+ /* @__PURE__ */ new Date(),
650
+ new Date(value)
651
+ ),
652
+ [key + "_until_minutes"]: Math.abs(
653
+ ((/* @__PURE__ */ new Date()).getTime() / 1e3 - value) / 60
654
+ ).toFixed(2)
655
+ };
656
+ }
657
+ }
658
+ return {
659
+ ...accumulator,
660
+ [key]: value
661
+ };
662
+ },
663
+ {}
664
+ );
665
+ return intl.formatMessage(
666
+ {
667
+ id: `identities.messages.${id}`,
668
+ defaultMessage: text
669
+ },
670
+ contextInjectedMessage
671
+ );
672
+ };
673
+
674
+ // src/theme/default/components/ui/checkbox-label.tsx
675
+ import { Fragment, jsx as jsx16 } from "react/jsx-runtime";
676
+ var linkRegex = /\[([^\]]+)\]\(([^)]+)\)/g;
677
+ function computeLabelElements(labelText) {
678
+ const elements = [];
679
+ let lastIndex = 0;
680
+ for (const match of labelText.matchAll(linkRegex)) {
681
+ const linkText = match[1];
682
+ const url = match[2];
683
+ const matchStart = match.index;
684
+ if (typeof matchStart === "undefined") {
685
+ continue;
686
+ }
687
+ if (matchStart > lastIndex) {
688
+ elements.push(labelText.slice(lastIndex, matchStart));
689
+ }
690
+ elements.push(
691
+ /* @__PURE__ */ jsx16(
692
+ "a",
693
+ {
694
+ href: url,
695
+ target: "_blank",
696
+ rel: "noopener noreferrer",
697
+ className: "text-links-link-default hover:text-links-link-hover hover:underline",
698
+ children: linkText
699
+ },
700
+ matchStart
701
+ )
702
+ );
703
+ lastIndex = matchStart + match[0].length;
704
+ }
705
+ if (lastIndex < labelText.length) {
706
+ elements.push(labelText.slice(lastIndex));
707
+ }
708
+ return elements;
709
+ }
710
+ function CheckboxLabel({ label }) {
711
+ const intl = useIntl6();
712
+ if (!label) {
713
+ return null;
714
+ }
715
+ const labelText = uiTextToFormattedMessage3(label, intl);
716
+ return /* @__PURE__ */ jsx16(Fragment, { children: computeLabelElements(labelText) });
717
+ }
718
+
719
+ // src/theme/default/components/form/checkbox.tsx
720
+ import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
588
721
  function CheckboxSVG() {
589
722
  return /* @__PURE__ */ jsxs10(
590
723
  "svg",
@@ -596,14 +729,14 @@ function CheckboxSVG() {
596
729
  viewBox: "0 0 16 16",
597
730
  fill: "none",
598
731
  children: [
599
- /* @__PURE__ */ jsx16(
732
+ /* @__PURE__ */ jsx17(
600
733
  "path",
601
734
  {
602
735
  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",
603
736
  fill: "#0F172A"
604
737
  }
605
738
  ),
606
- /* @__PURE__ */ jsx16(
739
+ /* @__PURE__ */ jsx17(
607
740
  "path",
608
741
  {
609
742
  fillRule: "evenodd",
@@ -626,10 +759,11 @@ var DefaultCheckbox = ({
626
759
  // Button does not support these attributes, so we skip them
627
760
  autocomplete: _autocomplete,
628
761
  onclick: _onclick,
762
+ maxlength: _max,
629
763
  // End of skipped attributes
630
764
  ...attributes
631
765
  } = initialAttributes;
632
- const intl = useIntl6();
766
+ const intl = useIntl7();
633
767
  const label = getNodeLabel2(node);
634
768
  const [checked, setChecked] = useState(Boolean(value));
635
769
  const { register } = useForm();
@@ -642,7 +776,7 @@ var DefaultCheckbox = ({
642
776
  },
643
777
  children: [
644
778
  /* @__PURE__ */ jsxs10("div", { className: "flex h-5 items-center", children: [
645
- /* @__PURE__ */ jsx16(
779
+ /* @__PURE__ */ jsx17(
646
780
  "input",
647
781
  {
648
782
  ...attributes,
@@ -657,16 +791,16 @@ var DefaultCheckbox = ({
657
791
  ...register(name, { value })
658
792
  }
659
793
  ),
660
- /* @__PURE__ */ jsx16(CheckboxSVG, {})
794
+ /* @__PURE__ */ jsx17(CheckboxSVG, {})
661
795
  ] }),
662
796
  /* @__PURE__ */ jsxs10("div", { className: "text-sm items-center", children: [
663
- /* @__PURE__ */ jsx16("label", { className: "text-sm font-normal leading-normal text-forms-fg-default", children: label && uiTextToFormattedMessage3(label, intl) }),
664
- node.messages.map((message) => /* @__PURE__ */ jsx16(
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(
665
799
  "span",
666
800
  {
667
801
  className: "text-sm text-red-900 mt-1",
668
802
  ...messageTestId(message),
669
- children: uiTextToFormattedMessage3(message, intl)
803
+ children: uiTextToFormattedMessage4(message, intl)
670
804
  },
671
805
  message.id
672
806
  ))
@@ -677,31 +811,31 @@ var DefaultCheckbox = ({
677
811
  };
678
812
 
679
813
  // src/theme/default/components/form/group-container.tsx
680
- import { jsx as jsx17 } from "react/jsx-runtime";
814
+ import { jsx as jsx18 } from "react/jsx-runtime";
681
815
  function DefaultGroupContainer({ children }) {
682
- return /* @__PURE__ */ jsx17("div", { className: "grid grid-cols-1 gap-6", children });
816
+ return /* @__PURE__ */ jsx18("div", { className: "grid grid-cols-1 gap-6", children });
683
817
  }
684
818
 
685
819
  // src/theme/default/components/form/horizontal-divider.tsx
686
- import { jsx as jsx18 } from "react/jsx-runtime";
820
+ import { jsx as jsx19 } from "react/jsx-runtime";
687
821
  function DefaultHorizontalDivider() {
688
- return /* @__PURE__ */ jsx18("hr", { className: "border-dialog-border-default" });
822
+ return /* @__PURE__ */ jsx19("hr", { className: "border-dialog-border-default" });
689
823
  }
690
824
 
691
825
  // src/theme/default/components/form/image.tsx
692
- import { jsx as jsx19 } from "react/jsx-runtime";
826
+ import { jsx as jsx20 } from "react/jsx-runtime";
693
827
  function DefaultImage({ attributes }) {
694
- return /* @__PURE__ */ jsx19("figure", { children: /* @__PURE__ */ jsx19("img", { ...attributes }) });
828
+ return /* @__PURE__ */ jsx20("figure", { children: /* @__PURE__ */ jsx20("img", { ...attributes }) });
695
829
  }
696
830
 
697
831
  // src/theme/default/components/form/input.tsx
698
832
  import { getNodeLabel as getNodeLabel3 } from "@ory/client-fetch";
699
833
  import {
700
- uiTextToFormattedMessage as uiTextToFormattedMessage4
834
+ uiTextToFormattedMessage as uiTextToFormattedMessage5
701
835
  } from "@ory/elements-react";
702
836
  import { useFormContext as useFormContext2 } from "react-hook-form";
703
- import { useIntl as useIntl7 } from "react-intl";
704
- import { jsx as jsx20 } from "react/jsx-runtime";
837
+ import { useIntl as useIntl8 } from "react-intl";
838
+ import { jsx as jsx21 } from "react/jsx-runtime";
705
839
  var DefaultInput = ({
706
840
  node,
707
841
  attributes,
@@ -710,17 +844,17 @@ var DefaultInput = ({
710
844
  const label = getNodeLabel3(node);
711
845
  const { register } = useFormContext2();
712
846
  const { value, autocomplete, name, maxlength, ...rest } = attributes;
713
- const intl = useIntl7();
847
+ const intl = useIntl8();
714
848
  const formattedLabel = label ? intl.formatMessage(
715
849
  {
716
850
  id: "input.placeholder",
717
851
  defaultMessage: "Enter your {placeholder}"
718
852
  },
719
853
  {
720
- placeholder: uiTextToFormattedMessage4(label, intl)
854
+ placeholder: uiTextToFormattedMessage5(label, intl)
721
855
  }
722
856
  ) : "";
723
- return /* @__PURE__ */ jsx20(
857
+ return /* @__PURE__ */ jsx21(
724
858
  "input",
725
859
  {
726
860
  ...rest,
@@ -728,46 +862,46 @@ var DefaultInput = ({
728
862
  maxLength: maxlength,
729
863
  autoComplete: autocomplete,
730
864
  placeholder: formattedLabel,
731
- className: "antialiased bg-forms-bg-default rounded-border-radius-forms border px-3 py-2.5 md:px-4 md:py-4 border-forms-border-default leading-tight hover:border-forms-border-hover transition-colors text-sm",
865
+ className: "antialiased disabled:text-forms-fg-disabled disabled:bg-forms-bg-disabled bg-forms-bg-default rounded-border-radius-forms border px-3 py-2.5 md:px-4 md:py-4 border-forms-border-default leading-tight hover:border-forms-border-hover transition-colors text-sm",
732
866
  ...register(name, { value })
733
867
  }
734
868
  );
735
869
  };
736
870
 
737
871
  // src/theme/default/components/form/label.tsx
738
- import { FlowType as FlowType3, getNodeLabel as getNodeLabel4 } from "@ory/client-fetch";
872
+ import { FlowType as FlowType5, getNodeLabel as getNodeLabel4 } from "@ory/client-fetch";
739
873
  import {
740
874
  messageTestId as messageTestId2,
741
- uiTextToFormattedMessage as uiTextToFormattedMessage5,
742
- useOryFlow as useOryFlow4
875
+ uiTextToFormattedMessage as uiTextToFormattedMessage6,
876
+ useOryFlow as useOryFlow6
743
877
  } from "@ory/elements-react";
744
- import { useIntl as useIntl8 } from "react-intl";
745
- import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
878
+ import { useIntl as useIntl9 } from "react-intl";
879
+ import { jsx as jsx22, jsxs as jsxs11 } from "react/jsx-runtime";
746
880
  function DefaultLabel({
747
881
  node,
748
882
  children,
749
883
  attributes,
750
884
  ...rest
751
885
  }) {
752
- const intl = useIntl8();
886
+ const intl = useIntl9();
753
887
  const label = getNodeLabel4(node);
754
- const { config, flowType } = useOryFlow4();
888
+ const { config, flowType } = useOryFlow6();
755
889
  const isPassword = attributes.type === "password";
756
890
  const isCode = attributes.name === "code";
757
891
  return /* @__PURE__ */ jsxs11("span", { className: "flex flex-col antialiased gap-1", children: [
758
892
  label && /* @__PURE__ */ jsxs11("span", { className: "inline-flex justify-between", children: [
759
- /* @__PURE__ */ jsx21(
893
+ /* @__PURE__ */ jsx22(
760
894
  "label",
761
895
  {
762
896
  ...messageTestId2(label),
763
897
  className: "text-sm font-medium leading-normal",
764
898
  htmlFor: attributes.name,
765
899
  ...rest,
766
- children: uiTextToFormattedMessage5(label, intl)
900
+ children: uiTextToFormattedMessage6(label, intl)
767
901
  }
768
902
  ),
769
- isPassword && config.project.recovery_enabled && flowType === FlowType3.Login && // TODO: make it possible to override with a custom component
770
- /* @__PURE__ */ jsx21(
903
+ isPassword && config.project.recovery_enabled && flowType === FlowType5.Login && // TODO: make it possible to override with a custom component
904
+ /* @__PURE__ */ jsx22(
771
905
  "a",
772
906
  {
773
907
  href: config.project.recovery_ui_url,
@@ -778,17 +912,19 @@ function DefaultLabel({
778
912
  })
779
913
  }
780
914
  ),
781
- isCode && /* @__PURE__ */ jsx21(
782
- "input",
915
+ isCode && /* @__PURE__ */ jsx22(
916
+ "button",
783
917
  {
784
918
  type: "submit",
785
- value: "Resend Code",
786
- className: "text-links-link-default hover:underline hover:text-link-hover transition-colors text-sm font-medium cursor-pointer"
919
+ name: "method",
920
+ value: "code",
921
+ className: "text-links-link-default hover:underline hover:text-link-hover transition-colors text-sm font-medium cursor-pointer",
922
+ children: intl.formatMessage({ id: "identities.messages.1070008" })
787
923
  }
788
924
  )
789
925
  ] }),
790
926
  children,
791
- node.messages.map((message) => /* @__PURE__ */ jsx21(
927
+ node.messages.map((message) => /* @__PURE__ */ jsx22(
792
928
  "span",
793
929
  {
794
930
  className: cn("text-sm leading-normal", {
@@ -797,7 +933,7 @@ function DefaultLabel({
797
933
  "text-forms-fg-success": message.type === "success"
798
934
  }),
799
935
  ...messageTestId2(message),
800
- children: uiTextToFormattedMessage5(message, intl)
936
+ children: uiTextToFormattedMessage6(message, intl)
801
937
  },
802
938
  message.id
803
939
  ))
@@ -807,24 +943,24 @@ function DefaultLabel({
807
943
  // src/theme/default/components/form/link-button.tsx
808
944
  import { getNodeLabel as getNodeLabel5 } from "@ory/client-fetch";
809
945
  import {
810
- uiTextToFormattedMessage as uiTextToFormattedMessage6
946
+ uiTextToFormattedMessage as uiTextToFormattedMessage7
811
947
  } from "@ory/elements-react";
812
948
  import { forwardRef } from "react";
813
- import { useIntl as useIntl9 } from "react-intl";
814
- import { jsx as jsx22 } from "react/jsx-runtime";
949
+ import { useIntl as useIntl10 } from "react-intl";
950
+ import { jsx as jsx23 } from "react/jsx-runtime";
815
951
  var DefaultLinkButton = forwardRef(({ attributes, node }, ref) => {
816
- const intl = useIntl9();
952
+ const intl = useIntl10();
817
953
  const label = getNodeLabel5(node);
818
- return /* @__PURE__ */ jsx22(
954
+ return /* @__PURE__ */ jsx23(
819
955
  "a",
820
956
  {
821
957
  ...attributes,
822
958
  ref,
823
- title: label ? uiTextToFormattedMessage6(label, intl) : "",
959
+ title: label ? uiTextToFormattedMessage7(label, intl) : "",
824
960
  className: cn(
825
961
  "antialiased rounded cursor-pointer text-center border border-transparent gap-3 leading-none bg-button-primary-bg-default hover:bg-button-primary-bg-hover transition-colors text-button-primary-fg-default hover:text-button-primary-fg-hover px-4 py-4.5 text-sm font-medium"
826
962
  ),
827
- children: label ? uiTextToFormattedMessage6(label, intl) : ""
963
+ children: label ? uiTextToFormattedMessage7(label, intl) : ""
828
964
  }
829
965
  );
830
966
  });
@@ -836,8 +972,8 @@ import { useFormContext as useFormContext3 } from "react-hook-form";
836
972
  // src/theme/default/components/form/shadcn/otp-input.tsx
837
973
  import { OTPInput, OTPInputContext } from "input-otp";
838
974
  import * as React7 from "react";
839
- import { jsx as jsx23, jsxs as jsxs12 } from "react/jsx-runtime";
840
- var InputOTP = React7.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx23(
975
+ import { jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
976
+ var InputOTP = React7.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx24(
841
977
  OTPInput,
842
978
  {
843
979
  ref,
@@ -850,7 +986,7 @@ var InputOTP = React7.forwardRef(({ className, containerClassName, ...props }, r
850
986
  }
851
987
  ));
852
988
  InputOTP.displayName = "InputOTP";
853
- var InputOTPGroup = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23("div", { ref, className: cn("flex items-center", className), ...props }));
989
+ var InputOTPGroup = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24("div", { ref, className: cn("flex items-center", className), ...props }));
854
990
  InputOTPGroup.displayName = "InputOTPGroup";
855
991
  var InputOTPSlot = React7.forwardRef(({ index, className, ...props }, ref) => {
856
992
  const inputOTPContext = React7.useContext(OTPInputContext);
@@ -867,7 +1003,7 @@ var InputOTPSlot = React7.forwardRef(({ index, className, ...props }, ref) => {
867
1003
  ...props,
868
1004
  children: [
869
1005
  char,
870
- hasFakeCaret && /* @__PURE__ */ jsx23("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx23("div", { className: "h-4 w-px animate-caret-blink bg-branding-bg-default duration-750" }) })
1006
+ 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" }) })
871
1007
  ]
872
1008
  }
873
1009
  );
@@ -875,7 +1011,7 @@ var InputOTPSlot = React7.forwardRef(({ index, className, ...props }, ref) => {
875
1011
  InputOTPSlot.displayName = "InputOTPSlot";
876
1012
 
877
1013
  // src/theme/default/components/form/pin-code-input.tsx
878
- import { jsx as jsx24 } from "react/jsx-runtime";
1014
+ import { jsx as jsx25 } from "react/jsx-runtime";
879
1015
  var DefaultPinCodeInput = ({ attributes }) => {
880
1016
  const { setValue, watch } = useFormContext3();
881
1017
  const { maxlength, name } = attributes;
@@ -884,195 +1020,189 @@ var DefaultPinCodeInput = ({ attributes }) => {
884
1020
  setValue(name, v);
885
1021
  };
886
1022
  const value = watch(name);
887
- return /* @__PURE__ */ jsx24(
888
- "div",
1023
+ return /* @__PURE__ */ jsx25(
1024
+ InputOTP,
889
1025
  {
890
- className: `grid grid-flow-col grid-cols-${maxlength} gap-3 auto-cols-fr rtl:space-x-reverse`,
891
- children: /* @__PURE__ */ jsx24(
892
- InputOTP,
1026
+ maxLength: maxlength != null ? maxlength : 6,
1027
+ onChange: handleInputChange,
1028
+ name,
1029
+ value,
1030
+ children: /* @__PURE__ */ jsx25(InputOTPGroup, { className: "w-full space-x-2 justify-between", children: [...Array(elements)].map((_, index) => /* @__PURE__ */ jsx25(
1031
+ InputOTPSlot,
893
1032
  {
894
- maxLength: maxlength != null ? maxlength : 6,
895
- onChange: handleInputChange,
896
- name,
897
- value,
898
- children: /* @__PURE__ */ jsx24(InputOTPGroup, { className: "w-full space-x-2 justify-between", children: [...Array(elements)].map((_, index) => /* @__PURE__ */ jsx24(
899
- InputOTPSlot,
900
- {
901
- index,
902
- className: "text-center px-1.5 py-2.5 h-10 w-11 md:w-14 md:h-12 border border-radius border-solid rounded-border-radius-forms border-forms-border-default bg-forms-bg-default"
903
- },
904
- index
905
- )) })
906
- }
907
- )
1033
+ index,
1034
+ className: "text-center px-1.5 py-2.5 h-10 w-11 md:w-14 md:h-12 border border-radius border-solid rounded-border-radius-forms border-forms-border-default bg-forms-bg-default"
1035
+ },
1036
+ index
1037
+ )) })
908
1038
  }
909
1039
  );
910
1040
  };
911
1041
 
912
1042
  // src/theme/default/components/form/social.tsx
913
1043
  import {
914
- uiTextToFormattedMessage as uiTextToFormattedMessage7,
915
- useOryFlow as useOryFlow5
1044
+ uiTextToFormattedMessage as uiTextToFormattedMessage8,
1045
+ useOryFlow as useOryFlow7
916
1046
  } from "@ory/elements-react";
917
1047
 
918
1048
  // src/theme/default/provider-logos/apple.svg
919
1049
  import * as React8 from "react";
920
- import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
1050
+ import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
921
1051
  var SvgApple = (props) => {
922
1052
  var _a, _b;
923
1053
  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: [
924
- /* @__PURE__ */ jsx25("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" }),
925
- /* @__PURE__ */ jsx25("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" })
1054
+ /* @__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" }),
1055
+ /* @__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" })
926
1056
  ] });
927
1057
  };
928
1058
  var apple_default = SvgApple;
929
1059
 
930
1060
  // src/theme/default/provider-logos/auth0.svg
931
1061
  import * as React9 from "react";
932
- import { jsx as jsx26 } from "react/jsx-runtime";
1062
+ import { jsx as jsx27 } from "react/jsx-runtime";
933
1063
  var SvgAuth0 = (props) => {
934
1064
  var _a, _b;
935
- return /* @__PURE__ */ jsx26("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__ */ jsx26("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" }) });
1065
+ 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" }) });
936
1066
  };
937
1067
  var auth0_default = SvgAuth0;
938
1068
 
939
1069
  // src/theme/default/provider-logos/discord.svg
940
1070
  import * as React10 from "react";
941
- import { jsx as jsx27, jsxs as jsxs14 } from "react/jsx-runtime";
1071
+ import { jsx as jsx28, jsxs as jsxs14 } from "react/jsx-runtime";
942
1072
  var SvgDiscord = (props) => {
943
1073
  var _a, _b;
944
1074
  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: [
945
- /* @__PURE__ */ jsx27("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" }),
946
- /* @__PURE__ */ jsx27("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" })
1075
+ /* @__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" }),
1076
+ /* @__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" })
947
1077
  ] });
948
1078
  };
949
1079
  var discord_default = SvgDiscord;
950
1080
 
951
1081
  // src/theme/default/provider-logos/facebook.svg
952
1082
  import * as React11 from "react";
953
- import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
1083
+ import { jsx as jsx29, jsxs as jsxs15 } from "react/jsx-runtime";
954
1084
  var SvgFacebook = (props) => {
955
1085
  var _a, _b;
956
1086
  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: [
957
1087
  /* @__PURE__ */ jsxs15("g", { clipPath: "url(#facebook_svg__a)", children: [
958
- /* @__PURE__ */ jsx28("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" }),
959
- /* @__PURE__ */ jsx28("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" })
1088
+ /* @__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" }),
1089
+ /* @__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" })
960
1090
  ] }),
961
- /* @__PURE__ */ jsx28("defs", { children: /* @__PURE__ */ jsx28("clipPath", { id: "facebook_svg__a", children: /* @__PURE__ */ jsx28("rect", { fill: "#fff" }) }) })
1091
+ /* @__PURE__ */ jsx29("defs", { children: /* @__PURE__ */ jsx29("clipPath", { id: "facebook_svg__a", children: /* @__PURE__ */ jsx29("rect", { fill: "#fff" }) }) })
962
1092
  ] });
963
1093
  };
964
1094
  var facebook_default = SvgFacebook;
965
1095
 
966
1096
  // src/theme/default/provider-logos/generic.svg
967
1097
  import * as React12 from "react";
968
- import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
1098
+ import { jsx as jsx30, jsxs as jsxs16 } from "react/jsx-runtime";
969
1099
  var SvgGeneric = (props) => {
970
1100
  var _a, _b;
971
1101
  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: [
972
- /* @__PURE__ */ jsx29("path", { stroke: "none", d: "M0 0h24v24H0z" }),
973
- /* @__PURE__ */ jsx29("path", { d: "M2 12a10 10 0 1 0 20 0 10 10 0 1 0-20 0" }),
974
- /* @__PURE__ */ jsx29("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" })
1102
+ /* @__PURE__ */ jsx30("path", { stroke: "none", d: "M0 0h24v24H0z" }),
1103
+ /* @__PURE__ */ jsx30("path", { d: "M2 12a10 10 0 1 0 20 0 10 10 0 1 0-20 0" }),
1104
+ /* @__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" })
975
1105
  ] });
976
1106
  };
977
1107
  var generic_default = SvgGeneric;
978
1108
 
979
1109
  // src/theme/default/provider-logos/github.svg
980
1110
  import * as React13 from "react";
981
- import { jsx as jsx30 } from "react/jsx-runtime";
1111
+ import { jsx as jsx31 } from "react/jsx-runtime";
982
1112
  var SvgGithub = (props) => {
983
1113
  var _a, _b;
984
- return /* @__PURE__ */ jsx30("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__ */ jsx30("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" }) });
1114
+ 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" }) });
985
1115
  };
986
1116
  var github_default = SvgGithub;
987
1117
 
988
1118
  // src/theme/default/provider-logos/gitlab.svg
989
1119
  import * as React14 from "react";
990
- import { jsx as jsx31, jsxs as jsxs17 } from "react/jsx-runtime";
1120
+ import { jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
991
1121
  var SvgGitlab = (props) => {
992
1122
  var _a, _b;
993
1123
  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: [
994
- /* @__PURE__ */ jsx31("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" }),
995
- /* @__PURE__ */ jsx31("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" }),
996
- /* @__PURE__ */ jsx31("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" }),
997
- /* @__PURE__ */ jsx31("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" })
1124
+ /* @__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" }),
1125
+ /* @__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" }),
1126
+ /* @__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" }),
1127
+ /* @__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" })
998
1128
  ] });
999
1129
  };
1000
1130
  var gitlab_default = SvgGitlab;
1001
1131
 
1002
1132
  // src/theme/default/provider-logos/google.svg
1003
1133
  import * as React15 from "react";
1004
- import { jsx as jsx32, jsxs as jsxs18 } from "react/jsx-runtime";
1134
+ import { jsx as jsx33, jsxs as jsxs18 } from "react/jsx-runtime";
1005
1135
  var SvgGoogle = (props) => {
1006
1136
  var _a, _b;
1007
1137
  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: [
1008
- /* @__PURE__ */ jsx32("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" }),
1009
- /* @__PURE__ */ jsx32("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" }),
1010
- /* @__PURE__ */ jsx32("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" }),
1011
- /* @__PURE__ */ jsx32("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" })
1138
+ /* @__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" }),
1139
+ /* @__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" }),
1140
+ /* @__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" }),
1141
+ /* @__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" })
1012
1142
  ] });
1013
1143
  };
1014
1144
  var google_default = SvgGoogle;
1015
1145
 
1016
1146
  // src/theme/default/provider-logos/linkedin.svg
1017
1147
  import * as React16 from "react";
1018
- import { jsx as jsx33, jsxs as jsxs19 } from "react/jsx-runtime";
1148
+ import { jsx as jsx34, jsxs as jsxs19 } from "react/jsx-runtime";
1019
1149
  var SvgLinkedin = (props) => {
1020
1150
  var _a, _b;
1021
1151
  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: [
1022
- /* @__PURE__ */ jsx33("rect", { x: 2, y: 2, fill: "#1275B1", rx: 14 }),
1023
- /* @__PURE__ */ jsx33("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" })
1152
+ /* @__PURE__ */ jsx34("rect", { x: 2, y: 2, fill: "#1275B1", rx: 14 }),
1153
+ /* @__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" })
1024
1154
  ] });
1025
1155
  };
1026
1156
  var linkedin_default = SvgLinkedin;
1027
1157
 
1028
1158
  // src/theme/default/provider-logos/microsoft.svg
1029
1159
  import * as React17 from "react";
1030
- import { jsx as jsx34, jsxs as jsxs20 } from "react/jsx-runtime";
1160
+ import { jsx as jsx35, jsxs as jsxs20 } from "react/jsx-runtime";
1031
1161
  var SvgMicrosoft = (props) => {
1032
1162
  var _a, _b;
1033
1163
  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: [
1034
- /* @__PURE__ */ jsx34("path", { fill: "#F35325", d: "M1 1h10v10H1z" }),
1035
- /* @__PURE__ */ jsx34("path", { fill: "#81BC06", d: "M12 1h10v10H12z" }),
1036
- /* @__PURE__ */ jsx34("path", { fill: "#05A6F0", d: "M1 12h10v10H1z" }),
1037
- /* @__PURE__ */ jsx34("path", { fill: "#FFBA08", d: "M12 12h10v10H12z" })
1164
+ /* @__PURE__ */ jsx35("path", { fill: "#F35325", d: "M1 1h10v10H1z" }),
1165
+ /* @__PURE__ */ jsx35("path", { fill: "#81BC06", d: "M12 1h10v10H12z" }),
1166
+ /* @__PURE__ */ jsx35("path", { fill: "#05A6F0", d: "M1 12h10v10H1z" }),
1167
+ /* @__PURE__ */ jsx35("path", { fill: "#FFBA08", d: "M12 12h10v10H12z" })
1038
1168
  ] });
1039
1169
  };
1040
1170
  var microsoft_default = SvgMicrosoft;
1041
1171
 
1042
1172
  // src/theme/default/provider-logos/slack.svg
1043
1173
  import * as React18 from "react";
1044
- import { jsx as jsx35, jsxs as jsxs21 } from "react/jsx-runtime";
1174
+ import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
1045
1175
  var SvgSlack = (props) => {
1046
1176
  var _a, _b;
1047
1177
  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: [
1048
- /* @__PURE__ */ jsx35("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" }),
1049
- /* @__PURE__ */ jsx35("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" }),
1050
- /* @__PURE__ */ jsx35("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" }),
1051
- /* @__PURE__ */ jsx35("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" })
1178
+ /* @__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" }),
1179
+ /* @__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" }),
1180
+ /* @__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" }),
1181
+ /* @__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" })
1052
1182
  ] });
1053
1183
  };
1054
1184
  var slack_default = SvgSlack;
1055
1185
 
1056
1186
  // src/theme/default/provider-logos/spotify.svg
1057
1187
  import * as React19 from "react";
1058
- import { jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
1188
+ import { jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
1059
1189
  var SvgSpotify = (props) => {
1060
1190
  var _a, _b;
1061
1191
  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: [
1062
- /* @__PURE__ */ jsx36("circle", { cx: 16, cy: 16, r: 14, fill: "#1ED760" }),
1063
- /* @__PURE__ */ jsx36("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" })
1192
+ /* @__PURE__ */ jsx37("circle", { cx: 16, cy: 16, r: 14, fill: "#1ED760" }),
1193
+ /* @__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" })
1064
1194
  ] });
1065
1195
  };
1066
1196
  var spotify_default = SvgSpotify;
1067
1197
 
1068
1198
  // src/theme/default/provider-logos/yandex.svg
1069
1199
  import * as React20 from "react";
1070
- import { jsx as jsx37, jsxs as jsxs23 } from "react/jsx-runtime";
1200
+ import { jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
1071
1201
  var SvgYandex = (props) => {
1072
1202
  var _a, _b;
1073
1203
  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: [
1074
- /* @__PURE__ */ jsx37("circle", { cx: 16, cy: 16, r: 14, fill: "#fff" }),
1075
- /* @__PURE__ */ jsx37("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" })
1204
+ /* @__PURE__ */ jsx38("circle", { cx: 16, cy: 16, r: 14, fill: "#fff" }),
1205
+ /* @__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" })
1076
1206
  ] });
1077
1207
  };
1078
1208
  var yandex_default = SvgYandex;
@@ -1096,8 +1226,8 @@ var logos = {
1096
1226
  var provider_logos_default = logos;
1097
1227
 
1098
1228
  // src/theme/default/components/form/social.tsx
1099
- import { useIntl as useIntl10 } from "react-intl";
1100
- import { jsx as jsx38, jsxs as jsxs24 } from "react/jsx-runtime";
1229
+ import { useIntl as useIntl11 } from "react-intl";
1230
+ import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
1101
1231
  function extractProvider(context) {
1102
1232
  if (context && typeof context === "object" && "provider" in context && typeof context.provider === "string") {
1103
1233
  return context.provider;
@@ -1107,7 +1237,8 @@ function extractProvider(context) {
1107
1237
  function DefaultButtonSocial({
1108
1238
  attributes,
1109
1239
  node,
1110
- onClick
1240
+ onClick,
1241
+ showLabel: _showLabel
1111
1242
  }) {
1112
1243
  var _a, _b, _c;
1113
1244
  const {
@@ -1118,11 +1249,11 @@ function DefaultButtonSocial({
1118
1249
  } = attributes;
1119
1250
  const {
1120
1251
  flow: { ui }
1121
- } = useOryFlow5();
1122
- const intl = useIntl10();
1252
+ } = useOryFlow7();
1253
+ const intl = useIntl11();
1123
1254
  const oidcNodeCount = (_a = ui.nodes.filter((node2) => node2.group === "oidc").length) != null ? _a : 0;
1124
1255
  const Logo = provider_logos_default[attributes.value];
1125
- const showLabel = oidcNodeCount % 3 !== 0 && oidcNodeCount % 4 !== 0;
1256
+ const showLabel = _showLabel != null ? _showLabel : oidcNodeCount % 3 !== 0 && oidcNodeCount % 4 !== 0;
1126
1257
  const provider = (_c = extractProvider((_b = node.meta.label) == null ? void 0 : _b.context)) != null ? _c : "";
1127
1258
  return /* @__PURE__ */ jsxs24(
1128
1259
  "button",
@@ -1137,14 +1268,14 @@ function DefaultButtonSocial({
1137
1268
  ...props,
1138
1269
  onClick,
1139
1270
  children: [
1140
- /* @__PURE__ */ jsx38("span", { className: "w-5 h-5", children: Logo ? /* @__PURE__ */ jsx38(
1271
+ /* @__PURE__ */ jsx39("span", { className: "w-5 h-5", children: Logo ? /* @__PURE__ */ jsx39(
1141
1272
  Logo,
1142
1273
  {
1143
1274
  size: 20,
1144
1275
  className: "object-fill w-full h-full"
1145
1276
  }
1146
- ) : /* @__PURE__ */ jsx38("span", { className: "rounded-full aspect-square border flex items-center justify-center text-xs", children: provider.slice(0, 2) }) }),
1147
- showLabel && node.meta.label ? /* @__PURE__ */ jsx38("span", { className: "text-sm text-left leading-none font-medium text-forms-fg-default flex-grow", children: uiTextToFormattedMessage7(node.meta.label, intl) }) : null
1277
+ ) : /* @__PURE__ */ jsx39("span", { className: "rounded-full aspect-square border flex items-center justify-center text-xs", children: provider.slice(0, 2) }) }),
1278
+ 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
1148
1279
  ]
1149
1280
  }
1150
1281
  );
@@ -1153,7 +1284,7 @@ function DefaultSocialButtonContainer({
1153
1284
  children,
1154
1285
  nodes
1155
1286
  }) {
1156
- return /* @__PURE__ */ jsx38(
1287
+ return /* @__PURE__ */ jsx39(
1157
1288
  "div",
1158
1289
  {
1159
1290
  className: cn("grid gap-3", {
@@ -1168,29 +1299,29 @@ function DefaultSocialButtonContainer({
1168
1299
  }
1169
1300
 
1170
1301
  // src/theme/default/components/form/text.tsx
1171
- import { uiTextToFormattedMessage as uiTextToFormattedMessage8 } from "@ory/elements-react";
1172
- import { useIntl as useIntl11 } from "react-intl";
1173
- import { Fragment, jsx as jsx39, jsxs as jsxs25 } from "react/jsx-runtime";
1302
+ import { uiTextToFormattedMessage as uiTextToFormattedMessage9 } from "@ory/elements-react";
1303
+ import { useIntl as useIntl12 } from "react-intl";
1304
+ import { Fragment as Fragment2, jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
1174
1305
  function DefaultText({ node, attributes }) {
1175
1306
  var _a;
1176
- const intl = useIntl11();
1177
- return /* @__PURE__ */ jsxs25(Fragment, { children: [
1178
- /* @__PURE__ */ jsx39("p", { "data-testid": `node/text/${attributes.id}/label`, children: node.meta.label ? uiTextToFormattedMessage8(node.meta.label, intl) : "" }),
1179
- (_a = attributes.text.context.secrets) == null ? void 0 : _a.map((text, index) => /* @__PURE__ */ jsx39("pre", { "data-testid": `node/text/lookup_secret_codes/text`, children: /* @__PURE__ */ jsx39("code", { children: text ? uiTextToFormattedMessage8(text, intl) : "" }) }, index))
1307
+ const intl = useIntl12();
1308
+ return /* @__PURE__ */ jsxs25(Fragment2, { children: [
1309
+ /* @__PURE__ */ jsx40("p", { "data-testid": `node/text/${attributes.id}/label`, children: node.meta.label ? uiTextToFormattedMessage9(node.meta.label, intl) : "" }),
1310
+ (_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))
1180
1311
  ] });
1181
1312
  }
1182
1313
 
1183
1314
  // src/theme/default/assets/icons/arrow-left.svg
1184
1315
  import * as React21 from "react";
1185
- import { jsx as jsx40 } from "react/jsx-runtime";
1316
+ import { jsx as jsx41 } from "react/jsx-runtime";
1186
1317
  var SvgArrowLeft = (props) => {
1187
1318
  var _a, _b;
1188
- return /* @__PURE__ */ jsx40("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__ */ jsx40("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M5 12.325h14m-14 0 6 6m-6-6 6-6" }) });
1319
+ 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" }) });
1189
1320
  };
1190
1321
  var arrow_left_default = SvgArrowLeft;
1191
1322
 
1192
1323
  // src/theme/default/components/card/current-identifier-button.tsx
1193
- import { jsx as jsx41, jsxs as jsxs26 } from "react/jsx-runtime";
1324
+ import { jsx as jsx42, jsxs as jsxs26 } from "react/jsx-runtime";
1194
1325
  function DefaultCurrentIdentifierButton({
1195
1326
  attributes,
1196
1327
  onClick,
@@ -1198,7 +1329,7 @@ function DefaultCurrentIdentifierButton({
1198
1329
  href
1199
1330
  }) {
1200
1331
  const Element = onClick ? "button" : "a";
1201
- return /* @__PURE__ */ jsx41("div", { children: /* @__PURE__ */ jsxs26(
1332
+ return /* @__PURE__ */ jsx42("div", { children: /* @__PURE__ */ jsxs26(
1202
1333
  Element,
1203
1334
  {
1204
1335
  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",
@@ -1207,13 +1338,621 @@ function DefaultCurrentIdentifierButton({
1207
1338
  href,
1208
1339
  type,
1209
1340
  children: [
1210
- /* @__PURE__ */ jsx41(arrow_left_default, { size: 16, className: "text-button-identifier-fg-subtle" }),
1211
- /* @__PURE__ */ jsx41("span", { className: "text-sm font-medium leading-none text-button-identifier-fg-default", children: attributes.value })
1341
+ /* @__PURE__ */ jsx42(arrow_left_default, { size: 16, className: "text-button-identifier-fg-subtle" }),
1342
+ /* @__PURE__ */ jsx42("span", { className: "text-sm font-medium leading-none text-button-identifier-fg-default", children: attributes.value })
1212
1343
  ]
1213
1344
  }
1214
1345
  ) });
1215
1346
  }
1216
1347
 
1348
+ // src/theme/default/components/form/section.tsx
1349
+ import { jsx as jsx43, jsxs as jsxs27 } from "react/jsx-runtime";
1350
+ var DefaultFormSection = ({ children }) => {
1351
+ return /* @__PURE__ */ jsx43("div", { className: "flex flex-col w-80 md:w-[712px] lg:w-[802px] xl:w-[896px]", children });
1352
+ };
1353
+ var DefaultFormSectionContent = ({
1354
+ title,
1355
+ description,
1356
+ children
1357
+ }) => {
1358
+ 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: [
1359
+ /* @__PURE__ */ jsxs27("div", { className: "flex flex-col gap-2", children: [
1360
+ /* @__PURE__ */ jsx43("h3", { className: "font-medium text-dialog-fg-default", children: title }),
1361
+ /* @__PURE__ */ jsx43("span", { className: "text-sm text-dialog-fg-subtle", children: description })
1362
+ ] }),
1363
+ children
1364
+ ] });
1365
+ };
1366
+ var DefaultFormSectionFooter = ({ children }) => {
1367
+ 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 });
1368
+ };
1369
+
1370
+ // src/theme/default/assets/icons/download.svg
1371
+ import * as React22 from "react";
1372
+ import { jsx as jsx44 } from "react/jsx-runtime";
1373
+ var SvgDownload = (props) => {
1374
+ var _a, _b;
1375
+ 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" }) });
1376
+ };
1377
+ var download_default = SvgDownload;
1378
+
1379
+ // src/theme/default/assets/icons/eye.svg
1380
+ import * as React23 from "react";
1381
+ import { jsx as jsx45, jsxs as jsxs28 } from "react/jsx-runtime";
1382
+ var SvgEye = (props) => {
1383
+ var _a, _b;
1384
+ 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: [
1385
+ /* @__PURE__ */ jsx45("path", { stroke: "currentColor", d: "M10 12a2 2 0 1 0 4 0 2 2 0 0 0-4 0" }),
1386
+ /* @__PURE__ */ jsx45("path", { stroke: "#64748B", d: "M21 12q-3.6 6-9 6t-9-6q3.6-6 9-6t9 6" })
1387
+ ] }) });
1388
+ };
1389
+ var eye_default = SvgEye;
1390
+
1391
+ // src/theme/default/assets/icons/refresh.svg
1392
+ import * as React24 from "react";
1393
+ import { jsx as jsx46 } from "react/jsx-runtime";
1394
+ var SvgRefresh = (props) => {
1395
+ var _a, _b;
1396
+ 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" }) });
1397
+ };
1398
+ var refresh_default = SvgRefresh;
1399
+
1400
+ // src/theme/default/components/settings/settings-recovery-codes.tsx
1401
+ import { jsx as jsx47, jsxs as jsxs29 } from "react/jsx-runtime";
1402
+ function DefaultSettingsRecoveryCodes({
1403
+ codes,
1404
+ regnerateButton,
1405
+ revealButton
1406
+ }) {
1407
+ const onDownload = () => {
1408
+ const element = document.createElement("a");
1409
+ const file = new Blob([codes.join("\n")], {
1410
+ type: "text/plain"
1411
+ });
1412
+ element.href = URL.createObjectURL(file);
1413
+ element.download = "recovery-codes.txt";
1414
+ document.body.appendChild(element);
1415
+ element.click();
1416
+ };
1417
+ const hasCodes = codes.length >= 1;
1418
+ return /* @__PURE__ */ jsxs29("div", { className: "flex flex-col gap-8", children: [
1419
+ /* @__PURE__ */ jsx47(DefaultHorizontalDivider, {}),
1420
+ /* @__PURE__ */ jsxs29("div", { className: "flex justify-end gap-4", children: [
1421
+ regnerateButton && /* @__PURE__ */ jsx47(
1422
+ "button",
1423
+ {
1424
+ ...regnerateButton.attributes,
1425
+ type: "submit",
1426
+ children: /* @__PURE__ */ jsx47(
1427
+ refresh_default,
1428
+ {
1429
+ size: 24,
1430
+ className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover"
1431
+ }
1432
+ )
1433
+ }
1434
+ ),
1435
+ revealButton && /* @__PURE__ */ jsx47(
1436
+ "button",
1437
+ {
1438
+ ...revealButton.attributes,
1439
+ type: "submit",
1440
+ children: /* @__PURE__ */ jsx47(
1441
+ eye_default,
1442
+ {
1443
+ size: 24,
1444
+ className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover"
1445
+ }
1446
+ )
1447
+ }
1448
+ ),
1449
+ hasCodes ? /* @__PURE__ */ jsx47(
1450
+ download_default,
1451
+ {
1452
+ size: 24,
1453
+ onClick: onDownload,
1454
+ className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover"
1455
+ }
1456
+ ) : null
1457
+ ] }),
1458
+ 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
1459
+ ] });
1460
+ }
1461
+
1462
+ // src/theme/default/assets/icons/qrcode.svg
1463
+ import * as React25 from "react";
1464
+ import { jsx as jsx48 } from "react/jsx-runtime";
1465
+ var SvgQrcode = (props) => {
1466
+ var _a, _b;
1467
+ 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" }) });
1468
+ };
1469
+ var qrcode_default = SvgQrcode;
1470
+
1471
+ // src/theme/default/assets/icons/trash.svg
1472
+ import * as React26 from "react";
1473
+ import { jsx as jsx49 } from "react/jsx-runtime";
1474
+ var SvgTrash = (props) => {
1475
+ var _a, _b;
1476
+ 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" }) });
1477
+ };
1478
+ var trash_default = SvgTrash;
1479
+
1480
+ // src/theme/default/components/settings/settings-top.tsx
1481
+ import { jsx as jsx50, jsxs as jsxs30 } from "react/jsx-runtime";
1482
+ function DefaultSettingsTotp(props) {
1483
+ var _a;
1484
+ if ("totpUnlink" in props && props.totpUnlink) {
1485
+ const {
1486
+ type,
1487
+ autocomplete: _ignoredAutocomplete,
1488
+ label: _ignoredLabel,
1489
+ node_type: _ignoredNodeType,
1490
+ ...buttonAttrs
1491
+ } = (_a = props.totpUnlink) == null ? void 0 : _a.attributes;
1492
+ return /* @__PURE__ */ jsxs30("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8", children: [
1493
+ /* @__PURE__ */ jsx50("div", { className: "col-span-full", children: /* @__PURE__ */ jsx50(DefaultHorizontalDivider, {}) }),
1494
+ /* @__PURE__ */ jsxs30("div", { className: "flex gap-6 items-center col-span-full", children: [
1495
+ /* @__PURE__ */ jsx50("div", { className: "size-8 aspect-square ", children: /* @__PURE__ */ jsx50(qrcode_default, { size: 32 }) }),
1496
+ /* @__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" }) }),
1497
+ /* @__PURE__ */ jsx50(
1498
+ "button",
1499
+ {
1500
+ type: type === "button" ? "button" : "submit",
1501
+ ...buttonAttrs,
1502
+ children: /* @__PURE__ */ jsx50(
1503
+ trash_default,
1504
+ {
1505
+ size: 24,
1506
+ className: "text-links-link-mute-default hover:text-links-link-mute-hover"
1507
+ }
1508
+ )
1509
+ }
1510
+ )
1511
+ ] })
1512
+ ] });
1513
+ }
1514
+ if ("totpSecret" in props) {
1515
+ return /* @__PURE__ */ jsxs30("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8", children: [
1516
+ /* @__PURE__ */ jsx50("div", { className: "col-span-full", children: /* @__PURE__ */ jsx50(DefaultHorizontalDivider, {}) }),
1517
+ /* @__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(
1518
+ DefaultImage,
1519
+ {
1520
+ node: props.totpImage,
1521
+ attributes: {
1522
+ ...props.totpImage.attributes
1523
+ }
1524
+ }
1525
+ ) }) }) }),
1526
+ /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-6", children: [
1527
+ /* @__PURE__ */ jsx50(
1528
+ DefaultLabel,
1529
+ {
1530
+ node: props.totpSecret,
1531
+ attributes: props.totpSecret.attributes,
1532
+ children: /* @__PURE__ */ jsx50(
1533
+ DefaultInput,
1534
+ {
1535
+ node: props.totpSecret,
1536
+ attributes: {
1537
+ disabled: true,
1538
+ name: "totp_secret_key",
1539
+ node_type: "input",
1540
+ type: "text",
1541
+ value: props.totpSecret.attributes.text.text
1542
+ }
1543
+ }
1544
+ )
1545
+ }
1546
+ ),
1547
+ /* @__PURE__ */ jsx50(
1548
+ DefaultLabel,
1549
+ {
1550
+ attributes: props.totpInput.attributes,
1551
+ node: props.totpInput,
1552
+ children: /* @__PURE__ */ jsx50(
1553
+ DefaultInput,
1554
+ {
1555
+ node: props.totpInput,
1556
+ attributes: props.totpInput.attributes
1557
+ }
1558
+ )
1559
+ }
1560
+ )
1561
+ ] })
1562
+ ] });
1563
+ }
1564
+ }
1565
+
1566
+ // src/theme/default/components/settings/settings-oidc.tsx
1567
+ import { jsx as jsx51, jsxs as jsxs31 } from "react/jsx-runtime";
1568
+ function DefaultSettingsOidc({
1569
+ linkButtons,
1570
+ unlinkButtons
1571
+ }) {
1572
+ const hasLinkButtons = linkButtons.length > 0;
1573
+ const hasUnlinkButtons = unlinkButtons.length > 0;
1574
+ return /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-8", children: [
1575
+ hasLinkButtons && /* @__PURE__ */ jsx51("div", { className: "flex gap-3 items-start [&>button]:w-[79px]", children: linkButtons.map((button) => {
1576
+ const attrs = button.attributes;
1577
+ return /* @__PURE__ */ jsx51(
1578
+ DefaultButtonSocial,
1579
+ {
1580
+ showLabel: false,
1581
+ node: button,
1582
+ attributes: attrs
1583
+ },
1584
+ attrs.value
1585
+ );
1586
+ }) }),
1587
+ hasUnlinkButtons && hasLinkButtons ? /* @__PURE__ */ jsx51(DefaultHorizontalDivider, {}) : null,
1588
+ unlinkButtons.map((button) => {
1589
+ var _a, _b;
1590
+ const attrs = button.attributes;
1591
+ const provider = (_b = extractProvider((_a = button.meta.label) == null ? void 0 : _a.context)) != null ? _b : "";
1592
+ const Logo = provider_logos_default[attrs.value];
1593
+ return /* @__PURE__ */ jsxs31("div", { className: "flex justify-between", children: [
1594
+ /* @__PURE__ */ jsxs31("div", { className: "flex gap-6 items-center", children: [
1595
+ /* @__PURE__ */ jsx51(Logo, { size: 32 }),
1596
+ /* @__PURE__ */ jsx51("p", { className: "text-dialog-fg-subtle text-sm font-medium", children: provider })
1597
+ ] }),
1598
+ /* @__PURE__ */ jsx51("button", { ...attrs, type: "submit", children: /* @__PURE__ */ jsx51(trash_default, { className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover" }) })
1599
+ ] }, attrs.value);
1600
+ })
1601
+ ] });
1602
+ }
1603
+
1604
+ // src/theme/default/assets/icons/key.svg
1605
+ import * as React27 from "react";
1606
+ import { jsx as jsx52 } from "react/jsx-runtime";
1607
+ var SvgKey = (props) => {
1608
+ var _a, _b;
1609
+ 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" }) });
1610
+ };
1611
+ var key_default = SvgKey;
1612
+
1613
+ // src/theme/default/components/settings/settings-webauthn.tsx
1614
+ import { jsx as jsx53, jsxs as jsxs32 } from "react/jsx-runtime";
1615
+ function DefaultSettingsWebauthn({
1616
+ nameInput,
1617
+ triggerButton,
1618
+ removeButtons
1619
+ }) {
1620
+ const hasRemoveButtons = removeButtons.length > 0;
1621
+ return /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-8", children: [
1622
+ /* @__PURE__ */ jsxs32("div", { className: "flex gap-3 items-end max-w-[60%]", children: [
1623
+ /* @__PURE__ */ jsx53("div", { className: "flex-1", children: /* @__PURE__ */ jsx53(
1624
+ DefaultLabel,
1625
+ {
1626
+ node: nameInput,
1627
+ attributes: nameInput.attributes,
1628
+ children: /* @__PURE__ */ jsx53(
1629
+ DefaultInput,
1630
+ {
1631
+ node: nameInput,
1632
+ attributes: nameInput.attributes
1633
+ }
1634
+ )
1635
+ }
1636
+ ) }),
1637
+ triggerButton ? /* @__PURE__ */ jsx53(
1638
+ DefaultButton,
1639
+ {
1640
+ node: triggerButton,
1641
+ attributes: triggerButton.attributes,
1642
+ onClick: triggerButton.onClick
1643
+ }
1644
+ ) : null
1645
+ ] }),
1646
+ hasRemoveButtons ? /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-8", children: [
1647
+ /* @__PURE__ */ jsx53(DefaultHorizontalDivider, {}),
1648
+ /* @__PURE__ */ jsx53("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
1649
+ var _a, _b;
1650
+ const context = (_b = (_a = node.meta.label) == null ? void 0 : _a.context) != null ? _b : {};
1651
+ const addedAt = "added_at" in context ? context.added_at : null;
1652
+ const diaplyName = "display_name" in context ? context.display_name : null;
1653
+ const keyId = "value" in node.attributes ? node.attributes.value : null;
1654
+ return /* @__PURE__ */ jsxs32(
1655
+ "div",
1656
+ {
1657
+ className: "flex justify-between gap-6",
1658
+ children: [
1659
+ /* @__PURE__ */ jsx53(key_default, { size: 32, className: "text-dialog-fg-default" }),
1660
+ /* @__PURE__ */ jsxs32("div", { className: "flex-1 flex-col", children: [
1661
+ /* @__PURE__ */ jsx53("p", { className: "text-sm font-medium text-dialog-fg-subtle", children: diaplyName }),
1662
+ /* @__PURE__ */ jsx53("span", { className: "text-sm text-dialog-fg-mute", children: keyId })
1663
+ ] }),
1664
+ addedAt && /* @__PURE__ */ jsx53("p", { className: "text-sm self-center text-dialog-fg-mute", children: new Date(addedAt).toLocaleDateString() }),
1665
+ /* @__PURE__ */ jsx53(
1666
+ "button",
1667
+ {
1668
+ ...node.attributes,
1669
+ type: "submit",
1670
+ className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover",
1671
+ children: /* @__PURE__ */ jsx53(trash_default, { size: 20 })
1672
+ }
1673
+ )
1674
+ ]
1675
+ },
1676
+ `webauthn-remove-button-${i}`
1677
+ );
1678
+ }) })
1679
+ ] }) : null
1680
+ ] });
1681
+ }
1682
+
1683
+ // src/theme/default/components/settings/settings-passkey.tsx
1684
+ import { jsx as jsx54, jsxs as jsxs33 } from "react/jsx-runtime";
1685
+ function DefaultSettingsPasskey({
1686
+ triggerButton,
1687
+ removeButtons
1688
+ }) {
1689
+ const hasRemoveButtons = removeButtons.length > 0;
1690
+ return /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-8", children: [
1691
+ /* @__PURE__ */ jsx54("div", { className: "flex gap-3 items-end max-w-[60%]", children: triggerButton ? /* @__PURE__ */ jsx54(
1692
+ DefaultButton,
1693
+ {
1694
+ node: triggerButton,
1695
+ attributes: triggerButton.attributes,
1696
+ onClick: triggerButton.onClick
1697
+ }
1698
+ ) : null }),
1699
+ hasRemoveButtons ? /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-8", children: [
1700
+ /* @__PURE__ */ jsx54(DefaultHorizontalDivider, {}),
1701
+ /* @__PURE__ */ jsx54("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
1702
+ var _a, _b;
1703
+ const context = (_b = (_a = node.meta.label) == null ? void 0 : _a.context) != null ? _b : {};
1704
+ const addedAt = "added_at" in context ? context.added_at : null;
1705
+ const diaplyName = "display_name" in context ? context.display_name : null;
1706
+ const keyId = "value" in node.attributes ? node.attributes.value : null;
1707
+ return /* @__PURE__ */ jsxs33(
1708
+ "div",
1709
+ {
1710
+ className: "flex justify-between gap-6",
1711
+ children: [
1712
+ /* @__PURE__ */ jsx54(passkey_default, { size: 32, className: "text-dialog-fg-default" }),
1713
+ /* @__PURE__ */ jsxs33("div", { className: "flex-1 flex-col", children: [
1714
+ /* @__PURE__ */ jsx54("p", { className: "text-sm font-medium text-dialog-fg-subtle", children: diaplyName }),
1715
+ /* @__PURE__ */ jsx54("span", { className: "text-sm text-dialog-fg-mute", children: keyId })
1716
+ ] }),
1717
+ addedAt && /* @__PURE__ */ jsx54("p", { className: "text-sm self-center text-dialog-fg-mute", children: new Date(addedAt).toLocaleDateString() }),
1718
+ /* @__PURE__ */ jsx54(
1719
+ "button",
1720
+ {
1721
+ ...node.attributes,
1722
+ type: "submit",
1723
+ className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover",
1724
+ children: /* @__PURE__ */ jsx54(trash_default, { size: 20 })
1725
+ }
1726
+ )
1727
+ ]
1728
+ },
1729
+ `webauthn-remove-button-${i}`
1730
+ );
1731
+ }) })
1732
+ ] }) : null
1733
+ ] });
1734
+ }
1735
+
1736
+ // src/theme/default/components/generic/page-header.tsx
1737
+ import {
1738
+ useComponents as useComponents2,
1739
+ useSession
1740
+ } from "@ory/elements-react";
1741
+
1742
+ // src/theme/default/components/ui/user-menu.tsx
1743
+ import { DropdownMenuLabel as DropdownMenuLabel2 } from "@radix-ui/react-dropdown-menu";
1744
+ import { useCallback, useEffect, useState as useState2 } from "react";
1745
+ import { useOryFlow as useOryFlow8 } from "@ory/elements-react";
1746
+
1747
+ // src/util/client.ts
1748
+ import {
1749
+ Configuration,
1750
+ FrontendApi
1751
+ } from "@ory/client-fetch";
1752
+ function frontendClient(sdkUrl, opts = {}) {
1753
+ const config = new Configuration({
1754
+ ...opts,
1755
+ basePath: sdkUrl,
1756
+ headers: {
1757
+ Accept: "application/json",
1758
+ ...opts.headers
1759
+ }
1760
+ });
1761
+ return new FrontendApi(config);
1762
+ }
1763
+
1764
+ // src/theme/default/assets/icons/logout.svg
1765
+ import * as React28 from "react";
1766
+ import { jsx as jsx55 } from "react/jsx-runtime";
1767
+ var SvgLogout = (props) => {
1768
+ var _a, _b;
1769
+ 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" }) });
1770
+ };
1771
+ var logout_default = SvgLogout;
1772
+
1773
+ // src/theme/default/assets/icons/settings.svg
1774
+ import * as React29 from "react";
1775
+ import { jsx as jsx56, jsxs as jsxs34 } from "react/jsx-runtime";
1776
+ var SvgSettings = (props) => {
1777
+ var _a, _b;
1778
+ 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: [
1779
+ /* @__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" }),
1780
+ /* @__PURE__ */ jsx56("path", { d: "M6 8a2 2 0 1 0 4 0 2 2 0 0 0-4 0" })
1781
+ ] }) });
1782
+ };
1783
+ var settings_default = SvgSettings;
1784
+
1785
+ // src/theme/default/utils/user.ts
1786
+ var getUserInitials = (session) => {
1787
+ var _a, _b;
1788
+ const avatar = "";
1789
+ let primary = "";
1790
+ let secondary = "";
1791
+ if (!((_a = session == null ? void 0 : session.identity) == null ? void 0 : _a.traits)) {
1792
+ return {
1793
+ primary,
1794
+ secondary,
1795
+ avatar
1796
+ };
1797
+ }
1798
+ const traits = (_b = session.identity) == null ? void 0 : _b.traits;
1799
+ if (traits.email) {
1800
+ secondary = traits.email;
1801
+ }
1802
+ if (traits.name) {
1803
+ if (typeof traits.name === "string") {
1804
+ primary = traits.name;
1805
+ }
1806
+ if (traits.name.first && traits.name.last) {
1807
+ primary = traits.name.first + " " + traits.name.last;
1808
+ }
1809
+ }
1810
+ if (primary === "") {
1811
+ primary = secondary;
1812
+ secondary = "";
1813
+ }
1814
+ return {
1815
+ primary,
1816
+ secondary,
1817
+ avatar
1818
+ };
1819
+ };
1820
+
1821
+ // src/theme/default/components/ui/dropdown-menu.tsx
1822
+ import { forwardRef as forwardRef3 } from "react";
1823
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1824
+ import { jsx as jsx57 } from "react/jsx-runtime";
1825
+ var DropdownMenu = DropdownMenuPrimitive.Root;
1826
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1827
+ var DropdownMenuContent = forwardRef3(({ className, sideOffset = 16, ...props }, ref) => /* @__PURE__ */ jsx57(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx57(
1828
+ DropdownMenuPrimitive.Content,
1829
+ {
1830
+ ref,
1831
+ sideOffset,
1832
+ align: "end",
1833
+ className: cn(
1834
+ "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",
1835
+ "border border-dialog-border-default bg-dialog-bg-default rounded-border-radius-cards",
1836
+ className
1837
+ ),
1838
+ ...props
1839
+ }
1840
+ ) }));
1841
+ DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1842
+ var DropdownMenuItem = forwardRef3(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx57(
1843
+ DropdownMenuPrimitive.Item,
1844
+ {
1845
+ ref,
1846
+ className: cn(
1847
+ "relative flex cursor-pointer select-none items-center outline-none transition-colors data-[disabled]:pointer-events-none",
1848
+ "px-8 py-3 lg:py-4.5 text-sm gap-6",
1849
+ "first:border-0 border-t border-button-secondary-border-default hover:border-button-social-border-hover data-[disabled]:border-button-secondary-border-disabled",
1850
+ "text-button-secondary-fg-default bg-button-secondary-bg-default",
1851
+ "hover:text-button-secondary-fg-hover hover:bg-button-secondary-bg-hover",
1852
+ "data-[disabled]:text-button-secondary-fg-disabled data-[disabled]:bg-button-secondary-bg-disabled",
1853
+ inset && "pl-8",
1854
+ className
1855
+ ),
1856
+ ...props
1857
+ }
1858
+ ));
1859
+ DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1860
+ var DropdownMenuLabel = forwardRef3(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx57(
1861
+ DropdownMenuPrimitive.Label,
1862
+ {
1863
+ ref,
1864
+ className: cn(
1865
+ "px-2 py-1.5 text-sm font-semibold",
1866
+ inset && "pl-8",
1867
+ className
1868
+ ),
1869
+ ...props
1870
+ }
1871
+ ));
1872
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1873
+
1874
+ // src/theme/default/components/ui/user-avater.tsx
1875
+ import { forwardRef as forwardRef4 } from "react";
1876
+
1877
+ // src/theme/default/assets/icons/user.svg
1878
+ import * as React30 from "react";
1879
+ import { jsx as jsx58 } from "react/jsx-runtime";
1880
+ var SvgUser = (props) => {
1881
+ var _a, _b;
1882
+ 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" }) });
1883
+ };
1884
+ var user_default = SvgUser;
1885
+
1886
+ // src/theme/default/components/ui/user-avater.tsx
1887
+ import { jsx as jsx59 } from "react/jsx-runtime";
1888
+ var UserAvatar = forwardRef4(
1889
+ ({ initials, ...rest }, ref) => {
1890
+ return /* @__PURE__ */ jsx59(
1891
+ "button",
1892
+ {
1893
+ ref,
1894
+ 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",
1895
+ ...rest,
1896
+ children: /* @__PURE__ */ jsx59("div", { className: "relative size-full flex items-center justify-center", children: initials.avatar ? /* @__PURE__ */ jsx59(
1897
+ "img",
1898
+ {
1899
+ src: initials.avatar,
1900
+ alt: initials.primary,
1901
+ className: "w-full object-contain"
1902
+ }
1903
+ ) : /* @__PURE__ */ jsx59(user_default, { size: 24, className: "text-button-primary-fg-default" }) })
1904
+ }
1905
+ );
1906
+ }
1907
+ );
1908
+ UserAvatar.displayName = "UserAvatar";
1909
+
1910
+ // src/theme/default/components/ui/user-menu.tsx
1911
+ import { jsx as jsx60, jsxs as jsxs35 } from "react/jsx-runtime";
1912
+ var UserMenu = ({ session }) => {
1913
+ const { config } = useOryFlow8();
1914
+ const initials = getUserInitials(session);
1915
+ const [logoutFlow, setLogoutFlow] = useState2();
1916
+ const fetchLogoutFlow = useCallback(async () => {
1917
+ const flow = await frontendClient(config.sdk.url).createBrowserLogoutFlow();
1918
+ setLogoutFlow(flow);
1919
+ }, [config.sdk.url]);
1920
+ useEffect(() => {
1921
+ void fetchLogoutFlow();
1922
+ }, [fetchLogoutFlow]);
1923
+ return /* @__PURE__ */ jsxs35(DropdownMenu, { children: [
1924
+ /* @__PURE__ */ jsx60(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx60(UserAvatar, { initials }) }),
1925
+ /* @__PURE__ */ jsxs35(DropdownMenuContent, { children: [
1926
+ /* @__PURE__ */ jsxs35(DropdownMenuLabel2, { className: "px-5 py-4.5 flex gap-3", children: [
1927
+ /* @__PURE__ */ jsx60(UserAvatar, { disabled: true, initials }),
1928
+ /* @__PURE__ */ jsxs35("div", { className: "flex flex-col text-sm leading-tight justify-center", children: [
1929
+ /* @__PURE__ */ jsx60("div", { className: "text-dialog-fg-default", children: initials.primary }),
1930
+ initials.secondary && /* @__PURE__ */ jsx60("div", { className: "text-dialog-fg-mute", children: initials.secondary })
1931
+ ] })
1932
+ ] }),
1933
+ /* @__PURE__ */ jsx60(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs35("a", { href: "/settings", children: [
1934
+ /* @__PURE__ */ jsx60(settings_default, { size: 16 }),
1935
+ " User settings"
1936
+ ] }) }),
1937
+ /* @__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: [
1938
+ /* @__PURE__ */ jsx60(logout_default, { size: 16 }),
1939
+ " Logout"
1940
+ ] }) })
1941
+ ] })
1942
+ ] });
1943
+ };
1944
+
1945
+ // src/theme/default/components/generic/page-header.tsx
1946
+ import { jsx as jsx61, jsxs as jsxs36 } from "react/jsx-runtime";
1947
+ var DefaultPageHeader = (_props) => {
1948
+ const { Card } = useComponents2();
1949
+ const { session } = useSession();
1950
+ 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: [
1951
+ /* @__PURE__ */ jsx61("div", { className: "h-10 flex-1 relative", children: /* @__PURE__ */ jsx61(Card.Logo, {}) }),
1952
+ /* @__PURE__ */ jsx61(UserMenu, { session })
1953
+ ] }) }) });
1954
+ };
1955
+
1217
1956
  // src/theme/default/components/default-components.tsx
1218
1957
  var OryDefaultComponents = {
1219
1958
  Card: {
@@ -1223,7 +1962,10 @@ var OryDefaultComponents = {
1223
1962
  Content: DefaultCardContent,
1224
1963
  Logo: DefaultCardLogo,
1225
1964
  Divider: DefaultHorizontalDivider,
1226
- AuthMethodListItem: DefaultAuthMethodListItem
1965
+ AuthMethodListItem: DefaultAuthMethodListItem,
1966
+ SettingsSection: DefaultFormSection,
1967
+ SettingsSectionContent: DefaultFormSectionContent,
1968
+ SettingsSectionFooter: DefaultFormSectionFooter
1227
1969
  },
1228
1970
  Node: {
1229
1971
  Button: DefaultButton,
@@ -1240,31 +1982,39 @@ var OryDefaultComponents = {
1240
1982
  Form: {
1241
1983
  Root: DefaultFormContainer,
1242
1984
  Group: DefaultGroupContainer,
1243
- OidcRoot: DefaultSocialButtonContainer
1985
+ OidcRoot: DefaultSocialButtonContainer,
1986
+ RecoveryCodesSettings: DefaultSettingsRecoveryCodes,
1987
+ TotpSettings: DefaultSettingsTotp,
1988
+ OidcSettings: DefaultSettingsOidc,
1989
+ WebauthnSettings: DefaultSettingsWebauthn,
1990
+ PasskeySettings: DefaultSettingsPasskey
1244
1991
  },
1245
1992
  Message: {
1246
1993
  Root: DefaultMessageContainer,
1247
1994
  Content: DefaultMessage
1995
+ },
1996
+ Page: {
1997
+ Header: DefaultPageHeader
1248
1998
  }
1249
1999
  };
1250
2000
 
1251
2001
  // src/theme/default/flows/error.tsx
1252
- import { jsx as jsx42 } from "react/jsx-runtime";
2002
+ import { jsx as jsx62 } from "react/jsx-runtime";
1253
2003
  function Error({
1254
2004
  error,
1255
2005
  children
1256
2006
  }) {
1257
- return /* @__PURE__ */ jsx42("div", { children: JSON.stringify(error) || children });
2007
+ return /* @__PURE__ */ jsx62("div", { children: JSON.stringify(error) || children });
1258
2008
  }
1259
2009
 
1260
2010
  // src/theme/default/flows/login.tsx
1261
- import { FlowType as FlowType4 } from "@ory/client-fetch";
2011
+ import { FlowType as FlowType6 } from "@ory/client-fetch";
1262
2012
  import {
1263
2013
  OryProvider,
1264
2014
  OryTwoStepCard
1265
2015
  } from "@ory/elements-react";
1266
2016
  import merge from "lodash.merge";
1267
- import { jsx as jsx43 } from "react/jsx-runtime";
2017
+ import { jsx as jsx63 } from "react/jsx-runtime";
1268
2018
  function Login({
1269
2019
  flow,
1270
2020
  config,
@@ -1272,26 +2022,26 @@ function Login({
1272
2022
  components: flowOverrideComponents
1273
2023
  }) {
1274
2024
  const components = flowOverrideComponents ? merge({}, OryDefaultComponents, flowOverrideComponents) : OryDefaultComponents;
1275
- return /* @__PURE__ */ jsx43(
2025
+ return /* @__PURE__ */ jsx63(
1276
2026
  OryProvider,
1277
2027
  {
1278
2028
  config,
1279
2029
  flow,
1280
- flowType: FlowType4.Login,
2030
+ flowType: FlowType6.Login,
1281
2031
  components,
1282
- children: children != null ? children : /* @__PURE__ */ jsx43(OryTwoStepCard, {})
2032
+ children: children != null ? children : /* @__PURE__ */ jsx63(OryTwoStepCard, {})
1283
2033
  }
1284
2034
  );
1285
2035
  }
1286
2036
 
1287
2037
  // src/theme/default/flows/recovery.tsx
1288
- import { FlowType as FlowType5 } from "@ory/client-fetch";
2038
+ import { FlowType as FlowType7 } from "@ory/client-fetch";
1289
2039
  import {
1290
2040
  OryProvider as OryProvider2,
1291
2041
  OryTwoStepCard as OryTwoStepCard2
1292
2042
  } from "@ory/elements-react";
1293
2043
  import merge2 from "lodash.merge";
1294
- import { jsx as jsx44 } from "react/jsx-runtime";
2044
+ import { jsx as jsx64 } from "react/jsx-runtime";
1295
2045
  function Recovery({
1296
2046
  flow,
1297
2047
  config,
@@ -1299,26 +2049,26 @@ function Recovery({
1299
2049
  components: flowOverrideComponents
1300
2050
  }) {
1301
2051
  const components = flowOverrideComponents ? merge2({}, OryDefaultComponents, flowOverrideComponents) : OryDefaultComponents;
1302
- return /* @__PURE__ */ jsx44(
2052
+ return /* @__PURE__ */ jsx64(
1303
2053
  OryProvider2,
1304
2054
  {
1305
2055
  config,
1306
2056
  flow,
1307
- flowType: FlowType5.Recovery,
2057
+ flowType: FlowType7.Recovery,
1308
2058
  components,
1309
- children: children != null ? children : /* @__PURE__ */ jsx44(OryTwoStepCard2, {})
2059
+ children: children != null ? children : /* @__PURE__ */ jsx64(OryTwoStepCard2, {})
1310
2060
  }
1311
2061
  );
1312
2062
  }
1313
2063
 
1314
2064
  // src/theme/default/flows/registration.tsx
1315
- import { FlowType as FlowType6 } from "@ory/client-fetch";
2065
+ import { FlowType as FlowType8 } from "@ory/client-fetch";
1316
2066
  import {
1317
2067
  OryProvider as OryProvider3,
1318
2068
  OryTwoStepCard as OryTwoStepCard3
1319
2069
  } from "@ory/elements-react";
1320
2070
  import merge3 from "lodash.merge";
1321
- import { jsx as jsx45 } from "react/jsx-runtime";
2071
+ import { jsx as jsx65 } from "react/jsx-runtime";
1322
2072
  function Registration({
1323
2073
  flow,
1324
2074
  children,
@@ -1326,26 +2076,27 @@ function Registration({
1326
2076
  config
1327
2077
  }) {
1328
2078
  const components = flowOverrideComponents ? merge3({}, OryDefaultComponents, flowOverrideComponents) : OryDefaultComponents;
1329
- return /* @__PURE__ */ jsx45(
2079
+ return /* @__PURE__ */ jsx65(
1330
2080
  OryProvider3,
1331
2081
  {
1332
2082
  config,
1333
2083
  flow,
1334
- flowType: FlowType6.Registration,
2084
+ flowType: FlowType8.Registration,
1335
2085
  components,
1336
- children: children != null ? children : /* @__PURE__ */ jsx45(OryTwoStepCard3, {})
2086
+ children: children != null ? children : /* @__PURE__ */ jsx65(OryTwoStepCard3, {})
1337
2087
  }
1338
2088
  );
1339
2089
  }
1340
2090
 
1341
2091
  // src/theme/default/flows/settings.tsx
1342
- import { FlowType as FlowType7 } from "@ory/client-fetch";
2092
+ import { FlowType as FlowType9 } from "@ory/client-fetch";
1343
2093
  import {
2094
+ HeadlessPageHeader,
1344
2095
  OryProvider as OryProvider4,
1345
- OryTwoStepCard as OryTwoStepCard4
2096
+ OrySettingsCard
1346
2097
  } from "@ory/elements-react";
1347
2098
  import merge4 from "lodash.merge";
1348
- import { jsx as jsx46 } from "react/jsx-runtime";
2099
+ import { Fragment as Fragment3, jsx as jsx66, jsxs as jsxs37 } from "react/jsx-runtime";
1349
2100
  function Settings({
1350
2101
  flow,
1351
2102
  config,
@@ -1353,26 +2104,29 @@ function Settings({
1353
2104
  components: flowOverrideComponents
1354
2105
  }) {
1355
2106
  const components = flowOverrideComponents ? merge4({}, OryDefaultComponents, flowOverrideComponents) : OryDefaultComponents;
1356
- return /* @__PURE__ */ jsx46(
2107
+ return /* @__PURE__ */ jsx66(
1357
2108
  OryProvider4,
1358
2109
  {
1359
2110
  config,
1360
2111
  flow,
1361
- flowType: FlowType7.Settings,
2112
+ flowType: FlowType9.Settings,
1362
2113
  components,
1363
- children: children != null ? children : /* @__PURE__ */ jsx46(OryTwoStepCard4, {})
2114
+ children: children != null ? children : /* @__PURE__ */ jsxs37(Fragment3, { children: [
2115
+ /* @__PURE__ */ jsx66(HeadlessPageHeader, {}),
2116
+ /* @__PURE__ */ jsx66(OrySettingsCard, {})
2117
+ ] })
1364
2118
  }
1365
2119
  );
1366
2120
  }
1367
2121
 
1368
2122
  // src/theme/default/flows/verification.tsx
1369
- import { FlowType as FlowType8 } from "@ory/client-fetch";
2123
+ import { FlowType as FlowType10 } from "@ory/client-fetch";
1370
2124
  import {
1371
2125
  OryProvider as OryProvider5,
1372
- OryTwoStepCard as OryTwoStepCard5
2126
+ OryTwoStepCard as OryTwoStepCard4
1373
2127
  } from "@ory/elements-react";
1374
2128
  import merge5 from "lodash.merge";
1375
- import { jsx as jsx47 } from "react/jsx-runtime";
2129
+ import { jsx as jsx67 } from "react/jsx-runtime";
1376
2130
  function Verification({
1377
2131
  flow,
1378
2132
  config,
@@ -1380,14 +2134,14 @@ function Verification({
1380
2134
  components: flowOverrideComponents
1381
2135
  }) {
1382
2136
  const components = flowOverrideComponents ? merge5({}, OryDefaultComponents, flowOverrideComponents) : OryDefaultComponents;
1383
- return /* @__PURE__ */ jsx47(
2137
+ return /* @__PURE__ */ jsx67(
1384
2138
  OryProvider5,
1385
2139
  {
1386
2140
  config,
1387
2141
  flow,
1388
- flowType: FlowType8.Verification,
2142
+ flowType: FlowType10.Verification,
1389
2143
  components,
1390
- children: children != null ? children : /* @__PURE__ */ jsx47(OryTwoStepCard5, {})
2144
+ children: children != null ? children : /* @__PURE__ */ jsx67(OryTwoStepCard4, {})
1391
2145
  }
1392
2146
  );
1393
2147
  }