@stackframe/stack 2.5.29 → 2.5.31

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 (86) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/components/oauth-button.js +48 -47
  3. package/dist/components/oauth-button.js.map +1 -1
  4. package/dist/components-page/account-settings.d.mts +8 -1
  5. package/dist/components-page/account-settings.d.ts +8 -1
  6. package/dist/components-page/account-settings.js +9 -2
  7. package/dist/components-page/account-settings.js.map +1 -1
  8. package/dist/components-page/auth-page.d.mts +2 -1
  9. package/dist/components-page/auth-page.d.ts +2 -1
  10. package/dist/components-page/auth-page.js +25 -29
  11. package/dist/components-page/auth-page.js.map +1 -1
  12. package/dist/components-page/email-verification.d.mts +1 -1
  13. package/dist/components-page/email-verification.d.ts +1 -1
  14. package/dist/components-page/email-verification.js +6 -11
  15. package/dist/components-page/email-verification.js.map +1 -1
  16. package/dist/components-page/error-page.d.mts +1 -1
  17. package/dist/components-page/error-page.d.ts +1 -1
  18. package/dist/components-page/error-page.js +8 -8
  19. package/dist/components-page/error-page.js.map +1 -1
  20. package/dist/components-page/forgot-password.d.mts +1 -1
  21. package/dist/components-page/forgot-password.d.ts +1 -1
  22. package/dist/components-page/forgot-password.js +5 -5
  23. package/dist/components-page/forgot-password.js.map +1 -1
  24. package/dist/components-page/magic-link-callback.d.mts +1 -1
  25. package/dist/components-page/magic-link-callback.d.ts +1 -1
  26. package/dist/components-page/magic-link-callback.js +7 -12
  27. package/dist/components-page/magic-link-callback.js.map +1 -1
  28. package/dist/components-page/password-reset.d.mts +1 -1
  29. package/dist/components-page/password-reset.d.ts +1 -1
  30. package/dist/components-page/password-reset.js +6 -6
  31. package/dist/components-page/password-reset.js.map +1 -1
  32. package/dist/components-page/sign-in.d.mts +3 -1
  33. package/dist/components-page/sign-in.d.ts +3 -1
  34. package/dist/components-page/sign-in.js +2 -2
  35. package/dist/components-page/sign-in.js.map +1 -1
  36. package/dist/components-page/sign-out.js +1 -1
  37. package/dist/components-page/sign-out.js.map +1 -1
  38. package/dist/components-page/sign-up.d.mts +3 -1
  39. package/dist/components-page/sign-up.d.ts +3 -1
  40. package/dist/components-page/sign-up.js +2 -2
  41. package/dist/components-page/sign-up.js.map +1 -1
  42. package/dist/components-page/stack-handler.d.mts +30 -2
  43. package/dist/components-page/stack-handler.d.ts +30 -2
  44. package/dist/components-page/stack-handler.js +96 -28
  45. package/dist/components-page/stack-handler.js.map +1 -1
  46. package/dist/components-page/team-creation.js +3 -4
  47. package/dist/components-page/team-creation.js.map +1 -1
  48. package/dist/esm/components/oauth-button.js +48 -47
  49. package/dist/esm/components/oauth-button.js.map +1 -1
  50. package/dist/esm/components-page/account-settings.js +9 -2
  51. package/dist/esm/components-page/account-settings.js.map +1 -1
  52. package/dist/esm/components-page/auth-page.js +25 -29
  53. package/dist/esm/components-page/auth-page.js.map +1 -1
  54. package/dist/esm/components-page/email-verification.js +6 -11
  55. package/dist/esm/components-page/email-verification.js.map +1 -1
  56. package/dist/esm/components-page/error-page.js +8 -8
  57. package/dist/esm/components-page/error-page.js.map +1 -1
  58. package/dist/esm/components-page/forgot-password.js +5 -5
  59. package/dist/esm/components-page/forgot-password.js.map +1 -1
  60. package/dist/esm/components-page/magic-link-callback.js +7 -12
  61. package/dist/esm/components-page/magic-link-callback.js.map +1 -1
  62. package/dist/esm/components-page/password-reset.js +6 -6
  63. package/dist/esm/components-page/password-reset.js.map +1 -1
  64. package/dist/esm/components-page/sign-in.js +2 -2
  65. package/dist/esm/components-page/sign-in.js.map +1 -1
  66. package/dist/esm/components-page/sign-out.js +1 -1
  67. package/dist/esm/components-page/sign-out.js.map +1 -1
  68. package/dist/esm/components-page/sign-up.js +2 -2
  69. package/dist/esm/components-page/sign-up.js.map +1 -1
  70. package/dist/esm/components-page/stack-handler.js +97 -29
  71. package/dist/esm/components-page/stack-handler.js.map +1 -1
  72. package/dist/esm/components-page/team-creation.js +3 -4
  73. package/dist/esm/components-page/team-creation.js.map +1 -1
  74. package/dist/esm/lib/stack-app.js +5 -3
  75. package/dist/esm/lib/stack-app.js.map +1 -1
  76. package/dist/esm/utils/browser-script.js +10 -2
  77. package/dist/esm/utils/browser-script.js.map +1 -1
  78. package/dist/index.d.mts +6 -0
  79. package/dist/index.d.ts +6 -0
  80. package/dist/lib/stack-app.d.mts +1 -0
  81. package/dist/lib/stack-app.d.ts +1 -0
  82. package/dist/lib/stack-app.js +5 -3
  83. package/dist/lib/stack-app.js.map +1 -1
  84. package/dist/utils/browser-script.js +10 -2
  85. package/dist/utils/browser-script.js.map +1 -1
  86. package/package.json +4 -4
@@ -12,12 +12,20 @@ var script = () => {
12
12
  }
13
13
  return null;
14
14
  };
15
+ const setTheme = (mode) => {
16
+ document.documentElement.setAttribute("data-stack-theme", mode);
17
+ };
15
18
  const copyFromColorScheme = () => {
16
19
  const colorScheme = getComputedStyle(document.documentElement).getPropertyValue("color-scheme");
17
20
  if (colorScheme) {
21
+ if (colorScheme === "normal") {
22
+ const isDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
23
+ setTheme(isDark ? "dark" : "light");
24
+ return true;
25
+ }
18
26
  const mode = getColorMode(colorScheme);
19
27
  if (mode) {
20
- document.documentElement.setAttribute("data-stack-theme", mode);
28
+ setTheme(mode);
21
29
  return true;
22
30
  }
23
31
  }
@@ -29,7 +37,7 @@ var script = () => {
29
37
  if (colorTheme) {
30
38
  const mode = getColorMode(colorTheme);
31
39
  if (mode) {
32
- document.documentElement.setAttribute("data-stack-theme", mode);
40
+ setTheme(mode);
33
41
  return true;
34
42
  }
35
43
  }
@@ -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 getColorMode = (value: string) => {\n if (value.includes('dark')) {\n return 'dark';\n }\n if (value.includes('light')) {\n return 'light';\n }\n return null;\n };\n\n const copyFromColorScheme = () => {\n const colorScheme = getComputedStyle(document.documentElement).getPropertyValue('color-scheme');\n if (colorScheme) {\n const mode = getColorMode(colorScheme);\n if (mode) {\n document.documentElement.setAttribute('data-stack-theme', mode);\n return true;\n }\n }\n return false;\n };\n\n const copyFromAttributes = () => {\n for (const attributeName of attributes) {\n const colorTheme = document.documentElement.getAttribute(attributeName);\n if (colorTheme) {\n const mode = getColorMode(colorTheme);\n if (mode) {\n document.documentElement.setAttribute('data-stack-theme', mode);\n return true;\n }\n }\n }\n return false;\n };\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (copyFromColorScheme()) {\n return;\n }\n if (mutation.attributeName && attributes.includes(mutation.attributeName)) {\n copyFromAttributes();\n }\n });\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: attributes,\n });\n\n // Initial check on page load\n if (!copyFromColorScheme()) {\n copyFromAttributes();\n }\n};\n\nexport function BrowserScript(props : { nonce?: string }) {\n return <SsrScript nonce={props.nonce} script={`(${script.toString()})()`}/>;\n}\n"],"mappings":";AAEA,SAAS,iBAAiB;AAiEjB;AA9DT,IAAM,SAAS,MAAM;AACnB,QAAM,aAAa,CAAC,yBAAyB,yBAAyB,cAAc,qBAAqB,OAAO;AAEhH,QAAM,eAAe,CAAC,UAAkB;AACtC,QAAI,MAAM,SAAS,MAAM,GAAG;AAC1B,aAAO;AAAA,IACT;AACA,QAAI,MAAM,SAAS,OAAO,GAAG;AAC3B,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAEA,QAAM,sBAAsB,MAAM;AAChC,UAAM,cAAc,iBAAiB,SAAS,eAAe,EAAE,iBAAiB,cAAc;AAC9F,QAAI,aAAa;AACf,YAAM,OAAO,aAAa,WAAW;AACrC,UAAI,MAAM;AACR,iBAAS,gBAAgB,aAAa,oBAAoB,IAAI;AAC9D,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,qBAAqB,MAAM;AAC/B,eAAW,iBAAiB,YAAY;AACtC,YAAM,aAAa,SAAS,gBAAgB,aAAa,aAAa;AACtE,UAAI,YAAY;AACd,cAAM,OAAO,aAAa,UAAU;AACpC,YAAI,MAAM;AACR,mBAAS,gBAAgB,aAAa,oBAAoB,IAAI;AAC9D,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,IAAI,iBAAiB,CAAC,cAAc;AACnD,cAAU,QAAQ,CAAC,aAAa;AAC9B,UAAI,oBAAoB,GAAG;AACzB;AAAA,MACF;AACA,UAAI,SAAS,iBAAiB,WAAW,SAAS,SAAS,aAAa,GAAG;AACzE,2BAAmB;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,QAAQ,SAAS,iBAAiB;AAAA,IACzC,YAAY;AAAA,IACZ,iBAAiB;AAAA,EACnB,CAAC;AAGD,MAAI,CAAC,oBAAoB,GAAG;AAC1B,uBAAmB;AAAA,EACrB;AACF;AAEO,SAAS,cAAc,OAA4B;AACxD,SAAO,oBAAC,aAAU,OAAO,MAAM,OAAO,QAAQ,IAAI,OAAO,SAAS,CAAC,OAAM;AAC3E;","names":[]}
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 getColorMode = (value: string) => {\n if (value.includes('dark')) {\n return 'dark';\n }\n if (value.includes('light')) {\n return 'light';\n }\n return null;\n };\n\n const setTheme = (mode: 'dark' | 'light') => {\n document.documentElement.setAttribute('data-stack-theme', mode);\n };\n\n const copyFromColorScheme = () => {\n const colorScheme = getComputedStyle(document.documentElement).getPropertyValue('color-scheme');\n\n if (colorScheme) {\n if (colorScheme === 'normal') {\n const isDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n setTheme(isDark ? 'dark' : 'light');\n return true;\n }\n const mode = getColorMode(colorScheme);\n if (mode) {\n setTheme(mode);\n return true;\n }\n }\n return false;\n };\n\n const copyFromAttributes = () => {\n for (const attributeName of attributes) {\n const colorTheme = document.documentElement.getAttribute(attributeName);\n if (colorTheme) {\n const mode = getColorMode(colorTheme);\n if (mode) {\n setTheme(mode);\n return true;\n }\n }\n }\n return false;\n };\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (copyFromColorScheme()) {\n return;\n }\n if (mutation.attributeName && attributes.includes(mutation.attributeName)) {\n copyFromAttributes();\n }\n });\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: attributes,\n });\n\n // Initial check on page load\n if (!copyFromColorScheme()) {\n copyFromAttributes();\n }\n};\n\nexport function BrowserScript(props : { nonce?: string }) {\n return <SsrScript nonce={props.nonce} script={`(${script.toString()})()`}/>;\n}\n"],"mappings":";AAEA,SAAS,iBAAiB;AA2EjB;AAxET,IAAM,SAAS,MAAM;AACnB,QAAM,aAAa,CAAC,yBAAyB,yBAAyB,cAAc,qBAAqB,OAAO;AAEhH,QAAM,eAAe,CAAC,UAAkB;AACtC,QAAI,MAAM,SAAS,MAAM,GAAG;AAC1B,aAAO;AAAA,IACT;AACA,QAAI,MAAM,SAAS,OAAO,GAAG;AAC3B,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,CAAC,SAA2B;AAC3C,aAAS,gBAAgB,aAAa,oBAAoB,IAAI;AAAA,EAChE;AAEA,QAAM,sBAAsB,MAAM;AAChC,UAAM,cAAc,iBAAiB,SAAS,eAAe,EAAE,iBAAiB,cAAc;AAE9F,QAAI,aAAa;AACf,UAAI,gBAAgB,UAAU;AAC5B,cAAM,SAAS,OAAO,WAAW,8BAA8B,EAAE;AACjE,iBAAS,SAAS,SAAS,OAAO;AAClC,eAAO;AAAA,MACT;AACA,YAAM,OAAO,aAAa,WAAW;AACrC,UAAI,MAAM;AACR,iBAAS,IAAI;AACb,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,qBAAqB,MAAM;AAC/B,eAAW,iBAAiB,YAAY;AACtC,YAAM,aAAa,SAAS,gBAAgB,aAAa,aAAa;AACtE,UAAI,YAAY;AACd,cAAM,OAAO,aAAa,UAAU;AACpC,YAAI,MAAM;AACR,mBAAS,IAAI;AACb,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,IAAI,iBAAiB,CAAC,cAAc;AACnD,cAAU,QAAQ,CAAC,aAAa;AAC9B,UAAI,oBAAoB,GAAG;AACzB;AAAA,MACF;AACA,UAAI,SAAS,iBAAiB,WAAW,SAAS,SAAS,aAAa,GAAG;AACzE,2BAAmB;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,QAAQ,SAAS,iBAAiB;AAAA,IACzC,YAAY;AAAA,IACZ,iBAAiB;AAAA,EACnB,CAAC;AAGD,MAAI,CAAC,oBAAoB,GAAG;AAC1B,uBAAmB;AAAA,EACrB;AACF;AAEO,SAAS,cAAc,OAA4B;AACxD,SAAO,oBAAC,aAAU,OAAO,MAAM,OAAO,QAAQ,IAAI,OAAO,SAAS,CAAC,OAAM;AAC3E;","names":[]}
package/dist/index.d.mts CHANGED
@@ -20,6 +20,11 @@ export { OAuthButtonGroup } from './components/oauth-button-group.mjs';
20
20
  export { SelectedTeamSwitcher } from './components/selected-team-switcher.mjs';
21
21
  import 'react/jsx-runtime';
22
22
  import 'react';
23
+ import './components-page/error-page.mjs';
24
+ import './components-page/magic-link-callback.mjs';
25
+ import './components-page/oauth-callback.mjs';
26
+ import './components-page/sign-out.mjs';
27
+ import './components-page/team-invitation.mjs';
23
28
  import '@stackframe/stack-shared';
24
29
  import '@stackframe/stack-shared/dist/helpers/production-mode';
25
30
  import '@stackframe/stack-shared/dist/interface/crud/api-keys';
@@ -30,3 +35,4 @@ import '@stackframe/stack-shared/dist/sessions';
30
35
  import '@stackframe/stack-shared/dist/utils/json';
31
36
  import '@stackframe/stack-shared/dist/utils/oauth';
32
37
  import '@stackframe/stack-shared/dist/utils/results';
38
+ import 'lucide-react';
package/dist/index.d.ts CHANGED
@@ -20,6 +20,11 @@ export { OAuthButtonGroup } from './components/oauth-button-group.js';
20
20
  export { SelectedTeamSwitcher } from './components/selected-team-switcher.js';
21
21
  import 'react/jsx-runtime';
22
22
  import 'react';
23
+ import './components-page/error-page.js';
24
+ import './components-page/magic-link-callback.js';
25
+ import './components-page/oauth-callback.js';
26
+ import './components-page/sign-out.js';
27
+ import './components-page/team-invitation.js';
23
28
  import '@stackframe/stack-shared';
24
29
  import '@stackframe/stack-shared/dist/helpers/production-mode';
25
30
  import '@stackframe/stack-shared/dist/interface/crud/api-keys';
@@ -30,3 +35,4 @@ import '@stackframe/stack-shared/dist/sessions';
30
35
  import '@stackframe/stack-shared/dist/utils/json';
31
36
  import '@stackframe/stack-shared/dist/utils/oauth';
32
37
  import '@stackframe/stack-shared/dist/utils/results';
38
+ import 'lucide-react';
@@ -391,6 +391,7 @@ type AdminOAuthProviderConfig = {
391
391
  clientId: string;
392
392
  clientSecret: string;
393
393
  facebookConfigId?: string;
394
+ microsoftTenantId?: string;
394
395
  }) & OAuthProviderConfig;
395
396
  type AdminProjectConfigUpdateOptions = {
396
397
  domains?: {
@@ -391,6 +391,7 @@ type AdminOAuthProviderConfig = {
391
391
  clientId: string;
392
392
  clientSecret: string;
393
393
  facebookConfigId?: string;
394
+ microsoftTenantId?: string;
394
395
  }) & OAuthProviderConfig;
395
396
  type AdminProjectConfigUpdateOptions = {
396
397
  domains?: {
@@ -63,7 +63,7 @@ var import_url = require("../utils/url");
63
63
  var import_auth = require("./auth");
64
64
  var import_cookie = require("./cookie");
65
65
  var NextNavigation = (0, import_compile_time.scrambleDuringCompileTime)(NextNavigationUnscrambled);
66
- var clientVersion = "js @stackframe/stack@2.5.29";
66
+ var clientVersion = "js @stackframe/stack@2.5.31";
67
67
  function getUrls(partial) {
68
68
  const handler = partial.handler ?? "/handler";
69
69
  const home = partial.home ?? "/";
@@ -1715,7 +1715,8 @@ var _StackAdminAppImpl = class extends _StackServerAppImpl {
1715
1715
  type: "standard",
1716
1716
  clientId: p.client_id ?? (0, import_errors.throwErr)("Client ID is missing"),
1717
1717
  clientSecret: p.client_secret ?? (0, import_errors.throwErr)("Client secret is missing"),
1718
- facebookConfigId: p.facebook_config_id
1718
+ facebookConfigId: p.facebook_config_id,
1719
+ microsoftTenantId: p.microsoft_tenant_id
1719
1720
  }),
1720
1721
  emailConfig: data.config.email_config.type === "shared" ? {
1721
1722
  type: "shared"
@@ -1931,7 +1932,8 @@ function adminProjectUpdateOptionsToCrud(options) {
1931
1932
  ...p.type === "standard" && {
1932
1933
  client_id: p.clientId,
1933
1934
  client_secret: p.clientSecret,
1934
- facebook_config_id: p.facebookConfigId
1935
+ facebook_config_id: p.facebookConfigId,
1936
+ microsoft_tenant_id: p.microsoftTenantId
1935
1937
  }
1936
1938
  })),
1937
1939
  email_config: options.config?.emailConfig && (options.config.emailConfig.type === "shared" ? {