@ory/elements-react 1.2.0-rc.0 → 1.2.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +229 -51
- package/dist/index.d.ts +229 -51
- package/dist/index.js +637 -268
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +632 -272
- package/dist/index.mjs.map +1 -1
- package/dist/theme/default/index.css +68 -9
- package/dist/theme/default/index.css.map +1 -1
- package/dist/theme/default/index.d.mts +1 -6
- package/dist/theme/default/index.d.ts +1 -6
- package/dist/theme/default/index.js +1411 -1054
- package/dist/theme/default/index.js.map +1 -1
- package/dist/theme/default/index.mjs +1308 -956
- package/dist/theme/default/index.mjs.map +1 -1
- package/package.json +2 -1
- package/tailwind/generated/variables.css +0 -3
- package/babel.config.js +0 -10
|
@@ -41,16 +41,16 @@ function DefaultCardContent({ children }) {
|
|
|
41
41
|
// src/theme/default/components/card/footer.tsx
|
|
42
42
|
import { FlowType as FlowType11 } from "@ory/client-fetch";
|
|
43
43
|
import {
|
|
44
|
-
|
|
44
|
+
Node as Node2,
|
|
45
45
|
useOryConfiguration as useOryConfiguration2,
|
|
46
46
|
useOryFlow as useOryFlow3
|
|
47
47
|
} from "@ory/elements-react";
|
|
48
|
-
import { useIntl as
|
|
48
|
+
import { useIntl as useIntl10 } from "react-intl";
|
|
49
49
|
|
|
50
50
|
// src/components/card/two-step/state-select-method.tsx
|
|
51
51
|
import {
|
|
52
|
-
isUiNodeScriptAttributes as
|
|
53
|
-
UiNodeGroupEnum as
|
|
52
|
+
isUiNodeScriptAttributes as isUiNodeScriptAttributes5,
|
|
53
|
+
UiNodeGroupEnum as UiNodeGroupEnum15
|
|
54
54
|
} from "@ory/client-fetch";
|
|
55
55
|
|
|
56
56
|
// src/context/component.tsx
|
|
@@ -66,6 +66,13 @@ var ComponentContext = createContext({
|
|
|
66
66
|
nodeSorter: () => 0,
|
|
67
67
|
groupSorter: () => 0
|
|
68
68
|
});
|
|
69
|
+
function useComponents() {
|
|
70
|
+
const ctx = useContext(ComponentContext);
|
|
71
|
+
if (!ctx) {
|
|
72
|
+
throw new Error("useComponents must be used within a ComponentProvider");
|
|
73
|
+
}
|
|
74
|
+
return ctx.components;
|
|
75
|
+
}
|
|
69
76
|
var defaultGroupOrder = [
|
|
70
77
|
UiNodeGroupEnum.Default,
|
|
71
78
|
UiNodeGroupEnum.Profile,
|
|
@@ -104,6 +111,33 @@ import {
|
|
|
104
111
|
} from "@ory/client-fetch";
|
|
105
112
|
import { UiNodeGroupEnum as UiNodeGroupEnum2 } from "@ory/client-fetch";
|
|
106
113
|
import { useMemo } from "react";
|
|
114
|
+
function triggerToWindowCall(trigger) {
|
|
115
|
+
if (!trigger) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const fn = triggerToFunction(trigger);
|
|
119
|
+
if (fn) {
|
|
120
|
+
fn();
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
let i = 0;
|
|
124
|
+
const ms = 100;
|
|
125
|
+
const interval = setInterval(() => {
|
|
126
|
+
i++;
|
|
127
|
+
if (i > 100) {
|
|
128
|
+
clearInterval(interval);
|
|
129
|
+
throw new Error(
|
|
130
|
+
"Unable to load Ory's WebAuthn script. Is it being blocked or otherwise failing to load? If you are running an old version of Ory Elements, please upgrade. For more information, please check your browser's developer console."
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
const fn2 = triggerToFunction(trigger);
|
|
134
|
+
if (fn2) {
|
|
135
|
+
clearInterval(interval);
|
|
136
|
+
return fn2();
|
|
137
|
+
}
|
|
138
|
+
}, ms);
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
107
141
|
function triggerToFunction(trigger) {
|
|
108
142
|
if (typeof window === "undefined") {
|
|
109
143
|
console.debug(
|
|
@@ -319,11 +353,7 @@ import { jsx as jsx7 } from "react/jsx-runtime";
|
|
|
319
353
|
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
320
354
|
|
|
321
355
|
// src/components/form/social.tsx
|
|
322
|
-
import {
|
|
323
|
-
getNodeId,
|
|
324
|
-
UiNodeGroupEnum as UiNodeGroupEnum7
|
|
325
|
-
} from "@ory/client-fetch";
|
|
326
|
-
import { useFormContext as useFormContext3 } from "react-hook-form";
|
|
356
|
+
import { getNodeId, UiNodeGroupEnum as UiNodeGroupEnum10 } from "@ory/client-fetch";
|
|
327
357
|
|
|
328
358
|
// src/components/form/form-provider.tsx
|
|
329
359
|
import { UiNodeGroupEnum as UiNodeGroupEnum6 } from "@ory/client-fetch";
|
|
@@ -335,81 +365,193 @@ import { isUiNodeInputAttributes as isUiNodeInputAttributes5 } from "@ory/client
|
|
|
335
365
|
// src/components/form/form-provider.tsx
|
|
336
366
|
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
337
367
|
|
|
338
|
-
// src/components/form/
|
|
339
|
-
import {
|
|
340
|
-
|
|
341
|
-
// src/components/form/settings-section.tsx
|
|
342
|
-
import { useFormContext as useFormContext4 } from "react-hook-form";
|
|
343
|
-
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
344
|
-
|
|
345
|
-
// src/components/generic/divider.tsx
|
|
346
|
-
import { UiNodeGroupEnum as UiNodeGroupEnum8 } from "@ory/client-fetch";
|
|
347
|
-
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
348
|
-
|
|
349
|
-
// src/components/generic/page-header.tsx
|
|
350
|
-
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
351
|
-
|
|
352
|
-
// src/components/settings/settings-card.tsx
|
|
353
|
-
import {
|
|
354
|
-
getNodeId as getNodeId2,
|
|
355
|
-
isUiNodeScriptAttributes as isUiNodeScriptAttributes4,
|
|
356
|
-
UiNodeGroupEnum as UiNodeGroupEnum11
|
|
357
|
-
} from "@ory/client-fetch";
|
|
358
|
-
import { useEffect as useEffect2 } from "react";
|
|
359
|
-
import { useIntl as useIntl7 } from "react-intl";
|
|
360
|
-
import { Toaster } from "sonner";
|
|
368
|
+
// src/components/form/nodes/node.tsx
|
|
369
|
+
import { UiNodeGroupEnum as UiNodeGroupEnum9 } from "@ory/client-fetch";
|
|
361
370
|
|
|
362
|
-
// src/util/
|
|
363
|
-
|
|
364
|
-
|
|
371
|
+
// src/util/utilFixSDKTypesHelper.ts
|
|
372
|
+
function isUiNodeInput(node) {
|
|
373
|
+
return node.type === "input";
|
|
374
|
+
}
|
|
375
|
+
function isUiNodeImage(node) {
|
|
376
|
+
return node.type === "img";
|
|
377
|
+
}
|
|
378
|
+
function isUiNodeAnchor(node) {
|
|
379
|
+
return node.type === "a";
|
|
380
|
+
}
|
|
381
|
+
function isUiNodeText(node) {
|
|
382
|
+
return node.type === "text";
|
|
383
|
+
}
|
|
384
|
+
function isUiNodeScript(node) {
|
|
385
|
+
return node.type === "script";
|
|
386
|
+
}
|
|
365
387
|
|
|
366
388
|
// src/components/form/nodes/input.tsx
|
|
367
389
|
import {
|
|
368
|
-
UiNodeGroupEnum as
|
|
390
|
+
UiNodeGroupEnum as UiNodeGroupEnum8,
|
|
369
391
|
UiNodeInputAttributesTypeEnum
|
|
370
392
|
} from "@ory/client-fetch";
|
|
371
|
-
import { useEffect, useRef as useRef2 } from "react";
|
|
372
|
-
import { useFormContext as
|
|
373
|
-
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
393
|
+
import { useEffect as useEffect3, useRef as useRef2 } from "react";
|
|
394
|
+
import { useFormContext as useFormContext6 } from "react-hook-form";
|
|
374
395
|
|
|
375
|
-
// src/components/form/nodes/
|
|
376
|
-
import {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
396
|
+
// src/components/form/nodes/renderer/consent-checkbox-renderer.tsx
|
|
397
|
+
import { useMemo as useMemo2 } from "react";
|
|
398
|
+
import { useFormContext as useFormContext3 } from "react-hook-form";
|
|
399
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
400
|
+
function ConsentCheckboxRenderer({ node }) {
|
|
401
|
+
const attributes = node.attributes;
|
|
402
|
+
const { Node: Node5 } = useComponents();
|
|
403
|
+
const { setValue, watch, formState } = useFormContext3();
|
|
404
|
+
const scopes = watch("grant_scope");
|
|
405
|
+
const checked = useMemo2(() => {
|
|
406
|
+
if (Array.isArray(scopes)) {
|
|
407
|
+
return scopes.includes(attributes.value);
|
|
408
|
+
}
|
|
409
|
+
return false;
|
|
410
|
+
}, [scopes, attributes.value]);
|
|
411
|
+
const handleScopeChange = (checked2) => {
|
|
412
|
+
const scopes2 = watch("grant_scope");
|
|
413
|
+
if (Array.isArray(scopes2)) {
|
|
414
|
+
if (checked2) {
|
|
415
|
+
setValue(
|
|
416
|
+
"grant_scope",
|
|
417
|
+
Array.from(/* @__PURE__ */ new Set([...scopes2, attributes.value]))
|
|
418
|
+
);
|
|
419
|
+
} else {
|
|
420
|
+
setValue(
|
|
421
|
+
"grant_scope",
|
|
422
|
+
scopes2.filter((scope) => scope !== attributes.value)
|
|
423
|
+
);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
};
|
|
427
|
+
const inputProps = {
|
|
428
|
+
value: attributes.value,
|
|
429
|
+
checked: checked === true,
|
|
430
|
+
disabled: attributes.disabled || !formState.isReady,
|
|
431
|
+
name: attributes.name
|
|
432
|
+
};
|
|
433
|
+
return /* @__PURE__ */ jsx10(
|
|
434
|
+
Node5.ConsentScopeCheckbox,
|
|
435
|
+
{
|
|
436
|
+
attributes,
|
|
437
|
+
node,
|
|
438
|
+
inputProps,
|
|
439
|
+
onCheckedChange: handleScopeChange
|
|
440
|
+
}
|
|
441
|
+
);
|
|
442
|
+
}
|
|
385
443
|
|
|
386
|
-
// src/components/
|
|
387
|
-
import {
|
|
388
|
-
import { useFormContext as useFormContext6 } from "react-hook-form";
|
|
389
|
-
import { Fragment, jsx as jsx17, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
444
|
+
// src/components/form/nodes/node-button.tsx
|
|
445
|
+
import { UiNodeGroupEnum as UiNodeGroupEnum7 } from "@ory/client-fetch";
|
|
390
446
|
|
|
391
|
-
// src/components/
|
|
392
|
-
import {
|
|
393
|
-
import {
|
|
394
|
-
import {
|
|
447
|
+
// src/components/form/nodes/renderer/button-renderer.tsx
|
|
448
|
+
import { useCallback, useEffect } from "react";
|
|
449
|
+
import { useFormContext as useFormContext4 } from "react-hook-form";
|
|
450
|
+
import { useDebounceValue } from "usehooks-ts";
|
|
451
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
452
|
+
function ButtonRenderer({ node }) {
|
|
453
|
+
const { Node: Node5 } = useComponents();
|
|
454
|
+
const { formState, setValue } = useFormContext4();
|
|
455
|
+
const [clicked, setClicked] = useDebounceValue(false, 100);
|
|
456
|
+
const handleClick = useCallback(() => {
|
|
457
|
+
setValue(node.attributes.name, node.attributes.value);
|
|
458
|
+
setClicked(true);
|
|
459
|
+
if (node.attributes.onclickTrigger) {
|
|
460
|
+
triggerToWindowCall(node.attributes.onclickTrigger);
|
|
461
|
+
}
|
|
462
|
+
}, [node.attributes, setValue, setClicked]);
|
|
463
|
+
const buttonProps = {
|
|
464
|
+
type: node.attributes.type === "submit" ? "submit" : "button",
|
|
465
|
+
name: node.attributes.name,
|
|
466
|
+
value: node.attributes.value,
|
|
467
|
+
onClick: handleClick,
|
|
468
|
+
disabled: node.attributes.disabled || !formState.isReady || formState.isSubmitting
|
|
469
|
+
};
|
|
470
|
+
useEffect(() => {
|
|
471
|
+
if (!formState.isSubmitting) {
|
|
472
|
+
setClicked(false);
|
|
473
|
+
}
|
|
474
|
+
}, [formState.isSubmitting, setClicked]);
|
|
475
|
+
return /* @__PURE__ */ jsx11(
|
|
476
|
+
Node5.Button,
|
|
477
|
+
{
|
|
478
|
+
attributes: node.attributes,
|
|
479
|
+
node,
|
|
480
|
+
buttonProps,
|
|
481
|
+
isSubmitting: clicked
|
|
482
|
+
}
|
|
483
|
+
);
|
|
484
|
+
}
|
|
395
485
|
|
|
396
|
-
// src/components/
|
|
397
|
-
import {
|
|
398
|
-
import {
|
|
399
|
-
|
|
486
|
+
// src/components/form/nodes/renderer/checkbox-renderer.tsx
|
|
487
|
+
import { useController } from "react-hook-form";
|
|
488
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
489
|
+
function CheckboxRenderer({ node }) {
|
|
490
|
+
const attributes = node.attributes;
|
|
491
|
+
const { Node: Node5 } = useComponents();
|
|
492
|
+
const controller = useController({
|
|
493
|
+
name: attributes.name,
|
|
494
|
+
defaultValue: attributes.value,
|
|
495
|
+
disabled: attributes.disabled
|
|
496
|
+
});
|
|
497
|
+
const inputProps = {
|
|
498
|
+
...controller.field,
|
|
499
|
+
type: "checkbox",
|
|
500
|
+
value: controller.field.value === true ? "true" : "false",
|
|
501
|
+
checked: controller.field.value === true,
|
|
502
|
+
disabled: attributes.disabled || !controller.formState.isReady
|
|
503
|
+
};
|
|
504
|
+
return /* @__PURE__ */ jsx12(
|
|
505
|
+
Node5.Label,
|
|
506
|
+
{
|
|
507
|
+
attributes: { ...attributes, label: void 0 },
|
|
508
|
+
node: { ...node, meta: { ...node.meta, label: void 0 } },
|
|
509
|
+
fieldError: controller.fieldState.error,
|
|
510
|
+
children: /* @__PURE__ */ jsx12(
|
|
511
|
+
Node5.Checkbox,
|
|
512
|
+
{
|
|
513
|
+
attributes,
|
|
514
|
+
node,
|
|
515
|
+
inputProps,
|
|
516
|
+
onClick: () => {
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
)
|
|
520
|
+
}
|
|
521
|
+
);
|
|
522
|
+
}
|
|
400
523
|
|
|
401
|
-
// src/components/
|
|
402
|
-
import {
|
|
403
|
-
|
|
404
|
-
|
|
524
|
+
// src/components/form/nodes/renderer/image-renderer.tsx
|
|
525
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
526
|
+
function ImageRenderer({ node }) {
|
|
527
|
+
const { Node: Node5 } = useComponents();
|
|
528
|
+
return /* @__PURE__ */ jsx13(Node5.Image, { node, attributes: node.attributes });
|
|
529
|
+
}
|
|
405
530
|
|
|
406
|
-
// src/components/
|
|
407
|
-
import {
|
|
408
|
-
import { useIntl as
|
|
409
|
-
import {
|
|
531
|
+
// src/components/form/nodes/renderer/input-renderer.tsx
|
|
532
|
+
import { getNodeLabel } from "@ory/client-fetch";
|
|
533
|
+
import { useIntl as useIntl2 } from "react-intl";
|
|
534
|
+
import { useFormState } from "react-hook-form";
|
|
410
535
|
|
|
411
|
-
// src/
|
|
412
|
-
|
|
536
|
+
// src/util/nodes.ts
|
|
537
|
+
function findScreenSelectionButton(nodes) {
|
|
538
|
+
return nodes.find(
|
|
539
|
+
(node) => node.attributes.node_type === "input" && node.attributes.type === "submit" && node.attributes.name === "screen"
|
|
540
|
+
);
|
|
541
|
+
}
|
|
542
|
+
function isDynamicText(text) {
|
|
543
|
+
return text.id === 1070002 && !!text.context && "name" in text.context && typeof text.context["name"] === "string";
|
|
544
|
+
}
|
|
545
|
+
function resolveLabel(text, intl) {
|
|
546
|
+
if (isDynamicText(text)) {
|
|
547
|
+
const field = text.context.name;
|
|
548
|
+
return intl.formatMessage({
|
|
549
|
+
id: `forms.label.${field}`,
|
|
550
|
+
defaultMessage: text.text
|
|
551
|
+
});
|
|
552
|
+
}
|
|
553
|
+
return uiTextToFormattedMessage(text, intl);
|
|
554
|
+
}
|
|
413
555
|
|
|
414
556
|
// src/util/i18n/index.ts
|
|
415
557
|
var uiTextToFormattedMessage = ({ id, context = {}, text }, intl) => {
|
|
@@ -466,6 +608,342 @@ var uiTextToFormattedMessage = ({ id, context = {}, text }, intl) => {
|
|
|
466
608
|
contextInjectedMessage
|
|
467
609
|
);
|
|
468
610
|
};
|
|
611
|
+
function resolvePlaceholder(text, intl) {
|
|
612
|
+
const fallback = intl.formatMessage(
|
|
613
|
+
{
|
|
614
|
+
id: "input.placeholder",
|
|
615
|
+
defaultMessage: "Enter your {placeholder}"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
placeholder: uiTextToFormattedMessage(text, intl)
|
|
619
|
+
}
|
|
620
|
+
);
|
|
621
|
+
if (isDynamicText(text)) {
|
|
622
|
+
const field = text.context.name;
|
|
623
|
+
return intl.formatMessage({
|
|
624
|
+
id: `forms.input.placeholder.${field}`,
|
|
625
|
+
defaultMessage: fallback
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
return fallback;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
// src/components/form/nodes/hooks/useInputProps.tsx
|
|
632
|
+
import { useController as useController2 } from "react-hook-form";
|
|
633
|
+
function useInputProps(attributes, placeholder) {
|
|
634
|
+
const controller = useController2({
|
|
635
|
+
name: attributes.name,
|
|
636
|
+
control: void 0,
|
|
637
|
+
disabled: attributes.disabled,
|
|
638
|
+
shouldUnregister: true
|
|
639
|
+
// TODO: consider adding rules based on attributes.required, attributes.pattern, etc.
|
|
640
|
+
});
|
|
641
|
+
const handleClick = () => {
|
|
642
|
+
if (attributes.onclickTrigger) {
|
|
643
|
+
triggerToWindowCall(attributes.onclickTrigger);
|
|
644
|
+
}
|
|
645
|
+
};
|
|
646
|
+
return {
|
|
647
|
+
...controller.field,
|
|
648
|
+
type: attributes.type,
|
|
649
|
+
onClick: handleClick,
|
|
650
|
+
maxLength: attributes.maxlength,
|
|
651
|
+
autoComplete: attributes.autocomplete,
|
|
652
|
+
placeholder: placeholder || "",
|
|
653
|
+
disabled: attributes.disabled || !controller.formState.isReady
|
|
654
|
+
};
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
// src/components/form/nodes/renderer/input-renderer.tsx
|
|
658
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
659
|
+
function InputRenderer({ node }) {
|
|
660
|
+
const { Node: Node5 } = useComponents();
|
|
661
|
+
const label = getNodeLabel(node);
|
|
662
|
+
const intl = useIntl2();
|
|
663
|
+
const formState = useFormState();
|
|
664
|
+
const attributes = node.attributes;
|
|
665
|
+
const placeholder = label ? resolvePlaceholder(label, intl) : "";
|
|
666
|
+
const inputProps = useInputProps(attributes, placeholder);
|
|
667
|
+
const isPinCodeInput = attributes.name === "code" && node.group === "code" || attributes.name === "totp_code" && node.group === "totp";
|
|
668
|
+
const InputComponent = isPinCodeInput ? Node5.CodeInput : Node5.Input;
|
|
669
|
+
return /* @__PURE__ */ jsx14(
|
|
670
|
+
Node5.Label,
|
|
671
|
+
{
|
|
672
|
+
attributes,
|
|
673
|
+
node,
|
|
674
|
+
fieldError: formState.errors[attributes.name],
|
|
675
|
+
children: /* @__PURE__ */ jsx14(
|
|
676
|
+
InputComponent,
|
|
677
|
+
{
|
|
678
|
+
attributes,
|
|
679
|
+
node,
|
|
680
|
+
onClick: inputProps.onClick,
|
|
681
|
+
inputProps
|
|
682
|
+
}
|
|
683
|
+
)
|
|
684
|
+
}
|
|
685
|
+
);
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
// src/components/form/nodes/renderer/sso-button-renderer.tsx
|
|
689
|
+
import { useCallback as useCallback2, useEffect as useEffect2 } from "react";
|
|
690
|
+
import { useFormContext as useFormContext5 } from "react-hook-form";
|
|
691
|
+
import { useDebounceValue as useDebounceValue2 } from "usehooks-ts";
|
|
692
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
693
|
+
function extractProvider(context) {
|
|
694
|
+
if (context && typeof context === "object" && "provider" in context && typeof context.provider === "string") {
|
|
695
|
+
return context.provider;
|
|
696
|
+
}
|
|
697
|
+
return void 0;
|
|
698
|
+
}
|
|
699
|
+
function SSOButtonRenderer({ node }) {
|
|
700
|
+
var _a, _b;
|
|
701
|
+
const { Node: Node5 } = useComponents();
|
|
702
|
+
const attributes = node.attributes;
|
|
703
|
+
const {
|
|
704
|
+
setValue,
|
|
705
|
+
formState: { isSubmitting, isReady }
|
|
706
|
+
} = useFormContext5();
|
|
707
|
+
const [clicked, setClicked] = useDebounceValue2(false, 100);
|
|
708
|
+
useEffect2(() => {
|
|
709
|
+
if (!isSubmitting) {
|
|
710
|
+
setClicked(false);
|
|
711
|
+
}
|
|
712
|
+
}, [isSubmitting, setClicked]);
|
|
713
|
+
const clickHandler = useCallback2(() => {
|
|
714
|
+
setValue("provider", attributes.value);
|
|
715
|
+
setValue("method", node.group);
|
|
716
|
+
setClicked(true);
|
|
717
|
+
}, [setValue, attributes.value, node.group, setClicked]);
|
|
718
|
+
const buttonProps = {
|
|
719
|
+
type: "submit",
|
|
720
|
+
name: attributes.name,
|
|
721
|
+
value: attributes.value,
|
|
722
|
+
onClick: clickHandler,
|
|
723
|
+
disabled: attributes.disabled || !isReady || isSubmitting
|
|
724
|
+
};
|
|
725
|
+
const provider = (_b = extractProvider((_a = node.meta.label) == null ? void 0 : _a.context)) != null ? _b : "";
|
|
726
|
+
return /* @__PURE__ */ jsx15(
|
|
727
|
+
Node5.SsoButton,
|
|
728
|
+
{
|
|
729
|
+
node,
|
|
730
|
+
attributes,
|
|
731
|
+
buttonProps,
|
|
732
|
+
provider,
|
|
733
|
+
isSubmitting: clicked
|
|
734
|
+
}
|
|
735
|
+
);
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
// src/components/form/nodes/renderer/text-renderer.tsx
|
|
739
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
740
|
+
function TextRenderer({ node }) {
|
|
741
|
+
const { Node: Node5 } = useComponents();
|
|
742
|
+
return /* @__PURE__ */ jsx16(Node5.Text, { node, attributes: node.attributes });
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
// src/components/form/nodes/renderer/index.ts
|
|
746
|
+
var NodeRenderer = {
|
|
747
|
+
Button: ButtonRenderer,
|
|
748
|
+
SsoButton: SSOButtonRenderer,
|
|
749
|
+
ConsentCheckbox: ConsentCheckboxRenderer,
|
|
750
|
+
Input: InputRenderer,
|
|
751
|
+
Checkbox: CheckboxRenderer,
|
|
752
|
+
Image: ImageRenderer,
|
|
753
|
+
Text: TextRenderer
|
|
754
|
+
};
|
|
755
|
+
|
|
756
|
+
// src/components/form/nodes/node-button.tsx
|
|
757
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
758
|
+
function NodeButton({ node }) {
|
|
759
|
+
var _a;
|
|
760
|
+
const isResendNode = ((_a = node.meta.label) == null ? void 0 : _a.id) === 1070008;
|
|
761
|
+
const isScreenSelectionNode = "name" in node.attributes && node.attributes.name === "screen";
|
|
762
|
+
if (isResendNode || isScreenSelectionNode) {
|
|
763
|
+
return null;
|
|
764
|
+
}
|
|
765
|
+
if (node.group === "oauth2_consent") {
|
|
766
|
+
return null;
|
|
767
|
+
}
|
|
768
|
+
const isSocial = (node.attributes.name === "provider" || node.attributes.name === "link") && (node.group === UiNodeGroupEnum7.Oidc || node.group === UiNodeGroupEnum7.Saml);
|
|
769
|
+
if (isSocial) {
|
|
770
|
+
return /* @__PURE__ */ jsx17(NodeRenderer.SsoButton, { node });
|
|
771
|
+
}
|
|
772
|
+
return /* @__PURE__ */ jsx17(NodeRenderer.Button, { node });
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
// src/components/form/nodes/renderer/hidden-input-renderer.tsx
|
|
776
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
777
|
+
function HiddenInputRenderer({ node }) {
|
|
778
|
+
const { Node: Node5 } = useComponents();
|
|
779
|
+
const attributes = node.attributes;
|
|
780
|
+
const inputProps = useInputProps(attributes);
|
|
781
|
+
return /* @__PURE__ */ jsx18(
|
|
782
|
+
Node5.Input,
|
|
783
|
+
{
|
|
784
|
+
inputProps,
|
|
785
|
+
attributes,
|
|
786
|
+
node,
|
|
787
|
+
onClick: () => {
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
);
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
// src/components/form/nodes/input.tsx
|
|
794
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
795
|
+
var NodeInput = ({
|
|
796
|
+
node,
|
|
797
|
+
attributes
|
|
798
|
+
}) => {
|
|
799
|
+
var _a;
|
|
800
|
+
const { setValue } = useFormContext6();
|
|
801
|
+
const {
|
|
802
|
+
onloadTrigger,
|
|
803
|
+
// These properties do not exist on input fields so we remove them (as we already have handled them).
|
|
804
|
+
onclick: _ignoredOnclick,
|
|
805
|
+
onload: _ignoredOnload,
|
|
806
|
+
//
|
|
807
|
+
...attrs
|
|
808
|
+
} = attributes;
|
|
809
|
+
const isResendNode = ((_a = node.meta.label) == null ? void 0 : _a.id) === 1070008;
|
|
810
|
+
const isScreenSelectionNode = "name" in node.attributes && node.attributes.name === "screen";
|
|
811
|
+
const setFormValue = () => {
|
|
812
|
+
if (attrs.value && !(isResendNode || isScreenSelectionNode || node.group === UiNodeGroupEnum8.Oauth2Consent)) {
|
|
813
|
+
setValue(attrs.name, attrs.value);
|
|
814
|
+
}
|
|
815
|
+
};
|
|
816
|
+
const hasRun = useRef2(false);
|
|
817
|
+
useEffect3(
|
|
818
|
+
() => {
|
|
819
|
+
setFormValue();
|
|
820
|
+
if (!hasRun.current && onloadTrigger) {
|
|
821
|
+
hasRun.current = true;
|
|
822
|
+
triggerToWindowCall(onloadTrigger);
|
|
823
|
+
}
|
|
824
|
+
},
|
|
825
|
+
// TODO(jonas): make sure onloadTrigger is stable
|
|
826
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps -- ignore onloadTrigger for now, until we make sure this is stable
|
|
827
|
+
[]
|
|
828
|
+
);
|
|
829
|
+
switch (attributes.type) {
|
|
830
|
+
case UiNodeInputAttributesTypeEnum.Submit:
|
|
831
|
+
case UiNodeInputAttributesTypeEnum.Button: {
|
|
832
|
+
return /* @__PURE__ */ jsx19(NodeButton, { node });
|
|
833
|
+
}
|
|
834
|
+
case UiNodeInputAttributesTypeEnum.DatetimeLocal:
|
|
835
|
+
throw new Error("Not implemented");
|
|
836
|
+
case UiNodeInputAttributesTypeEnum.Checkbox:
|
|
837
|
+
if (node.group === "oauth2_consent" && node.attributes.node_type === "input") {
|
|
838
|
+
switch (node.attributes.name) {
|
|
839
|
+
case "grant_scope":
|
|
840
|
+
return /* @__PURE__ */ jsx19(ConsentCheckboxRenderer, { node });
|
|
841
|
+
default:
|
|
842
|
+
return null;
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
return /* @__PURE__ */ jsx19(CheckboxRenderer, { node });
|
|
846
|
+
case UiNodeInputAttributesTypeEnum.Hidden:
|
|
847
|
+
return /* @__PURE__ */ jsx19(HiddenInputRenderer, { node });
|
|
848
|
+
default:
|
|
849
|
+
return /* @__PURE__ */ jsx19(InputRenderer, { node });
|
|
850
|
+
}
|
|
851
|
+
};
|
|
852
|
+
|
|
853
|
+
// src/components/form/nodes/node.tsx
|
|
854
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
855
|
+
var ignoredScriptGroups = ["captcha"];
|
|
856
|
+
var NodeBase = ({ node }) => {
|
|
857
|
+
const { Node: Node5 } = useComponents();
|
|
858
|
+
if (node.group === UiNodeGroupEnum9.Captcha) {
|
|
859
|
+
return /* @__PURE__ */ jsx20(Node5.Captcha, { node });
|
|
860
|
+
}
|
|
861
|
+
if (isUiNodeImage(node)) {
|
|
862
|
+
return /* @__PURE__ */ jsx20(NodeRenderer.Image, { node });
|
|
863
|
+
} else if (isUiNodeText(node)) {
|
|
864
|
+
return /* @__PURE__ */ jsx20(NodeRenderer.Text, { node });
|
|
865
|
+
} else if (isUiNodeInput(node)) {
|
|
866
|
+
return /* @__PURE__ */ jsx20(NodeInput, { node, attributes: node.attributes });
|
|
867
|
+
} else if (isUiNodeAnchor(node)) {
|
|
868
|
+
return /* @__PURE__ */ jsx20(Node5.Anchor, { attributes: node.attributes, node });
|
|
869
|
+
} else if (isUiNodeScript(node) && !ignoredScriptGroups.includes(node.group)) {
|
|
870
|
+
const {
|
|
871
|
+
crossorigin,
|
|
872
|
+
referrerpolicy,
|
|
873
|
+
node_type: _nodeType,
|
|
874
|
+
...attributes
|
|
875
|
+
} = node.attributes;
|
|
876
|
+
return /* @__PURE__ */ jsx20(
|
|
877
|
+
"script",
|
|
878
|
+
{
|
|
879
|
+
crossOrigin: crossorigin,
|
|
880
|
+
referrerPolicy: referrerpolicy,
|
|
881
|
+
...attributes
|
|
882
|
+
}
|
|
883
|
+
);
|
|
884
|
+
}
|
|
885
|
+
return null;
|
|
886
|
+
};
|
|
887
|
+
var Node = Object.assign(NodeBase, NodeRenderer);
|
|
888
|
+
|
|
889
|
+
// src/components/form/social.tsx
|
|
890
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
891
|
+
|
|
892
|
+
// src/components/form/settings-section.tsx
|
|
893
|
+
import { useFormContext as useFormContext7 } from "react-hook-form";
|
|
894
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
895
|
+
|
|
896
|
+
// src/components/form/useResendCode.ts
|
|
897
|
+
import { useCallback as useCallback3 } from "react";
|
|
898
|
+
|
|
899
|
+
// src/components/generic/divider.tsx
|
|
900
|
+
import { UiNodeGroupEnum as UiNodeGroupEnum11 } from "@ory/client-fetch";
|
|
901
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
902
|
+
|
|
903
|
+
// src/components/generic/page-header.tsx
|
|
904
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
905
|
+
|
|
906
|
+
// src/components/settings/settings-card.tsx
|
|
907
|
+
import {
|
|
908
|
+
getNodeId as getNodeId2,
|
|
909
|
+
isUiNodeScriptAttributes as isUiNodeScriptAttributes3,
|
|
910
|
+
UiNodeGroupEnum as UiNodeGroupEnum12
|
|
911
|
+
} from "@ory/client-fetch";
|
|
912
|
+
import { useEffect as useEffect4 } from "react";
|
|
913
|
+
import { useIntl as useIntl8 } from "react-intl";
|
|
914
|
+
import { Toaster } from "sonner";
|
|
915
|
+
|
|
916
|
+
// src/util/showToast.tsx
|
|
917
|
+
import { toast as sonnerToast } from "sonner";
|
|
918
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
919
|
+
|
|
920
|
+
// src/components/settings/oidc-settings.tsx
|
|
921
|
+
import { useFormContext as useFormContext8 } from "react-hook-form";
|
|
922
|
+
import { useIntl as useIntl3 } from "react-intl";
|
|
923
|
+
import { Fragment, jsx as jsx26, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
924
|
+
|
|
925
|
+
// src/components/settings/passkey-settings.tsx
|
|
926
|
+
import { useFormContext as useFormContext9 } from "react-hook-form";
|
|
927
|
+
import { useIntl as useIntl4 } from "react-intl";
|
|
928
|
+
import { Fragment as Fragment2, jsx as jsx27, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
929
|
+
|
|
930
|
+
// src/components/settings/recovery-codes-settings.tsx
|
|
931
|
+
import { useFormContext as useFormContext10 } from "react-hook-form";
|
|
932
|
+
import { useIntl as useIntl5 } from "react-intl";
|
|
933
|
+
import { Fragment as Fragment3, jsx as jsx28, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
934
|
+
|
|
935
|
+
// src/components/settings/totp-settings.tsx
|
|
936
|
+
import { useFormContext as useFormContext11 } from "react-hook-form";
|
|
937
|
+
import { useIntl as useIntl6 } from "react-intl";
|
|
938
|
+
import { Fragment as Fragment4, jsx as jsx29, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
939
|
+
|
|
940
|
+
// src/components/settings/webauthn-settings.tsx
|
|
941
|
+
import { useFormContext as useFormContext12 } from "react-hook-form";
|
|
942
|
+
import { useIntl as useIntl7 } from "react-intl";
|
|
943
|
+
import { Fragment as Fragment5, jsx as jsx30, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
944
|
+
|
|
945
|
+
// src/components/settings/settings-card.tsx
|
|
946
|
+
import { Fragment as Fragment6, jsx as jsx31, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
469
947
|
|
|
470
948
|
// src/locales/af.json
|
|
471
949
|
var af_default = {
|
|
@@ -25289,7 +25767,7 @@ var OryLocales = Object.freeze({
|
|
|
25289
25767
|
});
|
|
25290
25768
|
|
|
25291
25769
|
// src/context/intl-context.tsx
|
|
25292
|
-
import { jsx as
|
|
25770
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
25293
25771
|
function mergeTranslations(locale, customTranslations) {
|
|
25294
25772
|
return Object.keys(customTranslations).reduce((acc, key) => {
|
|
25295
25773
|
var _a;
|
|
@@ -25312,100 +25790,80 @@ var IntlProvider = ({
|
|
|
25312
25790
|
}
|
|
25313
25791
|
const cache = createIntlCache();
|
|
25314
25792
|
const intl = createIntl({ locale, messages }, cache);
|
|
25315
|
-
return /* @__PURE__ */
|
|
25793
|
+
return /* @__PURE__ */ jsx32(RawIntlProvider, { value: intl, children });
|
|
25316
25794
|
};
|
|
25317
25795
|
|
|
25318
25796
|
// src/context/provider.tsx
|
|
25319
|
-
import { jsx as
|
|
25797
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
25320
25798
|
|
|
25321
25799
|
// src/components/card/header.tsx
|
|
25322
|
-
import { jsx as
|
|
25800
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
25323
25801
|
|
|
25324
25802
|
// src/components/card/card.tsx
|
|
25325
|
-
import { jsx as
|
|
25803
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
25326
25804
|
|
|
25327
25805
|
// src/components/card/footer.tsx
|
|
25328
|
-
import { jsx as
|
|
25806
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
25329
25807
|
|
|
25330
25808
|
// src/components/card/content.tsx
|
|
25331
|
-
import { jsx as
|
|
25809
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
25332
25810
|
|
|
25333
25811
|
// src/components/card/card-two-step.tsx
|
|
25334
25812
|
import { FlowType as FlowType10 } from "@ory/client-fetch";
|
|
25335
25813
|
|
|
25336
25814
|
// src/components/card/two-step/state-method-active.tsx
|
|
25337
25815
|
import {
|
|
25338
|
-
isUiNodeScriptAttributes as
|
|
25339
|
-
UiNodeGroupEnum as
|
|
25816
|
+
isUiNodeScriptAttributes as isUiNodeScriptAttributes4,
|
|
25817
|
+
UiNodeGroupEnum as UiNodeGroupEnum13
|
|
25340
25818
|
} from "@ory/client-fetch";
|
|
25341
|
-
import { jsx as
|
|
25819
|
+
import { jsx as jsx38, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
25342
25820
|
|
|
25343
25821
|
// src/components/card/two-step/state-provide-identifier.tsx
|
|
25344
|
-
import { UiNodeGroupEnum as
|
|
25345
|
-
import { jsx as
|
|
25822
|
+
import { UiNodeGroupEnum as UiNodeGroupEnum14 } from "@ory/client-fetch";
|
|
25823
|
+
import { jsx as jsx39, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
25346
25824
|
|
|
25347
25825
|
// src/components/card/card-two-step.tsx
|
|
25348
25826
|
import { OrySettingsCard, useOryFlow as useOryFlow2 } from "@ory/elements-react";
|
|
25349
|
-
import { Fragment as Fragment7, jsx as
|
|
25827
|
+
import { Fragment as Fragment7, jsx as jsx40, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
25350
25828
|
|
|
25351
25829
|
// src/components/card/card-consent.tsx
|
|
25352
25830
|
import { getNodeId as getNodeId3 } from "@ory/client-fetch";
|
|
25353
|
-
import { jsx as
|
|
25831
|
+
import { jsx as jsx41, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
25354
25832
|
|
|
25355
25833
|
// src/components/card/two-step/state-select-method.tsx
|
|
25356
|
-
import { useIntl as
|
|
25834
|
+
import { useIntl as useIntl9 } from "react-intl";
|
|
25357
25835
|
|
|
25358
25836
|
// src/components/card/two-step/list-methods.tsx
|
|
25359
25837
|
import { useComponents as useComponents2 } from "@ory/elements-react";
|
|
25360
|
-
import { useFormContext as
|
|
25361
|
-
import { jsx as
|
|
25838
|
+
import { useFormContext as useFormContext13 } from "react-hook-form";
|
|
25839
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
25362
25840
|
|
|
25363
25841
|
// src/components/card/two-step/state-select-method.tsx
|
|
25364
|
-
import { jsx as
|
|
25842
|
+
import { jsx as jsx43, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
25365
25843
|
function toAuthMethodPickerOptions(visibleGroups) {
|
|
25366
25844
|
return Object.fromEntries(
|
|
25367
|
-
Object.values(
|
|
25845
|
+
Object.values(UiNodeGroupEnum15).filter((group) => {
|
|
25368
25846
|
var _a;
|
|
25369
25847
|
return (_a = visibleGroups[group]) == null ? void 0 : _a.length;
|
|
25370
25848
|
}).filter(
|
|
25371
25849
|
(group) => ![
|
|
25372
|
-
|
|
25373
|
-
|
|
25374
|
-
|
|
25375
|
-
|
|
25376
|
-
|
|
25377
|
-
|
|
25850
|
+
UiNodeGroupEnum15.Oidc,
|
|
25851
|
+
UiNodeGroupEnum15.Saml,
|
|
25852
|
+
UiNodeGroupEnum15.Default,
|
|
25853
|
+
UiNodeGroupEnum15.IdentifierFirst,
|
|
25854
|
+
UiNodeGroupEnum15.Profile,
|
|
25855
|
+
UiNodeGroupEnum15.Captcha
|
|
25378
25856
|
].includes(group)
|
|
25379
25857
|
).map((g) => [g, {}])
|
|
25380
25858
|
);
|
|
25381
25859
|
}
|
|
25382
25860
|
|
|
25383
|
-
// src/util/nodes.ts
|
|
25384
|
-
function findScreenSelectionButton(nodes) {
|
|
25385
|
-
return nodes.find(
|
|
25386
|
-
(node) => node.attributes.node_type === "input" && node.attributes.type === "submit" && node.attributes.name === "screen"
|
|
25387
|
-
);
|
|
25388
|
-
}
|
|
25389
|
-
function isDynamicText(text) {
|
|
25390
|
-
return text.id === 1070002 && !!text.context && "name" in text.context && typeof text.context["name"] === "string";
|
|
25391
|
-
}
|
|
25392
|
-
function resolveLabel(text, intl) {
|
|
25393
|
-
if (isDynamicText(text)) {
|
|
25394
|
-
const field = text.context.name;
|
|
25395
|
-
return intl.formatMessage({
|
|
25396
|
-
id: `forms.label.${field}`,
|
|
25397
|
-
defaultMessage: text.text
|
|
25398
|
-
});
|
|
25399
|
-
}
|
|
25400
|
-
return uiTextToFormattedMessage(text, intl);
|
|
25401
|
-
}
|
|
25402
|
-
|
|
25403
25861
|
// src/theme/default/utils/logout.ts
|
|
25404
|
-
import { useCallback, useEffect as
|
|
25862
|
+
import { useCallback as useCallback4, useEffect as useEffect5, useState as useState3 } from "react";
|
|
25405
25863
|
function useClientLogout(config) {
|
|
25406
25864
|
const [logoutFlow, setLogoutFlow] = useState3();
|
|
25407
25865
|
const [isLoading, setIsLoading] = useState3(true);
|
|
25408
|
-
const fetchLogoutFlow =
|
|
25866
|
+
const fetchLogoutFlow = useCallback4(async () => {
|
|
25409
25867
|
try {
|
|
25410
25868
|
const flow = await frontendClient(config.sdk.url).createBrowserLogoutFlow().catch((err) => {
|
|
25411
25869
|
var _a;
|
|
@@ -25419,7 +25877,7 @@ function useClientLogout(config) {
|
|
|
25419
25877
|
setIsLoading(false);
|
|
25420
25878
|
}
|
|
25421
25879
|
}, [config.sdk.url]);
|
|
25422
|
-
|
|
25880
|
+
useEffect5(() => {
|
|
25423
25881
|
void fetchLogoutFlow();
|
|
25424
25882
|
}, [fetchLogoutFlow]);
|
|
25425
25883
|
return { logoutFlow, didLoad: !isLoading };
|
|
@@ -25467,20 +25925,20 @@ function appendReturnToAndIdentitySchema(url, returnTo, identitySchema) {
|
|
|
25467
25925
|
}
|
|
25468
25926
|
|
|
25469
25927
|
// src/theme/default/components/card/footer.tsx
|
|
25470
|
-
import { Fragment as Fragment8, jsx as
|
|
25928
|
+
import { Fragment as Fragment8, jsx as jsx44, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
25471
25929
|
function DefaultCardFooter() {
|
|
25472
25930
|
const oryFlow = useOryFlow3();
|
|
25473
25931
|
switch (oryFlow.flowType) {
|
|
25474
25932
|
case FlowType11.Login:
|
|
25475
|
-
return /* @__PURE__ */
|
|
25933
|
+
return /* @__PURE__ */ jsx44(LoginCardFooter, { flow: oryFlow.flow });
|
|
25476
25934
|
case FlowType11.Registration:
|
|
25477
|
-
return /* @__PURE__ */
|
|
25935
|
+
return /* @__PURE__ */ jsx44(RegistrationCardFooter, {});
|
|
25478
25936
|
case FlowType11.Recovery:
|
|
25479
|
-
return /* @__PURE__ */
|
|
25937
|
+
return /* @__PURE__ */ jsx44(RecoveryCardFooter, {});
|
|
25480
25938
|
case FlowType11.Verification:
|
|
25481
|
-
return /* @__PURE__ */
|
|
25939
|
+
return /* @__PURE__ */ jsx44(VerificationCardFooter, {});
|
|
25482
25940
|
case FlowType11.OAuth2Consent:
|
|
25483
|
-
return /* @__PURE__ */
|
|
25941
|
+
return /* @__PURE__ */ jsx44(ConsentCardFooter, { flow: oryFlow.flow });
|
|
25484
25942
|
default:
|
|
25485
25943
|
return null;
|
|
25486
25944
|
}
|
|
@@ -25505,7 +25963,7 @@ function shouldShowLogoutButton(flow, formState, authMethods) {
|
|
|
25505
25963
|
function LoginCardFooter({ flow }) {
|
|
25506
25964
|
const { dispatchFormState, formState } = useOryFlow3();
|
|
25507
25965
|
const config = useOryConfiguration2();
|
|
25508
|
-
const intl =
|
|
25966
|
+
const intl = useIntl10();
|
|
25509
25967
|
const authMethods = nodesToAuthMethodGroups(flow.ui.nodes);
|
|
25510
25968
|
let returnTo = config.project.default_redirect_url;
|
|
25511
25969
|
if (flow.return_to) {
|
|
@@ -25518,7 +25976,7 @@ function LoginCardFooter({ flow }) {
|
|
|
25518
25976
|
);
|
|
25519
25977
|
}
|
|
25520
25978
|
if (shouldShowLogoutButton(flow, formState, authMethods)) {
|
|
25521
|
-
return /* @__PURE__ */
|
|
25979
|
+
return /* @__PURE__ */ jsx44(LogoutButton, { returnTo });
|
|
25522
25980
|
}
|
|
25523
25981
|
return /* @__PURE__ */ jsxs15(Fragment8, { children: [
|
|
25524
25982
|
formState.current === "provide_identifier" && config.project.registration_enabled && /* @__PURE__ */ jsxs15("span", { className: "leading-normal font-normal text-interface-foreground-default-primary antialiased", children: [
|
|
@@ -25527,7 +25985,7 @@ function LoginCardFooter({ flow }) {
|
|
|
25527
25985
|
defaultMessage: "No account?"
|
|
25528
25986
|
}),
|
|
25529
25987
|
" ",
|
|
25530
|
-
/* @__PURE__ */
|
|
25988
|
+
/* @__PURE__ */ jsx44(
|
|
25531
25989
|
"a",
|
|
25532
25990
|
{
|
|
25533
25991
|
className: "text-button-link-brand-brand underline transition-colors hover:text-button-link-brand-brand-hover",
|
|
@@ -25540,7 +25998,7 @@ function LoginCardFooter({ flow }) {
|
|
|
25540
25998
|
}
|
|
25541
25999
|
)
|
|
25542
26000
|
] }),
|
|
25543
|
-
authMethods.length > 1 && formState.current === "method_active" && /* @__PURE__ */
|
|
26001
|
+
authMethods.length > 1 && formState.current === "method_active" && /* @__PURE__ */ jsx44("span", { className: "leading-normal font-normal text-interface-foreground-default-primary antialiased", children: /* @__PURE__ */ jsx44(
|
|
25544
26002
|
"button",
|
|
25545
26003
|
{
|
|
25546
26004
|
className: "text-button-link-brand-brand underline transition-colors hover:text-button-link-brand-brand-hover",
|
|
@@ -25555,7 +26013,7 @@ function LoginCardFooter({ flow }) {
|
|
|
25555
26013
|
})
|
|
25556
26014
|
}
|
|
25557
26015
|
) }),
|
|
25558
|
-
authMethods.length === 1 && authMethods[0] === "code" && formState.current === "method_active" && /* @__PURE__ */
|
|
26016
|
+
authMethods.length === 1 && authMethods[0] === "code" && formState.current === "method_active" && /* @__PURE__ */ jsx44("span", { className: "leading-normal font-normal text-interface-foreground-default-primary antialiased", children: /* @__PURE__ */ jsx44(
|
|
25559
26017
|
"a",
|
|
25560
26018
|
{
|
|
25561
26019
|
className: "text-button-link-brand-brand underline transition-colors hover:text-button-link-brand-brand-hover",
|
|
@@ -25570,14 +26028,14 @@ function LoginCardFooter({ flow }) {
|
|
|
25570
26028
|
}
|
|
25571
26029
|
function LogoutButton({ returnTo }) {
|
|
25572
26030
|
const config = useOryConfiguration2();
|
|
25573
|
-
const intl =
|
|
26031
|
+
const intl = useIntl10();
|
|
25574
26032
|
const { logoutFlow: logout, didLoad: didLoadLogout } = useClientLogout(config);
|
|
25575
26033
|
return /* @__PURE__ */ jsxs15("span", { className: "leading-normal font-normal text-interface-foreground-default-primary antialiased", children: [
|
|
25576
26034
|
intl.formatMessage({
|
|
25577
26035
|
id: "login.2fa.go-back"
|
|
25578
26036
|
}),
|
|
25579
26037
|
" ",
|
|
25580
|
-
/* @__PURE__ */
|
|
26038
|
+
/* @__PURE__ */ jsx44(
|
|
25581
26039
|
"a",
|
|
25582
26040
|
{
|
|
25583
26041
|
className: "text-button-link-brand-brand underline transition-colors hover:text-button-link-brand-brand-hover",
|
|
@@ -25594,7 +26052,7 @@ function LogoutButton({ returnTo }) {
|
|
|
25594
26052
|
] });
|
|
25595
26053
|
}
|
|
25596
26054
|
function RegistrationCardFooter() {
|
|
25597
|
-
const intl =
|
|
26055
|
+
const intl = useIntl10();
|
|
25598
26056
|
const { flow, formState, dispatchFormState } = useOryFlow3();
|
|
25599
26057
|
const config = useOryConfiguration2();
|
|
25600
26058
|
const visibleGroups = useNodeGroupsWithVisibleNodes(flow.ui.nodes);
|
|
@@ -25605,7 +26063,7 @@ function RegistrationCardFooter() {
|
|
|
25605
26063
|
if (!screenSelectionNode || Object.entries(authMethodBlocks).length < 2) {
|
|
25606
26064
|
return null;
|
|
25607
26065
|
}
|
|
25608
|
-
return /* @__PURE__ */
|
|
26066
|
+
return /* @__PURE__ */ jsx44("span", { className: "leading-normal font-normal text-interface-foreground-default-primary antialiased", children: /* @__PURE__ */ jsx44(
|
|
25609
26067
|
"button",
|
|
25610
26068
|
{
|
|
25611
26069
|
className: "text-button-link-brand-brand underline transition-colors hover:text-button-link-brand-brand-hover",
|
|
@@ -25630,7 +26088,7 @@ function RegistrationCardFooter() {
|
|
|
25630
26088
|
defaultMessage: "Already have an account?"
|
|
25631
26089
|
}),
|
|
25632
26090
|
" ",
|
|
25633
|
-
/* @__PURE__ */
|
|
26091
|
+
/* @__PURE__ */ jsx44(
|
|
25634
26092
|
"a",
|
|
25635
26093
|
{
|
|
25636
26094
|
className: "text-button-link-brand-brand underline transition-colors hover:text-button-link-brand-brand-hover",
|
|
@@ -25653,7 +26111,6 @@ function VerificationCardFooter() {
|
|
|
25653
26111
|
}
|
|
25654
26112
|
function ConsentCardFooter({ flow }) {
|
|
25655
26113
|
var _a, _b;
|
|
25656
|
-
const { Node: Node2 } = useComponents3();
|
|
25657
26114
|
const rememberNode = findNode(flow.ui.nodes, {
|
|
25658
26115
|
group: "oauth2_consent",
|
|
25659
26116
|
node_type: "input",
|
|
@@ -25665,29 +26122,15 @@ function ConsentCardFooter({ flow }) {
|
|
|
25665
26122
|
"Make sure you trust ",
|
|
25666
26123
|
(_a = flow.consent_request.client) == null ? void 0 : _a.client_name
|
|
25667
26124
|
] }),
|
|
25668
|
-
/* @__PURE__ */
|
|
26125
|
+
/* @__PURE__ */ jsx44("p", { className: "leading-normal text-interface-foreground-default-secondary", children: "You may be sharing sensitive information with this site or application." })
|
|
25669
26126
|
] }),
|
|
25670
|
-
rememberNode && /* @__PURE__ */
|
|
25671
|
-
|
|
25672
|
-
|
|
25673
|
-
attributes: rememberNode.attributes,
|
|
25674
|
-
node: rememberNode
|
|
25675
|
-
}
|
|
25676
|
-
),
|
|
25677
|
-
/* @__PURE__ */ jsx35("div", { className: "grid grid-cols-1 gap-2 md:grid-cols-2", children: flow.ui.nodes.filter(
|
|
25678
|
-
(n) => n.attributes.node_type === "input" && n.attributes.type === "submit"
|
|
26127
|
+
rememberNode && /* @__PURE__ */ jsx44(Node2.Checkbox, { node: rememberNode }),
|
|
26128
|
+
/* @__PURE__ */ jsx44("div", { className: "grid grid-cols-1 gap-2 md:grid-cols-2", children: flow.ui.nodes.filter(
|
|
26129
|
+
(n) => n.attributes.node_type === "input" && n.attributes.type === "submit" && isUiNodeInput(n)
|
|
25679
26130
|
).map((n) => {
|
|
25680
|
-
|
|
25681
|
-
return /* @__PURE__ */ jsx35(
|
|
25682
|
-
Node2.Button,
|
|
25683
|
-
{
|
|
25684
|
-
node: n,
|
|
25685
|
-
attributes
|
|
25686
|
-
},
|
|
25687
|
-
attributes.value
|
|
25688
|
-
);
|
|
26131
|
+
return /* @__PURE__ */ jsx44(Node2.Button, { node: n }, n.attributes.value);
|
|
25689
26132
|
}) }),
|
|
25690
|
-
/* @__PURE__ */
|
|
26133
|
+
/* @__PURE__ */ jsx44("p", { className: "text-sm", children: /* @__PURE__ */ jsxs15("span", { className: "text-interface-foreground-default-tertiary", children: [
|
|
25691
26134
|
"Authorizing will redirect to",
|
|
25692
26135
|
" ",
|
|
25693
26136
|
(_b = flow.consent_request.client) == null ? void 0 : _b.client_name
|
|
@@ -25696,14 +26139,14 @@ function ConsentCardFooter({ flow }) {
|
|
|
25696
26139
|
}
|
|
25697
26140
|
|
|
25698
26141
|
// src/theme/default/components/card/header.tsx
|
|
25699
|
-
import { messageTestId, useComponents as
|
|
26142
|
+
import { messageTestId, useComponents as useComponents3, useOryFlow as useOryFlow5 } from "@ory/elements-react";
|
|
25700
26143
|
|
|
25701
26144
|
// src/theme/default/utils/constructCardHeader.ts
|
|
25702
26145
|
import {
|
|
25703
26146
|
FlowType as FlowType12,
|
|
25704
|
-
isUiNodeInputAttributes as
|
|
26147
|
+
isUiNodeInputAttributes as isUiNodeInputAttributes6
|
|
25705
26148
|
} from "@ory/client-fetch";
|
|
25706
|
-
import { useIntl as
|
|
26149
|
+
import { useIntl as useIntl11 } from "react-intl";
|
|
25707
26150
|
function joinWithCommaOr(list, orText = "or") {
|
|
25708
26151
|
if (list.length === 0) {
|
|
25709
26152
|
return ".";
|
|
@@ -25717,7 +26160,7 @@ function joinWithCommaOr(list, orText = "or") {
|
|
|
25717
26160
|
function useCardHeaderText(container, opts) {
|
|
25718
26161
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
25719
26162
|
const nodes = container.nodes;
|
|
25720
|
-
const intl =
|
|
26163
|
+
const intl = useIntl11();
|
|
25721
26164
|
switch (opts.flowType) {
|
|
25722
26165
|
case FlowType12.Recovery: {
|
|
25723
26166
|
const recoveryV2Message = (_a = container.messages) == null ? void 0 : _a.find(
|
|
@@ -25850,7 +26293,7 @@ function useCardHeaderText(container, opts) {
|
|
|
25850
26293
|
}
|
|
25851
26294
|
if (nodes.find((node) => node.group === "identifier_first")) {
|
|
25852
26295
|
const identifier = nodes.find(
|
|
25853
|
-
(node) =>
|
|
26296
|
+
(node) => isUiNodeInputAttributes6(node.attributes) && node.attributes.name.startsWith("identifier") && node.attributes.type !== "hidden"
|
|
25854
26297
|
);
|
|
25855
26298
|
if (identifier) {
|
|
25856
26299
|
parts.push(
|
|
@@ -25867,7 +26310,7 @@ function useCardHeaderText(container, opts) {
|
|
|
25867
26310
|
}
|
|
25868
26311
|
if (nodes.some((node) => node.group === "profile")) {
|
|
25869
26312
|
const identifier = nodes.find(
|
|
25870
|
-
(node) =>
|
|
26313
|
+
(node) => isUiNodeInputAttributes6(node.attributes) && node.attributes.name.startsWith("traits.") && node.attributes.type !== "hidden"
|
|
25871
26314
|
);
|
|
25872
26315
|
if (identifier) {
|
|
25873
26316
|
parts.push(
|
|
@@ -25986,11 +26429,11 @@ function useCardHeaderText(container, opts) {
|
|
|
25986
26429
|
// src/theme/default/components/card/current-identifier-button.tsx
|
|
25987
26430
|
import {
|
|
25988
26431
|
FlowType as FlowType13,
|
|
25989
|
-
isUiNodeInputAttributes as
|
|
26432
|
+
isUiNodeInputAttributes as isUiNodeInputAttributes7
|
|
25990
26433
|
} from "@ory/client-fetch";
|
|
25991
26434
|
import { useOryConfiguration as useOryConfiguration3, useOryFlow as useOryFlow4 } from "@ory/elements-react";
|
|
25992
|
-
import { useEffect as
|
|
25993
|
-
import { useFormContext as
|
|
26435
|
+
import { useEffect as useEffect6, useState as useState4 } from "react";
|
|
26436
|
+
import { useFormContext as useFormContext14 } from "react-hook-form";
|
|
25994
26437
|
|
|
25995
26438
|
// src/theme/default/utils/attributes.ts
|
|
25996
26439
|
function omit(obj, keys) {
|
|
@@ -26019,24 +26462,24 @@ function omitInputAttributes({
|
|
|
26019
26462
|
|
|
26020
26463
|
// src/theme/default/assets/icons/arrow-left.svg
|
|
26021
26464
|
import * as React3 from "react";
|
|
26022
|
-
import { jsx as
|
|
26465
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
26023
26466
|
var SvgArrowLeft = (props) => {
|
|
26024
26467
|
var _a, _b;
|
|
26025
|
-
return /* @__PURE__ */
|
|
26468
|
+
return /* @__PURE__ */ jsx45("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__ */ jsx45("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M5 12.325h14m-14 0 6 6m-6-6 6-6" }) });
|
|
26026
26469
|
};
|
|
26027
26470
|
var arrow_left_default = SvgArrowLeft;
|
|
26028
26471
|
|
|
26029
26472
|
// src/theme/default/components/card/current-identifier-button.tsx
|
|
26030
|
-
import { jsx as
|
|
26473
|
+
import { jsx as jsx46, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
26031
26474
|
function DefaultCurrentIdentifierButton() {
|
|
26032
26475
|
var _a;
|
|
26033
26476
|
const { flow, flowType, formState } = useOryFlow4();
|
|
26034
|
-
const { setValue, getValues, watch } =
|
|
26477
|
+
const { setValue, getValues, watch } = useFormContext14();
|
|
26035
26478
|
const [turnstileResponse, setTurnstileResponse] = useState4();
|
|
26036
26479
|
const config = useOryConfiguration3();
|
|
26037
26480
|
const ui = flow.ui;
|
|
26038
26481
|
const captchaVerificationValue = (_a = watch("transient_payload")) == null ? void 0 : _a.captcha_turnstile_response;
|
|
26039
|
-
|
|
26482
|
+
useEffect6(() => {
|
|
26040
26483
|
if (captchaVerificationValue) {
|
|
26041
26484
|
setTurnstileResponse(captchaVerificationValue);
|
|
26042
26485
|
}
|
|
@@ -26059,7 +26502,7 @@ function DefaultCurrentIdentifierButton() {
|
|
|
26059
26502
|
if (screenSelectionNode) {
|
|
26060
26503
|
return /* @__PURE__ */ jsxs16("form", { action: flow.ui.action, method: flow.ui.method, children: [
|
|
26061
26504
|
flow.ui.nodes.filter((n) => {
|
|
26062
|
-
if (
|
|
26505
|
+
if (isUiNodeInputAttributes7(n.attributes)) {
|
|
26063
26506
|
return n.attributes.type === "hidden" && ["default", "captcha"].includes(n.group);
|
|
26064
26507
|
}
|
|
26065
26508
|
return false;
|
|
@@ -26069,7 +26512,7 @@ function DefaultCurrentIdentifierButton() {
|
|
|
26069
26512
|
if (attrs.name === "transient_payload.captcha_turnstile_response" && turnstileResponse) {
|
|
26070
26513
|
value = turnstileResponse;
|
|
26071
26514
|
}
|
|
26072
|
-
return /* @__PURE__ */
|
|
26515
|
+
return /* @__PURE__ */ jsx46(
|
|
26073
26516
|
"input",
|
|
26074
26517
|
{
|
|
26075
26518
|
type: "hidden",
|
|
@@ -26079,7 +26522,7 @@ function DefaultCurrentIdentifierButton() {
|
|
|
26079
26522
|
attrs.name
|
|
26080
26523
|
);
|
|
26081
26524
|
}),
|
|
26082
|
-
/* @__PURE__ */
|
|
26525
|
+
/* @__PURE__ */ jsx46(
|
|
26083
26526
|
"button",
|
|
26084
26527
|
{
|
|
26085
26528
|
className: "group inline-flex max-w-full cursor-pointer items-center gap-1 self-start rounded-identifier border border-button-identifier-border-border-default bg-button-identifier-background-default px-[11px] py-[5px] transition-colors hover:border-button-identifier-border-border-hover hover:bg-button-identifier-background-hover",
|
|
@@ -26097,7 +26540,7 @@ function DefaultCurrentIdentifierButton() {
|
|
|
26097
26540
|
title: nodeBackButton.value ? `Adjust ${nodeBackButton.value}` : `Back`,
|
|
26098
26541
|
"data-testid": `ory/screen/${flowType}/action/restart`,
|
|
26099
26542
|
children: /* @__PURE__ */ jsxs16("span", { className: "inline-flex min-h-5 items-center gap-2 overflow-hidden text-ellipsis", children: [
|
|
26100
|
-
/* @__PURE__ */
|
|
26543
|
+
/* @__PURE__ */ jsx46(
|
|
26101
26544
|
arrow_left_default,
|
|
26102
26545
|
{
|
|
26103
26546
|
size: 16,
|
|
@@ -26105,13 +26548,13 @@ function DefaultCurrentIdentifierButton() {
|
|
|
26105
26548
|
className: "shrink-0 text-button-identifier-foreground-default group-hover:text-button-identifier-foreground-hover"
|
|
26106
26549
|
}
|
|
26107
26550
|
),
|
|
26108
|
-
/* @__PURE__ */
|
|
26551
|
+
/* @__PURE__ */ jsx46("span", { className: "overflow-hidden text-sm font-medium text-nowrap text-ellipsis text-button-identifier-foreground-default group-hover:text-button-identifier-foreground-hover", children: nodeBackButton.value ? nodeBackButton.value : "Back" })
|
|
26109
26552
|
] })
|
|
26110
26553
|
}
|
|
26111
26554
|
)
|
|
26112
26555
|
] });
|
|
26113
26556
|
}
|
|
26114
|
-
return /* @__PURE__ */
|
|
26557
|
+
return /* @__PURE__ */ jsx46(
|
|
26115
26558
|
"a",
|
|
26116
26559
|
{
|
|
26117
26560
|
className: "group inline-flex max-w-full cursor-pointer items-center gap-1 self-start rounded-identifier border border-button-identifier-border-border-default bg-button-identifier-background-default px-[11px] py-[5px] transition-colors hover:border-button-identifier-border-border-hover hover:bg-button-identifier-background-hover",
|
|
@@ -26120,7 +26563,7 @@ function DefaultCurrentIdentifierButton() {
|
|
|
26120
26563
|
title: `Adjust ${nodeBackButton == null ? void 0 : nodeBackButton.value}`,
|
|
26121
26564
|
"data-testid": `ory/screen/${flowType}/action/restart`,
|
|
26122
26565
|
children: /* @__PURE__ */ jsxs16("span", { className: "inline-flex min-h-5 items-center gap-2 overflow-hidden text-ellipsis", children: [
|
|
26123
|
-
/* @__PURE__ */
|
|
26566
|
+
/* @__PURE__ */ jsx46(
|
|
26124
26567
|
arrow_left_default,
|
|
26125
26568
|
{
|
|
26126
26569
|
size: 16,
|
|
@@ -26128,7 +26571,7 @@ function DefaultCurrentIdentifierButton() {
|
|
|
26128
26571
|
className: "shrink-0 text-button-identifier-foreground-default group-hover:text-button-identifier-foreground-hover"
|
|
26129
26572
|
}
|
|
26130
26573
|
),
|
|
26131
|
-
/* @__PURE__ */
|
|
26574
|
+
/* @__PURE__ */ jsx46("span", { className: "overflow-hidden text-sm font-medium text-nowrap text-ellipsis text-button-identifier-foreground-default group-hover:text-button-identifier-foreground-hover", children: nodeBackButton == null ? void 0 : nodeBackButton.value })
|
|
26132
26575
|
] })
|
|
26133
26576
|
}
|
|
26134
26577
|
);
|
|
@@ -26139,7 +26582,7 @@ function getBackButtonNodeAttributes(flowType, nodes) {
|
|
|
26139
26582
|
switch (flowType) {
|
|
26140
26583
|
case FlowType13.Login:
|
|
26141
26584
|
nodeBackButtonAttributes = (_a = nodes.find(
|
|
26142
|
-
(node) =>
|
|
26585
|
+
(node) => isUiNodeInputAttributes7(node.attributes) && node.attributes.name === "identifier" && ["default", "identifier_first"].includes(node.group)
|
|
26143
26586
|
)) == null ? void 0 : _a.attributes;
|
|
26144
26587
|
break;
|
|
26145
26588
|
case FlowType13.Registration:
|
|
@@ -26147,14 +26590,14 @@ function getBackButtonNodeAttributes(flowType, nodes) {
|
|
|
26147
26590
|
break;
|
|
26148
26591
|
case FlowType13.Recovery:
|
|
26149
26592
|
nodeBackButtonAttributes = (_b = nodes.find(
|
|
26150
|
-
(n) =>
|
|
26593
|
+
(n) => isUiNodeInputAttributes7(n.attributes) && !!n.attributes.value && ["email", "recovery_confirm_address", "recovery_address"].includes(
|
|
26151
26594
|
n.attributes.name
|
|
26152
26595
|
)
|
|
26153
26596
|
)) == null ? void 0 : _b.attributes;
|
|
26154
26597
|
break;
|
|
26155
26598
|
case FlowType13.Verification:
|
|
26156
26599
|
nodeBackButtonAttributes = (_c = nodes.find(
|
|
26157
|
-
(n) =>
|
|
26600
|
+
(n) => isUiNodeInputAttributes7(n.attributes) && n.attributes.name === "email"
|
|
26158
26601
|
)) == null ? void 0 : _c.attributes;
|
|
26159
26602
|
break;
|
|
26160
26603
|
}
|
|
@@ -26171,23 +26614,23 @@ var backButtonCandiates = [
|
|
|
26171
26614
|
function guessRegistrationBackButton(uiNodes) {
|
|
26172
26615
|
var _a;
|
|
26173
26616
|
return (_a = uiNodes.find(
|
|
26174
|
-
(node) =>
|
|
26617
|
+
(node) => isUiNodeInputAttributes7(node.attributes) && backButtonCandiates.includes(node.attributes.name) && node.group === "default"
|
|
26175
26618
|
)) == null ? void 0 : _a.attributes;
|
|
26176
26619
|
}
|
|
26177
26620
|
|
|
26178
26621
|
// src/theme/default/components/card/header.tsx
|
|
26179
|
-
import { jsx as
|
|
26622
|
+
import { jsx as jsx47, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
26180
26623
|
function InnerCardHeader({
|
|
26181
26624
|
title,
|
|
26182
26625
|
text,
|
|
26183
26626
|
messageId
|
|
26184
26627
|
}) {
|
|
26185
|
-
const { Card } =
|
|
26628
|
+
const { Card } = useComponents3();
|
|
26186
26629
|
return /* @__PURE__ */ jsxs17("header", { className: "flex flex-col gap-8 antialiased", children: [
|
|
26187
|
-
/* @__PURE__ */
|
|
26630
|
+
/* @__PURE__ */ jsx47(Card.Logo, {}),
|
|
26188
26631
|
/* @__PURE__ */ jsxs17("div", { className: "flex flex-col gap-2", children: [
|
|
26189
|
-
/* @__PURE__ */
|
|
26190
|
-
/* @__PURE__ */
|
|
26632
|
+
/* @__PURE__ */ jsx47("h2", { className: "text-lg leading-normal font-semibold text-interface-foreground-default-primary", children: title }),
|
|
26633
|
+
/* @__PURE__ */ jsx47(
|
|
26191
26634
|
"p",
|
|
26192
26635
|
{
|
|
26193
26636
|
className: "leading-normal text-interface-foreground-default-secondary",
|
|
@@ -26195,7 +26638,7 @@ function InnerCardHeader({
|
|
|
26195
26638
|
children: text
|
|
26196
26639
|
}
|
|
26197
26640
|
),
|
|
26198
|
-
/* @__PURE__ */
|
|
26641
|
+
/* @__PURE__ */ jsx47(DefaultCurrentIdentifierButton, {})
|
|
26199
26642
|
] })
|
|
26200
26643
|
] });
|
|
26201
26644
|
}
|
|
@@ -26205,16 +26648,16 @@ function DefaultCardHeader() {
|
|
|
26205
26648
|
context.flow.ui,
|
|
26206
26649
|
context
|
|
26207
26650
|
);
|
|
26208
|
-
return /* @__PURE__ */
|
|
26651
|
+
return /* @__PURE__ */ jsx47(InnerCardHeader, { title, text: description, messageId });
|
|
26209
26652
|
}
|
|
26210
26653
|
|
|
26211
26654
|
// src/theme/default/components/card/logo.tsx
|
|
26212
26655
|
import { useOryConfiguration as useOryConfiguration4 } from "@ory/elements-react";
|
|
26213
|
-
import { jsx as
|
|
26656
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
26214
26657
|
function DefaultCardLogo() {
|
|
26215
26658
|
const config = useOryConfiguration4();
|
|
26216
26659
|
if (config.project.logo_light_url) {
|
|
26217
|
-
return /* @__PURE__ */
|
|
26660
|
+
return /* @__PURE__ */ jsx48(
|
|
26218
26661
|
"img",
|
|
26219
26662
|
{
|
|
26220
26663
|
src: config.project.logo_light_url,
|
|
@@ -26223,7 +26666,7 @@ function DefaultCardLogo() {
|
|
|
26223
26666
|
}
|
|
26224
26667
|
);
|
|
26225
26668
|
}
|
|
26226
|
-
return /* @__PURE__ */
|
|
26669
|
+
return /* @__PURE__ */ jsx48("h1", { className: "text-xl leading-normal font-semibold text-interface-foreground-default-primary", children: config.project.name });
|
|
26227
26670
|
}
|
|
26228
26671
|
|
|
26229
26672
|
// src/theme/default/utils/cn.ts
|
|
@@ -26234,85 +26677,83 @@ function cn(...inputs) {
|
|
|
26234
26677
|
}
|
|
26235
26678
|
|
|
26236
26679
|
// src/theme/default/components/card/index.tsx
|
|
26237
|
-
import { jsx as
|
|
26680
|
+
import { jsx as jsx49, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
26238
26681
|
function DefaultCard({
|
|
26239
26682
|
children,
|
|
26240
26683
|
className,
|
|
26241
26684
|
...rest
|
|
26242
26685
|
}) {
|
|
26243
|
-
return /* @__PURE__ */
|
|
26686
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("ory-elements", className), ...rest, children: /* @__PURE__ */ jsx49("div", { className: "flex w-full flex-1 items-start justify-center font-sans-default sm:w-[480px] sm:max-w-[480px] sm:items-center", children: /* @__PURE__ */ jsxs18(
|
|
26244
26687
|
"div",
|
|
26245
26688
|
{
|
|
26246
26689
|
className: "relative grid w-full grid-cols-1 gap-8 border-b border-form-border-default bg-form-background-default px-8 py-12 sm:rounded-cards sm:border sm:px-12 sm:py-14",
|
|
26247
26690
|
"data-testid": "ory/card",
|
|
26248
26691
|
children: [
|
|
26249
26692
|
children,
|
|
26250
|
-
/* @__PURE__ */
|
|
26693
|
+
/* @__PURE__ */ jsx49(Badge, {})
|
|
26251
26694
|
]
|
|
26252
26695
|
}
|
|
26253
26696
|
) }) });
|
|
26254
26697
|
}
|
|
26255
26698
|
|
|
26256
26699
|
// src/theme/default/components/form/index.tsx
|
|
26257
|
-
import { useIntl as
|
|
26700
|
+
import { useIntl as useIntl13 } from "react-intl";
|
|
26258
26701
|
import {
|
|
26259
26702
|
messageTestId as messageTestId2,
|
|
26260
26703
|
uiTextToFormattedMessage as uiTextToFormattedMessage3,
|
|
26261
26704
|
useOryFlow as useOryFlow7
|
|
26262
26705
|
} from "@ory/elements-react";
|
|
26263
|
-
import { FlowType as
|
|
26706
|
+
import { FlowType as FlowType15 } from "@ory/client-fetch";
|
|
26264
26707
|
|
|
26265
26708
|
// src/theme/default/components/form/sso.tsx
|
|
26709
|
+
import { FlowType as FlowType14, UiNodeGroupEnum as UiNodeGroupEnum16 } from "@ory/client-fetch";
|
|
26266
26710
|
import {
|
|
26267
26711
|
uiTextToFormattedMessage as uiTextToFormattedMessage2,
|
|
26268
26712
|
useOryFlow as useOryFlow6
|
|
26269
26713
|
} from "@ory/elements-react";
|
|
26270
|
-
import {
|
|
26271
|
-
import { useFormContext as useFormContext13 } from "react-hook-form";
|
|
26272
|
-
import { useIntl as useIntl11 } from "react-intl";
|
|
26273
|
-
import { useDebounceValue } from "usehooks-ts";
|
|
26714
|
+
import { useIntl as useIntl12 } from "react-intl";
|
|
26274
26715
|
|
|
26275
26716
|
// src/theme/default/provider-logos/apple.svg
|
|
26276
26717
|
import * as React4 from "react";
|
|
26277
|
-
import { jsx as
|
|
26718
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
26278
26719
|
var SvgApple = (props) => {
|
|
26279
26720
|
var _a, _b;
|
|
26280
|
-
return /* @__PURE__ */
|
|
26721
|
+
return /* @__PURE__ */ jsx50("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__ */ jsx50("path", { fill: "#283544", d: "M27.734 11.55c-.134.078-3.317 1.724-3.317 5.374.15 4.162 4.017 5.621 4.083 5.621-.066.078-.584 1.988-2.116 3.991C25.167 28.261 23.817 30 21.767 30c-1.95 0-2.65-1.15-4.9-1.15-2.416 0-3.1 1.15-4.95 1.15-2.05 0-3.5-1.832-4.782-3.541-1.667-2.236-3.083-5.746-3.133-9.116-.034-1.786.334-3.54 1.266-5.032 1.317-2.081 3.667-3.494 6.233-3.54 1.966-.063 3.716 1.257 4.916 1.257 1.15 0 3.3-1.258 5.733-1.258 1.05.001 3.85.296 5.584 2.78M16.25 8.414c-.35-1.631.616-3.262 1.516-4.302C18.917 2.854 20.734 2 22.3 2c.1 1.63-.534 3.23-1.666 4.395-1.017 1.258-2.767 2.205-4.383 2.019" }) });
|
|
26281
26722
|
};
|
|
26282
26723
|
var apple_default = SvgApple;
|
|
26283
26724
|
|
|
26284
26725
|
// src/theme/default/provider-logos/auth0.svg
|
|
26285
26726
|
import * as React5 from "react";
|
|
26286
|
-
import { jsx as
|
|
26727
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
26287
26728
|
var SvgAuth0 = (props) => {
|
|
26288
26729
|
var _a, _b;
|
|
26289
|
-
return /* @__PURE__ */
|
|
26730
|
+
return /* @__PURE__ */ jsx51("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__ */ jsx51("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" }) });
|
|
26290
26731
|
};
|
|
26291
26732
|
var auth0_default = SvgAuth0;
|
|
26292
26733
|
|
|
26293
26734
|
// src/theme/default/provider-logos/discord.svg
|
|
26294
26735
|
import * as React6 from "react";
|
|
26295
|
-
import { jsx as
|
|
26736
|
+
import { jsx as jsx52, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
26296
26737
|
var SvgDiscord = (props) => {
|
|
26297
26738
|
var _a, _b;
|
|
26298
26739
|
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: [
|
|
26299
|
-
/* @__PURE__ */
|
|
26300
|
-
/* @__PURE__ */
|
|
26740
|
+
/* @__PURE__ */ jsx52("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" }),
|
|
26741
|
+
/* @__PURE__ */ jsx52("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" })
|
|
26301
26742
|
] });
|
|
26302
26743
|
};
|
|
26303
26744
|
var discord_default = SvgDiscord;
|
|
26304
26745
|
|
|
26305
26746
|
// src/theme/default/provider-logos/facebook.svg
|
|
26306
26747
|
import * as React7 from "react";
|
|
26307
|
-
import { jsx as
|
|
26748
|
+
import { jsx as jsx53, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
26308
26749
|
var SvgFacebook = (props) => {
|
|
26309
26750
|
var _a, _b;
|
|
26310
26751
|
return /* @__PURE__ */ jsxs20("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: [
|
|
26311
|
-
/* @__PURE__ */
|
|
26312
|
-
/* @__PURE__ */
|
|
26313
|
-
/* @__PURE__ */
|
|
26314
|
-
/* @__PURE__ */
|
|
26315
|
-
/* @__PURE__ */
|
|
26752
|
+
/* @__PURE__ */ jsx53("circle", { cx: 16, cy: 16, r: 14, fill: "url(#facebook_svg__a)" }),
|
|
26753
|
+
/* @__PURE__ */ jsx53("path", { fill: "#fff", d: "m21.214 20.282.622-3.952h-3.89v-2.563c0-1.081.542-2.136 2.284-2.136H22V8.267S20.395 8 18.86 8c-3.205 0-5.298 1.893-5.298 5.318v3.012H10v3.952h3.562v9.552q1.073.165 2.191.166 1.12 0 2.192-.166v-9.552z" }),
|
|
26754
|
+
/* @__PURE__ */ jsx53("defs", { children: /* @__PURE__ */ jsxs20("linearGradient", { id: "facebook_svg__a", x1: 16, x2: 16, y1: 2, y2: 29.917, gradientUnits: "userSpaceOnUse", children: [
|
|
26755
|
+
/* @__PURE__ */ jsx53("stop", { stopColor: "#18ACFE" }),
|
|
26756
|
+
/* @__PURE__ */ jsx53("stop", { offset: 1, stopColor: "#0163E0" })
|
|
26316
26757
|
] }) })
|
|
26317
26758
|
] });
|
|
26318
26759
|
};
|
|
@@ -26320,111 +26761,111 @@ var facebook_default = SvgFacebook;
|
|
|
26320
26761
|
|
|
26321
26762
|
// src/theme/default/provider-logos/github.svg
|
|
26322
26763
|
import * as React8 from "react";
|
|
26323
|
-
import { jsx as
|
|
26764
|
+
import { jsx as jsx54 } from "react/jsx-runtime";
|
|
26324
26765
|
var SvgGithub = (props) => {
|
|
26325
26766
|
var _a, _b;
|
|
26326
|
-
return /* @__PURE__ */
|
|
26767
|
+
return /* @__PURE__ */ jsx54("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__ */ jsx54("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" }) });
|
|
26327
26768
|
};
|
|
26328
26769
|
var github_default = SvgGithub;
|
|
26329
26770
|
|
|
26330
26771
|
// src/theme/default/provider-logos/gitlab.svg
|
|
26331
26772
|
import * as React9 from "react";
|
|
26332
|
-
import { jsx as
|
|
26773
|
+
import { jsx as jsx55, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
26333
26774
|
var SvgGitlab = (props) => {
|
|
26334
26775
|
var _a, _b;
|
|
26335
26776
|
return /* @__PURE__ */ jsxs21("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: [
|
|
26336
|
-
/* @__PURE__ */
|
|
26337
|
-
/* @__PURE__ */
|
|
26338
|
-
/* @__PURE__ */
|
|
26339
|
-
/* @__PURE__ */
|
|
26777
|
+
/* @__PURE__ */ jsx55("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" }),
|
|
26778
|
+
/* @__PURE__ */ jsx55("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" }),
|
|
26779
|
+
/* @__PURE__ */ jsx55("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" }),
|
|
26780
|
+
/* @__PURE__ */ jsx55("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" })
|
|
26340
26781
|
] });
|
|
26341
26782
|
};
|
|
26342
26783
|
var gitlab_default = SvgGitlab;
|
|
26343
26784
|
|
|
26344
26785
|
// src/theme/default/provider-logos/google.svg
|
|
26345
26786
|
import * as React10 from "react";
|
|
26346
|
-
import { jsx as
|
|
26787
|
+
import { jsx as jsx56, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
26347
26788
|
var SvgGoogle = (props) => {
|
|
26348
26789
|
var _a, _b;
|
|
26349
26790
|
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: [
|
|
26350
|
-
/* @__PURE__ */
|
|
26351
|
-
/* @__PURE__ */
|
|
26352
|
-
/* @__PURE__ */
|
|
26353
|
-
/* @__PURE__ */
|
|
26791
|
+
/* @__PURE__ */ jsx56("path", { fill: "#4285F4", d: "M30.001 16.31c0-1.15-.095-1.99-.301-2.861H16.287v5.195h7.873c-.159 1.291-1.016 3.236-2.92 4.542l-.027.174 4.24 3.22.294.029c2.699-2.443 4.254-6.036 4.254-10.298" }),
|
|
26792
|
+
/* @__PURE__ */ jsx56("path", { fill: "#34A853", d: "M16.286 30c3.857 0 7.095-1.244 9.46-3.391l-4.507-3.423c-1.207.825-2.826 1.4-4.953 1.4A8.58 8.58 0 0 1 8.16 18.77l-.167.014-4.41 3.344-.058.157C5.874 26.858 10.7 30 16.286 30" }),
|
|
26793
|
+
/* @__PURE__ */ jsx56("path", { fill: "#FBBC05", d: "M8.16 18.769a8.5 8.5 0 0 1-.476-2.77c0-.964.174-1.897.46-2.768l-.008-.185-4.465-3.399-.146.068A13.8 13.8 0 0 0 2.001 16c0 2.256.556 4.387 1.524 6.284z" }),
|
|
26794
|
+
/* @__PURE__ */ jsx56("path", { fill: "#EB4335", d: "M16.286 7.413c2.683 0 4.492 1.136 5.524 2.085l4.032-3.858C23.366 3.384 20.143 2 16.286 2 10.7 2 5.874 5.142 3.524 9.715l4.62 3.516c1.158-3.375 4.365-5.818 8.142-5.818" })
|
|
26354
26795
|
] });
|
|
26355
26796
|
};
|
|
26356
26797
|
var google_default = SvgGoogle;
|
|
26357
26798
|
|
|
26358
26799
|
// src/theme/default/provider-logos/linkedin.svg
|
|
26359
26800
|
import * as React11 from "react";
|
|
26360
|
-
import { jsx as
|
|
26801
|
+
import { jsx as jsx57, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
26361
26802
|
var SvgLinkedin = (props) => {
|
|
26362
26803
|
var _a, _b;
|
|
26363
26804
|
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: [
|
|
26364
|
-
/* @__PURE__ */
|
|
26365
|
-
/* @__PURE__ */
|
|
26805
|
+
/* @__PURE__ */ jsx57("rect", { width: 28, height: 28, x: 2, y: 2, fill: "#1275B1", rx: 14 }),
|
|
26806
|
+
/* @__PURE__ */ jsx57("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" })
|
|
26366
26807
|
] });
|
|
26367
26808
|
};
|
|
26368
26809
|
var linkedin_default = SvgLinkedin;
|
|
26369
26810
|
|
|
26370
26811
|
// src/theme/default/provider-logos/microsoft.svg
|
|
26371
26812
|
import * as React12 from "react";
|
|
26372
|
-
import { jsx as
|
|
26813
|
+
import { jsx as jsx58, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
26373
26814
|
var SvgMicrosoft = (props) => {
|
|
26374
26815
|
var _a, _b;
|
|
26375
26816
|
return /* @__PURE__ */ jsxs24("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: [
|
|
26376
|
-
/* @__PURE__ */
|
|
26377
|
-
/* @__PURE__ */
|
|
26378
|
-
/* @__PURE__ */
|
|
26379
|
-
/* @__PURE__ */
|
|
26817
|
+
/* @__PURE__ */ jsx58("path", { fill: "#F35325", d: "M1 1h10v10H1z" }),
|
|
26818
|
+
/* @__PURE__ */ jsx58("path", { fill: "#81BC06", d: "M12 1h10v10H12z" }),
|
|
26819
|
+
/* @__PURE__ */ jsx58("path", { fill: "#05A6F0", d: "M1 12h10v10H1z" }),
|
|
26820
|
+
/* @__PURE__ */ jsx58("path", { fill: "#FFBA08", d: "M12 12h10v10H12z" })
|
|
26380
26821
|
] });
|
|
26381
26822
|
};
|
|
26382
26823
|
var microsoft_default = SvgMicrosoft;
|
|
26383
26824
|
|
|
26384
26825
|
// src/theme/default/provider-logos/slack.svg
|
|
26385
26826
|
import * as React13 from "react";
|
|
26386
|
-
import { jsx as
|
|
26827
|
+
import { jsx as jsx59, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
26387
26828
|
var SvgSlack = (props) => {
|
|
26388
26829
|
var _a, _b;
|
|
26389
26830
|
return /* @__PURE__ */ jsxs25("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 32 32", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: [
|
|
26390
|
-
/* @__PURE__ */
|
|
26391
|
-
/* @__PURE__ */
|
|
26392
|
-
/* @__PURE__ */
|
|
26393
|
-
/* @__PURE__ */
|
|
26831
|
+
/* @__PURE__ */ jsx59("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" }),
|
|
26832
|
+
/* @__PURE__ */ jsx59("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" }),
|
|
26833
|
+
/* @__PURE__ */ jsx59("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" }),
|
|
26834
|
+
/* @__PURE__ */ jsx59("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" })
|
|
26394
26835
|
] });
|
|
26395
26836
|
};
|
|
26396
26837
|
var slack_default = SvgSlack;
|
|
26397
26838
|
|
|
26398
26839
|
// src/theme/default/provider-logos/spotify.svg
|
|
26399
26840
|
import * as React14 from "react";
|
|
26400
|
-
import { jsx as
|
|
26841
|
+
import { jsx as jsx60, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
26401
26842
|
var SvgSpotify = (props) => {
|
|
26402
26843
|
var _a, _b;
|
|
26403
26844
|
return /* @__PURE__ */ jsxs26("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: [
|
|
26404
|
-
/* @__PURE__ */
|
|
26405
|
-
/* @__PURE__ */
|
|
26845
|
+
/* @__PURE__ */ jsx60("circle", { cx: 16, cy: 16, r: 14, fill: "#1ED760" }),
|
|
26846
|
+
/* @__PURE__ */ jsx60("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" })
|
|
26406
26847
|
] });
|
|
26407
26848
|
};
|
|
26408
26849
|
var spotify_default = SvgSpotify;
|
|
26409
26850
|
|
|
26410
26851
|
// src/theme/default/provider-logos/yandex.svg
|
|
26411
26852
|
import * as React15 from "react";
|
|
26412
|
-
import { jsx as
|
|
26853
|
+
import { jsx as jsx61, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
26413
26854
|
var SvgYandex = (props) => {
|
|
26414
26855
|
var _a, _b;
|
|
26415
26856
|
return /* @__PURE__ */ jsxs27("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: [
|
|
26416
|
-
/* @__PURE__ */
|
|
26417
|
-
/* @__PURE__ */
|
|
26857
|
+
/* @__PURE__ */ jsx61("circle", { cx: 16, cy: 16, r: 14, fill: "#fff" }),
|
|
26858
|
+
/* @__PURE__ */ jsx61("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" })
|
|
26418
26859
|
] });
|
|
26419
26860
|
};
|
|
26420
26861
|
var yandex_default = SvgYandex;
|
|
26421
26862
|
|
|
26422
26863
|
// src/theme/default/provider-logos/x.svg
|
|
26423
26864
|
import * as React16 from "react";
|
|
26424
|
-
import { jsx as
|
|
26865
|
+
import { jsx as jsx62 } from "react/jsx-runtime";
|
|
26425
26866
|
var SvgX = (props) => {
|
|
26426
26867
|
var _a, _b;
|
|
26427
|
-
return /* @__PURE__ */
|
|
26868
|
+
return /* @__PURE__ */ jsx62("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__ */ jsx62("path", { fill: "#0F172A", d: "M24.122 3h4.292L18.99 13.73 30 28.285h-8.64l-6.764-8.845-7.744 8.845H2.56l9.983-11.476L2 3h8.854l6.112 8.08zM22.62 25.766h2.379L9.604 5.426H7.048z" }) });
|
|
26428
26869
|
};
|
|
26429
26870
|
var x_default = SvgX;
|
|
26430
26871
|
|
|
@@ -26447,7 +26888,7 @@ var logos = {
|
|
|
26447
26888
|
var provider_logos_default = logos;
|
|
26448
26889
|
|
|
26449
26890
|
// src/theme/default/components/form/spinner.tsx
|
|
26450
|
-
import { jsx as
|
|
26891
|
+
import { jsx as jsx63, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
26451
26892
|
function Spinner({ className }) {
|
|
26452
26893
|
return /* @__PURE__ */ jsxs28(
|
|
26453
26894
|
"svg",
|
|
@@ -26462,7 +26903,7 @@ function Spinner({ className }) {
|
|
|
26462
26903
|
fill: "none",
|
|
26463
26904
|
xmlns: "http://www.w3.org/2000/svg",
|
|
26464
26905
|
children: [
|
|
26465
|
-
/* @__PURE__ */
|
|
26906
|
+
/* @__PURE__ */ jsx63("g", { clipPath: "url(#clip0_2572_1748)", children: /* @__PURE__ */ jsx63(
|
|
26466
26907
|
"path",
|
|
26467
26908
|
{
|
|
26468
26909
|
d: "M23.364 10.6362C22.1053 9.37751 20.5016 8.52034 18.7558 8.17307C17.01 7.82581 15.2004 8.00404 13.5559 8.68523C11.9113 9.36641 10.5057 10.52 9.51678 12C8.52784 13.4801 8 15.2201 8 17.0001C8 18.7802 8.52784 20.5202 9.51678 22.0003C10.5057 23.4803 11.9113 24.6339 13.5559 25.3151C15.2004 25.9962 17.01 26.1745 18.7558 25.8272C20.5016 25.4799 22.1053 24.6228 23.364 23.3641",
|
|
@@ -26471,7 +26912,7 @@ function Spinner({ className }) {
|
|
|
26471
26912
|
strokeLinejoin: "round"
|
|
26472
26913
|
}
|
|
26473
26914
|
) }),
|
|
26474
|
-
/* @__PURE__ */
|
|
26915
|
+
/* @__PURE__ */ jsx63("defs", { children: /* @__PURE__ */ jsx63("clipPath", { id: "clip0_2572_1748", children: /* @__PURE__ */ jsx63(
|
|
26475
26916
|
"rect",
|
|
26476
26917
|
{
|
|
26477
26918
|
width: "24",
|
|
@@ -26486,77 +26927,53 @@ function Spinner({ className }) {
|
|
|
26486
26927
|
}
|
|
26487
26928
|
|
|
26488
26929
|
// src/theme/default/components/form/sso.tsx
|
|
26489
|
-
import {
|
|
26490
|
-
import { Fragment as Fragment9, jsx as jsx55, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
26491
|
-
function extractProvider(context) {
|
|
26492
|
-
if (context && typeof context === "object" && "provider" in context && typeof context.provider === "string") {
|
|
26493
|
-
return context.provider;
|
|
26494
|
-
}
|
|
26495
|
-
return void 0;
|
|
26496
|
-
}
|
|
26930
|
+
import { Fragment as Fragment9, jsx as jsx64, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
26497
26931
|
function DefaultButtonSocial({
|
|
26498
|
-
attributes,
|
|
26499
26932
|
node,
|
|
26500
|
-
|
|
26501
|
-
|
|
26502
|
-
|
|
26933
|
+
logos: providedLogos,
|
|
26934
|
+
isSubmitting,
|
|
26935
|
+
buttonProps,
|
|
26936
|
+
provider,
|
|
26937
|
+
attributes
|
|
26503
26938
|
}) {
|
|
26504
|
-
var _a
|
|
26939
|
+
var _a;
|
|
26505
26940
|
const logos2 = { ...provider_logos_default, ...providedLogos };
|
|
26506
|
-
const
|
|
26941
|
+
const intl = useIntl12();
|
|
26507
26942
|
const {
|
|
26508
|
-
flow: { ui }
|
|
26943
|
+
flow: { ui },
|
|
26944
|
+
flowType
|
|
26509
26945
|
} = useOryFlow6();
|
|
26510
|
-
const
|
|
26511
|
-
|
|
26512
|
-
|
|
26513
|
-
|
|
26514
|
-
} = useFormContext13();
|
|
26515
|
-
const ssoNodeCount = (_a = ui.nodes.filter(
|
|
26516
|
-
(node2) => node2.group === UiNodeGroupEnum15.Oidc || node2.group === UiNodeGroupEnum15.Saml
|
|
26517
|
-
).length) != null ? _a : 0;
|
|
26946
|
+
const ssoNodes = ui.nodes.filter(
|
|
26947
|
+
(node2) => node2.group === UiNodeGroupEnum16.Oidc || node2.group === UiNodeGroupEnum16.Saml
|
|
26948
|
+
);
|
|
26949
|
+
const ssoNodeCount = (_a = ssoNodes.length) != null ? _a : 0;
|
|
26518
26950
|
const Logo = logos2[attributes.value.split("-")[0]];
|
|
26519
|
-
const showLabel =
|
|
26520
|
-
const provider = (_c = extractProvider((_b = node.meta.label) == null ? void 0 : _b.context)) != null ? _c : "";
|
|
26521
|
-
const localOnClick = () => {
|
|
26522
|
-
onClick == null ? void 0 : onClick();
|
|
26523
|
-
setClicked(true);
|
|
26524
|
-
};
|
|
26525
|
-
useEffect5(() => {
|
|
26526
|
-
if (!isSubmitting) {
|
|
26527
|
-
setClicked(false);
|
|
26528
|
-
}
|
|
26529
|
-
}, [isSubmitting, setClicked]);
|
|
26951
|
+
const showLabel = flowType === FlowType14.Settings || ssoNodeCount % 3 !== 0 && ssoNodeCount % 4 !== 0;
|
|
26530
26952
|
const label = node.meta.label ? uiTextToFormattedMessage2(node.meta.label, intl) : "";
|
|
26531
26953
|
return /* @__PURE__ */ jsxs29(
|
|
26532
26954
|
"button",
|
|
26533
26955
|
{
|
|
26534
|
-
className: "flex items-center justify-center gap-3 rounded-buttons border border-button-social-border-default bg-button-social-background-default px-4 py-[13px] transition-colors hover:border-button-social-border-hover hover:bg-button-social-background-hover hover:text-button-social-foreground-hover loading:border-button-social-border-disabled loading:bg-button-social-background-disabled loading:text-button-social-foreground-disabled",
|
|
26535
|
-
value: attributes.value,
|
|
26536
|
-
type: "submit",
|
|
26537
|
-
name: "provider",
|
|
26956
|
+
className: "flex cursor-pointer items-center justify-center gap-3 rounded-buttons border border-button-social-border-default bg-button-social-background-default px-4 py-[13px] transition-colors hover:border-button-social-border-hover hover:bg-button-social-background-hover hover:text-button-social-foreground-hover loading:border-button-social-border-disabled loading:bg-button-social-background-disabled loading:text-button-social-foreground-disabled",
|
|
26538
26957
|
"data-testid": `ory/form/node/input/${attributes.name}`,
|
|
26539
|
-
|
|
26540
|
-
"data-loading": clicked,
|
|
26541
|
-
disabled: isSubmitting,
|
|
26958
|
+
"data-loading": isSubmitting,
|
|
26542
26959
|
"aria-label": label,
|
|
26543
|
-
...
|
|
26960
|
+
...buttonProps,
|
|
26544
26961
|
children: [
|
|
26545
|
-
/* @__PURE__ */
|
|
26962
|
+
/* @__PURE__ */ jsx64("span", { className: "relative size-5", children: !isSubmitting ? Logo ? /* @__PURE__ */ jsx64(Logo, { size: 20 }) : /* @__PURE__ */ jsx64(GenericLogo, { label: provider.slice(0, 1) }) : /* @__PURE__ */ jsx64(Spinner, { className: "size-5" }) }),
|
|
26546
26963
|
showLabel && node.meta.label ? /* @__PURE__ */ jsxs29(Fragment9, { children: [
|
|
26547
|
-
/* @__PURE__ */
|
|
26548
|
-
/* @__PURE__ */
|
|
26964
|
+
/* @__PURE__ */ jsx64("span", { className: "grow text-center leading-none font-medium text-button-social-foreground-default", children: label }),
|
|
26965
|
+
/* @__PURE__ */ jsx64("span", { className: "block size-5" })
|
|
26549
26966
|
] }) : null
|
|
26550
26967
|
]
|
|
26551
26968
|
}
|
|
26552
26969
|
);
|
|
26553
26970
|
}
|
|
26554
|
-
DefaultButtonSocial.WithLogos = (logos2) => (props) => /* @__PURE__ */
|
|
26971
|
+
DefaultButtonSocial.WithLogos = (logos2) => (props) => /* @__PURE__ */ jsx64(DefaultButtonSocial, { ...props, logos: logos2 });
|
|
26555
26972
|
function DefaultSocialButtonContainer({
|
|
26556
26973
|
children,
|
|
26557
26974
|
nodes
|
|
26558
26975
|
}) {
|
|
26559
|
-
return /* @__PURE__ */
|
|
26976
|
+
return /* @__PURE__ */ jsx64(
|
|
26560
26977
|
"div",
|
|
26561
26978
|
{
|
|
26562
26979
|
className: cn("grid gap-3", {
|
|
@@ -26570,18 +26987,18 @@ function DefaultSocialButtonContainer({
|
|
|
26570
26987
|
);
|
|
26571
26988
|
}
|
|
26572
26989
|
function GenericLogo({ label }) {
|
|
26573
|
-
return /* @__PURE__ */
|
|
26990
|
+
return /* @__PURE__ */ jsx64("span", { className: "flex size-full items-center justify-center rounded-buttons border-button-social-border-generic-provider bg-button-social-background-generic-provider text-xs text-button-social-foreground-generic-provider", children: label });
|
|
26574
26991
|
}
|
|
26575
26992
|
|
|
26576
26993
|
// src/theme/default/components/form/index.tsx
|
|
26577
|
-
import { jsx as
|
|
26994
|
+
import { jsx as jsx65 } from "react/jsx-runtime";
|
|
26578
26995
|
function DefaultFormContainer({
|
|
26579
26996
|
children,
|
|
26580
26997
|
onSubmit,
|
|
26581
26998
|
action,
|
|
26582
26999
|
method
|
|
26583
27000
|
}) {
|
|
26584
|
-
return /* @__PURE__ */
|
|
27001
|
+
return /* @__PURE__ */ jsx65(
|
|
26585
27002
|
"form",
|
|
26586
27003
|
{
|
|
26587
27004
|
onSubmit,
|
|
@@ -26598,19 +27015,19 @@ function DefaultMessageContainer({ children }) {
|
|
|
26598
27015
|
if (!children || Array.isArray(children) && children.length === 0) {
|
|
26599
27016
|
return null;
|
|
26600
27017
|
}
|
|
26601
|
-
return /* @__PURE__ */
|
|
27018
|
+
return /* @__PURE__ */ jsx65(
|
|
26602
27019
|
"section",
|
|
26603
27020
|
{
|
|
26604
27021
|
className: cn(
|
|
26605
|
-
flowType ===
|
|
27022
|
+
flowType === FlowType15.Settings ? "text-center" : "text-left"
|
|
26606
27023
|
),
|
|
26607
27024
|
children
|
|
26608
27025
|
}
|
|
26609
27026
|
);
|
|
26610
27027
|
}
|
|
26611
27028
|
function DefaultMessage({ message }) {
|
|
26612
|
-
const intl =
|
|
26613
|
-
return /* @__PURE__ */
|
|
27029
|
+
const intl = useIntl13();
|
|
27030
|
+
return /* @__PURE__ */ jsx65(
|
|
26614
27031
|
"span",
|
|
26615
27032
|
{
|
|
26616
27033
|
className: cn(
|
|
@@ -26627,77 +27044,77 @@ function DefaultMessage({ message }) {
|
|
|
26627
27044
|
|
|
26628
27045
|
// src/theme/default/components/card/auth-method-list-item.tsx
|
|
26629
27046
|
import { useOryFlow as useOryFlow8 } from "@ory/elements-react";
|
|
26630
|
-
import { useEffect as
|
|
26631
|
-
import { useIntl as
|
|
27047
|
+
import { useEffect as useEffect7, useState as useState5 } from "react";
|
|
27048
|
+
import { useIntl as useIntl14 } from "react-intl";
|
|
26632
27049
|
import { useEventListener, useTimeout } from "usehooks-ts";
|
|
26633
27050
|
|
|
26634
27051
|
// src/theme/default/assets/icons/alert-triangle.svg
|
|
26635
27052
|
import * as React17 from "react";
|
|
26636
|
-
import { jsx as
|
|
27053
|
+
import { jsx as jsx66 } from "react/jsx-runtime";
|
|
26637
27054
|
var SvgAlertTriangle = (props) => {
|
|
26638
27055
|
var _a, _b;
|
|
26639
|
-
return /* @__PURE__ */
|
|
27056
|
+
return /* @__PURE__ */ jsx66("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__ */ jsx66("path", { stroke: "#000", strokeLinecap: "round", strokeLinejoin: "round", d: "M12 9v4m0 4h.01M10.24 3.957l-8.422 14.06A1.99 1.99 0 0 0 3.518 21h16.845a1.99 1.99 0 0 0 1.7-2.983L13.64 3.957a1.988 1.988 0 0 0-3.4 0" }) });
|
|
26640
27057
|
};
|
|
26641
27058
|
var alert_triangle_default = SvgAlertTriangle;
|
|
26642
27059
|
|
|
26643
27060
|
// src/theme/default/assets/icons/code-asterix.svg
|
|
26644
27061
|
import * as React18 from "react";
|
|
26645
|
-
import { jsx as
|
|
27062
|
+
import { jsx as jsx67 } from "react/jsx-runtime";
|
|
26646
27063
|
var SvgCodeAsterix = (props) => {
|
|
26647
27064
|
var _a, _b;
|
|
26648
|
-
return /* @__PURE__ */
|
|
27065
|
+
return /* @__PURE__ */ jsx67("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__ */ jsx67("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 19.325a2 2 0 0 1-2-2v-4l-1-1 1-1v-4a2 2 0 0 1 2-2m6 6.875 3-1.687M12 12.2v3.375m0-3.375-3-1.687m3 1.687 3 1.688M12 12.2V8.825m0 3.375-3 1.688m9 5.437a2 2 0 0 0 2-2v-4l1-1-1-1v-4a2 2 0 0 0-2-2" }) });
|
|
26649
27066
|
};
|
|
26650
27067
|
var code_asterix_default = SvgCodeAsterix;
|
|
26651
27068
|
|
|
26652
27069
|
// src/theme/default/assets/icons/code.svg
|
|
26653
27070
|
import * as React19 from "react";
|
|
26654
|
-
import { jsx as
|
|
27071
|
+
import { jsx as jsx68 } from "react/jsx-runtime";
|
|
26655
27072
|
var SvgCode = (props) => {
|
|
26656
27073
|
var _a, _b;
|
|
26657
|
-
return /* @__PURE__ */
|
|
27074
|
+
return /* @__PURE__ */ jsx68("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 15 13", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx68("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M6.333 10.666h-4A1.333 1.333 0 0 1 1 9.333V2.666m0 0a1.333 1.333 0 0 1 1.333-1.333h9.334A1.333 1.333 0 0 1 13 2.666m-12 0 6 4 6-4m0 0v4M12.333 12l1.334-1.334-1.334-1.333m-2 0L9 10.666 10.333 12" }) });
|
|
26658
27075
|
};
|
|
26659
27076
|
var code_default = SvgCode;
|
|
26660
27077
|
|
|
26661
27078
|
// src/theme/default/assets/icons/passkey.svg
|
|
26662
27079
|
import * as React20 from "react";
|
|
26663
|
-
import { jsx as
|
|
27080
|
+
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
26664
27081
|
var SvgPasskey = (props) => {
|
|
26665
27082
|
var _a, _b;
|
|
26666
|
-
return /* @__PURE__ */
|
|
27083
|
+
return /* @__PURE__ */ jsx69("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 13 14", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx69("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M10.602 3.667c.603 1 .86 2.171.733 3.333v.667a4 4 0 0 0 .533 2M3.335 6.333a2.667 2.667 0 0 1 5.333 0V7c0 1.442.468 2.846 1.334 4m-4-4.667v1.334A9.33 9.33 0 0 0 7.668 13M3.335 9a12 12 0 0 0 1.2 4m-3.267-1.333A14.7 14.7 0 0 1 .668 7v-.667a5.333 5.333 0 0 1 8-4.633" }) });
|
|
26667
27084
|
};
|
|
26668
27085
|
var passkey_default = SvgPasskey;
|
|
26669
27086
|
|
|
26670
27087
|
// src/theme/default/assets/icons/password.svg
|
|
26671
27088
|
import * as React21 from "react";
|
|
26672
|
-
import { jsx as
|
|
27089
|
+
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
26673
27090
|
var SvgPassword = (props) => {
|
|
26674
27091
|
var _a, _b;
|
|
26675
|
-
return /* @__PURE__ */
|
|
27092
|
+
return /* @__PURE__ */ jsx70("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 4", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx70("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M7 .667v2.667m-1.333-.667 2.666-1.333m-2.666 0 2.666 1.333m-6-2v2.667M1 2.667l2.667-1.333M1 1.334l2.667 1.333m8-2v2.667m-1.334-.667L13 1.334m-2.667 0L13 2.667" }) });
|
|
26676
27093
|
};
|
|
26677
27094
|
var password_default = SvgPassword;
|
|
26678
27095
|
|
|
26679
27096
|
// src/theme/default/assets/icons/totp.svg
|
|
26680
27097
|
import * as React22 from "react";
|
|
26681
|
-
import { jsx as
|
|
27098
|
+
import { jsx as jsx71 } from "react/jsx-runtime";
|
|
26682
27099
|
var SvgTotp = (props) => {
|
|
26683
27100
|
var _a, _b;
|
|
26684
|
-
return /* @__PURE__ */
|
|
27101
|
+
return /* @__PURE__ */ jsx71("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__ */ jsx71("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, 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" }) });
|
|
26685
27102
|
};
|
|
26686
27103
|
var totp_default = SvgTotp;
|
|
26687
27104
|
|
|
26688
27105
|
// src/theme/default/assets/icons/webauthn.svg
|
|
26689
27106
|
import * as React23 from "react";
|
|
26690
|
-
import { jsx as
|
|
27107
|
+
import { jsx as jsx72 } from "react/jsx-runtime";
|
|
26691
27108
|
var SvgWebauthn = (props) => {
|
|
26692
27109
|
var _a, _b;
|
|
26693
|
-
return /* @__PURE__ */
|
|
27110
|
+
return /* @__PURE__ */ jsx72("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 14 14", width: (props == null ? void 0 : props.width) ? props.width : (_a = props == null ? void 0 : props.size) != null ? _a : 20, height: (props == null ? void 0 : props.height) ? props.height : (_b = props == null ? void 0 : props.size) != null ? _b : 20, ...props, children: /* @__PURE__ */ jsx72("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5h.007m1.03-3.438 2.401 2.401a1.92 1.92 0 0 1 0 2.713l-1.762 1.762a1.92 1.92 0 0 1-2.713 0l-.2-.2-4.372 4.371a1.33 1.33 0 0 1-.826.386L2.448 13h-.781a.667.667 0 0 1-.662-.589L1 12.333v-.781c0-.313.11-.616.311-.856l.08-.087.276-.276H3V9h1.333V7.667l1.43-1.43-.201-.2a1.92 1.92 0 0 1 0-2.713l1.762-1.762a1.92 1.92 0 0 1 2.713 0" }) });
|
|
26694
27111
|
};
|
|
26695
27112
|
var webauthn_default = SvgWebauthn;
|
|
26696
27113
|
|
|
26697
27114
|
// src/theme/default/components/card/list-item.tsx
|
|
26698
|
-
import { jsx as
|
|
27115
|
+
import { jsx as jsx73, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
26699
27116
|
function ListItem({
|
|
26700
|
-
icon:
|
|
27117
|
+
icon: Icon2,
|
|
26701
27118
|
as,
|
|
26702
27119
|
title,
|
|
26703
27120
|
description,
|
|
@@ -26716,10 +27133,10 @@ function ListItem({
|
|
|
26716
27133
|
className
|
|
26717
27134
|
),
|
|
26718
27135
|
children: [
|
|
26719
|
-
/* @__PURE__ */
|
|
27136
|
+
/* @__PURE__ */ jsx73("span", { className: "mt-1", children: Icon2 && /* @__PURE__ */ jsx73(Icon2, { size: 16, className: "text-interface-foreground-brand-primary" }) }),
|
|
26720
27137
|
/* @__PURE__ */ jsxs30("span", { className: "inline-flex max-w-full min-w-1 flex-1 flex-col leading-normal", children: [
|
|
26721
|
-
/* @__PURE__ */
|
|
26722
|
-
/* @__PURE__ */
|
|
27138
|
+
/* @__PURE__ */ jsx73("span", { className: "break-words text-interface-foreground-default-primary", children: title }),
|
|
27139
|
+
/* @__PURE__ */ jsx73("span", { className: "text-interface-foreground-default-secondary", children: description })
|
|
26723
27140
|
] }),
|
|
26724
27141
|
children
|
|
26725
27142
|
]
|
|
@@ -26728,8 +27145,7 @@ function ListItem({
|
|
|
26728
27145
|
}
|
|
26729
27146
|
|
|
26730
27147
|
// src/theme/default/components/card/auth-method-list-item.tsx
|
|
26731
|
-
import {
|
|
26732
|
-
import { jsx as jsx65 } from "react/jsx-runtime";
|
|
27148
|
+
import { jsx as jsx74 } from "react/jsx-runtime";
|
|
26733
27149
|
var iconsMap = {
|
|
26734
27150
|
code: code_default,
|
|
26735
27151
|
passkey: passkey_default,
|
|
@@ -26743,26 +27159,34 @@ var iconsMap = {
|
|
|
26743
27159
|
function DefaultAuthMethodListItem({
|
|
26744
27160
|
onClick,
|
|
26745
27161
|
group,
|
|
26746
|
-
title
|
|
27162
|
+
title,
|
|
27163
|
+
disabled
|
|
26747
27164
|
}) {
|
|
26748
27165
|
var _a;
|
|
26749
|
-
const intl =
|
|
26750
|
-
const
|
|
27166
|
+
const intl = useIntl14();
|
|
27167
|
+
const Icon2 = iconsMap[group] || null;
|
|
26751
27168
|
const { flow } = useOryFlow8();
|
|
26752
|
-
const { formState } = useFormContext14();
|
|
26753
27169
|
if (group === "passkey") {
|
|
26754
27170
|
const passkeyNode = findPasskeyNode(flow);
|
|
26755
27171
|
if (!passkeyNode) {
|
|
26756
27172
|
console.error("Passkey node not found");
|
|
26757
27173
|
return null;
|
|
26758
27174
|
}
|
|
26759
|
-
return /* @__PURE__ */
|
|
27175
|
+
return /* @__PURE__ */ jsx74(
|
|
27176
|
+
PasskeyListItem,
|
|
27177
|
+
{
|
|
27178
|
+
passkeyNode,
|
|
27179
|
+
group,
|
|
27180
|
+
title,
|
|
27181
|
+
disabled
|
|
27182
|
+
}
|
|
27183
|
+
);
|
|
26760
27184
|
}
|
|
26761
|
-
return /* @__PURE__ */
|
|
27185
|
+
return /* @__PURE__ */ jsx74(
|
|
26762
27186
|
ListItem,
|
|
26763
27187
|
{
|
|
26764
27188
|
as: "button",
|
|
26765
|
-
icon:
|
|
27189
|
+
icon: Icon2,
|
|
26766
27190
|
title: intl.formatMessage(
|
|
26767
27191
|
{ id: (_a = title == null ? void 0 : title.id) != null ? _a : `two-step.${group}.title` },
|
|
26768
27192
|
title == null ? void 0 : title.values
|
|
@@ -26773,7 +27197,7 @@ function DefaultAuthMethodListItem({
|
|
|
26773
27197
|
onClick,
|
|
26774
27198
|
type: isGroupImmediateSubmit(group) ? "submit" : "button",
|
|
26775
27199
|
"data-testid": `ory/form/auth-picker/${group}`,
|
|
26776
|
-
disabled
|
|
27200
|
+
disabled
|
|
26777
27201
|
}
|
|
26778
27202
|
);
|
|
26779
27203
|
}
|
|
@@ -26788,11 +27212,15 @@ function findPasskeyNode(flow) {
|
|
|
26788
27212
|
}
|
|
26789
27213
|
return passkeyTriggerNode;
|
|
26790
27214
|
}
|
|
26791
|
-
function PasskeyListItem({
|
|
27215
|
+
function PasskeyListItem({
|
|
27216
|
+
group,
|
|
27217
|
+
title,
|
|
27218
|
+
passkeyNode,
|
|
27219
|
+
disabled
|
|
27220
|
+
}) {
|
|
26792
27221
|
var _a, _b;
|
|
26793
|
-
const intl =
|
|
26794
|
-
const
|
|
26795
|
-
const { formState } = useFormContext14();
|
|
27222
|
+
const intl = useIntl14();
|
|
27223
|
+
const Icon2 = iconsMap[group] || null;
|
|
26796
27224
|
const [isPasskeyScriptInitalized, setPasskeyScriptInitalized] = useState5(false);
|
|
26797
27225
|
const [failedToLoad, setFailedToLoad] = useState5(false);
|
|
26798
27226
|
const clickHandler = () => {
|
|
@@ -26807,7 +27235,7 @@ function PasskeyListItem({ group, title, passkeyNode }) {
|
|
|
26807
27235
|
console.error("Passkey node trigger function not found");
|
|
26808
27236
|
}
|
|
26809
27237
|
};
|
|
26810
|
-
|
|
27238
|
+
useEffect7(() => {
|
|
26811
27239
|
if (!passkeyNode.attributes.onclickTrigger) {
|
|
26812
27240
|
console.error("Passkey node not found");
|
|
26813
27241
|
return;
|
|
@@ -26824,11 +27252,11 @@ function PasskeyListItem({ group, title, passkeyNode }) {
|
|
|
26824
27252
|
}
|
|
26825
27253
|
}, 5e3);
|
|
26826
27254
|
if (failedToLoad) {
|
|
26827
|
-
return /* @__PURE__ */
|
|
27255
|
+
return /* @__PURE__ */ jsx74(
|
|
26828
27256
|
ListItem,
|
|
26829
27257
|
{
|
|
26830
27258
|
as: "button",
|
|
26831
|
-
icon:
|
|
27259
|
+
icon: Icon2,
|
|
26832
27260
|
disabled: true,
|
|
26833
27261
|
title: intl.formatMessage(
|
|
26834
27262
|
{ id: (_a = title == null ? void 0 : title.id) != null ? _a : `two-step.${group}.title` },
|
|
@@ -26839,16 +27267,16 @@ function PasskeyListItem({ group, title, passkeyNode }) {
|
|
|
26839
27267
|
}),
|
|
26840
27268
|
type: "button",
|
|
26841
27269
|
"data-testid": `ory/form/auth-picker/${group}`,
|
|
26842
|
-
children: /* @__PURE__ */
|
|
27270
|
+
children: /* @__PURE__ */ jsx74(alert_triangle_default, {})
|
|
26843
27271
|
}
|
|
26844
27272
|
);
|
|
26845
27273
|
}
|
|
26846
|
-
return /* @__PURE__ */
|
|
27274
|
+
return /* @__PURE__ */ jsx74(
|
|
26847
27275
|
ListItem,
|
|
26848
27276
|
{
|
|
26849
27277
|
as: "button",
|
|
26850
|
-
icon:
|
|
26851
|
-
disabled: !isPasskeyScriptInitalized ||
|
|
27278
|
+
icon: Icon2,
|
|
27279
|
+
disabled: !isPasskeyScriptInitalized || disabled,
|
|
26852
27280
|
name: passkeyNode.attributes.name,
|
|
26853
27281
|
title: intl.formatMessage(
|
|
26854
27282
|
{ id: (_b = title == null ? void 0 : title.id) != null ? _b : `two-step.${group}.title` },
|
|
@@ -26865,18 +27293,17 @@ function PasskeyListItem({ group, title, passkeyNode }) {
|
|
|
26865
27293
|
}
|
|
26866
27294
|
|
|
26867
27295
|
// src/theme/default/components/form/button.tsx
|
|
26868
|
-
import { getNodeLabel } from "@ory/client-fetch";
|
|
27296
|
+
import { getNodeLabel as getNodeLabel2 } from "@ory/client-fetch";
|
|
26869
27297
|
import {
|
|
26870
27298
|
uiTextToFormattedMessage as uiTextToFormattedMessage4
|
|
26871
27299
|
} from "@ory/elements-react";
|
|
26872
27300
|
import { cva } from "class-variance-authority";
|
|
26873
|
-
import {
|
|
26874
|
-
import {
|
|
26875
|
-
import {
|
|
26876
|
-
import { jsx as jsx66, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
27301
|
+
import { useIntl as useIntl15 } from "react-intl";
|
|
27302
|
+
import { useMemo as useMemo3 } from "react";
|
|
27303
|
+
import { jsx as jsx75, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
26877
27304
|
var buttonStyles = cva(
|
|
26878
27305
|
[
|
|
26879
|
-
"relative flex justify-center gap-3 overflow-hidden rounded-buttons leading-none font-medium ring-1 ring-inset",
|
|
27306
|
+
"relative flex cursor-pointer justify-center gap-3 overflow-hidden rounded-buttons leading-none font-medium ring-1 ring-inset",
|
|
26880
27307
|
"disabled:cursor-not-allowed loading:cursor-wait loading:before:pointer-events-none",
|
|
26881
27308
|
"transition-colors duration-100 ease-linear",
|
|
26882
27309
|
"max-w-[488px] p-4"
|
|
@@ -26899,51 +27326,32 @@ var buttonStyles = cva(
|
|
|
26899
27326
|
"loading:bg-button-secondary-background-default loading:text-button-secondary-foreground-default loading:ring-button-secondary-border-default",
|
|
26900
27327
|
"loading:before:absolute loading:before:inset-0 loading:before:bg-button-secondary-background-default loading:before:opacity-80 loading:before:content-['']"
|
|
26901
27328
|
]
|
|
26902
|
-
}
|
|
26903
|
-
}
|
|
26904
|
-
}
|
|
26905
|
-
);
|
|
26906
|
-
var DefaultButton = ({
|
|
26907
|
-
attributes,
|
|
26908
|
-
node,
|
|
26909
|
-
onClick
|
|
26910
|
-
}) => {
|
|
26911
|
-
const { type, name, value, ...rest } = attributes;
|
|
26912
|
-
const [clicked, setClicked] = useState6(false);
|
|
26913
|
-
const intl = useIntl14();
|
|
26914
|
-
const label = getNodeLabel(node);
|
|
26915
|
-
const {
|
|
26916
|
-
formState: { isSubmitting, isReady },
|
|
26917
|
-
setValue
|
|
26918
|
-
} = useFormContext15();
|
|
26919
|
-
useEffect7(() => {
|
|
26920
|
-
if (!isSubmitting) {
|
|
26921
|
-
setClicked(false);
|
|
27329
|
+
}
|
|
26922
27330
|
}
|
|
26923
|
-
}
|
|
26924
|
-
|
|
27331
|
+
}
|
|
27332
|
+
);
|
|
27333
|
+
var DefaultButton = ({
|
|
27334
|
+
node,
|
|
27335
|
+
buttonProps,
|
|
27336
|
+
isSubmitting
|
|
27337
|
+
}) => {
|
|
27338
|
+
const intl = useIntl15();
|
|
27339
|
+
const label = getNodeLabel2(node);
|
|
27340
|
+
const isPrimary = useMemo3(() => {
|
|
27341
|
+
return node.attributes.name === "method" || node.attributes.name.includes("passkey") || node.attributes.name.includes("webauthn") || node.attributes.name.includes("lookup_secret") || node.attributes.name.includes("action") && node.attributes.value === "accept";
|
|
27342
|
+
}, [node.attributes.name, node.attributes.value]);
|
|
26925
27343
|
return /* @__PURE__ */ jsxs31(
|
|
26926
27344
|
"button",
|
|
26927
27345
|
{
|
|
26928
|
-
...
|
|
26929
|
-
|
|
26930
|
-
|
|
26931
|
-
type: type === "button" ? "button" : "submit",
|
|
26932
|
-
onClick: (e) => {
|
|
26933
|
-
onClick == null ? void 0 : onClick(e);
|
|
26934
|
-
setClicked(true);
|
|
26935
|
-
if (type !== "button") {
|
|
26936
|
-
setValue(name, value);
|
|
26937
|
-
}
|
|
26938
|
-
},
|
|
27346
|
+
...buttonProps,
|
|
27347
|
+
"data-testid": `ory/form/node/button/${node.attributes.name}`,
|
|
27348
|
+
"data-loading": isSubmitting,
|
|
26939
27349
|
className: buttonStyles({
|
|
26940
27350
|
intent: isPrimary ? "primary" : "secondary"
|
|
26941
27351
|
}),
|
|
26942
|
-
disabled: rest.disabled === true || !isReady || isSubmitting,
|
|
26943
|
-
"data-loading": clicked,
|
|
26944
27352
|
children: [
|
|
26945
|
-
|
|
26946
|
-
label ? /* @__PURE__ */
|
|
27353
|
+
isSubmitting ? /* @__PURE__ */ jsx75(Spinner, {}) : null,
|
|
27354
|
+
label ? /* @__PURE__ */ jsx75("span", { children: uiTextToFormattedMessage4(label, intl) }) : ""
|
|
26947
27355
|
]
|
|
26948
27356
|
}
|
|
26949
27357
|
);
|
|
@@ -26951,17 +27359,16 @@ var DefaultButton = ({
|
|
|
26951
27359
|
DefaultButton.displayName = "DefaultButton";
|
|
26952
27360
|
|
|
26953
27361
|
// src/theme/default/components/form/checkbox.tsx
|
|
26954
|
-
import { getNodeLabel as
|
|
27362
|
+
import { getNodeLabel as getNodeLabel3 } from "@ory/client-fetch";
|
|
26955
27363
|
import {
|
|
26956
27364
|
messageTestId as messageTestId3,
|
|
26957
27365
|
uiTextToFormattedMessage as uiTextToFormattedMessage5
|
|
26958
27366
|
} from "@ory/elements-react";
|
|
26959
|
-
import {
|
|
26960
|
-
import { useIntl as useIntl16 } from "react-intl";
|
|
27367
|
+
import { useIntl as useIntl17 } from "react-intl";
|
|
26961
27368
|
|
|
26962
27369
|
// src/theme/default/components/ui/checkbox-label.tsx
|
|
26963
|
-
import { useIntl as
|
|
26964
|
-
import { Fragment as Fragment10, jsx as
|
|
27370
|
+
import { useIntl as useIntl16 } from "react-intl";
|
|
27371
|
+
import { Fragment as Fragment10, jsx as jsx76 } from "react/jsx-runtime";
|
|
26965
27372
|
var linkRegex = /\[([^\]]+)\]\(([^)]+)\)/g;
|
|
26966
27373
|
function computeLabelElements(labelText) {
|
|
26967
27374
|
const elements = [];
|
|
@@ -26977,7 +27384,7 @@ function computeLabelElements(labelText) {
|
|
|
26977
27384
|
elements.push(labelText.slice(lastIndex, matchStart));
|
|
26978
27385
|
}
|
|
26979
27386
|
elements.push(
|
|
26980
|
-
/* @__PURE__ */
|
|
27387
|
+
/* @__PURE__ */ jsx76(
|
|
26981
27388
|
"a",
|
|
26982
27389
|
{
|
|
26983
27390
|
href: url,
|
|
@@ -26997,18 +27404,18 @@ function computeLabelElements(labelText) {
|
|
|
26997
27404
|
return elements;
|
|
26998
27405
|
}
|
|
26999
27406
|
function CheckboxLabel({ label }) {
|
|
27000
|
-
const intl =
|
|
27407
|
+
const intl = useIntl16();
|
|
27001
27408
|
if (!label) {
|
|
27002
27409
|
return null;
|
|
27003
27410
|
}
|
|
27004
27411
|
const labelText = resolveLabel(label, intl);
|
|
27005
|
-
return /* @__PURE__ */
|
|
27412
|
+
return /* @__PURE__ */ jsx76(Fragment10, { children: computeLabelElements(labelText) });
|
|
27006
27413
|
}
|
|
27007
27414
|
|
|
27008
27415
|
// src/theme/default/components/form/checkbox.tsx
|
|
27009
|
-
import { jsx as
|
|
27416
|
+
import { jsx as jsx77, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
27010
27417
|
function CheckboxSVG() {
|
|
27011
|
-
return /* @__PURE__ */
|
|
27418
|
+
return /* @__PURE__ */ jsx77(
|
|
27012
27419
|
"svg",
|
|
27013
27420
|
{
|
|
27014
27421
|
className: "absolute hidden size-4 fill-checkbox-foreground-checked peer-checked:block",
|
|
@@ -27017,7 +27424,7 @@ function CheckboxSVG() {
|
|
|
27017
27424
|
height: "16",
|
|
27018
27425
|
viewBox: "0 0 16 16",
|
|
27019
27426
|
fill: "none",
|
|
27020
|
-
children: /* @__PURE__ */
|
|
27427
|
+
children: /* @__PURE__ */ jsx77(
|
|
27021
27428
|
"path",
|
|
27022
27429
|
{
|
|
27023
27430
|
fillRule: "evenodd",
|
|
@@ -27028,36 +27435,28 @@ function CheckboxSVG() {
|
|
|
27028
27435
|
}
|
|
27029
27436
|
);
|
|
27030
27437
|
}
|
|
27031
|
-
var DefaultCheckbox = ({
|
|
27032
|
-
|
|
27033
|
-
node
|
|
27034
|
-
}) => {
|
|
27035
|
-
const { value, name, ...attributes } = initialAttributes;
|
|
27036
|
-
const intl = useIntl16();
|
|
27037
|
-
const label = getNodeLabel2(node);
|
|
27038
|
-
const { register } = useFormContext16();
|
|
27438
|
+
var DefaultCheckbox = ({ node, inputProps }) => {
|
|
27439
|
+
const intl = useIntl17();
|
|
27440
|
+
const label = getNodeLabel3(node);
|
|
27039
27441
|
const hasError = node.messages.some((m) => m.type === "error");
|
|
27040
|
-
return /* @__PURE__ */ jsxs32("label", { className: "flex items-start gap-3 self-stretch antialiased", children: [
|
|
27442
|
+
return /* @__PURE__ */ jsxs32("label", { className: "flex cursor-pointer items-start gap-3 self-stretch antialiased", children: [
|
|
27041
27443
|
/* @__PURE__ */ jsxs32("span", { className: "flex h-5 items-center", children: [
|
|
27042
|
-
/* @__PURE__ */
|
|
27444
|
+
/* @__PURE__ */ jsx77(
|
|
27043
27445
|
"input",
|
|
27044
27446
|
{
|
|
27045
|
-
...
|
|
27046
|
-
defaultChecked: Boolean(value),
|
|
27047
|
-
type: "checkbox",
|
|
27447
|
+
...inputProps,
|
|
27048
27448
|
className: cn(
|
|
27049
27449
|
"peer size-4 appearance-none rounded-forms border border-checkbox-border-checkbox-border-default bg-checkbox-background-default checked:border-checkbox-border-checkbox-border-checked checked:bg-checkbox-background-checked",
|
|
27050
27450
|
hasError && "border-interface-border-validation-danger"
|
|
27051
27451
|
),
|
|
27052
|
-
"data-testid": `ory/form/node/input/${name}
|
|
27053
|
-
...register(name)
|
|
27452
|
+
"data-testid": `ory/form/node/input/${node.attributes.name}`
|
|
27054
27453
|
}
|
|
27055
27454
|
),
|
|
27056
|
-
/* @__PURE__ */
|
|
27455
|
+
/* @__PURE__ */ jsx77(CheckboxSVG, {})
|
|
27057
27456
|
] }),
|
|
27058
27457
|
/* @__PURE__ */ jsxs32("span", { className: "flex flex-col", children: [
|
|
27059
|
-
/* @__PURE__ */
|
|
27060
|
-
node.messages.map((message) => /* @__PURE__ */
|
|
27458
|
+
/* @__PURE__ */ jsx77("span", { className: "leading-tight font-normal text-interface-foreground-default-primary", children: /* @__PURE__ */ jsx77(CheckboxLabel, { label }) }),
|
|
27459
|
+
node.messages.map((message) => /* @__PURE__ */ jsx77(
|
|
27061
27460
|
"span",
|
|
27062
27461
|
{
|
|
27063
27462
|
className: cn(
|
|
@@ -27075,7 +27474,7 @@ var DefaultCheckbox = ({
|
|
|
27075
27474
|
|
|
27076
27475
|
// src/theme/default/components/form/group-container.tsx
|
|
27077
27476
|
import { useOryFlow as useOryFlow9 } from "@ory/elements-react";
|
|
27078
|
-
import { FlowType as
|
|
27477
|
+
import { FlowType as FlowType16 } from "@ory/client-fetch";
|
|
27079
27478
|
|
|
27080
27479
|
// src/util/childCounter.ts
|
|
27081
27480
|
import { Children, isValidElement } from "react";
|
|
@@ -27089,19 +27488,19 @@ function countRenderableChildren(children) {
|
|
|
27089
27488
|
}
|
|
27090
27489
|
|
|
27091
27490
|
// src/theme/default/components/form/group-container.tsx
|
|
27092
|
-
import { jsx as
|
|
27491
|
+
import { jsx as jsx78 } from "react/jsx-runtime";
|
|
27093
27492
|
function DefaultGroupContainer({ children }) {
|
|
27094
27493
|
const { flowType } = useOryFlow9();
|
|
27095
27494
|
const count = countRenderableChildren(children);
|
|
27096
27495
|
if (count === 0) {
|
|
27097
27496
|
return null;
|
|
27098
27497
|
}
|
|
27099
|
-
return /* @__PURE__ */
|
|
27498
|
+
return /* @__PURE__ */ jsx78(
|
|
27100
27499
|
"div",
|
|
27101
27500
|
{
|
|
27102
27501
|
className: cn(
|
|
27103
27502
|
"grid",
|
|
27104
|
-
flowType ===
|
|
27503
|
+
flowType === FlowType16.OAuth2Consent ? "grid-cols-2 gap-2" : "grid-cols-1 gap-8"
|
|
27105
27504
|
),
|
|
27106
27505
|
children
|
|
27107
27506
|
}
|
|
@@ -27109,236 +27508,207 @@ function DefaultGroupContainer({ children }) {
|
|
|
27109
27508
|
}
|
|
27110
27509
|
|
|
27111
27510
|
// src/theme/default/components/form/horizontal-divider.tsx
|
|
27112
|
-
import { jsx as
|
|
27511
|
+
import { jsx as jsx79 } from "react/jsx-runtime";
|
|
27113
27512
|
function DefaultHorizontalDivider() {
|
|
27114
|
-
return /* @__PURE__ */
|
|
27513
|
+
return /* @__PURE__ */ jsx79("hr", { className: "border-interface-border-default-primary" });
|
|
27115
27514
|
}
|
|
27116
27515
|
|
|
27117
27516
|
// src/theme/default/components/form/image.tsx
|
|
27118
|
-
import { jsx as
|
|
27119
|
-
function DefaultImage({
|
|
27517
|
+
import { jsx as jsx80 } from "react/jsx-runtime";
|
|
27518
|
+
function DefaultImage({ node }) {
|
|
27120
27519
|
var _a;
|
|
27121
|
-
return /* @__PURE__ */
|
|
27520
|
+
return /* @__PURE__ */ jsx80("figure", { children: /* @__PURE__ */ jsx80(
|
|
27122
27521
|
"img",
|
|
27123
27522
|
{
|
|
27124
|
-
...omitInputAttributes(attributes),
|
|
27523
|
+
...omitInputAttributes(node.attributes),
|
|
27125
27524
|
alt: ((_a = node.meta.label) == null ? void 0 : _a.text) || ""
|
|
27126
27525
|
}
|
|
27127
27526
|
) });
|
|
27128
27527
|
}
|
|
27129
27528
|
|
|
27130
27529
|
// src/theme/default/components/form/input.tsx
|
|
27131
|
-
import { FlowType as
|
|
27132
|
-
import {
|
|
27133
|
-
|
|
27134
|
-
|
|
27135
|
-
} from "@ory/elements-react";
|
|
27136
|
-
import { useRef as useRef3, useState as useState7 } from "react";
|
|
27137
|
-
import { useFormContext as useFormContext17 } from "react-hook-form";
|
|
27138
|
-
import { useIntl as useIntl17 } from "react-intl";
|
|
27530
|
+
import { FlowType as FlowType17 } from "@ory/client-fetch";
|
|
27531
|
+
import { useOryFlow as useOryFlow10 } from "@ory/elements-react";
|
|
27532
|
+
import * as PasswordToggleField from "@radix-ui/react-password-toggle-field";
|
|
27533
|
+
import { forwardRef } from "react";
|
|
27139
27534
|
|
|
27140
27535
|
// src/theme/default/assets/icons/eye-off.svg
|
|
27141
27536
|
import * as React24 from "react";
|
|
27142
|
-
import { jsx as
|
|
27537
|
+
import { jsx as jsx81 } from "react/jsx-runtime";
|
|
27143
27538
|
var SvgEyeOff = (props) => {
|
|
27144
27539
|
var _a, _b;
|
|
27145
|
-
return /* @__PURE__ */
|
|
27540
|
+
return /* @__PURE__ */ jsx81("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__ */ jsx81("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M10.585 10.587a2 2 0 0 0 2.829 2.828m3.267 3.258A8.7 8.7 0 0 1 12 18q-5.4 0-9-6 1.908-3.18 4.32-4.674m2.86-1.146A9 9 0 0 1 12 6q5.4 0 9 6-1 1.665-2.138 2.87M3 3l18 18" }) });
|
|
27146
27541
|
};
|
|
27147
27542
|
var eye_off_default = SvgEyeOff;
|
|
27148
27543
|
|
|
27149
27544
|
// src/theme/default/assets/icons/eye.svg
|
|
27150
27545
|
import * as React25 from "react";
|
|
27151
|
-
import { jsx as
|
|
27546
|
+
import { jsx as jsx82, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
27152
27547
|
var SvgEye = (props) => {
|
|
27153
27548
|
var _a, _b;
|
|
27154
|
-
return /* @__PURE__ */
|
|
27155
|
-
/* @__PURE__ */
|
|
27156
|
-
/* @__PURE__ */
|
|
27549
|
+
return /* @__PURE__ */ jsx82("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__ */ jsxs33("g", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
27550
|
+
/* @__PURE__ */ jsx82("path", { d: "M10 12a2 2 0 1 0 4 0 2 2 0 0 0-4 0" }),
|
|
27551
|
+
/* @__PURE__ */ jsx82("path", { d: "M21 12q-3.6 6-9 6t-9-6q3.6-6 9-6t9 6" })
|
|
27157
27552
|
] }) });
|
|
27158
27553
|
};
|
|
27159
27554
|
var eye_default = SvgEye;
|
|
27160
27555
|
|
|
27161
27556
|
// src/theme/default/components/form/input.tsx
|
|
27162
|
-
import { jsx as
|
|
27557
|
+
import { jsx as jsx83, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
27163
27558
|
var defaultInputClassName = cn(
|
|
27164
|
-
"w-full rounded-forms border leading-tight antialiased transition-colors
|
|
27559
|
+
"w-full rounded-forms border leading-tight antialiased transition-colors focus:ring-0 focus-visible:outline-none",
|
|
27165
27560
|
"border-input-border-default bg-input-background-default text-input-foreground-primary",
|
|
27166
|
-
"
|
|
27167
|
-
"
|
|
27168
|
-
"hover:border-input-border-hover hover:bg-input-background-hover",
|
|
27169
|
-
"px-4 py-[13px]"
|
|
27561
|
+
"focus-within:border-input-border-focus focus-visible:border-input-border-focus",
|
|
27562
|
+
"hover:bg-input-background-hover"
|
|
27170
27563
|
);
|
|
27171
|
-
function
|
|
27172
|
-
|
|
27173
|
-
{
|
|
27174
|
-
id: "input.placeholder",
|
|
27175
|
-
defaultMessage: "Enter your {placeholder}"
|
|
27176
|
-
},
|
|
27177
|
-
{
|
|
27178
|
-
placeholder: uiTextToFormattedMessage6(text, intl)
|
|
27179
|
-
}
|
|
27180
|
-
);
|
|
27181
|
-
if (isDynamicText(text)) {
|
|
27182
|
-
const field = text.context.name;
|
|
27183
|
-
return intl.formatMessage({
|
|
27184
|
-
id: `forms.input.placeholder.${field}`,
|
|
27185
|
-
defaultMessage: fallback
|
|
27186
|
-
});
|
|
27187
|
-
}
|
|
27188
|
-
return fallback;
|
|
27564
|
+
function isAutocompletePassword(autocomplete) {
|
|
27565
|
+
return autocomplete === "new-password" || autocomplete === "current-password";
|
|
27189
27566
|
}
|
|
27190
|
-
|
|
27191
|
-
|
|
27192
|
-
|
|
27193
|
-
|
|
27194
|
-
|
|
27195
|
-
const label = getNodeLabel3(node);
|
|
27196
|
-
const { register } = useFormContext17();
|
|
27197
|
-
const { value, autocomplete, name, maxlength, ...rest } = attributes;
|
|
27198
|
-
const intl = useIntl17();
|
|
27199
|
-
const { flowType } = useOryFlow10();
|
|
27200
|
-
const inputRef = useRef3(null);
|
|
27201
|
-
const placeholder = label ? resolvePlaceholder(label, intl) : "";
|
|
27202
|
-
if (rest.type === "hidden") {
|
|
27203
|
-
return /* @__PURE__ */ jsx74(
|
|
27204
|
-
"input",
|
|
27205
|
-
{
|
|
27206
|
-
...omitInputAttributes(rest),
|
|
27207
|
-
"data-testid": `ory/form/node/input/${name}`,
|
|
27208
|
-
...register(name, { value })
|
|
27209
|
-
}
|
|
27210
|
-
);
|
|
27211
|
-
}
|
|
27212
|
-
const { ref, ...restRegister } = register(name, { value });
|
|
27213
|
-
return /* @__PURE__ */ jsxs34(
|
|
27567
|
+
function PasswordInput({
|
|
27568
|
+
className,
|
|
27569
|
+
...rest
|
|
27570
|
+
}) {
|
|
27571
|
+
return /* @__PURE__ */ jsx83(PasswordToggleField.Root, { children: /* @__PURE__ */ jsxs34(
|
|
27214
27572
|
"div",
|
|
27215
27573
|
{
|
|
27216
27574
|
className: cn(
|
|
27217
|
-
|
|
27218
|
-
|
|
27219
|
-
|
|
27575
|
+
defaultInputClassName,
|
|
27576
|
+
"flex justify-stretch not-focus-within:hover:border-input-border-hover",
|
|
27577
|
+
"data-[disabled=true]:border-input-border-disabled data-[disabled=true]:bg-input-background-disabled data-[disabled=true]:text-input-foreground-disabled"
|
|
27220
27578
|
),
|
|
27579
|
+
"data-disabled": rest.disabled,
|
|
27221
27580
|
children: [
|
|
27222
|
-
/* @__PURE__ */
|
|
27223
|
-
|
|
27581
|
+
/* @__PURE__ */ jsx83(
|
|
27582
|
+
PasswordToggleField.Input,
|
|
27224
27583
|
{
|
|
27225
|
-
...
|
|
27226
|
-
|
|
27227
|
-
|
|
27228
|
-
|
|
27229
|
-
|
|
27230
|
-
"data-testid": `ory/form/node/input/${name}`,
|
|
27231
|
-
className: defaultInputClassName,
|
|
27232
|
-
ref: (e) => {
|
|
27233
|
-
inputRef.current = e;
|
|
27234
|
-
ref(e);
|
|
27235
|
-
},
|
|
27236
|
-
...restRegister
|
|
27584
|
+
...rest,
|
|
27585
|
+
className: cn(
|
|
27586
|
+
"w-full rounded-l-forms rounded-r-none bg-transparent px-4 py-[13px] text-input-foreground-primary placeholder:h-[20px] placeholder:text-input-foreground-tertiary focus:outline-none disabled:bg-input-background-disabled disabled:text-input-foreground-disabled",
|
|
27587
|
+
className
|
|
27588
|
+
)
|
|
27237
27589
|
}
|
|
27238
27590
|
),
|
|
27239
|
-
|
|
27591
|
+
/* @__PURE__ */ jsx83(PasswordToggleField.Toggle, { className: "cursor-pointer bg-transparent px-2 py-[13px]", children: /* @__PURE__ */ jsx83(PasswordToggleField.Icon, { visible: /* @__PURE__ */ jsx83(eye_off_default, {}), hidden: /* @__PURE__ */ jsx83(eye_default, {}) }) })
|
|
27240
27592
|
]
|
|
27241
27593
|
}
|
|
27242
|
-
);
|
|
27243
|
-
}
|
|
27244
|
-
|
|
27245
|
-
|
|
27246
|
-
})
|
|
27247
|
-
|
|
27248
|
-
|
|
27249
|
-
|
|
27250
|
-
|
|
27251
|
-
|
|
27252
|
-
|
|
27253
|
-
|
|
27254
|
-
|
|
27255
|
-
|
|
27594
|
+
) });
|
|
27595
|
+
}
|
|
27596
|
+
var TextInput = forwardRef(
|
|
27597
|
+
({ className, ...props }, ref) => {
|
|
27598
|
+
const { flowType } = useOryFlow10();
|
|
27599
|
+
return /* @__PURE__ */ jsx83(
|
|
27600
|
+
"input",
|
|
27601
|
+
{
|
|
27602
|
+
...props,
|
|
27603
|
+
className: cn(
|
|
27604
|
+
defaultInputClassName,
|
|
27605
|
+
"px-4 py-[13px] hover:border-input-border-hover",
|
|
27606
|
+
"placeholder:h-[20px] placeholder:text-input-foreground-tertiary disabled:border-input-border-disabled disabled:bg-input-background-disabled disabled:text-input-foreground-disabled",
|
|
27607
|
+
// The settings flow input fields are supposed to be dense, so we don't need the extra padding we want on the user flows.
|
|
27608
|
+
flowType === FlowType17.Settings && "max-w-[488px]",
|
|
27609
|
+
className
|
|
27610
|
+
),
|
|
27611
|
+
ref
|
|
27612
|
+
}
|
|
27613
|
+
);
|
|
27614
|
+
}
|
|
27615
|
+
);
|
|
27616
|
+
var DefaultInputRoot = ({ inputProps }) => {
|
|
27617
|
+
if (inputProps.type === "password") {
|
|
27618
|
+
const autoComplete = isAutocompletePassword(inputProps.autoComplete) ? inputProps.autoComplete : void 0;
|
|
27619
|
+
return /* @__PURE__ */ jsx83(
|
|
27620
|
+
PasswordInput,
|
|
27621
|
+
{
|
|
27622
|
+
"data-testid": `ory/form/node/input/${inputProps.name}`,
|
|
27623
|
+
...inputProps,
|
|
27624
|
+
autoComplete
|
|
27625
|
+
}
|
|
27626
|
+
);
|
|
27627
|
+
}
|
|
27628
|
+
if (inputProps.type === "hidden") {
|
|
27629
|
+
return /* @__PURE__ */ jsx83(
|
|
27630
|
+
"input",
|
|
27631
|
+
{
|
|
27632
|
+
"data-testid": `ory/form/node/input/${inputProps.name}`,
|
|
27633
|
+
...inputProps
|
|
27634
|
+
}
|
|
27635
|
+
);
|
|
27636
|
+
}
|
|
27637
|
+
return /* @__PURE__ */ jsx83(
|
|
27638
|
+
TextInput,
|
|
27256
27639
|
{
|
|
27257
|
-
|
|
27258
|
-
|
|
27259
|
-
type: "button",
|
|
27260
|
-
"aria-label": "Toggle password visibility",
|
|
27261
|
-
children: shown ? /* @__PURE__ */ jsx74(eye_off_default, {}) : /* @__PURE__ */ jsx74(eye_default, {})
|
|
27640
|
+
"data-testid": `ory/form/node/input/${inputProps.name}`,
|
|
27641
|
+
...inputProps
|
|
27262
27642
|
}
|
|
27263
27643
|
);
|
|
27264
|
-
}
|
|
27644
|
+
};
|
|
27645
|
+
var DefaultInput = Object.assign(DefaultInputRoot, {
|
|
27646
|
+
TextInput,
|
|
27647
|
+
PasswordInput
|
|
27648
|
+
});
|
|
27265
27649
|
|
|
27266
27650
|
// src/theme/default/components/form/label.tsx
|
|
27267
27651
|
import {
|
|
27268
|
-
FlowType as
|
|
27652
|
+
FlowType as FlowType18,
|
|
27269
27653
|
getNodeLabel as getNodeLabel4,
|
|
27270
27654
|
instanceOfUiText
|
|
27271
27655
|
} from "@ory/client-fetch";
|
|
27272
27656
|
import {
|
|
27273
27657
|
messageTestId as messageTestId4,
|
|
27274
|
-
useComponents as
|
|
27658
|
+
useComponents as useComponents4,
|
|
27275
27659
|
useOryConfiguration as useOryConfiguration5,
|
|
27276
|
-
useOryFlow as useOryFlow11
|
|
27660
|
+
useOryFlow as useOryFlow11,
|
|
27661
|
+
useResendCode as useResendCode2
|
|
27277
27662
|
} from "@ory/elements-react";
|
|
27278
|
-
import { useMemo as
|
|
27279
|
-
import { useFormContext as useFormContext18 } from "react-hook-form";
|
|
27663
|
+
import { useMemo as useMemo4 } from "react";
|
|
27280
27664
|
import { useIntl as useIntl18 } from "react-intl";
|
|
27281
|
-
import { jsx as
|
|
27282
|
-
function findResendNode(nodes) {
|
|
27283
|
-
return nodes.find(
|
|
27284
|
-
(n) => "name" in n.attributes && (["email", "recovery_confirm_address"].includes(n.attributes.name) && n.attributes.type === "submit" || n.attributes.name === "resend")
|
|
27285
|
-
);
|
|
27286
|
-
}
|
|
27665
|
+
import { jsx as jsx84, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
27287
27666
|
function DefaultLabel({
|
|
27288
27667
|
node,
|
|
27289
27668
|
children,
|
|
27290
27669
|
attributes,
|
|
27291
|
-
|
|
27670
|
+
fieldError
|
|
27292
27671
|
}) {
|
|
27293
27672
|
const intl = useIntl18();
|
|
27294
27673
|
const label = getNodeLabel4(node);
|
|
27295
|
-
const { Message } =
|
|
27296
|
-
const {
|
|
27297
|
-
const { setValue, formState } = useFormContext18();
|
|
27298
|
-
const resendNode = findResendNode(flow.ui.nodes);
|
|
27299
|
-
const handleResend = () => {
|
|
27300
|
-
if ((resendNode == null ? void 0 : resendNode.attributes) && "name" in resendNode.attributes) {
|
|
27301
|
-
setValue(resendNode.attributes.name, resendNode.attributes.value);
|
|
27302
|
-
}
|
|
27303
|
-
};
|
|
27304
|
-
const fieldError = formState.errors[attributes.name];
|
|
27674
|
+
const { Message } = useComponents4();
|
|
27675
|
+
const { resendCode, resendCodeNode } = useResendCode2();
|
|
27305
27676
|
return /* @__PURE__ */ jsxs35("div", { className: "flex flex-col gap-1 antialiased", children: [
|
|
27306
27677
|
label && /* @__PURE__ */ jsxs35("span", { className: "inline-flex justify-between", children: [
|
|
27307
|
-
/* @__PURE__ */
|
|
27678
|
+
/* @__PURE__ */ jsx84(
|
|
27308
27679
|
"label",
|
|
27309
27680
|
{
|
|
27310
27681
|
...messageTestId4(label),
|
|
27311
27682
|
className: "leading-normal text-input-foreground-primary",
|
|
27312
27683
|
htmlFor: attributes.name,
|
|
27313
27684
|
"data-testid": `ory/form/node/input/label/${attributes.name}`,
|
|
27314
|
-
...rest,
|
|
27315
27685
|
children: resolveLabel(label, intl)
|
|
27316
27686
|
}
|
|
27317
27687
|
),
|
|
27318
|
-
/* @__PURE__ */
|
|
27319
|
-
(
|
|
27688
|
+
/* @__PURE__ */ jsx84(LabelAction, { attributes }),
|
|
27689
|
+
(resendCodeNode == null ? void 0 : resendCodeNode.attributes.node_type) === "input" && /* @__PURE__ */ jsx84(
|
|
27320
27690
|
"button",
|
|
27321
27691
|
{
|
|
27322
|
-
type: "
|
|
27323
|
-
name:
|
|
27324
|
-
value:
|
|
27325
|
-
onClick:
|
|
27692
|
+
type: "button",
|
|
27693
|
+
name: resendCodeNode.attributes.name,
|
|
27694
|
+
value: resendCodeNode.attributes.value,
|
|
27695
|
+
onClick: resendCode,
|
|
27326
27696
|
className: "cursor-pointer text-button-link-brand-brand underline transition-colors hover:text-button-link-brand-brand-hover",
|
|
27327
27697
|
children: intl.formatMessage({ id: "identities.messages.1070008" })
|
|
27328
27698
|
}
|
|
27329
27699
|
)
|
|
27330
27700
|
] }),
|
|
27331
27701
|
children,
|
|
27332
|
-
node.messages.map((message) => /* @__PURE__ */
|
|
27333
|
-
fieldError && instanceOfUiText(fieldError) && /* @__PURE__ */
|
|
27702
|
+
node.messages.map((message) => /* @__PURE__ */ jsx84(Message.Content, { message }, message.id)),
|
|
27703
|
+
fieldError && instanceOfUiText(fieldError) && /* @__PURE__ */ jsx84(Message.Content, { message: fieldError })
|
|
27334
27704
|
] });
|
|
27335
27705
|
}
|
|
27336
27706
|
function LabelAction({ attributes }) {
|
|
27337
27707
|
const intl = useIntl18();
|
|
27338
27708
|
const { flowType, flow, formState } = useOryFlow11();
|
|
27339
27709
|
const config = useOryConfiguration5();
|
|
27340
|
-
const action =
|
|
27341
|
-
if (flowType ===
|
|
27710
|
+
const action = useMemo4(() => {
|
|
27711
|
+
if (flowType === FlowType18.Login && config.project.recovery_enabled) {
|
|
27342
27712
|
if (formState.current === "provide_identifier" && !flow.refresh) {
|
|
27343
27713
|
if (attributes.name === "identifier") {
|
|
27344
27714
|
return {
|
|
@@ -27370,7 +27740,7 @@ function LabelAction({ attributes }) {
|
|
|
27370
27740
|
config.sdk.url,
|
|
27371
27741
|
formState
|
|
27372
27742
|
]);
|
|
27373
|
-
return action ? /* @__PURE__ */
|
|
27743
|
+
return action ? /* @__PURE__ */ jsx84(
|
|
27374
27744
|
"a",
|
|
27375
27745
|
{
|
|
27376
27746
|
href: action.href,
|
|
@@ -27384,38 +27754,39 @@ function LabelAction({ attributes }) {
|
|
|
27384
27754
|
// src/theme/default/components/form/link-button.tsx
|
|
27385
27755
|
import { getNodeLabel as getNodeLabel5 } from "@ory/client-fetch";
|
|
27386
27756
|
import {
|
|
27387
|
-
uiTextToFormattedMessage as
|
|
27757
|
+
uiTextToFormattedMessage as uiTextToFormattedMessage6
|
|
27388
27758
|
} from "@ory/elements-react";
|
|
27389
|
-
import { forwardRef } from "react";
|
|
27759
|
+
import { forwardRef as forwardRef2 } from "react";
|
|
27390
27760
|
import { useIntl as useIntl19 } from "react-intl";
|
|
27391
|
-
import { jsx as
|
|
27392
|
-
var DefaultLinkButton =
|
|
27761
|
+
import { jsx as jsx85 } from "react/jsx-runtime";
|
|
27762
|
+
var DefaultLinkButton = forwardRef2(({ attributes, node }, ref) => {
|
|
27393
27763
|
const intl = useIntl19();
|
|
27394
27764
|
const label = getNodeLabel5(node);
|
|
27395
|
-
return /* @__PURE__ */
|
|
27765
|
+
return /* @__PURE__ */ jsx85(
|
|
27396
27766
|
"a",
|
|
27397
27767
|
{
|
|
27398
27768
|
...omitInputAttributes(attributes),
|
|
27399
27769
|
ref,
|
|
27400
|
-
title: label ?
|
|
27770
|
+
title: label ? uiTextToFormattedMessage6(label, intl) : "",
|
|
27401
27771
|
"data-testid": `ory/form/node/link/${attributes.id}`,
|
|
27402
27772
|
className: cn(
|
|
27403
27773
|
"cursor-pointer gap-3 border bg-button-primary-background-default p-4 text-center leading-none font-medium text-button-primary-foreground-default antialiased transition-colors hover:bg-button-primary-background-hover hover:text-button-primary-foreground-hover"
|
|
27404
27774
|
),
|
|
27405
|
-
children: label ?
|
|
27775
|
+
children: label ? uiTextToFormattedMessage6(label, intl) : ""
|
|
27406
27776
|
}
|
|
27407
27777
|
);
|
|
27408
27778
|
});
|
|
27409
27779
|
DefaultLinkButton.displayName = "DefaultLinkButton";
|
|
27410
27780
|
|
|
27411
27781
|
// src/theme/default/components/form/pin-code-input.tsx
|
|
27412
|
-
import {
|
|
27782
|
+
import { FlowType as FlowType19 } from "@ory/client-fetch";
|
|
27783
|
+
import { useOryFlow as useOryFlow12 } from "@ory/elements-react";
|
|
27413
27784
|
|
|
27414
27785
|
// src/theme/default/components/form/shadcn/otp-input.tsx
|
|
27415
27786
|
import { OTPInput, OTPInputContext } from "input-otp";
|
|
27416
27787
|
import * as React26 from "react";
|
|
27417
|
-
import { jsx as
|
|
27418
|
-
var InputOTP = React26.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */
|
|
27788
|
+
import { jsx as jsx86, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
27789
|
+
var InputOTP = React26.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx86(
|
|
27419
27790
|
OTPInput,
|
|
27420
27791
|
{
|
|
27421
27792
|
ref,
|
|
@@ -27428,7 +27799,7 @@ var InputOTP = React26.forwardRef(({ className, containerClassName, ...props },
|
|
|
27428
27799
|
}
|
|
27429
27800
|
));
|
|
27430
27801
|
InputOTP.displayName = "InputOTP";
|
|
27431
|
-
var InputOTPGroup = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
27802
|
+
var InputOTPGroup = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx86("div", { ref, className: cn("flex items-center", className), ...props }));
|
|
27432
27803
|
InputOTPGroup.displayName = "InputOTPGroup";
|
|
27433
27804
|
var InputOTPSlot = React26.forwardRef(({ index, className, ...props }, ref) => {
|
|
27434
27805
|
const inputOTPContext = React26.useContext(OTPInputContext);
|
|
@@ -27445,8 +27816,8 @@ var InputOTPSlot = React26.forwardRef(({ index, className, ...props }, ref) => {
|
|
|
27445
27816
|
),
|
|
27446
27817
|
...props,
|
|
27447
27818
|
children: [
|
|
27448
|
-
/* @__PURE__ */
|
|
27449
|
-
hasFakeCaret && /* @__PURE__ */
|
|
27819
|
+
/* @__PURE__ */ jsx86("span", { className: "inline-block size-4", children: char }),
|
|
27820
|
+
hasFakeCaret && /* @__PURE__ */ jsx86("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx86("div", { className: "h-4 w-px animate-caret-blink bg-interface-background-brand-primary duration-700" }) })
|
|
27450
27821
|
]
|
|
27451
27822
|
}
|
|
27452
27823
|
);
|
|
@@ -27454,35 +27825,31 @@ var InputOTPSlot = React26.forwardRef(({ index, className, ...props }, ref) => {
|
|
|
27454
27825
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
27455
27826
|
|
|
27456
27827
|
// src/theme/default/components/form/pin-code-input.tsx
|
|
27457
|
-
import {
|
|
27458
|
-
|
|
27459
|
-
|
|
27460
|
-
|
|
27461
|
-
|
|
27462
|
-
const { maxlength, name } = attributes;
|
|
27463
|
-
const elements = maxlength != null ? maxlength : 6;
|
|
27828
|
+
import { jsx as jsx87 } from "react/jsx-runtime";
|
|
27829
|
+
var DefaultPinCodeInput = ({
|
|
27830
|
+
node,
|
|
27831
|
+
inputProps
|
|
27832
|
+
}) => {
|
|
27464
27833
|
const { flowType } = useOryFlow12();
|
|
27465
|
-
const
|
|
27466
|
-
|
|
27467
|
-
|
|
27468
|
-
|
|
27469
|
-
return /* @__PURE__ */ jsx78(
|
|
27834
|
+
const { value, maxLength, ...restInputProps } = inputProps;
|
|
27835
|
+
const elements = maxLength != null ? maxLength : 6;
|
|
27836
|
+
const valueCasted = value;
|
|
27837
|
+
return /* @__PURE__ */ jsx87(
|
|
27470
27838
|
InputOTP,
|
|
27471
27839
|
{
|
|
27472
|
-
|
|
27473
|
-
|
|
27474
|
-
|
|
27475
|
-
|
|
27476
|
-
|
|
27477
|
-
children: /* @__PURE__ */ jsx78(
|
|
27840
|
+
"data-testid": `ory/form/node/input/${node.attributes.name}`,
|
|
27841
|
+
...restInputProps,
|
|
27842
|
+
value: valueCasted,
|
|
27843
|
+
maxLength: elements,
|
|
27844
|
+
children: /* @__PURE__ */ jsx87(
|
|
27478
27845
|
InputOTPGroup,
|
|
27479
27846
|
{
|
|
27480
27847
|
className: cn(
|
|
27481
27848
|
"flex w-full justify-stretch gap-2",
|
|
27482
27849
|
// The settings flow input fields are supposed to be dense, so we don't need the extra padding we want on the user flows.
|
|
27483
|
-
flowType ===
|
|
27850
|
+
flowType === FlowType19.Settings && "max-w-[488px]"
|
|
27484
27851
|
),
|
|
27485
|
-
children: [...Array(elements)].map((_, index) => /* @__PURE__ */
|
|
27852
|
+
children: [...Array(elements)].map((_, index) => /* @__PURE__ */ jsx87(InputOTPSlot, { index }, index))
|
|
27486
27853
|
}
|
|
27487
27854
|
)
|
|
27488
27855
|
}
|
|
@@ -27490,16 +27857,16 @@ var DefaultPinCodeInput = ({ attributes }) => {
|
|
|
27490
27857
|
};
|
|
27491
27858
|
|
|
27492
27859
|
// src/theme/default/components/form/section.tsx
|
|
27493
|
-
import { jsx as
|
|
27860
|
+
import { jsx as jsx88, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
27494
27861
|
var DefaultFormSection = ({
|
|
27495
27862
|
children,
|
|
27496
27863
|
nodes: _nodes,
|
|
27497
27864
|
...rest
|
|
27498
27865
|
}) => {
|
|
27499
|
-
return /* @__PURE__ */
|
|
27866
|
+
return /* @__PURE__ */ jsx88(
|
|
27500
27867
|
"form",
|
|
27501
27868
|
{
|
|
27502
|
-
className: "flex w-
|
|
27869
|
+
className: "flex w-(--breakpoint-sm) flex-col px-4 md:w-[712px] lg:w-[802px] xl:w-[896px]",
|
|
27503
27870
|
...rest,
|
|
27504
27871
|
children
|
|
27505
27872
|
}
|
|
@@ -27512,8 +27879,8 @@ var DefaultFormSectionContent = ({
|
|
|
27512
27879
|
}) => {
|
|
27513
27880
|
return /* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-8 rounded-t-cards border border-b-0 border-interface-border-default-primary bg-interface-background-default-primary px-6 py-8", children: [
|
|
27514
27881
|
/* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-2", children: [
|
|
27515
|
-
/* @__PURE__ */
|
|
27516
|
-
/* @__PURE__ */
|
|
27882
|
+
/* @__PURE__ */ jsx88("h3", { className: "font-medium text-interface-foreground-default-primary", children: title }),
|
|
27883
|
+
/* @__PURE__ */ jsx88("span", { className: "text-interface-foreground-default-secondary", children: description })
|
|
27517
27884
|
] }),
|
|
27518
27885
|
children
|
|
27519
27886
|
] });
|
|
@@ -27529,7 +27896,7 @@ var DefaultFormSectionFooter = ({
|
|
|
27529
27896
|
"flex min-h-[72px] items-center justify-between gap-2 rounded-b-cards border border-interface-border-default-primary bg-interface-background-default-secondary px-6 py-4 text-interface-foreground-default-tertiary"
|
|
27530
27897
|
),
|
|
27531
27898
|
children: [
|
|
27532
|
-
/* @__PURE__ */
|
|
27899
|
+
/* @__PURE__ */ jsx88("span", { children: text }),
|
|
27533
27900
|
children
|
|
27534
27901
|
]
|
|
27535
27902
|
}
|
|
@@ -27537,42 +27904,51 @@ var DefaultFormSectionFooter = ({
|
|
|
27537
27904
|
};
|
|
27538
27905
|
|
|
27539
27906
|
// src/theme/default/components/form/text.tsx
|
|
27540
|
-
import {
|
|
27907
|
+
import {
|
|
27908
|
+
uiTextToFormattedMessage as uiTextToFormattedMessage7
|
|
27909
|
+
} from "@ory/elements-react";
|
|
27541
27910
|
import { useIntl as useIntl20 } from "react-intl";
|
|
27542
|
-
import {
|
|
27543
|
-
function DefaultText({ node
|
|
27544
|
-
var _a;
|
|
27911
|
+
import { jsx as jsx89, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
27912
|
+
function DefaultText({ node }) {
|
|
27545
27913
|
const intl = useIntl20();
|
|
27546
|
-
|
|
27547
|
-
|
|
27548
|
-
|
|
27549
|
-
|
|
27550
|
-
|
|
27551
|
-
|
|
27552
|
-
{
|
|
27553
|
-
|
|
27554
|
-
|
|
27555
|
-
|
|
27556
|
-
|
|
27557
|
-
|
|
27558
|
-
|
|
27914
|
+
if (node.attributes.id === "totp_secret_key") {
|
|
27915
|
+
return /* @__PURE__ */ jsx89(
|
|
27916
|
+
DefaultLabel,
|
|
27917
|
+
{
|
|
27918
|
+
node,
|
|
27919
|
+
attributes: node.attributes,
|
|
27920
|
+
children: /* @__PURE__ */ jsx89("div", { className: "relative flex max-w-[488px] justify-stretch", children: /* @__PURE__ */ jsx89(
|
|
27921
|
+
DefaultInput.TextInput,
|
|
27922
|
+
{
|
|
27923
|
+
disabled: true,
|
|
27924
|
+
name: "totp_secret_key",
|
|
27925
|
+
type: "text",
|
|
27926
|
+
value: node.attributes.text.text,
|
|
27927
|
+
"data-testid": `ory/form/node/input/totp_secret_key`
|
|
27928
|
+
}
|
|
27929
|
+
) })
|
|
27930
|
+
}
|
|
27931
|
+
);
|
|
27559
27932
|
}
|
|
27560
|
-
|
|
27933
|
+
if (node.attributes.id === "lookup_secret_codes") {
|
|
27934
|
+
throw new Error("node `lookup_secret_codes` cannot be rendered as text");
|
|
27935
|
+
}
|
|
27936
|
+
return /* @__PURE__ */ jsxs38(
|
|
27561
27937
|
"p",
|
|
27562
27938
|
{
|
|
27563
|
-
"data-testid": `ory/form/node/text/${attributes.id}/label`,
|
|
27564
|
-
id: attributes.id,
|
|
27939
|
+
"data-testid": `ory/form/node/text/${node.attributes.id}/label`,
|
|
27940
|
+
id: node.attributes.id,
|
|
27565
27941
|
children: [
|
|
27566
|
-
node.meta.label ? /* @__PURE__ */
|
|
27567
|
-
attributes.text ?
|
|
27942
|
+
node.meta.label ? /* @__PURE__ */ jsx89("label", { children: uiTextToFormattedMessage7(node.meta.label, intl) }) : null,
|
|
27943
|
+
node.attributes.text ? uiTextToFormattedMessage7(node.attributes.text, intl) : ""
|
|
27568
27944
|
]
|
|
27569
27945
|
}
|
|
27570
|
-
)
|
|
27946
|
+
);
|
|
27571
27947
|
}
|
|
27572
27948
|
|
|
27573
27949
|
// src/theme/default/components/generic/page-header.tsx
|
|
27574
27950
|
import {
|
|
27575
|
-
useComponents as
|
|
27951
|
+
useComponents as useComponents5,
|
|
27576
27952
|
useOryConfiguration as useOryConfiguration7,
|
|
27577
27953
|
useOryFlow as useOryFlow13
|
|
27578
27954
|
} from "@ory/elements-react";
|
|
@@ -27583,21 +27959,21 @@ import { DropdownMenuLabel as DropdownMenuLabel2 } from "@radix-ui/react-dropdow
|
|
|
27583
27959
|
|
|
27584
27960
|
// src/theme/default/assets/icons/logout.svg
|
|
27585
27961
|
import * as React27 from "react";
|
|
27586
|
-
import { jsx as
|
|
27962
|
+
import { jsx as jsx90 } from "react/jsx-runtime";
|
|
27587
27963
|
var SvgLogout = (props) => {
|
|
27588
27964
|
var _a, _b;
|
|
27589
|
-
return /* @__PURE__ */
|
|
27965
|
+
return /* @__PURE__ */ jsx90("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__ */ jsx90("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" }) });
|
|
27590
27966
|
};
|
|
27591
27967
|
var logout_default = SvgLogout;
|
|
27592
27968
|
|
|
27593
27969
|
// src/theme/default/assets/icons/settings.svg
|
|
27594
27970
|
import * as React28 from "react";
|
|
27595
|
-
import { jsx as
|
|
27971
|
+
import { jsx as jsx91, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
27596
27972
|
var SvgSettings = (props) => {
|
|
27597
27973
|
var _a, _b;
|
|
27598
|
-
return /* @__PURE__ */
|
|
27599
|
-
/* @__PURE__ */
|
|
27600
|
-
/* @__PURE__ */
|
|
27974
|
+
return /* @__PURE__ */ jsx91("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__ */ jsxs39("g", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
27975
|
+
/* @__PURE__ */ jsx91("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" }),
|
|
27976
|
+
/* @__PURE__ */ jsx91("path", { d: "M6 8a2 2 0 1 0 4 0 2 2 0 0 0-4 0" })
|
|
27601
27977
|
] }) });
|
|
27602
27978
|
};
|
|
27603
27979
|
var settings_default = SvgSettings;
|
|
@@ -27642,12 +28018,12 @@ var getUserInitials = (session) => {
|
|
|
27642
28018
|
};
|
|
27643
28019
|
|
|
27644
28020
|
// src/theme/default/components/ui/dropdown-menu.tsx
|
|
27645
|
-
import { forwardRef as
|
|
28021
|
+
import { forwardRef as forwardRef4 } from "react";
|
|
27646
28022
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
27647
|
-
import { jsx as
|
|
28023
|
+
import { jsx as jsx92 } from "react/jsx-runtime";
|
|
27648
28024
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
27649
28025
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
27650
|
-
var DropdownMenuContent =
|
|
28026
|
+
var DropdownMenuContent = forwardRef4(({ className, sideOffset = 16, ...props }, ref) => /* @__PURE__ */ jsx92(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx92(
|
|
27651
28027
|
DropdownMenuPrimitive.Content,
|
|
27652
28028
|
{
|
|
27653
28029
|
ref,
|
|
@@ -27662,7 +28038,7 @@ var DropdownMenuContent = forwardRef3(({ className, sideOffset = 16, ...props },
|
|
|
27662
28038
|
}
|
|
27663
28039
|
) }));
|
|
27664
28040
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
27665
|
-
var DropdownMenuItem =
|
|
28041
|
+
var DropdownMenuItem = forwardRef4(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx92(
|
|
27666
28042
|
DropdownMenuPrimitive.Item,
|
|
27667
28043
|
{
|
|
27668
28044
|
ref,
|
|
@@ -27680,7 +28056,7 @@ var DropdownMenuItem = forwardRef3(({ className, inset, ...props }, ref) => /* @
|
|
|
27680
28056
|
}
|
|
27681
28057
|
));
|
|
27682
28058
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
27683
|
-
var DropdownMenuLabel =
|
|
28059
|
+
var DropdownMenuLabel = forwardRef4(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx92(
|
|
27684
28060
|
DropdownMenuPrimitive.Label,
|
|
27685
28061
|
{
|
|
27686
28062
|
ref,
|
|
@@ -27695,35 +28071,35 @@ var DropdownMenuLabel = forwardRef3(({ className, inset, ...props }, ref) => /*
|
|
|
27695
28071
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
27696
28072
|
|
|
27697
28073
|
// src/theme/default/components/ui/user-avater.tsx
|
|
27698
|
-
import { forwardRef as
|
|
28074
|
+
import { forwardRef as forwardRef5 } from "react";
|
|
27699
28075
|
|
|
27700
28076
|
// src/theme/default/assets/icons/user.svg
|
|
27701
28077
|
import * as React29 from "react";
|
|
27702
|
-
import { jsx as
|
|
28078
|
+
import { jsx as jsx93 } from "react/jsx-runtime";
|
|
27703
28079
|
var SvgUser = (props) => {
|
|
27704
28080
|
var _a, _b;
|
|
27705
|
-
return /* @__PURE__ */
|
|
28081
|
+
return /* @__PURE__ */ jsx93("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__ */ jsx93("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" }) });
|
|
27706
28082
|
};
|
|
27707
28083
|
var user_default = SvgUser;
|
|
27708
28084
|
|
|
27709
28085
|
// src/theme/default/components/ui/user-avater.tsx
|
|
27710
|
-
import { jsx as
|
|
27711
|
-
var UserAvatar =
|
|
28086
|
+
import { jsx as jsx94 } from "react/jsx-runtime";
|
|
28087
|
+
var UserAvatar = forwardRef5(
|
|
27712
28088
|
({ initials, ...rest }, ref) => {
|
|
27713
|
-
return /* @__PURE__ */
|
|
28089
|
+
return /* @__PURE__ */ jsx94(
|
|
27714
28090
|
"button",
|
|
27715
28091
|
{
|
|
27716
28092
|
ref,
|
|
27717
28093
|
className: "relative flex size-10 items-center justify-center overflow-hidden rounded-[999px] bg-button-primary-background-default hover:bg-button-primary-background-hover",
|
|
27718
28094
|
...rest,
|
|
27719
|
-
children: /* @__PURE__ */
|
|
28095
|
+
children: /* @__PURE__ */ jsx94("div", { className: "relative flex size-full items-center justify-center", children: initials.avatar ? /* @__PURE__ */ jsx94(
|
|
27720
28096
|
"img",
|
|
27721
28097
|
{
|
|
27722
28098
|
src: initials.avatar,
|
|
27723
28099
|
alt: initials.primary,
|
|
27724
28100
|
className: "w-full object-contain"
|
|
27725
28101
|
}
|
|
27726
|
-
) : /* @__PURE__ */
|
|
28102
|
+
) : /* @__PURE__ */ jsx94(
|
|
27727
28103
|
user_default,
|
|
27728
28104
|
{
|
|
27729
28105
|
size: 24,
|
|
@@ -27737,27 +28113,27 @@ var UserAvatar = forwardRef4(
|
|
|
27737
28113
|
UserAvatar.displayName = "UserAvatar";
|
|
27738
28114
|
|
|
27739
28115
|
// src/theme/default/components/ui/user-menu.tsx
|
|
27740
|
-
import { jsx as
|
|
28116
|
+
import { jsx as jsx95, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
27741
28117
|
var UserMenu = ({ session }) => {
|
|
27742
28118
|
const config = useOryConfiguration6();
|
|
27743
28119
|
const initials = getUserInitials(session);
|
|
27744
28120
|
const { logoutFlow } = useClientLogout(config);
|
|
27745
28121
|
return /* @__PURE__ */ jsxs40(DropdownMenu, { children: [
|
|
27746
|
-
/* @__PURE__ */
|
|
28122
|
+
/* @__PURE__ */ jsx95(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx95(UserAvatar, { initials, title: "User Menu" }) }),
|
|
27747
28123
|
/* @__PURE__ */ jsxs40(DropdownMenuContent, { children: [
|
|
27748
28124
|
/* @__PURE__ */ jsxs40(DropdownMenuLabel2, { className: "flex gap-3 px-5 py-4.5", children: [
|
|
27749
|
-
/* @__PURE__ */
|
|
28125
|
+
/* @__PURE__ */ jsx95(UserAvatar, { disabled: true, initials }),
|
|
27750
28126
|
/* @__PURE__ */ jsxs40("div", { className: "flex flex-col justify-center text-sm leading-tight", children: [
|
|
27751
|
-
/* @__PURE__ */
|
|
27752
|
-
initials.secondary && /* @__PURE__ */
|
|
28127
|
+
/* @__PURE__ */ jsx95("div", { className: "leading-tight font-medium text-interface-foreground-default-primary", children: initials.primary }),
|
|
28128
|
+
initials.secondary && /* @__PURE__ */ jsx95("div", { className: "leading-tight text-interface-foreground-default-tertiary", children: initials.secondary })
|
|
27753
28129
|
] })
|
|
27754
28130
|
] }),
|
|
27755
|
-
/* @__PURE__ */
|
|
27756
|
-
/* @__PURE__ */
|
|
28131
|
+
/* @__PURE__ */ jsx95(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs40("a", { href: config.project.settings_ui_url, children: [
|
|
28132
|
+
/* @__PURE__ */ jsx95(settings_default, { size: 16 }),
|
|
27757
28133
|
" User settings"
|
|
27758
28134
|
] }) }),
|
|
27759
|
-
/* @__PURE__ */
|
|
27760
|
-
/* @__PURE__ */
|
|
28135
|
+
/* @__PURE__ */ jsx95(DropdownMenuItem, { asChild: true, disabled: !(logoutFlow == null ? void 0 : logoutFlow.logout_url), children: /* @__PURE__ */ jsxs40("a", { href: logoutFlow == null ? void 0 : logoutFlow.logout_url, children: [
|
|
28136
|
+
/* @__PURE__ */ jsx95(logout_default, { size: 16 }),
|
|
27761
28137
|
" Logout"
|
|
27762
28138
|
] }) })
|
|
27763
28139
|
] })
|
|
@@ -27767,28 +28143,28 @@ var UserMenu = ({ session }) => {
|
|
|
27767
28143
|
// src/theme/default/components/generic/page-header.tsx
|
|
27768
28144
|
import { useSession } from "@ory/elements-react/client";
|
|
27769
28145
|
import { useIntl as useIntl21 } from "react-intl";
|
|
27770
|
-
import { jsx as
|
|
28146
|
+
import { jsx as jsx96, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
27771
28147
|
var DefaultPageHeader = (_props) => {
|
|
27772
28148
|
var _a;
|
|
27773
|
-
const { Card } =
|
|
28149
|
+
const { Card } = useComponents5();
|
|
27774
28150
|
const { session } = useSession();
|
|
27775
28151
|
const intl = useIntl21();
|
|
27776
28152
|
const { flow } = useOryFlow13();
|
|
27777
28153
|
const config = useOryConfiguration7();
|
|
27778
28154
|
const returnUrl = (_a = flow.return_to) != null ? _a : config.project.default_redirect_url;
|
|
27779
|
-
return /* @__PURE__ */
|
|
28155
|
+
return /* @__PURE__ */ jsx96("div", { className: "mt-16 flex w-full max-w-(--breakpoint-sm) flex-col gap-3 px-4 md:max-w-[712px] lg:max-w-[802px] xl:max-w-[896px]", children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-col gap-12", children: [
|
|
27780
28156
|
/* @__PURE__ */ jsxs41("div", { className: "flex max-h-10 flex-1 items-center justify-between gap-2", children: [
|
|
27781
|
-
/* @__PURE__ */
|
|
27782
|
-
/* @__PURE__ */
|
|
28157
|
+
/* @__PURE__ */ jsx96("div", { className: "h-9", children: /* @__PURE__ */ jsx96(Card.Logo, {}) }),
|
|
28158
|
+
/* @__PURE__ */ jsx96(UserMenu, { session })
|
|
27783
28159
|
] }),
|
|
27784
|
-
returnUrl && /* @__PURE__ */
|
|
28160
|
+
returnUrl && /* @__PURE__ */ jsx96("div", { children: /* @__PURE__ */ jsxs41(
|
|
27785
28161
|
"a",
|
|
27786
28162
|
{
|
|
27787
28163
|
"data-testid": "ory/screen/settings/back-button",
|
|
27788
28164
|
href: returnUrl,
|
|
27789
28165
|
className: "inline-flex items-center gap-2 text-button-link-default-primary hover:text-button-link-default-primary-hover",
|
|
27790
28166
|
children: [
|
|
27791
|
-
/* @__PURE__ */
|
|
28167
|
+
/* @__PURE__ */ jsx96(arrow_left_default, {}),
|
|
27792
28168
|
" ",
|
|
27793
28169
|
intl.formatMessage({
|
|
27794
28170
|
id: "settings.navigation-back-button",
|
|
@@ -27801,59 +28177,72 @@ var DefaultPageHeader = (_props) => {
|
|
|
27801
28177
|
};
|
|
27802
28178
|
|
|
27803
28179
|
// src/theme/default/components/settings/settings-oidc.tsx
|
|
28180
|
+
import {
|
|
28181
|
+
useComponents as useComponents6
|
|
28182
|
+
} from "@ory/elements-react";
|
|
27804
28183
|
import { useEffect as useEffect8 } from "react";
|
|
27805
|
-
import {
|
|
27806
|
-
import { useDebounceValue as useDebounceValue2 } from "usehooks-ts";
|
|
28184
|
+
import { useDebounceValue as useDebounceValue3 } from "usehooks-ts";
|
|
27807
28185
|
|
|
27808
28186
|
// src/theme/default/assets/icons/trash.svg
|
|
27809
28187
|
import * as React30 from "react";
|
|
27810
|
-
import { jsx as
|
|
28188
|
+
import { jsx as jsx97 } from "react/jsx-runtime";
|
|
27811
28189
|
var SvgTrash = (props) => {
|
|
27812
28190
|
var _a, _b;
|
|
27813
|
-
return /* @__PURE__ */
|
|
28191
|
+
return /* @__PURE__ */ jsx97("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__ */ jsx97("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" }) });
|
|
27814
28192
|
};
|
|
27815
28193
|
var trash_default = SvgTrash;
|
|
27816
28194
|
|
|
27817
28195
|
// src/theme/default/components/settings/settings-oidc.tsx
|
|
27818
|
-
import { jsx as
|
|
28196
|
+
import { jsx as jsx98, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
28197
|
+
function extractProvider2(context) {
|
|
28198
|
+
if (context && typeof context === "object" && "provider" in context && typeof context.provider === "string") {
|
|
28199
|
+
return context.provider;
|
|
28200
|
+
}
|
|
28201
|
+
return void 0;
|
|
28202
|
+
}
|
|
27819
28203
|
function DefaultSettingsOidc({
|
|
27820
28204
|
linkButtons,
|
|
27821
|
-
unlinkButtons
|
|
28205
|
+
unlinkButtons,
|
|
28206
|
+
isSubmitting
|
|
27822
28207
|
}) {
|
|
27823
28208
|
const hasLinkButtons = linkButtons.length > 0;
|
|
27824
28209
|
const hasUnlinkButtons = unlinkButtons.length > 0;
|
|
28210
|
+
const { Node: Node5 } = useComponents6();
|
|
27825
28211
|
return /* @__PURE__ */ jsxs42("div", { className: "flex flex-col gap-8", children: [
|
|
27826
|
-
hasLinkButtons && /* @__PURE__ */
|
|
27827
|
-
|
|
27828
|
-
|
|
27829
|
-
DefaultButtonSocial,
|
|
28212
|
+
hasLinkButtons && /* @__PURE__ */ jsx98("div", { className: "grid grid-cols-1 items-start gap-3 sm:grid-cols-2 md:grid-cols-3", children: linkButtons.map((button) => {
|
|
28213
|
+
return /* @__PURE__ */ jsx98(
|
|
28214
|
+
Node5.SsoButton,
|
|
27830
28215
|
{
|
|
27831
|
-
showLabel: true,
|
|
27832
28216
|
node: button,
|
|
27833
|
-
|
|
27834
|
-
|
|
28217
|
+
buttonProps: button.buttonProps,
|
|
28218
|
+
attributes: button.attributes,
|
|
28219
|
+
isSubmitting,
|
|
28220
|
+
provider: (button.attributes.value + "").split("-")[0]
|
|
27835
28221
|
},
|
|
27836
|
-
|
|
28222
|
+
button.attributes.value
|
|
27837
28223
|
);
|
|
27838
28224
|
}) }),
|
|
27839
|
-
hasUnlinkButtons && hasLinkButtons ? /* @__PURE__ */
|
|
28225
|
+
hasUnlinkButtons && hasLinkButtons ? /* @__PURE__ */ jsx98(DefaultHorizontalDivider, {}) : null,
|
|
27840
28226
|
unlinkButtons.map((button) => {
|
|
27841
28227
|
if (button.attributes.node_type !== "input") {
|
|
27842
28228
|
return null;
|
|
27843
28229
|
}
|
|
27844
|
-
return /* @__PURE__ */
|
|
28230
|
+
return /* @__PURE__ */ jsx98(
|
|
28231
|
+
UnlinkRow,
|
|
28232
|
+
{
|
|
28233
|
+
button,
|
|
28234
|
+
isSubmitting
|
|
28235
|
+
},
|
|
28236
|
+
button.attributes.value
|
|
28237
|
+
);
|
|
27845
28238
|
})
|
|
27846
28239
|
] });
|
|
27847
28240
|
}
|
|
27848
|
-
function UnlinkRow({ button }) {
|
|
28241
|
+
function UnlinkRow({ button, isSubmitting }) {
|
|
27849
28242
|
var _a, _b;
|
|
27850
|
-
const [clicked, setClicked] =
|
|
27851
|
-
const
|
|
27852
|
-
|
|
27853
|
-
} = useFormContext20();
|
|
27854
|
-
const attrs = button.attributes;
|
|
27855
|
-
const provider = (_b = extractProvider((_a = button.meta.label) == null ? void 0 : _a.context)) != null ? _b : "";
|
|
27856
|
-
const Logo = provider_logos_default[attrs.value.split("-")[0]];
|
|
28243
|
+
const [clicked, setClicked] = useDebounceValue3(false, 100);
|
|
28244
|
+
const provider = (_b = extractProvider2((_a = button.meta.label) == null ? void 0 : _a.context)) != null ? _b : "";
|
|
28245
|
+
const Logo = provider_logos_default[button.attributes.value.split("-")[0]];
|
|
27857
28246
|
const localOnClick = () => {
|
|
27858
28247
|
button.onClick();
|
|
27859
28248
|
setClicked(true);
|
|
@@ -27865,19 +28254,19 @@ function UnlinkRow({ button }) {
|
|
|
27865
28254
|
}, [isSubmitting, setClicked]);
|
|
27866
28255
|
return /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
|
|
27867
28256
|
/* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-6", children: [
|
|
27868
|
-
Logo ? /* @__PURE__ */
|
|
27869
|
-
/* @__PURE__ */
|
|
28257
|
+
Logo ? /* @__PURE__ */ jsx98(Logo, { size: 32 }) : /* @__PURE__ */ jsx98(GenericLogo, { label: provider.slice(0, 1) }),
|
|
28258
|
+
/* @__PURE__ */ jsx98("p", { className: "text-sm font-medium text-interface-foreground-default-secondary", children: provider })
|
|
27870
28259
|
] }),
|
|
27871
|
-
/* @__PURE__ */
|
|
28260
|
+
/* @__PURE__ */ jsx98(
|
|
27872
28261
|
"button",
|
|
27873
28262
|
{
|
|
27874
|
-
...omitInputAttributes(
|
|
28263
|
+
...omitInputAttributes(button.attributes),
|
|
27875
28264
|
type: "submit",
|
|
27876
28265
|
onClick: localOnClick,
|
|
27877
28266
|
disabled: isSubmitting,
|
|
27878
28267
|
className: "relative",
|
|
27879
28268
|
title: `Unlink ${provider}`,
|
|
27880
|
-
children: clicked ? /* @__PURE__ */
|
|
28269
|
+
children: clicked ? /* @__PURE__ */ jsx98(Spinner, { className: "relative" }) : /* @__PURE__ */ jsx98(
|
|
27881
28270
|
trash_default,
|
|
27882
28271
|
{
|
|
27883
28272
|
className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover",
|
|
@@ -27886,34 +28275,32 @@ function UnlinkRow({ button }) {
|
|
|
27886
28275
|
)
|
|
27887
28276
|
}
|
|
27888
28277
|
)
|
|
27889
|
-
] }
|
|
28278
|
+
] });
|
|
27890
28279
|
}
|
|
27891
28280
|
|
|
27892
28281
|
// src/theme/default/components/settings/settings-passkey.tsx
|
|
27893
28282
|
import { useComponents as useComponents7 } from "@ory/elements-react";
|
|
27894
|
-
import {
|
|
27895
|
-
import { jsx as jsx90, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
28283
|
+
import { jsx as jsx99, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
27896
28284
|
function DefaultSettingsPasskey({
|
|
27897
28285
|
triggerButton,
|
|
27898
|
-
removeButtons
|
|
28286
|
+
removeButtons,
|
|
28287
|
+
isSubmitting
|
|
27899
28288
|
}) {
|
|
27900
|
-
const {
|
|
27901
|
-
formState: { isSubmitting }
|
|
27902
|
-
} = useFormContext21();
|
|
27903
|
-
const { Node: Node2 } = useComponents7();
|
|
28289
|
+
const { Node: Node5 } = useComponents7();
|
|
27904
28290
|
const hasRemoveButtons = removeButtons.length > 0;
|
|
27905
28291
|
return /* @__PURE__ */ jsxs43("div", { className: "flex flex-col gap-8", children: [
|
|
27906
|
-
/* @__PURE__ */
|
|
27907
|
-
|
|
28292
|
+
/* @__PURE__ */ jsx99("div", { className: "flex max-w-[60%] items-end gap-3", children: triggerButton && /* @__PURE__ */ jsx99(
|
|
28293
|
+
Node5.Button,
|
|
27908
28294
|
{
|
|
27909
28295
|
node: triggerButton,
|
|
27910
28296
|
attributes: triggerButton.attributes,
|
|
27911
|
-
|
|
28297
|
+
buttonProps: triggerButton.buttonProps,
|
|
28298
|
+
isSubmitting
|
|
27912
28299
|
}
|
|
27913
28300
|
) }),
|
|
27914
28301
|
hasRemoveButtons ? /* @__PURE__ */ jsxs43("div", { className: "flex flex-col gap-8", children: [
|
|
27915
|
-
/* @__PURE__ */
|
|
27916
|
-
/* @__PURE__ */
|
|
28302
|
+
/* @__PURE__ */ jsx99(DefaultHorizontalDivider, {}),
|
|
28303
|
+
/* @__PURE__ */ jsx99("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
|
|
27917
28304
|
var _a, _b;
|
|
27918
28305
|
const context = (_b = (_a = node.meta.label) == null ? void 0 : _a.context) != null ? _b : {};
|
|
27919
28306
|
const addedAt = "added_at" in context ? context.added_at : null;
|
|
@@ -27925,7 +28312,7 @@ function DefaultSettingsPasskey({
|
|
|
27925
28312
|
className: "flex justify-between gap-6 md:items-center",
|
|
27926
28313
|
children: [
|
|
27927
28314
|
/* @__PURE__ */ jsxs43("div", { className: "flex flex-1 items-center gap-2 truncate", children: [
|
|
27928
|
-
/* @__PURE__ */
|
|
28315
|
+
/* @__PURE__ */ jsx99(
|
|
27929
28316
|
passkey_default,
|
|
27930
28317
|
{
|
|
27931
28318
|
size: 32,
|
|
@@ -27934,23 +28321,23 @@ function DefaultSettingsPasskey({
|
|
|
27934
28321
|
),
|
|
27935
28322
|
/* @__PURE__ */ jsxs43("div", { className: "flex flex-1 flex-col gap-4 truncate md:flex-row md:items-center md:justify-between", children: [
|
|
27936
28323
|
/* @__PURE__ */ jsxs43("div", { className: "flex-1 flex-col truncate", children: [
|
|
27937
|
-
/* @__PURE__ */
|
|
27938
|
-
/* @__PURE__ */
|
|
28324
|
+
/* @__PURE__ */ jsx99("p", { className: "truncate text-sm font-medium text-interface-foreground-default-secondary", children: displayName }),
|
|
28325
|
+
/* @__PURE__ */ jsx99("span", { className: "hidden truncate text-sm text-interface-foreground-default-tertiary sm:block", children: keyId })
|
|
27939
28326
|
] }),
|
|
27940
|
-
addedAt && /* @__PURE__ */
|
|
28327
|
+
addedAt && /* @__PURE__ */ jsx99("p", { className: "text-sm text-interface-foreground-default-tertiary", children: new Intl.DateTimeFormat(void 0, {
|
|
27941
28328
|
dateStyle: "long"
|
|
27942
28329
|
}).format(new Date(addedAt)) })
|
|
27943
28330
|
] })
|
|
27944
28331
|
] }),
|
|
27945
|
-
/* @__PURE__ */
|
|
28332
|
+
/* @__PURE__ */ jsx99(
|
|
27946
28333
|
"button",
|
|
27947
28334
|
{
|
|
27948
28335
|
...node.attributes,
|
|
27949
28336
|
type: "submit",
|
|
27950
|
-
onClick: node.onClick,
|
|
28337
|
+
onClick: node.buttonProps.onClick,
|
|
27951
28338
|
disabled: isSubmitting,
|
|
27952
28339
|
className: "relative",
|
|
27953
|
-
children: isSubmitting ? /* @__PURE__ */
|
|
28340
|
+
children: isSubmitting ? /* @__PURE__ */ jsx99(Spinner, { className: "relative" }) : /* @__PURE__ */ jsx99(
|
|
27954
28341
|
trash_default,
|
|
27955
28342
|
{
|
|
27956
28343
|
className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover",
|
|
@@ -27970,35 +28357,32 @@ function DefaultSettingsPasskey({
|
|
|
27970
28357
|
|
|
27971
28358
|
// src/theme/default/assets/icons/download.svg
|
|
27972
28359
|
import * as React31 from "react";
|
|
27973
|
-
import { jsx as
|
|
28360
|
+
import { jsx as jsx100 } from "react/jsx-runtime";
|
|
27974
28361
|
var SvgDownload = (props) => {
|
|
27975
28362
|
var _a, _b;
|
|
27976
|
-
return /* @__PURE__ */
|
|
28363
|
+
return /* @__PURE__ */ jsx100("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__ */ jsx100("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" }) });
|
|
27977
28364
|
};
|
|
27978
28365
|
var download_default = SvgDownload;
|
|
27979
28366
|
|
|
27980
28367
|
// src/theme/default/assets/icons/refresh.svg
|
|
27981
28368
|
import * as React32 from "react";
|
|
27982
|
-
import { jsx as
|
|
28369
|
+
import { jsx as jsx101 } from "react/jsx-runtime";
|
|
27983
28370
|
var SvgRefresh = (props) => {
|
|
27984
28371
|
var _a, _b;
|
|
27985
|
-
return /* @__PURE__ */
|
|
28372
|
+
return /* @__PURE__ */ jsx101("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__ */ jsx101("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" }) });
|
|
27986
28373
|
};
|
|
27987
28374
|
var refresh_default = SvgRefresh;
|
|
27988
28375
|
|
|
27989
28376
|
// src/theme/default/components/settings/settings-recovery-codes.tsx
|
|
27990
|
-
import {
|
|
27991
|
-
import { Fragment as Fragment12, jsx as jsx93, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
28377
|
+
import { Fragment as Fragment11, jsx as jsx102, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
27992
28378
|
function DefaultSettingsRecoveryCodes({
|
|
27993
28379
|
codes,
|
|
27994
|
-
|
|
28380
|
+
regenerateButton,
|
|
27995
28381
|
revealButton,
|
|
27996
28382
|
onRegenerate,
|
|
27997
|
-
onReveal
|
|
28383
|
+
onReveal,
|
|
28384
|
+
isSubmitting
|
|
27998
28385
|
}) {
|
|
27999
|
-
const {
|
|
28000
|
-
formState: { isSubmitting }
|
|
28001
|
-
} = useFormContext22();
|
|
28002
28386
|
const onDownload = () => {
|
|
28003
28387
|
const element = document.createElement("a");
|
|
28004
28388
|
const file = new Blob([codes.join("\n")], {
|
|
@@ -28011,20 +28395,20 @@ function DefaultSettingsRecoveryCodes({
|
|
|
28011
28395
|
};
|
|
28012
28396
|
const hasCodes = codes.length >= 1;
|
|
28013
28397
|
return /* @__PURE__ */ jsxs44("div", { className: "flex flex-col gap-8", children: [
|
|
28014
|
-
codes.length > 0 && /* @__PURE__ */
|
|
28398
|
+
codes.length > 0 && /* @__PURE__ */ jsx102(DefaultHorizontalDivider, {}),
|
|
28015
28399
|
/* @__PURE__ */ jsxs44("div", { className: "flex justify-between gap-4", children: [
|
|
28016
|
-
/* @__PURE__ */
|
|
28400
|
+
/* @__PURE__ */ jsx102("span", { className: "text-interface-foreground-default-tertiary", children: revealButton && "Reveal recovery codes" }),
|
|
28017
28401
|
/* @__PURE__ */ jsxs44("div", { className: "flex gap-2", children: [
|
|
28018
|
-
|
|
28402
|
+
regenerateButton && codes.length > 0 && /* @__PURE__ */ jsx102(
|
|
28019
28403
|
"button",
|
|
28020
28404
|
{
|
|
28021
|
-
...
|
|
28405
|
+
...omitInputAttributes(regenerateButton.attributes),
|
|
28022
28406
|
type: "submit",
|
|
28023
28407
|
className: "ml-auto",
|
|
28024
28408
|
onClick: onRegenerate,
|
|
28025
28409
|
disabled: isSubmitting,
|
|
28026
28410
|
"data-loading": isSubmitting,
|
|
28027
|
-
children: /* @__PURE__ */
|
|
28411
|
+
children: /* @__PURE__ */ jsx102(
|
|
28028
28412
|
refresh_default,
|
|
28029
28413
|
{
|
|
28030
28414
|
size: 24,
|
|
@@ -28033,7 +28417,7 @@ function DefaultSettingsRecoveryCodes({
|
|
|
28033
28417
|
)
|
|
28034
28418
|
}
|
|
28035
28419
|
),
|
|
28036
|
-
revealButton && /* @__PURE__ */
|
|
28420
|
+
revealButton && /* @__PURE__ */ jsx102(Fragment11, { children: /* @__PURE__ */ jsx102(
|
|
28037
28421
|
"button",
|
|
28038
28422
|
{
|
|
28039
28423
|
...revealButton.attributes,
|
|
@@ -28041,7 +28425,7 @@ function DefaultSettingsRecoveryCodes({
|
|
|
28041
28425
|
className: "ml-auto",
|
|
28042
28426
|
onClick: onReveal,
|
|
28043
28427
|
title: "Reveal recovery codes",
|
|
28044
|
-
children: /* @__PURE__ */
|
|
28428
|
+
children: /* @__PURE__ */ jsx102(
|
|
28045
28429
|
eye_default,
|
|
28046
28430
|
{
|
|
28047
28431
|
size: 24,
|
|
@@ -28050,7 +28434,7 @@ function DefaultSettingsRecoveryCodes({
|
|
|
28050
28434
|
)
|
|
28051
28435
|
}
|
|
28052
28436
|
) }),
|
|
28053
|
-
hasCodes && /* @__PURE__ */
|
|
28437
|
+
hasCodes && /* @__PURE__ */ jsx102(
|
|
28054
28438
|
"button",
|
|
28055
28439
|
{
|
|
28056
28440
|
onClick: onDownload,
|
|
@@ -28058,7 +28442,7 @@ function DefaultSettingsRecoveryCodes({
|
|
|
28058
28442
|
className: "ml-auto",
|
|
28059
28443
|
"data-testid": "ory/screen/settings/group/recovery_code/download",
|
|
28060
28444
|
title: "Download recovery codes",
|
|
28061
|
-
children: /* @__PURE__ */
|
|
28445
|
+
children: /* @__PURE__ */ jsx102(
|
|
28062
28446
|
download_default,
|
|
28063
28447
|
{
|
|
28064
28448
|
size: 24,
|
|
@@ -28069,178 +28453,145 @@ function DefaultSettingsRecoveryCodes({
|
|
|
28069
28453
|
)
|
|
28070
28454
|
] })
|
|
28071
28455
|
] }),
|
|
28072
|
-
hasCodes ? /* @__PURE__ */
|
|
28456
|
+
hasCodes ? /* @__PURE__ */ jsx102("div", { className: "rounded-general border-interface-border-default-primary bg-interface-background-default-secondary p-6", children: /* @__PURE__ */ jsx102(
|
|
28073
28457
|
"div",
|
|
28074
28458
|
{
|
|
28075
28459
|
className: "grid grid-cols-2 flex-wrap gap-4 text-sm text-interface-foreground-default-primary sm:grid-cols-3 md:grid-cols-5",
|
|
28076
28460
|
"data-testid": "ory/screen/settings/group/recovery_code/codes",
|
|
28077
|
-
children: codes.map((code) => /* @__PURE__ */
|
|
28461
|
+
children: codes.map((code) => /* @__PURE__ */ jsx102("p", { children: code }, code))
|
|
28078
28462
|
}
|
|
28079
28463
|
) }) : null
|
|
28080
28464
|
] });
|
|
28081
28465
|
}
|
|
28082
28466
|
|
|
28083
28467
|
// src/theme/default/components/settings/settings-totp.tsx
|
|
28084
|
-
import { useComponents as useComponents8 } from "@ory/elements-react";
|
|
28468
|
+
import { Node as Node3, useComponents as useComponents8 } from "@ory/elements-react";
|
|
28085
28469
|
|
|
28086
28470
|
// src/theme/default/assets/icons/qrcode.svg
|
|
28087
28471
|
import * as React33 from "react";
|
|
28088
|
-
import { jsx as
|
|
28472
|
+
import { jsx as jsx103 } from "react/jsx-runtime";
|
|
28089
28473
|
var SvgQrcode = (props) => {
|
|
28090
28474
|
var _a, _b;
|
|
28091
|
-
return /* @__PURE__ */
|
|
28475
|
+
return /* @__PURE__ */ jsx103("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__ */ jsx103("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" }) });
|
|
28092
28476
|
};
|
|
28093
28477
|
var qrcode_default = SvgQrcode;
|
|
28094
28478
|
|
|
28095
28479
|
// src/theme/default/components/settings/settings-totp.tsx
|
|
28096
|
-
import {
|
|
28097
|
-
import { jsx as jsx95, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
28480
|
+
import { jsx as jsx104, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
28098
28481
|
function DefaultSettingsTotp({
|
|
28099
28482
|
totpImage,
|
|
28100
28483
|
totpInput,
|
|
28101
28484
|
totpSecret,
|
|
28102
28485
|
totpUnlink,
|
|
28103
|
-
onUnlink
|
|
28486
|
+
onUnlink,
|
|
28487
|
+
isSubmitting
|
|
28104
28488
|
}) {
|
|
28105
|
-
const { Node: Node2, Card } = useComponents8();
|
|
28106
|
-
const {
|
|
28107
|
-
formState: { isSubmitting }
|
|
28108
|
-
} = useFormContext23();
|
|
28109
28489
|
if (totpUnlink) {
|
|
28110
|
-
|
|
28111
|
-
|
|
28112
|
-
|
|
28113
|
-
|
|
28114
|
-
|
|
28115
|
-
|
|
28116
|
-
|
|
28117
|
-
|
|
28118
|
-
/* @__PURE__ */ jsx95("div", { className: "col-span-full", children: /* @__PURE__ */ jsx95(Card.Divider, {}) }),
|
|
28119
|
-
/* @__PURE__ */ jsxs45("div", { className: "col-span-full flex items-center gap-6", children: [
|
|
28120
|
-
/* @__PURE__ */ jsx95("div", { className: "aspect-square size-8", children: /* @__PURE__ */ jsx95(qrcode_default, { size: 32 }) }),
|
|
28121
|
-
/* @__PURE__ */ jsx95("div", { className: "mr-auto flex flex-col", children: /* @__PURE__ */ jsx95("p", { className: "text-sm font-medium text-interface-foreground-default-primary", children: "Authenticator app" }) }),
|
|
28122
|
-
/* @__PURE__ */ jsx95(
|
|
28123
|
-
"button",
|
|
28124
|
-
{
|
|
28125
|
-
type: type === "button" ? "button" : "submit",
|
|
28126
|
-
...buttonAttrs,
|
|
28127
|
-
onClick: onUnlink,
|
|
28128
|
-
disabled: isSubmitting,
|
|
28129
|
-
children: isSubmitting ? /* @__PURE__ */ jsx95(Spinner, { className: "relative" }) : /* @__PURE__ */ jsx95(
|
|
28130
|
-
trash_default,
|
|
28131
|
-
{
|
|
28132
|
-
className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover",
|
|
28133
|
-
size: 24
|
|
28134
|
-
}
|
|
28135
|
-
)
|
|
28136
|
-
}
|
|
28137
|
-
)
|
|
28138
|
-
] })
|
|
28139
|
-
] });
|
|
28490
|
+
return /* @__PURE__ */ jsx104(
|
|
28491
|
+
SettingsTotpUnlink,
|
|
28492
|
+
{
|
|
28493
|
+
totpUnlinkAttributes: totpUnlink.attributes,
|
|
28494
|
+
onUnlink,
|
|
28495
|
+
isSubmitting
|
|
28496
|
+
}
|
|
28497
|
+
);
|
|
28140
28498
|
}
|
|
28141
28499
|
if (totpImage && totpSecret && totpInput) {
|
|
28142
|
-
return /* @__PURE__ */
|
|
28143
|
-
|
|
28144
|
-
|
|
28145
|
-
|
|
28500
|
+
return /* @__PURE__ */ jsx104(
|
|
28501
|
+
SettingsTotpLink,
|
|
28502
|
+
{
|
|
28503
|
+
totpImage,
|
|
28504
|
+
totpSecret,
|
|
28505
|
+
totpInput
|
|
28506
|
+
}
|
|
28507
|
+
);
|
|
28508
|
+
}
|
|
28509
|
+
}
|
|
28510
|
+
function SettingsTotpUnlink({
|
|
28511
|
+
totpUnlinkAttributes,
|
|
28512
|
+
onUnlink,
|
|
28513
|
+
isSubmitting
|
|
28514
|
+
}) {
|
|
28515
|
+
const { Card } = useComponents8();
|
|
28516
|
+
const {
|
|
28517
|
+
type,
|
|
28518
|
+
autocomplete: _ignoredAutocomplete,
|
|
28519
|
+
label: _ignoredLabel,
|
|
28520
|
+
node_type: _ignoredNodeType,
|
|
28521
|
+
...buttonAttrs
|
|
28522
|
+
} = totpUnlinkAttributes;
|
|
28523
|
+
return /* @__PURE__ */ jsxs45("div", { className: "grid grid-cols-1 gap-8 md:grid-cols-2", children: [
|
|
28524
|
+
/* @__PURE__ */ jsx104("div", { className: "col-span-full", children: /* @__PURE__ */ jsx104(Card.Divider, {}) }),
|
|
28525
|
+
/* @__PURE__ */ jsxs45("div", { className: "col-span-full flex items-center gap-6", children: [
|
|
28526
|
+
/* @__PURE__ */ jsx104("div", { className: "aspect-square size-8", children: /* @__PURE__ */ jsx104(qrcode_default, { size: 32 }) }),
|
|
28527
|
+
/* @__PURE__ */ jsx104("div", { className: "mr-auto flex flex-col", children: /* @__PURE__ */ jsx104("p", { className: "text-sm font-medium text-interface-foreground-default-primary", children: "Authenticator app" }) }),
|
|
28528
|
+
/* @__PURE__ */ jsx104(
|
|
28529
|
+
"button",
|
|
28146
28530
|
{
|
|
28147
|
-
|
|
28148
|
-
|
|
28149
|
-
|
|
28150
|
-
|
|
28531
|
+
type: type === "button" ? "button" : "submit",
|
|
28532
|
+
...buttonAttrs,
|
|
28533
|
+
onClick: onUnlink,
|
|
28534
|
+
disabled: isSubmitting,
|
|
28535
|
+
children: isSubmitting ? /* @__PURE__ */ jsx104(Spinner, { className: "relative" }) : /* @__PURE__ */ jsx104(
|
|
28536
|
+
trash_default,
|
|
28537
|
+
{
|
|
28538
|
+
className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover",
|
|
28539
|
+
size: 24
|
|
28540
|
+
}
|
|
28541
|
+
)
|
|
28151
28542
|
}
|
|
28152
|
-
)
|
|
28153
|
-
|
|
28154
|
-
|
|
28155
|
-
|
|
28156
|
-
|
|
28157
|
-
|
|
28158
|
-
|
|
28159
|
-
|
|
28160
|
-
|
|
28161
|
-
|
|
28162
|
-
|
|
28163
|
-
|
|
28164
|
-
|
|
28165
|
-
|
|
28166
|
-
|
|
28167
|
-
|
|
28168
|
-
|
|
28169
|
-
) })
|
|
28170
|
-
}
|
|
28171
|
-
),
|
|
28172
|
-
/* @__PURE__ */ jsx95(
|
|
28173
|
-
Node2.Label,
|
|
28174
|
-
{
|
|
28175
|
-
attributes: totpInput.attributes,
|
|
28176
|
-
node: totpInput,
|
|
28177
|
-
children: /* @__PURE__ */ jsx95(
|
|
28178
|
-
Node2.CodeInput,
|
|
28179
|
-
{
|
|
28180
|
-
node: totpInput,
|
|
28181
|
-
attributes: totpInput.attributes
|
|
28182
|
-
}
|
|
28183
|
-
)
|
|
28184
|
-
}
|
|
28185
|
-
)
|
|
28186
|
-
] })
|
|
28187
|
-
] });
|
|
28188
|
-
}
|
|
28543
|
+
)
|
|
28544
|
+
] })
|
|
28545
|
+
] });
|
|
28546
|
+
}
|
|
28547
|
+
function SettingsTotpLink({
|
|
28548
|
+
totpImage,
|
|
28549
|
+
totpSecret,
|
|
28550
|
+
totpInput
|
|
28551
|
+
}) {
|
|
28552
|
+
return /* @__PURE__ */ jsxs45("div", { className: "grid grid-cols-1 gap-8 md:grid-cols-2", children: [
|
|
28553
|
+
/* @__PURE__ */ jsx104("div", { className: "col-span-full", children: /* @__PURE__ */ jsx104(DefaultHorizontalDivider, {}) }),
|
|
28554
|
+
/* @__PURE__ */ jsx104("div", { className: "flex justify-center rounded-cards bg-interface-background-default-secondary p-8", children: /* @__PURE__ */ jsx104("div", { className: "aspect-square h-44 bg-[white]", children: /* @__PURE__ */ jsx104("div", { className: "-m-3 antialiased mix-blend-multiply", children: /* @__PURE__ */ jsx104(Node3, { node: totpImage }) }) }) }),
|
|
28555
|
+
/* @__PURE__ */ jsxs45("div", { className: "flex flex-col gap-6", children: [
|
|
28556
|
+
/* @__PURE__ */ jsx104(Node3, { node: totpSecret }),
|
|
28557
|
+
/* @__PURE__ */ jsx104(Node3, { node: totpInput })
|
|
28558
|
+
] })
|
|
28559
|
+
] });
|
|
28189
28560
|
}
|
|
28190
28561
|
|
|
28191
28562
|
// src/theme/default/components/settings/settings-webauthn.tsx
|
|
28192
|
-
import {
|
|
28563
|
+
import {
|
|
28564
|
+
Node as Node4,
|
|
28565
|
+
useComponents as useComponents9
|
|
28566
|
+
} from "@ory/elements-react";
|
|
28193
28567
|
|
|
28194
28568
|
// src/theme/default/assets/icons/key.svg
|
|
28195
28569
|
import * as React34 from "react";
|
|
28196
|
-
import { jsx as
|
|
28570
|
+
import { jsx as jsx105 } from "react/jsx-runtime";
|
|
28197
28571
|
var SvgKey = (props) => {
|
|
28198
28572
|
var _a, _b;
|
|
28199
|
-
return /* @__PURE__ */
|
|
28573
|
+
return /* @__PURE__ */ jsx105("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__ */ jsx105("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" }) });
|
|
28200
28574
|
};
|
|
28201
28575
|
var key_default = SvgKey;
|
|
28202
28576
|
|
|
28203
28577
|
// src/theme/default/components/settings/settings-webauthn.tsx
|
|
28204
|
-
import {
|
|
28205
|
-
import { jsx as jsx97, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
28578
|
+
import { jsx as jsx106, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
28206
28579
|
function DefaultSettingsWebauthn({
|
|
28207
28580
|
nameInput,
|
|
28208
28581
|
triggerButton,
|
|
28209
|
-
removeButtons
|
|
28582
|
+
removeButtons,
|
|
28583
|
+
isSubmitting
|
|
28210
28584
|
}) {
|
|
28211
|
-
const {
|
|
28212
|
-
formState: { isSubmitting }
|
|
28213
|
-
} = useFormContext24();
|
|
28214
|
-
const { Node: Node2, Card } = useComponents9();
|
|
28585
|
+
const { Card } = useComponents9();
|
|
28215
28586
|
const hasRemoveButtons = removeButtons.length > 0;
|
|
28216
28587
|
return /* @__PURE__ */ jsxs46("div", { className: "flex flex-col gap-8", children: [
|
|
28217
28588
|
/* @__PURE__ */ jsxs46("div", { className: "flex flex-col gap-3 sm:flex-row sm:items-end md:max-w-96", children: [
|
|
28218
|
-
/* @__PURE__ */
|
|
28219
|
-
|
|
28220
|
-
{
|
|
28221
|
-
node: nameInput,
|
|
28222
|
-
attributes: nameInput.attributes,
|
|
28223
|
-
children: /* @__PURE__ */ jsx97(
|
|
28224
|
-
Node2.Input,
|
|
28225
|
-
{
|
|
28226
|
-
node: nameInput,
|
|
28227
|
-
attributes: nameInput.attributes
|
|
28228
|
-
}
|
|
28229
|
-
)
|
|
28230
|
-
}
|
|
28231
|
-
) }),
|
|
28232
|
-
triggerButton ? /* @__PURE__ */ jsx97(
|
|
28233
|
-
Node2.Button,
|
|
28234
|
-
{
|
|
28235
|
-
node: triggerButton,
|
|
28236
|
-
attributes: triggerButton.attributes,
|
|
28237
|
-
onClick: triggerButton.onClick
|
|
28238
|
-
}
|
|
28239
|
-
) : null
|
|
28589
|
+
/* @__PURE__ */ jsx106("div", { className: "flex-1", children: /* @__PURE__ */ jsx106(Node4.Input, { node: nameInput }) }),
|
|
28590
|
+
triggerButton ? /* @__PURE__ */ jsx106(Node4.Button, { node: triggerButton }) : null
|
|
28240
28591
|
] }),
|
|
28241
28592
|
hasRemoveButtons ? /* @__PURE__ */ jsxs46("div", { className: "flex flex-col gap-8", children: [
|
|
28242
|
-
/* @__PURE__ */
|
|
28243
|
-
/* @__PURE__ */
|
|
28593
|
+
/* @__PURE__ */ jsx106(Card.Divider, {}),
|
|
28594
|
+
/* @__PURE__ */ jsx106("div", { className: "flex flex-col gap-4", children: removeButtons.map((node, i) => {
|
|
28244
28595
|
var _a, _b;
|
|
28245
28596
|
const context = (_b = (_a = node.meta.label) == null ? void 0 : _a.context) != null ? _b : {};
|
|
28246
28597
|
const addedAt = "added_at" in context ? context.added_at : null;
|
|
@@ -28252,7 +28603,7 @@ function DefaultSettingsWebauthn({
|
|
|
28252
28603
|
className: "flex justify-between gap-6 md:items-center",
|
|
28253
28604
|
children: [
|
|
28254
28605
|
/* @__PURE__ */ jsxs46("div", { className: "flex flex-1 items-center gap-2 truncate", children: [
|
|
28255
|
-
/* @__PURE__ */
|
|
28606
|
+
/* @__PURE__ */ jsx106(
|
|
28256
28607
|
key_default,
|
|
28257
28608
|
{
|
|
28258
28609
|
size: 32,
|
|
@@ -28261,23 +28612,23 @@ function DefaultSettingsWebauthn({
|
|
|
28261
28612
|
),
|
|
28262
28613
|
/* @__PURE__ */ jsxs46("div", { className: "flex flex-1 flex-col gap-4 truncate md:flex-row md:items-center md:justify-between", children: [
|
|
28263
28614
|
/* @__PURE__ */ jsxs46("div", { className: "flex-1 flex-col truncate", children: [
|
|
28264
|
-
/* @__PURE__ */
|
|
28265
|
-
/* @__PURE__ */
|
|
28615
|
+
/* @__PURE__ */ jsx106("p", { className: "truncate text-sm font-medium text-interface-foreground-default-secondary", children: displayName }),
|
|
28616
|
+
/* @__PURE__ */ jsx106("span", { className: "hidden truncate text-sm text-interface-foreground-default-tertiary sm:block", children: keyId })
|
|
28266
28617
|
] }),
|
|
28267
|
-
addedAt && /* @__PURE__ */
|
|
28618
|
+
addedAt && /* @__PURE__ */ jsx106("p", { className: "text-sm text-interface-foreground-default-tertiary", children: new Intl.DateTimeFormat(void 0, {
|
|
28268
28619
|
dateStyle: "long"
|
|
28269
28620
|
}).format(new Date(addedAt)) })
|
|
28270
28621
|
] })
|
|
28271
28622
|
] }),
|
|
28272
|
-
/* @__PURE__ */
|
|
28623
|
+
/* @__PURE__ */ jsx106(
|
|
28273
28624
|
"button",
|
|
28274
28625
|
{
|
|
28275
|
-
...node.attributes,
|
|
28626
|
+
...omitInputAttributes(node.attributes),
|
|
28276
28627
|
type: "submit",
|
|
28277
|
-
onClick: node.onClick,
|
|
28628
|
+
onClick: node.buttonProps.onClick,
|
|
28278
28629
|
disabled: isSubmitting,
|
|
28279
|
-
className: "relative",
|
|
28280
|
-
children: isSubmitting ? /* @__PURE__ */
|
|
28630
|
+
className: "relative cursor-pointer",
|
|
28631
|
+
children: isSubmitting ? /* @__PURE__ */ jsx106(Spinner, { className: "relative" }) : /* @__PURE__ */ jsx106(
|
|
28281
28632
|
trash_default,
|
|
28282
28633
|
{
|
|
28283
28634
|
className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover",
|
|
@@ -28296,25 +28647,25 @@ function DefaultSettingsWebauthn({
|
|
|
28296
28647
|
}
|
|
28297
28648
|
|
|
28298
28649
|
// src/theme/default/components/card/auth-method-list-container.tsx
|
|
28299
|
-
import { jsx as
|
|
28650
|
+
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
28300
28651
|
function DefaultAuthMethodListContainer({
|
|
28301
28652
|
children
|
|
28302
28653
|
}) {
|
|
28303
|
-
return /* @__PURE__ */
|
|
28654
|
+
return /* @__PURE__ */ jsx107("div", { className: "grid grid-cols-1 gap-2", children });
|
|
28304
28655
|
}
|
|
28305
28656
|
|
|
28306
28657
|
// src/theme/default/components/form/captcha.tsx
|
|
28307
|
-
import { isUiNodeInputAttributes as isUiNodeInputAttributes9 } from "@ory/client-fetch";
|
|
28308
28658
|
import { Turnstile } from "@marsidev/react-turnstile";
|
|
28309
|
-
import {
|
|
28310
|
-
import {
|
|
28311
|
-
import {
|
|
28659
|
+
import { isUiNodeInputAttributes as isUiNodeInputAttributes8 } from "@ory/client-fetch";
|
|
28660
|
+
import { useEffect as useEffect9, useRef as useRef3 } from "react";
|
|
28661
|
+
import { useFormContext as useFormContext15 } from "react-hook-form";
|
|
28662
|
+
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
28312
28663
|
var DefaultCaptcha = ({ node }) => {
|
|
28313
|
-
const { setValue, formState } =
|
|
28314
|
-
const ref =
|
|
28315
|
-
const prevSubmitCount =
|
|
28664
|
+
const { setValue, formState } = useFormContext15();
|
|
28665
|
+
const ref = useRef3();
|
|
28666
|
+
const prevSubmitCount = useRef3(formState.submitCount);
|
|
28316
28667
|
useEffect9(() => {
|
|
28317
|
-
if (formState.submitCount > prevSubmitCount.current
|
|
28668
|
+
if (formState.submitCount > prevSubmitCount.current) {
|
|
28318
28669
|
prevSubmitCount.current = formState.submitCount;
|
|
28319
28670
|
setTimeout(() => {
|
|
28320
28671
|
if (ref.current) {
|
|
@@ -28322,15 +28673,15 @@ var DefaultCaptcha = ({ node }) => {
|
|
|
28322
28673
|
}
|
|
28323
28674
|
}, 100);
|
|
28324
28675
|
}
|
|
28325
|
-
}, [formState.submitCount
|
|
28326
|
-
if (!
|
|
28676
|
+
}, [formState.submitCount]);
|
|
28677
|
+
if (!isUiNodeInputAttributes8(node.attributes)) {
|
|
28327
28678
|
return null;
|
|
28328
28679
|
}
|
|
28329
28680
|
if (node.attributes.name === "transient_payload.captcha_turnstile_response") {
|
|
28330
|
-
return
|
|
28681
|
+
return null;
|
|
28331
28682
|
} else if (node.attributes.name === "captcha_turnstile_options") {
|
|
28332
28683
|
const options = JSON.parse(node.attributes.value);
|
|
28333
|
-
return /* @__PURE__ */
|
|
28684
|
+
return /* @__PURE__ */ jsx108(
|
|
28334
28685
|
Turnstile,
|
|
28335
28686
|
{
|
|
28336
28687
|
ref,
|
|
@@ -28339,7 +28690,7 @@ var DefaultCaptcha = ({ node }) => {
|
|
|
28339
28690
|
action: options.action,
|
|
28340
28691
|
size: "flexible",
|
|
28341
28692
|
theme: options.theme,
|
|
28342
|
-
responseField:
|
|
28693
|
+
responseField: true,
|
|
28343
28694
|
responseFieldName: options.response_field_name
|
|
28344
28695
|
},
|
|
28345
28696
|
onExpire: () => {
|
|
@@ -28357,35 +28708,35 @@ var DefaultCaptcha = ({ node }) => {
|
|
|
28357
28708
|
|
|
28358
28709
|
// src/theme/default/assets/icons/personal.svg
|
|
28359
28710
|
import * as React35 from "react";
|
|
28360
|
-
import { jsx as
|
|
28711
|
+
import { jsx as jsx109 } from "react/jsx-runtime";
|
|
28361
28712
|
var SvgPersonal = (props) => {
|
|
28362
28713
|
var _a, _b;
|
|
28363
|
-
return /* @__PURE__ */
|
|
28714
|
+
return /* @__PURE__ */ jsx109("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__ */ jsx109("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M4 14v-1.333A2.667 2.667 0 0 1 6.667 10h1m5.8 3.467 1.2 1.2m-9.334-10a2.667 2.667 0 1 0 5.334 0 2.667 2.667 0 0 0-5.334 0M10 12a2 2 0 1 0 4 0 2 2 0 0 0-4 0" }) });
|
|
28364
28715
|
};
|
|
28365
28716
|
var personal_default = SvgPersonal;
|
|
28366
28717
|
|
|
28367
28718
|
// src/theme/default/assets/icons/message.svg
|
|
28368
28719
|
import * as React36 from "react";
|
|
28369
|
-
import { jsx as
|
|
28720
|
+
import { jsx as jsx110 } from "react/jsx-runtime";
|
|
28370
28721
|
var SvgMessage = (props) => {
|
|
28371
28722
|
var _a, _b;
|
|
28372
|
-
return /* @__PURE__ */
|
|
28723
|
+
return /* @__PURE__ */ jsx110("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__ */ jsx110("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M3 7.325a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2m-18 0v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-10m-18 0 9 6 9-6" }) });
|
|
28373
28724
|
};
|
|
28374
28725
|
var message_default = SvgMessage;
|
|
28375
28726
|
|
|
28376
28727
|
// src/theme/default/assets/icons/phone.svg
|
|
28377
28728
|
import * as React37 from "react";
|
|
28378
|
-
import { jsx as
|
|
28729
|
+
import { jsx as jsx111 } from "react/jsx-runtime";
|
|
28379
28730
|
var SvgPhone = (props) => {
|
|
28380
28731
|
var _a, _b;
|
|
28381
|
-
return /* @__PURE__ */
|
|
28732
|
+
return /* @__PURE__ */ jsx111("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__ */ jsx111("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M5 4.325h4l2 5-2.5 1.5a11 11 0 0 0 5 5l1.5-2.5 5 2v4a2 2 0 0 1-2 2 16 16 0 0 1-15-15 2 2 0 0 1 2-2" }) });
|
|
28382
28733
|
};
|
|
28383
28734
|
var phone_default = SvgPhone;
|
|
28384
28735
|
|
|
28385
28736
|
// src/theme/default/components/form/consent-scope-checkbox.tsx
|
|
28386
28737
|
import { useIntl as useIntl22 } from "react-intl";
|
|
28387
28738
|
import * as Switch from "@radix-ui/react-switch";
|
|
28388
|
-
import { jsx as
|
|
28739
|
+
import { jsx as jsx112 } from "react/jsx-runtime";
|
|
28389
28740
|
var ScopeIcons = {
|
|
28390
28741
|
openid: personal_default,
|
|
28391
28742
|
offline_access: personal_default,
|
|
@@ -28395,16 +28746,17 @@ var ScopeIcons = {
|
|
|
28395
28746
|
};
|
|
28396
28747
|
function DefaultConsentScopeCheckbox({
|
|
28397
28748
|
attributes,
|
|
28398
|
-
onCheckedChange
|
|
28749
|
+
onCheckedChange,
|
|
28750
|
+
inputProps
|
|
28399
28751
|
}) {
|
|
28400
28752
|
var _a;
|
|
28401
28753
|
const intl = useIntl22();
|
|
28402
|
-
const
|
|
28403
|
-
return /* @__PURE__ */
|
|
28754
|
+
const Icon2 = (_a = ScopeIcons[attributes.value]) != null ? _a : personal_default;
|
|
28755
|
+
return /* @__PURE__ */ jsx112(
|
|
28404
28756
|
ListItem,
|
|
28405
28757
|
{
|
|
28406
28758
|
as: "label",
|
|
28407
|
-
icon:
|
|
28759
|
+
icon: Icon2,
|
|
28408
28760
|
title: intl.formatMessage({
|
|
28409
28761
|
id: `consent.scope.${attributes.value}.title`,
|
|
28410
28762
|
defaultMessage: attributes.value
|
|
@@ -28415,15 +28767,15 @@ function DefaultConsentScopeCheckbox({
|
|
|
28415
28767
|
}),
|
|
28416
28768
|
className: "col-span-2",
|
|
28417
28769
|
"data-testid": "ory/screen/consent/scope-checkbox-label",
|
|
28418
|
-
children: /* @__PURE__ */
|
|
28770
|
+
children: /* @__PURE__ */ jsx112(
|
|
28419
28771
|
Switch.Root,
|
|
28420
28772
|
{
|
|
28421
28773
|
className: "relative h-4 w-7 rounded-identifier border border-toggle-border-default bg-toggle-background-default p-[3px] transition-all data-[state=checked]:border-toggle-border-checked data-[state=checked]:bg-toggle-background-checked",
|
|
28422
28774
|
"data-testid": `ory/screen/consent/scope-checkbox`,
|
|
28423
|
-
|
|
28775
|
+
...inputProps,
|
|
28424
28776
|
onCheckedChange,
|
|
28425
28777
|
defaultChecked: true,
|
|
28426
|
-
children: /* @__PURE__ */
|
|
28778
|
+
children: /* @__PURE__ */ jsx112(Switch.Thumb, { className: "block size-2 rounded-identifier bg-toggle-foreground-default transition-all data-[state=checked]:translate-x-3 data-[state=checked]:bg-toggle-foreground-checked" })
|
|
28427
28779
|
}
|
|
28428
28780
|
)
|
|
28429
28781
|
}
|
|
@@ -28433,22 +28785,22 @@ function DefaultConsentScopeCheckbox({
|
|
|
28433
28785
|
// src/theme/default/components/generic/toast.tsx
|
|
28434
28786
|
import {
|
|
28435
28787
|
messageTestId as messageTestId5,
|
|
28436
|
-
uiTextToFormattedMessage as
|
|
28788
|
+
uiTextToFormattedMessage as uiTextToFormattedMessage8
|
|
28437
28789
|
} from "@ory/elements-react";
|
|
28438
28790
|
import { toast as sonnerToast2 } from "sonner";
|
|
28439
28791
|
import { useIntl as useIntl23 } from "react-intl";
|
|
28440
28792
|
|
|
28441
28793
|
// src/theme/default/assets/icons/x.svg
|
|
28442
28794
|
import * as React38 from "react";
|
|
28443
|
-
import { jsx as
|
|
28795
|
+
import { jsx as jsx113 } from "react/jsx-runtime";
|
|
28444
28796
|
var SvgX2 = (props) => {
|
|
28445
28797
|
var _a, _b;
|
|
28446
|
-
return /* @__PURE__ */
|
|
28798
|
+
return /* @__PURE__ */ jsx113("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__ */ jsx113("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "m18 6.325-12 12m0-12 12 12" }) });
|
|
28447
28799
|
};
|
|
28448
28800
|
var x_default2 = SvgX2;
|
|
28449
28801
|
|
|
28450
28802
|
// src/theme/default/components/generic/toast.tsx
|
|
28451
|
-
import { jsx as
|
|
28803
|
+
import { jsx as jsx114, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
28452
28804
|
function DefaultToast({
|
|
28453
28805
|
message,
|
|
28454
28806
|
// Id can be used to close the toast later, but we don't use it here
|
|
@@ -28456,7 +28808,7 @@ function DefaultToast({
|
|
|
28456
28808
|
}) {
|
|
28457
28809
|
const intl = useIntl23();
|
|
28458
28810
|
const title = message.type === "error" ? intl.formatMessage({ id: "settings.messages.toast-title.error" }) : intl.formatMessage({ id: "settings.messages.toast-title.success" });
|
|
28459
|
-
const messageText =
|
|
28811
|
+
const messageText = uiTextToFormattedMessage8(message, intl);
|
|
28460
28812
|
return /* @__PURE__ */ jsxs47(
|
|
28461
28813
|
"div",
|
|
28462
28814
|
{
|
|
@@ -28464,7 +28816,7 @@ function DefaultToast({
|
|
|
28464
28816
|
...messageTestId5(message),
|
|
28465
28817
|
children: [
|
|
28466
28818
|
/* @__PURE__ */ jsxs47("div", { className: "flex items-center justify-between", children: [
|
|
28467
|
-
/* @__PURE__ */
|
|
28819
|
+
/* @__PURE__ */ jsx114(
|
|
28468
28820
|
"p",
|
|
28469
28821
|
{
|
|
28470
28822
|
className: cn("font-medium", {
|
|
@@ -28478,17 +28830,17 @@ function DefaultToast({
|
|
|
28478
28830
|
children: title
|
|
28479
28831
|
}
|
|
28480
28832
|
),
|
|
28481
|
-
/* @__PURE__ */
|
|
28833
|
+
/* @__PURE__ */ jsx114(
|
|
28482
28834
|
"button",
|
|
28483
28835
|
{
|
|
28484
28836
|
"data-testid": `ory/message/${message.id}.close`,
|
|
28485
28837
|
className: "cursor-pointer text-interface-foreground-default-inverted",
|
|
28486
28838
|
onClick: () => sonnerToast2.dismiss(id),
|
|
28487
|
-
children: /* @__PURE__ */
|
|
28839
|
+
children: /* @__PURE__ */ jsx114(x_default2, { size: 16 })
|
|
28488
28840
|
}
|
|
28489
28841
|
)
|
|
28490
28842
|
] }),
|
|
28491
|
-
/* @__PURE__ */
|
|
28843
|
+
/* @__PURE__ */ jsx114("p", { className: "text-interface-foreground-default-inverted", children: messageText })
|
|
28492
28844
|
]
|
|
28493
28845
|
}
|
|
28494
28846
|
);
|
|
@@ -28554,9 +28906,9 @@ import {
|
|
|
28554
28906
|
OryConfigurationProvider as OryConfigurationProvider2,
|
|
28555
28907
|
useOryConfiguration as useOryConfiguration8
|
|
28556
28908
|
} from "@ory/elements-react";
|
|
28557
|
-
import { useMemo as
|
|
28909
|
+
import { useMemo as useMemo5 } from "react";
|
|
28558
28910
|
import { FormattedMessage } from "react-intl";
|
|
28559
|
-
import { jsx as
|
|
28911
|
+
import { jsx as jsx115, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
28560
28912
|
function isOAuth2Error(error) {
|
|
28561
28913
|
return !!error && typeof error === "object" && "error" in error && "error_description" in error;
|
|
28562
28914
|
}
|
|
@@ -28565,7 +28917,7 @@ var errorDescriptions = {
|
|
|
28565
28917
|
5: "The server encountered an error and could not complete your request"
|
|
28566
28918
|
};
|
|
28567
28919
|
function useStandardize(error) {
|
|
28568
|
-
return
|
|
28920
|
+
return useMemo5(() => {
|
|
28569
28921
|
var _a;
|
|
28570
28922
|
if (isOAuth2Error(error)) {
|
|
28571
28923
|
return {
|
|
@@ -28609,48 +28961,48 @@ function Error2({
|
|
|
28609
28961
|
const Divider = (_d = (_c = Components == null ? void 0 : Components.Card) == null ? void 0 : _c.Divider) != null ? _d : DefaultHorizontalDivider;
|
|
28610
28962
|
const parsed = useStandardize(error);
|
|
28611
28963
|
const description = errorDescriptions[Math.floor(parsed.code / 100)];
|
|
28612
|
-
return /* @__PURE__ */
|
|
28964
|
+
return /* @__PURE__ */ jsx115(OryConfigurationProvider2, { sdk: config.sdk, project: config.project, children: /* @__PURE__ */ jsx115(
|
|
28613
28965
|
IntlProvider,
|
|
28614
28966
|
{
|
|
28615
28967
|
locale: (_f = (_e = config.intl) == null ? void 0 : _e.locale) != null ? _f : "en",
|
|
28616
28968
|
customTranslations: (_g = config.intl) == null ? void 0 : _g.customTranslations,
|
|
28617
|
-
children: /* @__PURE__ */
|
|
28969
|
+
children: /* @__PURE__ */ jsx115(Card, { children: /* @__PURE__ */ jsxs48(
|
|
28618
28970
|
"div",
|
|
28619
28971
|
{
|
|
28620
28972
|
className: "flex flex-col gap-6 antialiased",
|
|
28621
28973
|
"data-testid": "ory/screen/error",
|
|
28622
28974
|
children: [
|
|
28623
28975
|
/* @__PURE__ */ jsxs48("header", { className: "flex flex-col gap-8 antialiased", children: [
|
|
28624
|
-
/* @__PURE__ */
|
|
28976
|
+
/* @__PURE__ */ jsx115("div", { className: "max-h-9 self-start", children: /* @__PURE__ */ jsx115(ErrorLogo, {}) }),
|
|
28625
28977
|
/* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-2", children: [
|
|
28626
|
-
/* @__PURE__ */
|
|
28627
|
-
/* @__PURE__ */
|
|
28628
|
-
parsed.reason && /* @__PURE__ */
|
|
28978
|
+
/* @__PURE__ */ jsx115("h2", { className: "text-lg leading-normal font-semibold text-interface-foreground-default-primary", children: /* @__PURE__ */ jsx115(FormattedMessage, { id: "error.title.what-happened" }) }),
|
|
28979
|
+
/* @__PURE__ */ jsx115("p", { className: "leading-normal text-interface-foreground-default-secondary", children: (_h = parsed.message) != null ? _h : description }),
|
|
28980
|
+
parsed.reason && /* @__PURE__ */ jsx115("p", { className: "leading-normal text-interface-foreground-default-secondary", children: parsed.reason })
|
|
28629
28981
|
] })
|
|
28630
28982
|
] }),
|
|
28631
|
-
/* @__PURE__ */
|
|
28983
|
+
/* @__PURE__ */ jsx115(Divider, {}),
|
|
28632
28984
|
/* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-2", children: [
|
|
28633
|
-
/* @__PURE__ */
|
|
28634
|
-
/* @__PURE__ */
|
|
28635
|
-
/* @__PURE__ */
|
|
28985
|
+
/* @__PURE__ */ jsx115("h2", { className: "text-lg leading-normal font-semibold text-interface-foreground-default-primary", children: /* @__PURE__ */ jsx115(FormattedMessage, { id: "error.title.what-can-i-do" }) }),
|
|
28986
|
+
/* @__PURE__ */ jsx115("p", { className: "leading-normal text-interface-foreground-default-secondary", children: /* @__PURE__ */ jsx115(FormattedMessage, { id: "error.instructions" }) }),
|
|
28987
|
+
/* @__PURE__ */ jsx115("div", { children: session ? /* @__PURE__ */ jsx115(LoggedInActions, {}) : /* @__PURE__ */ jsx115(GoBackButton, {}) })
|
|
28636
28988
|
] }),
|
|
28637
|
-
/* @__PURE__ */
|
|
28989
|
+
/* @__PURE__ */ jsx115(Divider, {}),
|
|
28638
28990
|
/* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-2 leading-normal font-normal antialiased", children: [
|
|
28639
|
-
/* @__PURE__ */
|
|
28991
|
+
/* @__PURE__ */ jsx115("span", { className: "text-sm text-interface-foreground-default-primary", children: /* @__PURE__ */ jsx115(FormattedMessage, { id: "error.footer.text" }) }),
|
|
28640
28992
|
parsed.id && /* @__PURE__ */ jsxs48("p", { className: "text-sm text-interface-foreground-default-secondary", children: [
|
|
28641
28993
|
"ID: ",
|
|
28642
|
-
/* @__PURE__ */
|
|
28994
|
+
/* @__PURE__ */ jsx115("code", { children: parsed.id })
|
|
28643
28995
|
] }),
|
|
28644
28996
|
/* @__PURE__ */ jsxs48("p", { className: "text-sm text-interface-foreground-default-secondary", children: [
|
|
28645
28997
|
"Time: ",
|
|
28646
|
-
/* @__PURE__ */
|
|
28998
|
+
/* @__PURE__ */ jsx115("code", { children: (_i = parsed.timestamp) == null ? void 0 : _i.toUTCString() })
|
|
28647
28999
|
] }),
|
|
28648
29000
|
/* @__PURE__ */ jsxs48("p", { className: "text-sm text-interface-foreground-default-secondary", children: [
|
|
28649
29001
|
"Message:",
|
|
28650
29002
|
" ",
|
|
28651
|
-
/* @__PURE__ */
|
|
29003
|
+
/* @__PURE__ */ jsx115("code", { "data-testid": "ory/screen/error/message", children: parsed.reason })
|
|
28652
29004
|
] }),
|
|
28653
|
-
/* @__PURE__ */
|
|
29005
|
+
/* @__PURE__ */ jsx115("div", { children: /* @__PURE__ */ jsx115(
|
|
28654
29006
|
"button",
|
|
28655
29007
|
{
|
|
28656
29008
|
className: "text-interface-foreground-default-primary underline",
|
|
@@ -28662,7 +29014,7 @@ ${parsed.reason ? `Message: ${parsed.reason}` : ""}
|
|
|
28662
29014
|
`;
|
|
28663
29015
|
void navigator.clipboard.writeText(text);
|
|
28664
29016
|
},
|
|
28665
|
-
children: /* @__PURE__ */
|
|
29017
|
+
children: /* @__PURE__ */ jsx115(FormattedMessage, { id: "error.footer.copy" })
|
|
28666
29018
|
}
|
|
28667
29019
|
) })
|
|
28668
29020
|
] })
|
|
@@ -28675,24 +29027,24 @@ ${parsed.reason ? `Message: ${parsed.reason}` : ""}
|
|
|
28675
29027
|
function LoggedInActions() {
|
|
28676
29028
|
const config = useOryConfiguration8();
|
|
28677
29029
|
const { logoutFlow } = useClientLogout(config);
|
|
28678
|
-
return /* @__PURE__ */
|
|
29030
|
+
return /* @__PURE__ */ jsx115(
|
|
28679
29031
|
"a",
|
|
28680
29032
|
{
|
|
28681
29033
|
href: logoutFlow == null ? void 0 : logoutFlow.logout_url,
|
|
28682
29034
|
className: "text-interface-foreground-default-primary underline",
|
|
28683
|
-
children: /* @__PURE__ */
|
|
29035
|
+
children: /* @__PURE__ */ jsx115(FormattedMessage, { id: "login.logout-button" })
|
|
28684
29036
|
}
|
|
28685
29037
|
);
|
|
28686
29038
|
}
|
|
28687
29039
|
function GoBackButton() {
|
|
28688
29040
|
const config = useOryConfiguration8();
|
|
28689
29041
|
if ("default_redirect_url" in config.project) {
|
|
28690
|
-
return /* @__PURE__ */
|
|
29042
|
+
return /* @__PURE__ */ jsx115(
|
|
28691
29043
|
"a",
|
|
28692
29044
|
{
|
|
28693
29045
|
className: "text-interface-foreground-default-primary underline",
|
|
28694
29046
|
href: config.project.default_redirect_url,
|
|
28695
|
-
children: /* @__PURE__ */
|
|
29047
|
+
children: /* @__PURE__ */ jsx115(FormattedMessage, { id: "error.action.go-back" })
|
|
28696
29048
|
}
|
|
28697
29049
|
);
|
|
28698
29050
|
}
|
|
@@ -28701,18 +29053,18 @@ function GoBackButton() {
|
|
|
28701
29053
|
function ErrorLogo() {
|
|
28702
29054
|
const { project } = useOryConfiguration8();
|
|
28703
29055
|
if (project.logo_light_url) {
|
|
28704
|
-
return /* @__PURE__ */
|
|
29056
|
+
return /* @__PURE__ */ jsx115("img", { src: project.logo_light_url, className: "h-full", alt: "Logo" });
|
|
28705
29057
|
}
|
|
28706
|
-
return /* @__PURE__ */
|
|
29058
|
+
return /* @__PURE__ */ jsx115("h1", { className: "text-xl leading-normal font-semibold text-interface-foreground-default-primary", children: project.name });
|
|
28707
29059
|
}
|
|
28708
29060
|
|
|
28709
29061
|
// src/theme/default/flows/login.tsx
|
|
28710
|
-
import { FlowType as
|
|
29062
|
+
import { FlowType as FlowType20 } from "@ory/client-fetch";
|
|
28711
29063
|
import {
|
|
28712
29064
|
OryProvider,
|
|
28713
29065
|
OrySelfServiceFlowCard as OrySelfServiceFlowCard2
|
|
28714
29066
|
} from "@ory/elements-react";
|
|
28715
|
-
import { jsx as
|
|
29067
|
+
import { jsx as jsx116 } from "react/jsx-runtime";
|
|
28716
29068
|
function Login({
|
|
28717
29069
|
flow,
|
|
28718
29070
|
config,
|
|
@@ -28720,25 +29072,25 @@ function Login({
|
|
|
28720
29072
|
components: flowOverrideComponents
|
|
28721
29073
|
}) {
|
|
28722
29074
|
const components = getOryComponents(flowOverrideComponents);
|
|
28723
|
-
return /* @__PURE__ */
|
|
29075
|
+
return /* @__PURE__ */ jsx116(
|
|
28724
29076
|
OryProvider,
|
|
28725
29077
|
{
|
|
28726
29078
|
config,
|
|
28727
29079
|
flow,
|
|
28728
|
-
flowType:
|
|
29080
|
+
flowType: FlowType20.Login,
|
|
28729
29081
|
components,
|
|
28730
|
-
children: children != null ? children : /* @__PURE__ */
|
|
29082
|
+
children: children != null ? children : /* @__PURE__ */ jsx116(OrySelfServiceFlowCard2, {})
|
|
28731
29083
|
}
|
|
28732
29084
|
);
|
|
28733
29085
|
}
|
|
28734
29086
|
|
|
28735
29087
|
// src/theme/default/flows/recovery.tsx
|
|
28736
|
-
import { FlowType as
|
|
29088
|
+
import { FlowType as FlowType21 } from "@ory/client-fetch";
|
|
28737
29089
|
import {
|
|
28738
29090
|
OryProvider as OryProvider2,
|
|
28739
29091
|
OrySelfServiceFlowCard as OrySelfServiceFlowCard3
|
|
28740
29092
|
} from "@ory/elements-react";
|
|
28741
|
-
import { jsx as
|
|
29093
|
+
import { jsx as jsx117 } from "react/jsx-runtime";
|
|
28742
29094
|
function Recovery({
|
|
28743
29095
|
flow,
|
|
28744
29096
|
config,
|
|
@@ -28746,25 +29098,25 @@ function Recovery({
|
|
|
28746
29098
|
components: flowOverrideComponents
|
|
28747
29099
|
}) {
|
|
28748
29100
|
const components = getOryComponents(flowOverrideComponents);
|
|
28749
|
-
return /* @__PURE__ */
|
|
29101
|
+
return /* @__PURE__ */ jsx117(
|
|
28750
29102
|
OryProvider2,
|
|
28751
29103
|
{
|
|
28752
29104
|
config,
|
|
28753
29105
|
flow,
|
|
28754
|
-
flowType:
|
|
29106
|
+
flowType: FlowType21.Recovery,
|
|
28755
29107
|
components,
|
|
28756
|
-
children: children != null ? children : /* @__PURE__ */
|
|
29108
|
+
children: children != null ? children : /* @__PURE__ */ jsx117(OrySelfServiceFlowCard3, {})
|
|
28757
29109
|
}
|
|
28758
29110
|
);
|
|
28759
29111
|
}
|
|
28760
29112
|
|
|
28761
29113
|
// src/theme/default/flows/registration.tsx
|
|
28762
|
-
import { FlowType as
|
|
29114
|
+
import { FlowType as FlowType22 } from "@ory/client-fetch";
|
|
28763
29115
|
import {
|
|
28764
29116
|
OryProvider as OryProvider3,
|
|
28765
29117
|
OrySelfServiceFlowCard as OrySelfServiceFlowCard4
|
|
28766
29118
|
} from "@ory/elements-react";
|
|
28767
|
-
import { jsx as
|
|
29119
|
+
import { jsx as jsx118 } from "react/jsx-runtime";
|
|
28768
29120
|
function Registration({
|
|
28769
29121
|
flow,
|
|
28770
29122
|
children,
|
|
@@ -28772,26 +29124,26 @@ function Registration({
|
|
|
28772
29124
|
config
|
|
28773
29125
|
}) {
|
|
28774
29126
|
const components = getOryComponents(flowOverrideComponents);
|
|
28775
|
-
return /* @__PURE__ */
|
|
29127
|
+
return /* @__PURE__ */ jsx118(
|
|
28776
29128
|
OryProvider3,
|
|
28777
29129
|
{
|
|
28778
29130
|
config,
|
|
28779
29131
|
flow,
|
|
28780
|
-
flowType:
|
|
29132
|
+
flowType: FlowType22.Registration,
|
|
28781
29133
|
components,
|
|
28782
|
-
children: children != null ? children : /* @__PURE__ */
|
|
29134
|
+
children: children != null ? children : /* @__PURE__ */ jsx118(OrySelfServiceFlowCard4, {})
|
|
28783
29135
|
}
|
|
28784
29136
|
);
|
|
28785
29137
|
}
|
|
28786
29138
|
|
|
28787
29139
|
// src/theme/default/flows/settings.tsx
|
|
28788
|
-
import { FlowType as
|
|
29140
|
+
import { FlowType as FlowType23 } from "@ory/client-fetch";
|
|
28789
29141
|
import {
|
|
28790
29142
|
OryPageHeader,
|
|
28791
29143
|
OryProvider as OryProvider4,
|
|
28792
29144
|
OrySettingsCard as OrySettingsCard2
|
|
28793
29145
|
} from "@ory/elements-react";
|
|
28794
|
-
import { jsx as
|
|
29146
|
+
import { jsx as jsx119, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
28795
29147
|
function Settings({
|
|
28796
29148
|
flow,
|
|
28797
29149
|
config,
|
|
@@ -28801,28 +29153,28 @@ function Settings({
|
|
|
28801
29153
|
...rest
|
|
28802
29154
|
}) {
|
|
28803
29155
|
const components = getOryComponents(flowOverrideComponents);
|
|
28804
|
-
return /* @__PURE__ */
|
|
29156
|
+
return /* @__PURE__ */ jsx119(
|
|
28805
29157
|
OryProvider4,
|
|
28806
29158
|
{
|
|
28807
29159
|
config,
|
|
28808
29160
|
flow,
|
|
28809
|
-
flowType:
|
|
29161
|
+
flowType: FlowType23.Settings,
|
|
28810
29162
|
components,
|
|
28811
|
-
children: children != null ? children : /* @__PURE__ */
|
|
28812
|
-
/* @__PURE__ */
|
|
28813
|
-
/* @__PURE__ */
|
|
29163
|
+
children: children != null ? children : /* @__PURE__ */ jsx119("div", { className: cn("ory-elements", className), ...rest, children: /* @__PURE__ */ jsxs49("div", { className: "flex flex-col items-center justify-start gap-8 pb-12 font-sans-default", children: [
|
|
29164
|
+
/* @__PURE__ */ jsx119(OryPageHeader, {}),
|
|
29165
|
+
/* @__PURE__ */ jsx119(OrySettingsCard2, {})
|
|
28814
29166
|
] }) })
|
|
28815
29167
|
}
|
|
28816
29168
|
);
|
|
28817
29169
|
}
|
|
28818
29170
|
|
|
28819
29171
|
// src/theme/default/flows/verification.tsx
|
|
28820
|
-
import { FlowType as
|
|
29172
|
+
import { FlowType as FlowType24 } from "@ory/client-fetch";
|
|
28821
29173
|
import {
|
|
28822
29174
|
OryProvider as OryProvider5,
|
|
28823
29175
|
OrySelfServiceFlowCard as OrySelfServiceFlowCard5
|
|
28824
29176
|
} from "@ory/elements-react";
|
|
28825
|
-
import { jsx as
|
|
29177
|
+
import { jsx as jsx120 } from "react/jsx-runtime";
|
|
28826
29178
|
function Verification({
|
|
28827
29179
|
flow,
|
|
28828
29180
|
config,
|
|
@@ -28830,20 +29182,20 @@ function Verification({
|
|
|
28830
29182
|
components: flowOverrideComponents
|
|
28831
29183
|
}) {
|
|
28832
29184
|
const components = getOryComponents(flowOverrideComponents);
|
|
28833
|
-
return /* @__PURE__ */
|
|
29185
|
+
return /* @__PURE__ */ jsx120(
|
|
28834
29186
|
OryProvider5,
|
|
28835
29187
|
{
|
|
28836
29188
|
config,
|
|
28837
29189
|
flow,
|
|
28838
|
-
flowType:
|
|
29190
|
+
flowType: FlowType24.Verification,
|
|
28839
29191
|
components,
|
|
28840
|
-
children: children != null ? children : /* @__PURE__ */
|
|
29192
|
+
children: children != null ? children : /* @__PURE__ */ jsx120(OrySelfServiceFlowCard5, {})
|
|
28841
29193
|
}
|
|
28842
29194
|
);
|
|
28843
29195
|
}
|
|
28844
29196
|
|
|
28845
29197
|
// src/theme/default/flows/consent.tsx
|
|
28846
|
-
import { FlowType as
|
|
29198
|
+
import { FlowType as FlowType25 } from "@ory/client-fetch";
|
|
28847
29199
|
import {
|
|
28848
29200
|
OryConsentCard as OryConsentCard2,
|
|
28849
29201
|
OryProvider as OryProvider6
|
|
@@ -28990,7 +29342,7 @@ function challengeNode(challenge) {
|
|
|
28990
29342
|
}
|
|
28991
29343
|
|
|
28992
29344
|
// src/theme/default/flows/consent.tsx
|
|
28993
|
-
import { jsx as
|
|
29345
|
+
import { jsx as jsx121 } from "react/jsx-runtime";
|
|
28994
29346
|
function Consent({
|
|
28995
29347
|
consentChallenge,
|
|
28996
29348
|
session,
|
|
@@ -29007,14 +29359,14 @@ function Consent({
|
|
|
29007
29359
|
formActionUrl,
|
|
29008
29360
|
session
|
|
29009
29361
|
);
|
|
29010
|
-
return /* @__PURE__ */
|
|
29362
|
+
return /* @__PURE__ */ jsx121(
|
|
29011
29363
|
OryProvider6,
|
|
29012
29364
|
{
|
|
29013
29365
|
config,
|
|
29014
29366
|
flow,
|
|
29015
|
-
flowType:
|
|
29367
|
+
flowType: FlowType25.OAuth2Consent,
|
|
29016
29368
|
components,
|
|
29017
|
-
children: children != null ? children : /* @__PURE__ */
|
|
29369
|
+
children: children != null ? children : /* @__PURE__ */ jsx121(OryConsentCard2, {})
|
|
29018
29370
|
}
|
|
29019
29371
|
);
|
|
29020
29372
|
}
|