@stackframe/stack 2.6.24 → 2.6.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/components/credential-sign-in.js +1 -0
- package/dist/components/credential-sign-in.js.map +1 -1
- package/dist/components/credential-sign-up.js +1 -0
- package/dist/components/credential-sign-up.js.map +1 -1
- package/dist/components-page/account-settings.js +3 -0
- package/dist/components-page/account-settings.js.map +1 -1
- package/dist/components-page/password-reset.js +2 -0
- package/dist/components-page/password-reset.js.map +1 -1
- package/dist/esm/components/credential-sign-in.js +1 -0
- package/dist/esm/components/credential-sign-in.js.map +1 -1
- package/dist/esm/components/credential-sign-up.js +1 -0
- package/dist/esm/components/credential-sign-up.js.map +1 -1
- package/dist/esm/components-page/account-settings.js +3 -0
- package/dist/esm/components-page/account-settings.js.map +1 -1
- package/dist/esm/components-page/password-reset.js +2 -0
- package/dist/esm/components-page/password-reset.js.map +1 -1
- package/dist/esm/lib/stack-app.js +41 -33
- package/dist/esm/lib/stack-app.js.map +1 -1
- package/dist/esm/providers/stack-provider.js +3 -2
- package/dist/esm/providers/stack-provider.js.map +1 -1
- package/dist/esm/providers/translation-provider.js +9 -3
- package/dist/esm/providers/translation-provider.js.map +1 -1
- package/dist/generated/quetzal-translations.d.mts +2 -2
- package/dist/generated/quetzal-translations.d.ts +2 -2
- package/dist/lib/stack-app.js +40 -32
- package/dist/lib/stack-app.js.map +1 -1
- package/dist/providers/stack-provider.d.mts +8 -1
- package/dist/providers/stack-provider.d.ts +8 -1
- package/dist/providers/stack-provider.js +3 -2
- package/dist/providers/stack-provider.js.map +1 -1
- package/dist/providers/translation-provider.d.mts +2 -1
- package/dist/providers/translation-provider.d.ts +2 -1
- package/dist/providers/translation-provider.js +8 -2
- package/dist/providers/translation-provider.js.map +1 -1
- package/package.json +4 -4
|
@@ -7,11 +7,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
function StackProvider({
|
|
8
8
|
children,
|
|
9
9
|
app,
|
|
10
|
-
lang
|
|
10
|
+
lang,
|
|
11
|
+
translationOverrides
|
|
11
12
|
}) {
|
|
12
13
|
return /* @__PURE__ */ jsxs(StackProviderClient, { appJson: app[stackAppInternalsSymbol].toClientJson(), children: [
|
|
13
14
|
/* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(UserFetcher, { app }) }),
|
|
14
|
-
/* @__PURE__ */ jsx(TranslationProvider, { lang, children })
|
|
15
|
+
/* @__PURE__ */ jsx(TranslationProvider, { lang, translationOverrides, children })
|
|
15
16
|
] });
|
|
16
17
|
}
|
|
17
18
|
function UserFetcher(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/stack-provider.tsx"],"sourcesContent":["import React, { Suspense } from 'react';\nimport { StackAdminApp, StackClientApp, StackServerApp, stackAppInternalsSymbol } from '../lib/stack-app';\nimport { StackProviderClient, UserSetter } from './stack-provider-client';\nimport { TranslationProvider } from './translation-provider';\n\n\nexport default function StackProvider({\n children,\n app,\n lang,\n}: {\n lang?: React.ComponentProps<typeof TranslationProvider>['lang'],\n children: React.ReactNode,\n // list all three types of apps even though server and admin are subclasses of client so it's clear that you can pass any\n app: StackClientApp<true> | StackServerApp<true> | StackAdminApp<true>,\n}) {\n return (\n <StackProviderClient appJson={app[stackAppInternalsSymbol].toClientJson()}>\n <Suspense fallback={null}>\n <UserFetcher app={app} />\n </Suspense>\n <TranslationProvider lang={lang}>\n {children}\n </TranslationProvider>\n </StackProviderClient>\n );\n}\n\nfunction UserFetcher(props: { app: StackClientApp<true> }) {\n const userPromise = props.app.getUser().then((user) => user?.toClientJson() ?? null);\n return <UserSetter userJsonPromise={userPromise} />;\n}\n"],"mappings":";AAAA,SAAgB,gBAAgB;AAChC,SAAwD,+BAA+B;AACvF,SAAS,qBAAqB,kBAAkB;AAChD,SAAS,2BAA2B;
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/stack-provider.tsx"],"sourcesContent":["import React, { Suspense } from 'react';\nimport { StackAdminApp, StackClientApp, StackServerApp, stackAppInternalsSymbol } from '../lib/stack-app';\nimport { StackProviderClient, UserSetter } from './stack-provider-client';\nimport { TranslationProvider } from './translation-provider';\n\n\nexport default function StackProvider({\n children,\n app,\n lang,\n translationOverrides,\n}: {\n lang?: React.ComponentProps<typeof TranslationProvider>['lang'],\n /**\n * A mapping of English translations to translated equivalents.\n *\n * These will take priority over the translations from the language specified in the `lang` property. Note that the\n * keys are case-sensitive.\n */\n translationOverrides?: Record<string, string>,\n children: React.ReactNode,\n // list all three types of apps even though server and admin are subclasses of client so it's clear that you can pass any\n app: StackClientApp<true> | StackServerApp<true> | StackAdminApp<true>,\n}) {\n return (\n <StackProviderClient appJson={app[stackAppInternalsSymbol].toClientJson()}>\n <Suspense fallback={null}>\n <UserFetcher app={app} />\n </Suspense>\n <TranslationProvider lang={lang} translationOverrides={translationOverrides}>\n {children}\n </TranslationProvider>\n </StackProviderClient>\n );\n}\n\nfunction UserFetcher(props: { app: StackClientApp<true> }) {\n const userPromise = props.app.getUser().then((user) => user?.toClientJson() ?? null);\n return <UserSetter userJsonPromise={userPromise} />;\n}\n"],"mappings":";AAAA,SAAgB,gBAAgB;AAChC,SAAwD,+BAA+B;AACvF,SAAS,qBAAqB,kBAAkB;AAChD,SAAS,2BAA2B;AAsBhC,SAEI,KAFJ;AAnBW,SAAR,cAA+B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAYG;AACD,SACE,qBAAC,uBAAoB,SAAS,IAAI,uBAAuB,EAAE,aAAa,GACtE;AAAA,wBAAC,YAAS,UAAU,MAClB,8BAAC,eAAY,KAAU,GACzB;AAAA,IACA,oBAAC,uBAAoB,MAAY,sBAC9B,UACH;AAAA,KACF;AAEJ;AAEA,SAAS,YAAY,OAAsC;AACzD,QAAM,cAAc,MAAM,IAAI,QAAQ,EAAE,KAAK,CAAC,SAAS,MAAM,aAAa,KAAK,IAAI;AACnF,SAAO,oBAAC,cAAW,iBAAiB,aAAa;AACnD;","names":[]}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
// src/providers/translation-provider.tsx
|
|
2
|
-
import {
|
|
2
|
+
import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
|
|
3
|
+
import { quetzalKeys, quetzalLocales } from "../generated/quetzal-translations";
|
|
3
4
|
import { TranslationProviderClient } from "./translation-provider-client";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
async function TranslationProvider({ lang, children }) {
|
|
6
|
+
async function TranslationProvider({ lang, translationOverrides, children }) {
|
|
6
7
|
const locale = quetzalLocales.get(lang ?? void 0);
|
|
7
|
-
|
|
8
|
+
const localeWithOverrides = new Map(locale);
|
|
9
|
+
for (const [orig, override] of Object.entries(translationOverrides ?? {})) {
|
|
10
|
+
const key = quetzalKeys.get(orig) ?? throwErr(new Error(`Invalid translation override: Original key ${JSON.stringify(orig)} not found. Make sure you are passing the correct values into the translationOverrides property of the component.`));
|
|
11
|
+
localeWithOverrides.set(key, override);
|
|
12
|
+
}
|
|
13
|
+
return /* @__PURE__ */ jsx(TranslationProviderClient, { quetzalKeys, quetzalLocale: localeWithOverrides, children });
|
|
8
14
|
}
|
|
9
15
|
export {
|
|
10
16
|
TranslationProvider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/translation-provider.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/translation-provider.tsx"],"sourcesContent":["import { throwErr } from \"@stackframe/stack-shared/dist/utils/errors\";\nimport { quetzalKeys, quetzalLocales } from \"../generated/quetzal-translations\";\nimport { TranslationProviderClient } from \"./translation-provider-client\";\n\nexport async function TranslationProvider({ lang, translationOverrides, children }: {\n lang: Parameters<typeof quetzalLocales.get>[0] | undefined,\n translationOverrides?: Record<string, string>,\n children: React.ReactNode,\n}) {\n const locale = quetzalLocales.get(lang ?? (undefined as never));\n\n const localeWithOverrides = new Map<string, string>(locale);\n for (const [orig, override] of Object.entries(translationOverrides ?? {})) {\n const key = quetzalKeys.get(orig as never) ?? throwErr(new Error(`Invalid translation override: Original key ${JSON.stringify(orig)} not found. Make sure you are passing the correct values into the translationOverrides property of the component.`));\n localeWithOverrides.set(key, override);\n }\n\n return <TranslationProviderClient quetzalKeys={quetzalKeys} quetzalLocale={localeWithOverrides}>\n {children}\n </TranslationProviderClient>;\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,aAAa,sBAAsB;AAC5C,SAAS,iCAAiC;AAejC;AAbT,eAAsB,oBAAoB,EAAE,MAAM,sBAAsB,SAAS,GAI9E;AACD,QAAM,SAAS,eAAe,IAAI,QAAS,MAAmB;AAE9D,QAAM,sBAAsB,IAAI,IAAoB,MAAM;AAC1D,aAAW,CAAC,MAAM,QAAQ,KAAK,OAAO,QAAQ,wBAAwB,CAAC,CAAC,GAAG;AACzE,UAAM,MAAM,YAAY,IAAI,IAAa,KAAK,SAAS,IAAI,MAAM,8CAA8C,KAAK,UAAU,IAAI,CAAC,mHAAmH,CAAC;AACvP,wBAAoB,IAAI,KAAK,QAAQ;AAAA,EACvC;AAEA,SAAO,oBAAC,6BAA0B,aAA0B,eAAe,qBACxE,UACH;AACF;","names":[]}
|