@ory/elements-react 1.0.0-next.16 → 1.0.0-next.18

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.
Files changed (61) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/api-report/elements-react-client.api.json +144 -16
  3. package/api-report/elements-react-client.api.md +19 -8
  4. package/api-report/elements-react-theme.api.json +197 -0
  5. package/api-report/elements-react-theme.api.md +17 -2
  6. package/api-report/elements-react.api.json +7 -3
  7. package/api-report/elements-react.api.md +4 -2
  8. package/api-report/temp/elements-react-client.api.md +33 -0
  9. package/api-report/temp/elements-react-theme.api.md +149 -0
  10. package/api-report/temp/elements-react.api.md +423 -0
  11. package/dist/client/config.d.mts +21 -0
  12. package/dist/client/config.d.ts +21 -0
  13. package/dist/client/config.js +77 -0
  14. package/dist/client/config.js.map +1 -0
  15. package/dist/client/config.mjs +51 -0
  16. package/dist/client/config.mjs.map +1 -0
  17. package/dist/client/frontendClient.d.mts +3 -1
  18. package/dist/client/frontendClient.d.ts +3 -1
  19. package/dist/client/frontendClient.js +14 -2
  20. package/dist/client/frontendClient.js.map +1 -1
  21. package/dist/client/frontendClient.mjs +14 -2
  22. package/dist/client/frontendClient.mjs.map +1 -1
  23. package/dist/client/index.d.mts +3 -1
  24. package/dist/client/index.d.ts +3 -1
  25. package/dist/client/index.js +4 -0
  26. package/dist/client/index.js.map +1 -1
  27. package/dist/client/index.mjs +5 -0
  28. package/dist/client/index.mjs.map +1 -1
  29. package/dist/client/session-provider.d.mts +62 -0
  30. package/dist/client/session-provider.d.ts +62 -0
  31. package/dist/client/session-provider.js +96 -0
  32. package/dist/client/session-provider.js.map +1 -0
  33. package/dist/client/session-provider.mjs +71 -0
  34. package/dist/client/session-provider.mjs.map +1 -0
  35. package/dist/client/useSession.d.mts +22 -31
  36. package/dist/client/useSession.d.ts +22 -31
  37. package/dist/client/useSession.js +7 -49
  38. package/dist/client/useSession.js.map +1 -1
  39. package/dist/client/useSession.mjs +8 -49
  40. package/dist/client/useSession.mjs.map +1 -1
  41. package/dist/index.d.mts +5 -4
  42. package/dist/index.d.ts +5 -4
  43. package/dist/index.js +148 -62
  44. package/dist/index.js.map +1 -1
  45. package/dist/index.mjs +151 -65
  46. package/dist/index.mjs.map +1 -1
  47. package/dist/theme/default/index.css +358 -251
  48. package/dist/theme/default/index.css.map +1 -1
  49. package/dist/theme/default/index.d.mts +14 -3
  50. package/dist/theme/default/index.d.ts +14 -3
  51. package/dist/theme/default/index.js +932 -837
  52. package/dist/theme/default/index.js.map +1 -1
  53. package/dist/theme/default/index.mjs +815 -715
  54. package/dist/theme/default/index.mjs.map +1 -1
  55. package/jest.config.ts +7 -1
  56. package/package.json +2 -1
  57. package/postcss.config.ts +1 -0
  58. package/tailwind.config.ts +14 -13
  59. package/tsconfig.json +4 -3
  60. package/variables-processed.json +385 -187
  61. package/.eslintrc.js +0 -63
@@ -31,10 +31,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  // src/theme/default/index.ts
32
32
  var default_exports = {};
33
33
  __export(default_exports, {
34
+ DefaultButtonSocial: () => DefaultButtonSocial,
34
35
  DefaultCard: () => DefaultCard,
35
36
  DefaultCardContent: () => DefaultCardContent,
36
37
  DefaultCardFooter: () => DefaultCardFooter,
37
38
  DefaultCardHeader: () => DefaultCardHeader,
39
+ DefaultCardLayout: () => DefaultCardLayout,
38
40
  DefaultCardLogo: () => DefaultCardLogo,
39
41
  DefaultCurrentIdentifierButton: () => DefaultCurrentIdentifierButton,
40
42
  DefaultFormContainer: () => DefaultFormContainer,
@@ -56,8 +58,8 @@ var import_jsx_runtime = require("react/jsx-runtime");
56
58
  var SvgOryBadgeHorizontal = (props) => {
57
59
  var _a, _b;
58
60
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("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: [
59
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "#fff", d: "M18.007 8h-1.71l2.007-3.996L16.296 0h1.711l1.145 2.301L20.327 0H22z" }),
60
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "#fff", fillRule: "evenodd", d: "M12.902 4.86a2.47 2.47 0 0 0 1.796-2.365v-.038C14.687 1.097 13.592 0 12.245 0H9.037v1.44l1.208 1.985H9.04V8h1.51V4.949h.633L13.04 8h1.775zm-.876-1.431h.223c.52 0 .943-.427.943-.953a.95.95 0 0 0-.943-.952h-1.39zM4 0a4 4 0 1 0-.001 7.999A4 4 0 0 0 4 0M1.524 4a2.476 2.476 0 1 0 4.952 0 2.476 2.476 0 0 0-4.952 0", clipRule: "evenodd" })
61
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "#0F172A", d: "M18.007 8h-1.71l2.007-3.996L16.296 0h1.711l1.145 2.301L20.327 0H22z" }),
62
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "#0F172A", fillRule: "evenodd", d: "M12.902 4.86a2.47 2.47 0 0 0 1.796-2.365v-.038C14.687 1.097 13.592 0 12.245 0H9.037v1.44l1.208 1.985H9.04V8h1.51V4.949h.633L13.04 8h1.775zm-.876-1.431h.223c.52 0 .943-.427.943-.953a.95.95 0 0 0-.943-.952h-1.39zM4 0a4 4 0 1 0-.001 7.999A4 4 0 0 0 4 0M1.524 4a2.476 2.476 0 1 0 4.952 0 2.476 2.476 0 0 0-4.952 0", clipRule: "evenodd" })
61
63
  ] });
62
64
  };
63
65
  var ory_badge_horizontal_default = SvgOryBadgeHorizontal;
@@ -68,8 +70,8 @@ var import_jsx_runtime2 = require("react/jsx-runtime");
68
70
  var SvgOryBadgeVertical = (props) => {
69
71
  var _a, _b;
70
72
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("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: [
71
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { fill: "#fff", d: "M8 3.993v1.71L4.004 3.697 0 5.704V3.993l2.301-1.145L0 1.673V0z" }),
72
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { fill: "#fff", fillRule: "evenodd", d: "M4.86 9.099a2.47 2.47 0 0 0-2.365-1.797h-.038C1.097 7.313 0 8.408 0 9.755v3.208h1.44l1.985-1.208v1.204H8v-1.51H4.949v-.633L8 8.96V7.185zm-1.431.875v-.223a.95.95 0 0 0-.953-.943.95.95 0 0 0-.952.943v1.39zM0 18a4 4 0 1 0 8 0 4 4 0 0 0-8 0m4 2.476a2.476 2.476 0 1 0 0-4.952 2.476 2.476 0 0 0 0 4.952", clipRule: "evenodd" })
73
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { fill: "#0F172A", d: "M8 3.993v1.71L4.004 3.697 0 5.704V3.993l2.301-1.145L0 1.673V0z" }),
74
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { fill: "#0F172A", fillRule: "evenodd", d: "M4.86 9.099a2.47 2.47 0 0 0-2.365-1.797h-.038C1.097 7.313 0 8.408 0 9.755v3.208h1.44l1.985-1.208v1.204H8v-1.51H4.949v-.633L8 8.96V7.185zm-1.431.875v-.223a.95.95 0 0 0-.953-.943.95.95 0 0 0-.952.943v1.39zM0 18a4 4 0 1 0 8 0 4 4 0 0 0-8 0m4 2.476a2.476 2.476 0 1 0 0-4.952 2.476 2.476 0 0 0 0 4.952", clipRule: "evenodd" })
73
75
  ] });
74
76
  };
75
77
  var ory_badge_vertical_default = SvgOryBadgeVertical;
@@ -77,9 +79,9 @@ var ory_badge_vertical_default = SvgOryBadgeVertical;
77
79
  // src/theme/default/components/card/badge.tsx
78
80
  var import_jsx_runtime3 = require("react/jsx-runtime");
79
81
  function Badge() {
80
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "font-bold bg-branding-bg-default absolute max-md:rounded-b-md p-2 max-md:bottom-0 max-md:translate-y-full max-md:left-8 md:right-0 md:translate-x-full md:top-8 md:rounded-r-md", children: [
81
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ory_badge_horizontal_default, { width: 22, height: 8, className: "md:hidden" }),
82
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ory_badge_vertical_default, { width: 8, height: 22, className: "max-md:hidden" })
82
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "absolute bg-ory-background-default p-2 font-bold max-sm:bottom-0 max-sm:left-8 max-sm:translate-y-full max-sm:rounded-b-md sm:right-0 sm:top-8 sm:translate-x-full sm:rounded-r-lg border-ory-border-default border max-sm:py-[7px] sm:pl-[7px]", children: [
83
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ory_badge_horizontal_default, { width: 22, height: 8, className: "sm:hidden" }),
84
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ory_badge_vertical_default, { width: 8, height: 22, className: "max-sm:hidden" })
83
85
  ] });
84
86
  }
85
87
 
@@ -126,7 +128,7 @@ function LoginCardFooter() {
126
128
  if (returnTo) {
127
129
  registrationLink += `?return_to=${returnTo}`;
128
130
  }
129
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: "text-sm font-normal antialiased leading-normal", children: [
131
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: "font-normal leading-normal antialiased text-interface-foreground-default-primary", children: [
130
132
  intl.formatMessage({
131
133
  id: "login.registration-label",
132
134
  defaultMessage: "No account?"
@@ -135,7 +137,7 @@ function LoginCardFooter() {
135
137
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
136
138
  "a",
137
139
  {
138
- className: "text-links-link-default hover:underline hover:text-link-hover transition-colors",
140
+ className: "text-button-link-brand-brand transition-colors hover:text-button-link-brand-brand-hover underline",
139
141
  href: registrationLink,
140
142
  children: intl.formatMessage({
141
143
  id: "login.registration-button",
@@ -169,10 +171,10 @@ function RegistrationCardFooter() {
169
171
  if (returnTo) {
170
172
  loginLink += `?return_to=${returnTo}`;
171
173
  }
172
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-sm font-normal antialiased leading-normal", children: formState.current === "method_active" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: screenSelectionNode && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
174
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "font-normal leading-normal antialiased", children: formState.current === "method_active" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: screenSelectionNode && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
173
175
  "button",
174
176
  {
175
- className: "font-medium text-links-link-default",
177
+ className: "font-medium text-button-link-brand-brand hover:text-button-link-brand-brand-hover",
176
178
  type: "submit",
177
179
  onClick: handleScreenSelection,
178
180
  children: intl.formatMessage({
@@ -189,7 +191,7 @@ function RegistrationCardFooter() {
189
191
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
190
192
  "a",
191
193
  {
192
- className: "text-links-link-default hover:underline hover:text-link-hover transition-colors",
194
+ className: "text-button-link-brand-brand transition-colors hover:text-button-link-brand-brand-hover underline",
193
195
  href: loginLink,
194
196
  children: intl.formatMessage({
195
197
  id: "registration.login-button",
@@ -222,8 +224,9 @@ function joinWithCommaOr(list, orText = "or") {
222
224
  return `${list.join(", ")} ${orText} ${last}`;
223
225
  }
224
226
  }
225
- function useCardHeaderText(nodes, opts) {
226
- var _a;
227
+ function useCardHeaderText(container, opts) {
228
+ var _a, _b;
229
+ const nodes = container.nodes;
227
230
  const intl = (0, import_react_intl2.useIntl)();
228
231
  switch (opts.flowType) {
229
232
  case import_client_fetch2.FlowType.Recovery:
@@ -277,6 +280,24 @@ function useCardHeaderText(nodes, opts) {
277
280
  id: "verification.subtitle"
278
281
  })
279
282
  };
283
+ case import_client_fetch2.FlowType.Login: {
284
+ const accountLinkingMessage = (_a = container.messages) == null ? void 0 : _a.find(
285
+ (m) => m.id === 1010016
286
+ );
287
+ if (accountLinkingMessage) {
288
+ return {
289
+ title: intl.formatMessage({
290
+ id: "account-linking.title"
291
+ }),
292
+ description: intl.formatMessage(
293
+ {
294
+ id: "identities.messages.1010016"
295
+ },
296
+ accountLinkingMessage.context
297
+ )
298
+ };
299
+ }
300
+ }
280
301
  }
281
302
  const parts = [];
282
303
  if (nodes.find((node) => node.group === "password")) {
@@ -327,7 +348,7 @@ function useCardHeaderText(nodes, opts) {
327
348
  id: "card.header.parts.identifier-first"
328
349
  },
329
350
  {
330
- identifierLabel: (_a = identifier.meta.label) == null ? void 0 : _a.text
351
+ identifierLabel: (_b = identifier.meta.label) == null ? void 0 : _b.text
331
352
  }
332
353
  )
333
354
  );
@@ -433,23 +454,24 @@ function DefaultCurrentIdentifierButton() {
433
454
  "autocomplete",
434
455
  "node_type"
435
456
  ]);
436
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
457
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
437
458
  "a",
438
459
  {
439
- 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 self-start max-w-full",
460
+ className: "group inline-flex max-w-full cursor-pointer items-center gap-1 self-start rounded-full border px-[11px] py-[5px] transition-colors border-button-identifier-border-border-default bg-button-identifier-background-default hover:border-button-identifier-border-border-hover hover:bg-button-identifier-background-hover",
440
461
  ...attributes,
441
462
  href: initFlowUrl,
442
463
  title: `Adjust ${nodeBackButton == null ? void 0 : nodeBackButton.attributes.value}`,
443
- children: [
464
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("span", { className: "inline-flex min-h-5 items-center gap-2 overflow-hidden text-ellipsis", children: [
444
465
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
445
466
  arrow_left_default,
446
467
  {
447
468
  size: 16,
448
- className: "text-button-identifier-fg-subtle shrink-0"
469
+ stroke: "1",
470
+ className: "shrink-0 text-button-identifier-foreground-default group-hover:text-button-identifier-foreground-hover"
449
471
  }
450
472
  ),
451
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("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 })
452
- ]
473
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "overflow-hidden text-ellipsis text-nowrap text-sm font-medium text-button-identifier-foreground-default group-hover:text-button-identifier-foreground-hover", children: nodeBackButton == null ? void 0 : nodeBackButton.attributes.value })
474
+ ] })
453
475
  }
454
476
  );
455
477
  }
@@ -491,18 +513,15 @@ function InnerCardHeader({ title, text }) {
491
513
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("header", { className: "flex flex-col gap-8 antialiased", children: [
492
514
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Card.Logo, {}),
493
515
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-2", children: [
494
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("h2", { className: "font-semibold text-lg text-dialog-fg-default leading-normal", children: title }),
495
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-sm leading-normal text-dialog-fg-subtle", children: text }),
516
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("h2", { className: "text-lg font-semibold leading-normal text-interface-foreground-default-primary", children: title }),
517
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "leading-normal text-interface-foreground-default-secondary", children: text }),
496
518
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DefaultCurrentIdentifierButton, {})
497
519
  ] })
498
520
  ] });
499
521
  }
500
522
  function DefaultCardHeader() {
501
523
  const context = (0, import_elements_react3.useOryFlow)();
502
- const { title, description } = useCardHeaderText(
503
- context.flow.ui.nodes,
504
- context
505
- );
524
+ const { title, description } = useCardHeaderText(context.flow.ui, context);
506
525
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(InnerCardHeader, { title, text: description });
507
526
  }
508
527
 
@@ -514,15 +533,21 @@ function DefaultCardLogo() {
514
533
  if (flow.config.logoUrl) {
515
534
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("img", { src: flow.config.logoUrl, width: 100, height: 36, alt: "Logo" });
516
535
  }
517
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("h1", { className: "text-xl font-semibold leading-normal text-dialog-fg-default", children: flow.config.name });
536
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("h1", { className: "text-xl font-semibold leading-normal text-interface-foreground-default-primary", children: flow.config.name });
518
537
  }
519
538
 
520
- // src/theme/default/components/card/index.tsx
539
+ // src/theme/default/components/card/layout.tsx
521
540
  var import_jsx_runtime9 = require("react/jsx-runtime");
541
+ function DefaultCardLayout({ children }) {
542
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("main", { className: "p-4 pb-8 flex items-center justify-center flex-col gap-8 min-h-screen", children });
543
+ }
544
+
545
+ // src/theme/default/components/card/index.tsx
546
+ var import_jsx_runtime10 = require("react/jsx-runtime");
522
547
  function DefaultCard({ children }) {
523
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "flex-1 flex-col flex justify-center items-center font-sans", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("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: [
548
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "flex flex-1 sm:items-center justify-center font-sans items-start w-full sm:w-[480px] sm:max-w-[480px]", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "relative grid grid-cols-1 gap-8 sm:rounded-cards sm:border border-form-border-default bg-form-background-default px-8 py-12 sm:px-12 sm:py-14 border-b w-full", children: [
524
549
  children,
525
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Badge, {})
550
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Badge, {})
526
551
  ] }) });
527
552
  }
528
553
 
@@ -534,160 +559,211 @@ function cn(...inputs) {
534
559
  }
535
560
 
536
561
  // src/theme/default/components/form/index.tsx
537
- var import_react_intl3 = require("react-intl");
538
- var import_elements_react5 = require("@ory/elements-react");
562
+ var import_react_intl4 = require("react-intl");
563
+ var import_elements_react6 = require("@ory/elements-react");
539
564
  var import_client_fetch4 = require("@ory/client-fetch");
540
- var import_jsx_runtime10 = require("react/jsx-runtime");
541
- function DefaultFormContainer({
542
- children,
543
- onSubmit,
544
- action,
545
- method
546
- }) {
547
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
548
- "form",
549
- {
550
- onSubmit,
551
- noValidate: true,
552
- action,
553
- method,
554
- className: "grid gap-8",
555
- children
556
- }
557
- );
558
- }
559
- function DefaultMessageContainer({ children }) {
560
- const { flowType } = (0, import_elements_react5.useOryFlow)();
561
- if (!children || Array.isArray(children) && children.length === 0) {
562
- return null;
563
- }
564
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
565
- "section",
566
- {
567
- className: cn(
568
- flowType === import_client_fetch4.FlowType.Settings ? "text-center" : "text-left"
569
- ),
570
- children
571
- }
572
- );
573
- }
574
- function DefaultMessage({ message }) {
575
- const intl = (0, import_react_intl3.useIntl)();
576
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
577
- "span",
578
- {
579
- className: cn("text-sm leading-normal", {
580
- "text-forms-fg-error": message.type === "error",
581
- "text-forms-fg-default": message.type === "info",
582
- "text-forms-fg-success": message.type === "success"
583
- }),
584
- ...(0, import_elements_react5.messageTestId)(message),
585
- children: (0, import_elements_react5.uiTextToFormattedMessage)(message, intl)
586
- }
587
- );
588
- }
589
565
 
590
- // src/theme/default/components/card/auth-methods.tsx
591
- var import_react_intl4 = require("react-intl");
566
+ // src/theme/default/components/form/social.tsx
567
+ var import_elements_react5 = require("@ory/elements-react");
592
568
 
593
- // src/theme/default/assets/icons/code.svg
569
+ // src/theme/default/provider-logos/apple.svg
594
570
  var React4 = __toESM(require("react"));
595
571
  var import_jsx_runtime11 = require("react/jsx-runtime");
596
- var SvgCode = (props) => {
572
+ var SvgApple = (props) => {
597
573
  var _a, _b;
598
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("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__ */ (0, import_jsx_runtime11.jsx)("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" }) });
574
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("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__ */ (0, import_jsx_runtime11.jsx)("path", { fill: "#283544", d: "M27.734 11.55c-.134.078-3.317 1.724-3.317 5.374.15 4.162 4.017 5.621 4.083 5.621-.066.078-.584 1.988-2.116 3.991C25.167 28.261 23.817 30 21.767 30c-1.95 0-2.65-1.15-4.9-1.15-2.416 0-3.1 1.15-4.95 1.15-2.05 0-3.5-1.832-4.782-3.541-1.667-2.236-3.083-5.746-3.133-9.116-.034-1.786.334-3.54 1.266-5.032 1.317-2.081 3.667-3.494 6.233-3.54 1.966-.063 3.716 1.257 4.916 1.257 1.15 0 3.3-1.258 5.733-1.258 1.05.001 3.85.296 5.584 2.78M16.25 8.414c-.35-1.631.616-3.262 1.516-4.302C18.917 2.854 20.734 2 22.3 2c.1 1.63-.534 3.23-1.666 4.395-1.017 1.258-2.767 2.205-4.383 2.019" }) });
599
575
  };
600
- var code_default = SvgCode;
576
+ var apple_default = SvgApple;
601
577
 
602
- // src/theme/default/assets/icons/passkey.svg
578
+ // src/theme/default/provider-logos/auth0.svg
603
579
  var React5 = __toESM(require("react"));
604
580
  var import_jsx_runtime12 = require("react/jsx-runtime");
605
- var SvgPasskey = (props) => {
581
+ var SvgAuth0 = (props) => {
606
582
  var _a, _b;
607
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("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__ */ (0, import_jsx_runtime12.jsx)("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" }) });
583
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("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__ */ (0, import_jsx_runtime12.jsx)("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" }) });
608
584
  };
609
- var passkey_default = SvgPasskey;
585
+ var auth0_default = SvgAuth0;
610
586
 
611
- // src/theme/default/assets/icons/password.svg
587
+ // src/theme/default/provider-logos/discord.svg
612
588
  var React6 = __toESM(require("react"));
613
589
  var import_jsx_runtime13 = require("react/jsx-runtime");
614
- var SvgPassword = (props) => {
590
+ var SvgDiscord = (props) => {
615
591
  var _a, _b;
616
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("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__ */ (0, import_jsx_runtime13.jsx)("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" }) });
592
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("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: [
593
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("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" }),
594
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("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" })
595
+ ] });
617
596
  };
618
- var password_default = SvgPassword;
597
+ var discord_default = SvgDiscord;
619
598
 
620
- // src/theme/default/assets/icons/webauthn.svg
599
+ // src/theme/default/provider-logos/facebook.svg
621
600
  var React7 = __toESM(require("react"));
622
601
  var import_jsx_runtime14 = require("react/jsx-runtime");
623
- var SvgWebauthn = (props) => {
602
+ var SvgFacebook = (props) => {
624
603
  var _a, _b;
625
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("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__ */ (0, import_jsx_runtime14.jsx)("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" }) });
604
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("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: [
605
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("g", { clipPath: "url(#facebook_svg__a)", children: [
606
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("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" }),
607
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("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" })
608
+ ] }),
609
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("clipPath", { id: "facebook_svg__a", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("rect", { fill: "#fff" }) }) })
610
+ ] });
626
611
  };
627
- var webauthn_default = SvgWebauthn;
628
-
629
- // src/theme/default/utils/form.ts
630
- function isGroupImmediateSubmit(group) {
631
- return group === "code";
632
- }
612
+ var facebook_default = SvgFacebook;
633
613
 
634
- // src/theme/default/components/card/auth-methods.tsx
614
+ // src/theme/default/provider-logos/generic.svg
615
+ var React8 = __toESM(require("react"));
635
616
  var import_jsx_runtime15 = require("react/jsx-runtime");
636
- var iconsMap = {
637
- code: code_default,
638
- passkey: passkey_default,
639
- password: password_default,
640
- webauthn: webauthn_default
617
+ var SvgGeneric = (props) => {
618
+ var _a, _b;
619
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("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: [
620
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("path", { stroke: "none", d: "M0 0h24v24H0z" }),
621
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("path", { d: "M2 12a10 10 0 1 0 20 0 10 10 0 1 0-20 0" }),
622
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("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" })
623
+ ] });
641
624
  };
642
- function DefaultAuthMethodListItem({
643
- onClick,
644
- group
645
- }) {
646
- const intl = (0, import_react_intl4.useIntl)();
647
- const Icon = iconsMap[group] || null;
648
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-full hover:bg-forms-bg-hover px-2 py-1 rounded", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
649
- "button",
650
- {
651
- className: "flex text-left py-2 gap-3 cursor-pointer",
652
- onClick,
653
- type: isGroupImmediateSubmit(group) ? "submit" : "button",
654
- id: `auth-method-list-item-${group}`,
655
- "data-testid": "auth-method-list-item",
656
- "aria-label": `Authenticate with ${group}`,
657
- children: [
658
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "flex-none w-4 h-4 mt-[2px]", children: Icon && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon, { size: 20, className: "text-forms-fg-default" }) }),
659
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex-1 text-sm leading-normal", children: [
660
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "text-forms-fg-default text-sm", children: intl.formatMessage({ id: `two-step.${group}.title` }) }),
661
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "text-forms-fg-mute text-sm", children: intl.formatMessage({ id: `two-step.${group}.description` }) })
662
- ] })
663
- ]
664
- }
665
- ) });
666
- }
625
+ var generic_default = SvgGeneric;
667
626
 
668
- // src/theme/default/components/form/button.tsx
669
- var import_client_fetch5 = require("@ory/client-fetch");
670
- var import_elements_react6 = require("@ory/elements-react");
627
+ // src/theme/default/provider-logos/github.svg
628
+ var React9 = __toESM(require("react"));
629
+ var import_jsx_runtime16 = require("react/jsx-runtime");
630
+ var SvgGithub = (props) => {
631
+ var _a, _b;
632
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("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__ */ (0, import_jsx_runtime16.jsx)("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" }) });
633
+ };
634
+ var github_default = SvgGithub;
635
+
636
+ // src/theme/default/provider-logos/gitlab.svg
637
+ var React10 = __toESM(require("react"));
638
+ var import_jsx_runtime17 = require("react/jsx-runtime");
639
+ var SvgGitlab = (props) => {
640
+ var _a, _b;
641
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("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: [
642
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("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" }),
643
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("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" }),
644
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("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" }),
645
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("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" })
646
+ ] });
647
+ };
648
+ var gitlab_default = SvgGitlab;
649
+
650
+ // src/theme/default/provider-logos/google.svg
651
+ var React11 = __toESM(require("react"));
652
+ var import_jsx_runtime18 = require("react/jsx-runtime");
653
+ var SvgGoogle = (props) => {
654
+ var _a, _b;
655
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("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: [
656
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("path", { fill: "#4285F4", d: "M30.001 16.31c0-1.15-.095-1.99-.301-2.861H16.287v5.195h7.873c-.159 1.291-1.016 3.236-2.92 4.542l-.027.174 4.24 3.22.294.029c2.699-2.443 4.254-6.036 4.254-10.298" }),
657
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("path", { fill: "#34A853", d: "M16.286 30c3.857 0 7.095-1.244 9.46-3.391l-4.507-3.423c-1.207.825-2.826 1.4-4.953 1.4A8.58 8.58 0 0 1 8.16 18.77l-.167.014-4.41 3.344-.058.157C5.874 26.858 10.7 30 16.286 30" }),
658
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("path", { fill: "#FBBC05", d: "M8.16 18.769a8.5 8.5 0 0 1-.476-2.77c0-.964.174-1.897.46-2.768l-.008-.185-4.465-3.399-.146.068A13.8 13.8 0 0 0 2.001 16c0 2.256.556 4.387 1.524 6.284z" }),
659
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("path", { fill: "#EB4335", d: "M16.286 7.413c2.683 0 4.492 1.136 5.524 2.085l4.032-3.858C23.366 3.384 20.143 2 16.286 2 10.7 2 5.874 5.142 3.524 9.715l4.62 3.516c1.158-3.375 4.365-5.818 8.142-5.818" })
660
+ ] });
661
+ };
662
+ var google_default = SvgGoogle;
663
+
664
+ // src/theme/default/provider-logos/linkedin.svg
665
+ var React12 = __toESM(require("react"));
666
+ var import_jsx_runtime19 = require("react/jsx-runtime");
667
+ var SvgLinkedin = (props) => {
668
+ var _a, _b;
669
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("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: [
670
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("rect", { x: 2, y: 2, fill: "#1275B1", rx: 14 }),
671
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("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" })
672
+ ] });
673
+ };
674
+ var linkedin_default = SvgLinkedin;
675
+
676
+ // src/theme/default/provider-logos/microsoft.svg
677
+ var React13 = __toESM(require("react"));
678
+ var import_jsx_runtime20 = require("react/jsx-runtime");
679
+ var SvgMicrosoft = (props) => {
680
+ var _a, _b;
681
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("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: [
682
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("path", { fill: "#F35325", d: "M1 1h10v10H1z" }),
683
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("path", { fill: "#81BC06", d: "M12 1h10v10H12z" }),
684
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("path", { fill: "#05A6F0", d: "M1 12h10v10H1z" }),
685
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("path", { fill: "#FFBA08", d: "M12 12h10v10H12z" })
686
+ ] });
687
+ };
688
+ var microsoft_default = SvgMicrosoft;
689
+
690
+ // src/theme/default/provider-logos/slack.svg
691
+ var React14 = __toESM(require("react"));
692
+ var import_jsx_runtime21 = require("react/jsx-runtime");
693
+ var SvgSlack = (props) => {
694
+ var _a, _b;
695
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("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: [
696
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("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" }),
697
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("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" }),
698
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("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" }),
699
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("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" })
700
+ ] });
701
+ };
702
+ var slack_default = SvgSlack;
703
+
704
+ // src/theme/default/provider-logos/spotify.svg
705
+ var React15 = __toESM(require("react"));
706
+ var import_jsx_runtime22 = require("react/jsx-runtime");
707
+ var SvgSpotify = (props) => {
708
+ var _a, _b;
709
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("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: [
710
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("circle", { cx: 16, cy: 16, r: 14, fill: "#1ED760" }),
711
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("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" })
712
+ ] });
713
+ };
714
+ var spotify_default = SvgSpotify;
715
+
716
+ // src/theme/default/provider-logos/yandex.svg
717
+ var React16 = __toESM(require("react"));
718
+ var import_jsx_runtime23 = require("react/jsx-runtime");
719
+ var SvgYandex = (props) => {
720
+ var _a, _b;
721
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("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: [
722
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("circle", { cx: 16, cy: 16, r: 14, fill: "#fff" }),
723
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("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" })
724
+ ] });
725
+ };
726
+ var yandex_default = SvgYandex;
727
+
728
+ // src/theme/default/provider-logos/index.ts
729
+ var logos = {
730
+ apple: apple_default,
731
+ auth0: auth0_default,
732
+ discord: discord_default,
733
+ facebook: facebook_default,
734
+ generic: generic_default,
735
+ github: github_default,
736
+ gitlab: gitlab_default,
737
+ google: google_default,
738
+ linkedin: linkedin_default,
739
+ microsoft: microsoft_default,
740
+ slack: slack_default,
741
+ spotify: spotify_default,
742
+ yandex: yandex_default
743
+ };
744
+ var provider_logos_default = logos;
745
+
746
+ // src/theme/default/components/form/social.tsx
747
+ var import_react_intl3 = require("react-intl");
671
748
  var import_react_hook_form2 = require("react-hook-form");
672
- var import_react_intl5 = require("react-intl");
673
749
 
674
750
  // src/theme/default/components/form/spinner.tsx
675
- var import_jsx_runtime16 = require("react/jsx-runtime");
751
+ var import_jsx_runtime24 = require("react/jsx-runtime");
676
752
  function Spinner({ className }) {
677
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
753
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
678
754
  "svg",
679
755
  {
680
756
  "aria-hidden": "true",
681
757
  role: "status",
682
758
  className: cn(
683
- "absolute pointer-events-none inset-0 mx-auto my-auto w-8 h-8 animate-spin",
759
+ "absolute pointer-events-none inset-0 m-auto size-8 animate-spin",
684
760
  className
685
761
  ),
686
762
  viewBox: "0 0 34 34",
687
763
  fill: "none",
688
764
  xmlns: "http://www.w3.org/2000/svg",
689
765
  children: [
690
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("g", { clipPath: "url(#clip0_2572_1748)", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
766
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("g", { clipPath: "url(#clip0_2572_1748)", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
691
767
  "path",
692
768
  {
693
769
  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",
@@ -696,7 +772,7 @@ function Spinner({ className }) {
696
772
  strokeLinejoin: "round"
697
773
  }
698
774
  ) }),
699
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("clipPath", { id: "clip0_2572_1748", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
775
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("clipPath", { id: "clip0_2572_1748", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
700
776
  "rect",
701
777
  {
702
778
  width: "24",
@@ -710,47 +786,253 @@ function Spinner({ className }) {
710
786
  );
711
787
  }
712
788
 
713
- // src/theme/default/components/form/button.tsx
714
- var import_elements_react7 = require("@ory/elements-react");
715
- var import_class_variance_authority = require("class-variance-authority");
716
- var import_jsx_runtime17 = require("react/jsx-runtime");
717
- var buttonStyles = (0, import_class_variance_authority.cva)(
718
- [
719
- "ring-1 relative overflow-hidden ring-inset rounded text-sm leading-none flex gap-3 justify-center",
720
- "disabled:cursor-not-allowed loading:before:pointer-events-none loading:cursor-wait",
721
- "transition-colors ease-linear duration-100"
722
- ],
723
- {
724
- variants: {
725
- intent: {
726
- primary: [
727
- "bg-button-primary-bg-default text-button-primary-fg-default ring-button-primary-border-default",
728
- "hover:bg-button-primary-bg-hover hover:text-button-primary-fg-hover hover:ring-button-primary-border-hover",
729
- "disabled:bg-button-primary-bg-disabled disabled:text-button-primary-fg-disabled disabled:ring-button-primary-border-disabled",
730
- "loading:bg-button-primary-bg-default loading:text-button-primary-fg-default loading:ring-button-primary-border-default",
731
- "loading:before:absolute loading:before:content-[''] loading:before:inset-0 loading:before:bg-button-primary-bg-default loading:before:opacity-80"
732
- ],
733
- secondary: [
734
- "bg-button-secondary-bg-default text-button-secondary-fg-default ring-button-secondary-border-default",
735
- "hover:bg-button-secondary-bg-hover hover:text-button-secondary-fg-hover hover:ring-button-secondary-border-hover",
736
- "disabled:bg-button-secondary-bg-disabled disabled:text-button-secondary-fg-disabled disabled:ring-button-secondary-border-disabled",
737
- "loading:bg-button-secondary-bg-default loading:text-button-secondary-fg-default loading:ring-button-secondary-border-default",
738
- "loading:before:absolute loading:before:content-[''] loading:before:inset-0 loading:before:bg-button-secondary-bg-default loading:before:opacity-80"
739
- ]
740
- },
741
- size: {
742
- default: ["px-4 py-3"],
743
- large: ["px-4 py-4.5 max-md:py-3"]
744
- },
745
- defaultVariants: {
746
- intent: "primary",
747
- size: "default"
748
- }
749
- }
789
+ // src/theme/default/components/form/social.tsx
790
+ var import_jsx_runtime25 = require("react/jsx-runtime");
791
+ function extractProvider(context) {
792
+ if (context && typeof context === "object" && "provider" in context && typeof context.provider === "string") {
793
+ return context.provider;
750
794
  }
751
- );
752
- var DefaultButton = ({
753
- attributes,
795
+ return void 0;
796
+ }
797
+ function DefaultButtonSocial({
798
+ attributes,
799
+ node,
800
+ onClick,
801
+ showLabel: _showLabel,
802
+ logos: providedLogos
803
+ }) {
804
+ var _a, _b, _c;
805
+ const logos2 = { ...provider_logos_default, ...providedLogos };
806
+ const {
807
+ node_type: _ignoredNodeType,
808
+ type: _ignoredType,
809
+ name: _ignoredName,
810
+ ...props
811
+ } = attributes;
812
+ const {
813
+ flow: { ui }
814
+ } = (0, import_elements_react5.useOryFlow)();
815
+ const intl = (0, import_react_intl3.useIntl)();
816
+ const {
817
+ formState: { isSubmitting }
818
+ } = (0, import_react_hook_form2.useFormContext)();
819
+ const oidcNodeCount = (_a = ui.nodes.filter((node2) => node2.group === "oidc").length) != null ? _a : 0;
820
+ const Logo = logos2[attributes.value];
821
+ const showLabel = _showLabel != null ? _showLabel : oidcNodeCount % 3 !== 0 && oidcNodeCount % 4 !== 0;
822
+ const provider = (_c = extractProvider((_b = node.meta.label) == null ? void 0 : _b.context)) != null ? _c : "";
823
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
824
+ "button",
825
+ {
826
+ className: "gap-3 border border-button-social-border-default bg-button-social-background-default hover:bg-button-social-background-hover transition-colors rounded flex items-center justify-center px-4 py-[13px] disabled:bg-button-social-background-disabled disabled:border-button-social-border-disabled disabled:text-button-social-foreground-disabled hover:text-button-social-foreground-disabled",
827
+ value: attributes.value,
828
+ type: "submit",
829
+ name: "provider",
830
+ ...props,
831
+ onClick,
832
+ disabled: isSubmitting,
833
+ children: [
834
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "size-5 relative", children: !isSubmitting ? Logo ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Logo, { size: 20 }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "flex aspect-square items-center justify-center rounded-full border text-xs", children: provider.slice(0, 2) }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Spinner, { className: "size-5" }) }),
835
+ showLabel && node.meta.label ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "grow text-left font-medium leading-none text-button-social-foreground-default", children: (0, import_elements_react5.uiTextToFormattedMessage)(node.meta.label, intl) }) : null
836
+ ]
837
+ }
838
+ );
839
+ }
840
+ DefaultButtonSocial.WithLogos = (logos2) => (props) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DefaultButtonSocial, { ...props, logos: logos2 });
841
+ function DefaultSocialButtonContainer({
842
+ children,
843
+ nodes
844
+ }) {
845
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
846
+ "div",
847
+ {
848
+ className: cn("grid gap-3", {
849
+ // needed because tailwind is not compiling dynamic classes
850
+ "grid-cols-1": nodes.length % 4 <= 2,
851
+ "grid-cols-3": nodes.length % 3 === 0,
852
+ "grid-cols-4": nodes.length > 1 && nodes.length % 4 === 0
853
+ }),
854
+ children
855
+ }
856
+ );
857
+ }
858
+
859
+ // src/theme/default/components/form/index.tsx
860
+ var import_jsx_runtime26 = require("react/jsx-runtime");
861
+ function DefaultFormContainer({
862
+ children,
863
+ onSubmit,
864
+ action,
865
+ method
866
+ }) {
867
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
868
+ "form",
869
+ {
870
+ onSubmit,
871
+ noValidate: true,
872
+ action,
873
+ method,
874
+ className: "grid gap-8",
875
+ children
876
+ }
877
+ );
878
+ }
879
+ function DefaultMessageContainer({ children }) {
880
+ const { flowType } = (0, import_elements_react6.useOryFlow)();
881
+ if (!children || Array.isArray(children) && children.length === 0) {
882
+ return null;
883
+ }
884
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
885
+ "section",
886
+ {
887
+ className: cn(
888
+ flowType === import_client_fetch4.FlowType.Settings ? "text-center" : "text-left"
889
+ ),
890
+ children
891
+ }
892
+ );
893
+ }
894
+ function DefaultMessage({ message }) {
895
+ const intl = (0, import_react_intl4.useIntl)();
896
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
897
+ "span",
898
+ {
899
+ className: cn(
900
+ "leading-normal",
901
+ message.type === "error" && "text-interface-foreground-validation-danger",
902
+ message.type === "info" && "text-interface-foreground-default-secondary",
903
+ message.type === "success" && "text-interface-foreground-validation-success"
904
+ ),
905
+ ...(0, import_elements_react6.messageTestId)(message),
906
+ children: (0, import_elements_react6.uiTextToFormattedMessage)(message, intl)
907
+ }
908
+ );
909
+ }
910
+
911
+ // src/theme/default/components/card/auth-methods.tsx
912
+ var import_react_intl5 = require("react-intl");
913
+
914
+ // src/theme/default/assets/icons/code.svg
915
+ var React17 = __toESM(require("react"));
916
+ var import_jsx_runtime27 = require("react/jsx-runtime");
917
+ var SvgCode = (props) => {
918
+ var _a, _b;
919
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("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__ */ (0, import_jsx_runtime27.jsx)("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" }) });
920
+ };
921
+ var code_default = SvgCode;
922
+
923
+ // src/theme/default/assets/icons/passkey.svg
924
+ var React18 = __toESM(require("react"));
925
+ var import_jsx_runtime28 = require("react/jsx-runtime");
926
+ var SvgPasskey = (props) => {
927
+ var _a, _b;
928
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("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__ */ (0, import_jsx_runtime28.jsx)("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" }) });
929
+ };
930
+ var passkey_default = SvgPasskey;
931
+
932
+ // src/theme/default/assets/icons/password.svg
933
+ var React19 = __toESM(require("react"));
934
+ var import_jsx_runtime29 = require("react/jsx-runtime");
935
+ var SvgPassword = (props) => {
936
+ var _a, _b;
937
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("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__ */ (0, import_jsx_runtime29.jsx)("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" }) });
938
+ };
939
+ var password_default = SvgPassword;
940
+
941
+ // src/theme/default/assets/icons/webauthn.svg
942
+ var React20 = __toESM(require("react"));
943
+ var import_jsx_runtime30 = require("react/jsx-runtime");
944
+ var SvgWebauthn = (props) => {
945
+ var _a, _b;
946
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("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__ */ (0, import_jsx_runtime30.jsx)("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" }) });
947
+ };
948
+ var webauthn_default = SvgWebauthn;
949
+
950
+ // src/theme/default/utils/form.ts
951
+ function isGroupImmediateSubmit(group) {
952
+ return group === "code";
953
+ }
954
+
955
+ // src/theme/default/components/card/auth-methods.tsx
956
+ var import_jsx_runtime31 = require("react/jsx-runtime");
957
+ var iconsMap = {
958
+ code: code_default,
959
+ passkey: passkey_default,
960
+ password: password_default,
961
+ webauthn: webauthn_default
962
+ };
963
+ function DefaultAuthMethodListItem({
964
+ onClick,
965
+ group
966
+ }) {
967
+ const intl = (0, import_react_intl5.useIntl)();
968
+ const Icon = iconsMap[group] || null;
969
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "w-full rounded px-2 py-1 hover:bg-interface-background-default-primary-hover", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
970
+ "button",
971
+ {
972
+ className: "flex cursor-pointer gap-3 py-2 text-left items-start",
973
+ onClick,
974
+ type: isGroupImmediateSubmit(group) ? "submit" : "button",
975
+ id: `auth-method-list-item-${group}`,
976
+ "data-testid": "auth-method-list-item",
977
+ "aria-label": `Authenticate with ${group}`,
978
+ children: [
979
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "mt-1", children: Icon && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
980
+ Icon,
981
+ {
982
+ size: 16,
983
+ className: "text-interface-foreground-brand-primary"
984
+ }
985
+ ) }),
986
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "flex-1 leading-normal inline-flex flex-col", children: [
987
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-interface-foreground-default-primary", children: intl.formatMessage({ id: `two-step.${group}.title` }) }),
988
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-interface-foreground-default-secondary", children: intl.formatMessage({ id: `two-step.${group}.description` }) })
989
+ ] })
990
+ ]
991
+ }
992
+ ) });
993
+ }
994
+
995
+ // src/theme/default/components/form/button.tsx
996
+ var import_client_fetch5 = require("@ory/client-fetch");
997
+ var import_elements_react7 = require("@ory/elements-react");
998
+ var import_class_variance_authority = require("class-variance-authority");
999
+ var import_react_hook_form3 = require("react-hook-form");
1000
+ var import_react_intl6 = require("react-intl");
1001
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1002
+ var buttonStyles = (0, import_class_variance_authority.cva)(
1003
+ [
1004
+ "relative flex justify-center gap-3 overflow-hidden rounded leading-none ring-1 ring-inset font-medium",
1005
+ "disabled:cursor-not-allowed loading:cursor-wait loading:before:pointer-events-none",
1006
+ "transition-colors duration-100 ease-linear",
1007
+ "p-4 max-w-[488px]"
1008
+ ],
1009
+ {
1010
+ variants: {
1011
+ intent: {
1012
+ primary: [
1013
+ "bg-button-primary-background-default text-button-primary-foreground-default ring-button-primary-border-default",
1014
+ "hover:bg-button-primary-background-hover hover:text-button-primary-foreground-hover hover:ring-button-primary-border-hover",
1015
+ "disabled:bg-button-primary-background-disabled disabled:text-button-primary-foreground-disabled disabled:ring-button-primary-border-disabled",
1016
+ "loading:bg-button-primary-background-default loading:text-button-primary-foreground-default loading:ring-button-primary-border-default",
1017
+ "loading:before:absolute loading:before:inset-0 loading:before:bg-button-primary-background-default loading:before:opacity-80 loading:before:content-['']",
1018
+ "disabled:bg-button-primary-background-disabled disabled:text-button-primary-foreground-disabled disabled:ring-button-primary-border-disabled"
1019
+ ],
1020
+ secondary: [
1021
+ "bg-button-secondary-background-default text-button-secondary-foreground-default ring-button-secondary-border-default",
1022
+ "hover:bg-button-secondary-background-hover hover:text-button-secondary-foreground-hover hover:ring-button-secondary-border-hover",
1023
+ "disabled:bg-button-secondary-background-disabled disabled:text-button-secondary-foreground-disabled disabled:ring-button-secondary-border-disabled",
1024
+ "loading:bg-button-secondary-background-default loading:text-button-secondary-foreground-default loading:ring-button-secondary-border-default",
1025
+ "loading:before:absolute loading:before:inset-0 loading:before:bg-button-secondary-background-default loading:before:opacity-80 loading:before:content-['']"
1026
+ ]
1027
+ },
1028
+ defaultVariants: {
1029
+ intent: "primary"
1030
+ }
1031
+ }
1032
+ }
1033
+ );
1034
+ var DefaultButton = ({
1035
+ attributes,
754
1036
  node,
755
1037
  onClick
756
1038
  }) => {
@@ -766,16 +1048,14 @@ var DefaultButton = ({
766
1048
  // End of skipped attributes
767
1049
  ...rest
768
1050
  } = attributes;
769
- const intl = (0, import_react_intl5.useIntl)();
1051
+ const intl = (0, import_react_intl6.useIntl)();
770
1052
  const label = (0, import_client_fetch5.getNodeLabel)(node);
771
- const { flowType } = (0, import_elements_react7.useOryFlow)();
772
1053
  const {
773
1054
  formState: { isSubmitting },
774
1055
  setValue
775
- } = (0, import_react_hook_form2.useFormContext)();
1056
+ } = (0, import_react_hook_form3.useFormContext)();
776
1057
  const isPrimary = attributes.name === "method" || attributes.name.includes("passkey") || attributes.name.includes("webauthn") || attributes.name.includes("lookup_secret");
777
- const isSmall = flowType === import_client_fetch5.FlowType.Settings && attributes.name !== "webauthn_register_trigger";
778
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1058
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
779
1059
  "button",
780
1060
  {
781
1061
  ...rest,
@@ -792,14 +1072,13 @@ var DefaultButton = ({
792
1072
  }
793
1073
  },
794
1074
  className: buttonStyles({
795
- intent: isPrimary ? "primary" : "secondary",
796
- size: isSmall ? "default" : "large"
1075
+ intent: isPrimary ? "primary" : "secondary"
797
1076
  }),
798
1077
  disabled: (_a = rest.disabled) != null ? _a : true,
799
1078
  "data-loading": isSubmitting,
800
1079
  children: [
801
- isSubmitting ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Spinner, {}) : null,
802
- label ? (0, import_elements_react6.uiTextToFormattedMessage)(label, intl) : ""
1080
+ isSubmitting ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Spinner, {}) : null,
1081
+ label ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { children: (0, import_elements_react7.uiTextToFormattedMessage)(label, intl) }) : ""
803
1082
  ]
804
1083
  }
805
1084
  );
@@ -809,15 +1088,14 @@ DefaultButton.displayName = "DefaultButton";
809
1088
  // src/theme/default/components/form/checkbox.tsx
810
1089
  var import_client_fetch6 = require("@ory/client-fetch");
811
1090
  var import_elements_react8 = require("@ory/elements-react");
812
- var import_react = require("react");
813
- var import_react_hook_form3 = require("react-hook-form");
814
- var import_react_intl7 = require("react-intl");
1091
+ var import_react_hook_form4 = require("react-hook-form");
1092
+ var import_react_intl8 = require("react-intl");
815
1093
 
816
1094
  // src/theme/default/components/ui/checkbox-label.tsx
817
- var import_react_intl6 = require("react-intl");
1095
+ var import_react_intl7 = require("react-intl");
818
1096
 
819
1097
  // src/util/i18n/index.ts
820
- var uiTextToFormattedMessage3 = ({ id, context = {}, text }, intl) => {
1098
+ var uiTextToFormattedMessage4 = ({ id, context = {}, text }, intl) => {
821
1099
  const contextInjectedMessage = Object.entries(context).reduce(
822
1100
  (accumulator, [key, value]) => {
823
1101
  if (Array.isArray(value)) {
@@ -865,7 +1143,7 @@ var uiTextToFormattedMessage3 = ({ id, context = {}, text }, intl) => {
865
1143
  };
866
1144
 
867
1145
  // src/theme/default/components/ui/checkbox-label.tsx
868
- var import_jsx_runtime18 = require("react/jsx-runtime");
1146
+ var import_jsx_runtime33 = require("react/jsx-runtime");
869
1147
  var linkRegex = /\[([^\]]+)\]\(([^)]+)\)/g;
870
1148
  function computeLabelElements(labelText) {
871
1149
  const elements = [];
@@ -881,13 +1159,13 @@ function computeLabelElements(labelText) {
881
1159
  elements.push(labelText.slice(lastIndex, matchStart));
882
1160
  }
883
1161
  elements.push(
884
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1162
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
885
1163
  "a",
886
1164
  {
887
1165
  href: url,
888
1166
  target: "_blank",
889
1167
  rel: "noopener noreferrer",
890
- className: "text-links-link-default hover:text-links-link-hover hover:underline",
1168
+ className: "text-button-link-brand-brand hover:text-button-link-brand-brand-hover underline",
891
1169
  children: linkText
892
1170
  },
893
1171
  matchStart
@@ -901,44 +1179,34 @@ function computeLabelElements(labelText) {
901
1179
  return elements;
902
1180
  }
903
1181
  function CheckboxLabel({ label }) {
904
- const intl = (0, import_react_intl6.useIntl)();
1182
+ const intl = (0, import_react_intl7.useIntl)();
905
1183
  if (!label) {
906
1184
  return null;
907
1185
  }
908
- const labelText = uiTextToFormattedMessage3(label, intl);
909
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_jsx_runtime18.Fragment, { children: computeLabelElements(labelText) });
1186
+ const labelText = uiTextToFormattedMessage4(label, intl);
1187
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children: computeLabelElements(labelText) });
910
1188
  }
911
1189
 
912
1190
  // src/theme/default/components/form/checkbox.tsx
913
- var import_jsx_runtime19 = require("react/jsx-runtime");
1191
+ var import_jsx_runtime34 = require("react/jsx-runtime");
914
1192
  function CheckboxSVG() {
915
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1193
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
916
1194
  "svg",
917
1195
  {
918
- className: "absolute w-4 h-4 hidden peer-checked:block",
1196
+ className: "absolute hidden size-4 peer-checked:block fill-checkbox-foreground-checked",
919
1197
  xmlns: "http://www.w3.org/2000/svg",
920
1198
  width: "16",
921
1199
  height: "16",
922
1200
  viewBox: "0 0 16 16",
923
1201
  fill: "none",
924
- children: [
925
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
926
- "path",
927
- {
928
- 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",
929
- fill: "#0F172A"
930
- }
931
- ),
932
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
933
- "path",
934
- {
935
- fillRule: "evenodd",
936
- clipRule: "evenodd",
937
- d: "M11.6464 5.14645C11.8417 4.95118 12.1583 4.95118 12.3536 5.14645C12.5338 5.32669 12.5477 5.6103 12.3951 5.80645L12.3536 5.85355L7.35355 10.8536C7.17331 11.0338 6.8897 11.0477 6.69355 10.8951L6.64645 10.8536L4.14645 8.35355C3.95118 8.15829 3.95118 7.84171 4.14645 7.64645C4.32669 7.4662 4.6103 7.45234 4.80645 7.60485L4.85355 7.64645L7 9.7925L11.6464 5.14645Z",
938
- fill: "white"
939
- }
940
- )
941
- ]
1202
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1203
+ "path",
1204
+ {
1205
+ fillRule: "evenodd",
1206
+ clipRule: "evenodd",
1207
+ d: "M11.6464 5.14645C11.8417 4.95118 12.1583 4.95118 12.3536 5.14645C12.5338 5.32669 12.5477 5.6103 12.3951 5.80645L12.3536 5.85355L7.35355 10.8536C7.17331 11.0338 6.8897 11.0477 6.69355 10.8951L6.64645 10.8536L4.14645 8.35355C3.95118 8.15829 3.95118 7.84171 4.14645 7.64645C4.32669 7.4662 4.6103 7.45234 4.80645 7.60485L4.85355 7.64645L7 9.7925L11.6464 5.14645Z"
1208
+ }
1209
+ )
942
1210
  }
943
1211
  );
944
1212
  }
@@ -956,84 +1224,77 @@ var DefaultCheckbox = ({
956
1224
  // End of skipped attributes
957
1225
  ...attributes
958
1226
  } = initialAttributes;
959
- const intl = (0, import_react_intl7.useIntl)();
1227
+ const intl = (0, import_react_intl8.useIntl)();
960
1228
  const label = (0, import_client_fetch6.getNodeLabel)(node);
961
- const [checked, setChecked] = (0, import_react.useState)(Boolean(value));
962
- const { register } = (0, import_react_hook_form3.useForm)();
963
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
964
- "div",
965
- {
966
- className: "flex antialiased gap-3 self-stretch item-start",
967
- onClick: () => {
968
- setChecked(!checked);
969
- },
970
- children: [
971
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex h-5 items-center", children: [
972
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
973
- "input",
974
- {
975
- ...attributes,
976
- checked,
977
- value: 1,
978
- type: "checkbox",
979
- className: cn(
980
- "peer w-4 h-4 border appearance-none rounded-border-radius-buttons",
981
- !checked && "bg-forms-checkbox-bg-default border-forms-checkbox-border-default",
982
- checked && "bg-forms-checkbox-bg-checked border-forms-checkbox-border-checked"
983
- ),
984
- ...register(name, { value })
985
- }
1229
+ const { register } = (0, import_react_hook_form4.useForm)();
1230
+ const hasError = node.messages.some((m) => m.type === "error");
1231
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("label", { className: "flex items-start gap-3 self-stretch antialiased", children: [
1232
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { className: "flex h-5 items-center", children: [
1233
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1234
+ "input",
1235
+ {
1236
+ ...attributes,
1237
+ value: 1,
1238
+ defaultChecked: Boolean(value),
1239
+ type: "checkbox",
1240
+ className: cn(
1241
+ "peer size-4 border appearance-none rounded-forms bg-checkbox-background-default border-checkbox-border-checkbox-border-default checked:bg-checkbox-background-checked checked:border-checkbox-border-checkbox-border-checked",
1242
+ hasError && "border-interface-border-validation-danger"
986
1243
  ),
987
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CheckboxSVG, {})
988
- ] }),
989
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "text-sm items-center", children: [
990
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("label", { className: "text-sm font-normal leading-normal text-forms-fg-default", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CheckboxLabel, { label }) }),
991
- node.messages.map((message) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
992
- "span",
993
- {
994
- className: "text-sm text-red-900 mt-1",
995
- ...(0, import_elements_react8.messageTestId)(message),
996
- children: (0, import_elements_react8.uiTextToFormattedMessage)(message, intl)
997
- },
998
- message.id
999
- ))
1000
- ] })
1001
- ]
1002
- }
1003
- );
1244
+ ...register(name, { value })
1245
+ }
1246
+ ),
1247
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CheckboxSVG, {})
1248
+ ] }),
1249
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { className: "flex flex-col", children: [
1250
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "font-normal leading-tight text-interface-foreground-default-primary", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CheckboxLabel, { label }) }),
1251
+ node.messages.map((message) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1252
+ "span",
1253
+ {
1254
+ className: cn(
1255
+ "mt-1",
1256
+ message.type === "error" ? "text-interface-foreground-validation-danger" : "text-interface-foreground-default-secondary"
1257
+ ),
1258
+ ...(0, import_elements_react8.messageTestId)(message),
1259
+ children: (0, import_elements_react8.uiTextToFormattedMessage)(message, intl)
1260
+ },
1261
+ message.id
1262
+ ))
1263
+ ] })
1264
+ ] });
1004
1265
  };
1005
1266
 
1006
1267
  // src/theme/default/components/form/group-container.tsx
1007
- var import_jsx_runtime20 = require("react/jsx-runtime");
1268
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1008
1269
  function DefaultGroupContainer({ children }) {
1009
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "grid grid-cols-1 gap-6", children });
1270
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "grid grid-cols-1 gap-8", children });
1010
1271
  }
1011
1272
 
1012
1273
  // src/theme/default/components/form/horizontal-divider.tsx
1013
- var import_jsx_runtime21 = require("react/jsx-runtime");
1274
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1014
1275
  function DefaultHorizontalDivider() {
1015
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("hr", { className: "border-dialog-border-default" });
1276
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("hr", { className: "border-interface-border-default-primary" });
1016
1277
  }
1017
1278
 
1018
1279
  // src/theme/default/components/form/image.tsx
1019
- var import_jsx_runtime22 = require("react/jsx-runtime");
1280
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1020
1281
  function DefaultImage({ attributes }) {
1021
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("figure", { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("img", { ...attributes }) });
1282
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("figure", { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("img", { ...attributes }) });
1022
1283
  }
1023
1284
 
1024
1285
  // src/theme/default/components/form/input.tsx
1025
1286
  var import_client_fetch7 = require("@ory/client-fetch");
1026
1287
  var import_elements_react9 = require("@ory/elements-react");
1027
- var import_react_hook_form4 = require("react-hook-form");
1028
- var import_react_intl8 = require("react-intl");
1029
- var import_jsx_runtime23 = require("react/jsx-runtime");
1288
+ var import_react_hook_form5 = require("react-hook-form");
1289
+ var import_react_intl9 = require("react-intl");
1290
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1030
1291
  var DefaultInput = ({
1031
1292
  node,
1032
1293
  attributes,
1033
1294
  onClick
1034
1295
  }) => {
1035
1296
  const label = (0, import_client_fetch7.getNodeLabel)(node);
1036
- const { register } = (0, import_react_hook_form4.useFormContext)();
1297
+ const { register } = (0, import_react_hook_form5.useFormContext)();
1037
1298
  const {
1038
1299
  value,
1039
1300
  autocomplete,
@@ -1042,7 +1303,7 @@ var DefaultInput = ({
1042
1303
  node_type: _,
1043
1304
  ...rest
1044
1305
  } = attributes;
1045
- const intl = (0, import_react_intl8.useIntl)();
1306
+ const intl = (0, import_react_intl9.useIntl)();
1046
1307
  const { flowType } = (0, import_elements_react9.useOryFlow)();
1047
1308
  const formattedLabel = label ? intl.formatMessage(
1048
1309
  {
@@ -1053,7 +1314,7 @@ var DefaultInput = ({
1053
1314
  placeholder: (0, import_elements_react9.uiTextToFormattedMessage)(label, intl)
1054
1315
  }
1055
1316
  ) : "";
1056
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1317
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1057
1318
  "input",
1058
1319
  {
1059
1320
  ...rest,
@@ -1062,10 +1323,14 @@ var DefaultInput = ({
1062
1323
  autoComplete: autocomplete,
1063
1324
  placeholder: formattedLabel,
1064
1325
  className: cn(
1065
- "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",
1066
- "px-3 py-2.5",
1326
+ "antialiased rounded-forms border leading-tight transition-colors placeholder:h-[20px] placeholder:text-input-foreground-tertiary focus-visible:outline-none focus:ring-0",
1327
+ "bg-input-background-default border-input-border-default text-input-foreground-primary",
1328
+ "disabled:bg-input-background-disabled disabled:border-input-border-disabled disabled:text-input-foreground-disabled",
1329
+ "focus:border-input-border-focus focus-visible:border-input-border-focus",
1330
+ "hover:bg-input-background-hover hover:border-input-border-hover",
1331
+ "px-4 py-[13px]",
1067
1332
  // The settings flow input fields are supposed to be dense, so we don't need the extra padding we want on the user flows.
1068
- flowType === import_client_fetch7.FlowType.Settings ? "max-w-[488px]" : "md:px-4 md:py-4"
1333
+ flowType === import_client_fetch7.FlowType.Settings && "max-w-[488px]"
1069
1334
  ),
1070
1335
  ...register(name, { value })
1071
1336
  }
@@ -1075,9 +1340,9 @@ var DefaultInput = ({
1075
1340
  // src/theme/default/components/form/label.tsx
1076
1341
  var import_client_fetch8 = require("@ory/client-fetch");
1077
1342
  var import_elements_react10 = require("@ory/elements-react");
1078
- var import_react_hook_form5 = require("react-hook-form");
1079
- var import_react_intl9 = require("react-intl");
1080
- var import_jsx_runtime24 = require("react/jsx-runtime");
1343
+ var import_react_hook_form6 = require("react-hook-form");
1344
+ var import_react_intl10 = require("react-intl");
1345
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1081
1346
  function findResendNode(nodes) {
1082
1347
  return nodes.find(
1083
1348
  (n) => "name" in n.attributes && (n.attributes.name === "email" && n.attributes.type === "submit" || n.attributes.name === "resend")
@@ -1089,11 +1354,11 @@ function DefaultLabel({
1089
1354
  attributes,
1090
1355
  ...rest
1091
1356
  }) {
1092
- const intl = (0, import_react_intl9.useIntl)();
1357
+ const intl = (0, import_react_intl10.useIntl)();
1093
1358
  const label = (0, import_client_fetch8.getNodeLabel)(node);
1094
1359
  const { Message } = (0, import_elements_react10.useComponents)();
1095
1360
  const { config, flowType, flow } = (0, import_elements_react10.useOryFlow)();
1096
- const { setValue } = (0, import_react_hook_form5.useFormContext)();
1361
+ const { setValue, formState } = (0, import_react_hook_form6.useFormContext)();
1097
1362
  const isPassword = attributes.type === "password";
1098
1363
  const resendNode = findResendNode(flow.ui.nodes);
1099
1364
  const handleResend = () => {
@@ -1101,64 +1366,66 @@ function DefaultLabel({
1101
1366
  setValue(resendNode.attributes.name, resendNode.attributes.value);
1102
1367
  }
1103
1368
  };
1104
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex flex-col antialiased gap-1", children: [
1105
- label && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "inline-flex justify-between", children: [
1106
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1369
+ const fieldError = formState.errors[attributes.name];
1370
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-col gap-1 antialiased", children: [
1371
+ label && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("span", { className: "inline-flex justify-between", children: [
1372
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1107
1373
  "label",
1108
1374
  {
1109
1375
  ...(0, import_elements_react10.messageTestId)(label),
1110
- className: "text-sm font-medium leading-normal",
1376
+ className: "leading-normal text-input-foreground-primary",
1111
1377
  htmlFor: attributes.name,
1112
1378
  ...rest,
1113
1379
  children: (0, import_elements_react10.uiTextToFormattedMessage)(label, intl)
1114
1380
  }
1115
1381
  ),
1116
1382
  isPassword && config.project.recovery_enabled && flowType === import_client_fetch8.FlowType.Login && // TODO: make it possible to override with a custom component
1117
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1383
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1118
1384
  "a",
1119
1385
  {
1120
1386
  href: config.project.recovery_ui_url,
1121
- className: "text-links-link-default hover:underline hover:text-link-hover transition-colors text-sm font-medium",
1387
+ className: "text-button-link-brand-brand transition-colors hover:text-button-link-brand-brand-hover underline",
1122
1388
  children: intl.formatMessage({
1123
1389
  id: "forms.label.forgot-password",
1124
1390
  defaultMessage: "Forgot password?"
1125
1391
  })
1126
1392
  }
1127
1393
  ),
1128
- (resendNode == null ? void 0 : resendNode.attributes.node_type) === "input" && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1394
+ (resendNode == null ? void 0 : resendNode.attributes.node_type) === "input" && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1129
1395
  "button",
1130
1396
  {
1131
1397
  type: "submit",
1132
1398
  name: resendNode.attributes.name,
1133
1399
  value: resendNode.attributes.value,
1134
1400
  onClick: handleResend,
1135
- className: "text-links-link-default hover:underline hover:text-link-hover transition-colors text-sm font-medium cursor-pointer",
1401
+ className: "cursor-pointer text-button-link-brand-brand transition-colors hover:text-button-link-brand-brand-hover underline",
1136
1402
  children: intl.formatMessage({ id: "identities.messages.1070008" })
1137
1403
  }
1138
1404
  )
1139
1405
  ] }),
1140
1406
  children,
1141
- node.messages.map((message) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Message.Content, { message }, message.id))
1407
+ node.messages.map((message) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Message.Content, { message }, message.id)),
1408
+ fieldError && (0, import_client_fetch8.instanceOfUiText)(fieldError) && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Message.Content, { message: fieldError })
1142
1409
  ] });
1143
1410
  }
1144
1411
 
1145
1412
  // src/theme/default/components/form/link-button.tsx
1146
1413
  var import_client_fetch9 = require("@ory/client-fetch");
1147
1414
  var import_elements_react11 = require("@ory/elements-react");
1148
- var import_react2 = require("react");
1149
- var import_react_intl10 = require("react-intl");
1150
- var import_jsx_runtime25 = require("react/jsx-runtime");
1151
- var DefaultLinkButton = (0, import_react2.forwardRef)(({ attributes, node }, ref) => {
1152
- const intl = (0, import_react_intl10.useIntl)();
1415
+ var import_react = require("react");
1416
+ var import_react_intl11 = require("react-intl");
1417
+ var import_jsx_runtime40 = require("react/jsx-runtime");
1418
+ var DefaultLinkButton = (0, import_react.forwardRef)(({ attributes, node }, ref) => {
1419
+ const intl = (0, import_react_intl11.useIntl)();
1153
1420
  const label = (0, import_client_fetch9.getNodeLabel)(node);
1154
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1421
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1155
1422
  "a",
1156
1423
  {
1157
1424
  ...attributes,
1158
1425
  ref,
1159
1426
  title: label ? (0, import_elements_react11.uiTextToFormattedMessage)(label, intl) : "",
1160
1427
  className: cn(
1161
- "antialiased rounded cursor-pointer text-center border border-transparent gap-3 leading-none bg-button-primary-bg-default hover:bg-button-primary-bg-hover transition-colors text-button-primary-fg-default hover:text-button-primary-fg-hover px-4 py-4.5 text-sm font-medium"
1428
+ "antialiased rounded cursor-pointer text-center border gap-3 leading-none bg-button-primary-background-default hover:bg-button-primary-background-hover transition-colors text-button-primary-foreground-default hover:text-button-primary-foreground-hover p-4 font-medium"
1162
1429
  ),
1163
1430
  children: label ? (0, import_elements_react11.uiTextToFormattedMessage)(label, intl) : ""
1164
1431
  }
@@ -1166,367 +1433,143 @@ var DefaultLinkButton = (0, import_react2.forwardRef)(({ attributes, node }, ref
1166
1433
  });
1167
1434
  DefaultLinkButton.displayName = "DefaultLinkButton";
1168
1435
 
1169
- // src/theme/default/components/form/pin-code-input.tsx
1170
- var import_react_hook_form6 = require("react-hook-form");
1171
-
1172
- // src/theme/default/components/form/shadcn/otp-input.tsx
1173
- var import_input_otp = require("input-otp");
1174
- var React8 = __toESM(require("react"));
1175
- var import_jsx_runtime26 = require("react/jsx-runtime");
1176
- var InputOTP = React8.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1177
- import_input_otp.OTPInput,
1178
- {
1179
- ref,
1180
- containerClassName: cn(
1181
- "flex items-center gap-2 has-[:disabled]:opacity-50",
1182
- containerClassName
1183
- ),
1184
- className: cn("disabled:cursor-not-allowed", className),
1185
- ...props
1186
- }
1187
- ));
1188
- InputOTP.displayName = "InputOTP";
1189
- var InputOTPGroup = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { ref, className: cn("flex items-center", className), ...props }));
1190
- InputOTPGroup.displayName = "InputOTPGroup";
1191
- var InputOTPSlot = React8.forwardRef(({ index, className, ...props }, ref) => {
1192
- const inputOTPContext = React8.useContext(import_input_otp.OTPInputContext);
1193
- const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
1194
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
1195
- "div",
1196
- {
1197
- ref,
1198
- className: cn(
1199
- "relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all",
1200
- isActive && "z-10 ring-2 ring-ring ring-offset-background",
1201
- className
1202
- ),
1203
- ...props,
1204
- children: [
1205
- char,
1206
- hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-branding-bg-default duration-750" }) })
1207
- ]
1208
- }
1209
- );
1210
- });
1211
- InputOTPSlot.displayName = "InputOTPSlot";
1212
-
1213
- // src/theme/default/components/form/pin-code-input.tsx
1214
- var import_jsx_runtime27 = require("react/jsx-runtime");
1215
- var DefaultPinCodeInput = ({ attributes }) => {
1216
- const { setValue, watch } = (0, import_react_hook_form6.useFormContext)();
1217
- const { maxlength, name } = attributes;
1218
- const elements = maxlength != null ? maxlength : 6;
1219
- const handleInputChange = (v) => {
1220
- setValue(name, v);
1221
- };
1222
- const value = watch(name);
1223
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1224
- InputOTP,
1225
- {
1226
- maxLength: maxlength != null ? maxlength : 6,
1227
- onChange: handleInputChange,
1228
- name,
1229
- value,
1230
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(InputOTPGroup, { className: "w-full space-x-2 justify-between", children: [...Array(elements)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1231
- InputOTPSlot,
1232
- {
1233
- index,
1234
- className: "text-center px-1.5 py-2.5 h-10 w-11 md:w-14 md:h-12 border border-radius border-solid rounded-border-radius-forms border-forms-border-default bg-forms-bg-default"
1235
- },
1236
- index
1237
- )) })
1238
- }
1239
- );
1240
- };
1241
-
1242
- // src/theme/default/components/form/section.tsx
1243
- var import_jsx_runtime28 = require("react/jsx-runtime");
1244
- var DefaultFormSection = ({ children }) => {
1245
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "flex flex-col w-80 md:w-[712px] lg:w-[802px] xl:w-[896px]", children });
1246
- };
1247
- var DefaultFormSectionContent = ({
1248
- title,
1249
- description,
1250
- children
1251
- }) => {
1252
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("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: [
1253
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex flex-col gap-2", children: [
1254
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("h3", { className: "font-medium text-dialog-fg-default", children: title }),
1255
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-sm text-dialog-fg-subtle", children: description })
1256
- ] }),
1257
- children
1258
- ] });
1259
- };
1260
- var DefaultFormSectionFooter = ({ children }) => {
1261
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("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 });
1262
- };
1263
-
1264
- // src/theme/default/components/form/social.tsx
1265
- var import_elements_react12 = require("@ory/elements-react");
1266
-
1267
- // src/theme/default/provider-logos/apple.svg
1268
- var React9 = __toESM(require("react"));
1269
- var import_jsx_runtime29 = require("react/jsx-runtime");
1270
- var SvgApple = (props) => {
1271
- var _a, _b;
1272
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("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: [
1273
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("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" }),
1274
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("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" })
1275
- ] });
1276
- };
1277
- var apple_default = SvgApple;
1278
-
1279
- // src/theme/default/provider-logos/auth0.svg
1280
- var React10 = __toESM(require("react"));
1281
- var import_jsx_runtime30 = require("react/jsx-runtime");
1282
- var SvgAuth0 = (props) => {
1283
- var _a, _b;
1284
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("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__ */ (0, import_jsx_runtime30.jsx)("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" }) });
1285
- };
1286
- var auth0_default = SvgAuth0;
1287
-
1288
- // src/theme/default/provider-logos/discord.svg
1289
- var React11 = __toESM(require("react"));
1290
- var import_jsx_runtime31 = require("react/jsx-runtime");
1291
- var SvgDiscord = (props) => {
1292
- var _a, _b;
1293
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("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: [
1294
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("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" }),
1295
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("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" })
1296
- ] });
1297
- };
1298
- var discord_default = SvgDiscord;
1299
-
1300
- // src/theme/default/provider-logos/facebook.svg
1301
- var React12 = __toESM(require("react"));
1302
- var import_jsx_runtime32 = require("react/jsx-runtime");
1303
- var SvgFacebook = (props) => {
1304
- var _a, _b;
1305
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("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: [
1306
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("g", { clipPath: "url(#facebook_svg__a)", children: [
1307
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("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" }),
1308
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("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" })
1309
- ] }),
1310
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("clipPath", { id: "facebook_svg__a", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("rect", { fill: "#fff" }) }) })
1311
- ] });
1312
- };
1313
- var facebook_default = SvgFacebook;
1314
-
1315
- // src/theme/default/provider-logos/generic.svg
1316
- var React13 = __toESM(require("react"));
1317
- var import_jsx_runtime33 = require("react/jsx-runtime");
1318
- var SvgGeneric = (props) => {
1319
- var _a, _b;
1320
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("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: [
1321
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("path", { stroke: "none", d: "M0 0h24v24H0z" }),
1322
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("path", { d: "M2 12a10 10 0 1 0 20 0 10 10 0 1 0-20 0" }),
1323
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("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" })
1324
- ] });
1325
- };
1326
- var generic_default = SvgGeneric;
1327
-
1328
- // src/theme/default/provider-logos/github.svg
1329
- var React14 = __toESM(require("react"));
1330
- var import_jsx_runtime34 = require("react/jsx-runtime");
1331
- var SvgGithub = (props) => {
1332
- var _a, _b;
1333
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("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__ */ (0, import_jsx_runtime34.jsx)("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" }) });
1334
- };
1335
- var github_default = SvgGithub;
1336
-
1337
- // src/theme/default/provider-logos/gitlab.svg
1338
- var React15 = __toESM(require("react"));
1339
- var import_jsx_runtime35 = require("react/jsx-runtime");
1340
- var SvgGitlab = (props) => {
1341
- var _a, _b;
1342
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("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: [
1343
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("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" }),
1344
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("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" }),
1345
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("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" }),
1346
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("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" })
1347
- ] });
1348
- };
1349
- var gitlab_default = SvgGitlab;
1350
-
1351
- // src/theme/default/provider-logos/google.svg
1352
- var React16 = __toESM(require("react"));
1353
- var import_jsx_runtime36 = require("react/jsx-runtime");
1354
- var SvgGoogle = (props) => {
1355
- var _a, _b;
1356
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("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: [
1357
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("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" }),
1358
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("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" }),
1359
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("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" }),
1360
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("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" })
1361
- ] });
1362
- };
1363
- var google_default = SvgGoogle;
1364
-
1365
- // src/theme/default/provider-logos/linkedin.svg
1366
- var React17 = __toESM(require("react"));
1367
- var import_jsx_runtime37 = require("react/jsx-runtime");
1368
- var SvgLinkedin = (props) => {
1369
- var _a, _b;
1370
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("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__ */ (0, import_jsx_runtime37.jsx)("rect", { x: 2, y: 2, fill: "#1275B1", rx: 14 }),
1372
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("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" })
1373
- ] });
1374
- };
1375
- var linkedin_default = SvgLinkedin;
1376
-
1377
- // src/theme/default/provider-logos/microsoft.svg
1378
- var React18 = __toESM(require("react"));
1379
- var import_jsx_runtime38 = require("react/jsx-runtime");
1380
- var SvgMicrosoft = (props) => {
1381
- var _a, _b;
1382
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("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: [
1383
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("path", { fill: "#F35325", d: "M1 1h10v10H1z" }),
1384
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("path", { fill: "#81BC06", d: "M12 1h10v10H12z" }),
1385
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("path", { fill: "#05A6F0", d: "M1 12h10v10H1z" }),
1386
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("path", { fill: "#FFBA08", d: "M12 12h10v10H12z" })
1387
- ] });
1388
- };
1389
- var microsoft_default = SvgMicrosoft;
1390
-
1391
- // src/theme/default/provider-logos/slack.svg
1392
- var React19 = __toESM(require("react"));
1393
- var import_jsx_runtime39 = require("react/jsx-runtime");
1394
- var SvgSlack = (props) => {
1395
- var _a, _b;
1396
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("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: [
1397
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("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" }),
1398
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("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" }),
1399
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("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" }),
1400
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("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" })
1401
- ] });
1402
- };
1403
- var slack_default = SvgSlack;
1404
-
1405
- // src/theme/default/provider-logos/spotify.svg
1406
- var React20 = __toESM(require("react"));
1407
- var import_jsx_runtime40 = require("react/jsx-runtime");
1408
- var SvgSpotify = (props) => {
1409
- var _a, _b;
1410
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("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: [
1411
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("circle", { cx: 16, cy: 16, r: 14, fill: "#1ED760" }),
1412
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("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" })
1413
- ] });
1414
- };
1415
- var spotify_default = SvgSpotify;
1436
+ // src/theme/default/components/form/pin-code-input.tsx
1437
+ var import_react_hook_form7 = require("react-hook-form");
1416
1438
 
1417
- // src/theme/default/provider-logos/yandex.svg
1439
+ // src/theme/default/components/form/shadcn/otp-input.tsx
1440
+ var import_input_otp = require("input-otp");
1418
1441
  var React21 = __toESM(require("react"));
1419
1442
  var import_jsx_runtime41 = require("react/jsx-runtime");
1420
- var SvgYandex = (props) => {
1421
- var _a, _b;
1422
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("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: [
1423
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("circle", { cx: 16, cy: 16, r: 14, fill: "#fff" }),
1424
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("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" })
1425
- ] });
1426
- };
1427
- var yandex_default = SvgYandex;
1428
-
1429
- // src/theme/default/provider-logos/index.ts
1430
- var logos = {
1431
- apple: apple_default,
1432
- auth0: auth0_default,
1433
- discord: discord_default,
1434
- facebook: facebook_default,
1435
- generic: generic_default,
1436
- github: github_default,
1437
- gitlab: gitlab_default,
1438
- google: google_default,
1439
- linkedin: linkedin_default,
1440
- microsoft: microsoft_default,
1441
- slack: slack_default,
1442
- spotify: spotify_default,
1443
- yandex: yandex_default
1444
- };
1445
- var provider_logos_default = logos;
1446
-
1447
- // src/theme/default/components/form/social.tsx
1448
- var import_react_intl11 = require("react-intl");
1449
- var import_jsx_runtime42 = require("react/jsx-runtime");
1450
- function extractProvider(context) {
1451
- if (context && typeof context === "object" && "provider" in context && typeof context.provider === "string") {
1452
- return context.provider;
1453
- }
1454
- return void 0;
1455
- }
1456
- function DefaultButtonSocial({
1457
- attributes,
1458
- node,
1459
- onClick,
1460
- showLabel: _showLabel
1461
- }) {
1462
- var _a, _b, _c;
1463
- const {
1464
- node_type: _ignoredNodeType,
1465
- type: _ignoredType,
1466
- name: _ignoredName,
1443
+ var InputOTP = React21.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
1444
+ import_input_otp.OTPInput,
1445
+ {
1446
+ ref,
1447
+ containerClassName: cn(
1448
+ "flex items-center gap-2 has-[:disabled]:opacity-50",
1449
+ containerClassName
1450
+ ),
1451
+ className: cn("disabled:cursor-not-allowed", className),
1467
1452
  ...props
1468
- } = attributes;
1469
- const {
1470
- flow: { ui }
1471
- } = (0, import_elements_react12.useOryFlow)();
1472
- const intl = (0, import_react_intl11.useIntl)();
1473
- const oidcNodeCount = (_a = ui.nodes.filter((node2) => node2.group === "oidc").length) != null ? _a : 0;
1474
- const Logo = provider_logos_default[attributes.value];
1475
- const showLabel = _showLabel != null ? _showLabel : oidcNodeCount % 3 !== 0 && oidcNodeCount % 4 !== 0;
1476
- const provider = (_c = extractProvider((_b = node.meta.label) == null ? void 0 : _b.context)) != null ? _c : "";
1477
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
1478
- "button",
1453
+ }
1454
+ ));
1455
+ InputOTP.displayName = "InputOTP";
1456
+ var InputOTPGroup = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { ref, className: cn("flex items-center", className), ...props }));
1457
+ InputOTPGroup.displayName = "InputOTPGroup";
1458
+ var InputOTPSlot = React21.forwardRef(({ index, className, ...props }, ref) => {
1459
+ const inputOTPContext = React21.useContext(import_input_otp.OTPInputContext);
1460
+ const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
1461
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
1462
+ "div",
1479
1463
  {
1464
+ ref,
1480
1465
  className: cn(
1481
- "gap-3 ring-1 ring-forms-border-default bg-button-secondary-bg-default hover:bg-button-secondary-bg-hover transition-colors rounded flex items-center justify-center py-2.5 px-4 md:py-4",
1482
- { "py-2.5": showLabel }
1466
+ "rounded-forms border border-solid bg-input-background-default py-[15px] text-center focus-visible:outline-none w-full",
1467
+ "relative flex items-center justify-center transition-all leading-none",
1468
+ isActive ? "border-input-border-focus" : "border-input-border-default",
1469
+ className
1483
1470
  ),
1484
- value: attributes.value,
1485
- type: "submit",
1486
- name: "provider",
1487
1471
  ...props,
1488
- onClick,
1489
1472
  children: [
1490
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "w-5 h-5", children: Logo ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
1491
- Logo,
1492
- {
1493
- size: 20,
1494
- className: "object-fill w-full h-full"
1495
- }
1496
- ) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "rounded-full aspect-square border flex items-center justify-center text-xs", children: provider.slice(0, 2) }) }),
1497
- showLabel && node.meta.label ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-sm text-left leading-none font-medium text-forms-fg-default flex-grow", children: (0, import_elements_react12.uiTextToFormattedMessage)(node.meta.label, intl) }) : null
1473
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "inline-block size-4", children: char }),
1474
+ hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-interface-background-brand-primary duration-700" }) })
1498
1475
  ]
1499
1476
  }
1500
1477
  );
1501
- }
1502
- function DefaultSocialButtonContainer({
1503
- children,
1504
- nodes
1505
- }) {
1478
+ });
1479
+ InputOTPSlot.displayName = "InputOTPSlot";
1480
+
1481
+ // src/theme/default/components/form/pin-code-input.tsx
1482
+ var import_elements_react12 = require("@ory/elements-react");
1483
+ var import_client_fetch10 = require("@ory/client-fetch");
1484
+ var import_jsx_runtime42 = require("react/jsx-runtime");
1485
+ var DefaultPinCodeInput = ({ attributes }) => {
1486
+ const { setValue, watch } = (0, import_react_hook_form7.useFormContext)();
1487
+ const { maxlength, name } = attributes;
1488
+ const elements = maxlength != null ? maxlength : 6;
1489
+ const { flowType } = (0, import_elements_react12.useOryFlow)();
1490
+ const handleInputChange = (v) => {
1491
+ setValue(name, v);
1492
+ };
1493
+ const value = watch(name);
1506
1494
  return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
1507
- "div",
1495
+ InputOTP,
1508
1496
  {
1509
- className: cn("grid gap-3", {
1510
- // needed because tailwind is not compiling dynamic classes
1511
- "grid-cols-1": nodes.length % 4 <= 2,
1512
- "grid-cols-3": nodes.length % 3 === 0,
1513
- "grid-cols-4": nodes.length > 1 && nodes.length % 4 === 0
1514
- }),
1497
+ maxLength: maxlength != null ? maxlength : 6,
1498
+ onChange: handleInputChange,
1499
+ name,
1500
+ value,
1501
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
1502
+ InputOTPGroup,
1503
+ {
1504
+ className: cn(
1505
+ "w-full flex gap-2 justify-stretch",
1506
+ // The settings flow input fields are supposed to be dense, so we don't need the extra padding we want on the user flows.
1507
+ flowType === import_client_fetch10.FlowType.Settings && "max-w-[488px]"
1508
+ ),
1509
+ children: [...Array(elements)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(InputOTPSlot, { index }, index))
1510
+ }
1511
+ )
1512
+ }
1513
+ );
1514
+ };
1515
+
1516
+ // src/theme/default/components/form/section.tsx
1517
+ var import_jsx_runtime43 = require("react/jsx-runtime");
1518
+ var DefaultFormSection = ({
1519
+ children,
1520
+ nodes: _nodes,
1521
+ ...rest
1522
+ }) => {
1523
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1524
+ "form",
1525
+ {
1526
+ className: "flex w-full max-w-screen-sm flex-col md:max-w-[712px] lg:max-w-[802px] xl:max-w-[896px] px-4",
1527
+ ...rest,
1515
1528
  children
1516
1529
  }
1517
1530
  );
1518
- }
1531
+ };
1532
+ var DefaultFormSectionContent = ({
1533
+ title,
1534
+ description,
1535
+ children
1536
+ }) => {
1537
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-col gap-8 rounded-t-xl border border-b-0 border-interface-border-default-primary bg-interface-background-default-primary px-6 py-8", children: [
1538
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-col gap-2", children: [
1539
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h3", { className: "font-medium text-interface-foreground-default-primary", children: title }),
1540
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "text-interface-foreground-default-secondary", children: description })
1541
+ ] }),
1542
+ children
1543
+ ] });
1544
+ };
1545
+ var DefaultFormSectionFooter = ({
1546
+ children,
1547
+ text
1548
+ }) => {
1549
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
1550
+ "div",
1551
+ {
1552
+ className: cn(
1553
+ "flex min-h-[72px] items-center justify-between gap-2 rounded-b-xl border border-interface-border-default-primary bg-interface-background-default-secondary px-6 py-4 text-interface-foreground-default-tertiary"
1554
+ ),
1555
+ children: [
1556
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { children: text }),
1557
+ children
1558
+ ]
1559
+ }
1560
+ );
1561
+ };
1519
1562
 
1520
1563
  // src/theme/default/components/form/text.tsx
1521
1564
  var import_elements_react13 = require("@ory/elements-react");
1522
1565
  var import_react_intl12 = require("react-intl");
1523
- var import_jsx_runtime43 = require("react/jsx-runtime");
1566
+ var import_jsx_runtime44 = require("react/jsx-runtime");
1524
1567
  function DefaultText({ node, attributes }) {
1525
1568
  var _a;
1526
1569
  const intl = (0, import_react_intl12.useIntl)();
1527
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
1528
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { "data-testid": `node/text/${attributes.id}/label`, children: node.meta.label ? (0, import_elements_react13.uiTextToFormattedMessage)(node.meta.label, intl) : "" }),
1529
- (_a = attributes.text.context.secrets) == null ? void 0 : _a.map((text, index) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("pre", { "data-testid": `node/text/lookup_secret_codes/text`, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("code", { children: text ? (0, import_elements_react13.uiTextToFormattedMessage)(text, intl) : "" }) }, index))
1570
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
1571
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { "data-testid": `node/text/${attributes.id}/label`, children: node.meta.label ? (0, import_elements_react13.uiTextToFormattedMessage)(node.meta.label, intl) : "" }),
1572
+ (_a = attributes.text.context.secrets) == null ? void 0 : _a.map((text, index) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("pre", { "data-testid": `node/text/lookup_secret_codes/text`, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("code", { children: text ? (0, import_elements_react13.uiTextToFormattedMessage)(text, intl) : "" }) }, index))
1530
1573
  ] });
1531
1574
  }
1532
1575
 
@@ -1535,13 +1578,13 @@ var import_elements_react15 = require("@ory/elements-react");
1535
1578
 
1536
1579
  // src/theme/default/components/ui/user-menu.tsx
1537
1580
  var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
1538
- var import_react5 = require("react");
1581
+ var import_react4 = require("react");
1539
1582
  var import_elements_react14 = require("@ory/elements-react");
1540
1583
 
1541
1584
  // src/util/client.ts
1542
- var import_client_fetch10 = require("@ory/client-fetch");
1585
+ var import_client_fetch11 = require("@ory/client-fetch");
1543
1586
  function frontendClient(sdkUrl, opts = {}) {
1544
- const config = new import_client_fetch10.Configuration({
1587
+ const config = new import_client_fetch11.Configuration({
1545
1588
  ...opts,
1546
1589
  basePath: sdkUrl,
1547
1590
  headers: {
@@ -1549,37 +1592,40 @@ function frontendClient(sdkUrl, opts = {}) {
1549
1592
  ...opts.headers
1550
1593
  }
1551
1594
  });
1552
- return new import_client_fetch10.FrontendApi(config);
1595
+ return new import_client_fetch11.FrontendApi(config);
1553
1596
  }
1554
1597
 
1555
1598
  // src/theme/default/assets/icons/logout.svg
1556
1599
  var React22 = __toESM(require("react"));
1557
- var import_jsx_runtime44 = require("react/jsx-runtime");
1600
+ var import_jsx_runtime45 = require("react/jsx-runtime");
1558
1601
  var SvgLogout = (props) => {
1559
1602
  var _a, _b;
1560
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("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__ */ (0, import_jsx_runtime44.jsx)("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" }) });
1603
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("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__ */ (0, import_jsx_runtime45.jsx)("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" }) });
1561
1604
  };
1562
1605
  var logout_default = SvgLogout;
1563
1606
 
1564
1607
  // src/theme/default/assets/icons/settings.svg
1565
1608
  var React23 = __toESM(require("react"));
1566
- var import_jsx_runtime45 = require("react/jsx-runtime");
1609
+ var import_jsx_runtime46 = require("react/jsx-runtime");
1567
1610
  var SvgSettings = (props) => {
1568
1611
  var _a, _b;
1569
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("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__ */ (0, import_jsx_runtime45.jsxs)("g", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", children: [
1570
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("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" }),
1571
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("path", { d: "M6 8a2 2 0 1 0 4 0 2 2 0 0 0-4 0" })
1612
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("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__ */ (0, import_jsx_runtime46.jsxs)("g", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", children: [
1613
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("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" }),
1614
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("path", { d: "M6 8a2 2 0 1 0 4 0 2 2 0 0 0-4 0" })
1572
1615
  ] }) });
1573
1616
  };
1574
1617
  var settings_default = SvgSettings;
1575
1618
 
1576
1619
  // src/theme/default/utils/user.ts
1620
+ function isTraitsIndexable(traits) {
1621
+ return typeof traits === "object" && traits !== null;
1622
+ }
1577
1623
  var getUserInitials = (session) => {
1578
1624
  var _a, _b;
1579
1625
  const avatar = "";
1580
1626
  let primary = "";
1581
1627
  let secondary = "";
1582
- if (!((_a = session == null ? void 0 : session.identity) == null ? void 0 : _a.traits)) {
1628
+ if (!((_a = session == null ? void 0 : session.identity) == null ? void 0 : _a.traits) || !isTraitsIndexable(session.identity.traits)) {
1583
1629
  return {
1584
1630
  primary,
1585
1631
  secondary,
@@ -1587,14 +1633,14 @@ var getUserInitials = (session) => {
1587
1633
  };
1588
1634
  }
1589
1635
  const traits = (_b = session.identity) == null ? void 0 : _b.traits;
1590
- if (traits.email) {
1636
+ if (traits.email && typeof traits.email === "string") {
1591
1637
  secondary = traits.email;
1592
1638
  }
1593
1639
  if (traits.name) {
1594
1640
  if (typeof traits.name === "string") {
1595
1641
  primary = traits.name;
1596
1642
  }
1597
- if (traits.name.first && traits.name.last) {
1643
+ if (typeof traits.name === "object" && traits.name && traits.name.first && traits.name.last) {
1598
1644
  primary = traits.name.first + " " + traits.name.last;
1599
1645
  }
1600
1646
  }
@@ -1610,12 +1656,12 @@ var getUserInitials = (session) => {
1610
1656
  };
1611
1657
 
1612
1658
  // src/theme/default/components/ui/dropdown-menu.tsx
1613
- var import_react3 = require("react");
1659
+ var import_react2 = require("react");
1614
1660
  var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
1615
- var import_jsx_runtime46 = require("react/jsx-runtime");
1661
+ var import_jsx_runtime47 = require("react/jsx-runtime");
1616
1662
  var DropdownMenu = DropdownMenuPrimitive.Root;
1617
1663
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1618
- var DropdownMenuContent = (0, import_react3.forwardRef)(({ className, sideOffset = 16, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
1664
+ var DropdownMenuContent = (0, import_react2.forwardRef)(({ className, sideOffset = 16, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
1619
1665
  DropdownMenuPrimitive.Content,
1620
1666
  {
1621
1667
  ref,
@@ -1623,24 +1669,24 @@ var DropdownMenuContent = (0, import_react3.forwardRef)(({ className, sideOffset
1623
1669
  align: "end",
1624
1670
  className: cn(
1625
1671
  "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",
1626
- "border border-dialog-border-default bg-dialog-bg-default rounded-border-radius-cards",
1672
+ "border border-interface-border-default-primary bg-interface-background-default-primary rounded-cards",
1627
1673
  className
1628
1674
  ),
1629
1675
  ...props
1630
1676
  }
1631
1677
  ) }));
1632
1678
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1633
- var DropdownMenuItem = (0, import_react3.forwardRef)(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
1679
+ var DropdownMenuItem = (0, import_react2.forwardRef)(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
1634
1680
  DropdownMenuPrimitive.Item,
1635
1681
  {
1636
1682
  ref,
1637
1683
  className: cn(
1638
1684
  "relative flex cursor-pointer select-none items-center outline-none transition-colors data-[disabled]:pointer-events-none",
1639
1685
  "px-8 py-3 lg:py-4.5 text-sm gap-6",
1640
- "first:border-0 border-t border-button-secondary-border-default hover:border-button-social-border-hover data-[disabled]:border-button-secondary-border-disabled",
1641
- "text-button-secondary-fg-default bg-button-secondary-bg-default",
1642
- "hover:text-button-secondary-fg-hover hover:bg-button-secondary-bg-hover",
1643
- "data-[disabled]:text-button-secondary-fg-disabled data-[disabled]:bg-button-secondary-bg-disabled",
1686
+ "first:border-0 border-t border-button-secondary-border-default hover:border-button-social-border-hover",
1687
+ "text-button-secondary-foreground-default bg-button-secondary-background-default",
1688
+ "hover:text-button-secondary-foreground-hover hover:bg-button-secondary-background-hover",
1689
+ "data-[disabled]:text-button-secondary-foreground-disabled data-[disabled]:bg-button-secondary-background-disabled",
1644
1690
  inset && "pl-8",
1645
1691
  className
1646
1692
  ),
@@ -1648,7 +1694,7 @@ var DropdownMenuItem = (0, import_react3.forwardRef)(({ className, inset, ...pro
1648
1694
  }
1649
1695
  ));
1650
1696
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1651
- var DropdownMenuLabel = (0, import_react3.forwardRef)(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
1697
+ var DropdownMenuLabel = (0, import_react2.forwardRef)(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
1652
1698
  DropdownMenuPrimitive.Label,
1653
1699
  {
1654
1700
  ref,
@@ -1663,35 +1709,41 @@ var DropdownMenuLabel = (0, import_react3.forwardRef)(({ className, inset, ...pr
1663
1709
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1664
1710
 
1665
1711
  // src/theme/default/components/ui/user-avater.tsx
1666
- var import_react4 = require("react");
1712
+ var import_react3 = require("react");
1667
1713
 
1668
1714
  // src/theme/default/assets/icons/user.svg
1669
1715
  var React24 = __toESM(require("react"));
1670
- var import_jsx_runtime47 = require("react/jsx-runtime");
1716
+ var import_jsx_runtime48 = require("react/jsx-runtime");
1671
1717
  var SvgUser = (props) => {
1672
1718
  var _a, _b;
1673
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("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__ */ (0, import_jsx_runtime47.jsx)("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" }) });
1719
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("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__ */ (0, import_jsx_runtime48.jsx)("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" }) });
1674
1720
  };
1675
1721
  var user_default = SvgUser;
1676
1722
 
1677
1723
  // src/theme/default/components/ui/user-avater.tsx
1678
- var import_jsx_runtime48 = require("react/jsx-runtime");
1679
- var UserAvatar = (0, import_react4.forwardRef)(
1724
+ var import_jsx_runtime49 = require("react/jsx-runtime");
1725
+ var UserAvatar = (0, import_react3.forwardRef)(
1680
1726
  ({ initials, ...rest }, ref) => {
1681
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
1727
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
1682
1728
  "button",
1683
1729
  {
1684
1730
  ref,
1685
- 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",
1731
+ className: "relative flex size-10 items-center justify-center overflow-hidden rounded-full bg-button-primary-background-default hover:bg-button-primary-background-hover",
1686
1732
  ...rest,
1687
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "relative size-full flex items-center justify-center", children: initials.avatar ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
1733
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "relative flex size-full items-center justify-center", children: initials.avatar ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
1688
1734
  "img",
1689
1735
  {
1690
1736
  src: initials.avatar,
1691
1737
  alt: initials.primary,
1692
1738
  className: "w-full object-contain"
1693
1739
  }
1694
- ) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(user_default, { size: 24, className: "text-button-primary-fg-default" }) })
1740
+ ) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
1741
+ user_default,
1742
+ {
1743
+ size: 24,
1744
+ className: "text-button-primary-foreground-default"
1745
+ }
1746
+ ) })
1695
1747
  }
1696
1748
  );
1697
1749
  }
@@ -1699,34 +1751,34 @@ var UserAvatar = (0, import_react4.forwardRef)(
1699
1751
  UserAvatar.displayName = "UserAvatar";
1700
1752
 
1701
1753
  // src/theme/default/components/ui/user-menu.tsx
1702
- var import_jsx_runtime49 = require("react/jsx-runtime");
1754
+ var import_jsx_runtime50 = require("react/jsx-runtime");
1703
1755
  var UserMenu = ({ session }) => {
1704
1756
  const { config } = (0, import_elements_react14.useOryFlow)();
1705
1757
  const initials = getUserInitials(session);
1706
- const [logoutFlow, setLogoutFlow] = (0, import_react5.useState)();
1707
- const fetchLogoutFlow = (0, import_react5.useCallback)(async () => {
1758
+ const [logoutFlow, setLogoutFlow] = (0, import_react4.useState)();
1759
+ const fetchLogoutFlow = (0, import_react4.useCallback)(async () => {
1708
1760
  const flow = await frontendClient(config.sdk.url).createBrowserLogoutFlow();
1709
1761
  setLogoutFlow(flow);
1710
1762
  }, [config.sdk.url]);
1711
- (0, import_react5.useEffect)(() => {
1763
+ (0, import_react4.useEffect)(() => {
1712
1764
  void fetchLogoutFlow();
1713
1765
  }, [fetchLogoutFlow]);
1714
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DropdownMenu, { children: [
1715
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(UserAvatar, { initials }) }),
1716
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DropdownMenuContent, { children: [
1717
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_react_dropdown_menu.DropdownMenuLabel, { className: "px-5 py-4.5 flex gap-3", children: [
1718
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(UserAvatar, { disabled: true, initials }),
1719
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex flex-col text-sm leading-tight justify-center", children: [
1720
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "text-dialog-fg-default", children: initials.primary }),
1721
- initials.secondary && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "text-dialog-fg-mute", children: initials.secondary })
1766
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(DropdownMenu, { children: [
1767
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserAvatar, { initials }) }),
1768
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(DropdownMenuContent, { children: [
1769
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_react_dropdown_menu.DropdownMenuLabel, { className: "flex gap-3 px-5 py-4.5", children: [
1770
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserAvatar, { disabled: true, initials }),
1771
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex flex-col justify-center text-sm leading-tight", children: [
1772
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "text-interface-foreground-default-primary leading-tight font-medium", children: initials.primary }),
1773
+ initials.secondary && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "text-interface-foreground-default-tertiary leading-tight", children: initials.secondary })
1722
1774
  ] })
1723
1775
  ] }),
1724
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("a", { href: "/settings", children: [
1725
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(settings_default, { size: 16 }),
1776
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("a", { href: "/settings", children: [
1777
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(settings_default, { size: 16 }),
1726
1778
  " User settings"
1727
1779
  ] }) }),
1728
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuItem, { asChild: true, disabled: !(logoutFlow == null ? void 0 : logoutFlow.logout_url), children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("a", { href: logoutFlow == null ? void 0 : logoutFlow.logout_url, children: [
1729
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(logout_default, { size: 16 }),
1780
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuItem, { asChild: true, disabled: !(logoutFlow == null ? void 0 : logoutFlow.logout_url), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("a", { href: logoutFlow == null ? void 0 : logoutFlow.logout_url, children: [
1781
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(logout_default, { size: 16 }),
1730
1782
  " Logout"
1731
1783
  ] }) })
1732
1784
  ] })
@@ -1735,39 +1787,39 @@ var UserMenu = ({ session }) => {
1735
1787
 
1736
1788
  // src/theme/default/components/generic/page-header.tsx
1737
1789
  var import_client2 = require("@ory/elements-react/client");
1738
- var import_jsx_runtime50 = require("react/jsx-runtime");
1790
+ var import_jsx_runtime51 = require("react/jsx-runtime");
1739
1791
  var DefaultPageHeader = (_props) => {
1740
1792
  const { Card } = (0, import_elements_react15.useComponents)();
1741
1793
  const { session } = (0, import_client2.useSession)();
1742
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex max-w-[896px] flex-col w-full gap-3 mt-16", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex flex-col gap-12", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex gap-2 max-h-10 justify-between flex-1", children: [
1743
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "h-10 flex-1 relative", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Card.Logo, {}) }),
1744
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserMenu, { session })
1794
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "mt-16 flex w-full max-w-[896px] flex-col gap-3", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex flex-col gap-12", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex max-h-10 flex-1 justify-between gap-2", children: [
1795
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "relative h-10 flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Card.Logo, {}) }),
1796
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(UserMenu, { session })
1745
1797
  ] }) }) });
1746
1798
  };
1747
1799
 
1748
1800
  // src/theme/default/assets/icons/trash.svg
1749
1801
  var React25 = __toESM(require("react"));
1750
- var import_jsx_runtime51 = require("react/jsx-runtime");
1802
+ var import_jsx_runtime52 = require("react/jsx-runtime");
1751
1803
  var SvgTrash = (props) => {
1752
1804
  var _a, _b;
1753
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("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__ */ (0, import_jsx_runtime51.jsx)("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" }) });
1805
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("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__ */ (0, import_jsx_runtime52.jsx)("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" }) });
1754
1806
  };
1755
1807
  var trash_default = SvgTrash;
1756
1808
 
1757
1809
  // src/theme/default/components/settings/settings-oidc.tsx
1758
- var import_react_hook_form7 = require("react-hook-form");
1759
- var import_jsx_runtime52 = require("react/jsx-runtime");
1810
+ var import_react_hook_form8 = require("react-hook-form");
1811
+ var import_jsx_runtime53 = require("react/jsx-runtime");
1760
1812
  function DefaultSettingsOidc({
1761
1813
  linkButtons,
1762
1814
  unlinkButtons
1763
1815
  }) {
1764
1816
  const hasLinkButtons = linkButtons.length > 0;
1765
1817
  const hasUnlinkButtons = unlinkButtons.length > 0;
1766
- const { setValue } = (0, import_react_hook_form7.useFormContext)();
1767
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex flex-col gap-8", children: [
1768
- hasLinkButtons && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "flex gap-3 items-start [&>button]:w-[79px]", children: linkButtons.map((button) => {
1818
+ const { setValue } = (0, import_react_hook_form8.useFormContext)();
1819
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex flex-col gap-8", children: [
1820
+ hasLinkButtons && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex items-start gap-3 [&>button]:w-[79px]", children: linkButtons.map((button) => {
1769
1821
  const attrs = button.attributes;
1770
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
1822
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
1771
1823
  DefaultButtonSocial,
1772
1824
  {
1773
1825
  showLabel: false,
@@ -1781,18 +1833,18 @@ function DefaultSettingsOidc({
1781
1833
  attrs.value
1782
1834
  );
1783
1835
  }) }),
1784
- hasUnlinkButtons && hasLinkButtons ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(DefaultHorizontalDivider, {}) : null,
1836
+ hasUnlinkButtons && hasLinkButtons ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DefaultHorizontalDivider, {}) : null,
1785
1837
  unlinkButtons.map((button) => {
1786
1838
  var _a, _b;
1787
1839
  const attrs = button.attributes;
1788
1840
  const provider = (_b = extractProvider((_a = button.meta.label) == null ? void 0 : _a.context)) != null ? _b : "";
1789
1841
  const Logo = attrs.value in provider_logos_default ? provider_logos_default[attrs.value] : provider_logos_default.generic;
1790
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex justify-between", children: [
1791
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex gap-6 items-center", children: [
1792
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Logo, { size: 32 }),
1793
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "text-dialog-fg-subtle text-sm font-medium", children: provider })
1842
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex justify-between", children: [
1843
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center gap-6", children: [
1844
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Logo, { size: 32 }),
1845
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "text-sm font-medium text-interface-foreground-default-secondary", children: provider })
1794
1846
  ] }),
1795
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
1847
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
1796
1848
  "button",
1797
1849
  {
1798
1850
  ...attrs,
@@ -1801,7 +1853,13 @@ function DefaultSettingsOidc({
1801
1853
  setValue("unlink", attrs.value);
1802
1854
  setValue("method", "oidc");
1803
1855
  },
1804
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(trash_default, { className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover" })
1856
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
1857
+ trash_default,
1858
+ {
1859
+ className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover",
1860
+ size: 24
1861
+ }
1862
+ )
1805
1863
  }
1806
1864
  )
1807
1865
  ] }, attrs.value);
@@ -1810,47 +1868,62 @@ function DefaultSettingsOidc({
1810
1868
  }
1811
1869
 
1812
1870
  // src/theme/default/components/settings/settings-passkey.tsx
1813
- var import_jsx_runtime53 = require("react/jsx-runtime");
1871
+ var import_elements_react16 = require("@ory/elements-react");
1872
+ var import_jsx_runtime54 = require("react/jsx-runtime");
1814
1873
  function DefaultSettingsPasskey({
1815
1874
  triggerButton,
1816
1875
  removeButtons
1817
1876
  }) {
1877
+ const { Node } = (0, import_elements_react16.useComponents)();
1818
1878
  const hasRemoveButtons = removeButtons.length > 0;
1819
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex flex-col gap-8", children: [
1820
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex gap-3 items-end max-w-[60%]", children: triggerButton ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
1821
- DefaultButton,
1879
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex flex-col gap-8", children: [
1880
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex max-w-[60%] items-end gap-3", children: triggerButton && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
1881
+ Node.Button,
1822
1882
  {
1823
1883
  node: triggerButton,
1824
1884
  attributes: triggerButton.attributes,
1825
1885
  onClick: triggerButton.onClick
1826
1886
  }
1827
- ) : null }),
1828
- hasRemoveButtons ? /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex flex-col gap-8", children: [
1829
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DefaultHorizontalDivider, {}),
1830
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
1887
+ ) }),
1888
+ hasRemoveButtons ? /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex flex-col gap-8", children: [
1889
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(DefaultHorizontalDivider, {}),
1890
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
1831
1891
  var _a, _b;
1832
1892
  const context = (_b = (_a = node.meta.label) == null ? void 0 : _a.context) != null ? _b : {};
1833
1893
  const addedAt = "added_at" in context ? context.added_at : null;
1834
- const diaplyName = "display_name" in context ? context.display_name : null;
1894
+ const displayName = "display_name" in context ? context.display_name : null;
1835
1895
  const keyId = "value" in node.attributes ? node.attributes.value : null;
1836
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
1896
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
1837
1897
  "div",
1838
1898
  {
1839
1899
  className: "flex justify-between gap-6",
1840
1900
  children: [
1841
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(passkey_default, { size: 32, className: "text-dialog-fg-default" }),
1842
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex-1 flex-col", children: [
1843
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "text-sm font-medium text-dialog-fg-subtle", children: diaplyName }),
1844
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm text-dialog-fg-mute", children: keyId })
1901
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
1902
+ passkey_default,
1903
+ {
1904
+ size: 32,
1905
+ className: "text-interface-foreground-default-primary"
1906
+ }
1907
+ ),
1908
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex-1 flex-col", children: [
1909
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "text-sm font-medium text-interface-foreground-default-secondary", children: displayName }),
1910
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm text-interface-foreground-default-tertiary", children: keyId })
1845
1911
  ] }),
1846
- addedAt && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "text-sm self-center text-dialog-fg-mute", children: new Date(addedAt).toLocaleDateString() }),
1847
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
1912
+ addedAt && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "self-center text-sm text-interface-foreground-default-tertiary", children: new Intl.DateTimeFormat(void 0, {
1913
+ dateStyle: "long"
1914
+ }).format(new Date(addedAt)) }),
1915
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
1848
1916
  "button",
1849
1917
  {
1850
1918
  ...node.attributes,
1851
1919
  type: "submit",
1852
- className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover",
1853
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(trash_default, { size: 20 })
1920
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
1921
+ trash_default,
1922
+ {
1923
+ className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover",
1924
+ size: 24
1925
+ }
1926
+ )
1854
1927
  }
1855
1928
  )
1856
1929
  ]
@@ -1864,36 +1937,36 @@ function DefaultSettingsPasskey({
1864
1937
 
1865
1938
  // src/theme/default/assets/icons/download.svg
1866
1939
  var React26 = __toESM(require("react"));
1867
- var import_jsx_runtime54 = require("react/jsx-runtime");
1940
+ var import_jsx_runtime55 = require("react/jsx-runtime");
1868
1941
  var SvgDownload = (props) => {
1869
1942
  var _a, _b;
1870
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("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__ */ (0, import_jsx_runtime54.jsx)("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" }) });
1943
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("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__ */ (0, import_jsx_runtime55.jsx)("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" }) });
1871
1944
  };
1872
1945
  var download_default = SvgDownload;
1873
1946
 
1874
1947
  // src/theme/default/assets/icons/eye.svg
1875
1948
  var React27 = __toESM(require("react"));
1876
- var import_jsx_runtime55 = require("react/jsx-runtime");
1949
+ var import_jsx_runtime56 = require("react/jsx-runtime");
1877
1950
  var SvgEye = (props) => {
1878
1951
  var _a, _b;
1879
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("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__ */ (0, import_jsx_runtime55.jsxs)("g", { strokeLinecap: "round", strokeLinejoin: "round", children: [
1880
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("path", { stroke: "currentColor", d: "M10 12a2 2 0 1 0 4 0 2 2 0 0 0-4 0" }),
1881
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("path", { stroke: "#64748B", d: "M21 12q-3.6 6-9 6t-9-6q3.6-6 9-6t9 6" })
1952
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("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__ */ (0, import_jsx_runtime56.jsxs)("g", { strokeLinecap: "round", strokeLinejoin: "round", children: [
1953
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("path", { stroke: "currentColor", d: "M10 12a2 2 0 1 0 4 0 2 2 0 0 0-4 0" }),
1954
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("path", { stroke: "#64748B", d: "M21 12q-3.6 6-9 6t-9-6q3.6-6 9-6t9 6" })
1882
1955
  ] }) });
1883
1956
  };
1884
1957
  var eye_default = SvgEye;
1885
1958
 
1886
1959
  // src/theme/default/assets/icons/refresh.svg
1887
1960
  var React28 = __toESM(require("react"));
1888
- var import_jsx_runtime56 = require("react/jsx-runtime");
1961
+ var import_jsx_runtime57 = require("react/jsx-runtime");
1889
1962
  var SvgRefresh = (props) => {
1890
1963
  var _a, _b;
1891
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("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__ */ (0, import_jsx_runtime56.jsx)("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" }) });
1964
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("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__ */ (0, import_jsx_runtime57.jsx)("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" }) });
1892
1965
  };
1893
1966
  var refresh_default = SvgRefresh;
1894
1967
 
1895
1968
  // src/theme/default/components/settings/settings-recovery-codes.tsx
1896
- var import_jsx_runtime57 = require("react/jsx-runtime");
1969
+ var import_jsx_runtime58 = require("react/jsx-runtime");
1897
1970
  function DefaultSettingsRecoveryCodes({
1898
1971
  codes,
1899
1972
  regnerateButton,
@@ -1910,63 +1983,66 @@ function DefaultSettingsRecoveryCodes({
1910
1983
  element.click();
1911
1984
  };
1912
1985
  const hasCodes = codes.length >= 1;
1913
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex flex-col gap-8", children: [
1914
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(DefaultHorizontalDivider, {}),
1915
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex justify-end gap-4", children: [
1916
- regnerateButton && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
1986
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex flex-col gap-8", children: [
1987
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(DefaultHorizontalDivider, {}),
1988
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex justify-end gap-4", children: [
1989
+ regnerateButton && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
1917
1990
  "button",
1918
1991
  {
1919
1992
  ...regnerateButton.attributes,
1920
1993
  type: "submit",
1921
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
1994
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
1922
1995
  refresh_default,
1923
1996
  {
1924
1997
  size: 24,
1925
- className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover"
1998
+ className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover"
1926
1999
  }
1927
2000
  )
1928
2001
  }
1929
2002
  ),
1930
- revealButton && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2003
+ revealButton && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
1931
2004
  "button",
1932
2005
  {
1933
2006
  ...revealButton.attributes,
1934
2007
  type: "submit",
1935
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2008
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
1936
2009
  eye_default,
1937
2010
  {
1938
2011
  size: 24,
1939
- className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover"
2012
+ className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover"
1940
2013
  }
1941
2014
  )
1942
2015
  }
1943
2016
  ),
1944
- hasCodes ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2017
+ hasCodes && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("button", { onClick: onDownload, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
1945
2018
  download_default,
1946
2019
  {
1947
2020
  size: 24,
1948
- onClick: onDownload,
1949
- className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover"
2021
+ className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover"
1950
2022
  }
1951
- ) : null
2023
+ ) })
1952
2024
  ] }),
1953
- hasCodes ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "rounded-border-radius-cards bg-bg-default ring-1 ring-dialog-border-default p-6", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "grid grid-cols-6 gap-4 flex-wrap text-dialog-fg-default text-sm", children: codes.map((code) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { children: code }, code)) }) }) : null
2025
+ hasCodes ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "rounded-general p-6 bg-interface-background-default-secondary border-interface-border-default-primary", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "grid grid-cols-5 flex-wrap gap-4 text-sm text-interface-foreground-default-primary", children: codes.map((code) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { children: code }, code)) }) }) : null
1954
2026
  ] });
1955
2027
  }
1956
2028
 
2029
+ // src/theme/default/components/settings/settings-top.tsx
2030
+ var import_elements_react17 = require("@ory/elements-react");
2031
+
1957
2032
  // src/theme/default/assets/icons/qrcode.svg
1958
2033
  var React29 = __toESM(require("react"));
1959
- var import_jsx_runtime58 = require("react/jsx-runtime");
2034
+ var import_jsx_runtime59 = require("react/jsx-runtime");
1960
2035
  var SvgQrcode = (props) => {
1961
2036
  var _a, _b;
1962
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("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__ */ (0, import_jsx_runtime58.jsx)("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" }) });
2037
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("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__ */ (0, import_jsx_runtime59.jsx)("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" }) });
1963
2038
  };
1964
2039
  var qrcode_default = SvgQrcode;
1965
2040
 
1966
2041
  // src/theme/default/components/settings/settings-top.tsx
1967
- var import_jsx_runtime59 = require("react/jsx-runtime");
2042
+ var import_jsx_runtime60 = require("react/jsx-runtime");
1968
2043
  function DefaultSettingsTotp(props) {
1969
2044
  var _a;
2045
+ const { Node, Card } = (0, import_elements_react17.useComponents)();
1970
2046
  if ("totpUnlink" in props && props.totpUnlink) {
1971
2047
  const {
1972
2048
  type,
@@ -1975,21 +2051,21 @@ function DefaultSettingsTotp(props) {
1975
2051
  node_type: _ignoredNodeType,
1976
2052
  ...buttonAttrs
1977
2053
  } = (_a = props.totpUnlink) == null ? void 0 : _a.attributes;
1978
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8", children: [
1979
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "col-span-full", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(DefaultHorizontalDivider, {}) }),
1980
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex gap-6 items-center col-span-full", children: [
1981
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "size-8 aspect-square ", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(qrcode_default, { size: 32 }) }),
1982
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "flex flex-col mr-auto", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "text-dialog-fg-subtle text-sm font-medium", children: "Authenticator app" }) }),
1983
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2054
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "grid grid-cols-1 gap-8 md:grid-cols-2", children: [
2055
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "col-span-full", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Card.Divider, {}) }),
2056
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "col-span-full flex items-center gap-6", children: [
2057
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "aspect-square size-8 ", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(qrcode_default, { size: 32 }) }),
2058
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "mr-auto flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-sm font-medium text-interface-foreground-default-primary", children: "Authenticator app" }) }),
2059
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
1984
2060
  "button",
1985
2061
  {
1986
2062
  type: type === "button" ? "button" : "submit",
1987
2063
  ...buttonAttrs,
1988
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2064
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
1989
2065
  trash_default,
1990
2066
  {
1991
- size: 24,
1992
- className: "text-links-link-mute-default hover:text-links-link-mute-hover"
2067
+ className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover",
2068
+ size: 24
1993
2069
  }
1994
2070
  )
1995
2071
  }
@@ -1998,10 +2074,10 @@ function DefaultSettingsTotp(props) {
1998
2074
  ] });
1999
2075
  }
2000
2076
  if ("totpSecret" in props) {
2001
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8", children: [
2002
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "col-span-full", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(DefaultHorizontalDivider, {}) }),
2003
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-dialog-bg-subtle p-8 rounded-xl flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "h-44 aspect-square bg-[white] rounded", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "mix-blend-multiply -m-3 antialiased", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2004
- DefaultImage,
2077
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "grid grid-cols-1 gap-8 md:grid-cols-2", children: [
2078
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "col-span-full", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(DefaultHorizontalDivider, {}) }),
2079
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "flex justify-center rounded-cards bg-interface-background-default-secondary p-8", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "aspect-square h-44 rounded bg-[white]", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "-m-3 antialiased mix-blend-multiply", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2080
+ Node.Image,
2005
2081
  {
2006
2082
  node: props.totpImage,
2007
2083
  attributes: {
@@ -2009,14 +2085,14 @@ function DefaultSettingsTotp(props) {
2009
2085
  }
2010
2086
  }
2011
2087
  ) }) }) }),
2012
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex flex-col gap-6", children: [
2013
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2014
- DefaultLabel,
2088
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex flex-col gap-6", children: [
2089
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2090
+ Node.Label,
2015
2091
  {
2016
2092
  node: props.totpSecret,
2017
2093
  attributes: props.totpSecret.attributes,
2018
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2019
- DefaultInput,
2094
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2095
+ Node.Input,
2020
2096
  {
2021
2097
  node: props.totpSecret,
2022
2098
  attributes: {
@@ -2030,13 +2106,13 @@ function DefaultSettingsTotp(props) {
2030
2106
  )
2031
2107
  }
2032
2108
  ),
2033
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2034
- DefaultLabel,
2109
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2110
+ Node.Label,
2035
2111
  {
2036
2112
  attributes: props.totpInput.attributes,
2037
2113
  node: props.totpInput,
2038
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2039
- DefaultInput,
2114
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2115
+ Node.Input,
2040
2116
  {
2041
2117
  node: props.totpInput,
2042
2118
  attributes: props.totpInput.attributes
@@ -2049,32 +2125,36 @@ function DefaultSettingsTotp(props) {
2049
2125
  }
2050
2126
  }
2051
2127
 
2128
+ // src/theme/default/components/settings/settings-webauthn.tsx
2129
+ var import_elements_react18 = require("@ory/elements-react");
2130
+
2052
2131
  // src/theme/default/assets/icons/key.svg
2053
2132
  var React30 = __toESM(require("react"));
2054
- var import_jsx_runtime60 = require("react/jsx-runtime");
2133
+ var import_jsx_runtime61 = require("react/jsx-runtime");
2055
2134
  var SvgKey = (props) => {
2056
2135
  var _a, _b;
2057
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("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__ */ (0, import_jsx_runtime60.jsx)("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" }) });
2136
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("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__ */ (0, import_jsx_runtime61.jsx)("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" }) });
2058
2137
  };
2059
2138
  var key_default = SvgKey;
2060
2139
 
2061
2140
  // src/theme/default/components/settings/settings-webauthn.tsx
2062
- var import_jsx_runtime61 = require("react/jsx-runtime");
2141
+ var import_jsx_runtime62 = require("react/jsx-runtime");
2063
2142
  function DefaultSettingsWebauthn({
2064
2143
  nameInput,
2065
2144
  triggerButton,
2066
2145
  removeButtons
2067
2146
  }) {
2147
+ const { Node, Card } = (0, import_elements_react18.useComponents)();
2068
2148
  const hasRemoveButtons = removeButtons.length > 0;
2069
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex flex-col gap-8", children: [
2070
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex gap-3 items-end max-w-[60%]", children: [
2071
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2072
- DefaultLabel,
2149
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex flex-col gap-8", children: [
2150
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex max-w-[60%] items-end gap-3", children: [
2151
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2152
+ Node.Label,
2073
2153
  {
2074
2154
  node: nameInput,
2075
2155
  attributes: nameInput.attributes,
2076
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2077
- DefaultInput,
2156
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2157
+ Node.Input,
2078
2158
  {
2079
2159
  node: nameInput,
2080
2160
  attributes: nameInput.attributes
@@ -2082,8 +2162,8 @@ function DefaultSettingsWebauthn({
2082
2162
  )
2083
2163
  }
2084
2164
  ) }),
2085
- triggerButton ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2086
- DefaultButton,
2165
+ triggerButton ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2166
+ Node.Button,
2087
2167
  {
2088
2168
  node: triggerButton,
2089
2169
  attributes: triggerButton.attributes,
@@ -2091,32 +2171,45 @@ function DefaultSettingsWebauthn({
2091
2171
  }
2092
2172
  ) : null
2093
2173
  ] }),
2094
- hasRemoveButtons ? /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex flex-col gap-8", children: [
2095
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DefaultHorizontalDivider, {}),
2096
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
2174
+ hasRemoveButtons ? /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex flex-col gap-8", children: [
2175
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Card.Divider, {}),
2176
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "flex flex-col gap-2", children: removeButtons.map((node, i) => {
2097
2177
  var _a, _b;
2098
2178
  const context = (_b = (_a = node.meta.label) == null ? void 0 : _a.context) != null ? _b : {};
2099
2179
  const addedAt = "added_at" in context ? context.added_at : null;
2100
2180
  const diaplyName = "display_name" in context ? context.display_name : null;
2101
2181
  const keyId = "value" in node.attributes ? node.attributes.value : null;
2102
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
2182
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
2103
2183
  "div",
2104
2184
  {
2105
2185
  className: "flex justify-between gap-6",
2106
2186
  children: [
2107
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(key_default, { size: 32, className: "text-dialog-fg-default" }),
2108
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex-1 flex-col", children: [
2109
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-sm font-medium text-dialog-fg-subtle", children: diaplyName }),
2110
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-sm text-dialog-fg-mute", children: keyId })
2187
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2188
+ key_default,
2189
+ {
2190
+ size: 32,
2191
+ className: "text-interface-foreground-default-primary"
2192
+ }
2193
+ ),
2194
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex-1 flex-col", children: [
2195
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-sm font-medium text-interface-foreground-default-secondary", children: diaplyName }),
2196
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-sm text-interface-foreground-default-tertiary", children: keyId })
2111
2197
  ] }),
2112
- addedAt && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-sm self-center text-dialog-fg-mute", children: new Date(addedAt).toLocaleDateString() }),
2113
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2198
+ addedAt && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "self-center text-sm text-interface-foreground-default-tertiary", children: new Intl.DateTimeFormat(void 0, {
2199
+ dateStyle: "long"
2200
+ }).format(new Date(addedAt)) }),
2201
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2114
2202
  "button",
2115
2203
  {
2116
2204
  ...node.attributes,
2117
2205
  type: "submit",
2118
- className: "cursor-pointer text-links-link-mute-default hover:text-links-link-mute-hover",
2119
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(trash_default, { size: 20 })
2206
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2207
+ trash_default,
2208
+ {
2209
+ className: "text-button-link-default-secondary hover:text-button-link-default-secondary-hover",
2210
+ size: 24
2211
+ }
2212
+ )
2120
2213
  }
2121
2214
  )
2122
2215
  ]
@@ -2176,18 +2269,18 @@ function getOryComponents(overrides) {
2176
2269
  }
2177
2270
 
2178
2271
  // src/theme/default/flows/error.tsx
2179
- var import_jsx_runtime62 = require("react/jsx-runtime");
2272
+ var import_jsx_runtime63 = require("react/jsx-runtime");
2180
2273
  function Error2({
2181
2274
  error,
2182
2275
  children
2183
2276
  }) {
2184
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { children: JSON.stringify(error) || children });
2277
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { children: JSON.stringify(error) || children });
2185
2278
  }
2186
2279
 
2187
2280
  // src/theme/default/flows/login.tsx
2188
- var import_client_fetch11 = require("@ory/client-fetch");
2189
- var import_elements_react16 = require("@ory/elements-react");
2190
- var import_jsx_runtime63 = require("react/jsx-runtime");
2281
+ var import_client_fetch12 = require("@ory/client-fetch");
2282
+ var import_elements_react19 = require("@ory/elements-react");
2283
+ var import_jsx_runtime64 = require("react/jsx-runtime");
2191
2284
  function Login({
2192
2285
  flow,
2193
2286
  config,
@@ -2195,22 +2288,22 @@ function Login({
2195
2288
  components: flowOverrideComponents
2196
2289
  }) {
2197
2290
  const components = getOryComponents(flowOverrideComponents);
2198
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2199
- import_elements_react16.OryProvider,
2291
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2292
+ import_elements_react19.OryProvider,
2200
2293
  {
2201
2294
  config,
2202
2295
  flow,
2203
- flowType: import_client_fetch11.FlowType.Login,
2296
+ flowType: import_client_fetch12.FlowType.Login,
2204
2297
  components,
2205
- children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_elements_react16.OryTwoStepCard, {})
2298
+ children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_elements_react19.OryTwoStepCard, {})
2206
2299
  }
2207
2300
  );
2208
2301
  }
2209
2302
 
2210
2303
  // src/theme/default/flows/recovery.tsx
2211
- var import_client_fetch12 = require("@ory/client-fetch");
2212
- var import_elements_react17 = require("@ory/elements-react");
2213
- var import_jsx_runtime64 = require("react/jsx-runtime");
2304
+ var import_client_fetch13 = require("@ory/client-fetch");
2305
+ var import_elements_react20 = require("@ory/elements-react");
2306
+ var import_jsx_runtime65 = require("react/jsx-runtime");
2214
2307
  function Recovery({
2215
2308
  flow,
2216
2309
  config,
@@ -2218,22 +2311,22 @@ function Recovery({
2218
2311
  components: flowOverrideComponents
2219
2312
  }) {
2220
2313
  const components = getOryComponents(flowOverrideComponents);
2221
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2222
- import_elements_react17.OryProvider,
2314
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2315
+ import_elements_react20.OryProvider,
2223
2316
  {
2224
2317
  config,
2225
2318
  flow,
2226
- flowType: import_client_fetch12.FlowType.Recovery,
2319
+ flowType: import_client_fetch13.FlowType.Recovery,
2227
2320
  components,
2228
- children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_elements_react17.OryTwoStepCard, {})
2321
+ children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_elements_react20.OryTwoStepCard, {})
2229
2322
  }
2230
2323
  );
2231
2324
  }
2232
2325
 
2233
2326
  // src/theme/default/flows/registration.tsx
2234
- var import_client_fetch13 = require("@ory/client-fetch");
2235
- var import_elements_react18 = require("@ory/elements-react");
2236
- var import_jsx_runtime65 = require("react/jsx-runtime");
2327
+ var import_client_fetch14 = require("@ory/client-fetch");
2328
+ var import_elements_react21 = require("@ory/elements-react");
2329
+ var import_jsx_runtime66 = require("react/jsx-runtime");
2237
2330
  function Registration({
2238
2331
  flow,
2239
2332
  children,
@@ -2241,22 +2334,22 @@ function Registration({
2241
2334
  config
2242
2335
  }) {
2243
2336
  const components = getOryComponents(flowOverrideComponents);
2244
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2245
- import_elements_react18.OryProvider,
2337
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2338
+ import_elements_react21.OryProvider,
2246
2339
  {
2247
2340
  config,
2248
2341
  flow,
2249
- flowType: import_client_fetch13.FlowType.Registration,
2342
+ flowType: import_client_fetch14.FlowType.Registration,
2250
2343
  components,
2251
- children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_elements_react18.OryTwoStepCard, {})
2344
+ children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_elements_react21.OryTwoStepCard, {})
2252
2345
  }
2253
2346
  );
2254
2347
  }
2255
2348
 
2256
2349
  // src/theme/default/flows/settings.tsx
2257
- var import_client_fetch14 = require("@ory/client-fetch");
2258
- var import_elements_react19 = require("@ory/elements-react");
2259
- var import_jsx_runtime66 = require("react/jsx-runtime");
2350
+ var import_client_fetch15 = require("@ory/client-fetch");
2351
+ var import_elements_react22 = require("@ory/elements-react");
2352
+ var import_jsx_runtime67 = require("react/jsx-runtime");
2260
2353
  function Settings({
2261
2354
  flow,
2262
2355
  config,
@@ -2264,25 +2357,25 @@ function Settings({
2264
2357
  components: flowOverrideComponents
2265
2358
  }) {
2266
2359
  const components = getOryComponents(flowOverrideComponents);
2267
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2268
- import_elements_react19.OryProvider,
2360
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
2361
+ import_elements_react22.OryProvider,
2269
2362
  {
2270
2363
  config,
2271
2364
  flow,
2272
- flowType: import_client_fetch14.FlowType.Settings,
2365
+ flowType: import_client_fetch15.FlowType.Settings,
2273
2366
  components,
2274
- children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
2275
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_elements_react19.HeadlessPageHeader, {}),
2276
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_elements_react19.OrySettingsCard, {})
2367
+ children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
2368
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_elements_react22.HeadlessPageHeader, {}),
2369
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_elements_react22.OrySettingsCard, {})
2277
2370
  ] })
2278
2371
  }
2279
2372
  );
2280
2373
  }
2281
2374
 
2282
2375
  // src/theme/default/flows/verification.tsx
2283
- var import_client_fetch15 = require("@ory/client-fetch");
2284
- var import_elements_react20 = require("@ory/elements-react");
2285
- var import_jsx_runtime67 = require("react/jsx-runtime");
2376
+ var import_client_fetch16 = require("@ory/client-fetch");
2377
+ var import_elements_react23 = require("@ory/elements-react");
2378
+ var import_jsx_runtime68 = require("react/jsx-runtime");
2286
2379
  function Verification({
2287
2380
  flow,
2288
2381
  config,
@@ -2290,23 +2383,25 @@ function Verification({
2290
2383
  components: flowOverrideComponents
2291
2384
  }) {
2292
2385
  const components = getOryComponents(flowOverrideComponents);
2293
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
2294
- import_elements_react20.OryProvider,
2386
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
2387
+ import_elements_react23.OryProvider,
2295
2388
  {
2296
2389
  config,
2297
2390
  flow,
2298
- flowType: import_client_fetch15.FlowType.Verification,
2391
+ flowType: import_client_fetch16.FlowType.Verification,
2299
2392
  components,
2300
- children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_elements_react20.OryTwoStepCard, {})
2393
+ children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_elements_react23.OryTwoStepCard, {})
2301
2394
  }
2302
2395
  );
2303
2396
  }
2304
2397
  // Annotate the CommonJS export names for ESM import in node:
2305
2398
  0 && (module.exports = {
2399
+ DefaultButtonSocial,
2306
2400
  DefaultCard,
2307
2401
  DefaultCardContent,
2308
2402
  DefaultCardFooter,
2309
2403
  DefaultCardHeader,
2404
+ DefaultCardLayout,
2310
2405
  DefaultCardLogo,
2311
2406
  DefaultCurrentIdentifierButton,
2312
2407
  DefaultFormContainer,