@stackframe/stack 2.5.3 → 2.5.5
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 +18 -0
- package/dist/components/credential-sign-in-form.js +4 -14
- package/dist/components/credential-sign-in-form.js.map +1 -1
- package/dist/components/credential-sign-up-form.js +18 -20
- package/dist/components/credential-sign-up-form.js.map +1 -1
- package/dist/components/elements/maybe-full-page.js.map +1 -1
- package/dist/components/elements/ssr-layout-effect.d.mts +1 -0
- package/dist/components/elements/ssr-layout-effect.d.ts +1 -0
- package/dist/components/elements/ssr-layout-effect.js +8 -1
- package/dist/components/elements/ssr-layout-effect.js.map +1 -1
- package/dist/components/elements/user-avatar.d.mts +5 -3
- package/dist/components/elements/user-avatar.d.ts +5 -3
- package/dist/components/elements/user-avatar.js.map +1 -1
- package/dist/components/forgot-password-form.js +3 -13
- package/dist/components/forgot-password-form.js.map +1 -1
- package/dist/components/magic-link-sign-in-form.js +3 -13
- package/dist/components/magic-link-sign-in-form.js.map +1 -1
- package/dist/components/message-cards/known-error-message-card.js.map +1 -1
- package/dist/components/message-cards/message-card.js.map +1 -1
- package/dist/components/message-cards/predefined-message-card.js.map +1 -1
- package/dist/components/oauth-button-group.d.mts +7 -2
- package/dist/components/oauth-button-group.d.ts +7 -2
- package/dist/components/oauth-button-group.js +1 -1
- package/dist/components/oauth-button-group.js.map +1 -1
- package/dist/components/oauth-button.js +28 -26
- package/dist/components/oauth-button.js.map +1 -1
- package/dist/components/password-reset-form.js +4 -3
- package/dist/components/password-reset-form.js.map +1 -1
- package/dist/components/selected-team-switcher.d.mts +5 -3
- package/dist/components/selected-team-switcher.d.ts +5 -3
- package/dist/components/selected-team-switcher.js +12 -1
- package/dist/components/selected-team-switcher.js.map +1 -1
- package/dist/components/user-button.js.map +1 -1
- package/dist/components-page/account-settings.js +42 -7
- package/dist/components-page/account-settings.js.map +1 -1
- package/dist/components-page/auth-page.d.mts +9 -2
- package/dist/components-page/auth-page.d.ts +9 -2
- package/dist/components-page/auth-page.js +3 -3
- package/dist/components-page/auth-page.js.map +1 -1
- package/dist/components-page/email-verification.js +12 -2
- package/dist/components-page/email-verification.js.map +1 -1
- package/dist/components-page/error-page.js.map +1 -1
- package/dist/components-page/magic-link-callback.js +13 -3
- package/dist/components-page/magic-link-callback.js.map +1 -1
- package/dist/components-page/password-reset.js +2 -2
- package/dist/components-page/password-reset.js.map +1 -1
- package/dist/components-page/sign-out.js +12 -2
- package/dist/components-page/sign-out.js.map +1 -1
- package/dist/components-page/stack-handler.d.mts +5 -3
- package/dist/components-page/stack-handler.d.ts +5 -3
- package/dist/components-page/stack-handler.js +27 -10
- package/dist/components-page/stack-handler.js.map +1 -1
- package/dist/esm/components/credential-sign-in-form.js +4 -4
- package/dist/esm/components/credential-sign-in-form.js.map +1 -1
- package/dist/esm/components/credential-sign-up-form.js +18 -20
- package/dist/esm/components/credential-sign-up-form.js.map +1 -1
- package/dist/esm/components/elements/maybe-full-page.js.map +1 -1
- package/dist/esm/components/elements/ssr-layout-effect.js +8 -1
- package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -1
- package/dist/esm/components/elements/user-avatar.js.map +1 -1
- package/dist/esm/components/forgot-password-form.js +3 -3
- package/dist/esm/components/forgot-password-form.js.map +1 -1
- package/dist/esm/components/magic-link-sign-in-form.js +3 -3
- package/dist/esm/components/magic-link-sign-in-form.js.map +1 -1
- package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -1
- package/dist/esm/components/message-cards/message-card.js.map +1 -1
- package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -1
- package/dist/esm/components/oauth-button-group.js +1 -1
- package/dist/esm/components/oauth-button-group.js.map +1 -1
- package/dist/esm/components/oauth-button.js +29 -27
- package/dist/esm/components/oauth-button.js.map +1 -1
- package/dist/esm/components/password-reset-form.js +4 -3
- package/dist/esm/components/password-reset-form.js.map +1 -1
- package/dist/esm/components/selected-team-switcher.js +2 -1
- package/dist/esm/components/selected-team-switcher.js.map +1 -1
- package/dist/esm/components/user-button.js.map +1 -1
- package/dist/esm/components-page/account-settings.js +42 -7
- package/dist/esm/components-page/account-settings.js.map +1 -1
- package/dist/esm/components-page/auth-page.js +3 -3
- package/dist/esm/components-page/auth-page.js.map +1 -1
- package/dist/esm/components-page/email-verification.js +2 -2
- package/dist/esm/components-page/email-verification.js.map +1 -1
- package/dist/esm/components-page/error-page.js.map +1 -1
- package/dist/esm/components-page/magic-link-callback.js +3 -3
- package/dist/esm/components-page/magic-link-callback.js.map +1 -1
- package/dist/esm/components-page/password-reset.js +2 -2
- package/dist/esm/components-page/password-reset.js.map +1 -1
- package/dist/esm/components-page/sign-out.js +2 -2
- package/dist/esm/components-page/sign-out.js.map +1 -1
- package/dist/esm/components-page/stack-handler.js +27 -10
- package/dist/esm/components-page/stack-handler.js.map +1 -1
- package/dist/esm/index.js +1 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/auth.js.map +1 -1
- package/dist/esm/lib/cookie.js +6 -1
- package/dist/esm/lib/cookie.js.map +1 -1
- package/dist/esm/lib/hooks.js.map +1 -1
- package/dist/esm/lib/stack-app.js +478 -349
- package/dist/esm/lib/stack-app.js.map +1 -1
- package/dist/esm/providers/stack-provider-client.js +3 -4
- package/dist/esm/providers/stack-provider-client.js.map +1 -1
- package/dist/esm/providers/theme-provider.js +16 -7
- package/dist/esm/providers/theme-provider.js.map +1 -1
- package/dist/esm/utils/browser-script.js +2 -2
- package/dist/esm/utils/browser-script.js.map +1 -1
- package/dist/esm/utils/email.js +2 -2
- package/dist/esm/utils/email.js.map +1 -1
- package/dist/index.d.mts +6 -4
- package/dist/index.d.ts +6 -4
- package/dist/index.js +4 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/cookie.js +6 -1
- package/dist/lib/cookie.js.map +1 -1
- package/dist/lib/hooks.d.mts +5 -3
- package/dist/lib/hooks.d.ts +5 -3
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/stack-app.d.mts +219 -114
- package/dist/lib/stack-app.d.ts +219 -114
- package/dist/lib/stack-app.js +500 -369
- package/dist/lib/stack-app.js.map +1 -1
- package/dist/providers/stack-provider-client.d.mts +8 -6
- package/dist/providers/stack-provider-client.d.ts +8 -6
- package/dist/providers/stack-provider-client.js +4 -5
- package/dist/providers/stack-provider-client.js.map +1 -1
- package/dist/providers/stack-provider.d.mts +5 -3
- package/dist/providers/stack-provider.d.ts +5 -3
- package/dist/providers/theme-provider.d.mts +2 -1
- package/dist/providers/theme-provider.d.ts +2 -1
- package/dist/providers/theme-provider.js +15 -6
- package/dist/providers/theme-provider.js.map +1 -1
- package/dist/utils/browser-script.d.mts +3 -1
- package/dist/utils/browser-script.d.ts +3 -1
- package/dist/utils/browser-script.js +2 -2
- package/dist/utils/browser-script.js.map +1 -1
- package/dist/utils/email.js +2 -12
- package/dist/utils/email.js.map +1 -1
- package/package.json +4 -5
- package/dist/esm/providers/styled-components-registry.js +0 -25
- package/dist/esm/providers/styled-components-registry.js.map +0 -1
- package/dist/providers/styled-components-registry.d.mts +0 -8
- package/dist/providers/styled-components-registry.d.ts +0 -8
- package/dist/providers/styled-components-registry.js +0 -45
- package/dist/providers/styled-components-registry.js.map +0 -1
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
// src/providers/stack-provider-client.tsx
|
|
5
|
-
import { useEffect } from "react";
|
|
6
|
-
import { StackClientApp, stackAppInternalsSymbol } from "../lib/stack-app";
|
|
7
|
-
import React from "react";
|
|
8
|
-
import { useStackApp } from "..";
|
|
9
5
|
import { globalVar } from "@stackframe/stack-shared/dist/utils/globals";
|
|
6
|
+
import React, { useEffect } from "react";
|
|
7
|
+
import { useStackApp } from "..";
|
|
8
|
+
import { StackClientApp, stackAppInternalsSymbol } from "../lib/stack-app";
|
|
10
9
|
import { jsx } from "react/jsx-runtime";
|
|
11
10
|
var StackContext = React.createContext(null);
|
|
12
11
|
function StackProviderClient(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/stack-provider-client.tsx"],"sourcesContent":["\"use client\";\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/stack-provider-client.tsx"],"sourcesContent":["\"use client\";\n\nimport { CurrentUserCrud } from \"@stackframe/stack-shared/dist/interface/crud/current-user\";\nimport { globalVar } from \"@stackframe/stack-shared/dist/utils/globals\";\nimport React, { useEffect } from \"react\";\nimport { useStackApp } from \"..\";\nimport { StackClientApp, StackClientAppJson, stackAppInternalsSymbol } from \"../lib/stack-app\";\n\nexport const StackContext = React.createContext<null | {\n app: StackClientApp<true>,\n}>(null);\n\nexport function StackProviderClient(props: {\n appJson: StackClientAppJson<true, string>,\n children?: React.ReactNode,\n}) {\n const appJson = props.appJson;\n const app = StackClientApp[stackAppInternalsSymbol].fromClientJson(appJson);\n\n if (process.env.NODE_ENV === \"development\") {\n globalVar.stackApp = app;\n }\n\n return (\n <StackContext.Provider value={{ app }}>\n {props.children}\n </StackContext.Provider>\n );\n}\n\nexport function UserSetter(props: { userJsonPromise: Promise<CurrentUserCrud['Client']['Read'] | null> }) {\n const app = useStackApp();\n useEffect(() => {\n const promise = (async () => await props.userJsonPromise)(); // there is a Next.js bug where Promises passed by server components return `undefined` as their `then` value, so wrap it in a normal promise\n app[stackAppInternalsSymbol].setCurrentUser(promise);\n }, []);\n return null;\n}\n"],"mappings":";;;AAGA,SAAS,iBAAiB;AAC1B,OAAO,SAAS,iBAAiB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,gBAAoC,+BAA+B;AAkBxE;AAhBG,IAAM,eAAe,MAAM,cAE/B,IAAI;AAEA,SAAS,oBAAoB,OAGjC;AACD,QAAM,UAAU,MAAM;AACtB,QAAM,MAAM,eAAe,uBAAuB,EAAE,eAAe,OAAO;AAE1E,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAU,WAAW;AAAA,EACvB;AAEA,SACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,EAAE,IAAI,GACjC,gBAAM,UACT;AAEJ;AAEO,SAAS,WAAW,OAA+E;AACxG,QAAM,MAAM,YAAY;AACxB,YAAU,MAAM;AACd,UAAM,WAAW,YAAY,MAAM,MAAM,iBAAiB;AAC1D,QAAI,uBAAuB,EAAE,eAAe,OAAO;AAAA,EACrD,GAAG,CAAC,CAAC;AACL,SAAO;AACT;","names":[]}
|
|
@@ -2,20 +2,19 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
// src/providers/theme-provider.tsx
|
|
5
|
-
import StyledComponentsRegistry from "./styled-components-registry";
|
|
6
5
|
import { globalCSS } from "../generated/global-css";
|
|
7
6
|
import { BrowserScript } from "../utils/browser-script";
|
|
8
7
|
import { DEFAULT_THEME } from "../utils/constants";
|
|
9
8
|
import Color from "color";
|
|
10
9
|
import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
|
|
11
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
11
|
function convertColorToCSSVars(obj) {
|
|
13
12
|
return Object.fromEntries(Object.entries(obj).map(([key, value]) => {
|
|
14
13
|
const color = Color(value).hsl().array();
|
|
15
14
|
return [
|
|
16
15
|
// Convert camelCase key to dash-case
|
|
17
16
|
key.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`),
|
|
18
|
-
// Convert color to CSS HSL string
|
|
17
|
+
// Convert color to CSS HSL string
|
|
19
18
|
`${color[0]} ${color[1]}% ${color[2]}%`
|
|
20
19
|
];
|
|
21
20
|
}));
|
|
@@ -42,7 +41,8 @@ function convertColorsToCSS(theme) {
|
|
|
42
41
|
}
|
|
43
42
|
function StackTheme({
|
|
44
43
|
theme,
|
|
45
|
-
children
|
|
44
|
+
children,
|
|
45
|
+
nonce
|
|
46
46
|
}) {
|
|
47
47
|
const themeValue = {
|
|
48
48
|
...DEFAULT_THEME,
|
|
@@ -50,9 +50,18 @@ function StackTheme({
|
|
|
50
50
|
dark: { ...DEFAULT_THEME.dark, ...theme?.dark },
|
|
51
51
|
light: { ...DEFAULT_THEME.light, ...theme?.light }
|
|
52
52
|
};
|
|
53
|
-
return /* @__PURE__ */ jsxs(
|
|
54
|
-
/* @__PURE__ */ jsx(BrowserScript, {}),
|
|
55
|
-
/* @__PURE__ */ jsx(
|
|
53
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
54
|
+
/* @__PURE__ */ jsx(BrowserScript, { nonce }),
|
|
55
|
+
/* @__PURE__ */ jsx(
|
|
56
|
+
"style",
|
|
57
|
+
{
|
|
58
|
+
suppressHydrationWarning: true,
|
|
59
|
+
nonce,
|
|
60
|
+
dangerouslySetInnerHTML: {
|
|
61
|
+
__html: globalCSS + "\n" + convertColorsToCSS(themeValue)
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
),
|
|
56
65
|
children
|
|
57
66
|
] });
|
|
58
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/theme-provider.tsx"],"sourcesContent":["'use client';\n\nimport React from \"react\";\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/theme-provider.tsx"],"sourcesContent":["'use client';\n\nimport React from \"react\";\nimport { globalCSS } from \"../generated/global-css\";\nimport { BrowserScript } from \"../utils/browser-script\";\nimport { DEFAULT_THEME } from \"../utils/constants\";\nimport Color from \"color\";\nimport { deindent } from \"@stackframe/stack-shared/dist/utils/strings\";\n\ntype Colors = {\n background: string,\n foreground: string,\n card: string,\n cardForeground: string,\n popover: string,\n popoverForeground: string,\n primary: string,\n primaryForeground: string,\n secondary: string,\n secondaryForeground: string,\n muted: string,\n mutedForeground: string,\n accent: string,\n accentForeground: string,\n destructive: string,\n destructiveForeground: string,\n border: string,\n input: string,\n ring: string,\n}\n\nexport type Theme = {\n light: Colors,\n dark: Colors,\n radius: string,\n};\n\ntype ThemeConfig = {\n light?: Partial<Colors>,\n dark?: Partial<Colors>,\n} & Partial<Omit<Theme, 'light' | 'dark'>>;\n\nfunction convertColorToCSSVars(obj: Record<string, string>) {\n return Object.fromEntries(Object.entries(obj).map(([key, value]) => {\n const color = Color(value).hsl().array();\n return [\n // Convert camelCase key to dash-case\n key.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`),\n // Convert color to CSS HSL string\n `${color[0]} ${color[1]}% ${color[2]}%`\n ];\n }));\n}\n\nfunction convertColorsToCSS(theme: Theme) {\n const { dark, light, ...rest } = theme;\n const colors = {\n light: { ...convertColorToCSSVars(light), ...rest },\n dark: convertColorToCSSVars(dark),\n };\n\n function colorsToCSSVars(colors: Record<string, string>) {\n return Object.entries(colors).map((params) => {\n return `--${params[0]}: ${params[1]};\\n`;\n }).join('');\n }\n\n return deindent`\n .stack-scope {\n ${colorsToCSSVars(colors.light)}\n }\n [data-stack-theme=\"dark\"] .stack-scope {\n ${colorsToCSSVars(colors.dark)}\n }`;\n}\n\n\nexport function StackTheme({\n theme,\n children,\n nonce,\n} : {\n theme?: ThemeConfig,\n children?: React.ReactNode,\n nonce?: string,\n}) {\n const themeValue: Theme = {\n ...DEFAULT_THEME,\n ...theme,\n dark: { ...DEFAULT_THEME.dark, ...theme?.dark },\n light: { ...DEFAULT_THEME.light, ...theme?.light },\n };\n\n return (\n <>\n <BrowserScript nonce={nonce} />\n <style\n suppressHydrationWarning\n nonce={nonce}\n dangerouslySetInnerHTML={{\n __html: globalCSS + \"\\n\" + convertColorsToCSS(themeValue),\n }}\n />\n {children}\n </>\n );\n}"],"mappings":";;;AAGA,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,OAAO,WAAW;AAClB,SAAS,gBAAgB;AAuFrB,mBACE,KADF;AApDJ,SAAS,sBAAsB,KAA6B;AAC1D,SAAO,OAAO,YAAY,OAAO,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AAClE,UAAM,QAAQ,MAAM,KAAK,EAAE,IAAI,EAAE,MAAM;AACvC,WAAO;AAAA;AAAA,MAEL,IAAI,QAAQ,UAAU,OAAK,IAAI,EAAE,YAAY,CAAC,EAAE;AAAA;AAAA,MAEhD,GAAG,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;AAAA,IACtC;AAAA,EACF,CAAC,CAAC;AACJ;AAEA,SAAS,mBAAmB,OAAc;AACxC,QAAM,EAAE,MAAM,OAAO,GAAG,KAAK,IAAI;AACjC,QAAM,SAAS;AAAA,IACb,OAAO,EAAE,GAAG,sBAAsB,KAAK,GAAG,GAAG,KAAK;AAAA,IAClD,MAAM,sBAAsB,IAAI;AAAA,EAClC;AAEA,WAAS,gBAAgBA,SAAgC;AACvD,WAAO,OAAO,QAAQA,OAAM,EAAE,IAAI,CAAC,WAAW;AAC5C,aAAO,KAAK,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;AAAA;AAAA,IACrC,CAAC,EAAE,KAAK,EAAE;AAAA,EACZ;AAEA,SAAO;AAAA;AAAA,IAEL,gBAAgB,OAAO,KAAK,CAAC;AAAA;AAAA;AAAA,IAG7B,gBAAgB,OAAO,IAAI,CAAC;AAAA;AAEhC;AAGO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,QAAM,aAAoB;AAAA,IACxB,GAAG;AAAA,IACH,GAAG;AAAA,IACH,MAAM,EAAE,GAAG,cAAc,MAAM,GAAG,OAAO,KAAK;AAAA,IAC9C,OAAO,EAAE,GAAG,cAAc,OAAO,GAAG,OAAO,MAAM;AAAA,EACnD;AAEA,SACE,iCACE;AAAA,wBAAC,iBAAc,OAAc;AAAA,IAC7B;AAAA,MAAC;AAAA;AAAA,QACC,0BAAwB;AAAA,QACxB;AAAA,QACA,yBAAyB;AAAA,UACvB,QAAQ,YAAY,OAAO,mBAAmB,UAAU;AAAA,QAC1D;AAAA;AAAA,IACF;AAAA,IACC;AAAA,KACH;AAEJ;","names":["colors"]}
|
|
@@ -26,8 +26,8 @@ var script = () => {
|
|
|
26
26
|
attributeFilter: attributes
|
|
27
27
|
});
|
|
28
28
|
};
|
|
29
|
-
function BrowserScript() {
|
|
30
|
-
return /* @__PURE__ */ jsx(SsrScript, { script: `(${script.toString()})()` });
|
|
29
|
+
function BrowserScript(props) {
|
|
30
|
+
return /* @__PURE__ */ jsx(SsrScript, { nonce: props.nonce, script: `(${script.toString()})()` });
|
|
31
31
|
}
|
|
32
32
|
export {
|
|
33
33
|
BrowserScript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/browser-script.tsx"],"sourcesContent":["// Note that this script can not import anything from outside as it will be converted to a string and executed in the browser.\n\nimport { SsrScript } from \"../components/elements/ssr-layout-effect\";\n\n// Also please note that there might be hydration issues with this script, always check the browser console for errors after changing this script.\nconst script = () => {\n const attributes = ['data-joy-color-scheme', 'data-mui-color-scheme', 'data-theme', 'data-color-scheme', 'class'];\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n for (const attributeName of attributes) {\n if (mutation.attributeName === attributeName) {\n const colorTheme = document.documentElement.getAttribute(attributeName);\n if (!colorTheme) {\n continue;\n }\n const darkMode = colorTheme.includes('dark');\n const lightMode = colorTheme.includes('light');\n if (!darkMode && !lightMode) {\n continue;\n }\n document.documentElement.setAttribute('data-stack-theme', darkMode ? 'dark' : 'light');\n }\n }\n });\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: attributes,\n });\n};\n\nexport function BrowserScript() {\n return <SsrScript script={`(${script.toString()})()`}/>;\n}"],"mappings":";AAEA,SAAS,iBAAiB;AAgCjB;AA7BT,IAAM,SAAS,MAAM;AACnB,QAAM,aAAa,CAAC,yBAAyB,yBAAyB,cAAc,qBAAqB,OAAO;AAEhH,QAAM,WAAW,IAAI,iBAAiB,CAAC,cAAc;AACnD,cAAU,QAAQ,CAAC,aAAa;AAC9B,iBAAW,iBAAiB,YAAY;AACtC,YAAI,SAAS,kBAAkB,eAAe;AAC5C,gBAAM,aAAa,SAAS,gBAAgB,aAAa,aAAa;AACtE,cAAI,CAAC,YAAY;AACf;AAAA,UACF;AACA,gBAAM,WAAW,WAAW,SAAS,MAAM;AAC3C,gBAAM,YAAY,WAAW,SAAS,OAAO;AAC7C,cAAI,CAAC,YAAY,CAAC,WAAW;AAC3B;AAAA,UACF;AACA,mBAAS,gBAAgB,aAAa,oBAAoB,WAAW,SAAS,OAAO;AAAA,QACvF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,QAAQ,SAAS,iBAAiB;AAAA,IACzC,YAAY;AAAA,IACZ,iBAAiB;AAAA,EACnB,CAAC;AACH;AAEO,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/browser-script.tsx"],"sourcesContent":["// Note that this script can not import anything from outside as it will be converted to a string and executed in the browser.\n\nimport { SsrScript } from \"../components/elements/ssr-layout-effect\";\n\n// Also please note that there might be hydration issues with this script, always check the browser console for errors after changing this script.\nconst script = () => {\n const attributes = ['data-joy-color-scheme', 'data-mui-color-scheme', 'data-theme', 'data-color-scheme', 'class'];\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n for (const attributeName of attributes) {\n if (mutation.attributeName === attributeName) {\n const colorTheme = document.documentElement.getAttribute(attributeName);\n if (!colorTheme) {\n continue;\n }\n const darkMode = colorTheme.includes('dark');\n const lightMode = colorTheme.includes('light');\n if (!darkMode && !lightMode) {\n continue;\n }\n document.documentElement.setAttribute('data-stack-theme', darkMode ? 'dark' : 'light');\n }\n }\n });\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: attributes,\n });\n};\n\nexport function BrowserScript(props : { nonce?: string }) {\n return <SsrScript nonce={props.nonce} script={`(${script.toString()})()`}/>;\n}"],"mappings":";AAEA,SAAS,iBAAiB;AAgCjB;AA7BT,IAAM,SAAS,MAAM;AACnB,QAAM,aAAa,CAAC,yBAAyB,yBAAyB,cAAc,qBAAqB,OAAO;AAEhH,QAAM,WAAW,IAAI,iBAAiB,CAAC,cAAc;AACnD,cAAU,QAAQ,CAAC,aAAa;AAC9B,iBAAW,iBAAiB,YAAY;AACtC,YAAI,SAAS,kBAAkB,eAAe;AAC5C,gBAAM,aAAa,SAAS,gBAAgB,aAAa,aAAa;AACtE,cAAI,CAAC,YAAY;AACf;AAAA,UACF;AACA,gBAAM,WAAW,WAAW,SAAS,MAAM;AAC3C,gBAAM,YAAY,WAAW,SAAS,OAAO;AAC7C,cAAI,CAAC,YAAY,CAAC,WAAW;AAC3B;AAAA,UACF;AACA,mBAAS,gBAAgB,aAAa,oBAAoB,WAAW,SAAS,OAAO;AAAA,QACvF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,QAAQ,SAAS,iBAAiB;AAAA,IACzC,YAAY;AAAA,IACZ,iBAAiB;AAAA,EACnB,CAAC;AACH;AAEO,SAAS,cAAc,OAA4B;AACxD,SAAO,oBAAC,aAAU,OAAO,MAAM,OAAO,QAAQ,IAAI,OAAO,SAAS,CAAC,OAAM;AAC3E;","names":[]}
|
package/dist/esm/utils/email.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// src/utils/email.tsx
|
|
2
|
-
import
|
|
2
|
+
import { yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
|
3
3
|
function validateEmail(email) {
|
|
4
4
|
if (typeof email !== "string") throw new Error("Email must be a string");
|
|
5
|
-
return
|
|
5
|
+
return yupString().email().isValidSync(email);
|
|
6
6
|
}
|
|
7
7
|
export {
|
|
8
8
|
validateEmail
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/email.tsx"],"sourcesContent":["import * as yup from \"yup\";\n\nexport function validateEmail(email: string): boolean {\n if (typeof email !== \"string\") throw new Error(\"Email must be a string\");\n return
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/email.tsx"],"sourcesContent":["import { yupString } from \"@stackframe/stack-shared/dist/schema-fields\";\nimport * as yup from \"yup\";\n\nexport function validateEmail(email: string): boolean {\n if (typeof email !== \"string\") throw new Error(\"Email must be a string\");\n return yupString().email().isValidSync(email);\n};\n"],"mappings":";AAAA,SAAS,iBAAiB;AAGnB,SAAS,cAAc,OAAwB;AACpD,MAAI,OAAO,UAAU,SAAU,OAAM,IAAI,MAAM,wBAAwB;AACvE,SAAO,UAAU,EAAE,MAAM,EAAE,YAAY,KAAK;AAC9C;","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { default as StackProvider } from './providers/stack-provider.mjs';
|
|
2
2
|
export { useStackApp, useUser } from './lib/hooks.mjs';
|
|
3
|
-
export { ApiKeySet, ApiKeySetFirstView, CurrentUser, ServerPermission as Permission, Project, ServerPermission, ServerTeam, ServerTeamMember, ServerUser, StackAdminApp, StackClientApp, StackServerApp, Team, TeamMember } from './lib/stack-app.mjs';
|
|
4
3
|
export { default as StackHandler } from './components-page/stack-handler.mjs';
|
|
5
4
|
export { StackTheme } from './providers/theme-provider.mjs';
|
|
5
|
+
export { AdminDomainConfig, AdminEmailConfig, AdminOAuthProviderConfig, AdminOwnedProject, AdminProject, AdminProjectConfig, AdminProjectConfigUpdateOptions, AdminProjectCreateOptions, AdminProjectUpdateOptions, AdminTeamPermission, AdminTeamPermissionDefinition, AdminTeamPermissionDefinitionCreateOptions, AdminTeamPermissionDefinitionUpdateOptions, ApiKey, ApiKeyBase, ApiKeyBaseCrudRead, ApiKeyCreateOptions, ApiKeyFirstView, Connection, CurrentInternalServerUser, CurrentInternalUser, CurrentServerUser, CurrentUser, GetUserOptions, HandlerUrls, OAuthConnection, OAuthProviderConfig, OAuthScopesOnSignIn, Project, ProjectConfig, ServerTeam, ServerTeamCreateOptions, ServerTeamUpdateOptions, ServerUser, StackAdminApp, StackAdminAppConstructorOptions, StackClientApp, StackClientAppConstructorOptions, StackClientAppJson, StackServerApp, StackServerAppConstructorOptions, Team, TeamCreateOptions, TeamPermission, TokenStoreInit, User, serverTeamPermissionDefinitionCreateOptionsToCrud, serverTeamPermissionDefinitionUpdateOptionsToCrud, stackAppInternalsSymbol } from './lib/stack-app.mjs';
|
|
6
6
|
export { SignIn } from './components-page/sign-in.mjs';
|
|
7
7
|
export { SignUp } from './components-page/sign-up.mjs';
|
|
8
8
|
export { EmailVerification } from './components-page/email-verification.mjs';
|
|
@@ -21,9 +21,11 @@ export { SelectedTeamSwitcher, SelectedTeamSwitcher as TeamSwitcher } from './co
|
|
|
21
21
|
import 'react/jsx-runtime';
|
|
22
22
|
import 'react';
|
|
23
23
|
import '@stackframe/stack-shared';
|
|
24
|
+
import '@stackframe/stack-shared/dist/helpers/production-mode';
|
|
24
25
|
import '@stackframe/stack-shared/dist/interface/clientInterface';
|
|
25
|
-
import '@stackframe/stack-shared/dist/
|
|
26
|
-
import '@stackframe/stack-shared/dist/interface/
|
|
27
|
-
import '@stackframe/stack-shared/dist/interface/serverInterface';
|
|
26
|
+
import '@stackframe/stack-shared/dist/interface/crud/api-keys';
|
|
27
|
+
import '@stackframe/stack-shared/dist/interface/crud/current-user';
|
|
28
28
|
import '@stackframe/stack-shared/dist/interface/crud/email-templates';
|
|
29
|
+
import '@stackframe/stack-shared/dist/interface/crud/team-permissions';
|
|
29
30
|
import '@stackframe/stack-shared/dist/sessions';
|
|
31
|
+
import '@stackframe/stack-shared/dist/utils/json';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { default as StackProvider } from './providers/stack-provider.js';
|
|
2
2
|
export { useStackApp, useUser } from './lib/hooks.js';
|
|
3
|
-
export { ApiKeySet, ApiKeySetFirstView, CurrentUser, ServerPermission as Permission, Project, ServerPermission, ServerTeam, ServerTeamMember, ServerUser, StackAdminApp, StackClientApp, StackServerApp, Team, TeamMember } from './lib/stack-app.js';
|
|
4
3
|
export { default as StackHandler } from './components-page/stack-handler.js';
|
|
5
4
|
export { StackTheme } from './providers/theme-provider.js';
|
|
5
|
+
export { AdminDomainConfig, AdminEmailConfig, AdminOAuthProviderConfig, AdminOwnedProject, AdminProject, AdminProjectConfig, AdminProjectConfigUpdateOptions, AdminProjectCreateOptions, AdminProjectUpdateOptions, AdminTeamPermission, AdminTeamPermissionDefinition, AdminTeamPermissionDefinitionCreateOptions, AdminTeamPermissionDefinitionUpdateOptions, ApiKey, ApiKeyBase, ApiKeyBaseCrudRead, ApiKeyCreateOptions, ApiKeyFirstView, Connection, CurrentInternalServerUser, CurrentInternalUser, CurrentServerUser, CurrentUser, GetUserOptions, HandlerUrls, OAuthConnection, OAuthProviderConfig, OAuthScopesOnSignIn, Project, ProjectConfig, ServerTeam, ServerTeamCreateOptions, ServerTeamUpdateOptions, ServerUser, StackAdminApp, StackAdminAppConstructorOptions, StackClientApp, StackClientAppConstructorOptions, StackClientAppJson, StackServerApp, StackServerAppConstructorOptions, Team, TeamCreateOptions, TeamPermission, TokenStoreInit, User, serverTeamPermissionDefinitionCreateOptionsToCrud, serverTeamPermissionDefinitionUpdateOptionsToCrud, stackAppInternalsSymbol } from './lib/stack-app.js';
|
|
6
6
|
export { SignIn } from './components-page/sign-in.js';
|
|
7
7
|
export { SignUp } from './components-page/sign-up.js';
|
|
8
8
|
export { EmailVerification } from './components-page/email-verification.js';
|
|
@@ -21,9 +21,11 @@ export { SelectedTeamSwitcher, SelectedTeamSwitcher as TeamSwitcher } from './co
|
|
|
21
21
|
import 'react/jsx-runtime';
|
|
22
22
|
import 'react';
|
|
23
23
|
import '@stackframe/stack-shared';
|
|
24
|
+
import '@stackframe/stack-shared/dist/helpers/production-mode';
|
|
24
25
|
import '@stackframe/stack-shared/dist/interface/clientInterface';
|
|
25
|
-
import '@stackframe/stack-shared/dist/
|
|
26
|
-
import '@stackframe/stack-shared/dist/interface/
|
|
27
|
-
import '@stackframe/stack-shared/dist/interface/serverInterface';
|
|
26
|
+
import '@stackframe/stack-shared/dist/interface/crud/api-keys';
|
|
27
|
+
import '@stackframe/stack-shared/dist/interface/crud/current-user';
|
|
28
28
|
import '@stackframe/stack-shared/dist/interface/crud/email-templates';
|
|
29
|
+
import '@stackframe/stack-shared/dist/interface/crud/team-permissions';
|
|
29
30
|
import '@stackframe/stack-shared/dist/sessions';
|
|
31
|
+
import '@stackframe/stack-shared/dist/utils/json';
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
20
21
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
22
|
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
23
|
// file that has been converted to a CommonJS file using a Babel-
|
|
@@ -44,11 +45,8 @@ __export(src_exports, {
|
|
|
44
45
|
SelectedTeamSwitcher: () => import_selected_team_switcher.SelectedTeamSwitcher,
|
|
45
46
|
SignIn: () => import_sign_in.SignIn,
|
|
46
47
|
SignUp: () => import_sign_up.SignUp,
|
|
47
|
-
StackAdminApp: () => import_stack_app.StackAdminApp,
|
|
48
|
-
StackClientApp: () => import_stack_app.StackClientApp,
|
|
49
48
|
StackHandler: () => import_stack_handler.default,
|
|
50
49
|
StackProvider: () => import_stack_provider.default,
|
|
51
|
-
StackServerApp: () => import_stack_app.StackServerApp,
|
|
52
50
|
StackTheme: () => import_theme_provider.StackTheme,
|
|
53
51
|
TeamSwitcher: () => import_selected_team_switcher.SelectedTeamSwitcher,
|
|
54
52
|
UserButton: () => import_user_button.UserButton,
|
|
@@ -58,9 +56,9 @@ __export(src_exports, {
|
|
|
58
56
|
module.exports = __toCommonJS(src_exports);
|
|
59
57
|
var import_stack_provider = __toESM(require("./providers/stack-provider"));
|
|
60
58
|
var import_hooks = require("./lib/hooks");
|
|
61
|
-
var import_stack_app = require("./lib/stack-app");
|
|
62
59
|
var import_stack_handler = __toESM(require("./components-page/stack-handler"));
|
|
63
60
|
var import_theme_provider = require("./providers/theme-provider");
|
|
61
|
+
__reExport(src_exports, require("./lib/stack-app"), module.exports);
|
|
64
62
|
var import_sign_in = require("./components-page/sign-in");
|
|
65
63
|
var import_sign_up = require("./components-page/sign-up");
|
|
66
64
|
var import_email_verification = require("./components-page/email-verification");
|
|
@@ -92,15 +90,13 @@ var import_selected_team_switcher = require("./components/selected-team-switcher
|
|
|
92
90
|
SelectedTeamSwitcher,
|
|
93
91
|
SignIn,
|
|
94
92
|
SignUp,
|
|
95
|
-
StackAdminApp,
|
|
96
|
-
StackClientApp,
|
|
97
93
|
StackHandler,
|
|
98
94
|
StackProvider,
|
|
99
|
-
StackServerApp,
|
|
100
95
|
StackTheme,
|
|
101
96
|
TeamSwitcher,
|
|
102
97
|
UserButton,
|
|
103
98
|
useStackApp,
|
|
104
|
-
useUser
|
|
99
|
+
useUser,
|
|
100
|
+
...require("./lib/stack-app")
|
|
105
101
|
});
|
|
106
102
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.tsx"],"sourcesContent":["export { default as StackProvider } from \"./providers/stack-provider\";\nexport { useUser, useStackApp } from \"./lib/hooks\";\nexport {
|
|
1
|
+
{"version":3,"sources":["../src/index.tsx"],"sourcesContent":["export { default as StackProvider } from \"./providers/stack-provider\";\nexport { useUser, useStackApp } from \"./lib/hooks\";\nexport { default as StackHandler } from \"./components-page/stack-handler\";\nexport { StackTheme } from './providers/theme-provider';\nexport * from './lib/stack-app';\n\nexport { SignIn } from \"./components-page/sign-in\";\nexport { SignUp } from \"./components-page/sign-up\";\nexport { EmailVerification } from \"./components-page/email-verification\";\nexport { PasswordReset } from \"./components-page/password-reset\";\nexport { ForgotPassword } from \"./components-page/forgot-password\";\nexport { MessageCard } from \"./components/message-cards/message-card\";\nexport { UserButton } from \"./components/user-button\";\nexport { AccountSettings } from \"./components-page/account-settings\";\nexport { AuthPage } from \"./components-page/auth-page\";\nexport { CredentialSignInForm as CredentialSignIn } from \"./components/credential-sign-in-form\";\nexport { CredentialSignUpForm as CredentialSignUp } from \"./components/credential-sign-up-form\";\nexport { MagicLinkSignInForm as MagicLinkSignIn } from \"./components/magic-link-sign-in-form\";\nexport { OAuthButton } from \"./components/oauth-button\";\nexport { OAuthButtonGroup } from \"./components/oauth-button-group\";\n\nexport {\n SelectedTeamSwitcher,\n /**\n * @deprecated This was renamed to `SelectedTeamSwitcher`.\n */\n SelectedTeamSwitcher as TeamSwitcher,\n} from \"./components/selected-team-switcher\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAyC;AACzC,mBAAqC;AACrC,2BAAwC;AACxC,4BAA2B;AAC3B,wBAAc,4BAJd;AAMA,qBAAuB;AACvB,qBAAuB;AACvB,gCAAkC;AAClC,4BAA8B;AAC9B,6BAA+B;AAC/B,0BAA4B;AAC5B,yBAA2B;AAC3B,8BAAgC;AAChC,uBAAyB;AACzB,qCAAyD;AACzD,qCAAyD;AACzD,qCAAuD;AACvD,0BAA4B;AAC5B,gCAAiC;AAEjC,oCAMO;","names":[]}
|
package/dist/lib/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/auth.ts"],"sourcesContent":["import { StackClientInterface } from \"@stackframe/stack-shared\";\nimport { saveVerifierAndState, getVerifierAndState } from \"./cookie\";\nimport { constructRedirectUrl } from \"../utils/url\";\nimport { neverResolve } from \"@stackframe/stack-shared/dist/utils/promises\";\nimport { StackAssertionError } from \"@stackframe/stack-shared/dist/utils/errors\";\nimport { InternalSession } from \"@stackframe/stack-shared/dist/sessions\";\n\nexport async function signInWithOAuth(\n iface: StackClientInterface,\n options: {
|
|
1
|
+
{"version":3,"sources":["../../src/lib/auth.ts"],"sourcesContent":["import { StackClientInterface } from \"@stackframe/stack-shared\";\nimport { saveVerifierAndState, getVerifierAndState } from \"./cookie\";\nimport { constructRedirectUrl } from \"../utils/url\";\nimport { neverResolve } from \"@stackframe/stack-shared/dist/utils/promises\";\nimport { StackAssertionError } from \"@stackframe/stack-shared/dist/utils/errors\";\nimport { InternalSession } from \"@stackframe/stack-shared/dist/sessions\";\n\nexport async function signInWithOAuth(\n iface: StackClientInterface,\n options: {\n provider: string,\n redirectUrl: string,\n errorRedirectUrl: string,\n providerScope?: string,\n }\n) {\n const { codeChallenge, state } = await saveVerifierAndState();\n const location = await iface.getOAuthUrl({\n provider: options.provider,\n redirectUrl: constructRedirectUrl(options.redirectUrl),\n errorRedirectUrl: constructRedirectUrl(options.errorRedirectUrl),\n codeChallenge,\n state,\n type: \"authenticate\",\n providerScope: options.providerScope,\n });\n window.location.assign(location);\n await neverResolve();\n}\n\nexport async function addNewOAuthProviderOrScope(\n iface: StackClientInterface,\n options: {\n provider: string,\n redirectUrl: string,\n errorRedirectUrl: string,\n providerScope?: string,\n },\n session: InternalSession,\n) {\n const { codeChallenge, state } = await saveVerifierAndState();\n const location = await iface.getOAuthUrl({\n provider: options.provider,\n redirectUrl: constructRedirectUrl(options.redirectUrl),\n errorRedirectUrl: constructRedirectUrl(options.errorRedirectUrl),\n afterCallbackRedirectUrl: constructRedirectUrl(window.location.href),\n codeChallenge,\n state,\n type: \"link\",\n session,\n providerScope: options.providerScope,\n });\n window.location.assign(location);\n await neverResolve();\n}\n\n/**\n * Checks if the current URL has the query parameters for an OAuth callback, and if so, removes them.\n *\n * Must be synchronous for the logic in callOAuthCallback to work without race conditions.\n */\nfunction consumeOAuthCallbackQueryParams(expectedState: string): null | URL {\n const requiredParams = [\"code\", \"state\"];\n const originalUrl = new URL(window.location.href);\n for (const param of requiredParams) {\n if (!originalUrl.searchParams.has(param)) {\n return null;\n }\n }\n\n if (expectedState !== originalUrl.searchParams.get(\"state\")) {\n // If the state doesn't match, then the callback wasn't meant for us.\n // Maybe the website uses another OAuth library?\n return null;\n }\n\n\n const newUrl = new URL(originalUrl);\n for (const param of requiredParams) {\n newUrl.searchParams.delete(param);\n }\n\n // let's get rid of the authorization code in the history as we\n // don't redirect to `redirectUrl` if there's a validation error\n // (as the redirectUrl might be malicious!).\n //\n // We use history.replaceState instead of location.assign(...) to\n // prevent an unnecessary reload\n window.history.replaceState({}, \"\", newUrl.toString());\n\n return originalUrl;\n}\n\nexport async function callOAuthCallback(\n iface: StackClientInterface,\n redirectUrl: string,\n) {\n // note: this part of the function (until the return) needs\n // to be synchronous, to prevent race conditions when\n // callOAuthCallback is called multiple times in parallel\n const { codeVerifier, state } = getVerifierAndState();\n if (!codeVerifier || !state) {\n throw new Error(\"Invalid OAuth callback URL parameters. It seems like the OAuth flow was interrupted, so please try again.\");\n }\n const originalUrl = consumeOAuthCallbackQueryParams(state);\n if (!originalUrl) return null;\n\n // the rest can be asynchronous (we now know that we are the\n // intended recipient of the callback)\n try {\n return await iface.callOAuthCallback({\n oauthParams: originalUrl.searchParams,\n redirectUri: constructRedirectUrl(redirectUrl),\n codeVerifier,\n state,\n });\n } catch (e) {\n throw new StackAssertionError(\"Error signing in during OAuth callback. Please try again.\", { cause: e });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA0D;AAC1D,iBAAqC;AACrC,sBAA6B;AAC7B,oBAAoC;AAGpC,eAAsB,gBACpB,OACA,SAMA;AACA,QAAM,EAAE,eAAe,MAAM,IAAI,UAAM,oCAAqB;AAC5D,QAAM,WAAW,MAAM,MAAM,YAAY;AAAA,IACvC,UAAU,QAAQ;AAAA,IAClB,iBAAa,iCAAqB,QAAQ,WAAW;AAAA,IACrD,sBAAkB,iCAAqB,QAAQ,gBAAgB;AAAA,IAC/D;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,eAAe,QAAQ;AAAA,EACzB,CAAC;AACD,SAAO,SAAS,OAAO,QAAQ;AAC/B,YAAM,8BAAa;AACrB;AAEA,eAAsB,2BACpB,OACA,SAMA,SACA;AACA,QAAM,EAAE,eAAe,MAAM,IAAI,UAAM,oCAAqB;AAC5D,QAAM,WAAW,MAAM,MAAM,YAAY;AAAA,IACvC,UAAU,QAAQ;AAAA,IAClB,iBAAa,iCAAqB,QAAQ,WAAW;AAAA,IACrD,sBAAkB,iCAAqB,QAAQ,gBAAgB;AAAA,IAC/D,8BAA0B,iCAAqB,OAAO,SAAS,IAAI;AAAA,IACnE;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA,eAAe,QAAQ;AAAA,EACzB,CAAC;AACD,SAAO,SAAS,OAAO,QAAQ;AAC/B,YAAM,8BAAa;AACrB;AAOA,SAAS,gCAAgC,eAAmC;AAC1E,QAAM,iBAAiB,CAAC,QAAQ,OAAO;AACvC,QAAM,cAAc,IAAI,IAAI,OAAO,SAAS,IAAI;AAChD,aAAW,SAAS,gBAAgB;AAClC,QAAI,CAAC,YAAY,aAAa,IAAI,KAAK,GAAG;AACxC,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,kBAAkB,YAAY,aAAa,IAAI,OAAO,GAAG;AAG3D,WAAO;AAAA,EACT;AAGA,QAAM,SAAS,IAAI,IAAI,WAAW;AAClC,aAAW,SAAS,gBAAgB;AAClC,WAAO,aAAa,OAAO,KAAK;AAAA,EAClC;AAQA,SAAO,QAAQ,aAAa,CAAC,GAAG,IAAI,OAAO,SAAS,CAAC;AAErD,SAAO;AACT;AAEA,eAAsB,kBACpB,OACA,aACA;AAIA,QAAM,EAAE,cAAc,MAAM,QAAI,mCAAoB;AACpD,MAAI,CAAC,gBAAgB,CAAC,OAAO;AAC3B,UAAM,IAAI,MAAM,2GAA2G;AAAA,EAC7H;AACA,QAAM,cAAc,gCAAgC,KAAK;AACzD,MAAI,CAAC,YAAa,QAAO;AAIzB,MAAI;AACF,WAAO,MAAM,MAAM,kBAAkB;AAAA,MACnC,aAAa,YAAY;AAAA,MACzB,iBAAa,iCAAqB,WAAW;AAAA,MAC7C;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,SAAS,GAAG;AACV,UAAM,IAAI,kCAAoB,6DAA6D,EAAE,OAAO,EAAE,CAAC;AAAA,EACzG;AACF;","names":[]}
|
package/dist/lib/cookie.js
CHANGED
|
@@ -203,14 +203,19 @@ function deleteCookie(name) {
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
function setCookie(name, value, options = {}) {
|
|
206
|
+
const isProd = process.env.NODE_ENV === "production";
|
|
206
207
|
try {
|
|
207
208
|
(0, import_force_react_server.cookies)().set(name, value, {
|
|
209
|
+
secure: isProd,
|
|
208
210
|
maxAge: options.maxAge
|
|
209
211
|
});
|
|
210
212
|
} catch (e) {
|
|
211
213
|
if (isRscCookieUnavailableError(e)) {
|
|
214
|
+
if (window.location.protocol !== "https:" && isProd) {
|
|
215
|
+
throw new Error("Attempted to set a secure cookie, but this build was compiled as a production build, but the current page is not served over HTTPS. This is a security risk and is not allowed in production.");
|
|
216
|
+
}
|
|
212
217
|
import_js_cookie.default.set(name, value, {
|
|
213
|
-
secure:
|
|
218
|
+
secure: isProd,
|
|
214
219
|
expires: options.maxAge === void 0 ? void 0 : new Date(Date.now() + options.maxAge * 1e3)
|
|
215
220
|
});
|
|
216
221
|
} else {
|