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