@stackframe/react 2.7.20
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 +1415 -0
- package/LICENSE +7 -0
- package/README.md +26 -0
- package/dist/components/credential-sign-in.d.mts +5 -0
- package/dist/components/credential-sign-in.d.ts +5 -0
- package/dist/components/credential-sign-in.js +103 -0
- package/dist/components/credential-sign-in.js.map +1 -0
- package/dist/components/credential-sign-up.d.mts +7 -0
- package/dist/components/credential-sign-up.d.ts +7 -0
- package/dist/components/credential-sign-up.js +138 -0
- package/dist/components/credential-sign-up.js.map +1 -0
- package/dist/components/elements/form-warning.d.mts +7 -0
- package/dist/components/elements/form-warning.d.ts +7 -0
- package/dist/components/elements/form-warning.js +39 -0
- package/dist/components/elements/form-warning.js.map +1 -0
- package/dist/components/elements/maybe-full-page.d.mts +11 -0
- package/dist/components/elements/maybe-full-page.d.ts +11 -0
- package/dist/components/elements/maybe-full-page.js +74 -0
- package/dist/components/elements/maybe-full-page.js.map +1 -0
- package/dist/components/elements/separator-with-text.d.mts +7 -0
- package/dist/components/elements/separator-with-text.d.ts +7 -0
- package/dist/components/elements/separator-with-text.js +41 -0
- package/dist/components/elements/separator-with-text.js.map +1 -0
- package/dist/components/elements/sidebar-layout.d.mts +19 -0
- package/dist/components/elements/sidebar-layout.d.ts +19 -0
- package/dist/components/elements/sidebar-layout.js +126 -0
- package/dist/components/elements/sidebar-layout.js.map +1 -0
- package/dist/components/elements/ssr-layout-effect.d.mts +8 -0
- package/dist/components/elements/ssr-layout-effect.d.ts +8 -0
- package/dist/components/elements/ssr-layout-effect.js +47 -0
- package/dist/components/elements/ssr-layout-effect.js.map +1 -0
- package/dist/components/elements/user-avatar.d.mts +13 -0
- package/dist/components/elements/user-avatar.d.ts +13 -0
- package/dist/components/elements/user-avatar.js +41 -0
- package/dist/components/elements/user-avatar.js.map +1 -0
- package/dist/components/iframe-preventer.d.mts +8 -0
- package/dist/components/iframe-preventer.d.ts +8 -0
- package/dist/components/iframe-preventer.js +52 -0
- package/dist/components/iframe-preventer.js.map +1 -0
- package/dist/components/link.d.mts +14 -0
- package/dist/components/link.d.ts +14 -0
- package/dist/components/link.js +51 -0
- package/dist/components/link.js.map +1 -0
- package/dist/components/magic-link-sign-in.d.mts +5 -0
- package/dist/components/magic-link-sign-in.d.ts +5 -0
- package/dist/components/magic-link-sign-in.js +151 -0
- package/dist/components/magic-link-sign-in.js.map +1 -0
- package/dist/components/message-cards/known-error-message-card.d.mts +9 -0
- package/dist/components/message-cards/known-error-message-card.d.ts +9 -0
- package/dist/components/message-cards/known-error-message-card.js +61 -0
- package/dist/components/message-cards/known-error-message-card.js.map +1 -0
- package/dist/components/message-cards/message-card.d.mts +14 -0
- package/dist/components/message-cards/message-card.d.ts +14 -0
- package/dist/components/message-cards/message-card.js +45 -0
- package/dist/components/message-cards/message-card.js.map +1 -0
- package/dist/components/message-cards/predefined-message-card.d.mts +8 -0
- package/dist/components/message-cards/predefined-message-card.d.ts +8 -0
- package/dist/components/message-cards/predefined-message-card.js +107 -0
- package/dist/components/message-cards/predefined-message-card.js.map +1 -0
- package/dist/components/oauth-button-group.d.mts +14 -0
- package/dist/components/oauth-button-group.d.ts +14 -0
- package/dist/components/oauth-button-group.js +43 -0
- package/dist/components/oauth-button-group.js.map +1 -0
- package/dist/components/oauth-button.d.mts +8 -0
- package/dist/components/oauth-button.d.ts +8 -0
- package/dist/components/oauth-button.js +210 -0
- package/dist/components/oauth-button.js.map +1 -0
- package/dist/components/passkey-button.d.mts +7 -0
- package/dist/components/passkey-button.d.ts +7 -0
- package/dist/components/passkey-button.js +58 -0
- package/dist/components/passkey-button.js.map +1 -0
- package/dist/components/profile-image-editor.d.mts +11 -0
- package/dist/components/profile-image-editor.d.ts +11 -0
- package/dist/components/profile-image-editor.js +162 -0
- package/dist/components/profile-image-editor.js.map +1 -0
- package/dist/components/selected-team-switcher.d.mts +21 -0
- package/dist/components/selected-team-switcher.d.ts +21 -0
- package/dist/components/selected-team-switcher.js +119 -0
- package/dist/components/selected-team-switcher.js.map +1 -0
- package/dist/components/team-icon.d.mts +18 -0
- package/dist/components/team-icon.d.ts +18 -0
- package/dist/components/team-icon.js +39 -0
- package/dist/components/team-icon.js.map +1 -0
- package/dist/components/user-button.d.mts +15 -0
- package/dist/components/user-button.d.ts +15 -0
- package/dist/components/user-button.js +120 -0
- package/dist/components/user-button.js.map +1 -0
- package/dist/components-page/account-settings.d.mts +24 -0
- package/dist/components-page/account-settings.d.ts +24 -0
- package/dist/components-page/account-settings.js +1095 -0
- package/dist/components-page/account-settings.js.map +1 -0
- package/dist/components-page/auth-page.d.mts +24 -0
- package/dist/components-page/auth-page.d.ts +24 -0
- package/dist/components-page/auth-page.js +123 -0
- package/dist/components-page/auth-page.js.map +1 -0
- package/dist/components-page/email-verification.d.mts +8 -0
- package/dist/components-page/email-verification.d.ts +8 -0
- package/dist/components-page/email-verification.js +100 -0
- package/dist/components-page/email-verification.js.map +1 -0
- package/dist/components-page/error-page.d.mts +8 -0
- package/dist/components-page/error-page.d.ts +8 -0
- package/dist/components-page/error-page.js +97 -0
- package/dist/components-page/error-page.js.map +1 -0
- package/dist/components-page/forgot-password.d.mts +10 -0
- package/dist/components-page/forgot-password.d.ts +10 -0
- package/dist/components-page/forgot-password.js +117 -0
- package/dist/components-page/forgot-password.js.map +1 -0
- package/dist/components-page/magic-link-callback.d.mts +8 -0
- package/dist/components-page/magic-link-callback.d.ts +8 -0
- package/dist/components-page/magic-link-callback.js +110 -0
- package/dist/components-page/magic-link-callback.js.map +1 -0
- package/dist/components-page/oauth-callback.d.mts +7 -0
- package/dist/components-page/oauth-callback.d.ts +7 -0
- package/dist/components-page/oauth-callback.js +75 -0
- package/dist/components-page/oauth-callback.js.map +1 -0
- package/dist/components-page/password-reset.d.mts +12 -0
- package/dist/components-page/password-reset.d.ts +12 -0
- package/dist/components-page/password-reset.js +179 -0
- package/dist/components-page/password-reset.js.map +1 -0
- package/dist/components-page/sign-in.d.mts +10 -0
- package/dist/components-page/sign-in.d.ts +10 -0
- package/dist/components-page/sign-in.js +44 -0
- package/dist/components-page/sign-in.js.map +1 -0
- package/dist/components-page/sign-out.d.mts +7 -0
- package/dist/components-page/sign-out.d.ts +7 -0
- package/dist/components-page/sign-out.js +57 -0
- package/dist/components-page/sign-out.js.map +1 -0
- package/dist/components-page/sign-up.d.mts +11 -0
- package/dist/components-page/sign-up.d.ts +11 -0
- package/dist/components-page/sign-up.js +47 -0
- package/dist/components-page/sign-up.js.map +1 -0
- package/dist/components-page/stack-handler.d.mts +51 -0
- package/dist/components-page/stack-handler.d.ts +51 -0
- package/dist/components-page/stack-handler.js +244 -0
- package/dist/components-page/stack-handler.js.map +1 -0
- package/dist/components-page/team-creation.d.mts +7 -0
- package/dist/components-page/team-creation.d.ts +7 -0
- package/dist/components-page/team-creation.js +92 -0
- package/dist/components-page/team-creation.js.map +1 -0
- package/dist/components-page/team-invitation.d.mts +8 -0
- package/dist/components-page/team-invitation.d.ts +8 -0
- package/dist/components-page/team-invitation.js +144 -0
- package/dist/components-page/team-invitation.js.map +1 -0
- package/dist/esm/components/credential-sign-in.js +79 -0
- package/dist/esm/components/credential-sign-in.js.map +1 -0
- package/dist/esm/components/credential-sign-up.js +104 -0
- package/dist/esm/components/credential-sign-up.js.map +1 -0
- package/dist/esm/components/elements/form-warning.js +15 -0
- package/dist/esm/components/elements/form-warning.js.map +1 -0
- package/dist/esm/components/elements/maybe-full-page.js +50 -0
- package/dist/esm/components/elements/maybe-full-page.js.map +1 -0
- package/dist/esm/components/elements/separator-with-text.js +17 -0
- package/dist/esm/components/elements/separator-with-text.js.map +1 -0
- package/dist/esm/components/elements/sidebar-layout.js +102 -0
- package/dist/esm/components/elements/sidebar-layout.js.map +1 -0
- package/dist/esm/components/elements/ssr-layout-effect.js +23 -0
- package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -0
- package/dist/esm/components/elements/user-avatar.js +16 -0
- package/dist/esm/components/elements/user-avatar.js.map +1 -0
- package/dist/esm/components/iframe-preventer.js +28 -0
- package/dist/esm/components/iframe-preventer.js.map +1 -0
- package/dist/esm/components/link.js +26 -0
- package/dist/esm/components/link.js.map +1 -0
- package/dist/esm/components/magic-link-sign-in.js +127 -0
- package/dist/esm/components/magic-link-sign-in.js.map +1 -0
- package/dist/esm/components/message-cards/known-error-message-card.js +37 -0
- package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -0
- package/dist/esm/components/message-cards/message-card.js +21 -0
- package/dist/esm/components/message-cards/message-card.js.map +1 -0
- package/dist/esm/components/message-cards/predefined-message-card.js +83 -0
- package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -0
- package/dist/esm/components/oauth-button-group.js +19 -0
- package/dist/esm/components/oauth-button-group.js.map +1 -0
- package/dist/esm/components/oauth-button.js +176 -0
- package/dist/esm/components/oauth-button.js.map +1 -0
- package/dist/esm/components/passkey-button.js +34 -0
- package/dist/esm/components/passkey-button.js.map +1 -0
- package/dist/esm/components/profile-image-editor.js +126 -0
- package/dist/esm/components/profile-image-editor.js.map +1 -0
- package/dist/esm/components/selected-team-switcher.js +107 -0
- package/dist/esm/components/selected-team-switcher.js.map +1 -0
- package/dist/esm/components/team-icon.js +14 -0
- package/dist/esm/components/team-icon.js.map +1 -0
- package/dist/esm/components/user-button.js +96 -0
- package/dist/esm/components/user-button.js.map +1 -0
- package/dist/esm/components-page/account-settings.js +1058 -0
- package/dist/esm/components-page/account-settings.js.map +1 -0
- package/dist/esm/components-page/auth-page.js +99 -0
- package/dist/esm/components-page/auth-page.js.map +1 -0
- package/dist/esm/components-page/email-verification.js +66 -0
- package/dist/esm/components-page/email-verification.js.map +1 -0
- package/dist/esm/components-page/error-page.js +73 -0
- package/dist/esm/components-page/error-page.js.map +1 -0
- package/dist/esm/components-page/forgot-password.js +92 -0
- package/dist/esm/components-page/forgot-password.js.map +1 -0
- package/dist/esm/components-page/magic-link-callback.js +76 -0
- package/dist/esm/components-page/magic-link-callback.js.map +1 -0
- package/dist/esm/components-page/oauth-callback.js +51 -0
- package/dist/esm/components-page/oauth-callback.js.map +1 -0
- package/dist/esm/components-page/password-reset.js +145 -0
- package/dist/esm/components-page/password-reset.js.map +1 -0
- package/dist/esm/components-page/sign-in.js +19 -0
- package/dist/esm/components-page/sign-in.js.map +1 -0
- package/dist/esm/components-page/sign-out.js +23 -0
- package/dist/esm/components-page/sign-out.js.map +1 -0
- package/dist/esm/components-page/sign-up.js +23 -0
- package/dist/esm/components-page/sign-up.js.map +1 -0
- package/dist/esm/components-page/stack-handler.js +223 -0
- package/dist/esm/components-page/stack-handler.js.map +1 -0
- package/dist/esm/components-page/team-creation.js +68 -0
- package/dist/esm/components-page/team-creation.js.map +1 -0
- package/dist/esm/components-page/team-invitation.js +110 -0
- package/dist/esm/components-page/team-invitation.js.map +1 -0
- package/dist/esm/generated/global-css.js +6 -0
- package/dist/esm/generated/global-css.js.map +1 -0
- package/dist/esm/generated/quetzal-translations.js +2397 -0
- package/dist/esm/generated/quetzal-translations.js.map +1 -0
- package/dist/esm/global.d.js +1 -0
- package/dist/esm/global.d.js.map +1 -0
- package/dist/esm/index.js +46 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/auth.js +98 -0
- package/dist/esm/lib/auth.js.map +1 -0
- package/dist/esm/lib/cookie.js +244 -0
- package/dist/esm/lib/cookie.js.map +1 -0
- package/dist/esm/lib/hooks.js +30 -0
- package/dist/esm/lib/hooks.js.map +1 -0
- package/dist/esm/lib/stack-app.js +2398 -0
- package/dist/esm/lib/stack-app.js.map +1 -0
- package/dist/esm/lib/translations.js +23 -0
- package/dist/esm/lib/translations.js.map +1 -0
- package/dist/esm/providers/stack-provider-client.js +29 -0
- package/dist/esm/providers/stack-provider-client.js.map +1 -0
- package/dist/esm/providers/stack-provider.js +25 -0
- package/dist/esm/providers/stack-provider.js.map +1 -0
- package/dist/esm/providers/theme-provider.js +71 -0
- package/dist/esm/providers/theme-provider.js.map +1 -0
- package/dist/esm/providers/translation-provider-client.js +18 -0
- package/dist/esm/providers/translation-provider-client.js.map +1 -0
- package/dist/esm/providers/translation-provider.js +18 -0
- package/dist/esm/providers/translation-provider.js.map +1 -0
- package/dist/esm/utils/browser-script.js +112 -0
- package/dist/esm/utils/browser-script.js.map +1 -0
- package/dist/esm/utils/constants.js +66 -0
- package/dist/esm/utils/constants.js.map +1 -0
- package/dist/esm/utils/url.js +30 -0
- package/dist/esm/utils/url.js.map +1 -0
- package/dist/generated/global-css.d.mts +3 -0
- package/dist/generated/global-css.d.ts +3 -0
- package/dist/generated/global-css.js +31 -0
- package/dist/generated/global-css.js.map +1 -0
- package/dist/generated/quetzal-translations.d.mts +4 -0
- package/dist/generated/quetzal-translations.d.ts +4 -0
- package/dist/generated/quetzal-translations.js +2423 -0
- package/dist/generated/quetzal-translations.js.map +1 -0
- package/dist/global.d.d.mts +2 -0
- package/dist/global.d.d.ts +2 -0
- package/dist/global.d.js +2 -0
- package/dist/global.d.js.map +1 -0
- package/dist/index.d.mts +41 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.js +103 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/auth.d.mts +33 -0
- package/dist/lib/auth.d.ts +33 -0
- package/dist/lib/auth.js +125 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/cookie.d.mts +33 -0
- package/dist/lib/cookie.d.ts +33 -0
- package/dist/lib/cookie.js +291 -0
- package/dist/lib/cookie.js.map +1 -0
- package/dist/lib/hooks.d.mts +41 -0
- package/dist/lib/hooks.d.ts +41 -0
- package/dist/lib/hooks.js +56 -0
- package/dist/lib/hooks.js.map +1 -0
- package/dist/lib/stack-app.d.mts +775 -0
- package/dist/lib/stack-app.d.ts +775 -0
- package/dist/lib/stack-app.js +2438 -0
- package/dist/lib/stack-app.js.map +1 -0
- package/dist/lib/translations.d.mts +5 -0
- package/dist/lib/translations.d.ts +5 -0
- package/dist/lib/translations.js +58 -0
- package/dist/lib/translations.js.map +1 -0
- package/dist/providers/stack-provider-client.d.mts +27 -0
- package/dist/providers/stack-provider-client.d.ts +27 -0
- package/dist/providers/stack-provider-client.js +65 -0
- package/dist/providers/stack-provider-client.js.map +1 -0
- package/dist/providers/stack-provider.d.mts +30 -0
- package/dist/providers/stack-provider.d.ts +30 -0
- package/dist/providers/stack-provider.js +46 -0
- package/dist/providers/stack-provider.js.map +1 -0
- package/dist/providers/theme-provider.d.mts +40 -0
- package/dist/providers/theme-provider.d.ts +40 -0
- package/dist/providers/theme-provider.js +105 -0
- package/dist/providers/theme-provider.js.map +1 -0
- package/dist/providers/translation-provider-client.d.mts +14 -0
- package/dist/providers/translation-provider-client.d.ts +14 -0
- package/dist/providers/translation-provider-client.js +43 -0
- package/dist/providers/translation-provider-client.js.map +1 -0
- package/dist/providers/translation-provider.d.mts +10 -0
- package/dist/providers/translation-provider.d.ts +10 -0
- package/dist/providers/translation-provider.js +43 -0
- package/dist/providers/translation-provider.js.map +1 -0
- package/dist/utils/browser-script.d.mts +7 -0
- package/dist/utils/browser-script.d.ts +7 -0
- package/dist/utils/browser-script.js +137 -0
- package/dist/utils/browser-script.js.map +1 -0
- package/dist/utils/constants.d.mts +79 -0
- package/dist/utils/constants.d.ts +79 -0
- package/dist/utils/constants.js +99 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/url.d.mts +4 -0
- package/dist/utils/url.d.ts +4 -0
- package/dist/utils/url.js +56 -0
- package/dist/utils/url.js.map +1 -0
- package/package.json +96 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/browser-script.tsx
|
|
21
|
+
var browser_script_exports = {};
|
|
22
|
+
__export(browser_script_exports, {
|
|
23
|
+
BrowserScript: () => BrowserScript
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(browser_script_exports);
|
|
26
|
+
var import_ssr_layout_effect = require("../components/elements/ssr-layout-effect");
|
|
27
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
+
var script = () => {
|
|
29
|
+
const attributes = ["data-joy-color-scheme", "data-mui-color-scheme", "data-theme", "data-color-scheme", "class"];
|
|
30
|
+
const getColorMode = (value) => {
|
|
31
|
+
if (value.includes("dark")) {
|
|
32
|
+
return "dark";
|
|
33
|
+
}
|
|
34
|
+
if (value.includes("light")) {
|
|
35
|
+
return "light";
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
};
|
|
39
|
+
const setTheme = (mode) => {
|
|
40
|
+
let el = document.getElementById(`--stack-theme-mode`);
|
|
41
|
+
if (!el) {
|
|
42
|
+
el = document.createElement("style");
|
|
43
|
+
el.id = `--stack-theme-mode`;
|
|
44
|
+
el.innerHTML = `/* This tag is used by Stack Auth to set the theme in the browser without causing a hydration error (since React ignores additional tags in the <head>). We later use the \`html:has(head > [data-stack-theme=XYZ])\` selector to apply styles based on the theme. */`;
|
|
45
|
+
document.head.appendChild(el);
|
|
46
|
+
}
|
|
47
|
+
el.setAttribute("data-stack-theme", mode);
|
|
48
|
+
};
|
|
49
|
+
const colorToRGB = (color) => {
|
|
50
|
+
const temp = document.createElement("div");
|
|
51
|
+
temp.style.color = color;
|
|
52
|
+
document.body.appendChild(temp);
|
|
53
|
+
const computedColor = getComputedStyle(temp).color;
|
|
54
|
+
document.body.removeChild(temp);
|
|
55
|
+
const match = computedColor.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
|
|
56
|
+
if (match) {
|
|
57
|
+
return [parseInt(match[1]), parseInt(match[2]), parseInt(match[3])];
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
};
|
|
61
|
+
const rgbToLuma = (rgb) => {
|
|
62
|
+
return (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1e3;
|
|
63
|
+
};
|
|
64
|
+
const copyFromColorScheme = () => {
|
|
65
|
+
const colorScheme = getComputedStyle(document.documentElement).getPropertyValue("color-scheme");
|
|
66
|
+
if (colorScheme) {
|
|
67
|
+
const mode = getColorMode(colorScheme);
|
|
68
|
+
if (mode) {
|
|
69
|
+
setTheme(mode);
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return false;
|
|
74
|
+
};
|
|
75
|
+
const copyFromVariables = () => {
|
|
76
|
+
let backgroundColor = getComputedStyle(document.documentElement).getPropertyValue("--background");
|
|
77
|
+
if (backgroundColor) {
|
|
78
|
+
if (/^\d+\s\d+%\s\d+(\.\d+)?%$/.test(backgroundColor)) {
|
|
79
|
+
backgroundColor = `hsl(${backgroundColor})`;
|
|
80
|
+
}
|
|
81
|
+
const rgb = colorToRGB(backgroundColor);
|
|
82
|
+
if (rgb) {
|
|
83
|
+
const luma = rgbToLuma(rgb);
|
|
84
|
+
if (luma < 128) {
|
|
85
|
+
setTheme("dark");
|
|
86
|
+
} else {
|
|
87
|
+
setTheme("light");
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return false;
|
|
93
|
+
};
|
|
94
|
+
const copyFromAttributes = () => {
|
|
95
|
+
for (const attributeName of attributes) {
|
|
96
|
+
const colorTheme = document.documentElement.getAttribute(attributeName);
|
|
97
|
+
if (colorTheme) {
|
|
98
|
+
const mode = getColorMode(colorTheme);
|
|
99
|
+
if (mode) {
|
|
100
|
+
setTheme(mode);
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return false;
|
|
106
|
+
};
|
|
107
|
+
const observer = new MutationObserver((mutations) => {
|
|
108
|
+
mutations.forEach((mutation) => {
|
|
109
|
+
if (copyFromColorScheme()) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (mutation.attributeName && attributes.includes(mutation.attributeName) && copyFromAttributes()) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (copyFromVariables()) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
observer.observe(document.documentElement, {
|
|
121
|
+
attributes: true,
|
|
122
|
+
attributeFilter: attributes
|
|
123
|
+
});
|
|
124
|
+
if (!copyFromColorScheme()) {
|
|
125
|
+
if (!copyFromAttributes()) {
|
|
126
|
+
copyFromVariables();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
function BrowserScript(props) {
|
|
131
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ssr_layout_effect.SsrScript, { nonce: props.nonce, script: `(${script.toString()})()` });
|
|
132
|
+
}
|
|
133
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
134
|
+
0 && (module.exports = {
|
|
135
|
+
BrowserScript
|
|
136
|
+
});
|
|
137
|
+
//# sourceMappingURL=browser-script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/browser-script.tsx"],"sourcesContent":["//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY\n//===========================================\n\n// 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\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 let el = document.getElementById(`--stack-theme-mode`);\n if (!el) {\n el = document.createElement(\"style\");\n el.id = `--stack-theme-mode`;\n el.innerHTML = `/* This tag is used by Stack Auth to set the theme in the browser without causing a hydration error (since React ignores additional tags in the <head>). We later use the \\`html:has(head > [data-stack-theme=XYZ])\\` selector to apply styles based on the theme. */`;\n document.head.appendChild(el);\n }\n el.setAttribute(\"data-stack-theme\", mode);\n };\n\n const colorToRGB = (color: string): [number, number, number] | null => {\n // Create a temporary element to use for color conversion\n const temp = document.createElement('div');\n temp.style.color = color;\n document.body.appendChild(temp);\n\n // Get the computed style\n const computedColor = getComputedStyle(temp).color;\n document.body.removeChild(temp);\n\n // Parse the RGB values\n const match = computedColor.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\n if (match) {\n return [parseInt(match[1]), parseInt(match[2]), parseInt(match[3])];\n }\n\n return null;\n };\n\n const rgbToLuma = (rgb: [number, number, number]) => {\n return (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n };\n\n const copyFromColorScheme = () => {\n const colorScheme = getComputedStyle(document.documentElement).getPropertyValue('color-scheme');\n\n if (colorScheme) {\n const mode = getColorMode(colorScheme);\n if (mode) {\n setTheme(mode);\n return true;\n }\n }\n return false;\n };\n\n const copyFromVariables = () => {\n let backgroundColor = getComputedStyle(document.documentElement).getPropertyValue('--background');\n if (backgroundColor) {\n // shadcn by default uses the hsl values with the format \"123 45% 6.5%\"\n if (/^\\d+\\s\\d+%\\s\\d+(\\.\\d+)?%$/.test(backgroundColor)) {\n backgroundColor = `hsl(${backgroundColor})`;\n }\n\n // convert backgroundColor to luma and check if it's dark\n const rgb = colorToRGB(backgroundColor);\n if (rgb) {\n const luma = rgbToLuma(rgb);\n if (luma < 128) {\n setTheme('dark');\n } else {\n setTheme('light');\n }\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) && copyFromAttributes()) {\n return;\n }\n if (copyFromVariables()) {\n return;\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 if (!copyFromAttributes()) {\n copyFromVariables();\n }\n }\n};\n\nexport function BrowserScript(props : { nonce?: string }) {\n return <SsrScript nonce={props.nonce} script={`(${script.toString()})()`}/>;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
declare const FONT_SIZES: {
|
|
2
|
+
readonly xs: "0.75rem";
|
|
3
|
+
readonly sm: "0.875rem";
|
|
4
|
+
readonly md: "1rem";
|
|
5
|
+
readonly lg: "1.125rem";
|
|
6
|
+
readonly xl: "1.25rem";
|
|
7
|
+
};
|
|
8
|
+
declare const LINE_HEIGHTS: {
|
|
9
|
+
readonly xs: "1rem";
|
|
10
|
+
readonly sm: "1.25rem";
|
|
11
|
+
readonly md: "1.5rem";
|
|
12
|
+
readonly lg: "1.75rem";
|
|
13
|
+
readonly xl: "2rem";
|
|
14
|
+
};
|
|
15
|
+
declare const FONT_FAMILY = "ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"";
|
|
16
|
+
declare const PRIMARY_FONT_COLORS: {
|
|
17
|
+
readonly dark: "white";
|
|
18
|
+
readonly light: "black";
|
|
19
|
+
};
|
|
20
|
+
declare const SECONDARY_FONT_COLORS: {
|
|
21
|
+
readonly dark: "#a8a8a8";
|
|
22
|
+
readonly light: "#737373";
|
|
23
|
+
};
|
|
24
|
+
declare const SELECTED_BACKGROUND_COLORS: {
|
|
25
|
+
readonly dark: "rgba(255, 255, 255, 0.1)";
|
|
26
|
+
readonly light: "rgba(0, 0, 0, 0.04)";
|
|
27
|
+
};
|
|
28
|
+
declare const LINK_COLORS: {
|
|
29
|
+
readonly dark: "#fff";
|
|
30
|
+
readonly light: "#000";
|
|
31
|
+
};
|
|
32
|
+
declare const SHADOW = "0 1px 2px 0 rgba(0, 0, 0, 0.05)";
|
|
33
|
+
declare const DEFAULT_THEME: {
|
|
34
|
+
readonly light: {
|
|
35
|
+
readonly background: "hsl(0 0% 100%)";
|
|
36
|
+
readonly foreground: "hsl(240 10% 3.9%)";
|
|
37
|
+
readonly card: "hsl(0 0% 100%)";
|
|
38
|
+
readonly cardForeground: "hsl(240 10% 3.9%)";
|
|
39
|
+
readonly popover: "hsl(0 0% 100%)";
|
|
40
|
+
readonly popoverForeground: "hsl(240 10% 3.9%)";
|
|
41
|
+
readonly primary: "hsl(240 5.9% 10%)";
|
|
42
|
+
readonly primaryForeground: "hsl(0 0% 98%)";
|
|
43
|
+
readonly secondary: "hsl(240 4.8% 95.9%)";
|
|
44
|
+
readonly secondaryForeground: "hsl(240 5.9% 10%)";
|
|
45
|
+
readonly muted: "hsl(240 4.8% 95.9%)";
|
|
46
|
+
readonly mutedForeground: "hsl(240 3.8% 46.1%)";
|
|
47
|
+
readonly accent: "hsl(240 4.8% 95.9%)";
|
|
48
|
+
readonly accentForeground: "hsl(240 5.9% 10%)";
|
|
49
|
+
readonly destructive: "hsl(0 84.2% 60.2%)";
|
|
50
|
+
readonly destructiveForeground: "hsl(0 0% 98%)";
|
|
51
|
+
readonly border: "hsl(240 5.9% 90%)";
|
|
52
|
+
readonly input: "hsl(240 5.9% 90%)";
|
|
53
|
+
readonly ring: "hsl(240 10% 3.9%)";
|
|
54
|
+
};
|
|
55
|
+
readonly dark: {
|
|
56
|
+
readonly background: "hsl(240 10% 3.9%)";
|
|
57
|
+
readonly foreground: "hsl(0 0% 98%)";
|
|
58
|
+
readonly card: "hsl(240 10% 3.9%)";
|
|
59
|
+
readonly cardForeground: "hsl(0 0% 98%)";
|
|
60
|
+
readonly popover: "hsl(240 10% 3.9%)";
|
|
61
|
+
readonly popoverForeground: "hsl(0 0% 98%)";
|
|
62
|
+
readonly primary: "hsl(0 0% 98%)";
|
|
63
|
+
readonly primaryForeground: "hsl(240 5.9% 10%)";
|
|
64
|
+
readonly secondary: "hsl(240 3.7% 15.9%)";
|
|
65
|
+
readonly secondaryForeground: "hsl(0 0% 98%)";
|
|
66
|
+
readonly muted: "hsl(240 3.7% 15.9%)";
|
|
67
|
+
readonly mutedForeground: "hsl(240 5% 64.9%)";
|
|
68
|
+
readonly accent: "hsl(240 3.7% 15.9%)";
|
|
69
|
+
readonly accentForeground: "hsl(0 0% 98%)";
|
|
70
|
+
readonly destructive: "hsl(0 62.8% 50%)";
|
|
71
|
+
readonly destructiveForeground: "hsl(0 0% 98%)";
|
|
72
|
+
readonly border: "hsl(240 3.7% 15.9%)";
|
|
73
|
+
readonly input: "hsl(240 3.7% 15.9%)";
|
|
74
|
+
readonly ring: "hsl(240 4.9% 83.9%)";
|
|
75
|
+
};
|
|
76
|
+
readonly radius: "0.5rem";
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export { DEFAULT_THEME, FONT_FAMILY, FONT_SIZES, LINE_HEIGHTS, LINK_COLORS, PRIMARY_FONT_COLORS, SECONDARY_FONT_COLORS, SELECTED_BACKGROUND_COLORS, SHADOW };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
declare const FONT_SIZES: {
|
|
2
|
+
readonly xs: "0.75rem";
|
|
3
|
+
readonly sm: "0.875rem";
|
|
4
|
+
readonly md: "1rem";
|
|
5
|
+
readonly lg: "1.125rem";
|
|
6
|
+
readonly xl: "1.25rem";
|
|
7
|
+
};
|
|
8
|
+
declare const LINE_HEIGHTS: {
|
|
9
|
+
readonly xs: "1rem";
|
|
10
|
+
readonly sm: "1.25rem";
|
|
11
|
+
readonly md: "1.5rem";
|
|
12
|
+
readonly lg: "1.75rem";
|
|
13
|
+
readonly xl: "2rem";
|
|
14
|
+
};
|
|
15
|
+
declare const FONT_FAMILY = "ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"";
|
|
16
|
+
declare const PRIMARY_FONT_COLORS: {
|
|
17
|
+
readonly dark: "white";
|
|
18
|
+
readonly light: "black";
|
|
19
|
+
};
|
|
20
|
+
declare const SECONDARY_FONT_COLORS: {
|
|
21
|
+
readonly dark: "#a8a8a8";
|
|
22
|
+
readonly light: "#737373";
|
|
23
|
+
};
|
|
24
|
+
declare const SELECTED_BACKGROUND_COLORS: {
|
|
25
|
+
readonly dark: "rgba(255, 255, 255, 0.1)";
|
|
26
|
+
readonly light: "rgba(0, 0, 0, 0.04)";
|
|
27
|
+
};
|
|
28
|
+
declare const LINK_COLORS: {
|
|
29
|
+
readonly dark: "#fff";
|
|
30
|
+
readonly light: "#000";
|
|
31
|
+
};
|
|
32
|
+
declare const SHADOW = "0 1px 2px 0 rgba(0, 0, 0, 0.05)";
|
|
33
|
+
declare const DEFAULT_THEME: {
|
|
34
|
+
readonly light: {
|
|
35
|
+
readonly background: "hsl(0 0% 100%)";
|
|
36
|
+
readonly foreground: "hsl(240 10% 3.9%)";
|
|
37
|
+
readonly card: "hsl(0 0% 100%)";
|
|
38
|
+
readonly cardForeground: "hsl(240 10% 3.9%)";
|
|
39
|
+
readonly popover: "hsl(0 0% 100%)";
|
|
40
|
+
readonly popoverForeground: "hsl(240 10% 3.9%)";
|
|
41
|
+
readonly primary: "hsl(240 5.9% 10%)";
|
|
42
|
+
readonly primaryForeground: "hsl(0 0% 98%)";
|
|
43
|
+
readonly secondary: "hsl(240 4.8% 95.9%)";
|
|
44
|
+
readonly secondaryForeground: "hsl(240 5.9% 10%)";
|
|
45
|
+
readonly muted: "hsl(240 4.8% 95.9%)";
|
|
46
|
+
readonly mutedForeground: "hsl(240 3.8% 46.1%)";
|
|
47
|
+
readonly accent: "hsl(240 4.8% 95.9%)";
|
|
48
|
+
readonly accentForeground: "hsl(240 5.9% 10%)";
|
|
49
|
+
readonly destructive: "hsl(0 84.2% 60.2%)";
|
|
50
|
+
readonly destructiveForeground: "hsl(0 0% 98%)";
|
|
51
|
+
readonly border: "hsl(240 5.9% 90%)";
|
|
52
|
+
readonly input: "hsl(240 5.9% 90%)";
|
|
53
|
+
readonly ring: "hsl(240 10% 3.9%)";
|
|
54
|
+
};
|
|
55
|
+
readonly dark: {
|
|
56
|
+
readonly background: "hsl(240 10% 3.9%)";
|
|
57
|
+
readonly foreground: "hsl(0 0% 98%)";
|
|
58
|
+
readonly card: "hsl(240 10% 3.9%)";
|
|
59
|
+
readonly cardForeground: "hsl(0 0% 98%)";
|
|
60
|
+
readonly popover: "hsl(240 10% 3.9%)";
|
|
61
|
+
readonly popoverForeground: "hsl(0 0% 98%)";
|
|
62
|
+
readonly primary: "hsl(0 0% 98%)";
|
|
63
|
+
readonly primaryForeground: "hsl(240 5.9% 10%)";
|
|
64
|
+
readonly secondary: "hsl(240 3.7% 15.9%)";
|
|
65
|
+
readonly secondaryForeground: "hsl(0 0% 98%)";
|
|
66
|
+
readonly muted: "hsl(240 3.7% 15.9%)";
|
|
67
|
+
readonly mutedForeground: "hsl(240 5% 64.9%)";
|
|
68
|
+
readonly accent: "hsl(240 3.7% 15.9%)";
|
|
69
|
+
readonly accentForeground: "hsl(0 0% 98%)";
|
|
70
|
+
readonly destructive: "hsl(0 62.8% 50%)";
|
|
71
|
+
readonly destructiveForeground: "hsl(0 0% 98%)";
|
|
72
|
+
readonly border: "hsl(240 3.7% 15.9%)";
|
|
73
|
+
readonly input: "hsl(240 3.7% 15.9%)";
|
|
74
|
+
readonly ring: "hsl(240 4.9% 83.9%)";
|
|
75
|
+
};
|
|
76
|
+
readonly radius: "0.5rem";
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export { DEFAULT_THEME, FONT_FAMILY, FONT_SIZES, LINE_HEIGHTS, LINK_COLORS, PRIMARY_FONT_COLORS, SECONDARY_FONT_COLORS, SELECTED_BACKGROUND_COLORS, SHADOW };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/constants.tsx
|
|
21
|
+
var constants_exports = {};
|
|
22
|
+
__export(constants_exports, {
|
|
23
|
+
DEFAULT_THEME: () => DEFAULT_THEME,
|
|
24
|
+
FONT_FAMILY: () => FONT_FAMILY,
|
|
25
|
+
FONT_SIZES: () => FONT_SIZES,
|
|
26
|
+
LINE_HEIGHTS: () => LINE_HEIGHTS,
|
|
27
|
+
LINK_COLORS: () => LINK_COLORS,
|
|
28
|
+
PRIMARY_FONT_COLORS: () => PRIMARY_FONT_COLORS,
|
|
29
|
+
SECONDARY_FONT_COLORS: () => SECONDARY_FONT_COLORS,
|
|
30
|
+
SELECTED_BACKGROUND_COLORS: () => SELECTED_BACKGROUND_COLORS,
|
|
31
|
+
SHADOW: () => SHADOW
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(constants_exports);
|
|
34
|
+
var FONT_SIZES = { "xs": "0.75rem", "sm": "0.875rem", "md": "1rem", "lg": "1.125rem", "xl": "1.25rem" };
|
|
35
|
+
var LINE_HEIGHTS = { "xs": "1rem", "sm": "1.25rem", "md": "1.5rem", "lg": "1.75rem", "xl": "2rem" };
|
|
36
|
+
var FONT_FAMILY = 'ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"';
|
|
37
|
+
var PRIMARY_FONT_COLORS = { "dark": "white", "light": "black" };
|
|
38
|
+
var SECONDARY_FONT_COLORS = { "dark": "#a8a8a8", "light": "#737373" };
|
|
39
|
+
var SELECTED_BACKGROUND_COLORS = { "dark": "rgba(255, 255, 255, 0.1)", "light": "rgba(0, 0, 0, 0.04)" };
|
|
40
|
+
var LINK_COLORS = { "dark": "#fff", "light": "#000" };
|
|
41
|
+
var SHADOW = "0 1px 2px 0 rgba(0, 0, 0, 0.05)";
|
|
42
|
+
var DEFAULT_THEME = {
|
|
43
|
+
light: {
|
|
44
|
+
background: "hsl(0 0% 100%)",
|
|
45
|
+
foreground: "hsl(240 10% 3.9%)",
|
|
46
|
+
card: "hsl(0 0% 100%)",
|
|
47
|
+
cardForeground: "hsl(240 10% 3.9%)",
|
|
48
|
+
popover: "hsl(0 0% 100%)",
|
|
49
|
+
popoverForeground: "hsl(240 10% 3.9%)",
|
|
50
|
+
primary: "hsl(240 5.9% 10%)",
|
|
51
|
+
primaryForeground: "hsl(0 0% 98%)",
|
|
52
|
+
secondary: "hsl(240 4.8% 95.9%)",
|
|
53
|
+
secondaryForeground: "hsl(240 5.9% 10%)",
|
|
54
|
+
muted: "hsl(240 4.8% 95.9%)",
|
|
55
|
+
mutedForeground: "hsl(240 3.8% 46.1%)",
|
|
56
|
+
accent: "hsl(240 4.8% 95.9%)",
|
|
57
|
+
accentForeground: "hsl(240 5.9% 10%)",
|
|
58
|
+
destructive: "hsl(0 84.2% 60.2%)",
|
|
59
|
+
destructiveForeground: "hsl(0 0% 98%)",
|
|
60
|
+
border: "hsl(240 5.9% 90%)",
|
|
61
|
+
input: "hsl(240 5.9% 90%)",
|
|
62
|
+
ring: "hsl(240 10% 3.9%)"
|
|
63
|
+
},
|
|
64
|
+
dark: {
|
|
65
|
+
background: "hsl(240 10% 3.9%)",
|
|
66
|
+
foreground: "hsl(0 0% 98%)",
|
|
67
|
+
card: "hsl(240 10% 3.9%)",
|
|
68
|
+
cardForeground: "hsl(0 0% 98%)",
|
|
69
|
+
popover: "hsl(240 10% 3.9%)",
|
|
70
|
+
popoverForeground: "hsl(0 0% 98%)",
|
|
71
|
+
primary: "hsl(0 0% 98%)",
|
|
72
|
+
primaryForeground: "hsl(240 5.9% 10%)",
|
|
73
|
+
secondary: "hsl(240 3.7% 15.9%)",
|
|
74
|
+
secondaryForeground: "hsl(0 0% 98%)",
|
|
75
|
+
muted: "hsl(240 3.7% 15.9%)",
|
|
76
|
+
mutedForeground: "hsl(240 5% 64.9%)",
|
|
77
|
+
accent: "hsl(240 3.7% 15.9%)",
|
|
78
|
+
accentForeground: "hsl(0 0% 98%)",
|
|
79
|
+
destructive: "hsl(0 62.8% 50%)",
|
|
80
|
+
destructiveForeground: "hsl(0 0% 98%)",
|
|
81
|
+
border: "hsl(240 3.7% 15.9%)",
|
|
82
|
+
input: "hsl(240 3.7% 15.9%)",
|
|
83
|
+
ring: "hsl(240 4.9% 83.9%)"
|
|
84
|
+
},
|
|
85
|
+
radius: "0.5rem"
|
|
86
|
+
};
|
|
87
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
88
|
+
0 && (module.exports = {
|
|
89
|
+
DEFAULT_THEME,
|
|
90
|
+
FONT_FAMILY,
|
|
91
|
+
FONT_SIZES,
|
|
92
|
+
LINE_HEIGHTS,
|
|
93
|
+
LINK_COLORS,
|
|
94
|
+
PRIMARY_FONT_COLORS,
|
|
95
|
+
SECONDARY_FONT_COLORS,
|
|
96
|
+
SELECTED_BACKGROUND_COLORS,
|
|
97
|
+
SHADOW
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/constants.tsx"],"sourcesContent":["//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY\n//===========================================\n\nexport const FONT_SIZES = { 'xs': '0.75rem', 'sm': '0.875rem', 'md': '1rem', 'lg': '1.125rem', 'xl': '1.25rem' } as const;\nexport const LINE_HEIGHTS = { 'xs': '1rem', 'sm': '1.25rem', 'md': '1.5rem', 'lg': '1.75rem', 'xl': '2rem' } as const;\nexport const FONT_FAMILY = 'ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"';\nexport const PRIMARY_FONT_COLORS = { 'dark': 'white', 'light': 'black' } as const;\nexport const SECONDARY_FONT_COLORS = { 'dark': '#a8a8a8', 'light': '#737373' } as const;\nexport const SELECTED_BACKGROUND_COLORS = { 'dark': 'rgba(255, 255, 255, 0.1)', 'light': 'rgba(0, 0, 0, 0.04)' } as const;\nexport const LINK_COLORS = { 'dark': '#fff', 'light': '#000' } as const;\nexport const SHADOW = '0 1px 2px 0 rgba(0, 0, 0, 0.05)';\n\nexport const DEFAULT_THEME = {\n light: {\n background: 'hsl(0 0% 100%)',\n foreground: 'hsl(240 10% 3.9%)',\n card: 'hsl(0 0% 100%)',\n cardForeground: 'hsl(240 10% 3.9%)',\n popover: 'hsl(0 0% 100%)',\n popoverForeground: 'hsl(240 10% 3.9%)',\n primary: 'hsl(240 5.9% 10%)',\n primaryForeground: 'hsl(0 0% 98%)',\n secondary: 'hsl(240 4.8% 95.9%)',\n secondaryForeground: 'hsl(240 5.9% 10%)',\n muted: 'hsl(240 4.8% 95.9%)',\n mutedForeground: 'hsl(240 3.8% 46.1%)',\n accent: 'hsl(240 4.8% 95.9%)',\n accentForeground: 'hsl(240 5.9% 10%)',\n destructive: 'hsl(0 84.2% 60.2%)',\n destructiveForeground: 'hsl(0 0% 98%)',\n border: 'hsl(240 5.9% 90%)',\n input: 'hsl(240 5.9% 90%)',\n ring: 'hsl(240 10% 3.9%)',\n },\n dark: {\n background: 'hsl(240 10% 3.9%)',\n foreground: 'hsl(0 0% 98%)',\n card: 'hsl(240 10% 3.9%)',\n cardForeground: 'hsl(0 0% 98%)',\n popover: 'hsl(240 10% 3.9%)',\n popoverForeground: 'hsl(0 0% 98%)',\n primary: 'hsl(0 0% 98%)',\n primaryForeground: 'hsl(240 5.9% 10%)',\n secondary: 'hsl(240 3.7% 15.9%)',\n secondaryForeground: 'hsl(0 0% 98%)',\n muted: 'hsl(240 3.7% 15.9%)',\n mutedForeground: 'hsl(240 5% 64.9%)',\n accent: 'hsl(240 3.7% 15.9%)',\n accentForeground: 'hsl(0 0% 98%)',\n destructive: 'hsl(0 62.8% 50%)',\n destructiveForeground: 'hsl(0 0% 98%)',\n border: 'hsl(240 3.7% 15.9%)',\n input: 'hsl(240 3.7% 15.9%)',\n ring: 'hsl(240 4.9% 83.9%)',\n },\n radius: '0.5rem',\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,IAAM,aAAa,EAAE,MAAM,WAAW,MAAM,YAAY,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AACxG,IAAM,eAAe,EAAE,MAAM,QAAQ,MAAM,WAAW,MAAM,UAAU,MAAM,WAAW,MAAM,OAAO;AACpG,IAAM,cAAc;AACpB,IAAM,sBAAsB,EAAE,QAAQ,SAAS,SAAS,QAAQ;AAChE,IAAM,wBAAwB,EAAE,QAAQ,WAAW,SAAS,UAAU;AACtE,IAAM,6BAA6B,EAAE,QAAQ,4BAA4B,SAAS,sBAAsB;AACxG,IAAM,cAAc,EAAE,QAAQ,QAAQ,SAAS,OAAO;AACtD,IAAM,SAAS;AAEf,IAAM,gBAAgB;AAAA,EAC3B,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,SAAS;AAAA,IACT,mBAAmB;AAAA,IACnB,SAAS;AAAA,IACT,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,qBAAqB;AAAA,IACrB,OAAO;AAAA,IACP,iBAAiB;AAAA,IACjB,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,aAAa;AAAA,IACb,uBAAuB;AAAA,IACvB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,SAAS;AAAA,IACT,mBAAmB;AAAA,IACnB,SAAS;AAAA,IACT,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,qBAAqB;AAAA,IACrB,OAAO;AAAA,IACP,iBAAiB;AAAA,IACjB,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,aAAa;AAAA,IACb,uBAAuB;AAAA,IACvB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA,QAAQ;AACV;","names":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/url.ts
|
|
21
|
+
var url_exports = {};
|
|
22
|
+
__export(url_exports, {
|
|
23
|
+
autoRedirect: () => autoRedirect,
|
|
24
|
+
constructRedirectUrl: () => constructRedirectUrl
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(url_exports);
|
|
27
|
+
function autoRedirect() {
|
|
28
|
+
const url = new URL(window.location.href);
|
|
29
|
+
const redirectUrl = url.searchParams.get("auto-redirect-url");
|
|
30
|
+
if (redirectUrl) {
|
|
31
|
+
const urlObject = new URL(redirectUrl);
|
|
32
|
+
if (urlObject.origin !== window.location.origin) {
|
|
33
|
+
throw new Error("auto-redirect-url is not same origin (" + urlObject.origin + " !== " + window.location.origin + ")");
|
|
34
|
+
}
|
|
35
|
+
url.searchParams.delete("auto-redirect-url");
|
|
36
|
+
window.location.replace(urlObject.href);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function constructRedirectUrl(redirectUrl) {
|
|
40
|
+
const retainedQueryParams = ["after_auth_return_to"];
|
|
41
|
+
const currentUrl = new URL(window.location.href);
|
|
42
|
+
const url = redirectUrl ? new URL(redirectUrl, window.location.href) : new URL(window.location.href);
|
|
43
|
+
for (const param of retainedQueryParams) {
|
|
44
|
+
if (currentUrl.searchParams.has(param)) {
|
|
45
|
+
url.searchParams.set(param, currentUrl.searchParams.get(param));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
url.hash = "";
|
|
49
|
+
return url.toString();
|
|
50
|
+
}
|
|
51
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
52
|
+
0 && (module.exports = {
|
|
53
|
+
autoRedirect,
|
|
54
|
+
constructRedirectUrl
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/url.ts"],"sourcesContent":["//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY\n//===========================================\n\nexport function autoRedirect() {\n const url = new URL(window.location.href);\n const redirectUrl = url.searchParams.get(\"auto-redirect-url\");\n if (redirectUrl) {\n const urlObject = new URL(redirectUrl);\n if (urlObject.origin !== window.location.origin) {\n throw new Error(\"auto-redirect-url is not same origin (\" + urlObject.origin + \" !== \" + window.location.origin + \")\");\n }\n url.searchParams.delete(\"auto-redirect-url\");\n window.location.replace(urlObject.href);\n }\n}\n\nexport function constructRedirectUrl(redirectUrl: URL | string | undefined) {\n const retainedQueryParams = [\"after_auth_return_to\"];\n const currentUrl = new URL(window.location.href);\n const url = redirectUrl ? new URL(redirectUrl, window.location.href) : new URL(window.location.href);\n for (const param of retainedQueryParams) {\n if (currentUrl.searchParams.has(param)) {\n url.searchParams.set(param, currentUrl.searchParams.get(param)!);\n }\n }\n url.hash = \"\";\n return url.toString();\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,SAAS,eAAe;AAC7B,QAAM,MAAM,IAAI,IAAI,OAAO,SAAS,IAAI;AACxC,QAAM,cAAc,IAAI,aAAa,IAAI,mBAAmB;AAC5D,MAAI,aAAa;AACf,UAAM,YAAY,IAAI,IAAI,WAAW;AACrC,QAAI,UAAU,WAAW,OAAO,SAAS,QAAQ;AAC/C,YAAM,IAAI,MAAM,2CAA2C,UAAU,SAAS,UAAU,OAAO,SAAS,SAAS,GAAG;AAAA,IACtH;AACA,QAAI,aAAa,OAAO,mBAAmB;AAC3C,WAAO,SAAS,QAAQ,UAAU,IAAI;AAAA,EACxC;AACF;AAEO,SAAS,qBAAqB,aAAuC;AAC1E,QAAM,sBAAsB,CAAC,sBAAsB;AACnD,QAAM,aAAa,IAAI,IAAI,OAAO,SAAS,IAAI;AAC/C,QAAM,MAAM,cAAc,IAAI,IAAI,aAAa,OAAO,SAAS,IAAI,IAAI,IAAI,IAAI,OAAO,SAAS,IAAI;AACnG,aAAW,SAAS,qBAAqB;AACvC,QAAI,WAAW,aAAa,IAAI,KAAK,GAAG;AACtC,UAAI,aAAa,IAAI,OAAO,WAAW,aAAa,IAAI,KAAK,CAAE;AAAA,IACjE;AAAA,EACF;AACA,MAAI,OAAO;AACX,SAAO,IAAI,SAAS;AACtB;","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY",
|
|
3
|
+
"name": "@stackframe/react",
|
|
4
|
+
"version": "2.7.20",
|
|
5
|
+
"sideEffects": false,
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": {
|
|
12
|
+
"default": "./dist/esm/index.js"
|
|
13
|
+
},
|
|
14
|
+
"require": {
|
|
15
|
+
"default": "./dist/index.js"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://stack-auth.com",
|
|
20
|
+
"files": [
|
|
21
|
+
"README.md",
|
|
22
|
+
"dist",
|
|
23
|
+
"CHANGELOG.md",
|
|
24
|
+
"LICENSE"
|
|
25
|
+
],
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@hookform/resolvers": "^3.3.4",
|
|
28
|
+
"@simplewebauthn/browser": "^11.0.0",
|
|
29
|
+
"browser-image-compression": "^2.0.2",
|
|
30
|
+
"color": "^4.2.3",
|
|
31
|
+
"cookie": "^0.6.0",
|
|
32
|
+
"jose": "^5.2.2",
|
|
33
|
+
"js-cookie": "^3.0.5",
|
|
34
|
+
"lucide-react": "^0.378.0",
|
|
35
|
+
"oauth4webapi": "^2.10.3",
|
|
36
|
+
"oslo": "^1.2.1",
|
|
37
|
+
"qrcode": "^1.5.4",
|
|
38
|
+
"react-avatar-editor": "^13.0.2",
|
|
39
|
+
"react-hook-form": "^7.51.4",
|
|
40
|
+
"rimraf": "^5.0.5",
|
|
41
|
+
"tailwindcss-animate": "^1.0.7",
|
|
42
|
+
"tsx": "^4.7.2",
|
|
43
|
+
"yup": "^1.4.0",
|
|
44
|
+
"@stackframe/stack-ui": "2.7.20",
|
|
45
|
+
"@stackframe/stack-shared": "2.7.20"
|
|
46
|
+
},
|
|
47
|
+
"peerDependencies": {
|
|
48
|
+
"@types/react": ">=18.2 || >=19.0.0-rc.0",
|
|
49
|
+
"@types/react-dom": ">=18.2 || >=19.0.0-rc.0",
|
|
50
|
+
"react": ">=18.2 || >=19.0.0-rc.0",
|
|
51
|
+
"react-dom": ">=18.2 || >=19.0.0-rc.0"
|
|
52
|
+
},
|
|
53
|
+
"peerDependenciesMeta": {
|
|
54
|
+
"@types/react": {
|
|
55
|
+
"optional": true
|
|
56
|
+
},
|
|
57
|
+
"@types/react-dom": {
|
|
58
|
+
"optional": true
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@quetzallabs/i18n": "^0.1.19",
|
|
63
|
+
"@types/color": "^3.0.6",
|
|
64
|
+
"@types/cookie": "^0.6.0",
|
|
65
|
+
"@types/js-cookie": "^3.0.6",
|
|
66
|
+
"@types/qrcode": "^1.5.5",
|
|
67
|
+
"@types/react-avatar-editor": "^13.0.3",
|
|
68
|
+
"autoprefixer": "^10.4.17",
|
|
69
|
+
"chokidar-cli": "^3.0.0",
|
|
70
|
+
"esbuild": "^0.20.2",
|
|
71
|
+
"i18next": "^23.14.0",
|
|
72
|
+
"i18next-parser": "^9.0.2",
|
|
73
|
+
"postcss": "^8.4.38",
|
|
74
|
+
"postcss-nested": "^6.0.1",
|
|
75
|
+
"react": "^18.2.0",
|
|
76
|
+
"react-dom": "^18.2.0",
|
|
77
|
+
"rimraf": "^5.0.5",
|
|
78
|
+
"tailwindcss": "^3.4.4",
|
|
79
|
+
"tsup": "^8.0.2"
|
|
80
|
+
},
|
|
81
|
+
"scripts": {
|
|
82
|
+
"typecheck": "tsc --noEmit",
|
|
83
|
+
"clean": "rimraf dist && rimraf node_modules",
|
|
84
|
+
"lint": "eslint --ext .tsx,.ts .",
|
|
85
|
+
"build": "rimraf dist && pnpm run css && tsup-node",
|
|
86
|
+
"dev": "rimraf dist && concurrently -n \"build,codegen\" -k \"tsup-node --watch\" \"pnpm run codegen:watch\"",
|
|
87
|
+
"codegen": "pnpm run css",
|
|
88
|
+
"codegen:watch": "pnpm run css:watch",
|
|
89
|
+
"css": "pnpm run css-tw && pnpm run css-sc",
|
|
90
|
+
"css:watch": "concurrently -n \"tw,sc\" -k \"pnpm run css-tw:watch\" \"pnpm run css-sc:watch\"",
|
|
91
|
+
"css-tw:watch": "tailwindcss -i ./src/global.css -o ./src/generated/tailwind.css --watch",
|
|
92
|
+
"css-tw": "tailwindcss -i ./src/global.css -o ./src/generated/tailwind.css",
|
|
93
|
+
"css-sc": "tsx ./scripts/process-css.ts ./src/generated/tailwind.css ./src/generated/global-css.ts",
|
|
94
|
+
"css-sc:watch": "chokidar --silent './src/generated/tailwind.css' -c 'pnpm run css-sc' --throttle 2000"
|
|
95
|
+
}
|
|
96
|
+
}
|