@strands.gg/accui 2.1.5 → 2.1.6

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 (173) hide show
  1. package/dist/index.d.ts +1 -6
  2. package/dist/js/auth-components-BJhPF4dS.js +8195 -0
  3. package/dist/js/auth-components-BJhPF4dS.js.br +0 -0
  4. package/dist/js/auth-components-BJhPF4dS.js.gz +0 -0
  5. package/dist/js/auth-components-CXT-W3fG.js +1 -0
  6. package/dist/js/auth-components-CXT-W3fG.js.br +0 -0
  7. package/dist/js/auth-components-CXT-W3fG.js.gz +0 -0
  8. package/dist/js/composables-BqIRpDGP.js +1609 -0
  9. package/dist/js/composables-BqIRpDGP.js.br +0 -0
  10. package/dist/js/composables-BqIRpDGP.js.gz +0 -0
  11. package/dist/js/composables-BqLSXNon.js +1 -0
  12. package/dist/js/composables-BqLSXNon.js.br +0 -0
  13. package/dist/js/composables-BqLSXNon.js.gz +0 -0
  14. package/dist/js/icons-CQ3z-CUv.js +398 -0
  15. package/dist/js/icons-CQ3z-CUv.js.br +0 -0
  16. package/dist/js/icons-CQ3z-CUv.js.gz +0 -0
  17. package/dist/js/icons-MGGFfB13.js +1 -0
  18. package/dist/js/index-87OecKtg.js +1 -0
  19. package/dist/js/index-B113vWue.js +106 -0
  20. package/dist/js/nuxt/module-BA8ZjBpp.js +1 -0
  21. package/dist/{nuxt/module.es.js → js/nuxt/module-YfdoaPCb.js} +2 -0
  22. package/dist/{nuxt/runtime/composables/useAuthenticatedFetch.es.js → js/nuxt/runtime/composables/useAuthenticatedFetch-DToDCO6a.js} +1 -1
  23. package/dist/js/nuxt/runtime/composables/useAuthenticatedFetch-qYkd06Dm.js +1 -0
  24. package/dist/{nuxt/runtime/composables/useStrandsAuth.es.js → js/nuxt/runtime/composables/useStrandsAuth-8b_bomlH.js} +1 -1
  25. package/dist/js/nuxt/runtime/composables/useStrandsAuth-Dn15YEQw.js +1 -0
  26. package/dist/{nuxt/runtime/middleware/auth.global.es.js → js/nuxt/runtime/middleware/auth.global-_2xq-SvK.js} +1 -1
  27. package/dist/js/nuxt/runtime/middleware/auth.global-dZpk-3-I.js +1 -0
  28. package/dist/js/nuxt/runtime/plugin.client-D7S6ulTg.js +1 -0
  29. package/dist/{nuxt/runtime/plugin.client.es.js → js/nuxt/runtime/plugin.client-KK_pCEfA.js} +2 -4
  30. package/dist/js/nuxt/runtime/plugin.server-BpSAN5Gh.js +1 -0
  31. package/dist/{nuxt/runtime/plugin.server.es.js → js/nuxt/runtime/plugin.server-CGdeJOoz.js} +1 -1
  32. package/dist/js/nuxt/runtime/plugins/auth-interceptor.client-BQu0eR16.js +1 -0
  33. package/dist/{nuxt/runtime/plugins/auth-interceptor.client.es.js → js/nuxt/runtime/plugins/auth-interceptor.client-DIa4pC59.js} +1 -1
  34. package/dist/js/nuxt-DqhAWeo-.js +1 -0
  35. package/dist/{nuxt.es.js → js/nuxt-MUpTW0D9.js} +3 -3
  36. package/dist/{nuxt-v4/module.es.js → js/nuxt-v4/module-CCvkwSrU.js} +2 -0
  37. package/dist/js/nuxt-v4/module-CDtxGAn8.js +1 -0
  38. package/dist/{nuxt-v4/runtime/composables/useAuthenticatedFetch.es.js → js/nuxt-v4/runtime/composables/useAuthenticatedFetch-I0BKB43E.js} +1 -1
  39. package/dist/js/nuxt-v4/runtime/composables/useAuthenticatedFetch-fAO6ieYd.js +1 -0
  40. package/dist/{nuxt-v4/runtime/composables/useStrandsAuth.es.js → js/nuxt-v4/runtime/composables/useStrandsAuth-BZe8CTx0.js} +1 -1
  41. package/dist/js/nuxt-v4/runtime/composables/useStrandsAuth-DPGVMZ-e.js +1 -0
  42. package/dist/js/nuxt-v4/runtime/middleware/auth.global-B0pyByUu.js +1 -0
  43. package/dist/{nuxt-v4/runtime/middleware/auth.global.es.js → js/nuxt-v4/runtime/middleware/auth.global-C_saJaMU.js} +1 -1
  44. package/dist/{nuxt-v4/runtime/plugin.client.es.js → js/nuxt-v4/runtime/plugin.client-CxLmYQfu.js} +2 -4
  45. package/dist/js/nuxt-v4/runtime/plugin.client-DGO53i-e.js +1 -0
  46. package/dist/{nuxt-v4/runtime/plugin.server.es.js → js/nuxt-v4/runtime/plugin.server-BM6HYyiZ.js} +1 -1
  47. package/dist/js/nuxt-v4/runtime/plugin.server-D_dUMHYo.js +1 -0
  48. package/dist/js/nuxt-v4/runtime/plugins/auth-interceptor.client-CUNOTFBp.js +1 -0
  49. package/dist/{nuxt-v4/runtime/plugins/auth-interceptor.client.es.js → js/nuxt-v4/runtime/plugins/auth-interceptor.client-Qht8QSLW.js} +1 -1
  50. package/dist/{nuxt-v4.es.js → js/nuxt-v4-C5JN4uyM.js} +3 -3
  51. package/dist/js/nuxt-v4-DuwGUuhX.js +1 -0
  52. package/dist/js/ui-components-BC1UK39i.js +5204 -0
  53. package/dist/js/ui-components-BC1UK39i.js.br +0 -0
  54. package/dist/js/ui-components-BC1UK39i.js.gz +0 -0
  55. package/dist/js/ui-components-CocLXkUI.js +1 -0
  56. package/dist/js/ui-components-CocLXkUI.js.br +0 -0
  57. package/dist/js/ui-components-CocLXkUI.js.gz +0 -0
  58. package/dist/js/utils-B9zcSW52.js +1 -0
  59. package/dist/js/utils-B9zcSW52.js.br +0 -0
  60. package/dist/js/utils-B9zcSW52.js.gz +0 -0
  61. package/dist/js/utils-BZHeJkZf.js +1080 -0
  62. package/dist/js/utils-BZHeJkZf.js.br +0 -0
  63. package/dist/js/utils-BZHeJkZf.js.gz +0 -0
  64. package/dist/nuxt/module.d.ts +1 -5
  65. package/dist/nuxt/runtime/composables/useAuthenticatedFetch.d.ts +1 -20
  66. package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts +1 -142
  67. package/dist/nuxt/runtime/middleware/auth.global.d.ts +1 -3
  68. package/dist/nuxt/runtime/plugin.client.d.ts +1 -3
  69. package/dist/nuxt/runtime/plugin.server.d.ts +1 -3
  70. package/dist/nuxt/runtime/plugins/auth-interceptor.client.d.ts +1 -3
  71. package/dist/nuxt-v4/module.d.ts +1 -5
  72. package/dist/nuxt-v4/runtime/composables/useAuthenticatedFetch.d.ts +1 -20
  73. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.d.ts +1 -27
  74. package/dist/nuxt-v4/runtime/middleware/auth.global.d.ts +1 -3
  75. package/dist/nuxt-v4/runtime/plugin.client.d.ts +1 -3
  76. package/dist/nuxt-v4/runtime/plugin.server.d.ts +1 -3
  77. package/dist/nuxt-v4/runtime/plugins/auth-interceptor.client.d.ts +1 -3
  78. package/dist/nuxt-v4.d.ts +1 -4
  79. package/dist/nuxt.d.ts +1 -4
  80. package/dist/robots.txt +4 -0
  81. package/dist/sitemap.xml +9 -0
  82. package/dist/styles/accui-DF7zRGFD.css +1 -0
  83. package/dist/styles/accui-DF7zRGFD.css.br +0 -0
  84. package/dist/styles/accui-DF7zRGFD.css.gz +0 -0
  85. package/package.json +5 -1
  86. package/dist/accui.css +0 -1
  87. package/dist/nuxt/module.cjs.js +0 -1
  88. package/dist/nuxt/runtime/composables/useAuthenticatedFetch.cjs.js +0 -1
  89. package/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js +0 -1
  90. package/dist/nuxt/runtime/middleware/auth.d.ts +0 -7
  91. package/dist/nuxt/runtime/middleware/auth.global.cjs.js +0 -1
  92. package/dist/nuxt/runtime/middleware/guest.d.ts +0 -7
  93. package/dist/nuxt/runtime/plugin.client.cjs.js +0 -1
  94. package/dist/nuxt/runtime/plugin.server.cjs.js +0 -1
  95. package/dist/nuxt/runtime/plugins/auth-interceptor.client.cjs.js +0 -1
  96. package/dist/nuxt/types.d.ts +0 -45
  97. package/dist/nuxt-v4/module.cjs.js +0 -1
  98. package/dist/nuxt-v4/runtime/composables/useAuthenticatedFetch.cjs.js +0 -1
  99. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js +0 -1
  100. package/dist/nuxt-v4/runtime/middleware/auth.global.cjs.js +0 -1
  101. package/dist/nuxt-v4/runtime/plugin.client.cjs.js +0 -1
  102. package/dist/nuxt-v4/runtime/plugin.server.cjs.js +0 -1
  103. package/dist/nuxt-v4/runtime/plugins/auth-interceptor.client.cjs.js +0 -1
  104. package/dist/nuxt-v4/types.d.ts +0 -63
  105. package/dist/nuxt-v4.cjs.js +0 -1
  106. package/dist/nuxt.cjs.js +0 -1
  107. package/dist/shared/defaults.d.ts +0 -2
  108. package/dist/strands-auth-ui.cjs.js +0 -1
  109. package/dist/strands-auth-ui.es.js +0 -10561
  110. package/dist/types/index.d.ts +0 -236
  111. package/dist/useStrandsAuth-CTlaiFqK.cjs +0 -1
  112. package/dist/useStrandsAuth-Cev-PTun.js +0 -899
  113. package/dist/useStrandsConfig-Cxb360Os.js +0 -179
  114. package/dist/useStrandsConfig-Z9_36OcV.cjs +0 -1
  115. package/dist/utils/index.d.ts +0 -1
  116. package/dist/utils/slots.d.ts +0 -1
  117. package/dist/utils/validation.d.ts +0 -12
  118. package/dist/vue/components/SignedIn.vue.d.ts +0 -54
  119. package/dist/vue/components/SignedOut.vue.d.ts +0 -54
  120. package/dist/vue/components/StrandsAuth.vue.d.ts +0 -25
  121. package/dist/vue/components/StrandsBackupCodesModal.vue.d.ts +0 -12
  122. package/dist/vue/components/StrandsCompleteSignUp.vue.d.ts +0 -21
  123. package/dist/vue/components/StrandsConfigProvider.vue.d.ts +0 -22
  124. package/dist/vue/components/StrandsConfirmModal.vue.d.ts +0 -22
  125. package/dist/vue/components/StrandsEmailMfaSetupModal.vue.d.ts +0 -12
  126. package/dist/vue/components/StrandsHardwareKeySetupModal.vue.d.ts +0 -15
  127. package/dist/vue/components/StrandsLogo.vue.d.ts +0 -8
  128. package/dist/vue/components/StrandsMFASetup.vue.d.ts +0 -16
  129. package/dist/vue/components/StrandsMfaModal.vue.d.ts +0 -12
  130. package/dist/vue/components/StrandsMfaVerification.vue.d.ts +0 -17
  131. package/dist/vue/components/StrandsPasswordReset.vue.d.ts +0 -15
  132. package/dist/vue/components/StrandsSecuredFooter.vue.d.ts +0 -22
  133. package/dist/vue/components/StrandsSessionsModal.vue.d.ts +0 -14
  134. package/dist/vue/components/StrandsSettingsModal.vue.d.ts +0 -18
  135. package/dist/vue/components/StrandsSignIn.vue.d.ts +0 -21
  136. package/dist/vue/components/StrandsSignUp.vue.d.ts +0 -19
  137. package/dist/vue/components/StrandsTotpSetupModal.vue.d.ts +0 -12
  138. package/dist/vue/components/StrandsUserButton.vue.d.ts +0 -30
  139. package/dist/vue/components/StrandsUserProfile.vue.d.ts +0 -26
  140. package/dist/vue/components/SvgIcon.vue.d.ts +0 -17
  141. package/dist/vue/components/VirtualList.vue.d.ts +0 -37
  142. package/dist/vue/components/icons/IconGithub.vue.d.ts +0 -3
  143. package/dist/vue/components/icons/IconGoogle.vue.d.ts +0 -3
  144. package/dist/vue/components/icons/index.d.ts +0 -2
  145. package/dist/vue/components/index.d.ts +0 -26
  146. package/dist/vue/composables/useAuthenticatedFetch.d.ts +0 -20
  147. package/dist/vue/composables/useOAuthProviders.d.ts +0 -74
  148. package/dist/vue/composables/useStrandsAuth.d.ts +0 -130
  149. package/dist/vue/composables/useStrandsConfig.d.ts +0 -11
  150. package/dist/vue/composables/useStrandsMfa.d.ts +0 -38
  151. package/dist/vue/index.d.ts +0 -12
  152. package/dist/vue/plugins/StrandsUIPlugin.d.ts +0 -19
  153. package/dist/vue/ui/UiAlert.vue.d.ts +0 -31
  154. package/dist/vue/ui/UiAvatarEditor.vue.d.ts +0 -25
  155. package/dist/vue/ui/UiButton.vue.d.ts +0 -54
  156. package/dist/vue/ui/UiCard.vue.d.ts +0 -29
  157. package/dist/vue/ui/UiInput.vue.d.ts +0 -48
  158. package/dist/vue/ui/UiLevelProgress.vue.d.ts +0 -19
  159. package/dist/vue/ui/UiLink.vue.d.ts +0 -42
  160. package/dist/vue/ui/UiLoader.vue.d.ts +0 -15
  161. package/dist/vue/ui/UiModal.vue.d.ts +0 -33
  162. package/dist/vue/ui/UiTabs.vue.d.ts +0 -17
  163. package/dist/vue/ui/UiToggle.vue.d.ts +0 -15
  164. package/dist/vue/ui/index.d.ts +0 -29
  165. package/dist/vue/utils/contrast.d.ts +0 -79
  166. package/dist/vue/utils/debounce.d.ts +0 -12
  167. package/dist/vue/utils/fontPreloader.d.ts +0 -19
  168. package/dist/vue/utils/iconProps.d.ts +0 -9
  169. package/dist/vue/utils/lazyComponents.d.ts +0 -2
  170. package/dist/vue/utils/levels.d.ts +0 -27
  171. package/dist/vue/utils/performanceInit.d.ts +0 -40
  172. package/dist/vue/utils/requestCache.d.ts +0 -49
  173. package/dist/vue/utils/sounds.d.ts +0 -56
@@ -1 +0,0 @@
1
- "use strict";const e=require("@nuxt/kit");var t="undefined"!=typeof document?document.currentScript:null;const s=e.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,supportEmail:"",oauth2RedirectUrl:""},async setup(s,n){const r=e.createResolver("undefined"==typeof document?require("url").pathToFileURL(__filename).href:t&&"SCRIPT"===t.tagName.toUpperCase()&&t.src||new URL("nuxt/module.cjs.js",document.baseURI).href);n.options.runtimeConfig.public=n.options.runtimeConfig.public||{},n.options.runtimeConfig.public.strandsAuth={...s,styles:!1!==s.styles},!1!==s.styles&&n.options.css.push("@strands.gg/accui/style.css");const a="es.js";e.addPlugin({src:r.resolve(`./runtime/plugin.client.${a}`),mode:"client"}),e.addPlugin({src:r.resolve(`./runtime/plugin.server.${a}`),mode:"server"}),e.addPlugin({src:r.resolve(`./runtime/plugins/auth-interceptor.client.${a}`),mode:"client"}),e.addRouteMiddleware({name:"auth",path:r.resolve(`./runtime/middleware/auth.global.${a}`),global:!0}),n.hook("pages:extend",e=>{}),e.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","SignedOut","StrandsLogo","StrandsSecuredFooter","StrandsUiAlert","StrandsUiButton","StrandsUiCard","StrandsUiInput","StrandsUiLink","StrandsUiTabs","StrandsUiLoader"];for(const t of o)e.addComponent({name:t,export:t,filePath:"@strands.gg/accui"});n.hook("prepare:types",e=>{e.references.push({types:"@strands.gg/auth-nuxt"})})}});module.exports=s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("nuxt/app"),t=require("./useStrandsAuth.cjs.js");function s(){const s=e.useRuntimeConfig().public.strandsAuth,{currentSession:n,refreshToken:o,getAuthHeaders:r}=t.useStrandsAuth(),a=async(e,t={})=>{const{autoRefresh:a=!0,requireAuth:c=!0,baseURL:h,...u}=t;if(c&&!n.value?.accessToken)throw new Error("User is not authenticated");let i=e;const p=h||s.baseUrl;p&&"string"==typeof e&&!e.startsWith("http")&&(i=new URL(e,p).toString());const d=new Headers(u.headers);if(n.value?.accessToken)try{const e=r();Object.entries(e).forEach(([e,t])=>{d.set(e,t)})}catch(l){if(c)throw l}const y={...u,headers:d};let f=await fetch(i,y);if(401===f.status&&a&&n.value?.refreshToken)try{if(await o()&&n.value?.accessToken){const e=r();Object.entries(e).forEach(([e,t])=>{d.set(e,t)}),f=await fetch(i,{...y,headers:d})}}catch(T){}return f};return{authenticatedFetch:a,get:(e,t)=>a(e,{...t,method:"GET"}),post:(e,t,s)=>{const n=new Headers(s?.headers);return t&&"object"==typeof t&&!n.has("Content-Type")&&n.set("Content-Type","application/json"),a(e,{...s,method:"POST",headers:n,body:"object"==typeof t?JSON.stringify(t):t})},put:(e,t,s)=>{const n=new Headers(s?.headers);return t&&"object"==typeof t&&!n.has("Content-Type")&&n.set("Content-Type","application/json"),a(e,{...s,method:"PUT",headers:n,body:"object"==typeof t?JSON.stringify(t):t})},delete:(e,t)=>a(e,{...t,method:"DELETE"}),patch:(e,t,s)=>{const n=new Headers(s?.headers);return t&&"object"==typeof t&&!n.has("Content-Type")&&n.set("Content-Type","application/json"),a(e,{...s,method:"PATCH",headers:n,body:"object"==typeof t?JSON.stringify(t):t})}}}const n={get:async(e,t)=>{const{get:n}=s();return n(e,t)},post:async(e,t,n)=>{const{post:o}=s();return o(e,t,n)},put:async(e,t,n)=>{const{put:o}=s();return o(e,t,n)},delete:async(e,t)=>{const{delete:n}=s();return n(e,t)},patch:async(e,t,n)=>{const{patch:o}=s();return o(e,t,n)}};exports.$authFetch=n,exports.useAuthenticatedFetch=s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("nuxt/app"),n=require("../../../useStrandsAuth-CTlaiFqK.cjs"),i=()=>{const i=t.useRuntimeConfig().public.strandsAuth,s=n.useStrandsAuth();return{...s,initialize:async()=>{await s.initialize()},signIn:async n=>{const e=await s.signIn(n);return e&&i.onSignInUrl&&await t.navigateTo(i.onSignInUrl),e},signUp:async t=>await s.signUp({email:t.email,password:"",firstName:"",lastName:""}),signOut:async()=>{await s.signOut(),i.onSignOutUrl&&await t.navigateTo(i.onSignOutUrl)}}};exports.useAuthState=()=>{const{isAuthenticated:t,isLoading:n}=i();return{isAuthenticated:t,isLoading:n}},exports.useAuthUser=()=>{const{user:t}=i();return{user:t}},exports.useStrandsAuth=i;
@@ -1,7 +0,0 @@
1
- import { RouteMiddleware } from 'nuxt/app';
2
- /**
3
- * Middleware to protect routes - requires authentication
4
- * Usage: Add `middleware: 'auth'` to your page
5
- */
6
- declare const _default: RouteMiddleware;
7
- export default _default;
@@ -1 +0,0 @@
1
- "use strict";const e=require("nuxt/app"),t=e.defineNuxtRouteMiddleware(t=>{const s=e.useRuntimeConfig().public.strandsAuth;if(!process.server)return new Promise(i=>{Promise.resolve().then(()=>require("../composables/useStrandsAuth.cjs.js")).then(({useStrandsAuth:r})=>{const{isAuthenticated:n,isLoading:o}=r(),u=()=>{if(o.value)return void setTimeout(u,50);const r=t.path,a=s.protectedRoutes?.some(e=>e.endsWith("*")?r.startsWith(e.slice(0,-1)):r===e||r.startsWith(e+"/")),d=s.guestOnlyRoutes?.some(e=>e.endsWith("*")?r.startsWith(e.slice(0,-1)):r===e||r.startsWith(e+"/"));return a&&!n.value?e.navigateTo("/auth?redirect="+encodeURIComponent(r)):d&&n.value?e.navigateTo(s.onSignInUrl||"/dashboard"):void i()};u()})})});module.exports=t;
@@ -1,7 +0,0 @@
1
- import { RouteMiddleware } from 'nuxt/app';
2
- /**
3
- * Middleware for guest-only routes - redirects if authenticated
4
- * Usage: Add `middleware: 'guest'` to your page
5
- */
6
- declare const _default: RouteMiddleware;
7
- export default _default;
@@ -1 +0,0 @@
1
- "use strict";const e=require("nuxt/app"),t=require("../../useStrandsConfig-Z9_36OcV.cjs");require("vue");/* empty css */const n=e.defineNuxtPlugin({name:"strands-auth-client",async setup(){const n=e.useRuntimeConfig().public.strandsAuth,s={...t.STRANDS_AUTH_DEFAULTS,...n};t.setStrandsConfig(s),"undefined"!=typeof window&&(window.__STRANDS_CONFIG__=s),s?.accentColor&&"undefined"!=typeof window&&document.documentElement.style.setProperty("--strands-accent",s.accentColor);const{useStrandsAuth:i}=await Promise.resolve().then(()=>require("./composables/useStrandsAuth.cjs.js")),{initialize:u}=i();await u()}});module.exports=n;
@@ -1 +0,0 @@
1
- "use strict";const e=require("nuxt/app"),s=require("../../useStrandsConfig-Z9_36OcV.cjs"),t=e.defineNuxtPlugin({name:"strands-auth-server",setup(){const t=e.useRuntimeConfig().public.strandsAuth,n={...s.STRANDS_AUTH_DEFAULTS,...t};s.setStrandsConfig(n)}});module.exports=t;
@@ -1 +0,0 @@
1
- "use strict";const e=require("nuxt/app").defineNuxtPlugin({name:"strands-auth-interceptor",setup(){if(process.server)return;const e=globalThis.fetch;globalThis.fetch=async(t,s)=>{try{const{useStrandsAuth:o}=await Promise.resolve().then(()=>require("../composables/useStrandsAuth.cjs.js")),{currentSession:c,getAuthHeaders:n}=o();let i;i="string"==typeof t?t:t instanceof URL?t.toString():t.url;const a=function(e){if(!e.startsWith("http"))return!1;const t=["googleapis.com","github.com/api","api.github.com","discord.com/api","graph.microsoft.com","api.stripe.com","api.twilio.com"].some(t=>e.includes(t));if(t)return!1;const s=["/api/","/v1/","/v2/","/graphql","/trpc"].some(t=>e.includes(t)),r=[":3001",":8000",":8080",":5000",":4000"].some(t=>e.includes(t));return s||r}(i);if(a&&c.value?.accessToken)try{const r=n(),o=new Headers(s?.headers);Object.entries(r).forEach(([e,t])=>{o.set(e,t)});const c={...s,headers:o};return e(t,c)}catch(r){}return e(t,s)}catch(r){return e(t,s)}}}});module.exports=e;
@@ -1,45 +0,0 @@
1
- export interface StrandsUser {
2
- id: string;
3
- email: string;
4
- firstName: string;
5
- lastName: string;
6
- avatar?: string;
7
- mfaEnabled: boolean;
8
- emailVerified: boolean;
9
- createdAt: string;
10
- updatedAt: string;
11
- }
12
- export interface StrandsSession {
13
- accessToken: string;
14
- refreshToken: string;
15
- expiresAt: Date;
16
- user: StrandsUser;
17
- }
18
- declare module '@nuxt/schema' {
19
- interface PublicRuntimeConfig {
20
- strandsAuth?: {
21
- baseUrl?: string;
22
- applicationId?: string;
23
- publicKey?: string;
24
- accentColor?: string;
25
- redirectUrl?: string;
26
- onSignInUrl?: string;
27
- onSignOutUrl?: string;
28
- /** @deprecated OAuth providers are now dynamically fetched from API */
29
- oauthProviders?: string[];
30
- autoRefresh?: boolean;
31
- refreshInterval?: number;
32
- protectedRoutes?: string[];
33
- guestOnlyRoutes?: string[];
34
- devMode?: boolean;
35
- };
36
- }
37
- }
38
- declare module 'nuxt/app' {
39
- interface NuxtApp {
40
- $strandsAuth: {
41
- accentColor: string;
42
- };
43
- }
44
- }
45
- export {};
@@ -1 +0,0 @@
1
- "use strict";const e=require("@nuxt/kit");var t="undefined"!=typeof document?document.currentScript:null;const s=e.defineNuxtModule({meta:{name:"@strands.gg/accui/nuxt-v4",configKey:"strandsAuth",compatibility:{nuxt:"^4.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,supportEmail:"",oauth2RedirectUrl:""},async setup(s,n){const r=e.createResolver("undefined"==typeof document?require("url").pathToFileURL(__filename).href:t&&"SCRIPT"===t.tagName.toUpperCase()&&t.src||new URL("nuxt-v4/module.cjs.js",document.baseURI).href);n.options.runtimeConfig.public=n.options.runtimeConfig.public||{};const o={...s,styles:!1!==s.styles};n.options.runtimeConfig.public.strandsAuth=o,n.options.appConfig.strandsAuth=o,!1!==s.styles&&n.options.css.push("@strands.gg/accui/style.css");const u="es.js",a=r.resolve(`./runtime/plugin.client.${u}`),d=r.resolve(`./runtime/plugin.server.${u}`),i=r.resolve(`./runtime/middleware/auth.global.${u}`);e.addPlugin({src:a,mode:"client"}),e.addPlugin({src:d,mode:"server"}),e.addPlugin({src:r.resolve(`./runtime/plugins/auth-interceptor.client.${u}`),mode:"client"}),e.addRouteMiddleware({name:"auth",path:i,global:!0}),e.addImports([{name:"useStrandsAuth",as:"useStrandsAuth",from:r.resolve(`./runtime/composables/useStrandsAuth.${u}`)},{name:"useAuthUser",as:"useAuthUser",from:r.resolve(`./runtime/composables/useStrandsAuth.${u}`)},{name:"useAuthState",as:"useAuthState",from:r.resolve(`./runtime/composables/useStrandsAuth.${u}`)},{name:"useAuthenticatedFetch",as:"useAuthenticatedFetch",from:r.resolve(`./runtime/composables/useAuthenticatedFetch.${u}`)}]);const l=["StrandsAuth","StrandsSignIn","StrandsSignUp","StrandsCompleteSignUp","StrandsUserProfile","StrandsUserButton","StrandsPasswordReset","StrandsMFASetup","StrandsConfigProvider","SignedIn","SignedOut","StrandsLogo","StrandsSecuredFooter","StrandsUiAlert","StrandsUiButton","StrandsUiCard","StrandsUiInput","StrandsUiLink","StrandsUiTabs","StrandsUiLoader"];for(const t of l)e.addComponent({name:t,export:t,filePath:"@strands.gg/accui"});n.hook("prepare:types",e=>{e.references.push({types:"@strands.gg/auth-nuxt-v4"}),e.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 }\n `)})}});module.exports=s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("nuxt/app"),t=require("./useStrandsAuth.cjs.js");function s(){const s=e.useRuntimeConfig().public.strandsAuth,{currentSession:n,refreshToken:o,getAuthHeaders:r}=t.useStrandsAuth(),a=async(e,t={})=>{const{autoRefresh:a=!0,requireAuth:c=!0,baseURL:h,...u}=t;if(c&&!n.value?.accessToken)throw new Error("User is not authenticated");let i=e;const p=h||s.baseUrl;p&&"string"==typeof e&&!e.startsWith("http")&&(i=new URL(e,p).toString());const d=new Headers(u.headers);if(n.value?.accessToken)try{const e=r();Object.entries(e).forEach(([e,t])=>{d.set(e,t)})}catch(l){if(c)throw l}const y={...u,headers:d};let f=await fetch(i,y);if(401===f.status&&a&&n.value?.refreshToken)try{if(await o()&&n.value?.accessToken){const e=r();Object.entries(e).forEach(([e,t])=>{d.set(e,t)}),f=await fetch(i,{...y,headers:d})}}catch(T){}return f};return{authenticatedFetch:a,get:(e,t)=>a(e,{...t,method:"GET"}),post:(e,t,s)=>{const n=new Headers(s?.headers);return t&&"object"==typeof t&&!n.has("Content-Type")&&n.set("Content-Type","application/json"),a(e,{...s,method:"POST",headers:n,body:"object"==typeof t?JSON.stringify(t):t})},put:(e,t,s)=>{const n=new Headers(s?.headers);return t&&"object"==typeof t&&!n.has("Content-Type")&&n.set("Content-Type","application/json"),a(e,{...s,method:"PUT",headers:n,body:"object"==typeof t?JSON.stringify(t):t})},delete:(e,t)=>a(e,{...t,method:"DELETE"}),patch:(e,t,s)=>{const n=new Headers(s?.headers);return t&&"object"==typeof t&&!n.has("Content-Type")&&n.set("Content-Type","application/json"),a(e,{...s,method:"PATCH",headers:n,body:"object"==typeof t?JSON.stringify(t):t})}}}const n={get:async(e,t)=>{const{get:n}=s();return n(e,t)},post:async(e,t,n)=>{const{post:o}=s();return o(e,t,n)},put:async(e,t,n)=>{const{put:o}=s();return o(e,t,n)},delete:async(e,t)=>{const{delete:n}=s();return n(e,t)},patch:async(e,t,n)=>{const{patch:o}=s();return o(e,t,n)}};exports.$authFetch=n,exports.useAuthenticatedFetch=s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("nuxt/app"),e=require("../../../useStrandsAuth-CTlaiFqK.cjs"),n=()=>{const n=t.useRuntimeConfig().public.strandsAuth,s=e.useStrandsAuth();return{user:s.user,currentUser:s.currentUser,currentSession:s.currentSession,isAuthenticated:s.isAuthenticated,isLoading:s.isLoading,loading:s.loading,signIn:async e=>{const i=await s.signIn(e);return i&&n.onSignInUrl&&await t.navigateTo(n.onSignInUrl),i},signUp:async t=>await s.signUp({email:t.email,password:"",firstName:"",lastName:""}),signOut:async()=>{await s.signOut(),n.onSignOutUrl&&await t.navigateTo(n.onSignOutUrl)},refreshToken:s.refreshToken,updateProfile:s.updateProfile,setAuthData:s.setAuthData,getAuthHeaders:s.getAuthHeaders,initialize:async()=>{try{await s.initialize()}catch(t){}}}};exports.useAuthState=()=>{const{isAuthenticated:t,isLoading:e}=n();return{isAuthenticated:t,isLoading:e}},exports.useAuthUser=()=>{const{user:t}=n();return{user:t}},exports.useStrandsAuth=n;
@@ -1 +0,0 @@
1
- "use strict";const e=require("nuxt/app"),t=e.defineNuxtRouteMiddleware(t=>{const s=e.useRuntimeConfig().public.strandsAuth;if(!process.server)return new Promise(i=>{Promise.resolve().then(()=>require("../composables/useStrandsAuth.cjs.js")).then(({useStrandsAuth:r})=>{const{isAuthenticated:n,isLoading:o}=r(),u=()=>{if(o.value)return void setTimeout(u,50);const r=t.path,a=s.protectedRoutes?.some(e=>e.endsWith("*")?r.startsWith(e.slice(0,-1)):r===e||r.startsWith(e+"/")),d=s.guestOnlyRoutes?.some(e=>e.endsWith("*")?r.startsWith(e.slice(0,-1)):r===e||r.startsWith(e+"/"));return a&&!n.value?e.navigateTo("/auth?redirect="+encodeURIComponent(r)):d&&n.value?e.navigateTo(s.onSignInUrl||"/dashboard"):void i()};u()})})});module.exports=t;
@@ -1 +0,0 @@
1
- "use strict";const e=require("nuxt/app"),t=require("../../useStrandsConfig-Z9_36OcV.cjs");require("vue");/* empty css */const n=e.defineNuxtPlugin({name:"strands-auth-client-v4",async setup(){const n=e.useRuntimeConfig().public.strandsAuth,s={...t.STRANDS_AUTH_DEFAULTS,...n};t.setStrandsConfig(s),"undefined"!=typeof window&&(window.__STRANDS_CONFIG__=s),s?.accentColor&&"undefined"!=typeof window&&document.documentElement.style.setProperty("--strands-accent",s.accentColor);const{useStrandsAuth:i}=await Promise.resolve().then(()=>require("./composables/useStrandsAuth.cjs.js")),{initialize:u}=i();await u()}});module.exports=n;
@@ -1 +0,0 @@
1
- "use strict";const t=require("nuxt/app"),s=require("../../useStrandsConfig-Z9_36OcV.cjs"),e=t.defineNuxtPlugin({name:"strands-auth-server-v4",setup(){try{const e=t.useRuntimeConfig(),n=e.public?.strandsAuth,r={...s.STRANDS_AUTH_DEFAULTS,...n||{}};s.setStrandsConfig(r)}catch(e){s.setStrandsConfig(s.STRANDS_AUTH_DEFAULTS)}}});module.exports=e;
@@ -1 +0,0 @@
1
- "use strict";const e=require("nuxt/app").defineNuxtPlugin({name:"strands-auth-interceptor",setup(){if(process.server)return;const e=globalThis.fetch;globalThis.fetch=async(t,s)=>{try{const{useStrandsAuth:o}=await Promise.resolve().then(()=>require("../composables/useStrandsAuth.cjs.js")),{currentSession:c,getAuthHeaders:n}=o();let i;i="string"==typeof t?t:t instanceof URL?t.toString():t.url;const a=function(e){if(!e.startsWith("http"))return!1;const t=["googleapis.com","github.com/api","api.github.com","discord.com/api","graph.microsoft.com","api.stripe.com","api.twilio.com"].some(t=>e.includes(t));if(t)return!1;const s=["/api/","/v1/","/v2/","/graphql","/trpc"].some(t=>e.includes(t)),r=[":3001",":8000",":8080",":5000",":4000"].some(t=>e.includes(t));return s||r}(i);if(a&&c.value?.accessToken)try{const r=n(),o=new Headers(s?.headers);Object.entries(r).forEach(([e,t])=>{o.set(e,t)});const c={...s,headers:o};return e(t,c)}catch(r){}return e(t,s)}catch(r){return e(t,s)}}}});module.exports=e;
@@ -1,63 +0,0 @@
1
- export interface StrandsUser {
2
- id: string;
3
- email: string;
4
- firstName: string;
5
- lastName: string;
6
- avatar?: string;
7
- mfaEnabled: boolean;
8
- emailVerified: boolean;
9
- createdAt: string | Date;
10
- updatedAt: string | Date;
11
- }
12
- export interface StrandsSession {
13
- accessToken: string;
14
- refreshToken: string;
15
- expiresAt: Date;
16
- user: StrandsUser;
17
- }
18
- interface StrandsAuthRuntimeConfig {
19
- baseUrl?: string;
20
- applicationId?: string;
21
- publicKey?: string;
22
- accentColor?: string;
23
- redirectUrl?: string;
24
- onSignInUrl?: string;
25
- onSignOutUrl?: string;
26
- /** @deprecated OAuth providers are now dynamically fetched from API */
27
- oauthProviders?: string[];
28
- autoRefresh?: boolean;
29
- refreshInterval?: number;
30
- protectedRoutes?: string[];
31
- guestOnlyRoutes?: string[];
32
- devMode?: boolean;
33
- }
34
- declare module '@nuxt/schema' {
35
- interface PublicRuntimeConfig {
36
- strandsAuth?: StrandsAuthRuntimeConfig;
37
- }
38
- interface NuxtConfig {
39
- strandsAuth?: import('../types').StrandsAuthConfig;
40
- }
41
- interface NuxtOptions {
42
- strandsAuth?: import('../types').StrandsAuthConfig;
43
- }
44
- }
45
- declare module 'nuxt/schema' {
46
- interface PublicRuntimeConfig {
47
- strandsAuth?: StrandsAuthRuntimeConfig;
48
- }
49
- interface NuxtConfig {
50
- strandsAuth?: import('../types').StrandsAuthConfig;
51
- }
52
- interface NuxtOptions {
53
- strandsAuth?: import('../types').StrandsAuthConfig;
54
- }
55
- }
56
- declare module 'nuxt/app' {
57
- interface NuxtApp {
58
- $strandsAuth: {
59
- accentColor: string;
60
- };
61
- }
62
- }
63
- export {};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./nuxt-v4/module.cjs.js"),t=require("./nuxt-v4/runtime/composables/useStrandsAuth.cjs.js"),s=require("./nuxt-v4/runtime/composables/useAuthenticatedFetch.cjs.js");exports.default=e,exports.useAuthState=t.useAuthState,exports.useAuthUser=t.useAuthUser,exports.useStrandsAuth=t.useStrandsAuth,exports.$authFetch=s.$authFetch,exports.useAuthenticatedFetch=s.useAuthenticatedFetch;
package/dist/nuxt.cjs.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./nuxt/module.cjs.js"),t=require("./nuxt/runtime/composables/useStrandsAuth.cjs.js"),s=require("./nuxt/runtime/composables/useAuthenticatedFetch.cjs.js");exports.default=e,exports.useAuthState=t.useAuthState,exports.useAuthUser=t.useAuthUser,exports.useStrandsAuth=t.useStrandsAuth,exports.$authFetch=s.$authFetch,exports.useAuthenticatedFetch=s.useAuthenticatedFetch;
@@ -1,2 +0,0 @@
1
- import { StrandsAuthConfig } from '../types';
2
- export declare const STRANDS_AUTH_DEFAULTS: Required<Omit<StrandsAuthConfig, 'clientId' | 'supportEmail' | 'oauth2RedirectUrl'>>;