@hexclave/react 1.0.26 → 1.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/elements/ssr-layout-effect.d.ts.map +1 -1
- package/dist/components/elements/ssr-layout-effect.js +5 -3
- package/dist/components/elements/ssr-layout-effect.js.map +1 -1
- package/dist/components-page/account-settings/email-and-auth/emails-section.js +1 -1
- package/dist/components-page/account-settings/email-and-auth/mfa-section.js +1 -1
- package/dist/components-page/account-settings/email-and-auth/passkey-section.js +1 -1
- package/dist/components-page/account-settings/email-and-auth/password-section.js +2 -2
- package/dist/components-page/account-settings/payments/payments-panel.js +1 -1
- package/dist/components-page/account-settings/teams/team-creation-page.js +1 -1
- package/dist/components-page/account-settings/teams/team-member-invitation-section.js +1 -1
- package/dist/esm/components/elements/ssr-layout-effect.d.ts.map +1 -1
- package/dist/esm/components/elements/ssr-layout-effect.js +5 -3
- package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -1
- package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js +1 -1
- package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js +1 -1
- package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js +1 -1
- package/dist/esm/components-page/account-settings/email-and-auth/password-section.js +2 -2
- package/dist/esm/components-page/account-settings/payments/payments-panel.js +1 -1
- package/dist/esm/components-page/account-settings/teams/team-creation-page.js +1 -1
- package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js +1 -1
- package/dist/esm/generated/quetzal-translations.d.ts +2 -2
- package/dist/esm/lib/hexclave-app/apps/implementations/common.js +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts +1 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js +44 -19
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js +97 -8
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -1
- package/dist/generated/quetzal-translations.d.ts +2 -2
- package/dist/lib/hexclave-app/apps/implementations/common.js +1 -1
- package/dist/lib/hexclave-app/apps/implementations/session-replay.d.ts +1 -0
- package/dist/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/session-replay.js +43 -18
- package/dist/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js +97 -8
- package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -1
- package/package.json +3 -3
- package/src/components/elements/ssr-layout-effect.tsx +15 -3
- package/src/lib/hexclave-app/apps/implementations/session-replay.test.ts +123 -4
- package/src/lib/hexclave-app/apps/implementations/session-replay.ts +63 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr-layout-effect.d.ts","names":[],"sources":["../../../src/components/elements/ssr-layout-effect.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ssr-layout-effect.d.ts","names":[],"sources":["../../../src/components/elements/ssr-layout-effect.tsx"],"mappings":";;;iBAYgB,SAAA,CAAU,KAAA;EAAS,MAAA;EAAgB,KAAA;AAAA,IAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -6,14 +6,16 @@ let react = require("react");
|
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
|
|
8
8
|
//#region src/components/elements/ssr-layout-effect.tsx
|
|
9
|
+
function escapeHtmlAttr(str) {
|
|
10
|
+
return str.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">");
|
|
11
|
+
}
|
|
9
12
|
function SsrScript(props) {
|
|
10
13
|
(0, react.useLayoutEffect)(() => {
|
|
11
14
|
(0, eval)(props.script);
|
|
12
15
|
}, []);
|
|
13
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("
|
|
16
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
14
17
|
suppressHydrationWarning: true,
|
|
15
|
-
nonce: props.
|
|
16
|
-
dangerouslySetInnerHTML: { __html: props.script }
|
|
18
|
+
dangerouslySetInnerHTML: { __html: `<script${props.nonce ? ` nonce="${escapeHtmlAttr(props.nonce)}"` : ""}>${props.script}<\/script>` }
|
|
17
19
|
});
|
|
18
20
|
}
|
|
19
21
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr-layout-effect.js","names":[],"sources":["../../../src/components/elements/ssr-layout-effect.tsx"],"sourcesContent":["\"use client\";\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\nimport { useLayoutEffect } from \"react\";\n\nexport function SsrScript(props: { script: string, nonce?: string }) {\n useLayoutEffect(() => {\n // TODO fix workaround: React has a bug where it doesn't run the script on the first CSR render if SSR has been skipped due to suspense\n // As a workaround, we run the script in the <script> tag again after the first render\n // Note that we do an indirect eval as described here: https://esbuild.github.io/content-types/#direct-eval\n (0, eval)(props.script);\n }, []);\n\n return (\n <
|
|
1
|
+
{"version":3,"file":"ssr-layout-effect.js","names":[],"sources":["../../../src/components/elements/ssr-layout-effect.tsx"],"sourcesContent":["\"use client\";\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\nimport { useLayoutEffect } from \"react\";\n\nfunction escapeHtmlAttr(str: string): string {\n return str.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>');\n}\n\nexport function SsrScript(props: { script: string, nonce?: string }) {\n useLayoutEffect(() => {\n // TODO fix workaround: React has a bug where it doesn't run the script on the first CSR render if SSR has been skipped due to suspense\n // As a workaround, we run the script in the <script> tag again after the first render\n // Note that we do an indirect eval as described here: https://esbuild.github.io/content-types/#direct-eval\n (0, eval)(props.script);\n }, []);\n\n // Embed the <script> in a span's innerHTML rather than as a React <script> JSX element to\n // avoid React 19's \"Scripts inside React components are never executed when rendering on the\n // client\" warning. The browser still executes the script during SSR HTML parsing, and on the\n // client React sets innerHTML but the browser won't re-execute the script (innerHTML scripts\n // don't run). Using the same HTML on both sides avoids hydration mismatches.\n const nonceAttr = props.nonce ? ` nonce=\"${escapeHtmlAttr(props.nonce)}\"` : '';\n\n return (\n <span\n suppressHydrationWarning // the transpiler is setup differently for client/server targets, so if `script` was generated with Function.toString they will differ\n dangerouslySetInnerHTML={{\n __html: `<script${nonceAttr}>${props.script}</script>`,\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;AAQA,SAAS,eAAe,KAAqB;AAC3C,QAAO,IAAI,QAAQ,MAAM,QAAQ,CAAC,QAAQ,MAAM,SAAS,CAAC,QAAQ,MAAM,OAAO,CAAC,QAAQ,MAAM,OAAO;;AAGvG,SAAgB,UAAU,OAA2C;AACnE,kCAAsB;AAIpB,GAAC,GAAG,MAAM,MAAM,OAAO;IACtB,EAAE,CAAC;AASN,QACE,2CAAC;EACC;EACA,yBAAyB,EACvB,QAAQ,UANI,MAAM,QAAQ,WAAW,eAAe,MAAM,MAAM,CAAC,KAAK,GAM1C,GAAG,MAAM,OAAO,aAC7C;GACD"}
|
|
@@ -9,8 +9,8 @@ let react_hook_form = require("react-hook-form");
|
|
|
9
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
10
|
let _________lib_hooks_js = require("../../../lib/hooks.js");
|
|
11
11
|
let _________lib_translations_js = require("../../../lib/translations.js");
|
|
12
|
-
let _hexclave_shared_dist_known_errors = require("@hexclave/shared/dist/known-errors");
|
|
13
12
|
let _________components_elements_form_warning_js = require("../../../components/elements/form-warning.js");
|
|
13
|
+
let _hexclave_shared_dist_known_errors = require("@hexclave/shared/dist/known-errors");
|
|
14
14
|
|
|
15
15
|
//#region src/components-page/account-settings/email-and-auth/emails-section.tsx
|
|
16
16
|
function EmailsSection(props) {
|
|
@@ -7,12 +7,12 @@ let react = require("react");
|
|
|
7
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
8
|
let _________lib_hooks_js = require("../../../lib/hooks.js");
|
|
9
9
|
let _________lib_translations_js = require("../../../lib/translations.js");
|
|
10
|
+
let ___section_js = require("../section.js");
|
|
10
11
|
let _oslojs_otp = require("@oslojs/otp");
|
|
11
12
|
let _hexclave_shared_dist_hooks_use_async_callback = require("@hexclave/shared/dist/hooks/use-async-callback");
|
|
12
13
|
let _hexclave_shared_dist_utils_crypto = require("@hexclave/shared/dist/utils/crypto");
|
|
13
14
|
let qrcode = require("qrcode");
|
|
14
15
|
qrcode = require_chunk.__toESM(qrcode);
|
|
15
|
-
let ___section_js = require("../section.js");
|
|
16
16
|
|
|
17
17
|
//#region src/components-page/account-settings/email-and-auth/mfa-section.tsx
|
|
18
18
|
function MfaSection(props) {
|
|
@@ -5,8 +5,8 @@ let react = require("react");
|
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
6
|
let _________lib_hooks_js = require("../../../lib/hooks.js");
|
|
7
7
|
let _________lib_translations_js = require("../../../lib/translations.js");
|
|
8
|
-
let ___section_js = require("../section.js");
|
|
9
8
|
let _________index_js = require("../../../index.js");
|
|
9
|
+
let ___section_js = require("../section.js");
|
|
10
10
|
|
|
11
11
|
//#region src/components-page/account-settings/email-and-auth/passkey-section.tsx
|
|
12
12
|
function PasskeySection(props) {
|
|
@@ -12,9 +12,9 @@ let yup = require("yup");
|
|
|
12
12
|
yup = require_chunk.__toESM(yup);
|
|
13
13
|
let _________lib_hooks_js = require("../../../lib/hooks.js");
|
|
14
14
|
let _________lib_translations_js = require("../../../lib/translations.js");
|
|
15
|
-
let _________components_elements_form_warning_js = require("../../../components/elements/form-warning.js");
|
|
16
|
-
let ___section_js = require("../section.js");
|
|
17
15
|
let _________index_js = require("../../../index.js");
|
|
16
|
+
let ___section_js = require("../section.js");
|
|
17
|
+
let _________components_elements_form_warning_js = require("../../../components/elements/form-warning.js");
|
|
18
18
|
|
|
19
19
|
//#region src/components-page/account-settings/email-and-auth/password-section.tsx
|
|
20
20
|
function PasswordSection(props) {
|
|
@@ -9,11 +9,11 @@ let react_jsx_runtime = require("react/jsx-runtime");
|
|
|
9
9
|
let _hexclave_shared = require("@hexclave/shared");
|
|
10
10
|
let _hexclave_shared_dist_utils_results = require("@hexclave/shared/dist/utils/results");
|
|
11
11
|
let _________lib_translations_js = require("../../../lib/translations.js");
|
|
12
|
-
let ___section_js = require("../section.js");
|
|
13
12
|
let _________index_js = require("../../../index.js");
|
|
14
13
|
let _stripe_react_stripe_js = require("@stripe/react-stripe-js");
|
|
15
14
|
let _stripe_stripe_js = require("@stripe/stripe-js");
|
|
16
15
|
let _________generated_env_js = require("../../../generated/env.js");
|
|
16
|
+
let ___section_js = require("../section.js");
|
|
17
17
|
|
|
18
18
|
//#region src/components-page/account-settings/payments/payments-panel.tsx
|
|
19
19
|
function formatPaymentMethod(pm) {
|
|
@@ -10,8 +10,8 @@ let react_jsx_runtime = require("react/jsx-runtime");
|
|
|
10
10
|
let _________lib_hooks_js = require("../../../lib/hooks.js");
|
|
11
11
|
let _________lib_translations_js = require("../../../lib/translations.js");
|
|
12
12
|
let ___page_layout_js = require("../page-layout.js");
|
|
13
|
-
let _________components_elements_form_warning_js = require("../../../components/elements/form-warning.js");
|
|
14
13
|
let ___section_js = require("../section.js");
|
|
14
|
+
let _________components_elements_form_warning_js = require("../../../components/elements/form-warning.js");
|
|
15
15
|
let _________components_message_cards_message_card_js = require("../../../components/message-cards/message-card.js");
|
|
16
16
|
|
|
17
17
|
//#region src/components-page/account-settings/teams/team-creation-page.tsx
|
|
@@ -10,8 +10,8 @@ let react_jsx_runtime = require("react/jsx-runtime");
|
|
|
10
10
|
let lucide_react = require("lucide-react");
|
|
11
11
|
let _________lib_hooks_js = require("../../../lib/hooks.js");
|
|
12
12
|
let _________lib_translations_js = require("../../../lib/translations.js");
|
|
13
|
-
let _________components_elements_form_warning_js = require("../../../components/elements/form-warning.js");
|
|
14
13
|
let ___section_js = require("../section.js");
|
|
14
|
+
let _________components_elements_form_warning_js = require("../../../components/elements/form-warning.js");
|
|
15
15
|
|
|
16
16
|
//#region src/components-page/account-settings/teams/team-member-invitation-section.tsx
|
|
17
17
|
function TeamMemberInvitationSection(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr-layout-effect.d.ts","names":[],"sources":["../../../../src/components/elements/ssr-layout-effect.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ssr-layout-effect.d.ts","names":[],"sources":["../../../../src/components/elements/ssr-layout-effect.tsx"],"mappings":";;;iBAYgB,SAAA,CAAU,KAAA;EAAS,MAAA;EAAgB,KAAA;AAAA,IAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -4,14 +4,16 @@ import { useLayoutEffect } from "react";
|
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
|
|
6
6
|
//#region src/components/elements/ssr-layout-effect.tsx
|
|
7
|
+
function escapeHtmlAttr(str) {
|
|
8
|
+
return str.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">");
|
|
9
|
+
}
|
|
7
10
|
function SsrScript(props) {
|
|
8
11
|
useLayoutEffect(() => {
|
|
9
12
|
(0, eval)(props.script);
|
|
10
13
|
}, []);
|
|
11
|
-
return /* @__PURE__ */ jsx("
|
|
14
|
+
return /* @__PURE__ */ jsx("span", {
|
|
12
15
|
suppressHydrationWarning: true,
|
|
13
|
-
nonce: props.
|
|
14
|
-
dangerouslySetInnerHTML: { __html: props.script }
|
|
16
|
+
dangerouslySetInnerHTML: { __html: `<script${props.nonce ? ` nonce="${escapeHtmlAttr(props.nonce)}"` : ""}>${props.script}<\/script>` }
|
|
15
17
|
});
|
|
16
18
|
}
|
|
17
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr-layout-effect.js","names":[],"sources":["../../../../src/components/elements/ssr-layout-effect.tsx"],"sourcesContent":["\"use client\";\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\nimport { useLayoutEffect } from \"react\";\n\nexport function SsrScript(props: { script: string, nonce?: string }) {\n useLayoutEffect(() => {\n // TODO fix workaround: React has a bug where it doesn't run the script on the first CSR render if SSR has been skipped due to suspense\n // As a workaround, we run the script in the <script> tag again after the first render\n // Note that we do an indirect eval as described here: https://esbuild.github.io/content-types/#direct-eval\n (0, eval)(props.script);\n }, []);\n\n return (\n <
|
|
1
|
+
{"version":3,"file":"ssr-layout-effect.js","names":[],"sources":["../../../../src/components/elements/ssr-layout-effect.tsx"],"sourcesContent":["\"use client\";\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\nimport { useLayoutEffect } from \"react\";\n\nfunction escapeHtmlAttr(str: string): string {\n return str.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>');\n}\n\nexport function SsrScript(props: { script: string, nonce?: string }) {\n useLayoutEffect(() => {\n // TODO fix workaround: React has a bug where it doesn't run the script on the first CSR render if SSR has been skipped due to suspense\n // As a workaround, we run the script in the <script> tag again after the first render\n // Note that we do an indirect eval as described here: https://esbuild.github.io/content-types/#direct-eval\n (0, eval)(props.script);\n }, []);\n\n // Embed the <script> in a span's innerHTML rather than as a React <script> JSX element to\n // avoid React 19's \"Scripts inside React components are never executed when rendering on the\n // client\" warning. The browser still executes the script during SSR HTML parsing, and on the\n // client React sets innerHTML but the browser won't re-execute the script (innerHTML scripts\n // don't run). Using the same HTML on both sides avoids hydration mismatches.\n const nonceAttr = props.nonce ? ` nonce=\"${escapeHtmlAttr(props.nonce)}\"` : '';\n\n return (\n <span\n suppressHydrationWarning // the transpiler is setup differently for client/server targets, so if `script` was generated with Function.toString they will differ\n dangerouslySetInnerHTML={{\n __html: `<script${nonceAttr}>${props.script}</script>`,\n }}\n />\n );\n}\n"],"mappings":";;;;;;AAQA,SAAS,eAAe,KAAqB;AAC3C,QAAO,IAAI,QAAQ,MAAM,QAAQ,CAAC,QAAQ,MAAM,SAAS,CAAC,QAAQ,MAAM,OAAO,CAAC,QAAQ,MAAM,OAAO;;AAGvG,SAAgB,UAAU,OAA2C;AACnE,uBAAsB;AAIpB,GAAC,GAAG,MAAM,MAAM,OAAO;IACtB,EAAE,CAAC;AASN,QACE,oBAAC;EACC;EACA,yBAAyB,EACvB,QAAQ,UANI,MAAM,QAAQ,WAAW,eAAe,MAAM,MAAM,CAAC,KAAK,GAM1C,GAAG,MAAM,OAAO,aAC7C;GACD"}
|
|
@@ -7,8 +7,8 @@ import { useForm } from "react-hook-form";
|
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import { useUser } from "../../../lib/hooks.js";
|
|
9
9
|
import { useTranslation } from "../../../lib/translations.js";
|
|
10
|
-
import { KnownErrors } from "@hexclave/shared/dist/known-errors";
|
|
11
10
|
import { FormWarningText } from "../../../components/elements/form-warning.js";
|
|
11
|
+
import { KnownErrors } from "@hexclave/shared/dist/known-errors";
|
|
12
12
|
|
|
13
13
|
//#region src/components-page/account-settings/email-and-auth/emails-section.tsx
|
|
14
14
|
function EmailsSection(props) {
|
|
@@ -5,11 +5,11 @@ import { useEffect, useState } from "react";
|
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { useStackApp, useUser } from "../../../lib/hooks.js";
|
|
7
7
|
import { useTranslation } from "../../../lib/translations.js";
|
|
8
|
+
import { Section } from "../section.js";
|
|
8
9
|
import { createTOTPKeyURI, verifyTOTP } from "@oslojs/otp";
|
|
9
10
|
import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
|
|
10
11
|
import { generateRandomValues } from "@hexclave/shared/dist/utils/crypto";
|
|
11
12
|
import * as QRCode from "qrcode";
|
|
12
|
-
import { Section } from "../section.js";
|
|
13
13
|
|
|
14
14
|
//#region src/components-page/account-settings/email-and-auth/mfa-section.tsx
|
|
15
15
|
function MfaSection(props) {
|
|
@@ -3,8 +3,8 @@ import { useState } from "react";
|
|
|
3
3
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { useUser } from "../../../lib/hooks.js";
|
|
5
5
|
import { useTranslation } from "../../../lib/translations.js";
|
|
6
|
-
import { Section } from "../section.js";
|
|
7
6
|
import { useStackApp as useStackApp$1 } from "../../../index.js";
|
|
7
|
+
import { Section } from "../section.js";
|
|
8
8
|
|
|
9
9
|
//#region src/components-page/account-settings/email-and-auth/passkey-section.tsx
|
|
10
10
|
function PasskeySection(props) {
|
|
@@ -9,9 +9,9 @@ import { getPasswordError } from "@hexclave/shared/dist/helpers/password";
|
|
|
9
9
|
import * as yup from "yup";
|
|
10
10
|
import { useUser } from "../../../lib/hooks.js";
|
|
11
11
|
import { useTranslation } from "../../../lib/translations.js";
|
|
12
|
-
import { FormWarningText } from "../../../components/elements/form-warning.js";
|
|
13
|
-
import { Section } from "../section.js";
|
|
14
12
|
import { useStackApp as useStackApp$1 } from "../../../index.js";
|
|
13
|
+
import { Section } from "../section.js";
|
|
14
|
+
import { FormWarningText } from "../../../components/elements/form-warning.js";
|
|
15
15
|
|
|
16
16
|
//#region src/components-page/account-settings/email-and-auth/password-section.tsx
|
|
17
17
|
function PasswordSection(props) {
|
|
@@ -7,11 +7,11 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
import { KnownErrors } from "@hexclave/shared";
|
|
8
8
|
import { Result } from "@hexclave/shared/dist/utils/results";
|
|
9
9
|
import { useTranslation } from "../../../lib/translations.js";
|
|
10
|
-
import { Section } from "../section.js";
|
|
11
10
|
import { useStackApp } from "../../../index.js";
|
|
12
11
|
import { CardElement, Elements, useElements, useStripe } from "@stripe/react-stripe-js";
|
|
13
12
|
import { loadStripe } from "@stripe/stripe-js";
|
|
14
13
|
import { envVars } from "../../../generated/env.js";
|
|
14
|
+
import { Section } from "../section.js";
|
|
15
15
|
|
|
16
16
|
//#region src/components-page/account-settings/payments/payments-panel.tsx
|
|
17
17
|
function formatPaymentMethod(pm) {
|
|
@@ -8,8 +8,8 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
8
8
|
import { useStackApp, useUser } from "../../../lib/hooks.js";
|
|
9
9
|
import { useTranslation } from "../../../lib/translations.js";
|
|
10
10
|
import { PageLayout } from "../page-layout.js";
|
|
11
|
-
import { FormWarningText } from "../../../components/elements/form-warning.js";
|
|
12
11
|
import { Section } from "../section.js";
|
|
12
|
+
import { FormWarningText } from "../../../components/elements/form-warning.js";
|
|
13
13
|
import { MessageCard } from "../../../components/message-cards/message-card.js";
|
|
14
14
|
|
|
15
15
|
//#region src/components-page/account-settings/teams/team-creation-page.tsx
|
|
@@ -8,8 +8,8 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
|
8
8
|
import { Trash } from "lucide-react";
|
|
9
9
|
import { useUser } from "../../../lib/hooks.js";
|
|
10
10
|
import { useTranslation } from "../../../lib/translations.js";
|
|
11
|
-
import { FormWarningText } from "../../../components/elements/form-warning.js";
|
|
12
11
|
import { Section } from "../section.js";
|
|
12
|
+
import { FormWarningText } from "../../../components/elements/form-warning.js";
|
|
13
13
|
|
|
14
14
|
//#region src/components-page/account-settings/teams/team-member-invitation-section.tsx
|
|
15
15
|
function TeamMemberInvitationSection(props) {
|