@strands.gg/accui 0.2.16 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accui.css +3 -3
- package/dist/nuxt/module.cjs.js +15 -13
- package/dist/nuxt/module.cjs.js.map +1 -1
- package/dist/nuxt/module.d.ts.map +1 -1
- package/dist/nuxt/module.es.js +15 -13
- package/dist/nuxt/module.es.js.map +1 -1
- package/dist/nuxt-v4/module.cjs.js +15 -13
- package/dist/nuxt-v4/module.cjs.js.map +1 -1
- package/dist/nuxt-v4/module.d.ts.map +1 -1
- package/dist/nuxt-v4/module.es.js +15 -13
- package/dist/nuxt-v4/module.es.js.map +1 -1
- package/dist/strands-auth-ui.cjs.js +168 -144
- package/dist/strands-auth-ui.cjs.js.map +1 -1
- package/dist/strands-auth-ui.es.js +168 -144
- package/dist/strands-auth-ui.es.js.map +1 -1
- package/dist/utils/slots.d.ts +2 -0
- package/dist/utils/slots.d.ts.map +1 -0
- package/dist/vue/components/StrandsAuth.vue.d.ts.map +1 -1
- package/dist/vue/components/StrandsCompleteSignUp.vue.d.ts.map +1 -1
- package/dist/vue/components/StrandsPasswordReset.vue.d.ts.map +1 -1
- package/dist/vue/components/StrandsSecuredFooter.vue.d.ts.map +1 -1
- package/dist/vue/components/StrandsSignIn.vue.d.ts.map +1 -1
- package/dist/vue/components/StrandsSignUp.vue.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/accui.css
CHANGED
|
@@ -526,9 +526,6 @@
|
|
|
526
526
|
.w-48 {
|
|
527
527
|
width: calc(var(--spacing) * 48);
|
|
528
528
|
}
|
|
529
|
-
.w-auto {
|
|
530
|
-
width: auto;
|
|
531
|
-
}
|
|
532
529
|
.w-full {
|
|
533
530
|
width: 100%;
|
|
534
531
|
}
|
|
@@ -920,6 +917,9 @@
|
|
|
920
917
|
.pr-10 {
|
|
921
918
|
padding-right: calc(var(--spacing) * 10);
|
|
922
919
|
}
|
|
920
|
+
.pb-2 {
|
|
921
|
+
padding-bottom: calc(var(--spacing) * 2);
|
|
922
|
+
}
|
|
923
923
|
.pb-4 {
|
|
924
924
|
padding-bottom: calc(var(--spacing) * 4);
|
|
925
925
|
}
|
package/dist/nuxt/module.cjs.js
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const kit = require("@nuxt/kit");
|
|
3
3
|
var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
|
|
4
|
+
const moduleDefaults = {
|
|
5
|
+
baseUrl: "https://your-api.example.com",
|
|
6
|
+
accentColor: "#EA00A8",
|
|
7
|
+
redirectUrl: "/",
|
|
8
|
+
onSignInUrl: "/dashboard",
|
|
9
|
+
onSignOutUrl: "/",
|
|
10
|
+
autoRefresh: true,
|
|
11
|
+
refreshInterval: 4,
|
|
12
|
+
protectedRoutes: [],
|
|
13
|
+
guestOnlyRoutes: ["/auth", "/login", "/register"],
|
|
14
|
+
devMode: false,
|
|
15
|
+
styles: true,
|
|
16
|
+
supportEmail: ""
|
|
17
|
+
};
|
|
4
18
|
const module$1 = kit.defineNuxtModule({
|
|
5
19
|
meta: {
|
|
6
20
|
name: "@strands.gg/accui/nuxt",
|
|
@@ -9,19 +23,7 @@ const module$1 = kit.defineNuxtModule({
|
|
|
9
23
|
nuxt: "^3.0.0"
|
|
10
24
|
}
|
|
11
25
|
},
|
|
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
|
-
},
|
|
26
|
+
defaults: moduleDefaults,
|
|
25
27
|
async setup(options, nuxt) {
|
|
26
28
|
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
29
|
nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};
|
|
@@ -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\
|
|
1
|
+
{"version":3,"file":"module.cjs.js","sources":["../../../../apps/accounts-ui/src/nuxt/module.ts"],"sourcesContent":["import { defineNuxtModule, addPlugin, createResolver, addImports, addComponent, addRouteMiddleware } from '@nuxt/kit'\n\n// Re-export types for users\nexport type { StrandsAuthConfig, StrandsAuthEndpoints } from '../types'\nimport type { StrandsAuthConfig } from '../types'\n\n// Create defaults that match the full interface to ensure proper type inference \nconst moduleDefaults: StrandsAuthConfig = {\n baseUrl: 'https://your-api.example.com',\n accentColor: '#EA00A8',\n redirectUrl: '/',\n onSignInUrl: '/dashboard',\n onSignOutUrl: '/',\n autoRefresh: true,\n refreshInterval: 4,\n protectedRoutes: [],\n guestOnlyRoutes: ['/auth', '/login', '/register'],\n devMode: false,\n styles: true,\n supportEmail: ''\n}\n\nexport default defineNuxtModule<StrandsAuthConfig>({\n meta: {\n name: '@strands.gg/accui/nuxt',\n configKey: 'strandsAuth',\n compatibility: {\n nuxt: '^3.0.0'\n }\n },\n defaults: moduleDefaults,\n async setup(options, nuxt) {\n const resolver = createResolver(import.meta.url)\n\n // Add runtime config\n nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {}\n ;(nuxt.options.runtimeConfig.public as any).strandsAuth = {\n ...options,\n styles: options.styles !== false\n }\n\n // Conditionally add CSS for styling based on autoImportStyles setting\n if (options.styles !== false) {\n nuxt.options.css.push('@strands.gg/accui/style.css')\n 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":";;;AAOA,MAAM,iBAAoC;AAAA,EACxC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB,CAAA;AAAA,EACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,EAChD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAChB;AAEA,MAAA,WAAeA,qBAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,EACV,MAAM,MAAM,SAAS,MAAM;AACzB,UAAM,WAAWC,IAAAA,0QAA8B;AAG/C,SAAK,QAAQ,cAAc,SAAS,KAAK,QAAQ,cAAc,UAAU,CAAA;AACvE,SAAK,QAAQ,cAAc,OAAe,cAAc;AAAA,MACxD,GAAG;AAAA,MACH,QAAQ,QAAQ,WAAW;AAAA,IAAA;AAI7B,QAAI,QAAQ,WAAW,OAAO;AAC5B,WAAK,QAAQ,IAAI,KAAK,6BAA6B;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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../apps/accounts-ui/src/nuxt/module.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../apps/accounts-ui/src/nuxt/module.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;;AAkBjD,wBA+GE"}
|
package/dist/nuxt/module.es.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import { defineNuxtModule, createResolver, addPlugin, addRouteMiddleware, addImports, addComponent } from "@nuxt/kit";
|
|
2
|
+
const moduleDefaults = {
|
|
3
|
+
baseUrl: "https://your-api.example.com",
|
|
4
|
+
accentColor: "#EA00A8",
|
|
5
|
+
redirectUrl: "/",
|
|
6
|
+
onSignInUrl: "/dashboard",
|
|
7
|
+
onSignOutUrl: "/",
|
|
8
|
+
autoRefresh: true,
|
|
9
|
+
refreshInterval: 4,
|
|
10
|
+
protectedRoutes: [],
|
|
11
|
+
guestOnlyRoutes: ["/auth", "/login", "/register"],
|
|
12
|
+
devMode: false,
|
|
13
|
+
styles: true,
|
|
14
|
+
supportEmail: ""
|
|
15
|
+
};
|
|
2
16
|
const module = defineNuxtModule({
|
|
3
17
|
meta: {
|
|
4
18
|
name: "@strands.gg/accui/nuxt",
|
|
@@ -7,19 +21,7 @@ const module = defineNuxtModule({
|
|
|
7
21
|
nuxt: "^3.0.0"
|
|
8
22
|
}
|
|
9
23
|
},
|
|
10
|
-
defaults:
|
|
11
|
-
baseUrl: "https://your-api.example.com",
|
|
12
|
-
accentColor: "#EA00A8",
|
|
13
|
-
redirectUrl: "/",
|
|
14
|
-
onSignInUrl: "/dashboard",
|
|
15
|
-
onSignOutUrl: "/",
|
|
16
|
-
autoRefresh: true,
|
|
17
|
-
refreshInterval: 4,
|
|
18
|
-
protectedRoutes: [],
|
|
19
|
-
guestOnlyRoutes: ["/auth", "/login", "/register"],
|
|
20
|
-
devMode: false,
|
|
21
|
-
styles: true
|
|
22
|
-
},
|
|
24
|
+
defaults: moduleDefaults,
|
|
23
25
|
async setup(options, nuxt) {
|
|
24
26
|
const resolver = createResolver(import.meta.url);
|
|
25
27
|
nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};
|
|
@@ -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\
|
|
1
|
+
{"version":3,"file":"module.es.js","sources":["../../../../apps/accounts-ui/src/nuxt/module.ts"],"sourcesContent":["import { defineNuxtModule, addPlugin, createResolver, addImports, addComponent, addRouteMiddleware } from '@nuxt/kit'\n\n// Re-export types for users\nexport type { StrandsAuthConfig, StrandsAuthEndpoints } from '../types'\nimport type { StrandsAuthConfig } from '../types'\n\n// Create defaults that match the full interface to ensure proper type inference \nconst moduleDefaults: StrandsAuthConfig = {\n baseUrl: 'https://your-api.example.com',\n accentColor: '#EA00A8',\n redirectUrl: '/',\n onSignInUrl: '/dashboard',\n onSignOutUrl: '/',\n autoRefresh: true,\n refreshInterval: 4,\n protectedRoutes: [],\n guestOnlyRoutes: ['/auth', '/login', '/register'],\n devMode: false,\n styles: true,\n supportEmail: ''\n}\n\nexport default defineNuxtModule<StrandsAuthConfig>({\n meta: {\n name: '@strands.gg/accui/nuxt',\n configKey: 'strandsAuth',\n compatibility: {\n nuxt: '^3.0.0'\n }\n },\n defaults: moduleDefaults,\n async setup(options, nuxt) {\n const resolver = createResolver(import.meta.url)\n\n // Add runtime config\n nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {}\n ;(nuxt.options.runtimeConfig.public as any).strandsAuth = {\n ...options,\n styles: options.styles !== false\n }\n\n // Conditionally add CSS for styling based on autoImportStyles setting\n if (options.styles !== false) {\n nuxt.options.css.push('@strands.gg/accui/style.css')\n 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":";AAOA,MAAM,iBAAoC;AAAA,EACxC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB,CAAA;AAAA,EACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,EAChD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAChB;AAEA,MAAA,SAAe,iBAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,EACV,MAAM,MAAM,SAAS,MAAM;AACzB,UAAM,WAAW,eAAe,YAAY,GAAG;AAG/C,SAAK,QAAQ,cAAc,SAAS,KAAK,QAAQ,cAAc,UAAU,CAAA;AACvE,SAAK,QAAQ,cAAc,OAAe,cAAc;AAAA,MACxD,GAAG;AAAA,MACH,QAAQ,QAAQ,WAAW;AAAA,IAAA;AAI7B,QAAI,QAAQ,WAAW,OAAO;AAC5B,WAAK,QAAQ,IAAI,KAAK,6BAA6B;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,6 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const kit = require("@nuxt/kit");
|
|
3
3
|
var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
|
|
4
|
+
const moduleDefaults = {
|
|
5
|
+
baseUrl: "https://your-api.example.com",
|
|
6
|
+
accentColor: "#EA00A8",
|
|
7
|
+
redirectUrl: "/",
|
|
8
|
+
onSignInUrl: "/dashboard",
|
|
9
|
+
onSignOutUrl: "/",
|
|
10
|
+
autoRefresh: true,
|
|
11
|
+
refreshInterval: 4,
|
|
12
|
+
protectedRoutes: [],
|
|
13
|
+
guestOnlyRoutes: ["/auth", "/login", "/register"],
|
|
14
|
+
devMode: false,
|
|
15
|
+
styles: true,
|
|
16
|
+
supportEmail: ""
|
|
17
|
+
};
|
|
4
18
|
const module$1 = kit.defineNuxtModule({
|
|
5
19
|
meta: {
|
|
6
20
|
name: "@strands.gg/accui/nuxt-v4",
|
|
@@ -9,19 +23,7 @@ const module$1 = kit.defineNuxtModule({
|
|
|
9
23
|
nuxt: "^4.0.0"
|
|
10
24
|
}
|
|
11
25
|
},
|
|
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
|
-
},
|
|
26
|
+
defaults: moduleDefaults,
|
|
25
27
|
async setup(options, nuxt) {
|
|
26
28
|
const resolver = kit.createResolver(typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("nuxt-v4/module.cjs.js", document.baseURI).href);
|
|
27
29
|
nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.cjs.js","sources":["../../../../apps/accounts-ui/src/nuxt-v4/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\
|
|
1
|
+
{"version":3,"file":"module.cjs.js","sources":["../../../../apps/accounts-ui/src/nuxt-v4/module.ts"],"sourcesContent":["import { defineNuxtModule, addPlugin, createResolver, addImports, addComponent, addRouteMiddleware } from '@nuxt/kit'\n\n// Re-export types for users\nexport type { StrandsAuthConfig, StrandsAuthEndpoints } from '../types'\nimport type { StrandsAuthConfig } from '../types'\n\n// Create defaults that match the full interface to ensure proper type inference \nconst moduleDefaults: StrandsAuthConfig = {\n baseUrl: 'https://your-api.example.com',\n accentColor: '#EA00A8',\n redirectUrl: '/',\n onSignInUrl: '/dashboard',\n onSignOutUrl: '/',\n autoRefresh: true,\n refreshInterval: 4,\n protectedRoutes: [],\n guestOnlyRoutes: ['/auth', '/login', '/register'],\n devMode: false,\n styles: true,\n supportEmail: ''\n}\n\nexport default defineNuxtModule<StrandsAuthConfig>({\n meta: {\n name: '@strands.gg/accui/nuxt-v4',\n configKey: 'strandsAuth',\n compatibility: {\n nuxt: '^4.0.0'\n }\n },\n defaults: moduleDefaults,\n async setup(options, nuxt) {\n const resolver = createResolver(import.meta.url)\n\n // Add runtime config\n nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {}\n const runtimeConfig = {\n ...options,\n styles: options.styles !== false\n }\n \n ;(nuxt.options.runtimeConfig.public as any).strandsAuth = runtimeConfig\n \n // Also add it to app config for immediate access\n ;(nuxt.options.appConfig as any).strandsAuth = runtimeConfig\n\n // Conditionally add CSS for styling based on autoImportStyles setting\n if (options.styles !== false) {\n nuxt.options.css.push('@strands.gg/accui/style.css')\n }\n\n // Plugin and middleware paths - always use built JavaScript files when module is distributed\n // This prevents issues when the module is loaded from dist/ directory\n const ext = 'es.js'\n \n const clientPluginPath = resolver.resolve(`./runtime/plugin.client.${ext}`)\n const serverPluginPath = resolver.resolve(`./runtime/plugin.server.${ext}`) \n const middlewarePath = resolver.resolve(`./runtime/middleware/auth.global.${ext}`)\n\n // Add the main plugin with highest priority to ensure config is set early\n addPlugin({\n src: clientPluginPath,\n mode: 'client'\n })\n\n // Add server plugin for SSR support \n addPlugin({\n src: serverPluginPath,\n mode: 'server'\n })\n\n // Add middleware for route protection (updated for Nuxt v4)\n addRouteMiddleware({\n name: 'auth',\n path: middlewarePath,\n global: true\n })\n\n // Auto-import composables - use TypeScript in development, JavaScript in production\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 (updated for Nuxt v4)\n nuxt.hook('prepare:types', (opts) => {\n opts.references.push({\n types: '@strands.gg/auth-nuxt-v4'\n })\n \n // Add the composables to the auto-imports types\n opts.declarations.push(`\n declare global {\n const useStrandsAuth: typeof import('${resolver.resolve(`./runtime/composables/useStrandsAuth.d.ts`)}')['useStrandsAuth']\n const useAuthUser: typeof import('${resolver.resolve(`./runtime/composables/useStrandsAuth.d.ts`)}')['useAuthUser']\n const useAuthState: typeof import('${resolver.resolve(`./runtime/composables/useStrandsAuth.d.ts`)}')['useAuthState']\n }\n `)\n })\n }\n})\n"],"names":["defineNuxtModule","createResolver","addPlugin","addRouteMiddleware","addImports","addComponent"],"mappings":";;;AAOA,MAAM,iBAAoC;AAAA,EACxC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB,CAAA;AAAA,EACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,EAChD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAChB;AAEA,MAAA,WAAeA,qBAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,EACV,MAAM,MAAM,SAAS,MAAM;AACzB,UAAM,WAAWC,IAAAA,6QAA8B;AAG/C,SAAK,QAAQ,cAAc,SAAS,KAAK,QAAQ,cAAc,UAAU,CAAA;AACzE,UAAM,gBAAgB;AAAA,MACpB,GAAG;AAAA,MACH,QAAQ,QAAQ,WAAW;AAAA,IAAA;AAG3B,SAAK,QAAQ,cAAc,OAAe,cAAc;AAGxD,SAAK,QAAQ,UAAkB,cAAc;AAG/C,QAAI,QAAQ,WAAW,OAAO;AAC5B,WAAK,QAAQ,IAAI,KAAK,6BAA6B;AAAA,IACrD;AAIA,UAAM,MAAM;AAEZ,UAAM,mBAAmB,SAAS,QAAQ,2BAA2B,GAAG,EAAE;AAC1E,UAAM,mBAAmB,SAAS,QAAQ,2BAA2B,GAAG,EAAE;AAC1E,UAAM,iBAAiB,SAAS,QAAQ,oCAAoC,GAAG,EAAE;AAGjFC,kBAAU;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,IAAA,CACP;AAGDA,kBAAU;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,IAAA,CACP;AAGDC,2BAAmB;AAAA,MACjB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,IAAA,CACT;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;AAGD,WAAK,aAAa,KAAK;AAAA;AAAA,iDAEoB,SAAS,QAAQ,2CAA2C,CAAC;AAAA,8CAChE,SAAS,QAAQ,2CAA2C,CAAC;AAAA,+CAC5D,SAAS,QAAQ,2CAA2C,CAAC;AAAA;AAAA,OAErG;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../apps/accounts-ui/src/nuxt-v4/module.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../apps/accounts-ui/src/nuxt-v4/module.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;;AAkBjD,wBA2HE"}
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import { defineNuxtModule, createResolver, addPlugin, addRouteMiddleware, addImports, addComponent } from "@nuxt/kit";
|
|
2
|
+
const moduleDefaults = {
|
|
3
|
+
baseUrl: "https://your-api.example.com",
|
|
4
|
+
accentColor: "#EA00A8",
|
|
5
|
+
redirectUrl: "/",
|
|
6
|
+
onSignInUrl: "/dashboard",
|
|
7
|
+
onSignOutUrl: "/",
|
|
8
|
+
autoRefresh: true,
|
|
9
|
+
refreshInterval: 4,
|
|
10
|
+
protectedRoutes: [],
|
|
11
|
+
guestOnlyRoutes: ["/auth", "/login", "/register"],
|
|
12
|
+
devMode: false,
|
|
13
|
+
styles: true,
|
|
14
|
+
supportEmail: ""
|
|
15
|
+
};
|
|
2
16
|
const module = defineNuxtModule({
|
|
3
17
|
meta: {
|
|
4
18
|
name: "@strands.gg/accui/nuxt-v4",
|
|
@@ -7,19 +21,7 @@ const module = defineNuxtModule({
|
|
|
7
21
|
nuxt: "^4.0.0"
|
|
8
22
|
}
|
|
9
23
|
},
|
|
10
|
-
defaults:
|
|
11
|
-
baseUrl: "https://your-api.example.com",
|
|
12
|
-
accentColor: "#EA00A8",
|
|
13
|
-
redirectUrl: "/",
|
|
14
|
-
onSignInUrl: "/dashboard",
|
|
15
|
-
onSignOutUrl: "/",
|
|
16
|
-
autoRefresh: true,
|
|
17
|
-
refreshInterval: 4,
|
|
18
|
-
protectedRoutes: [],
|
|
19
|
-
guestOnlyRoutes: ["/auth", "/login", "/register"],
|
|
20
|
-
devMode: false,
|
|
21
|
-
styles: true
|
|
22
|
-
},
|
|
24
|
+
defaults: moduleDefaults,
|
|
23
25
|
async setup(options, nuxt) {
|
|
24
26
|
const resolver = createResolver(import.meta.url);
|
|
25
27
|
nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.es.js","sources":["../../../../apps/accounts-ui/src/nuxt-v4/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\
|
|
1
|
+
{"version":3,"file":"module.es.js","sources":["../../../../apps/accounts-ui/src/nuxt-v4/module.ts"],"sourcesContent":["import { defineNuxtModule, addPlugin, createResolver, addImports, addComponent, addRouteMiddleware } from '@nuxt/kit'\n\n// Re-export types for users\nexport type { StrandsAuthConfig, StrandsAuthEndpoints } from '../types'\nimport type { StrandsAuthConfig } from '../types'\n\n// Create defaults that match the full interface to ensure proper type inference \nconst moduleDefaults: StrandsAuthConfig = {\n baseUrl: 'https://your-api.example.com',\n accentColor: '#EA00A8',\n redirectUrl: '/',\n onSignInUrl: '/dashboard',\n onSignOutUrl: '/',\n autoRefresh: true,\n refreshInterval: 4,\n protectedRoutes: [],\n guestOnlyRoutes: ['/auth', '/login', '/register'],\n devMode: false,\n styles: true,\n supportEmail: ''\n}\n\nexport default defineNuxtModule<StrandsAuthConfig>({\n meta: {\n name: '@strands.gg/accui/nuxt-v4',\n configKey: 'strandsAuth',\n compatibility: {\n nuxt: '^4.0.0'\n }\n },\n defaults: moduleDefaults,\n async setup(options, nuxt) {\n const resolver = createResolver(import.meta.url)\n\n // Add runtime config\n nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {}\n const runtimeConfig = {\n ...options,\n styles: options.styles !== false\n }\n \n ;(nuxt.options.runtimeConfig.public as any).strandsAuth = runtimeConfig\n \n // Also add it to app config for immediate access\n ;(nuxt.options.appConfig as any).strandsAuth = runtimeConfig\n\n // Conditionally add CSS for styling based on autoImportStyles setting\n if (options.styles !== false) {\n nuxt.options.css.push('@strands.gg/accui/style.css')\n }\n\n // Plugin and middleware paths - always use built JavaScript files when module is distributed\n // This prevents issues when the module is loaded from dist/ directory\n const ext = 'es.js'\n \n const clientPluginPath = resolver.resolve(`./runtime/plugin.client.${ext}`)\n const serverPluginPath = resolver.resolve(`./runtime/plugin.server.${ext}`) \n const middlewarePath = resolver.resolve(`./runtime/middleware/auth.global.${ext}`)\n\n // Add the main plugin with highest priority to ensure config is set early\n addPlugin({\n src: clientPluginPath,\n mode: 'client'\n })\n\n // Add server plugin for SSR support \n addPlugin({\n src: serverPluginPath,\n mode: 'server'\n })\n\n // Add middleware for route protection (updated for Nuxt v4)\n addRouteMiddleware({\n name: 'auth',\n path: middlewarePath,\n global: true\n })\n\n // Auto-import composables - use TypeScript in development, JavaScript in production\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 (updated for Nuxt v4)\n nuxt.hook('prepare:types', (opts) => {\n opts.references.push({\n types: '@strands.gg/auth-nuxt-v4'\n })\n \n // Add the composables to the auto-imports types\n opts.declarations.push(`\n declare global {\n const useStrandsAuth: typeof import('${resolver.resolve(`./runtime/composables/useStrandsAuth.d.ts`)}')['useStrandsAuth']\n const useAuthUser: typeof import('${resolver.resolve(`./runtime/composables/useStrandsAuth.d.ts`)}')['useAuthUser']\n const useAuthState: typeof import('${resolver.resolve(`./runtime/composables/useStrandsAuth.d.ts`)}')['useAuthState']\n }\n `)\n })\n }\n})\n"],"names":[],"mappings":";AAOA,MAAM,iBAAoC;AAAA,EACxC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB,CAAA;AAAA,EACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,EAChD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAChB;AAEA,MAAA,SAAe,iBAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,EACV,MAAM,MAAM,SAAS,MAAM;AACzB,UAAM,WAAW,eAAe,YAAY,GAAG;AAG/C,SAAK,QAAQ,cAAc,SAAS,KAAK,QAAQ,cAAc,UAAU,CAAA;AACzE,UAAM,gBAAgB;AAAA,MACpB,GAAG;AAAA,MACH,QAAQ,QAAQ,WAAW;AAAA,IAAA;AAG3B,SAAK,QAAQ,cAAc,OAAe,cAAc;AAGxD,SAAK,QAAQ,UAAkB,cAAc;AAG/C,QAAI,QAAQ,WAAW,OAAO;AAC5B,WAAK,QAAQ,IAAI,KAAK,6BAA6B;AAAA,IACrD;AAIA,UAAM,MAAM;AAEZ,UAAM,mBAAmB,SAAS,QAAQ,2BAA2B,GAAG,EAAE;AAC1E,UAAM,mBAAmB,SAAS,QAAQ,2BAA2B,GAAG,EAAE;AAC1E,UAAM,iBAAiB,SAAS,QAAQ,oCAAoC,GAAG,EAAE;AAGjF,cAAU;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,IAAA,CACP;AAGD,cAAU;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,IAAA,CACP;AAGD,uBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,IAAA,CACT;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;AAGD,WAAK,aAAa,KAAK;AAAA;AAAA,iDAEoB,SAAS,QAAQ,2CAA2C,CAAC;AAAA,8CAChE,SAAS,QAAQ,2CAA2C,CAAC;AAAA,+CAC5D,SAAS,QAAQ,2CAA2C,CAAC;AAAA;AAAA,OAErG;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;"}
|