@strands.gg/accui 1.6.3 → 1.6.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/dist/accui.css +838 -0
- package/dist/nuxt/module.cjs.js +109 -0
- package/dist/nuxt/module.cjs.js.map +1 -0
- package/dist/nuxt/module.es.js +109 -0
- package/dist/nuxt/module.es.js.map +1 -0
- package/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js +57 -0
- package/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js.map +1 -0
- package/dist/nuxt/runtime/composables/useStrandsAuth.es.js +57 -0
- package/dist/nuxt/runtime/composables/useStrandsAuth.es.js.map +1 -0
- package/dist/nuxt/runtime/middleware/auth.global.cjs.js +42 -0
- package/dist/nuxt/runtime/middleware/auth.global.cjs.js.map +1 -0
- package/dist/nuxt/runtime/middleware/auth.global.es.js +43 -0
- package/dist/nuxt/runtime/middleware/auth.global.es.js.map +1 -0
- package/dist/nuxt/runtime/plugin.client.cjs.js +26 -0
- package/dist/nuxt/runtime/plugin.client.cjs.js.map +1 -0
- package/dist/nuxt/runtime/plugin.client.es.js +27 -0
- package/dist/nuxt/runtime/plugin.client.es.js.map +1 -0
- package/dist/nuxt/runtime/plugin.server.cjs.js +17 -0
- package/dist/nuxt/runtime/plugin.server.cjs.js.map +1 -0
- package/dist/nuxt/runtime/plugin.server.es.js +18 -0
- package/dist/nuxt/runtime/plugin.server.es.js.map +1 -0
- package/dist/nuxt-v4/module.cjs.js +119 -0
- package/dist/nuxt-v4/module.cjs.js.map +1 -0
- package/dist/nuxt-v4/module.es.js +119 -0
- package/dist/nuxt-v4/module.es.js.map +1 -0
- package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js +70 -0
- package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js.map +1 -0
- package/dist/nuxt-v4/runtime/composables/useStrandsAuth.es.js +70 -0
- package/dist/nuxt-v4/runtime/composables/useStrandsAuth.es.js.map +1 -0
- package/dist/nuxt-v4/runtime/middleware/auth.global.cjs.js +42 -0
- package/dist/nuxt-v4/runtime/middleware/auth.global.cjs.js.map +1 -0
- package/dist/nuxt-v4/runtime/middleware/auth.global.es.js +43 -0
- package/dist/nuxt-v4/runtime/middleware/auth.global.es.js.map +1 -0
- package/dist/nuxt-v4/runtime/plugin.client.cjs.js +26 -0
- package/dist/nuxt-v4/runtime/plugin.client.cjs.js.map +1 -0
- package/dist/nuxt-v4/runtime/plugin.client.es.js +27 -0
- package/dist/nuxt-v4/runtime/plugin.client.es.js.map +1 -0
- package/dist/nuxt-v4/runtime/plugin.server.cjs.js +22 -0
- package/dist/nuxt-v4/runtime/plugin.server.cjs.js.map +1 -0
- package/dist/nuxt-v4/runtime/plugin.server.es.js +23 -0
- package/dist/nuxt-v4/runtime/plugin.server.es.js.map +1 -0
- package/dist/strands-auth-ui.cjs.js +12788 -0
- package/dist/strands-auth-ui.cjs.js.map +1 -0
- package/dist/strands-auth-ui.es.js +12789 -0
- package/dist/strands-auth-ui.es.js.map +1 -0
- package/dist/useStrandsAuth-CO9JEdxM.js +693 -0
- package/dist/useStrandsAuth-CO9JEdxM.js.map +1 -0
- package/dist/useStrandsAuth-z4jAu9Uv.cjs +692 -0
- package/dist/useStrandsAuth-z4jAu9Uv.cjs.map +1 -0
- package/dist/useStrandsConfig-Bdk-g0jS.js +170 -0
- package/dist/useStrandsConfig-Bdk-g0jS.js.map +1 -0
- package/dist/useStrandsConfig-CtmQtE7Y.cjs +169 -0
- package/dist/useStrandsConfig-CtmQtE7Y.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/index.d.ts +0 -7
- package/dist/index.d.ts.map +0 -1
- package/dist/nuxt/module.d.ts +0 -5
- package/dist/nuxt/module.d.ts.map +0 -1
- package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts +0 -137
- package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts.map +0 -1
- package/dist/nuxt/runtime/middleware/auth.global.d.ts +0 -3
- package/dist/nuxt/runtime/middleware/auth.global.d.ts.map +0 -1
- package/dist/nuxt/runtime/plugin.client.d.ts +0 -3
- package/dist/nuxt/runtime/plugin.client.d.ts.map +0 -1
- package/dist/nuxt/runtime/plugin.server.d.ts +0 -3
- package/dist/nuxt/runtime/plugin.server.d.ts.map +0 -1
- package/dist/nuxt/runtime/styles.css +0 -78
- package/dist/nuxt/types.d.ts +0 -46
- package/dist/nuxt/types.d.ts.map +0 -1
- package/dist/nuxt-v4/module.d.ts +0 -5
- package/dist/nuxt-v4/module.d.ts.map +0 -1
- package/dist/nuxt-v4/runtime/composables/useStrandsAuth.d.ts +0 -27
- package/dist/nuxt-v4/runtime/composables/useStrandsAuth.d.ts.map +0 -1
- package/dist/nuxt-v4/runtime/middleware/auth.global.d.ts +0 -3
- package/dist/nuxt-v4/runtime/middleware/auth.global.d.ts.map +0 -1
- package/dist/nuxt-v4/runtime/plugin.client.d.ts +0 -3
- package/dist/nuxt-v4/runtime/plugin.client.d.ts.map +0 -1
- package/dist/nuxt-v4/runtime/plugin.server.d.ts +0 -3
- package/dist/nuxt-v4/runtime/plugin.server.d.ts.map +0 -1
- package/dist/nuxt-v4/runtime/styles.css +0 -141
- package/dist/nuxt-v4/types.d.ts +0 -64
- package/dist/nuxt-v4/types.d.ts.map +0 -1
- package/dist/nuxt-v4.d.ts +0 -4
- package/dist/nuxt-v4.d.ts.map +0 -1
- package/dist/nuxt.d.ts +0 -3
- package/dist/nuxt.d.ts.map +0 -1
- package/dist/shared/defaults.d.ts +0 -3
- package/dist/shared/defaults.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -197
- package/dist/types/index.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/slots.d.ts +0 -2
- package/dist/utils/slots.d.ts.map +0 -1
- package/dist/utils/validation.d.ts +0 -13
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/vue/components/SignedIn.vue.d.ts +0 -51
- package/dist/vue/components/SignedIn.vue.d.ts.map +0 -1
- package/dist/vue/components/SignedOut.vue.d.ts +0 -54
- package/dist/vue/components/SignedOut.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsAuth.vue.d.ts +0 -25
- package/dist/vue/components/StrandsAuth.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsBackupCodesModal.vue.d.ts +0 -12
- package/dist/vue/components/StrandsBackupCodesModal.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsCompleteSignUp.vue.d.ts +0 -21
- package/dist/vue/components/StrandsCompleteSignUp.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsConfigProvider.vue.d.ts +0 -22
- package/dist/vue/components/StrandsConfigProvider.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsConfirmModal.vue.d.ts +0 -22
- package/dist/vue/components/StrandsConfirmModal.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsEmailMfaSetupModal.vue.d.ts +0 -12
- package/dist/vue/components/StrandsEmailMfaSetupModal.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsHardwareKeySetupModal.vue.d.ts +0 -15
- package/dist/vue/components/StrandsHardwareKeySetupModal.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsLogo.vue.d.ts +0 -8
- package/dist/vue/components/StrandsLogo.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsMFASetup.vue.d.ts +0 -16
- package/dist/vue/components/StrandsMFASetup.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsMfaModal.vue.d.ts +0 -12
- package/dist/vue/components/StrandsMfaModal.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsMfaVerification.vue.d.ts +0 -17
- package/dist/vue/components/StrandsMfaVerification.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsPasswordReset.vue.d.ts +0 -15
- package/dist/vue/components/StrandsPasswordReset.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsSecuredFooter.vue.d.ts +0 -22
- package/dist/vue/components/StrandsSecuredFooter.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsSettingsModal.vue.d.ts +0 -18
- package/dist/vue/components/StrandsSettingsModal.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsSignIn.vue.d.ts +0 -21
- package/dist/vue/components/StrandsSignIn.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsSignUp.vue.d.ts +0 -19
- package/dist/vue/components/StrandsSignUp.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsTotpSetupModal.vue.d.ts +0 -12
- package/dist/vue/components/StrandsTotpSetupModal.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsUserButton.vue.d.ts +0 -23
- package/dist/vue/components/StrandsUserButton.vue.d.ts.map +0 -1
- package/dist/vue/components/StrandsUserProfile.vue.d.ts +0 -26
- package/dist/vue/components/StrandsUserProfile.vue.d.ts.map +0 -1
- package/dist/vue/components/SvgIcon.vue.d.ts +0 -17
- package/dist/vue/components/SvgIcon.vue.d.ts.map +0 -1
- package/dist/vue/components/index.d.ts +0 -23
- package/dist/vue/components/index.d.ts.map +0 -1
- package/dist/vue/composables/useOAuthProviders.d.ts +0 -74
- package/dist/vue/composables/useOAuthProviders.d.ts.map +0 -1
- package/dist/vue/composables/useStrandsAuth.d.ts +0 -124
- package/dist/vue/composables/useStrandsAuth.d.ts.map +0 -1
- package/dist/vue/composables/useStrandsConfig.d.ts +0 -11
- package/dist/vue/composables/useStrandsConfig.d.ts.map +0 -1
- package/dist/vue/composables/useStrandsMfa.d.ts +0 -37
- package/dist/vue/composables/useStrandsMfa.d.ts.map +0 -1
- package/dist/vue/index.d.ts +0 -7
- package/dist/vue/index.d.ts.map +0 -1
- package/dist/vue/plugins/StrandsUIPlugin.d.ts +0 -18
- package/dist/vue/plugins/StrandsUIPlugin.d.ts.map +0 -1
- package/dist/vue/ui/UiAlert.vue.d.ts +0 -31
- package/dist/vue/ui/UiAlert.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiAvatarEditor.vue.d.ts +0 -24
- package/dist/vue/ui/UiAvatarEditor.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiAvatarEditorSimple.vue.d.ts +0 -25
- package/dist/vue/ui/UiAvatarEditorSimple.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiButton.vue.d.ts +0 -40
- package/dist/vue/ui/UiButton.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiCard.vue.d.ts +0 -29
- package/dist/vue/ui/UiCard.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiInput.vue.d.ts +0 -48
- package/dist/vue/ui/UiInput.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiLevelProgress.vue.d.ts +0 -19
- package/dist/vue/ui/UiLevelProgress.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiLink.vue.d.ts +0 -35
- package/dist/vue/ui/UiLink.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiLoader.vue.d.ts +0 -15
- package/dist/vue/ui/UiLoader.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiModal.vue.d.ts +0 -33
- package/dist/vue/ui/UiModal.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiTabs.vue.d.ts +0 -17
- package/dist/vue/ui/UiTabs.vue.d.ts.map +0 -1
- package/dist/vue/ui/UiToggle.vue.d.ts +0 -15
- package/dist/vue/ui/UiToggle.vue.d.ts.map +0 -1
- package/dist/vue/ui/index.d.ts +0 -19
- package/dist/vue/ui/index.d.ts.map +0 -1
- package/dist/vue/utils/levels.d.ts +0 -28
- package/dist/vue/utils/levels.d.ts.map +0 -1
- package/dist/vue/utils/sounds.d.ts +0 -57
- package/dist/vue/utils/sounds.d.ts.map +0 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const kit = require("@nuxt/kit");
|
|
3
|
+
var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
|
|
4
|
+
const moduleDefaults = {
|
|
5
|
+
baseUrl: "https://your-api.example.com",
|
|
6
|
+
accentColor: "#EA00A8",
|
|
7
|
+
redirectUrl: "/",
|
|
8
|
+
onSignInUrl: "/dashboard",
|
|
9
|
+
onSignOutUrl: "/",
|
|
10
|
+
autoRefresh: true,
|
|
11
|
+
refreshInterval: 4,
|
|
12
|
+
protectedRoutes: [],
|
|
13
|
+
guestOnlyRoutes: ["/auth", "/login", "/register"],
|
|
14
|
+
devMode: false,
|
|
15
|
+
styles: true,
|
|
16
|
+
supportEmail: "",
|
|
17
|
+
oauth2RedirectUrl: ""
|
|
18
|
+
};
|
|
19
|
+
const module$1 = kit.defineNuxtModule({
|
|
20
|
+
meta: {
|
|
21
|
+
name: "@strands.gg/accui/nuxt",
|
|
22
|
+
configKey: "strandsAuth",
|
|
23
|
+
compatibility: {
|
|
24
|
+
nuxt: "^3.0.0"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
defaults: moduleDefaults,
|
|
28
|
+
async setup(options, nuxt) {
|
|
29
|
+
const resolver = kit.createResolver(typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("nuxt/module.cjs.js", document.baseURI).href);
|
|
30
|
+
nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};
|
|
31
|
+
nuxt.options.runtimeConfig.public.strandsAuth = {
|
|
32
|
+
...options,
|
|
33
|
+
styles: options.styles !== false
|
|
34
|
+
};
|
|
35
|
+
if (options.styles !== false) {
|
|
36
|
+
nuxt.options.css.push("@strands.gg/accui/style.css");
|
|
37
|
+
}
|
|
38
|
+
const ext = "es.js";
|
|
39
|
+
kit.addPlugin({
|
|
40
|
+
src: resolver.resolve(`./runtime/plugin.client.${ext}`),
|
|
41
|
+
mode: "client"
|
|
42
|
+
});
|
|
43
|
+
kit.addPlugin({
|
|
44
|
+
src: resolver.resolve(`./runtime/plugin.server.${ext}`),
|
|
45
|
+
mode: "server"
|
|
46
|
+
});
|
|
47
|
+
kit.addRouteMiddleware({
|
|
48
|
+
name: "auth",
|
|
49
|
+
path: resolver.resolve(`./runtime/middleware/auth.global.${ext}`),
|
|
50
|
+
global: true
|
|
51
|
+
});
|
|
52
|
+
nuxt.hook("pages:extend", (pages) => {
|
|
53
|
+
});
|
|
54
|
+
kit.addImports([
|
|
55
|
+
{
|
|
56
|
+
name: "useStrandsAuth",
|
|
57
|
+
as: "useStrandsAuth",
|
|
58
|
+
from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "useAuthUser",
|
|
62
|
+
as: "useAuthUser",
|
|
63
|
+
from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "useAuthState",
|
|
67
|
+
as: "useAuthState",
|
|
68
|
+
from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)
|
|
69
|
+
}
|
|
70
|
+
]);
|
|
71
|
+
const components = [
|
|
72
|
+
"StrandsAuth",
|
|
73
|
+
"StrandsSignIn",
|
|
74
|
+
"StrandsSignUp",
|
|
75
|
+
"StrandsCompleteSignUp",
|
|
76
|
+
"StrandsUserProfile",
|
|
77
|
+
"StrandsUserButton",
|
|
78
|
+
"StrandsPasswordReset",
|
|
79
|
+
"StrandsMFASetup",
|
|
80
|
+
"StrandsConfigProvider",
|
|
81
|
+
"SignedIn",
|
|
82
|
+
"SignedOut",
|
|
83
|
+
"StrandsLogo",
|
|
84
|
+
"StrandsSecuredFooter",
|
|
85
|
+
// UI Components
|
|
86
|
+
"StrandsUiAlert",
|
|
87
|
+
"StrandsUiButton",
|
|
88
|
+
"StrandsUiCard",
|
|
89
|
+
"StrandsUiInput",
|
|
90
|
+
"StrandsUiLink",
|
|
91
|
+
"StrandsUiTabs",
|
|
92
|
+
"StrandsUiLoader"
|
|
93
|
+
];
|
|
94
|
+
for (const component of components) {
|
|
95
|
+
kit.addComponent({
|
|
96
|
+
name: component,
|
|
97
|
+
export: component,
|
|
98
|
+
filePath: "@strands.gg/accui"
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
nuxt.hook("prepare:types", (opts) => {
|
|
102
|
+
opts.references.push({
|
|
103
|
+
types: "@strands.gg/auth-nuxt"
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
module.exports = module$1;
|
|
109
|
+
//# sourceMappingURL=module.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.cjs.js","sources":["../../../../apps/accounts-ui/src/nuxt/module.ts"],"sourcesContent":["import { defineNuxtModule, addPlugin, createResolver, addImports, addComponent, addRouteMiddleware } from '@nuxt/kit'\n\n// Re-export types for users\nexport type { StrandsAuthConfig, StrandsAuthEndpoints } from '../types'\nimport type { StrandsAuthConfig } from '../types'\n\n// Create defaults that match the full interface to ensure proper type inference \nconst moduleDefaults: StrandsAuthConfig = {\n baseUrl: 'https://your-api.example.com',\n accentColor: '#EA00A8',\n redirectUrl: '/',\n onSignInUrl: '/dashboard',\n onSignOutUrl: '/',\n autoRefresh: true,\n refreshInterval: 4,\n protectedRoutes: [],\n guestOnlyRoutes: ['/auth', '/login', '/register'],\n devMode: false,\n styles: true,\n supportEmail: '',\n oauth2RedirectUrl: ''\n}\n\nexport default defineNuxtModule<StrandsAuthConfig>({\n meta: {\n name: '@strands.gg/accui/nuxt',\n configKey: 'strandsAuth',\n compatibility: {\n nuxt: '^3.0.0'\n }\n },\n defaults: moduleDefaults,\n async setup(options, nuxt) {\n const resolver = createResolver(import.meta.url)\n\n // Add runtime config\n nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {}\n ;(nuxt.options.runtimeConfig.public as any).strandsAuth = {\n ...options,\n styles: options.styles !== false\n }\n\n // Conditionally add CSS for styling based on autoImportStyles setting\n if (options.styles !== false) {\n nuxt.options.css.push('@strands.gg/accui/style.css')\n }\n\n // Plugin and middleware paths - always use built JavaScript files when module is distributed\n // This prevents issues when the module is loaded from dist/ directory\n const ext = 'es.js'\n \n // Add the main plugin\n addPlugin({\n src: resolver.resolve(`./runtime/plugin.client.${ext}`),\n mode: 'client'\n })\n\n // Add server plugin for SSR support\n addPlugin({\n src: resolver.resolve(`./runtime/plugin.server.${ext}`),\n mode: 'server'\n })\n\n // Add middleware for route protection\n addRouteMiddleware({\n name: 'auth',\n path: resolver.resolve(`./runtime/middleware/auth.global.${ext}`),\n global: true\n })\n\n // Add route middleware\n nuxt.hook('pages:extend', (pages) => {\n // This will be handled in the global middleware instead\n })\n\n // Auto-import composables\n addImports([\n {\n name: 'useStrandsAuth',\n as: 'useStrandsAuth',\n from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)\n },\n {\n name: 'useAuthUser',\n as: 'useAuthUser', \n from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)\n },\n {\n name: 'useAuthState',\n as: 'useAuthState',\n from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)\n }\n ])\n\n // Auto-register components from the main bundle export\n const components = [\n 'StrandsAuth',\n 'StrandsSignIn', \n 'StrandsSignUp',\n 'StrandsCompleteSignUp',\n 'StrandsUserProfile',\n 'StrandsUserButton',\n 'StrandsPasswordReset',\n 'StrandsMFASetup',\n 'StrandsConfigProvider',\n 'SignedIn',\n 'SignedOut',\n 'StrandsLogo',\n 'StrandsSecuredFooter',\n // UI Components\n 'StrandsUiAlert',\n 'StrandsUiButton',\n 'StrandsUiCard',\n 'StrandsUiInput',\n 'StrandsUiLink',\n 'StrandsUiTabs',\n 'StrandsUiLoader'\n ]\n\n for (const component of components) {\n addComponent({\n name: component,\n export: component,\n filePath: '@strands.gg/accui'\n })\n }\n\n // Add type declarations\n nuxt.hook('prepare:types', (opts) => {\n opts.references.push({\n types: '@strands.gg/auth-nuxt'\n })\n })\n }\n})"],"names":["defineNuxtModule","createResolver","addPlugin","addRouteMiddleware","addImports","addComponent"],"mappings":";;;AAOA,MAAM,iBAAoC;AAAA,EACxC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB,CAAA;AAAA,EACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,EAChD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,mBAAmB;AACrB;AAEA,MAAA,WAAeA,qBAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,EACV,MAAM,MAAM,SAAS,MAAM;AACzB,UAAM,WAAWC,IAAAA,0QAA8B;AAG/C,SAAK,QAAQ,cAAc,SAAS,KAAK,QAAQ,cAAc,UAAU,CAAA;AACvE,SAAK,QAAQ,cAAc,OAAe,cAAc;AAAA,MACxD,GAAG;AAAA,MACH,QAAQ,QAAQ,WAAW;AAAA,IAAA;AAI7B,QAAI,QAAQ,WAAW,OAAO;AAC5B,WAAK,QAAQ,IAAI,KAAK,6BAA6B;AAAA,IACrD;AAIA,UAAM,MAAM;AAGZC,kBAAU;AAAA,MACR,KAAK,SAAS,QAAQ,2BAA2B,GAAG,EAAE;AAAA,MACtD,MAAM;AAAA,IAAA,CACP;AAGDA,kBAAU;AAAA,MACR,KAAK,SAAS,QAAQ,2BAA2B,GAAG,EAAE;AAAA,MACtD,MAAM;AAAA,IAAA,CACP;AAGDC,2BAAmB;AAAA,MACjB,MAAM;AAAA,MACN,MAAM,SAAS,QAAQ,oCAAoC,GAAG,EAAE;AAAA,MAChE,QAAQ;AAAA,IAAA,CACT;AAGD,SAAK,KAAK,gBAAgB,CAAC,UAAU;AAAA,IAErC,CAAC;AAGDC,mBAAW;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAM,SAAS,QAAQ,wCAAwC,GAAG,EAAE;AAAA,MAAA;AAAA,MAEtE;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAM,SAAS,QAAQ,wCAAwC,GAAG,EAAE;AAAA,MAAA;AAAA,MAEtE;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAM,SAAS,QAAQ,wCAAwC,GAAG,EAAE;AAAA,MAAA;AAAA,IACtE,CACD;AAGD,UAAM,aAAa;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAGF,eAAW,aAAa,YAAY;AAClCC,uBAAa;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,UAAU;AAAA,MAAA,CACX;AAAA,IACH;AAGA,SAAK,KAAK,iBAAiB,CAAC,SAAS;AACnC,WAAK,WAAW,KAAK;AAAA,QACnB,OAAO;AAAA,MAAA,CACR;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;;"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { defineNuxtModule, createResolver, addPlugin, addRouteMiddleware, addImports, addComponent } from "@nuxt/kit";
|
|
2
|
+
const moduleDefaults = {
|
|
3
|
+
baseUrl: "https://your-api.example.com",
|
|
4
|
+
accentColor: "#EA00A8",
|
|
5
|
+
redirectUrl: "/",
|
|
6
|
+
onSignInUrl: "/dashboard",
|
|
7
|
+
onSignOutUrl: "/",
|
|
8
|
+
autoRefresh: true,
|
|
9
|
+
refreshInterval: 4,
|
|
10
|
+
protectedRoutes: [],
|
|
11
|
+
guestOnlyRoutes: ["/auth", "/login", "/register"],
|
|
12
|
+
devMode: false,
|
|
13
|
+
styles: true,
|
|
14
|
+
supportEmail: "",
|
|
15
|
+
oauth2RedirectUrl: ""
|
|
16
|
+
};
|
|
17
|
+
const module = defineNuxtModule({
|
|
18
|
+
meta: {
|
|
19
|
+
name: "@strands.gg/accui/nuxt",
|
|
20
|
+
configKey: "strandsAuth",
|
|
21
|
+
compatibility: {
|
|
22
|
+
nuxt: "^3.0.0"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
defaults: moduleDefaults,
|
|
26
|
+
async setup(options, nuxt) {
|
|
27
|
+
const resolver = createResolver(import.meta.url);
|
|
28
|
+
nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};
|
|
29
|
+
nuxt.options.runtimeConfig.public.strandsAuth = {
|
|
30
|
+
...options,
|
|
31
|
+
styles: options.styles !== false
|
|
32
|
+
};
|
|
33
|
+
if (options.styles !== false) {
|
|
34
|
+
nuxt.options.css.push("@strands.gg/accui/style.css");
|
|
35
|
+
}
|
|
36
|
+
const ext = "es.js";
|
|
37
|
+
addPlugin({
|
|
38
|
+
src: resolver.resolve(`./runtime/plugin.client.${ext}`),
|
|
39
|
+
mode: "client"
|
|
40
|
+
});
|
|
41
|
+
addPlugin({
|
|
42
|
+
src: resolver.resolve(`./runtime/plugin.server.${ext}`),
|
|
43
|
+
mode: "server"
|
|
44
|
+
});
|
|
45
|
+
addRouteMiddleware({
|
|
46
|
+
name: "auth",
|
|
47
|
+
path: resolver.resolve(`./runtime/middleware/auth.global.${ext}`),
|
|
48
|
+
global: true
|
|
49
|
+
});
|
|
50
|
+
nuxt.hook("pages:extend", (pages) => {
|
|
51
|
+
});
|
|
52
|
+
addImports([
|
|
53
|
+
{
|
|
54
|
+
name: "useStrandsAuth",
|
|
55
|
+
as: "useStrandsAuth",
|
|
56
|
+
from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: "useAuthUser",
|
|
60
|
+
as: "useAuthUser",
|
|
61
|
+
from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "useAuthState",
|
|
65
|
+
as: "useAuthState",
|
|
66
|
+
from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)
|
|
67
|
+
}
|
|
68
|
+
]);
|
|
69
|
+
const components = [
|
|
70
|
+
"StrandsAuth",
|
|
71
|
+
"StrandsSignIn",
|
|
72
|
+
"StrandsSignUp",
|
|
73
|
+
"StrandsCompleteSignUp",
|
|
74
|
+
"StrandsUserProfile",
|
|
75
|
+
"StrandsUserButton",
|
|
76
|
+
"StrandsPasswordReset",
|
|
77
|
+
"StrandsMFASetup",
|
|
78
|
+
"StrandsConfigProvider",
|
|
79
|
+
"SignedIn",
|
|
80
|
+
"SignedOut",
|
|
81
|
+
"StrandsLogo",
|
|
82
|
+
"StrandsSecuredFooter",
|
|
83
|
+
// UI Components
|
|
84
|
+
"StrandsUiAlert",
|
|
85
|
+
"StrandsUiButton",
|
|
86
|
+
"StrandsUiCard",
|
|
87
|
+
"StrandsUiInput",
|
|
88
|
+
"StrandsUiLink",
|
|
89
|
+
"StrandsUiTabs",
|
|
90
|
+
"StrandsUiLoader"
|
|
91
|
+
];
|
|
92
|
+
for (const component of components) {
|
|
93
|
+
addComponent({
|
|
94
|
+
name: component,
|
|
95
|
+
export: component,
|
|
96
|
+
filePath: "@strands.gg/accui"
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
nuxt.hook("prepare:types", (opts) => {
|
|
100
|
+
opts.references.push({
|
|
101
|
+
types: "@strands.gg/auth-nuxt"
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
export {
|
|
107
|
+
module as default
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=module.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.es.js","sources":["../../../../apps/accounts-ui/src/nuxt/module.ts"],"sourcesContent":["import { defineNuxtModule, addPlugin, createResolver, addImports, addComponent, addRouteMiddleware } from '@nuxt/kit'\n\n// Re-export types for users\nexport type { StrandsAuthConfig, StrandsAuthEndpoints } from '../types'\nimport type { StrandsAuthConfig } from '../types'\n\n// Create defaults that match the full interface to ensure proper type inference \nconst moduleDefaults: StrandsAuthConfig = {\n baseUrl: 'https://your-api.example.com',\n accentColor: '#EA00A8',\n redirectUrl: '/',\n onSignInUrl: '/dashboard',\n onSignOutUrl: '/',\n autoRefresh: true,\n refreshInterval: 4,\n protectedRoutes: [],\n guestOnlyRoutes: ['/auth', '/login', '/register'],\n devMode: false,\n styles: true,\n supportEmail: '',\n oauth2RedirectUrl: ''\n}\n\nexport default defineNuxtModule<StrandsAuthConfig>({\n meta: {\n name: '@strands.gg/accui/nuxt',\n configKey: 'strandsAuth',\n compatibility: {\n nuxt: '^3.0.0'\n }\n },\n defaults: moduleDefaults,\n async setup(options, nuxt) {\n const resolver = createResolver(import.meta.url)\n\n // Add runtime config\n nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {}\n ;(nuxt.options.runtimeConfig.public as any).strandsAuth = {\n ...options,\n styles: options.styles !== false\n }\n\n // Conditionally add CSS for styling based on autoImportStyles setting\n if (options.styles !== false) {\n nuxt.options.css.push('@strands.gg/accui/style.css')\n }\n\n // Plugin and middleware paths - always use built JavaScript files when module is distributed\n // This prevents issues when the module is loaded from dist/ directory\n const ext = 'es.js'\n \n // Add the main plugin\n addPlugin({\n src: resolver.resolve(`./runtime/plugin.client.${ext}`),\n mode: 'client'\n })\n\n // Add server plugin for SSR support\n addPlugin({\n src: resolver.resolve(`./runtime/plugin.server.${ext}`),\n mode: 'server'\n })\n\n // Add middleware for route protection\n addRouteMiddleware({\n name: 'auth',\n path: resolver.resolve(`./runtime/middleware/auth.global.${ext}`),\n global: true\n })\n\n // Add route middleware\n nuxt.hook('pages:extend', (pages) => {\n // This will be handled in the global middleware instead\n })\n\n // Auto-import composables\n addImports([\n {\n name: 'useStrandsAuth',\n as: 'useStrandsAuth',\n from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)\n },\n {\n name: 'useAuthUser',\n as: 'useAuthUser', \n from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)\n },\n {\n name: 'useAuthState',\n as: 'useAuthState',\n from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)\n }\n ])\n\n // Auto-register components from the main bundle export\n const components = [\n 'StrandsAuth',\n 'StrandsSignIn', \n 'StrandsSignUp',\n 'StrandsCompleteSignUp',\n 'StrandsUserProfile',\n 'StrandsUserButton',\n 'StrandsPasswordReset',\n 'StrandsMFASetup',\n 'StrandsConfigProvider',\n 'SignedIn',\n 'SignedOut',\n 'StrandsLogo',\n 'StrandsSecuredFooter',\n // UI Components\n 'StrandsUiAlert',\n 'StrandsUiButton',\n 'StrandsUiCard',\n 'StrandsUiInput',\n 'StrandsUiLink',\n 'StrandsUiTabs',\n 'StrandsUiLoader'\n ]\n\n for (const component of components) {\n addComponent({\n name: component,\n export: component,\n filePath: '@strands.gg/accui'\n })\n }\n\n // Add type declarations\n nuxt.hook('prepare:types', (opts) => {\n opts.references.push({\n types: '@strands.gg/auth-nuxt'\n })\n })\n }\n})"],"names":[],"mappings":";AAOA,MAAM,iBAAoC;AAAA,EACxC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB,CAAA;AAAA,EACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,EAChD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,mBAAmB;AACrB;AAEA,MAAA,SAAe,iBAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,EACV,MAAM,MAAM,SAAS,MAAM;AACzB,UAAM,WAAW,eAAe,YAAY,GAAG;AAG/C,SAAK,QAAQ,cAAc,SAAS,KAAK,QAAQ,cAAc,UAAU,CAAA;AACvE,SAAK,QAAQ,cAAc,OAAe,cAAc;AAAA,MACxD,GAAG;AAAA,MACH,QAAQ,QAAQ,WAAW;AAAA,IAAA;AAI7B,QAAI,QAAQ,WAAW,OAAO;AAC5B,WAAK,QAAQ,IAAI,KAAK,6BAA6B;AAAA,IACrD;AAIA,UAAM,MAAM;AAGZ,cAAU;AAAA,MACR,KAAK,SAAS,QAAQ,2BAA2B,GAAG,EAAE;AAAA,MACtD,MAAM;AAAA,IAAA,CACP;AAGD,cAAU;AAAA,MACR,KAAK,SAAS,QAAQ,2BAA2B,GAAG,EAAE;AAAA,MACtD,MAAM;AAAA,IAAA,CACP;AAGD,uBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,MAAM,SAAS,QAAQ,oCAAoC,GAAG,EAAE;AAAA,MAChE,QAAQ;AAAA,IAAA,CACT;AAGD,SAAK,KAAK,gBAAgB,CAAC,UAAU;AAAA,IAErC,CAAC;AAGD,eAAW;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAM,SAAS,QAAQ,wCAAwC,GAAG,EAAE;AAAA,MAAA;AAAA,MAEtE;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAM,SAAS,QAAQ,wCAAwC,GAAG,EAAE;AAAA,MAAA;AAAA,MAEtE;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAM,SAAS,QAAQ,wCAAwC,GAAG,EAAE;AAAA,MAAA;AAAA,IACtE,CACD;AAGD,UAAM,aAAa;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAGF,eAAW,aAAa,YAAY;AAClC,mBAAa;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,UAAU;AAAA,MAAA,CACX;AAAA,IACH;AAGA,SAAK,KAAK,iBAAiB,CAAC,SAAS;AACnC,WAAK,WAAW,KAAK;AAAA,QACnB,OAAO;AAAA,MAAA,CACR;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const app = require("nuxt/app");
|
|
4
|
+
const useStrandsAuth$1 = require("../../../useStrandsAuth-z4jAu9Uv.cjs");
|
|
5
|
+
const useStrandsAuth = () => {
|
|
6
|
+
const config = app.useRuntimeConfig().public["strandsAuth"];
|
|
7
|
+
const vueAuth = useStrandsAuth$1.useStrandsAuth();
|
|
8
|
+
const initialize = async () => {
|
|
9
|
+
await vueAuth.initialize();
|
|
10
|
+
};
|
|
11
|
+
const signIn = async (credentials) => {
|
|
12
|
+
const result = await vueAuth.signIn(credentials);
|
|
13
|
+
if (result && config.onSignInUrl) {
|
|
14
|
+
await app.navigateTo(config.onSignInUrl);
|
|
15
|
+
}
|
|
16
|
+
return result;
|
|
17
|
+
};
|
|
18
|
+
const signUp = async (userData) => {
|
|
19
|
+
const result = await vueAuth.signUp({
|
|
20
|
+
email: userData.email,
|
|
21
|
+
password: "",
|
|
22
|
+
// Empty password for magic link
|
|
23
|
+
firstName: "",
|
|
24
|
+
// Will be filled later in the magic link flow
|
|
25
|
+
lastName: ""
|
|
26
|
+
});
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
const signOut = async () => {
|
|
30
|
+
await vueAuth.signOut();
|
|
31
|
+
if (config.onSignOutUrl) {
|
|
32
|
+
await app.navigateTo(config.onSignOutUrl);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
return {
|
|
36
|
+
// Re-export Vue composable state and methods
|
|
37
|
+
...vueAuth,
|
|
38
|
+
// Add initialize function
|
|
39
|
+
initialize,
|
|
40
|
+
// Override methods with Nuxt-specific navigation
|
|
41
|
+
signIn,
|
|
42
|
+
signUp,
|
|
43
|
+
signOut
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
const useAuthUser = () => {
|
|
47
|
+
const { user } = useStrandsAuth();
|
|
48
|
+
return { user };
|
|
49
|
+
};
|
|
50
|
+
const useAuthState = () => {
|
|
51
|
+
const { isAuthenticated, isLoading } = useStrandsAuth();
|
|
52
|
+
return { isAuthenticated, isLoading };
|
|
53
|
+
};
|
|
54
|
+
exports.useAuthState = useAuthState;
|
|
55
|
+
exports.useAuthUser = useAuthUser;
|
|
56
|
+
exports.useStrandsAuth = useStrandsAuth;
|
|
57
|
+
//# sourceMappingURL=useStrandsAuth.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStrandsAuth.cjs.js","sources":["../../../../../../apps/accounts-ui/src/nuxt/runtime/composables/useStrandsAuth.ts"],"sourcesContent":["import type { Ref, ComputedRef } from 'vue'\nimport { useRuntimeConfig } from 'nuxt/app'\nimport { navigateTo } from 'nuxt/app'\nimport { useStrandsAuth as useVueStrandsAuth } from '../../../vue/composables/useStrandsAuth'\nimport type { StrandsAuthConfig } from '../../../types'\nimport type { User } from '../../../types'\n\nexport const useStrandsAuth = () => {\n const config = useRuntimeConfig().public['strandsAuth'] as StrandsAuthConfig\n \n // Get the base Vue composable\n const vueAuth = useVueStrandsAuth()\n\n // Initialize function for setup\n const initialize = async () => {\n await vueAuth.initialize()\n }\n\n // Enhanced signIn with Nuxt navigation\n const signIn = async (credentials: { email: string; password: string }) => {\n const result = await vueAuth.signIn(credentials)\n \n // Navigate to configured sign-in URL on success\n if (result && config.onSignInUrl) {\n await navigateTo(config.onSignInUrl)\n }\n \n return result\n }\n\n // Enhanced signUp with Nuxt navigation (magic link flow)\n const signUp = async (userData: { email: string }) => {\n // For magic link flow, we just need an email\n const result = await vueAuth.signUp({\n email: userData.email,\n password: '', // Empty password for magic link\n firstName: '', // Will be filled later in the magic link flow\n lastName: ''\n })\n \n // For magic link, we don't navigate immediately\n // The user will complete signup via the magic link\n \n return result\n }\n\n // Enhanced signOut with Nuxt navigation\n const signOut = async () => {\n await vueAuth.signOut()\n \n // Navigate to configured sign-out URL\n if (config.onSignOutUrl) {\n await navigateTo(config.onSignOutUrl)\n }\n }\n\n return {\n // Re-export Vue composable state and methods\n ...vueAuth,\n \n // Add initialize function\n initialize,\n \n // Override methods with Nuxt-specific navigation\n signIn,\n signUp,\n signOut,\n }\n}\n\n// Convenience composables\nexport const useAuthUser = (): { user: ComputedRef<User | null> } => {\n const { user } = useStrandsAuth()\n return { user }\n}\n\nexport const useAuthState = (): { isAuthenticated: ComputedRef<boolean>, isLoading: ComputedRef<boolean> } => {\n const { isAuthenticated, isLoading } = useStrandsAuth()\n return { isAuthenticated, isLoading }\n}"],"names":["useRuntimeConfig","useVueStrandsAuth","navigateTo"],"mappings":";;;;AAOO,MAAM,iBAAiB,MAAM;AAClC,QAAM,SAASA,IAAAA,mBAAmB,OAAO,aAAa;AAGtD,QAAM,UAAUC,iBAAAA,eAAA;AAGhB,QAAM,aAAa,YAAY;AAC7B,UAAM,QAAQ,WAAA;AAAA,EAChB;AAGA,QAAM,SAAS,OAAO,gBAAqD;AACzE,UAAM,SAAS,MAAM,QAAQ,OAAO,WAAW;AAG/C,QAAI,UAAU,OAAO,aAAa;AAChC,YAAMC,IAAAA,WAAW,OAAO,WAAW;AAAA,IACrC;AAEA,WAAO;AAAA,EACT;AAGA,QAAM,SAAS,OAAO,aAAgC;AAEpD,UAAM,SAAS,MAAM,QAAQ,OAAO;AAAA,MAClC,OAAO,SAAS;AAAA,MAChB,UAAU;AAAA;AAAA,MACV,WAAW;AAAA;AAAA,MACX,UAAU;AAAA,IAAA,CACX;AAKD,WAAO;AAAA,EACT;AAGA,QAAM,UAAU,YAAY;AAC1B,UAAM,QAAQ,QAAA;AAGd,QAAI,OAAO,cAAc;AACvB,YAAMA,IAAAA,WAAW,OAAO,YAAY;AAAA,IACtC;AAAA,EACF;AAEA,SAAO;AAAA;AAAA,IAEL,GAAG;AAAA;AAAA,IAGH;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAGO,MAAM,cAAc,MAA0C;AACnE,QAAM,EAAE,KAAA,IAAS,eAAA;AACjB,SAAO,EAAE,KAAA;AACX;AAEO,MAAM,eAAe,MAAkF;AAC5G,QAAM,EAAE,iBAAiB,UAAA,IAAc,eAAA;AACvC,SAAO,EAAE,iBAAiB,UAAA;AAC5B;;;;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { useRuntimeConfig, navigateTo } from "nuxt/app";
|
|
2
|
+
import { u as useStrandsAuth$1 } from "../../../useStrandsAuth-CO9JEdxM.js";
|
|
3
|
+
const useStrandsAuth = () => {
|
|
4
|
+
const config = useRuntimeConfig().public["strandsAuth"];
|
|
5
|
+
const vueAuth = useStrandsAuth$1();
|
|
6
|
+
const initialize = async () => {
|
|
7
|
+
await vueAuth.initialize();
|
|
8
|
+
};
|
|
9
|
+
const signIn = async (credentials) => {
|
|
10
|
+
const result = await vueAuth.signIn(credentials);
|
|
11
|
+
if (result && config.onSignInUrl) {
|
|
12
|
+
await navigateTo(config.onSignInUrl);
|
|
13
|
+
}
|
|
14
|
+
return result;
|
|
15
|
+
};
|
|
16
|
+
const signUp = async (userData) => {
|
|
17
|
+
const result = await vueAuth.signUp({
|
|
18
|
+
email: userData.email,
|
|
19
|
+
password: "",
|
|
20
|
+
// Empty password for magic link
|
|
21
|
+
firstName: "",
|
|
22
|
+
// Will be filled later in the magic link flow
|
|
23
|
+
lastName: ""
|
|
24
|
+
});
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
const signOut = async () => {
|
|
28
|
+
await vueAuth.signOut();
|
|
29
|
+
if (config.onSignOutUrl) {
|
|
30
|
+
await navigateTo(config.onSignOutUrl);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
return {
|
|
34
|
+
// Re-export Vue composable state and methods
|
|
35
|
+
...vueAuth,
|
|
36
|
+
// Add initialize function
|
|
37
|
+
initialize,
|
|
38
|
+
// Override methods with Nuxt-specific navigation
|
|
39
|
+
signIn,
|
|
40
|
+
signUp,
|
|
41
|
+
signOut
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
const useAuthUser = () => {
|
|
45
|
+
const { user } = useStrandsAuth();
|
|
46
|
+
return { user };
|
|
47
|
+
};
|
|
48
|
+
const useAuthState = () => {
|
|
49
|
+
const { isAuthenticated, isLoading } = useStrandsAuth();
|
|
50
|
+
return { isAuthenticated, isLoading };
|
|
51
|
+
};
|
|
52
|
+
export {
|
|
53
|
+
useAuthState,
|
|
54
|
+
useAuthUser,
|
|
55
|
+
useStrandsAuth
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=useStrandsAuth.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStrandsAuth.es.js","sources":["../../../../../../apps/accounts-ui/src/nuxt/runtime/composables/useStrandsAuth.ts"],"sourcesContent":["import type { Ref, ComputedRef } from 'vue'\nimport { useRuntimeConfig } from 'nuxt/app'\nimport { navigateTo } from 'nuxt/app'\nimport { useStrandsAuth as useVueStrandsAuth } from '../../../vue/composables/useStrandsAuth'\nimport type { StrandsAuthConfig } from '../../../types'\nimport type { User } from '../../../types'\n\nexport const useStrandsAuth = () => {\n const config = useRuntimeConfig().public['strandsAuth'] as StrandsAuthConfig\n \n // Get the base Vue composable\n const vueAuth = useVueStrandsAuth()\n\n // Initialize function for setup\n const initialize = async () => {\n await vueAuth.initialize()\n }\n\n // Enhanced signIn with Nuxt navigation\n const signIn = async (credentials: { email: string; password: string }) => {\n const result = await vueAuth.signIn(credentials)\n \n // Navigate to configured sign-in URL on success\n if (result && config.onSignInUrl) {\n await navigateTo(config.onSignInUrl)\n }\n \n return result\n }\n\n // Enhanced signUp with Nuxt navigation (magic link flow)\n const signUp = async (userData: { email: string }) => {\n // For magic link flow, we just need an email\n const result = await vueAuth.signUp({\n email: userData.email,\n password: '', // Empty password for magic link\n firstName: '', // Will be filled later in the magic link flow\n lastName: ''\n })\n \n // For magic link, we don't navigate immediately\n // The user will complete signup via the magic link\n \n return result\n }\n\n // Enhanced signOut with Nuxt navigation\n const signOut = async () => {\n await vueAuth.signOut()\n \n // Navigate to configured sign-out URL\n if (config.onSignOutUrl) {\n await navigateTo(config.onSignOutUrl)\n }\n }\n\n return {\n // Re-export Vue composable state and methods\n ...vueAuth,\n \n // Add initialize function\n initialize,\n \n // Override methods with Nuxt-specific navigation\n signIn,\n signUp,\n signOut,\n }\n}\n\n// Convenience composables\nexport const useAuthUser = (): { user: ComputedRef<User | null> } => {\n const { user } = useStrandsAuth()\n return { user }\n}\n\nexport const useAuthState = (): { isAuthenticated: ComputedRef<boolean>, isLoading: ComputedRef<boolean> } => {\n const { isAuthenticated, isLoading } = useStrandsAuth()\n return { isAuthenticated, isLoading }\n}"],"names":["useVueStrandsAuth"],"mappings":";;AAOO,MAAM,iBAAiB,MAAM;AAClC,QAAM,SAAS,mBAAmB,OAAO,aAAa;AAGtD,QAAM,UAAUA,iBAAA;AAGhB,QAAM,aAAa,YAAY;AAC7B,UAAM,QAAQ,WAAA;AAAA,EAChB;AAGA,QAAM,SAAS,OAAO,gBAAqD;AACzE,UAAM,SAAS,MAAM,QAAQ,OAAO,WAAW;AAG/C,QAAI,UAAU,OAAO,aAAa;AAChC,YAAM,WAAW,OAAO,WAAW;AAAA,IACrC;AAEA,WAAO;AAAA,EACT;AAGA,QAAM,SAAS,OAAO,aAAgC;AAEpD,UAAM,SAAS,MAAM,QAAQ,OAAO;AAAA,MAClC,OAAO,SAAS;AAAA,MAChB,UAAU;AAAA;AAAA,MACV,WAAW;AAAA;AAAA,MACX,UAAU;AAAA,IAAA,CACX;AAKD,WAAO;AAAA,EACT;AAGA,QAAM,UAAU,YAAY;AAC1B,UAAM,QAAQ,QAAA;AAGd,QAAI,OAAO,cAAc;AACvB,YAAM,WAAW,OAAO,YAAY;AAAA,IACtC;AAAA,EACF;AAEA,SAAO;AAAA;AAAA,IAEL,GAAG;AAAA;AAAA,IAGH;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAGO,MAAM,cAAc,MAA0C;AACnE,QAAM,EAAE,KAAA,IAAS,eAAA;AACjB,SAAO,EAAE,KAAA;AACX;AAEO,MAAM,eAAe,MAAkF;AAC5G,QAAM,EAAE,iBAAiB,UAAA,IAAc,eAAA;AACvC,SAAO,EAAE,iBAAiB,UAAA;AAC5B;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const app = require("nuxt/app");
|
|
3
|
+
const auth_global = app.defineNuxtRouteMiddleware((to) => {
|
|
4
|
+
const config = app.useRuntimeConfig().public["strandsAuth"];
|
|
5
|
+
if (process.server) return;
|
|
6
|
+
return new Promise((resolve) => {
|
|
7
|
+
Promise.resolve().then(() => require("../composables/useStrandsAuth.cjs.js")).then(({ useStrandsAuth }) => {
|
|
8
|
+
const { isAuthenticated, isLoading } = useStrandsAuth();
|
|
9
|
+
const checkAuth = () => {
|
|
10
|
+
if (isLoading.value) {
|
|
11
|
+
setTimeout(checkAuth, 50);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const currentPath = to.path;
|
|
15
|
+
const isProtectedRoute = config.protectedRoutes?.some((route) => {
|
|
16
|
+
if (route.endsWith("*")) {
|
|
17
|
+
return currentPath.startsWith(route.slice(0, -1));
|
|
18
|
+
}
|
|
19
|
+
return currentPath === route || currentPath.startsWith(route + "/");
|
|
20
|
+
});
|
|
21
|
+
const isGuestOnlyRoute = config.guestOnlyRoutes?.some((route) => {
|
|
22
|
+
if (route.endsWith("*")) {
|
|
23
|
+
return currentPath.startsWith(route.slice(0, -1));
|
|
24
|
+
}
|
|
25
|
+
return currentPath === route || currentPath.startsWith(route + "/");
|
|
26
|
+
});
|
|
27
|
+
if (isProtectedRoute && !isAuthenticated.value) {
|
|
28
|
+
console.log("[Strands Auth] Protected route accessed without authentication, redirecting to auth");
|
|
29
|
+
return app.navigateTo("/auth?redirect=" + encodeURIComponent(currentPath));
|
|
30
|
+
}
|
|
31
|
+
if (isGuestOnlyRoute && isAuthenticated.value) {
|
|
32
|
+
console.log("[Strands Auth] Guest-only route accessed while authenticated, redirecting");
|
|
33
|
+
return app.navigateTo(config.onSignInUrl || "/dashboard");
|
|
34
|
+
}
|
|
35
|
+
resolve();
|
|
36
|
+
};
|
|
37
|
+
checkAuth();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
module.exports = auth_global;
|
|
42
|
+
//# sourceMappingURL=auth.global.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.global.cjs.js","sources":["../../../../../../apps/accounts-ui/src/nuxt/runtime/middleware/auth.global.ts"],"sourcesContent":["import { defineNuxtRouteMiddleware, navigateTo, useRuntimeConfig } from 'nuxt/app'\nimport type { StrandsAuthConfig } from '../../../types'\n\nexport default defineNuxtRouteMiddleware((to) => {\n const config = useRuntimeConfig().public['strandsAuth'] as StrandsAuthConfig\n\n // Skip middleware during SSR/build\n if (process.server) return\n\n // Import composable dynamically on client side\n return new Promise<void>((resolve) => {\n import('../composables/useStrandsAuth').then(({ useStrandsAuth }) => {\n const { isAuthenticated, isLoading } = useStrandsAuth()\n\n // Wait for auth initialization\n const checkAuth = () => {\n if (isLoading.value) {\n setTimeout(checkAuth, 50)\n return\n }\n\n const currentPath = to.path\n\n // Check if current route should be protected\n const isProtectedRoute = config.protectedRoutes?.some((route: string) => {\n if (route.endsWith('*')) {\n return currentPath.startsWith(route.slice(0, -1))\n }\n return currentPath === route || currentPath.startsWith(route + '/')\n })\n\n // Check if current route is guest-only\n const isGuestOnlyRoute = config.guestOnlyRoutes?.some((route: string) => {\n if (route.endsWith('*')) {\n return currentPath.startsWith(route.slice(0, -1))\n }\n return currentPath === route || currentPath.startsWith(route + '/')\n })\n\n // Redirect unauthenticated users from protected routes\n if (isProtectedRoute && !isAuthenticated.value) {\n console.log('[Strands Auth] Protected route accessed without authentication, redirecting to auth')\n return navigateTo('/auth?redirect=' + encodeURIComponent(currentPath))\n }\n\n // Redirect authenticated users from guest-only routes\n if (isGuestOnlyRoute && isAuthenticated.value) {\n console.log('[Strands Auth] Guest-only route accessed while authenticated, redirecting')\n return navigateTo(config.onSignInUrl || '/dashboard')\n }\n\n resolve()\n }\n\n checkAuth()\n })\n })\n})"],"names":["defineNuxtRouteMiddleware","useRuntimeConfig","navigateTo"],"mappings":";;AAGA,MAAA,cAAeA,IAAAA,0BAA0B,CAAC,OAAO;AAC/C,QAAM,SAASC,IAAAA,mBAAmB,OAAO,aAAa;AAGtD,MAAI,QAAQ,OAAQ;AAGpB,SAAO,IAAI,QAAc,CAAC,YAAY;AACpC,YAAA,QAAA,EAAA,KAAA,MAAA,QAAO,sCAA+B,CAAA,EAAE,KAAK,CAAC,EAAE,qBAAqB;AACnE,YAAM,EAAE,iBAAiB,UAAA,IAAc,eAAA;AAGvC,YAAM,YAAY,MAAM;AACtB,YAAI,UAAU,OAAO;AACnB,qBAAW,WAAW,EAAE;AACxB;AAAA,QACF;AAEA,cAAM,cAAc,GAAG;AAGvB,cAAM,mBAAmB,OAAO,iBAAiB,KAAK,CAAC,UAAkB;AACvE,cAAI,MAAM,SAAS,GAAG,GAAG;AACvB,mBAAO,YAAY,WAAW,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,UAClD;AACA,iBAAO,gBAAgB,SAAS,YAAY,WAAW,QAAQ,GAAG;AAAA,QACpE,CAAC;AAGD,cAAM,mBAAmB,OAAO,iBAAiB,KAAK,CAAC,UAAkB;AACvE,cAAI,MAAM,SAAS,GAAG,GAAG;AACvB,mBAAO,YAAY,WAAW,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,UAClD;AACA,iBAAO,gBAAgB,SAAS,YAAY,WAAW,QAAQ,GAAG;AAAA,QACpE,CAAC;AAGD,YAAI,oBAAoB,CAAC,gBAAgB,OAAO;AAC9C,kBAAQ,IAAI,qFAAqF;AACjG,iBAAOC,eAAW,oBAAoB,mBAAmB,WAAW,CAAC;AAAA,QACvE;AAGA,YAAI,oBAAoB,gBAAgB,OAAO;AAC7C,kBAAQ,IAAI,2EAA2E;AACvF,iBAAOA,eAAW,OAAO,eAAe,YAAY;AAAA,QACtD;AAEA,gBAAA;AAAA,MACF;AAEA,gBAAA;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH,CAAC;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { defineNuxtRouteMiddleware, useRuntimeConfig, navigateTo } from "nuxt/app";
|
|
2
|
+
const auth_global = defineNuxtRouteMiddleware((to) => {
|
|
3
|
+
const config = useRuntimeConfig().public["strandsAuth"];
|
|
4
|
+
if (process.server) return;
|
|
5
|
+
return new Promise((resolve) => {
|
|
6
|
+
import("../composables/useStrandsAuth.es.js").then(({ useStrandsAuth }) => {
|
|
7
|
+
const { isAuthenticated, isLoading } = useStrandsAuth();
|
|
8
|
+
const checkAuth = () => {
|
|
9
|
+
if (isLoading.value) {
|
|
10
|
+
setTimeout(checkAuth, 50);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const currentPath = to.path;
|
|
14
|
+
const isProtectedRoute = config.protectedRoutes?.some((route) => {
|
|
15
|
+
if (route.endsWith("*")) {
|
|
16
|
+
return currentPath.startsWith(route.slice(0, -1));
|
|
17
|
+
}
|
|
18
|
+
return currentPath === route || currentPath.startsWith(route + "/");
|
|
19
|
+
});
|
|
20
|
+
const isGuestOnlyRoute = config.guestOnlyRoutes?.some((route) => {
|
|
21
|
+
if (route.endsWith("*")) {
|
|
22
|
+
return currentPath.startsWith(route.slice(0, -1));
|
|
23
|
+
}
|
|
24
|
+
return currentPath === route || currentPath.startsWith(route + "/");
|
|
25
|
+
});
|
|
26
|
+
if (isProtectedRoute && !isAuthenticated.value) {
|
|
27
|
+
console.log("[Strands Auth] Protected route accessed without authentication, redirecting to auth");
|
|
28
|
+
return navigateTo("/auth?redirect=" + encodeURIComponent(currentPath));
|
|
29
|
+
}
|
|
30
|
+
if (isGuestOnlyRoute && isAuthenticated.value) {
|
|
31
|
+
console.log("[Strands Auth] Guest-only route accessed while authenticated, redirecting");
|
|
32
|
+
return navigateTo(config.onSignInUrl || "/dashboard");
|
|
33
|
+
}
|
|
34
|
+
resolve();
|
|
35
|
+
};
|
|
36
|
+
checkAuth();
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
export {
|
|
41
|
+
auth_global as default
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=auth.global.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.global.es.js","sources":["../../../../../../apps/accounts-ui/src/nuxt/runtime/middleware/auth.global.ts"],"sourcesContent":["import { defineNuxtRouteMiddleware, navigateTo, useRuntimeConfig } from 'nuxt/app'\nimport type { StrandsAuthConfig } from '../../../types'\n\nexport default defineNuxtRouteMiddleware((to) => {\n const config = useRuntimeConfig().public['strandsAuth'] as StrandsAuthConfig\n\n // Skip middleware during SSR/build\n if (process.server) return\n\n // Import composable dynamically on client side\n return new Promise<void>((resolve) => {\n import('../composables/useStrandsAuth').then(({ useStrandsAuth }) => {\n const { isAuthenticated, isLoading } = useStrandsAuth()\n\n // Wait for auth initialization\n const checkAuth = () => {\n if (isLoading.value) {\n setTimeout(checkAuth, 50)\n return\n }\n\n const currentPath = to.path\n\n // Check if current route should be protected\n const isProtectedRoute = config.protectedRoutes?.some((route: string) => {\n if (route.endsWith('*')) {\n return currentPath.startsWith(route.slice(0, -1))\n }\n return currentPath === route || currentPath.startsWith(route + '/')\n })\n\n // Check if current route is guest-only\n const isGuestOnlyRoute = config.guestOnlyRoutes?.some((route: string) => {\n if (route.endsWith('*')) {\n return currentPath.startsWith(route.slice(0, -1))\n }\n return currentPath === route || currentPath.startsWith(route + '/')\n })\n\n // Redirect unauthenticated users from protected routes\n if (isProtectedRoute && !isAuthenticated.value) {\n console.log('[Strands Auth] Protected route accessed without authentication, redirecting to auth')\n return navigateTo('/auth?redirect=' + encodeURIComponent(currentPath))\n }\n\n // Redirect authenticated users from guest-only routes\n if (isGuestOnlyRoute && isAuthenticated.value) {\n console.log('[Strands Auth] Guest-only route accessed while authenticated, redirecting')\n return navigateTo(config.onSignInUrl || '/dashboard')\n }\n\n resolve()\n }\n\n checkAuth()\n })\n })\n})"],"names":[],"mappings":";AAGA,MAAA,cAAe,0BAA0B,CAAC,OAAO;AAC/C,QAAM,SAAS,mBAAmB,OAAO,aAAa;AAGtD,MAAI,QAAQ,OAAQ;AAGpB,SAAO,IAAI,QAAc,CAAC,YAAY;AACpC,WAAO,qCAA+B,EAAE,KAAK,CAAC,EAAE,qBAAqB;AACnE,YAAM,EAAE,iBAAiB,UAAA,IAAc,eAAA;AAGvC,YAAM,YAAY,MAAM;AACtB,YAAI,UAAU,OAAO;AACnB,qBAAW,WAAW,EAAE;AACxB;AAAA,QACF;AAEA,cAAM,cAAc,GAAG;AAGvB,cAAM,mBAAmB,OAAO,iBAAiB,KAAK,CAAC,UAAkB;AACvE,cAAI,MAAM,SAAS,GAAG,GAAG;AACvB,mBAAO,YAAY,WAAW,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,UAClD;AACA,iBAAO,gBAAgB,SAAS,YAAY,WAAW,QAAQ,GAAG;AAAA,QACpE,CAAC;AAGD,cAAM,mBAAmB,OAAO,iBAAiB,KAAK,CAAC,UAAkB;AACvE,cAAI,MAAM,SAAS,GAAG,GAAG;AACvB,mBAAO,YAAY,WAAW,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,UAClD;AACA,iBAAO,gBAAgB,SAAS,YAAY,WAAW,QAAQ,GAAG;AAAA,QACpE,CAAC;AAGD,YAAI,oBAAoB,CAAC,gBAAgB,OAAO;AAC9C,kBAAQ,IAAI,qFAAqF;AACjG,iBAAO,WAAW,oBAAoB,mBAAmB,WAAW,CAAC;AAAA,QACvE;AAGA,YAAI,oBAAoB,gBAAgB,OAAO;AAC7C,kBAAQ,IAAI,2EAA2E;AACvF,iBAAO,WAAW,OAAO,eAAe,YAAY;AAAA,QACtD;AAEA,gBAAA;AAAA,MACF;AAEA,gBAAA;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH,CAAC;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const app = require("nuxt/app");
|
|
3
|
+
const useStrandsConfig = require("../../useStrandsConfig-CtmQtE7Y.cjs");
|
|
4
|
+
const plugin_client = app.defineNuxtPlugin({
|
|
5
|
+
name: "strands-auth-client",
|
|
6
|
+
async setup() {
|
|
7
|
+
const config = app.useRuntimeConfig();
|
|
8
|
+
const strandsConfig = config.public.strandsAuth;
|
|
9
|
+
const mergedConfig = {
|
|
10
|
+
...useStrandsConfig.STRANDS_AUTH_DEFAULTS,
|
|
11
|
+
...strandsConfig
|
|
12
|
+
};
|
|
13
|
+
useStrandsConfig.provideStrandsConfig(mergedConfig);
|
|
14
|
+
if (typeof window !== "undefined") {
|
|
15
|
+
window.__STRANDS_CONFIG__ = mergedConfig;
|
|
16
|
+
}
|
|
17
|
+
if (mergedConfig?.accentColor && typeof window !== "undefined") {
|
|
18
|
+
document.documentElement.style.setProperty("--strands-accent", mergedConfig.accentColor);
|
|
19
|
+
}
|
|
20
|
+
const { useStrandsAuth } = await Promise.resolve().then(() => require("./composables/useStrandsAuth.cjs.js"));
|
|
21
|
+
const { initialize } = useStrandsAuth();
|
|
22
|
+
await initialize();
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
module.exports = plugin_client;
|
|
26
|
+
//# sourceMappingURL=plugin.client.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.client.cjs.js","sources":["../../../../../apps/accounts-ui/src/nuxt/runtime/plugin.client.ts"],"sourcesContent":["import { defineNuxtPlugin, useRuntimeConfig } from 'nuxt/app'\nimport { provideStrandsConfig } from '../../vue/composables/useStrandsConfig'\nimport { STRANDS_AUTH_DEFAULTS } from '../../shared/defaults'\n\nexport default defineNuxtPlugin({\n name: 'strands-auth-client',\n async setup() {\n // Get runtime config\n const config = useRuntimeConfig()\n const strandsConfig = config.public.strandsAuth as any\n \n // Merge defaults with runtime config\n const mergedConfig = {\n ...STRANDS_AUTH_DEFAULTS,\n ...strandsConfig\n }\n \n // Provide configuration to Vue components\n provideStrandsConfig(mergedConfig)\n \n // Set window global as backup\n if (typeof window !== 'undefined') {\n ;(window as any).__STRANDS_CONFIG__ = mergedConfig\n }\n \n // Set CSS custom properties for accent color\n if (mergedConfig?.accentColor && typeof window !== 'undefined') {\n document.documentElement.style.setProperty('--strands-accent', mergedConfig.accentColor)\n }\n \n // Initialize auth state\n const { useStrandsAuth } = await import('./composables/useStrandsAuth')\n const { initialize } = useStrandsAuth()\n await initialize()\n }\n})"],"names":["defineNuxtPlugin","useRuntimeConfig","STRANDS_AUTH_DEFAULTS","provideStrandsConfig"],"mappings":";;;AAIA,MAAA,gBAAeA,qBAAiB;AAAA,EAC9B,MAAM;AAAA,EACN,MAAM,QAAQ;AAEZ,UAAM,SAASC,IAAAA,iBAAA;AACf,UAAM,gBAAgB,OAAO,OAAO;AAGpC,UAAM,eAAe;AAAA,MACnB,GAAGC,iBAAAA;AAAAA,MACH,GAAG;AAAA,IAAA;AAILC,qBAAAA,qBAAqB,YAAY;AAGjC,QAAI,OAAO,WAAW,aAAa;AAC/B,aAAe,qBAAqB;AAAA,IACxC;AAGA,QAAI,cAAc,eAAe,OAAO,WAAW,aAAa;AAC9D,eAAS,gBAAgB,MAAM,YAAY,oBAAoB,aAAa,WAAW;AAAA,IACzF;AAGA,UAAM,EAAE,eAAA,IAAmB,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,qCAA8B,CAAA;AACtE,UAAM,EAAE,WAAA,IAAe,eAAA;AACvB,UAAM,WAAA;AAAA,EACR;AACF,CAAC;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineNuxtPlugin, useRuntimeConfig } from "nuxt/app";
|
|
2
|
+
import { p as provideStrandsConfig, S as STRANDS_AUTH_DEFAULTS } from "../../useStrandsConfig-Bdk-g0jS.js";
|
|
3
|
+
const plugin_client = defineNuxtPlugin({
|
|
4
|
+
name: "strands-auth-client",
|
|
5
|
+
async setup() {
|
|
6
|
+
const config = useRuntimeConfig();
|
|
7
|
+
const strandsConfig = config.public.strandsAuth;
|
|
8
|
+
const mergedConfig = {
|
|
9
|
+
...STRANDS_AUTH_DEFAULTS,
|
|
10
|
+
...strandsConfig
|
|
11
|
+
};
|
|
12
|
+
provideStrandsConfig(mergedConfig);
|
|
13
|
+
if (typeof window !== "undefined") {
|
|
14
|
+
window.__STRANDS_CONFIG__ = mergedConfig;
|
|
15
|
+
}
|
|
16
|
+
if (mergedConfig?.accentColor && typeof window !== "undefined") {
|
|
17
|
+
document.documentElement.style.setProperty("--strands-accent", mergedConfig.accentColor);
|
|
18
|
+
}
|
|
19
|
+
const { useStrandsAuth } = await import("./composables/useStrandsAuth.es.js");
|
|
20
|
+
const { initialize } = useStrandsAuth();
|
|
21
|
+
await initialize();
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
export {
|
|
25
|
+
plugin_client as default
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=plugin.client.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.client.es.js","sources":["../../../../../apps/accounts-ui/src/nuxt/runtime/plugin.client.ts"],"sourcesContent":["import { defineNuxtPlugin, useRuntimeConfig } from 'nuxt/app'\nimport { provideStrandsConfig } from '../../vue/composables/useStrandsConfig'\nimport { STRANDS_AUTH_DEFAULTS } from '../../shared/defaults'\n\nexport default defineNuxtPlugin({\n name: 'strands-auth-client',\n async setup() {\n // Get runtime config\n const config = useRuntimeConfig()\n const strandsConfig = config.public.strandsAuth as any\n \n // Merge defaults with runtime config\n const mergedConfig = {\n ...STRANDS_AUTH_DEFAULTS,\n ...strandsConfig\n }\n \n // Provide configuration to Vue components\n provideStrandsConfig(mergedConfig)\n \n // Set window global as backup\n if (typeof window !== 'undefined') {\n ;(window as any).__STRANDS_CONFIG__ = mergedConfig\n }\n \n // Set CSS custom properties for accent color\n if (mergedConfig?.accentColor && typeof window !== 'undefined') {\n document.documentElement.style.setProperty('--strands-accent', mergedConfig.accentColor)\n }\n \n // Initialize auth state\n const { useStrandsAuth } = await import('./composables/useStrandsAuth')\n const { initialize } = useStrandsAuth()\n await initialize()\n }\n})"],"names":[],"mappings":";;AAIA,MAAA,gBAAe,iBAAiB;AAAA,EAC9B,MAAM;AAAA,EACN,MAAM,QAAQ;AAEZ,UAAM,SAAS,iBAAA;AACf,UAAM,gBAAgB,OAAO,OAAO;AAGpC,UAAM,eAAe;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAIL,yBAAqB,YAAY;AAGjC,QAAI,OAAO,WAAW,aAAa;AAC/B,aAAe,qBAAqB;AAAA,IACxC;AAGA,QAAI,cAAc,eAAe,OAAO,WAAW,aAAa;AAC9D,eAAS,gBAAgB,MAAM,YAAY,oBAAoB,aAAa,WAAW;AAAA,IACzF;AAGA,UAAM,EAAE,eAAA,IAAmB,MAAM,OAAO,oCAA8B;AACtE,UAAM,EAAE,WAAA,IAAe,eAAA;AACvB,UAAM,WAAA;AAAA,EACR;AACF,CAAC;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const app = require("nuxt/app");
|
|
3
|
+
const useStrandsConfig = require("../../useStrandsConfig-CtmQtE7Y.cjs");
|
|
4
|
+
const plugin_server = app.defineNuxtPlugin({
|
|
5
|
+
name: "strands-auth-server",
|
|
6
|
+
setup() {
|
|
7
|
+
const config = app.useRuntimeConfig();
|
|
8
|
+
const strandsConfig = config.public.strandsAuth;
|
|
9
|
+
const mergedConfig = {
|
|
10
|
+
...useStrandsConfig.STRANDS_AUTH_DEFAULTS,
|
|
11
|
+
...strandsConfig
|
|
12
|
+
};
|
|
13
|
+
useStrandsConfig.provideStrandsConfig(mergedConfig);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
module.exports = plugin_server;
|
|
17
|
+
//# sourceMappingURL=plugin.server.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.server.cjs.js","sources":["../../../../../apps/accounts-ui/src/nuxt/runtime/plugin.server.ts"],"sourcesContent":["import { defineNuxtPlugin, useRuntimeConfig } from 'nuxt/app'\nimport { provideStrandsConfig } from '../../vue/composables/useStrandsConfig'\nimport { STRANDS_AUTH_DEFAULTS } from '../../shared/defaults'\n\nexport default defineNuxtPlugin({\n name: 'strands-auth-server',\n setup() {\n // Get runtime config\n const config = useRuntimeConfig()\n const strandsConfig = config.public.strandsAuth as any\n \n // Merge defaults with runtime config\n const mergedConfig = {\n ...STRANDS_AUTH_DEFAULTS,\n ...strandsConfig\n }\n \n // Provide configuration for SSR\n provideStrandsConfig(mergedConfig)\n }\n})"],"names":["defineNuxtPlugin","useRuntimeConfig","STRANDS_AUTH_DEFAULTS","provideStrandsConfig"],"mappings":";;;AAIA,MAAA,gBAAeA,qBAAiB;AAAA,EAC9B,MAAM;AAAA,EACN,QAAQ;AAEN,UAAM,SAASC,IAAAA,iBAAA;AACf,UAAM,gBAAgB,OAAO,OAAO;AAGpC,UAAM,eAAe;AAAA,MACnB,GAAGC,iBAAAA;AAAAA,MACH,GAAG;AAAA,IAAA;AAILC,qBAAAA,qBAAqB,YAAY;AAAA,EACnC;AACF,CAAC;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { defineNuxtPlugin, useRuntimeConfig } from "nuxt/app";
|
|
2
|
+
import { p as provideStrandsConfig, S as STRANDS_AUTH_DEFAULTS } from "../../useStrandsConfig-Bdk-g0jS.js";
|
|
3
|
+
const plugin_server = defineNuxtPlugin({
|
|
4
|
+
name: "strands-auth-server",
|
|
5
|
+
setup() {
|
|
6
|
+
const config = useRuntimeConfig();
|
|
7
|
+
const strandsConfig = config.public.strandsAuth;
|
|
8
|
+
const mergedConfig = {
|
|
9
|
+
...STRANDS_AUTH_DEFAULTS,
|
|
10
|
+
...strandsConfig
|
|
11
|
+
};
|
|
12
|
+
provideStrandsConfig(mergedConfig);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
export {
|
|
16
|
+
plugin_server as default
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=plugin.server.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.server.es.js","sources":["../../../../../apps/accounts-ui/src/nuxt/runtime/plugin.server.ts"],"sourcesContent":["import { defineNuxtPlugin, useRuntimeConfig } from 'nuxt/app'\nimport { provideStrandsConfig } from '../../vue/composables/useStrandsConfig'\nimport { STRANDS_AUTH_DEFAULTS } from '../../shared/defaults'\n\nexport default defineNuxtPlugin({\n name: 'strands-auth-server',\n setup() {\n // Get runtime config\n const config = useRuntimeConfig()\n const strandsConfig = config.public.strandsAuth as any\n \n // Merge defaults with runtime config\n const mergedConfig = {\n ...STRANDS_AUTH_DEFAULTS,\n ...strandsConfig\n }\n \n // Provide configuration for SSR\n provideStrandsConfig(mergedConfig)\n }\n})"],"names":[],"mappings":";;AAIA,MAAA,gBAAe,iBAAiB;AAAA,EAC9B,MAAM;AAAA,EACN,QAAQ;AAEN,UAAM,SAAS,iBAAA;AACf,UAAM,gBAAgB,OAAO,OAAO;AAGpC,UAAM,eAAe;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAIL,yBAAqB,YAAY;AAAA,EACnC;AACF,CAAC;"}
|