@stackframe/stack 2.6.24 → 2.6.25

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 (34) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/components/credential-sign-in.js +1 -0
  3. package/dist/components/credential-sign-in.js.map +1 -1
  4. package/dist/components/credential-sign-up.js +1 -0
  5. package/dist/components/credential-sign-up.js.map +1 -1
  6. package/dist/components-page/account-settings.js +3 -0
  7. package/dist/components-page/account-settings.js.map +1 -1
  8. package/dist/components-page/password-reset.js +2 -0
  9. package/dist/components-page/password-reset.js.map +1 -1
  10. package/dist/esm/components/credential-sign-in.js +1 -0
  11. package/dist/esm/components/credential-sign-in.js.map +1 -1
  12. package/dist/esm/components/credential-sign-up.js +1 -0
  13. package/dist/esm/components/credential-sign-up.js.map +1 -1
  14. package/dist/esm/components-page/account-settings.js +3 -0
  15. package/dist/esm/components-page/account-settings.js.map +1 -1
  16. package/dist/esm/components-page/password-reset.js +2 -0
  17. package/dist/esm/components-page/password-reset.js.map +1 -1
  18. package/dist/esm/lib/stack-app.js +1 -1
  19. package/dist/esm/providers/stack-provider.js +3 -2
  20. package/dist/esm/providers/stack-provider.js.map +1 -1
  21. package/dist/esm/providers/translation-provider.js +9 -3
  22. package/dist/esm/providers/translation-provider.js.map +1 -1
  23. package/dist/generated/quetzal-translations.d.mts +2 -2
  24. package/dist/generated/quetzal-translations.d.ts +2 -2
  25. package/dist/lib/stack-app.js +1 -1
  26. package/dist/providers/stack-provider.d.mts +8 -1
  27. package/dist/providers/stack-provider.d.ts +8 -1
  28. package/dist/providers/stack-provider.js +3 -2
  29. package/dist/providers/stack-provider.js.map +1 -1
  30. package/dist/providers/translation-provider.d.mts +2 -1
  31. package/dist/providers/translation-provider.d.ts +2 -1
  32. package/dist/providers/translation-provider.js +8 -2
  33. package/dist/providers/translation-provider.js.map +1 -1
  34. package/package.json +4 -4
@@ -64,7 +64,7 @@ var import_url = require("../utils/url");
64
64
  var import_auth = require("./auth");
65
65
  var import_cookie = require("./cookie");
66
66
  var NextNavigation = (0, import_compile_time.scrambleDuringCompileTime)(NextNavigationUnscrambled);
67
- var clientVersion = "js @stackframe/stack@2.6.24";
67
+ var clientVersion = "js @stackframe/stack@2.6.25";
68
68
  function getUrls(partial) {
69
69
  const handler = partial.handler ?? "/handler";
70
70
  const home = partial.home ?? "/";
@@ -14,8 +14,15 @@ import '@stackframe/stack-shared/dist/utils/oauth';
14
14
  import '@stackframe/stack-shared/dist/utils/results';
15
15
  import '../generated/quetzal-translations.mjs';
16
16
 
17
- declare function StackProvider({ children, app, lang, }: {
17
+ declare function StackProvider({ children, app, lang, translationOverrides, }: {
18
18
  lang?: React__default.ComponentProps<typeof TranslationProvider>['lang'];
19
+ /**
20
+ * A mapping of English translations to translated equivalents.
21
+ *
22
+ * These will take priority over the translations from the language specified in the `lang` property. Note that the
23
+ * keys are case-sensitive.
24
+ */
25
+ translationOverrides?: Record<string, string>;
19
26
  children: React__default.ReactNode;
20
27
  app: StackClientApp<true> | StackServerApp<true> | StackAdminApp<true>;
21
28
  }): react_jsx_runtime.JSX.Element;
@@ -14,8 +14,15 @@ import '@stackframe/stack-shared/dist/utils/oauth';
14
14
  import '@stackframe/stack-shared/dist/utils/results';
15
15
  import '../generated/quetzal-translations.js';
16
16
 
17
- declare function StackProvider({ children, app, lang, }: {
17
+ declare function StackProvider({ children, app, lang, translationOverrides, }: {
18
18
  lang?: React__default.ComponentProps<typeof TranslationProvider>['lang'];
19
+ /**
20
+ * A mapping of English translations to translated equivalents.
21
+ *
22
+ * These will take priority over the translations from the language specified in the `lang` property. Note that the
23
+ * keys are case-sensitive.
24
+ */
25
+ translationOverrides?: Record<string, string>;
19
26
  children: React__default.ReactNode;
20
27
  app: StackClientApp<true> | StackServerApp<true> | StackAdminApp<true>;
21
28
  }): react_jsx_runtime.JSX.Element;
@@ -31,11 +31,12 @@ var import_jsx_runtime = require("react/jsx-runtime");
31
31
  function StackProvider({
32
32
  children,
33
33
  app,
34
- lang
34
+ lang,
35
+ translationOverrides
35
36
  }) {
36
37
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_stack_provider_client.StackProviderClient, { appJson: app[import_stack_app.stackAppInternalsSymbol].toClientJson(), children: [
37
38
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, { fallback: null, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserFetcher, { app }) }),
38
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_translation_provider.TranslationProvider, { lang, children })
39
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_translation_provider.TranslationProvider, { lang, translationOverrides, children })
39
40
  ] });
40
41
  }
41
42
  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;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAChC,uBAAuF;AACvF,mCAAgD;AAChD,kCAAoC;AAchC;AAXW,SAAR,cAA+B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,SACE,6CAAC,oDAAoB,SAAS,IAAI,wCAAuB,EAAE,aAAa,GACtE;AAAA,gDAAC,yBAAS,UAAU,MAClB,sDAAC,eAAY,KAAU,GACzB;AAAA,IACA,4CAAC,mDAAoB,MAClB,UACH;AAAA,KACF;AAEJ;AAEA,SAAS,YAAY,OAAsC;AACzD,QAAM,cAAc,MAAM,IAAI,QAAQ,EAAE,KAAK,CAAC,SAAS,MAAM,aAAa,KAAK,IAAI;AACnF,SAAO,4CAAC,2CAAW,iBAAiB,aAAa;AACnD;","names":[]}
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;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAChC,uBAAuF;AACvF,mCAAgD;AAChD,kCAAoC;AAsBhC;AAnBW,SAAR,cAA+B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAYG;AACD,SACE,6CAAC,oDAAoB,SAAS,IAAI,wCAAuB,EAAE,aAAa,GACtE;AAAA,gDAAC,yBAAS,UAAU,MAClB,sDAAC,eAAY,KAAU,GACzB;AAAA,IACA,4CAAC,mDAAoB,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,4CAAC,2CAAW,iBAAiB,aAAa;AACnD;","names":[]}
@@ -1,8 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { quetzalLocales } from '../generated/quetzal-translations.mjs';
3
3
 
4
- declare function TranslationProvider({ lang, children }: {
4
+ declare function TranslationProvider({ lang, translationOverrides, children }: {
5
5
  lang: Parameters<typeof quetzalLocales.get>[0] | undefined;
6
+ translationOverrides?: Record<string, string>;
6
7
  children: React.ReactNode;
7
8
  }): Promise<react_jsx_runtime.JSX.Element>;
8
9
 
@@ -1,8 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { quetzalLocales } from '../generated/quetzal-translations.js';
3
3
 
4
- declare function TranslationProvider({ lang, children }: {
4
+ declare function TranslationProvider({ lang, translationOverrides, children }: {
5
5
  lang: Parameters<typeof quetzalLocales.get>[0] | undefined;
6
+ translationOverrides?: Record<string, string>;
6
7
  children: React.ReactNode;
7
8
  }): Promise<react_jsx_runtime.JSX.Element>;
8
9
 
@@ -23,12 +23,18 @@ __export(translation_provider_exports, {
23
23
  TranslationProvider: () => TranslationProvider
24
24
  });
25
25
  module.exports = __toCommonJS(translation_provider_exports);
26
+ var import_errors = require("@stackframe/stack-shared/dist/utils/errors");
26
27
  var import_quetzal_translations = require("../generated/quetzal-translations");
27
28
  var import_translation_provider_client = require("./translation-provider-client");
28
29
  var import_jsx_runtime = require("react/jsx-runtime");
29
- async function TranslationProvider({ lang, children }) {
30
+ async function TranslationProvider({ lang, translationOverrides, children }) {
30
31
  const locale = import_quetzal_translations.quetzalLocales.get(lang ?? void 0);
31
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_translation_provider_client.TranslationProviderClient, { quetzalKeys: import_quetzal_translations.quetzalKeys, quetzalLocale: locale ?? /* @__PURE__ */ new Map(), children });
32
+ const localeWithOverrides = new Map(locale);
33
+ for (const [orig, override] of Object.entries(translationOverrides ?? {})) {
34
+ const key = import_quetzal_translations.quetzalKeys.get(orig) ?? (0, import_errors.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.`));
35
+ localeWithOverrides.set(key, override);
36
+ }
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_translation_provider_client.TranslationProviderClient, { quetzalKeys: import_quetzal_translations.quetzalKeys, quetzalLocale: localeWithOverrides, children });
32
38
  }
33
39
  // Annotate the CommonJS export names for ESM import in node:
34
40
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/providers/translation-provider.tsx"],"sourcesContent":["import { quetzalLocales, quetzalKeys } from \"../generated/quetzal-translations\";\nimport { TranslationProviderClient } from \"./translation-provider-client\";\n\nexport async function TranslationProvider({ lang, children }: {\n lang: Parameters<typeof quetzalLocales.get>[0] | undefined,\n children: React.ReactNode,\n}) {\n const locale = quetzalLocales.get(lang ?? (undefined as never));\n return <TranslationProviderClient quetzalKeys={quetzalKeys} quetzalLocale={locale ?? new Map()}>\n {children}\n </TranslationProviderClient>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kCAA4C;AAC5C,yCAA0C;AAOjC;AALT,eAAsB,oBAAoB,EAAE,MAAM,SAAS,GAGxD;AACD,QAAM,SAAS,2CAAe,IAAI,QAAS,MAAmB;AAC9D,SAAO,4CAAC,gEAA0B,aAAa,yCAAa,eAAe,UAAU,oBAAI,IAAI,GAC1F,UACH;AACF;","names":[]}
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;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAyB;AACzB,kCAA4C;AAC5C,yCAA0C;AAejC;AAbT,eAAsB,oBAAoB,EAAE,MAAM,sBAAsB,SAAS,GAI9E;AACD,QAAM,SAAS,2CAAe,IAAI,QAAS,MAAmB;AAE9D,QAAM,sBAAsB,IAAI,IAAoB,MAAM;AAC1D,aAAW,CAAC,MAAM,QAAQ,KAAK,OAAO,QAAQ,wBAAwB,CAAC,CAAC,GAAG;AACzE,UAAM,MAAM,wCAAY,IAAI,IAAa,SAAK,wBAAS,IAAI,MAAM,8CAA8C,KAAK,UAAU,IAAI,CAAC,mHAAmH,CAAC;AACvP,wBAAoB,IAAI,KAAK,QAAQ;AAAA,EACvC;AAEA,SAAO,4CAAC,gEAA0B,aAAa,yCAAa,eAAe,qBACxE,UACH;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackframe/stack",
3
- "version": "2.6.24",
3
+ "version": "2.6.25",
4
4
  "sideEffects": false,
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -43,9 +43,9 @@
43
43
  "tailwindcss-animate": "^1.0.7",
44
44
  "tsx": "^4.7.2",
45
45
  "yup": "^1.4.0",
46
- "@stackframe/stack-sc": "2.6.24",
47
- "@stackframe/stack-ui": "2.6.24",
48
- "@stackframe/stack-shared": "2.6.24"
46
+ "@stackframe/stack-shared": "2.6.25",
47
+ "@stackframe/stack-ui": "2.6.25",
48
+ "@stackframe/stack-sc": "2.6.25"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "next": ">=14.1 || >=15.0.0-rc.0",