@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.
- package/CHANGELOG.md +32 -0
- package/api-report/elements-react-theme.api.md +1 -0
- package/api-report/elements-react.api.json +710 -53
- package/api-report/elements-react.api.md +86 -3
- package/api-report/temp/elements-react-theme.api.md +1 -0
- package/api-report/temp/elements-react.api.md +86 -3
- package/dist/index.d.mts +96 -4
- package/dist/index.d.ts +96 -4
- package/dist/index.js +697 -124
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +695 -125
- package/dist/index.mjs.map +1 -1
- package/dist/theme/default/index.css +292 -29
- package/dist/theme/default/index.css.map +1 -1
- package/dist/theme/default/index.js +993 -249
- package/dist/theme/default/index.js.map +1 -1
- package/dist/theme/default/index.mjs +968 -214
- package/dist/theme/default/index.mjs.map +1 -1
- package/jest.config.ts +4 -3
- package/package.json +9 -7
- package/tailwind.config.ts +6 -1
- package/tsconfig.json +5 -5
|
@@ -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 {
|
|
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(
|
|
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
|
|
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
|
-
|
|
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:
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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__ */
|
|
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__ */
|
|
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 =
|
|
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__ */
|
|
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__ */
|
|
794
|
+
/* @__PURE__ */ jsx17(CheckboxSVG, {})
|
|
661
795
|
] }),
|
|
662
796
|
/* @__PURE__ */ jsxs10("div", { className: "text-sm items-center", children: [
|
|
663
|
-
/* @__PURE__ */
|
|
664
|
-
node.messages.map((message) => /* @__PURE__ */
|
|
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:
|
|
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
|
|
814
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
681
815
|
function DefaultGroupContainer({ children }) {
|
|
682
|
-
return /* @__PURE__ */
|
|
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
|
|
820
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
687
821
|
function DefaultHorizontalDivider() {
|
|
688
|
-
return /* @__PURE__ */
|
|
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
|
|
826
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
693
827
|
function DefaultImage({ attributes }) {
|
|
694
|
-
return /* @__PURE__ */
|
|
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
|
|
834
|
+
uiTextToFormattedMessage as uiTextToFormattedMessage5
|
|
701
835
|
} from "@ory/elements-react";
|
|
702
836
|
import { useFormContext as useFormContext2 } from "react-hook-form";
|
|
703
|
-
import { useIntl as
|
|
704
|
-
import { jsx as
|
|
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 =
|
|
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:
|
|
854
|
+
placeholder: uiTextToFormattedMessage5(label, intl)
|
|
721
855
|
}
|
|
722
856
|
) : "";
|
|
723
|
-
return /* @__PURE__ */
|
|
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
|
|
872
|
+
import { FlowType as FlowType5, getNodeLabel as getNodeLabel4 } from "@ory/client-fetch";
|
|
739
873
|
import {
|
|
740
874
|
messageTestId as messageTestId2,
|
|
741
|
-
uiTextToFormattedMessage as
|
|
742
|
-
useOryFlow as
|
|
875
|
+
uiTextToFormattedMessage as uiTextToFormattedMessage6,
|
|
876
|
+
useOryFlow as useOryFlow6
|
|
743
877
|
} from "@ory/elements-react";
|
|
744
|
-
import { useIntl as
|
|
745
|
-
import { jsx as
|
|
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 =
|
|
886
|
+
const intl = useIntl9();
|
|
753
887
|
const label = getNodeLabel4(node);
|
|
754
|
-
const { config, flowType } =
|
|
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__ */
|
|
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:
|
|
900
|
+
children: uiTextToFormattedMessage6(label, intl)
|
|
767
901
|
}
|
|
768
902
|
),
|
|
769
|
-
isPassword && config.project.recovery_enabled && flowType ===
|
|
770
|
-
/* @__PURE__ */
|
|
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__ */
|
|
782
|
-
"
|
|
915
|
+
isCode && /* @__PURE__ */ jsx22(
|
|
916
|
+
"button",
|
|
783
917
|
{
|
|
784
918
|
type: "submit",
|
|
785
|
-
|
|
786
|
-
|
|
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__ */
|
|
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:
|
|
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
|
|
946
|
+
uiTextToFormattedMessage as uiTextToFormattedMessage7
|
|
811
947
|
} from "@ory/elements-react";
|
|
812
948
|
import { forwardRef } from "react";
|
|
813
|
-
import { useIntl as
|
|
814
|
-
import { jsx as
|
|
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 =
|
|
952
|
+
const intl = useIntl10();
|
|
817
953
|
const label = getNodeLabel5(node);
|
|
818
|
-
return /* @__PURE__ */
|
|
954
|
+
return /* @__PURE__ */ jsx23(
|
|
819
955
|
"a",
|
|
820
956
|
{
|
|
821
957
|
...attributes,
|
|
822
958
|
ref,
|
|
823
|
-
title: label ?
|
|
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 ?
|
|
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
|
|
840
|
-
var InputOTP = React7.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
888
|
-
|
|
1023
|
+
return /* @__PURE__ */ jsx25(
|
|
1024
|
+
InputOTP,
|
|
889
1025
|
{
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
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
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
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
|
|
915
|
-
useOryFlow as
|
|
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
|
|
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__ */
|
|
925
|
-
/* @__PURE__ */
|
|
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
|
|
1062
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
933
1063
|
var SvgAuth0 = (props) => {
|
|
934
1064
|
var _a, _b;
|
|
935
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
946
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
959
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
973
|
-
/* @__PURE__ */
|
|
974
|
-
/* @__PURE__ */
|
|
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
|
|
1111
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
982
1112
|
var SvgGithub = (props) => {
|
|
983
1113
|
var _a, _b;
|
|
984
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
995
|
-
/* @__PURE__ */
|
|
996
|
-
/* @__PURE__ */
|
|
997
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1009
|
-
/* @__PURE__ */
|
|
1010
|
-
/* @__PURE__ */
|
|
1011
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1023
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1035
|
-
/* @__PURE__ */
|
|
1036
|
-
/* @__PURE__ */
|
|
1037
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1049
|
-
/* @__PURE__ */
|
|
1050
|
-
/* @__PURE__ */
|
|
1051
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1063
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1075
|
-
/* @__PURE__ */
|
|
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
|
|
1100
|
-
import { jsx as
|
|
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
|
-
} =
|
|
1122
|
-
const intl =
|
|
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__ */
|
|
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__ */
|
|
1147
|
-
showLabel && node.meta.label ? /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
1172
|
-
import { useIntl as
|
|
1173
|
-
import { Fragment, jsx as
|
|
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 =
|
|
1177
|
-
return /* @__PURE__ */ jsxs25(
|
|
1178
|
-
/* @__PURE__ */
|
|
1179
|
-
(_a = attributes.text.context.secrets) == null ? void 0 : _a.map((text, index) => /* @__PURE__ */
|
|
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
|
|
1316
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
1186
1317
|
var SvgArrowLeft = (props) => {
|
|
1187
1318
|
var _a, _b;
|
|
1188
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
1211
|
-
/* @__PURE__ */
|
|
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
|
|
2002
|
+
import { jsx as jsx62 } from "react/jsx-runtime";
|
|
1253
2003
|
function Error({
|
|
1254
2004
|
error,
|
|
1255
2005
|
children
|
|
1256
2006
|
}) {
|
|
1257
|
-
return /* @__PURE__ */
|
|
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
|
|
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
|
|
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__ */
|
|
2025
|
+
return /* @__PURE__ */ jsx63(
|
|
1276
2026
|
OryProvider,
|
|
1277
2027
|
{
|
|
1278
2028
|
config,
|
|
1279
2029
|
flow,
|
|
1280
|
-
flowType:
|
|
2030
|
+
flowType: FlowType6.Login,
|
|
1281
2031
|
components,
|
|
1282
|
-
children: children != null ? children : /* @__PURE__ */
|
|
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
|
|
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
|
|
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__ */
|
|
2052
|
+
return /* @__PURE__ */ jsx64(
|
|
1303
2053
|
OryProvider2,
|
|
1304
2054
|
{
|
|
1305
2055
|
config,
|
|
1306
2056
|
flow,
|
|
1307
|
-
flowType:
|
|
2057
|
+
flowType: FlowType7.Recovery,
|
|
1308
2058
|
components,
|
|
1309
|
-
children: children != null ? children : /* @__PURE__ */
|
|
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
|
|
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
|
|
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__ */
|
|
2079
|
+
return /* @__PURE__ */ jsx65(
|
|
1330
2080
|
OryProvider3,
|
|
1331
2081
|
{
|
|
1332
2082
|
config,
|
|
1333
2083
|
flow,
|
|
1334
|
-
flowType:
|
|
2084
|
+
flowType: FlowType8.Registration,
|
|
1335
2085
|
components,
|
|
1336
|
-
children: children != null ? children : /* @__PURE__ */
|
|
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
|
|
2092
|
+
import { FlowType as FlowType9 } from "@ory/client-fetch";
|
|
1343
2093
|
import {
|
|
2094
|
+
HeadlessPageHeader,
|
|
1344
2095
|
OryProvider as OryProvider4,
|
|
1345
|
-
|
|
2096
|
+
OrySettingsCard
|
|
1346
2097
|
} from "@ory/elements-react";
|
|
1347
2098
|
import merge4 from "lodash.merge";
|
|
1348
|
-
import { jsx as
|
|
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__ */
|
|
2107
|
+
return /* @__PURE__ */ jsx66(
|
|
1357
2108
|
OryProvider4,
|
|
1358
2109
|
{
|
|
1359
2110
|
config,
|
|
1360
2111
|
flow,
|
|
1361
|
-
flowType:
|
|
2112
|
+
flowType: FlowType9.Settings,
|
|
1362
2113
|
components,
|
|
1363
|
-
children: children != null ? children : /* @__PURE__ */
|
|
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
|
|
2123
|
+
import { FlowType as FlowType10 } from "@ory/client-fetch";
|
|
1370
2124
|
import {
|
|
1371
2125
|
OryProvider as OryProvider5,
|
|
1372
|
-
OryTwoStepCard as
|
|
2126
|
+
OryTwoStepCard as OryTwoStepCard4
|
|
1373
2127
|
} from "@ory/elements-react";
|
|
1374
2128
|
import merge5 from "lodash.merge";
|
|
1375
|
-
import { jsx as
|
|
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__ */
|
|
2137
|
+
return /* @__PURE__ */ jsx67(
|
|
1384
2138
|
OryProvider5,
|
|
1385
2139
|
{
|
|
1386
2140
|
config,
|
|
1387
2141
|
flow,
|
|
1388
|
-
flowType:
|
|
2142
|
+
flowType: FlowType10.Verification,
|
|
1389
2143
|
components,
|
|
1390
|
-
children: children != null ? children : /* @__PURE__ */
|
|
2144
|
+
children: children != null ? children : /* @__PURE__ */ jsx67(OryTwoStepCard4, {})
|
|
1391
2145
|
}
|
|
1392
2146
|
);
|
|
1393
2147
|
}
|