@strands.gg/accui 2.4.2 → 2.6.0

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 (32) hide show
  1. package/README.md +1 -3
  2. package/dist/accui.css +1 -1
  3. package/dist/nuxt/module.cjs.js +1 -1
  4. package/dist/nuxt/module.es.js +64 -13
  5. package/dist/strands-auth-ui.cjs.js +1 -1
  6. package/dist/strands-auth-ui.es.js +1174 -1056
  7. package/dist/vue/composables/useModalStack.d.ts +1 -0
  8. package/package.json +1 -11
  9. package/dist/nuxt-v4/module.cjs.js +0 -1
  10. package/dist/nuxt-v4/module.d.ts +0 -1
  11. package/dist/nuxt-v4/module.es.js +0 -151
  12. package/dist/nuxt-v4/runtime/composables/useAuthenticatedFetch.cjs.js +0 -1
  13. package/dist/nuxt-v4/runtime/composables/useAuthenticatedFetch.d.ts +0 -1
  14. package/dist/nuxt-v4/runtime/composables/useAuthenticatedFetch.es.js +0 -134
  15. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js +0 -1
  16. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.d.ts +0 -1
  17. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.es.js +0 -70
  18. package/dist/nuxt-v4/runtime/middleware/auth.global.cjs.js +0 -1
  19. package/dist/nuxt-v4/runtime/middleware/auth.global.d.ts +0 -1
  20. package/dist/nuxt-v4/runtime/middleware/auth.global.es.js +0 -42
  21. package/dist/nuxt-v4/runtime/plugin.client.cjs.js +0 -1
  22. package/dist/nuxt-v4/runtime/plugin.client.d.ts +0 -1
  23. package/dist/nuxt-v4/runtime/plugin.client.es.js +0 -26
  24. package/dist/nuxt-v4/runtime/plugin.server.cjs.js +0 -1
  25. package/dist/nuxt-v4/runtime/plugin.server.d.ts +0 -1
  26. package/dist/nuxt-v4/runtime/plugin.server.es.js +0 -22
  27. package/dist/nuxt-v4/runtime/plugins/auth-interceptor.client.cjs.js +0 -1
  28. package/dist/nuxt-v4/runtime/plugins/auth-interceptor.client.d.ts +0 -1
  29. package/dist/nuxt-v4/runtime/plugins/auth-interceptor.client.es.js +0 -77
  30. package/dist/nuxt-v4.cjs.js +0 -1
  31. package/dist/nuxt-v4.d.ts +0 -1
  32. package/dist/nuxt-v4.es.js +0 -11
@@ -1 +1 @@
1
- "use strict";const t=require("@nuxt/kit");var s="undefined"!=typeof document?document.currentScript:null;const e=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:1,refreshInterval:4,protectedRoutes:[],guestOnlyRoutes:["/auth","/login","/register"],devMode:0,styles:1,supportEmail:"",oauth2RedirectUrl:""},async setup(e,n){const r=t.createResolver("undefined"==typeof document?require("url").pathToFileURL(__filename).href:s&&"SCRIPT"===s.tagName.toUpperCase()&&s.src||new URL("nuxt/module.cjs.js",document.baseURI).href);if(n.options.runtimeConfig.public=n.options.runtimeConfig.public||{},n.options.runtimeConfig.public.strandsAuth={...e,styles:0!=e.styles},0!=e.styles&&n.options.css.push("@strands.gg/accui/style.css"),e.accentColor&&"#EA00A8"!==e.accentColor){const t=e.accentColor,s=`\n :root {\n --strands-custom-accent: ${t};\n --strands-custom-50: color-mix(in srgb, ${t} 10%, white);\n --strands-custom-100: color-mix(in srgb, ${t} 20%, white);\n --strands-custom-200: color-mix(in srgb, ${t} 30%, white);\n --strands-custom-300: color-mix(in srgb, ${t} 40%, white);\n --strands-custom-400: color-mix(in srgb, ${t} 70%, white);\n --strands-custom-500: ${t};\n --strands-custom-600: color-mix(in srgb, ${t} 85%, black);\n --strands-custom-700: color-mix(in srgb, ${t} 70%, black);\n --strands-custom-800: color-mix(in srgb, ${t} 55%, black);\n --strands-custom-900: color-mix(in srgb, ${t} 40%, black);\n --strands-custom-950: color-mix(in srgb, ${t} 25%, black);\n }\n `;n.options.app.head=n.options.app.head||{},n.options.app.head.style=n.options.app.head.style||[],n.options.app.head.style.unshift({innerHTML:s,key:"strands-accent-override"})}const a="es.js";t.addPlugin({src:r.resolve(`./runtime/plugin.client.${a}`),mode:"client"}),t.addPlugin({src:r.resolve(`./runtime/plugin.server.${a}`),mode:"server"}),t.addPlugin({src:r.resolve(`./runtime/plugins/auth-interceptor.client.${a}`),mode:"client"}),t.addRouteMiddleware({name:"auth",path:r.resolve(`./runtime/middleware/auth.global.${a}`),global:1}),n.hook("pages:extend",()=>{}),t.addImports([{name:"useStrandsAuth",as:"useStrandsAuth",from:r.resolve(`./runtime/composables/useStrandsAuth.${a}`)},{name:"useAuthUser",as:"useAuthUser",from:r.resolve(`./runtime/composables/useStrandsAuth.${a}`)},{name:"useAuthState",as:"useAuthState",from:r.resolve(`./runtime/composables/useStrandsAuth.${a}`)},{name:"useAuthenticatedFetch",as:"useAuthenticatedFetch",from:r.resolve(`./runtime/composables/useAuthenticatedFetch.${a}`)}]);const o=["StrandsAuth","StrandsSignIn","StrandsSignUp","StrandsCompleteSignUp","StrandsUserProfile","StrandsUserButton","StrandsPasswordReset","StrandsMFASetup","StrandsConfigProvider","SignedIn","StrandsLogo","StrandsSecuredFooter","StrandsUiAlert","StrandsUiButton","StrandsUiCard","StrandsUiInput","StrandsUiLink","StrandsUiTabs","StrandsUiLoader"];for(const s of o)t.addComponent({name:s,export:s,filePath:"@strands.gg/accui"});n.hook("prepare:types",t=>{t.references.push({types:"@strands.gg/auth-nuxt"})})}});module.exports=e;
1
+ "use strict";const t=require("@nuxt/kit");var e="undefined"!=typeof document?document.currentScript:null;const s=t.defineNuxtModule({meta:{name:"@strands.gg/accui/nuxt",configKey:"strandsAuth",compatibility:{nuxt:"^3.0.0 || ^4.0.0"}},defaults:{baseUrl:"https://your-api.example.com",accentColor:"#EA00A8",redirectUrl:"/",onSignInUrl:"/dashboard",onSignOutUrl:"/",autoRefresh:1,refreshInterval:4,protectedRoutes:[],guestOnlyRoutes:["/auth","/login","/register"],devMode:0,styles:1,supportEmail:"",oauth2RedirectUrl:""},async setup(s,n){const r=t.createResolver("undefined"==typeof document?require("url").pathToFileURL(__filename).href:e&&"SCRIPT"===e.tagName.toUpperCase()&&e.src||new URL("nuxt/module.cjs.js",document.baseURI).href);n.options.runtimeConfig.public=n.options.runtimeConfig.public||{};const o={...s,styles:0!=s.styles};if(n.options.runtimeConfig.public.strandsAuth=o,n.options.appConfig&&(n.options.appConfig.strandsAuth=o),0!=s.styles&&n.options.css.push("@strands.gg/accui/style.css"),s.accentColor&&"#EA00A8"!==s.accentColor){const t=s.accentColor,e=`\n :root {\n --strands-custom-accent: ${t};\n --strands-custom-50: color-mix(in srgb, ${t} 10%, white);\n --strands-custom-100: color-mix(in srgb, ${t} 20%, white);\n --strands-custom-200: color-mix(in srgb, ${t} 30%, white);\n --strands-custom-300: color-mix(in srgb, ${t} 40%, white);\n --strands-custom-400: color-mix(in srgb, ${t} 70%, white);\n --strands-custom-500: ${t};\n --strands-custom-600: color-mix(in srgb, ${t} 85%, black);\n --strands-custom-700: color-mix(in srgb, ${t} 70%, black);\n --strands-custom-800: color-mix(in srgb, ${t} 55%, black);\n --strands-custom-900: color-mix(in srgb, ${t} 40%, black);\n --strands-custom-950: color-mix(in srgb, ${t} 25%, black);\n }\n `;n.options.app.head=n.options.app.head||{},n.options.app.head.style=n.options.app.head.style||[],n.options.app.head.style.unshift({innerHTML:e,key:"strands-accent-override"})}const a="es.js",i=r.resolve(`./runtime/plugin.client.${a}`),u=r.resolve(`./runtime/plugin.server.${a}`),d=r.resolve(`./runtime/middleware/auth.global.${a}`),c=r.resolve(`./runtime/plugins/auth-interceptor.client.${a}`);t.addPlugin({src:i,mode:"client"}),t.addPlugin({src:u,mode:"server"}),t.addPlugin({src:c,mode:"client"}),t.addRouteMiddleware({name:"auth",path:d,global:1}),n.hook("pages:extend",()=>{}),t.addImports([{name:"useStrandsAuth",as:"useStrandsAuth",from:r.resolve(`./runtime/composables/useStrandsAuth.${a}`)},{name:"useAuthUser",as:"useAuthUser",from:r.resolve(`./runtime/composables/useStrandsAuth.${a}`)},{name:"useAuthState",as:"useAuthState",from:r.resolve(`./runtime/composables/useStrandsAuth.${a}`)},{name:"useAuthenticatedFetch",as:"useAuthenticatedFetch",from:r.resolve(`./runtime/composables/useAuthenticatedFetch.${a}`)}]);const l=["StrandsAuth","StrandsSignIn","StrandsSignUp","StrandsCompleteSignUp","StrandsUserProfile","StrandsUserButton","StrandsPasswordReset","StrandsMFASetup","StrandsMfaVerification","StrandsMfaModal","StrandsBackupCodesModal","StrandsConfirmModal","StrandsEmailMfaSetupModal","StrandsHardwareKeySetupModal","StrandsSessionsModal","StrandsSettingsModal","StrandsTotpSetupModal","StrandsConfigProvider","SignedIn","StrandsLogo","StrandsSecuredFooter","StrandsNav","StrandsNavItem","UiAlert","UiApp","UiAvatarEditor","UiButton","UiCard","UiCheckboxGroup","UiColorPicker","UiDateTimePicker","UiDivider","UiHero","UiInput","UiLevelProgress","UiLink","UiLoader","UiModal","UiRadioGroup","UiSlider","UiTable","UiTabs","UiThemeToggle","UiToggle","UiTooltip","VirtualList","SvgIcon","IconGithub","IconGoogle"];for(const e of l)t.addComponent({name:e,export:e,filePath:"@strands.gg/accui"});n.hook("prepare:types",t=>{t.references.push({types:"@strands.gg/auth-nuxt"}),t.declarations&&t.declarations.push(`\n declare global {\n const useStrandsAuth: typeof import('${r.resolve("./runtime/composables/useStrandsAuth.d.ts")}')['useStrandsAuth']\n const useAuthUser: typeof import('${r.resolve("./runtime/composables/useStrandsAuth.d.ts")}')['useAuthUser']\n const useAuthState: typeof import('${r.resolve("./runtime/composables/useStrandsAuth.d.ts")}')['useAuthState']\n const useAuthenticatedFetch: typeof import('${r.resolve("./runtime/composables/useAuthenticatedFetch.d.ts")}')['useAuthenticatedFetch']\n }\n `)})}});module.exports=s;
@@ -19,17 +19,21 @@ const module = defineNuxtModule({
19
19
  name: "@strands.gg/accui/nuxt",
20
20
  configKey: "strandsAuth",
21
21
  compatibility: {
22
- nuxt: "^3.0.0"
22
+ nuxt: "^3.0.0 || ^4.0.0"
23
23
  }
24
24
  },
25
25
  defaults: moduleDefaults,
26
26
  async setup(options, nuxt) {
27
27
  const resolver = createResolver(import.meta.url);
28
28
  nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};
29
- nuxt.options.runtimeConfig.public.strandsAuth = {
29
+ const runtimeConfig = {
30
30
  ...options,
31
31
  styles: options.styles !== false
32
32
  };
33
+ nuxt.options.runtimeConfig.public.strandsAuth = runtimeConfig;
34
+ if (nuxt.options.appConfig) {
35
+ nuxt.options.appConfig.strandsAuth = runtimeConfig;
36
+ }
33
37
  if (options.styles !== false) {
34
38
  nuxt.options.css.push("@strands.gg/accui/style.css");
35
39
  }
@@ -59,21 +63,25 @@ const module = defineNuxtModule({
59
63
  });
60
64
  }
61
65
  const ext = "es.js";
66
+ const clientPluginPath = resolver.resolve(`./runtime/plugin.client.${ext}`);
67
+ const serverPluginPath = resolver.resolve(`./runtime/plugin.server.${ext}`);
68
+ const middlewarePath = resolver.resolve(`./runtime/middleware/auth.global.${ext}`);
69
+ const authInterceptorPath = resolver.resolve(`./runtime/plugins/auth-interceptor.client.${ext}`);
62
70
  addPlugin({
63
- src: resolver.resolve(`./runtime/plugin.client.${ext}`),
71
+ src: clientPluginPath,
64
72
  mode: "client"
65
73
  });
66
74
  addPlugin({
67
- src: resolver.resolve(`./runtime/plugin.server.${ext}`),
75
+ src: serverPluginPath,
68
76
  mode: "server"
69
77
  });
70
78
  addPlugin({
71
- src: resolver.resolve(`./runtime/plugins/auth-interceptor.client.${ext}`),
79
+ src: authInterceptorPath,
72
80
  mode: "client"
73
81
  });
74
82
  addRouteMiddleware({
75
83
  name: "auth",
76
- path: resolver.resolve(`./runtime/middleware/auth.global.${ext}`),
84
+ path: middlewarePath,
77
85
  global: true
78
86
  });
79
87
  nuxt.hook("pages:extend", () => {
@@ -101,6 +109,7 @@ const module = defineNuxtModule({
101
109
  }
102
110
  ]);
103
111
  const components = [
112
+ // Strands Auth Components
104
113
  "StrandsAuth",
105
114
  "StrandsSignIn",
106
115
  "StrandsSignUp",
@@ -109,18 +118,50 @@ const module = defineNuxtModule({
109
118
  "StrandsUserButton",
110
119
  "StrandsPasswordReset",
111
120
  "StrandsMFASetup",
121
+ "StrandsMfaVerification",
122
+ "StrandsMfaModal",
123
+ "StrandsBackupCodesModal",
124
+ "StrandsConfirmModal",
125
+ "StrandsEmailMfaSetupModal",
126
+ "StrandsHardwareKeySetupModal",
127
+ "StrandsSessionsModal",
128
+ "StrandsSettingsModal",
129
+ "StrandsTotpSetupModal",
112
130
  "StrandsConfigProvider",
113
131
  "SignedIn",
114
132
  "StrandsLogo",
115
133
  "StrandsSecuredFooter",
134
+ "StrandsNav",
135
+ "StrandsNavItem",
116
136
  // UI Components
117
- "StrandsUiAlert",
118
- "StrandsUiButton",
119
- "StrandsUiCard",
120
- "StrandsUiInput",
121
- "StrandsUiLink",
122
- "StrandsUiTabs",
123
- "StrandsUiLoader"
137
+ "UiAlert",
138
+ "UiApp",
139
+ "UiAvatarEditor",
140
+ "UiButton",
141
+ "UiCard",
142
+ "UiCheckboxGroup",
143
+ "UiColorPicker",
144
+ "UiDateTimePicker",
145
+ "UiDivider",
146
+ "UiHero",
147
+ "UiInput",
148
+ "UiLevelProgress",
149
+ "UiLink",
150
+ "UiLoader",
151
+ "UiModal",
152
+ "UiRadioGroup",
153
+ "UiSlider",
154
+ "UiTable",
155
+ "UiTabs",
156
+ "UiThemeToggle",
157
+ "UiToggle",
158
+ "UiTooltip",
159
+ // Utility Components
160
+ "VirtualList",
161
+ "SvgIcon",
162
+ // Icons
163
+ "IconGithub",
164
+ "IconGoogle"
124
165
  ];
125
166
  for (const component of components) {
126
167
  addComponent({
@@ -133,6 +174,16 @@ const module = defineNuxtModule({
133
174
  opts.references.push({
134
175
  types: "@strands.gg/auth-nuxt"
135
176
  });
177
+ if (opts.declarations) {
178
+ opts.declarations.push(`
179
+ declare global {
180
+ const useStrandsAuth: typeof import('${resolver.resolve(`./runtime/composables/useStrandsAuth.d.ts`)}')['useStrandsAuth']
181
+ const useAuthUser: typeof import('${resolver.resolve(`./runtime/composables/useStrandsAuth.d.ts`)}')['useAuthUser']
182
+ const useAuthState: typeof import('${resolver.resolve(`./runtime/composables/useStrandsAuth.d.ts`)}')['useAuthState']
183
+ const useAuthenticatedFetch: typeof import('${resolver.resolve(`./runtime/composables/useAuthenticatedFetch.d.ts`)}')['useAuthenticatedFetch']
184
+ }
185
+ `);
186
+ }
136
187
  });
137
188
  }
138
189
  });