@strands.gg/accui 0.2.15 → 0.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/accui.css +2896 -1
  2. package/dist/index.d.ts +1 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/nuxt/module.cjs.js +105 -1
  5. package/dist/nuxt/module.cjs.js.map +1 -1
  6. package/dist/nuxt/module.es.js +42 -32
  7. package/dist/nuxt/module.es.js.map +1 -1
  8. package/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js +56 -1
  9. package/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js.map +1 -1
  10. package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts +12 -1
  11. package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts.map +1 -1
  12. package/dist/nuxt/runtime/composables/useStrandsAuth.es.js +46 -30
  13. package/dist/nuxt/runtime/composables/useStrandsAuth.es.js.map +1 -1
  14. package/dist/nuxt/runtime/middleware/auth.global.cjs.js +41 -1
  15. package/dist/nuxt/runtime/middleware/auth.global.cjs.js.map +1 -1
  16. package/dist/nuxt/runtime/middleware/auth.global.es.js +37 -20
  17. package/dist/nuxt/runtime/middleware/auth.global.es.js.map +1 -1
  18. package/dist/nuxt/runtime/plugin.client.cjs.js +25 -1
  19. package/dist/nuxt/runtime/plugin.client.cjs.js.map +1 -1
  20. package/dist/nuxt/runtime/plugin.client.es.js +19 -10
  21. package/dist/nuxt/runtime/plugin.client.es.js.map +1 -1
  22. package/dist/nuxt/runtime/plugin.server.cjs.js +16 -1
  23. package/dist/nuxt/runtime/plugin.server.cjs.js.map +1 -1
  24. package/dist/nuxt/runtime/plugin.server.es.js +10 -8
  25. package/dist/nuxt/runtime/plugin.server.es.js.map +1 -1
  26. package/dist/nuxt-v4/module.cjs.js +112 -5
  27. package/dist/nuxt-v4/module.cjs.js.map +1 -1
  28. package/dist/nuxt-v4/module.d.ts.map +1 -1
  29. package/dist/nuxt-v4/module.es.js +47 -37
  30. package/dist/nuxt-v4/module.es.js.map +1 -1
  31. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js +69 -1
  32. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js.map +1 -1
  33. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.d.ts +2 -2
  34. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.d.ts.map +1 -1
  35. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.es.js +57 -41
  36. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.es.js.map +1 -1
  37. package/dist/nuxt-v4/runtime/middleware/auth.global.cjs.js +41 -1
  38. package/dist/nuxt-v4/runtime/middleware/auth.global.cjs.js.map +1 -1
  39. package/dist/nuxt-v4/runtime/middleware/auth.global.es.js +37 -20
  40. package/dist/nuxt-v4/runtime/middleware/auth.global.es.js.map +1 -1
  41. package/dist/nuxt-v4/runtime/plugin.client.cjs.js +25 -1
  42. package/dist/nuxt-v4/runtime/plugin.client.cjs.js.map +1 -1
  43. package/dist/nuxt-v4/runtime/plugin.client.es.js +19 -10
  44. package/dist/nuxt-v4/runtime/plugin.client.es.js.map +1 -1
  45. package/dist/nuxt-v4/runtime/plugin.server.cjs.js +21 -1
  46. package/dist/nuxt-v4/runtime/plugin.server.cjs.js.map +1 -1
  47. package/dist/nuxt-v4/runtime/plugin.server.es.js +13 -10
  48. package/dist/nuxt-v4/runtime/plugin.server.es.js.map +1 -1
  49. package/dist/strands-auth-ui.cjs.js +10820 -7
  50. package/dist/strands-auth-ui.cjs.js.map +1 -1
  51. package/dist/strands-auth-ui.es.js +8216 -3997
  52. package/dist/strands-auth-ui.es.js.map +1 -1
  53. package/dist/types/index.d.ts +11 -1
  54. package/dist/types/index.d.ts.map +1 -1
  55. package/dist/useStrandsAuth-CZ7inSUU.js +527 -0
  56. package/dist/useStrandsAuth-CZ7inSUU.js.map +1 -0
  57. package/dist/useStrandsAuth-fa48rk-t.cjs +526 -0
  58. package/dist/useStrandsAuth-fa48rk-t.cjs.map +1 -0
  59. package/dist/useStrandsConfig-Cbpo8XZg.js +154 -0
  60. package/dist/useStrandsConfig-Cbpo8XZg.js.map +1 -0
  61. package/dist/useStrandsConfig-CtKyh8RT.cjs +153 -0
  62. package/dist/useStrandsConfig-CtKyh8RT.cjs.map +1 -0
  63. package/dist/vue/components/SignedIn.vue.d.ts.map +1 -1
  64. package/dist/vue/components/StrandsAuth.vue.d.ts.map +1 -1
  65. package/dist/vue/components/StrandsEmailMfaSetupModal.vue.d.ts.map +1 -1
  66. package/dist/vue/components/StrandsHardwareKeySetupModal.vue.d.ts +12 -0
  67. package/dist/vue/components/StrandsHardwareKeySetupModal.vue.d.ts.map +1 -0
  68. package/dist/vue/components/StrandsMfaModal.vue.d.ts.map +1 -1
  69. package/dist/vue/components/StrandsMfaVerification.vue.d.ts +1 -1
  70. package/dist/vue/components/StrandsMfaVerification.vue.d.ts.map +1 -1
  71. package/dist/vue/components/StrandsSecuredFooter.vue.d.ts +16 -1
  72. package/dist/vue/components/StrandsSecuredFooter.vue.d.ts.map +1 -1
  73. package/dist/vue/components/StrandsSignIn.vue.d.ts.map +1 -1
  74. package/dist/vue/components/StrandsTotpSetupModal.vue.d.ts.map +1 -1
  75. package/dist/vue/components/StrandsUserProfile.vue.d.ts.map +1 -1
  76. package/dist/vue/components/index.d.ts +1 -0
  77. package/dist/vue/components/index.d.ts.map +1 -1
  78. package/dist/vue/composables/useStrandsAuth.d.ts +11 -0
  79. package/dist/vue/composables/useStrandsAuth.d.ts.map +1 -1
  80. package/dist/vue/composables/useStrandsConfig.d.ts.map +1 -1
  81. package/dist/vue/ui/UiCard.vue.d.ts.map +1 -1
  82. package/dist/vue/ui/UiModal.vue.d.ts +9 -1
  83. package/dist/vue/ui/UiModal.vue.d.ts.map +1 -1
  84. package/package.json +3 -1
  85. package/dist/useStrandsAuth-DVmxn9BE.cjs +0 -2
  86. package/dist/useStrandsAuth-DVmxn9BE.cjs.map +0 -1
  87. package/dist/useStrandsAuth-JfjnqhIV.js +0 -272
  88. package/dist/useStrandsAuth-JfjnqhIV.js.map +0 -1
  89. package/dist/useStrandsConfig-BIACvByo.cjs +0 -2
  90. package/dist/useStrandsConfig-BIACvByo.cjs.map +0 -1
  91. package/dist/useStrandsConfig-DK37s9ZC.js +0 -120
  92. package/dist/useStrandsConfig-DK37s9ZC.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,9 +1,7 @@
1
1
  export * from './vue/components';
2
2
  export * from './vue/ui';
3
3
  export { default as StrandsUIPlugin } from './vue/plugins/StrandsUIPlugin';
4
- export { useStrandsAuth } from './vue/composables/useStrandsAuth';
5
- export { useStrandsConfig, setStrandsConfig, provideStrandsConfig } from './vue/composables/useStrandsConfig';
6
- export { useOAuthProviders } from './vue/composables/useOAuthProviders';
4
+ export { useStrandsAuth, useStrandsConfig, setStrandsConfig, provideStrandsConfig, useOAuthProviders } from './vue';
7
5
  export * from './utils';
8
6
  export type * from './types/index';
9
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../apps/accounts-ui/src/index.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,CAAA;AAG1B,cAAc,kBAAkB,CAAA;AAGhC,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG1E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAGvE,cAAc,SAAS,CAAA;AAGvB,mBAAmB,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../apps/accounts-ui/src/index.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,CAAA;AAG1B,cAAc,kBAAkB,CAAA;AAGhC,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG1E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAGnH,cAAc,SAAS,CAAA;AAGvB,mBAAmB,eAAe,CAAA"}
@@ -1,2 +1,106 @@
1
- "use strict";const t=require("@nuxt/kit");var a=typeof document<"u"?document.currentScript:null;const d=t.defineNuxtModule({meta:{name:"@strands.gg/accui/nuxt",configKey:"strandsAuth",compatibility:{nuxt:"^3.0.0"}},defaults:{baseUrl:"https://your-api.example.com",accentColor:"#EA00A8",redirectUrl:"/",onSignInUrl:"/dashboard",onSignOutUrl:"/",autoRefresh:!0,refreshInterval:4,protectedRoutes:[],guestOnlyRoutes:["/auth","/login","/register"],devMode:!1,styles:!0},async setup(o,e){const s=t.createResolver(typeof document>"u"?require("url").pathToFileURL(__filename).href:a&&a.tagName.toUpperCase()==="SCRIPT"&&a.src||new URL("nuxt/module.cjs.js",document.baseURI).href);e.options.runtimeConfig.public=e.options.runtimeConfig.public||{},e.options.runtimeConfig.public.strandsAuth={...o,styles:o.styles!==!1},o.styles!==!1&&(e.options.css.push("@strands.gg/accui/style.css"),e.options.css.push(s.resolve("./runtime/styles.css")));const r=process.env.NODE_ENV==="development"?"ts":"es.js";t.addPlugin({src:s.resolve(`./runtime/plugin.client.${r}`),mode:"client"}),t.addPlugin({src:s.resolve(`./runtime/plugin.server.${r}`),mode:"server"}),t.addRouteMiddleware({name:"auth",path:s.resolve(`./runtime/middleware/auth.global.${r}`),global:!0}),e.hook("pages:extend",n=>{}),t.addImports([{name:"useStrandsAuth",as:"useStrandsAuth",from:s.resolve(`./runtime/composables/useStrandsAuth.${r}`)},{name:"useAuthUser",as:"useAuthUser",from:s.resolve(`./runtime/composables/useStrandsAuth.${r}`)},{name:"useAuthState",as:"useAuthState",from:s.resolve(`./runtime/composables/useStrandsAuth.${r}`)}]);const u=["StrandsAuth","StrandsSignIn","StrandsSignUp","StrandsCompleteSignUp","StrandsUserProfile","StrandsPasswordReset","StrandsMFASetup","StrandsConfigProvider","SignedIn","SignedOut","StrandsLogo","StrandsSecuredFooter","StrandsUiAlert","StrandsUiButton","StrandsUiCard","StrandsUiInput","StrandsUiLink","StrandsUiTabs","StrandsUiLoader"];for(const n of u)t.addComponent({name:n,export:n,filePath:"@strands.gg/accui"});e.hook("prepare:types",n=>{n.references.push({types:"@strands.gg/auth-nuxt"})})}});module.exports=d;
1
+ "use strict";
2
+ const kit = require("@nuxt/kit");
3
+ var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
4
+ const module$1 = kit.defineNuxtModule({
5
+ meta: {
6
+ name: "@strands.gg/accui/nuxt",
7
+ configKey: "strandsAuth",
8
+ compatibility: {
9
+ nuxt: "^3.0.0"
10
+ }
11
+ },
12
+ defaults: {
13
+ baseUrl: "https://your-api.example.com",
14
+ accentColor: "#EA00A8",
15
+ redirectUrl: "/",
16
+ onSignInUrl: "/dashboard",
17
+ onSignOutUrl: "/",
18
+ autoRefresh: true,
19
+ refreshInterval: 4,
20
+ protectedRoutes: [],
21
+ guestOnlyRoutes: ["/auth", "/login", "/register"],
22
+ devMode: false,
23
+ styles: true
24
+ },
25
+ async setup(options, nuxt) {
26
+ 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);
27
+ nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};
28
+ nuxt.options.runtimeConfig.public.strandsAuth = {
29
+ ...options,
30
+ styles: options.styles !== false
31
+ };
32
+ if (options.styles !== false) {
33
+ nuxt.options.css.push("@strands.gg/accui/style.css");
34
+ nuxt.options.css.push(resolver.resolve("./runtime/styles.css"));
35
+ }
36
+ const ext = "es.js";
37
+ kit.addPlugin({
38
+ src: resolver.resolve(`./runtime/plugin.client.${ext}`),
39
+ mode: "client"
40
+ });
41
+ kit.addPlugin({
42
+ src: resolver.resolve(`./runtime/plugin.server.${ext}`),
43
+ mode: "server"
44
+ });
45
+ kit.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
+ kit.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
+ "StrandsPasswordReset",
76
+ "StrandsMFASetup",
77
+ "StrandsConfigProvider",
78
+ "SignedIn",
79
+ "SignedOut",
80
+ "StrandsLogo",
81
+ "StrandsSecuredFooter",
82
+ // UI Components
83
+ "StrandsUiAlert",
84
+ "StrandsUiButton",
85
+ "StrandsUiCard",
86
+ "StrandsUiInput",
87
+ "StrandsUiLink",
88
+ "StrandsUiTabs",
89
+ "StrandsUiLoader"
90
+ ];
91
+ for (const component of components) {
92
+ kit.addComponent({
93
+ name: component,
94
+ export: component,
95
+ filePath: "@strands.gg/accui"
96
+ });
97
+ }
98
+ nuxt.hook("prepare:types", (opts) => {
99
+ opts.references.push({
100
+ types: "@strands.gg/auth-nuxt"
101
+ });
102
+ });
103
+ }
104
+ });
105
+ module.exports = module$1;
2
106
  //# sourceMappingURL=module.cjs.js.map
@@ -1 +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\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: {\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 },\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 nuxt.options.css.push(resolver.resolve('./runtime/styles.css'))\n }\n\n // Plugin and middleware paths - use TypeScript in development, JavaScript in production\n const isDev = process.env['NODE_ENV'] === 'development'\n const ext = isDev ? 'ts' : '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 '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":["module$1","defineNuxtModule","options","nuxt","resolver","createResolver","ext","addPlugin","addRouteMiddleware","pages","addImports","components","component","addComponent","opts"],"mappings":"gGAMA,MAAAA,EAAeC,mBAAoC,CACjD,KAAM,CACJ,KAAM,yBACN,UAAW,cACX,cAAe,CACb,KAAM,QAAA,CACR,EAEF,SAAU,CACR,QAAS,+BACT,YAAa,UACb,YAAa,IACb,YAAa,aACb,aAAc,IACd,YAAa,GACb,gBAAiB,EACjB,gBAAiB,CAAA,EACjB,gBAAiB,CAAC,QAAS,SAAU,WAAW,EAChD,QAAS,GACT,OAAQ,EAAA,EAEV,MAAM,MAAMC,EAASC,EAAM,CACzB,MAAMC,EAAWC,EAAAA,kLAA8B,EAG/CF,EAAK,QAAQ,cAAc,OAASA,EAAK,QAAQ,cAAc,QAAU,CAAA,EACvEA,EAAK,QAAQ,cAAc,OAAe,YAAc,CACxD,GAAGD,EACH,OAAQA,EAAQ,SAAW,EAAA,EAIzBA,EAAQ,SAAW,KACrBC,EAAK,QAAQ,IAAI,KAAK,6BAA6B,EACnDA,EAAK,QAAQ,IAAI,KAAKC,EAAS,QAAQ,sBAAsB,CAAC,GAKhE,MAAME,EADQ,QAAQ,IAAI,WAAgB,cACtB,KAAO,QAG3BC,YAAU,CACR,IAAKH,EAAS,QAAQ,2BAA2BE,CAAG,EAAE,EACtD,KAAM,QAAA,CACP,EAGDC,YAAU,CACR,IAAKH,EAAS,QAAQ,2BAA2BE,CAAG,EAAE,EACtD,KAAM,QAAA,CACP,EAGDE,qBAAmB,CACjB,KAAM,OACN,KAAMJ,EAAS,QAAQ,oCAAoCE,CAAG,EAAE,EAChE,OAAQ,EAAA,CACT,EAGDH,EAAK,KAAK,eAAiBM,GAAU,CAErC,CAAC,EAGDC,aAAW,CACT,CACE,KAAM,iBACN,GAAI,iBACJ,KAAMN,EAAS,QAAQ,wCAAwCE,CAAG,EAAE,CAAA,EAEtE,CACE,KAAM,cACN,GAAI,cACJ,KAAMF,EAAS,QAAQ,wCAAwCE,CAAG,EAAE,CAAA,EAEtE,CACE,KAAM,eACN,GAAI,eACJ,KAAMF,EAAS,QAAQ,wCAAwCE,CAAG,EAAE,CAAA,CACtE,CACD,EAGD,MAAMK,EAAa,CACjB,cACA,gBACA,gBACA,wBACA,qBACA,uBACA,kBACA,wBACA,WACA,YACA,cACA,uBAEA,iBACA,kBACA,gBACA,iBACA,gBACA,gBACA,iBAAA,EAGF,UAAWC,KAAaD,EACtBE,eAAa,CACX,KAAMD,EACN,OAAQA,EACR,SAAU,mBAAA,CACX,EAIHT,EAAK,KAAK,gBAAkBW,GAAS,CACnCA,EAAK,WAAW,KAAK,CACnB,MAAO,uBAAA,CACR,CACH,CAAC,CACH,CACF,CAAC"}
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\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: {\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 },\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 nuxt.options.css.push(resolver.resolve('./runtime/styles.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 '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":";;;AAMA,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,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,iBAAiB,CAAA;AAAA,IACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,IAChD,SAAS;AAAA,IACT,QAAQ;AAAA,EAAA;AAAA,EAEV,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;AACnD,WAAK,QAAQ,IAAI,KAAK,SAAS,QAAQ,sBAAsB,CAAC;AAAA,IAChE;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;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;;"}
@@ -1,5 +1,5 @@
1
- import { defineNuxtModule as u, createResolver as d, addPlugin as o, addRouteMiddleware as i, addImports as l, addComponent as p } from "@nuxt/kit";
2
- const S = u({
1
+ import { defineNuxtModule, createResolver, addPlugin, addRouteMiddleware, addImports, addComponent } from "@nuxt/kit";
2
+ const module = defineNuxtModule({
3
3
  meta: {
4
4
  name: "@strands.gg/accui/nuxt",
5
5
  configKey: "strandsAuth",
@@ -13,49 +13,58 @@ const S = u({
13
13
  redirectUrl: "/",
14
14
  onSignInUrl: "/dashboard",
15
15
  onSignOutUrl: "/",
16
- autoRefresh: !0,
16
+ autoRefresh: true,
17
17
  refreshInterval: 4,
18
18
  protectedRoutes: [],
19
19
  guestOnlyRoutes: ["/auth", "/login", "/register"],
20
- devMode: !1,
21
- styles: !0
20
+ devMode: false,
21
+ styles: true
22
22
  },
23
- async setup(n, e) {
24
- const s = d(import.meta.url);
25
- e.options.runtimeConfig.public = e.options.runtimeConfig.public || {}, e.options.runtimeConfig.public.strandsAuth = {
26
- ...n,
27
- styles: n.styles !== !1
28
- }, n.styles !== !1 && (e.options.css.push("@strands.gg/accui/style.css"), e.options.css.push(s.resolve("./runtime/styles.css")));
29
- const t = process.env.NODE_ENV === "development" ? "ts" : "es.js";
30
- o({
31
- src: s.resolve(`./runtime/plugin.client.${t}`),
23
+ async setup(options, nuxt) {
24
+ const resolver = createResolver(import.meta.url);
25
+ nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};
26
+ nuxt.options.runtimeConfig.public.strandsAuth = {
27
+ ...options,
28
+ styles: options.styles !== false
29
+ };
30
+ if (options.styles !== false) {
31
+ nuxt.options.css.push("@strands.gg/accui/style.css");
32
+ nuxt.options.css.push(resolver.resolve("./runtime/styles.css"));
33
+ }
34
+ const ext = "es.js";
35
+ addPlugin({
36
+ src: resolver.resolve(`./runtime/plugin.client.${ext}`),
32
37
  mode: "client"
33
- }), o({
34
- src: s.resolve(`./runtime/plugin.server.${t}`),
38
+ });
39
+ addPlugin({
40
+ src: resolver.resolve(`./runtime/plugin.server.${ext}`),
35
41
  mode: "server"
36
- }), i({
42
+ });
43
+ addRouteMiddleware({
37
44
  name: "auth",
38
- path: s.resolve(`./runtime/middleware/auth.global.${t}`),
39
- global: !0
40
- }), e.hook("pages:extend", (r) => {
41
- }), l([
45
+ path: resolver.resolve(`./runtime/middleware/auth.global.${ext}`),
46
+ global: true
47
+ });
48
+ nuxt.hook("pages:extend", (pages) => {
49
+ });
50
+ addImports([
42
51
  {
43
52
  name: "useStrandsAuth",
44
53
  as: "useStrandsAuth",
45
- from: s.resolve(`./runtime/composables/useStrandsAuth.${t}`)
54
+ from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)
46
55
  },
47
56
  {
48
57
  name: "useAuthUser",
49
58
  as: "useAuthUser",
50
- from: s.resolve(`./runtime/composables/useStrandsAuth.${t}`)
59
+ from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)
51
60
  },
52
61
  {
53
62
  name: "useAuthState",
54
63
  as: "useAuthState",
55
- from: s.resolve(`./runtime/composables/useStrandsAuth.${t}`)
64
+ from: resolver.resolve(`./runtime/composables/useStrandsAuth.${ext}`)
56
65
  }
57
66
  ]);
58
- const a = [
67
+ const components = [
59
68
  "StrandsAuth",
60
69
  "StrandsSignIn",
61
70
  "StrandsSignUp",
@@ -77,20 +86,21 @@ const S = u({
77
86
  "StrandsUiTabs",
78
87
  "StrandsUiLoader"
79
88
  ];
80
- for (const r of a)
81
- p({
82
- name: r,
83
- export: r,
89
+ for (const component of components) {
90
+ addComponent({
91
+ name: component,
92
+ export: component,
84
93
  filePath: "@strands.gg/accui"
85
94
  });
86
- e.hook("prepare:types", (r) => {
87
- r.references.push({
95
+ }
96
+ nuxt.hook("prepare:types", (opts) => {
97
+ opts.references.push({
88
98
  types: "@strands.gg/auth-nuxt"
89
99
  });
90
100
  });
91
101
  }
92
102
  });
93
103
  export {
94
- S as default
104
+ module as default
95
105
  };
96
106
  //# sourceMappingURL=module.es.js.map
@@ -1 +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\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: {\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 },\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 nuxt.options.css.push(resolver.resolve('./runtime/styles.css'))\n }\n\n // Plugin and middleware paths - use TypeScript in development, JavaScript in production\n const isDev = process.env['NODE_ENV'] === 'development'\n const ext = isDev ? 'ts' : '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 '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":["module","defineNuxtModule","options","nuxt","resolver","createResolver","ext","addPlugin","addRouteMiddleware","pages","addImports","components","component","addComponent","opts"],"mappings":";AAMA,MAAAA,IAAeC,EAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,iBAAiB,CAAA;AAAA,IACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,IAChD,SAAS;AAAA,IACT,QAAQ;AAAA,EAAA;AAAA,EAEV,MAAM,MAAMC,GAASC,GAAM;AACzB,UAAMC,IAAWC,EAAe,YAAY,GAAG;AAG/C,IAAAF,EAAK,QAAQ,cAAc,SAASA,EAAK,QAAQ,cAAc,UAAU,CAAA,GACvEA,EAAK,QAAQ,cAAc,OAAe,cAAc;AAAA,MACxD,GAAGD;AAAA,MACH,QAAQA,EAAQ,WAAW;AAAA,IAAA,GAIzBA,EAAQ,WAAW,OACrBC,EAAK,QAAQ,IAAI,KAAK,6BAA6B,GACnDA,EAAK,QAAQ,IAAI,KAAKC,EAAS,QAAQ,sBAAsB,CAAC;AAKhE,UAAME,IADQ,QAAQ,IAAI,aAAgB,gBACtB,OAAO;AAG3B,IAAAC,EAAU;AAAA,MACR,KAAKH,EAAS,QAAQ,2BAA2BE,CAAG,EAAE;AAAA,MACtD,MAAM;AAAA,IAAA,CACP,GAGDC,EAAU;AAAA,MACR,KAAKH,EAAS,QAAQ,2BAA2BE,CAAG,EAAE;AAAA,MACtD,MAAM;AAAA,IAAA,CACP,GAGDE,EAAmB;AAAA,MACjB,MAAM;AAAA,MACN,MAAMJ,EAAS,QAAQ,oCAAoCE,CAAG,EAAE;AAAA,MAChE,QAAQ;AAAA,IAAA,CACT,GAGDH,EAAK,KAAK,gBAAgB,CAACM,MAAU;AAAA,IAErC,CAAC,GAGDC,EAAW;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAMN,EAAS,QAAQ,wCAAwCE,CAAG,EAAE;AAAA,MAAA;AAAA,MAEtE;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAMF,EAAS,QAAQ,wCAAwCE,CAAG,EAAE;AAAA,MAAA;AAAA,MAEtE;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAMF,EAAS,QAAQ,wCAAwCE,CAAG,EAAE;AAAA,MAAA;AAAA,IACtE,CACD;AAGD,UAAMK,IAAa;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;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAGF,eAAWC,KAAaD;AACtB,MAAAE,EAAa;AAAA,QACX,MAAMD;AAAA,QACN,QAAQA;AAAA,QACR,UAAU;AAAA,MAAA,CACX;AAIH,IAAAT,EAAK,KAAK,iBAAiB,CAACW,MAAS;AACnC,MAAAA,EAAK,WAAW,KAAK;AAAA,QACnB,OAAO;AAAA,MAAA,CACR;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;"}
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\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: {\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 },\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 nuxt.options.css.push(resolver.resolve('./runtime/styles.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 '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":";AAMA,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,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,iBAAiB,CAAA;AAAA,IACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,IAChD,SAAS;AAAA,IACT,QAAQ;AAAA,EAAA;AAAA,EAEV,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;AACnD,WAAK,QAAQ,IAAI,KAAK,SAAS,QAAQ,sBAAsB,CAAC;AAAA,IAChE;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;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;"}
@@ -1,2 +1,57 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("nuxt/app"),a=require("../../../useStrandsAuth-DVmxn9BE.cjs"),u=()=>{const t=e.useRuntimeConfig().public.strandsAuth,n=a.useStrandsAuth();return{...n,initialize:async()=>{await n.initialize()},signIn:async s=>{const i=await n.signIn(s);return i&&t.onSignInUrl&&await e.navigateTo(t.onSignInUrl),i},signUp:async s=>await n.signUp({email:s.email,password:"",firstName:"",lastName:""}),signOut:async()=>{await n.signOut(),t.onSignOutUrl&&await e.navigateTo(t.onSignOutUrl)}}},r=()=>{const{user:t}=u();return{user:t}},o=()=>{const{isAuthenticated:t,isLoading:n}=u();return{isAuthenticated:t,isLoading:n}};exports.useAuthState=o;exports.useAuthUser=r;exports.useStrandsAuth=u;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const app = require("nuxt/app");
4
+ const useStrandsAuth$1 = require("../../../useStrandsAuth-fa48rk-t.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;
2
57
  //# sourceMappingURL=useStrandsAuth.cjs.js.map
@@ -1 +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":["useStrandsAuth","config","useRuntimeConfig","vueAuth","useVueStrandsAuth","credentials","result","navigateTo","userData","useAuthUser","user","useAuthState","isAuthenticated","isLoading"],"mappings":"8JAOaA,EAAiB,IAAM,CAClC,MAAMC,EAASC,EAAAA,mBAAmB,OAAO,YAGnCC,EAAUC,EAAAA,eAAA,EA6ChB,MAAO,CAEL,GAAGD,EAGH,WA/CiB,SAAY,CAC7B,MAAMA,EAAQ,WAAA,CAChB,EAgDE,OA7Ca,MAAOE,GAAqD,CACzE,MAAMC,EAAS,MAAMH,EAAQ,OAAOE,CAAW,EAG/C,OAAIC,GAAUL,EAAO,aACnB,MAAMM,EAAAA,WAAWN,EAAO,WAAW,EAG9BK,CACT,EAqCE,OAlCa,MAAOE,GAEL,MAAML,EAAQ,OAAO,CAClC,MAAOK,EAAS,MAChB,SAAU,GACV,UAAW,GACX,SAAU,EAAA,CACX,EA4BD,QAnBc,SAAY,CAC1B,MAAML,EAAQ,QAAA,EAGVF,EAAO,cACT,MAAMM,EAAAA,WAAWN,EAAO,YAAY,CAExC,CAYE,CAEJ,EAGaQ,EAAc,IAA0C,CACnE,KAAM,CAAE,KAAAC,CAAA,EAASV,EAAA,EACjB,MAAO,CAAE,KAAAU,CAAA,CACX,EAEaC,EAAe,IAAkF,CAC5G,KAAM,CAAE,gBAAAC,EAAiB,UAAAC,CAAA,EAAcb,EAAA,EACvC,MAAO,CAAE,gBAAAY,EAAiB,UAAAC,CAAA,CAC5B"}
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;;;;"}
@@ -1,4 +1,4 @@
1
- import { ComputedRef } from 'vue';
1
+ import { Ref, ComputedRef } from 'vue';
2
2
  import { User } from '../../../types';
3
3
  export declare const useStrandsAuth: () => {
4
4
  initialize: () => Promise<void>;
@@ -45,6 +45,14 @@ export declare const useStrandsAuth: () => {
45
45
  isAuthenticated: ComputedRef<boolean>;
46
46
  isLoading: ComputedRef<boolean>;
47
47
  loading: ComputedRef<boolean>;
48
+ loadingMessage: ComputedRef<"Loading..." | "Checking authentication..." | "Signing you in..." | "Creating your account..." | "Signing you out..." | "Refreshing session..." | "Sending verification code..." | "Verifying code...">;
49
+ isInitializing: Ref<boolean, boolean>;
50
+ isSigningIn: Ref<boolean, boolean>;
51
+ isSigningUp: Ref<boolean, boolean>;
52
+ isSigningOut: Ref<boolean, boolean>;
53
+ isRefreshingToken: Ref<boolean, boolean>;
54
+ isSendingMfaEmail: Ref<boolean, boolean>;
55
+ isVerifyingMfa: Ref<boolean, boolean>;
48
56
  mfaRequired: ComputedRef<boolean>;
49
57
  mfaSessionId: ComputedRef<string | null>;
50
58
  availableMfaMethods: ComputedRef<{
@@ -72,6 +80,9 @@ export declare const useStrandsAuth: () => {
72
80
  changeEmail: (newEmail: string, password: string) => Promise<any>;
73
81
  setAuthData: (authResponse: import('../../..').AuthResponse) => void;
74
82
  verifyMfa: (deviceId: string, code: string, isBackupCode?: boolean) => Promise<import('../../..').AuthResponse>;
83
+ sendMfaEmailCode: (deviceId: string) => Promise<any>;
84
+ registerHardwareKey: (deviceName: string, accessToken: string) => Promise<any>;
85
+ completeHardwareKeyRegistration: (deviceId: string, credential: any, accessToken: string) => Promise<any>;
75
86
  startTokenRefreshTimer: () => void;
76
87
  stopTokenRefreshTimer: () => void;
77
88
  forceReInit: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useStrandsAuth.d.ts","sourceRoot":"","sources":["../../../../../../apps/accounts-ui/src/nuxt/runtime/composables/useStrandsAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,WAAW,EAAE,MAAM,KAAK,CAAA;AAK3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,eAAO,MAAM,cAAc;;0BAYU;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;uBAYtC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqClD,CAAA;AAGD,eAAO,MAAM,WAAW,QAAO;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;CAG9D,CAAA;AAED,eAAO,MAAM,YAAY,QAAO;IAAE,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAGvG,CAAA"}
1
+ {"version":3,"file":"useStrandsAuth.d.ts","sourceRoot":"","sources":["../../../../../../apps/accounts-ui/src/nuxt/runtime/composables/useStrandsAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAK3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,eAAO,MAAM,cAAc;;0BAYU;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;uBAYtC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqClD,CAAA;AAGD,eAAO,MAAM,WAAW,QAAO;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;CAG9D,CAAA;AAED,eAAO,MAAM,YAAY,QAAO;IAAE,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAGvG,CAAA"}
@@ -1,41 +1,57 @@
1
- import { useRuntimeConfig as e, navigateTo as a } from "nuxt/app";
2
- import { u as r } from "../../../useStrandsAuth-JfjnqhIV.js";
3
- const u = () => {
4
- const n = e().public.strandsAuth, t = r();
5
- return {
6
- // Re-export Vue composable state and methods
7
- ...t,
8
- // Add initialize function
9
- initialize: async () => {
10
- await t.initialize();
11
- },
12
- // Override methods with Nuxt-specific navigation
13
- signIn: async (i) => {
14
- const s = await t.signIn(i);
15
- return s && n.onSignInUrl && await a(n.onSignInUrl), s;
16
- },
17
- signUp: async (i) => await t.signUp({
18
- email: i.email,
1
+ import { useRuntimeConfig, navigateTo } from "nuxt/app";
2
+ import { u as useStrandsAuth$1 } from "../../../useStrandsAuth-CZ7inSUU.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
19
  password: "",
20
20
  // Empty password for magic link
21
21
  firstName: "",
22
22
  // Will be filled later in the magic link flow
23
23
  lastName: ""
24
- }),
25
- signOut: async () => {
26
- await t.signOut(), n.onSignOutUrl && await a(n.onSignOutUrl);
24
+ });
25
+ return result;
26
+ };
27
+ const signOut = async () => {
28
+ await vueAuth.signOut();
29
+ if (config.onSignOutUrl) {
30
+ await navigateTo(config.onSignOutUrl);
27
31
  }
28
32
  };
29
- }, U = () => {
30
- const { user: n } = u();
31
- return { user: n };
32
- }, f = () => {
33
- const { isAuthenticated: n, isLoading: t } = u();
34
- return { isAuthenticated: n, isLoading: t };
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 };
35
51
  };
36
52
  export {
37
- f as useAuthState,
38
- U as useAuthUser,
39
- u as useStrandsAuth
53
+ useAuthState,
54
+ useAuthUser,
55
+ useStrandsAuth
40
56
  };
41
57
  //# sourceMappingURL=useStrandsAuth.es.js.map
@@ -1 +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":["useStrandsAuth","config","useRuntimeConfig","vueAuth","useVueStrandsAuth","credentials","result","navigateTo","userData","useAuthUser","user","useAuthState","isAuthenticated","isLoading"],"mappings":";;AAOO,MAAMA,IAAiB,MAAM;AAClC,QAAMC,IAASC,IAAmB,OAAO,aAGnCC,IAAUC,EAAA;AA6ChB,SAAO;AAAA;AAAA,IAEL,GAAGD;AAAA;AAAA,IAGH,YA/CiB,YAAY;AAC7B,YAAMA,EAAQ,WAAA;AAAA,IAChB;AAAA;AAAA,IAgDE,QA7Ca,OAAOE,MAAqD;AACzE,YAAMC,IAAS,MAAMH,EAAQ,OAAOE,CAAW;AAG/C,aAAIC,KAAUL,EAAO,eACnB,MAAMM,EAAWN,EAAO,WAAW,GAG9BK;AAAA,IACT;AAAA,IAqCE,QAlCa,OAAOE,MAEL,MAAML,EAAQ,OAAO;AAAA,MAClC,OAAOK,EAAS;AAAA,MAChB,UAAU;AAAA;AAAA,MACV,WAAW;AAAA;AAAA,MACX,UAAU;AAAA,IAAA,CACX;AAAA,IA4BD,SAnBc,YAAY;AAC1B,YAAML,EAAQ,QAAA,GAGVF,EAAO,gBACT,MAAMM,EAAWN,EAAO,YAAY;AAAA,IAExC;AAAA,EAYE;AAEJ,GAGaQ,IAAc,MAA0C;AACnE,QAAM,EAAE,MAAAC,EAAA,IAASV,EAAA;AACjB,SAAO,EAAE,MAAAU,EAAA;AACX,GAEaC,IAAe,MAAkF;AAC5G,QAAM,EAAE,iBAAAC,GAAiB,WAAAC,EAAA,IAAcb,EAAA;AACvC,SAAO,EAAE,iBAAAY,GAAiB,WAAAC,EAAA;AAC5B;"}
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;"}
@@ -1,2 +1,42 @@
1
- "use strict";const s=require("nuxt/app"),l=s.defineNuxtRouteMiddleware(o=>{const n=s.useRuntimeConfig().public.strandsAuth;if(!process.server)return new Promise(u=>{Promise.resolve().then(()=>require("../composables/useStrandsAuth.cjs.js")).then(({useStrandsAuth:c})=>{const{isAuthenticated:r,isLoading:a}=c(),i=()=>{if(a.value){setTimeout(i,50);return}const e=o.path,h=n.protectedRoutes?.some(t=>t.endsWith("*")?e.startsWith(t.slice(0,-1)):e===t||e.startsWith(t+"/")),d=n.guestOnlyRoutes?.some(t=>t.endsWith("*")?e.startsWith(t.slice(0,-1)):e===t||e.startsWith(t+"/"));if(h&&!r.value)return console.log("[Strands Auth] Protected route accessed without authentication, redirecting to auth"),s.navigateTo("/auth?redirect="+encodeURIComponent(e));if(d&&r.value)return console.log("[Strands Auth] Guest-only route accessed while authenticated, redirecting"),s.navigateTo(n.onSignInUrl||"/dashboard");u()};i()})})});module.exports=l;
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;
2
42
  //# sourceMappingURL=auth.global.cjs.js.map