@strands.gg/accui 1.4.1 → 1.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.
- package/dist/accui.css +134 -252
- package/dist/nuxt/module.cjs.js +1 -0
- package/dist/nuxt/module.cjs.js.map +1 -1
- package/dist/nuxt/module.d.ts.map +1 -1
- package/dist/nuxt/module.es.js +1 -0
- package/dist/nuxt/module.es.js.map +1 -1
- package/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js +1 -1
- package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts +19 -0
- package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts.map +1 -1
- package/dist/nuxt/runtime/composables/useStrandsAuth.es.js +1 -1
- package/dist/nuxt/runtime/plugin.client.cjs.js +1 -1
- package/dist/nuxt/runtime/plugin.client.es.js +1 -1
- package/dist/nuxt/runtime/plugin.server.cjs.js +1 -1
- package/dist/nuxt/runtime/plugin.server.es.js +1 -1
- package/dist/nuxt-v4/module.cjs.js +1 -0
- 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 +1 -0
- package/dist/nuxt-v4/module.es.js.map +1 -1
- package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js +1 -1
- package/dist/nuxt-v4/runtime/composables/useStrandsAuth.es.js +1 -1
- package/dist/nuxt-v4/runtime/plugin.client.cjs.js +1 -1
- package/dist/nuxt-v4/runtime/plugin.client.es.js +1 -1
- package/dist/nuxt-v4/runtime/plugin.server.cjs.js +1 -1
- package/dist/nuxt-v4/runtime/plugin.server.es.js +1 -1
- package/dist/strands-auth-ui.cjs.js +2071 -1422
- package/dist/strands-auth-ui.cjs.js.map +1 -1
- package/dist/strands-auth-ui.es.js +2073 -1424
- package/dist/strands-auth-ui.es.js.map +1 -1
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/{useStrandsAuth-SdmBCyFS.js → useStrandsAuth-CO9JEdxM.js} +79 -2
- package/dist/useStrandsAuth-CO9JEdxM.js.map +1 -0
- package/dist/{useStrandsAuth-zR8fRWme.cjs → useStrandsAuth-z4jAu9Uv.cjs} +79 -2
- package/dist/useStrandsAuth-z4jAu9Uv.cjs.map +1 -0
- package/dist/{useStrandsConfig-COEj6nFc.js → useStrandsConfig-Bdk-g0jS.js} +9 -1
- package/dist/useStrandsConfig-Bdk-g0jS.js.map +1 -0
- package/dist/{useStrandsConfig-DW4ez8t4.cjs → useStrandsConfig-CtmQtE7Y.cjs} +9 -1
- package/dist/useStrandsConfig-CtmQtE7Y.cjs.map +1 -0
- package/dist/vue/components/SignedIn.vue.d.ts +4 -0
- package/dist/vue/components/SignedIn.vue.d.ts.map +1 -1
- package/dist/vue/components/SignedOut.vue.d.ts +4 -0
- package/dist/vue/components/SignedOut.vue.d.ts.map +1 -1
- package/dist/vue/components/StrandsUserButton.vue.d.ts +19 -0
- package/dist/vue/components/StrandsUserButton.vue.d.ts.map +1 -0
- package/dist/vue/components/StrandsUserProfile.vue.d.ts +2 -0
- package/dist/vue/components/StrandsUserProfile.vue.d.ts.map +1 -1
- package/dist/vue/components/index.d.ts +1 -0
- package/dist/vue/components/index.d.ts.map +1 -1
- package/dist/vue/composables/useStrandsAuth.d.ts +19 -0
- package/dist/vue/composables/useStrandsAuth.d.ts.map +1 -1
- package/dist/vue/composables/useStrandsConfig.d.ts.map +1 -1
- package/dist/vue/ui/UiAvatarEditorSimple.vue.d.ts.map +1 -1
- package/dist/vue/ui/UiCard.vue.d.ts.map +1 -1
- package/dist/vue/ui/UiModal.vue.d.ts +0 -10
- package/dist/vue/ui/UiModal.vue.d.ts.map +1 -1
- package/dist/vue/ui/index.d.ts +1 -0
- package/dist/vue/ui/index.d.ts.map +1 -1
- package/dist/vue/utils/levels.d.ts +28 -0
- package/dist/vue/utils/levels.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/useStrandsAuth-SdmBCyFS.js.map +0 -1
- package/dist/useStrandsAuth-zR8fRWme.cjs.map +0 -1
- package/dist/useStrandsConfig-COEj6nFc.js.map +0 -1
- package/dist/useStrandsConfig-DW4ez8t4.cjs.map +0 -1
package/dist/accui.css
CHANGED
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
--color-blue-900: oklch(37.9% 0.146 265.522);
|
|
54
54
|
--color-indigo-50: oklch(96.2% 0.018 272.314);
|
|
55
55
|
--color-indigo-100: oklch(93% 0.034 272.788);
|
|
56
|
+
--color-indigo-500: oklch(58.5% 0.233 277.117);
|
|
56
57
|
--color-purple-50: oklch(97.7% 0.014 308.299);
|
|
57
58
|
--color-purple-100: oklch(94.6% 0.033 307.174);
|
|
58
59
|
--color-purple-200: oklch(90.2% 0.063 306.703);
|
|
@@ -113,6 +114,7 @@
|
|
|
113
114
|
--font-weight-medium: 500;
|
|
114
115
|
--font-weight-semibold: 600;
|
|
115
116
|
--font-weight-bold: 700;
|
|
117
|
+
--leading-tight: 1.25;
|
|
116
118
|
--leading-relaxed: 1.625;
|
|
117
119
|
--radius-md: 0.375rem;
|
|
118
120
|
--radius-lg: 0.5rem;
|
|
@@ -383,6 +385,9 @@
|
|
|
383
385
|
.top-1\/2 {
|
|
384
386
|
top: calc(1/2 * 100%);
|
|
385
387
|
}
|
|
388
|
+
.top-full {
|
|
389
|
+
top: 100%;
|
|
390
|
+
}
|
|
386
391
|
.-right-1 {
|
|
387
392
|
right: calc(var(--spacing) * -1);
|
|
388
393
|
}
|
|
@@ -446,6 +451,9 @@
|
|
|
446
451
|
.mx-auto {
|
|
447
452
|
margin-inline: auto;
|
|
448
453
|
}
|
|
454
|
+
.my-2 {
|
|
455
|
+
margin-block: calc(var(--spacing) * 2);
|
|
456
|
+
}
|
|
449
457
|
.mt-0\.5 {
|
|
450
458
|
margin-top: calc(var(--spacing) * 0.5);
|
|
451
459
|
}
|
|
@@ -470,15 +478,9 @@
|
|
|
470
478
|
.mr-1 {
|
|
471
479
|
margin-right: calc(var(--spacing) * 1);
|
|
472
480
|
}
|
|
473
|
-
.mr-1\.5 {
|
|
474
|
-
margin-right: calc(var(--spacing) * 1.5);
|
|
475
|
-
}
|
|
476
481
|
.mr-2 {
|
|
477
482
|
margin-right: calc(var(--spacing) * 2);
|
|
478
483
|
}
|
|
479
|
-
.-mb-4 {
|
|
480
|
-
margin-bottom: calc(var(--spacing) * -4);
|
|
481
|
-
}
|
|
482
484
|
.-mb-px {
|
|
483
485
|
margin-bottom: -1px;
|
|
484
486
|
}
|
|
@@ -503,9 +505,6 @@
|
|
|
503
505
|
.mb-12 {
|
|
504
506
|
margin-bottom: calc(var(--spacing) * 12);
|
|
505
507
|
}
|
|
506
|
-
.ml-1 {
|
|
507
|
-
margin-left: calc(var(--spacing) * 1);
|
|
508
|
-
}
|
|
509
508
|
.ml-2 {
|
|
510
509
|
margin-left: calc(var(--spacing) * 2);
|
|
511
510
|
}
|
|
@@ -581,6 +580,9 @@
|
|
|
581
580
|
.h-full {
|
|
582
581
|
height: 100%;
|
|
583
582
|
}
|
|
583
|
+
.h-px {
|
|
584
|
+
height: 1px;
|
|
585
|
+
}
|
|
584
586
|
.max-h-96 {
|
|
585
587
|
max-height: calc(var(--spacing) * 96);
|
|
586
588
|
}
|
|
@@ -629,6 +631,12 @@
|
|
|
629
631
|
.w-48 {
|
|
630
632
|
width: calc(var(--spacing) * 48);
|
|
631
633
|
}
|
|
634
|
+
.w-64 {
|
|
635
|
+
width: calc(var(--spacing) * 64);
|
|
636
|
+
}
|
|
637
|
+
.w-72 {
|
|
638
|
+
width: calc(var(--spacing) * 72);
|
|
639
|
+
}
|
|
632
640
|
.w-80 {
|
|
633
641
|
width: calc(var(--spacing) * 80);
|
|
634
642
|
}
|
|
@@ -666,9 +674,6 @@
|
|
|
666
674
|
.flex-1 {
|
|
667
675
|
flex: 1;
|
|
668
676
|
}
|
|
669
|
-
.flex-shrink {
|
|
670
|
-
flex-shrink: 1;
|
|
671
|
-
}
|
|
672
677
|
.flex-shrink-0 {
|
|
673
678
|
flex-shrink: 0;
|
|
674
679
|
}
|
|
@@ -680,6 +685,9 @@
|
|
|
680
685
|
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
|
|
681
686
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
682
687
|
}
|
|
688
|
+
.rotate-180 {
|
|
689
|
+
rotate: 180deg;
|
|
690
|
+
}
|
|
683
691
|
.transform {
|
|
684
692
|
transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
|
|
685
693
|
}
|
|
@@ -748,6 +756,9 @@
|
|
|
748
756
|
.justify-end {
|
|
749
757
|
justify-content: flex-end;
|
|
750
758
|
}
|
|
759
|
+
.gap-1\.5 {
|
|
760
|
+
gap: calc(var(--spacing) * 1.5);
|
|
761
|
+
}
|
|
751
762
|
.gap-2 {
|
|
752
763
|
gap: calc(var(--spacing) * 2);
|
|
753
764
|
}
|
|
@@ -840,6 +851,11 @@
|
|
|
840
851
|
margin-inline-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)));
|
|
841
852
|
}
|
|
842
853
|
}
|
|
854
|
+
.truncate {
|
|
855
|
+
overflow: hidden;
|
|
856
|
+
text-overflow: ellipsis;
|
|
857
|
+
white-space: nowrap;
|
|
858
|
+
}
|
|
843
859
|
.overflow-hidden {
|
|
844
860
|
overflow: hidden;
|
|
845
861
|
}
|
|
@@ -1072,9 +1088,15 @@
|
|
|
1072
1088
|
-o-object-fit: cover;
|
|
1073
1089
|
object-fit: cover;
|
|
1074
1090
|
}
|
|
1091
|
+
.p-1 {
|
|
1092
|
+
padding: calc(var(--spacing) * 1);
|
|
1093
|
+
}
|
|
1075
1094
|
.p-1\.5 {
|
|
1076
1095
|
padding: calc(var(--spacing) * 1.5);
|
|
1077
1096
|
}
|
|
1097
|
+
.p-2 {
|
|
1098
|
+
padding: calc(var(--spacing) * 2);
|
|
1099
|
+
}
|
|
1078
1100
|
.p-3 {
|
|
1079
1101
|
padding: calc(var(--spacing) * 3);
|
|
1080
1102
|
}
|
|
@@ -1159,9 +1181,6 @@
|
|
|
1159
1181
|
.pr-10 {
|
|
1160
1182
|
padding-right: calc(var(--spacing) * 10);
|
|
1161
1183
|
}
|
|
1162
|
-
.pb-2 {
|
|
1163
|
-
padding-bottom: calc(var(--spacing) * 2);
|
|
1164
|
-
}
|
|
1165
1184
|
.pb-4 {
|
|
1166
1185
|
padding-bottom: calc(var(--spacing) * 4);
|
|
1167
1186
|
}
|
|
@@ -1223,6 +1242,10 @@
|
|
|
1223
1242
|
--tw-leading: var(--leading-relaxed);
|
|
1224
1243
|
line-height: var(--leading-relaxed);
|
|
1225
1244
|
}
|
|
1245
|
+
.leading-tight {
|
|
1246
|
+
--tw-leading: var(--leading-tight);
|
|
1247
|
+
line-height: var(--leading-tight);
|
|
1248
|
+
}
|
|
1226
1249
|
.font-bold {
|
|
1227
1250
|
--tw-font-weight: var(--font-weight-bold);
|
|
1228
1251
|
font-weight: var(--font-weight-bold);
|
|
@@ -1427,10 +1450,17 @@
|
|
|
1427
1450
|
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
1428
1451
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
1429
1452
|
}
|
|
1453
|
+
.ring-1 {
|
|
1454
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
1455
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
1456
|
+
}
|
|
1430
1457
|
.ring-2 {
|
|
1431
1458
|
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
1432
1459
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
1433
1460
|
}
|
|
1461
|
+
.ring-black {
|
|
1462
|
+
--tw-ring-color: var(--color-black);
|
|
1463
|
+
}
|
|
1434
1464
|
.outline {
|
|
1435
1465
|
outline-style: var(--tw-outline-style);
|
|
1436
1466
|
outline-width: 1px;
|
|
@@ -1477,6 +1507,11 @@
|
|
|
1477
1507
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
1478
1508
|
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
1479
1509
|
}
|
|
1510
|
+
.transition-transform {
|
|
1511
|
+
transition-property: transform, translate, scale, rotate;
|
|
1512
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
1513
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
1514
|
+
}
|
|
1480
1515
|
.duration-150 {
|
|
1481
1516
|
--tw-duration: 150ms;
|
|
1482
1517
|
transition-duration: 150ms;
|
|
@@ -1780,17 +1815,38 @@
|
|
|
1780
1815
|
}
|
|
1781
1816
|
}
|
|
1782
1817
|
}
|
|
1818
|
+
.focus\:bg-gray-100 {
|
|
1819
|
+
&:focus {
|
|
1820
|
+
background-color: var(--color-gray-100);
|
|
1821
|
+
}
|
|
1822
|
+
}
|
|
1823
|
+
.focus\:bg-red-50 {
|
|
1824
|
+
&:focus {
|
|
1825
|
+
background-color: var(--color-red-50);
|
|
1826
|
+
}
|
|
1827
|
+
}
|
|
1783
1828
|
.focus\:ring-2 {
|
|
1784
1829
|
&:focus {
|
|
1785
1830
|
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
1786
1831
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
1787
1832
|
}
|
|
1788
1833
|
}
|
|
1834
|
+
.focus\:ring-indigo-500 {
|
|
1835
|
+
&:focus {
|
|
1836
|
+
--tw-ring-color: var(--color-indigo-500);
|
|
1837
|
+
}
|
|
1838
|
+
}
|
|
1789
1839
|
.focus\:ring-strands-400 {
|
|
1790
1840
|
&:focus {
|
|
1791
1841
|
--tw-ring-color: var(--color-strands-400);
|
|
1792
1842
|
}
|
|
1793
1843
|
}
|
|
1844
|
+
.focus\:ring-offset-2 {
|
|
1845
|
+
&:focus {
|
|
1846
|
+
--tw-ring-offset-width: 2px;
|
|
1847
|
+
--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
1848
|
+
}
|
|
1849
|
+
}
|
|
1794
1850
|
.focus\:outline-none {
|
|
1795
1851
|
&:focus {
|
|
1796
1852
|
--tw-outline-style: none;
|
|
@@ -1875,11 +1931,6 @@
|
|
|
1875
1931
|
flex-direction: row;
|
|
1876
1932
|
}
|
|
1877
1933
|
}
|
|
1878
|
-
.md\:mb-4 {
|
|
1879
|
-
@media (width >= 48rem) {
|
|
1880
|
-
margin-bottom: calc(var(--spacing) * 4);
|
|
1881
|
-
}
|
|
1882
|
-
}
|
|
1883
1934
|
.md\:grid-cols-2 {
|
|
1884
1935
|
@media (width >= 48rem) {
|
|
1885
1936
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
@@ -1895,27 +1946,14 @@
|
|
|
1895
1946
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
1896
1947
|
}
|
|
1897
1948
|
}
|
|
1898
|
-
.md\:gap-
|
|
1899
|
-
@media (width >= 48rem) {
|
|
1900
|
-
gap: calc(var(--spacing) * 6);
|
|
1901
|
-
}
|
|
1902
|
-
}
|
|
1903
|
-
.md\:space-y-4 {
|
|
1949
|
+
.md\:gap-4 {
|
|
1904
1950
|
@media (width >= 48rem) {
|
|
1905
|
-
:
|
|
1906
|
-
--tw-space-y-reverse: 0;
|
|
1907
|
-
margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
|
|
1908
|
-
margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
|
|
1909
|
-
}
|
|
1951
|
+
gap: calc(var(--spacing) * 4);
|
|
1910
1952
|
}
|
|
1911
1953
|
}
|
|
1912
|
-
.md\:
|
|
1954
|
+
.md\:gap-6 {
|
|
1913
1955
|
@media (width >= 48rem) {
|
|
1914
|
-
:
|
|
1915
|
-
--tw-space-y-reverse: 0;
|
|
1916
|
-
margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
|
|
1917
|
-
margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
|
|
1918
|
-
}
|
|
1956
|
+
gap: calc(var(--spacing) * 6);
|
|
1919
1957
|
}
|
|
1920
1958
|
}
|
|
1921
1959
|
.md\:text-3xl {
|
|
@@ -2521,16 +2559,6 @@
|
|
|
2521
2559
|
opacity: 0.9;
|
|
2522
2560
|
}
|
|
2523
2561
|
|
|
2524
|
-
/* When used in a modal, the card should fill the available space */
|
|
2525
|
-
.modal-card .card-content[data-v-68dad7e6] {
|
|
2526
|
-
flex: 1;
|
|
2527
|
-
overflow: hidden;
|
|
2528
|
-
}
|
|
2529
|
-
.modal-card .card-header[data-v-68dad7e6],
|
|
2530
|
-
.modal-card .card-footer[data-v-68dad7e6] {
|
|
2531
|
-
flex-shrink: 0;
|
|
2532
|
-
}
|
|
2533
|
-
|
|
2534
2562
|
/*
|
|
2535
2563
|
BITWARDEN & PASSWORD MANAGER STYLE PREVENTION
|
|
2536
2564
|
=============================================
|
|
@@ -2897,228 +2925,59 @@ input.pr-10[data-v-e87dc617] {
|
|
|
2897
2925
|
padding: 12px;
|
|
2898
2926
|
}
|
|
2899
2927
|
|
|
2900
|
-
/* Modal Overlay - Full responsive behavior */
|
|
2901
2928
|
.modal-overlay[data-v-63dd5ea5] {
|
|
2902
2929
|
position: fixed;
|
|
2903
|
-
|
|
2904
|
-
|
|
2930
|
+
top: 0;
|
|
2931
|
+
left: 0;
|
|
2932
|
+
right: 0;
|
|
2933
|
+
bottom: 0;
|
|
2934
|
+
background: rgba(0, 0, 0, 0.8);
|
|
2905
2935
|
display: flex;
|
|
2906
2936
|
align-items: center;
|
|
2907
2937
|
justify-content: center;
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
/* Mobile-first padding */
|
|
2912
|
-
padding: 0.75rem; /* 12px on mobile */
|
|
2913
|
-
}
|
|
2914
|
-
|
|
2915
|
-
/* Tablet and larger padding */
|
|
2916
|
-
@media (min-width: 768px) {
|
|
2917
|
-
.modal-overlay[data-v-63dd5ea5] {
|
|
2918
|
-
padding: 1rem; /* 16px on tablet+ */
|
|
2919
|
-
}
|
|
2920
|
-
}
|
|
2921
|
-
|
|
2922
|
-
/* Desktop padding */
|
|
2923
|
-
@media (min-width: 1024px) {
|
|
2924
|
-
.modal-overlay[data-v-63dd5ea5] {
|
|
2925
|
-
padding: 1.5rem; /* 24px on desktop */
|
|
2926
|
-
}
|
|
2927
|
-
}
|
|
2928
|
-
|
|
2929
|
-
/* Modal Container - Responsive sizing with width constraints */
|
|
2930
|
-
.modal-container[data-v-63dd5ea5] {
|
|
2931
|
-
width: 100%;
|
|
2932
|
-
max-width: 100%;
|
|
2933
|
-
max-height: 100%;
|
|
2934
|
-
display: flex;
|
|
2935
|
-
flex-direction: column;
|
|
2936
|
-
transition: transform 0.2s ease-in-out;
|
|
2937
|
-
transform: translateY(0);
|
|
2938
|
-
|
|
2939
|
-
/* Mobile: Full width with minimal constraints */
|
|
2940
|
-
min-width: auto;
|
|
2941
|
-
|
|
2942
|
-
/* Default modal width constraints */
|
|
2943
|
-
min-width: 320px; /* Minimum usable width */
|
|
2944
|
-
max-width: 640px; /* Default maximum width for better readability */
|
|
2945
|
-
}
|
|
2946
|
-
|
|
2947
|
-
/* Tablet responsiveness */
|
|
2948
|
-
@media (min-width: 640px) {
|
|
2949
|
-
.modal-container[data-v-63dd5ea5] {
|
|
2950
|
-
min-width: 320px;
|
|
2951
|
-
max-width: min(640px, 95vw); /* Respect both fixed max and viewport */
|
|
2952
|
-
max-height: 95vh;
|
|
2953
|
-
}
|
|
2954
|
-
}
|
|
2955
|
-
|
|
2956
|
-
/* Desktop responsiveness */
|
|
2957
|
-
@media (min-width: 768px) {
|
|
2958
|
-
.modal-container[data-v-63dd5ea5] {
|
|
2959
|
-
max-width: min(640px, 90vw); /* Respect both fixed max and viewport */
|
|
2960
|
-
max-height: 90vh;
|
|
2961
|
-
}
|
|
2962
|
-
}
|
|
2963
|
-
|
|
2964
|
-
/* Large desktop */
|
|
2965
|
-
@media (min-width: 1024px) {
|
|
2966
|
-
.modal-container[data-v-63dd5ea5] {
|
|
2967
|
-
max-width: min(640px, 85vw); /* Respect both fixed max and viewport */
|
|
2968
|
-
max-height: 85vh;
|
|
2969
|
-
}
|
|
2970
|
-
}
|
|
2971
|
-
|
|
2972
|
-
/* Modal Card - Flexible layout */
|
|
2973
|
-
.modal-card[data-v-63dd5ea5] {
|
|
2974
|
-
display: flex;
|
|
2975
|
-
flex-direction: column;
|
|
2976
|
-
height: 100%;
|
|
2977
|
-
max-height: 100%;
|
|
2978
|
-
overflow: hidden;
|
|
2979
|
-
border-radius: 0.5rem; /* Default rounded */
|
|
2980
|
-
}
|
|
2981
|
-
|
|
2982
|
-
/* Mobile: Less rounded corners, more mobile-friendly */
|
|
2983
|
-
@media (max-width: 639px) {
|
|
2984
|
-
.modal-card[data-v-63dd5ea5] {
|
|
2985
|
-
border-radius: 0.375rem;
|
|
2986
|
-
}
|
|
2938
|
+
padding: 1rem;
|
|
2939
|
+
z-index: 50;
|
|
2987
2940
|
}
|
|
2988
|
-
|
|
2989
|
-
/* Mobile: Override width constraints for very small screens */
|
|
2990
|
-
@media (max-width: 639px) {
|
|
2991
2941
|
.modal-container[data-v-63dd5ea5] {
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
width: 100vw;
|
|
3001
|
-
height: 100vh;
|
|
3002
|
-
max-width: 100vw;
|
|
3003
|
-
max-height: 100vh;
|
|
3004
|
-
min-width: 100vw; /* Override min-width for fullscreen */
|
|
3005
|
-
}
|
|
3006
|
-
.modal-container.fullscreen-mobile .modal-card[data-v-63dd5ea5] {
|
|
3007
|
-
border-radius: 0;
|
|
3008
|
-
height: 100vh;
|
|
3009
|
-
}
|
|
2942
|
+
background: white;
|
|
2943
|
+
border-radius: 0.5rem;
|
|
2944
|
+
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
|
2945
|
+
padding: 1.5rem;
|
|
2946
|
+
max-width: calc(100vw - 2rem);
|
|
2947
|
+
max-height: calc(100vh - 2rem);
|
|
2948
|
+
overflow-y: auto;
|
|
2949
|
+
width: auto;
|
|
3010
2950
|
}
|
|
3011
|
-
|
|
3012
|
-
/* Header - Always visible */
|
|
3013
2951
|
.modal-header[data-v-63dd5ea5] {
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
/* Content - Scrollable area */
|
|
3018
|
-
.modal-content[data-v-63dd5ea5] {
|
|
3019
|
-
flex: 1;
|
|
3020
|
-
overflow-y: auto;
|
|
3021
|
-
overflow-x: hidden;
|
|
3022
|
-
min-height: 0; /* Important for flex child scrolling */
|
|
3023
|
-
|
|
3024
|
-
/* Responsive scrollbar spacing */
|
|
3025
|
-
padding-right: 2px;
|
|
3026
|
-
margin-right: -2px;
|
|
2952
|
+
padding-bottom: 1rem;
|
|
2953
|
+
border-bottom: 1px solid #e5e7eb;
|
|
2954
|
+
margin-bottom: 1.5rem;
|
|
3027
2955
|
}
|
|
3028
|
-
|
|
3029
|
-
/* Mobile: Larger touch targets and spacing */
|
|
3030
|
-
@media (max-width: 639px) {
|
|
3031
2956
|
.modal-content[data-v-63dd5ea5] {
|
|
3032
|
-
|
|
3033
|
-
margin-right: -3px;
|
|
3034
|
-
}
|
|
2957
|
+
/* Let content flow naturally */
|
|
3035
2958
|
}
|
|
3036
|
-
|
|
3037
|
-
/* Footer - Always visible */
|
|
3038
2959
|
.modal-footer[data-v-63dd5ea5] {
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
/* Custom Scrollbar Styling - Responsive */
|
|
3044
|
-
.modal-content[data-v-63dd5ea5]::-webkit-scrollbar {
|
|
3045
|
-
width: 4px; /* Thinner on mobile */
|
|
2960
|
+
padding-top: 1rem;
|
|
2961
|
+
border-top: 1px solid #e5e7eb;
|
|
2962
|
+
margin-top: 1.5rem;
|
|
3046
2963
|
}
|
|
3047
2964
|
|
|
3048
|
-
/*
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
width: 6px;
|
|
3052
|
-
}
|
|
2965
|
+
/* Scrollbar styling */
|
|
2966
|
+
.modal-container[data-v-63dd5ea5]::-webkit-scrollbar {
|
|
2967
|
+
width: 6px;
|
|
3053
2968
|
}
|
|
3054
|
-
.modal-
|
|
2969
|
+
.modal-container[data-v-63dd5ea5]::-webkit-scrollbar-track {
|
|
3055
2970
|
background: #f1f5f9;
|
|
3056
2971
|
border-radius: 3px;
|
|
3057
2972
|
}
|
|
3058
|
-
.modal-
|
|
2973
|
+
.modal-container[data-v-63dd5ea5]::-webkit-scrollbar-thumb {
|
|
3059
2974
|
background: #cbd5e1;
|
|
3060
2975
|
border-radius: 3px;
|
|
3061
|
-
-webkit-transition: background-color 0.2s ease;
|
|
3062
|
-
transition: background-color 0.2s ease;
|
|
3063
2976
|
}
|
|
3064
|
-
.modal-
|
|
2977
|
+
.modal-container[data-v-63dd5ea5]::-webkit-scrollbar-thumb:hover {
|
|
3065
2978
|
background: #94a3b8;
|
|
3066
2979
|
}
|
|
3067
2980
|
|
|
3068
|
-
/* Firefox scrollbar - responsive */
|
|
3069
|
-
.modal-content[data-v-63dd5ea5] {
|
|
3070
|
-
scrollbar-width: thin;
|
|
3071
|
-
scrollbar-color: #cbd5e1 #f1f5f9;
|
|
3072
|
-
}
|
|
3073
|
-
|
|
3074
|
-
/* Mobile: Even thinner scrollbar for Firefox */
|
|
3075
|
-
@media (max-width: 639px) {
|
|
3076
|
-
.modal-content[data-v-63dd5ea5] {
|
|
3077
|
-
scrollbar-width: auto; /* Let Firefox decide */
|
|
3078
|
-
}
|
|
3079
|
-
}
|
|
3080
|
-
|
|
3081
|
-
/* Touch-friendly scrolling for mobile */
|
|
3082
|
-
@media (max-width: 639px) {
|
|
3083
|
-
.modal-content[data-v-63dd5ea5] {
|
|
3084
|
-
-webkit-overflow-scrolling: touch;
|
|
3085
|
-
overscroll-behavior: contain;
|
|
3086
|
-
}
|
|
3087
|
-
}
|
|
3088
|
-
|
|
3089
|
-
/* Animation and accessibility improvements */
|
|
3090
|
-
@media (prefers-reduced-motion: reduce) {
|
|
3091
|
-
.modal-overlay[data-v-63dd5ea5],
|
|
3092
|
-
.modal-container[data-v-63dd5ea5],
|
|
3093
|
-
.modal-content[data-v-63dd5ea5]::-webkit-scrollbar-thumb {
|
|
3094
|
-
-webkit-transition: none;
|
|
3095
|
-
transition: none;
|
|
3096
|
-
}
|
|
3097
|
-
}
|
|
3098
|
-
|
|
3099
|
-
/* High contrast mode support */
|
|
3100
|
-
@media (prefers-contrast: high) {
|
|
3101
|
-
.modal-overlay[data-v-63dd5ea5] {
|
|
3102
|
-
background-color: rgba(0, 0, 0, 0.9);
|
|
3103
|
-
}
|
|
3104
|
-
.modal-content[data-v-63dd5ea5]::-webkit-scrollbar-thumb {
|
|
3105
|
-
background: #1e293b;
|
|
3106
|
-
}
|
|
3107
|
-
}
|
|
3108
|
-
|
|
3109
|
-
/* Dark mode support preparation */
|
|
3110
|
-
@media (prefers-color-scheme: dark) {
|
|
3111
|
-
.modal-content[data-v-63dd5ea5]::-webkit-scrollbar-track {
|
|
3112
|
-
background: #374151;
|
|
3113
|
-
}
|
|
3114
|
-
.modal-content[data-v-63dd5ea5]::-webkit-scrollbar-thumb {
|
|
3115
|
-
background: #6b7280;
|
|
3116
|
-
}
|
|
3117
|
-
.modal-content[data-v-63dd5ea5]::-webkit-scrollbar-thumb:hover {
|
|
3118
|
-
background: #9ca3af;
|
|
3119
|
-
}
|
|
3120
|
-
}
|
|
3121
|
-
|
|
3122
2981
|
/* Simple fade transition - gentle and smooth */
|
|
3123
2982
|
.fade-enter-active[data-v-4583e1b6],
|
|
3124
2983
|
.fade-leave-active[data-v-4583e1b6] {
|
|
@@ -3438,6 +3297,18 @@ to {
|
|
|
3438
3297
|
}
|
|
3439
3298
|
}
|
|
3440
3299
|
|
|
3300
|
+
/* Modal-specific styles - removes border, radius, background, and padding */
|
|
3301
|
+
.profile-container-modal[data-v-9670e06b] {
|
|
3302
|
+
/* Remove any container-specific styles when in modal */
|
|
3303
|
+
}
|
|
3304
|
+
.profile-content-modal[data-v-9670e06b] {
|
|
3305
|
+
/* Remove card styling when in modal */
|
|
3306
|
+
background: transparent;
|
|
3307
|
+
border: none;
|
|
3308
|
+
border-radius: 0;
|
|
3309
|
+
padding: 0;
|
|
3310
|
+
box-shadow: none;
|
|
3311
|
+
}
|
|
3441
3312
|
.expand-enter-active[data-v-9670e06b] {
|
|
3442
3313
|
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
3443
3314
|
overflow: hidden;
|
|
@@ -3463,14 +3334,25 @@ to {
|
|
|
3463
3334
|
transform: translateY(0);
|
|
3464
3335
|
}
|
|
3465
3336
|
|
|
3466
|
-
/*
|
|
3467
|
-
.
|
|
3468
|
-
|
|
3337
|
+
/* Transitions */
|
|
3338
|
+
.dropdown-enter-active[data-v-bfe49647],
|
|
3339
|
+
.dropdown-leave-active[data-v-bfe49647] {
|
|
3340
|
+
transition: all 0.15s ease;
|
|
3469
3341
|
}
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3342
|
+
.dropdown-enter-from[data-v-bfe49647],
|
|
3343
|
+
.dropdown-leave-to[data-v-bfe49647] {
|
|
3344
|
+
opacity: 0;
|
|
3345
|
+
transform: scale(0.95) translateY(4px);
|
|
3346
|
+
}
|
|
3347
|
+
.dropdown-enter-to[data-v-bfe49647],
|
|
3348
|
+
.dropdown-leave-from[data-v-bfe49647] {
|
|
3349
|
+
opacity: 1;
|
|
3350
|
+
transform: scale(1) translateY(0);
|
|
3474
3351
|
}
|
|
3475
3352
|
|
|
3476
|
-
/*
|
|
3353
|
+
/* Responsive adjustments */
|
|
3354
|
+
@media (max-width: 640px) {
|
|
3355
|
+
.dropdown-menu[data-v-bfe49647] {
|
|
3356
|
+
width: 16rem; /* w-64 */
|
|
3357
|
+
}
|
|
3358
|
+
}
|
package/dist/nuxt/module.cjs.js
CHANGED
|
@@ -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\n// Create defaults that match the full interface to ensure proper type inference \nconst moduleDefaults: StrandsAuthConfig = {\n baseUrl: 'https://your-api.example.com',\n accentColor: '#EA00A8',\n redirectUrl: '/',\n onSignInUrl: '/dashboard',\n onSignOutUrl: '/',\n autoRefresh: true,\n refreshInterval: 4,\n protectedRoutes: [],\n guestOnlyRoutes: ['/auth', '/login', '/register'],\n devMode: false,\n styles: true,\n supportEmail: '',\n oauth2RedirectUrl: ''\n}\n\nexport default defineNuxtModule<StrandsAuthConfig>({\n meta: {\n name: '@strands.gg/accui/nuxt',\n configKey: 'strandsAuth',\n compatibility: {\n nuxt: '^3.0.0'\n }\n },\n defaults: moduleDefaults,\n async setup(options, nuxt) {\n const resolver = createResolver(import.meta.url)\n\n // Add runtime config\n nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {}\n ;(nuxt.options.runtimeConfig.public as any).strandsAuth = {\n ...options,\n styles: options.styles !== false\n }\n\n // Conditionally add CSS for styling based on autoImportStyles setting\n if (options.styles !== false) {\n nuxt.options.css.push('@strands.gg/accui/style.css')\n 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;AAAA,EACd,mBAAmB;AACrB;AAEA,MAAA,WAAeA,qBAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,EACV,MAAM,MAAM,SAAS,MAAM;AACzB,UAAM,WAAWC,IAAAA,0QAA8B;AAG/C,SAAK,QAAQ,cAAc,SAAS,KAAK,QAAQ,cAAc,UAAU,CAAA;AACvE,SAAK,QAAQ,cAAc,OAAe,cAAc;AAAA,MACxD,GAAG;AAAA,MACH,QAAQ,QAAQ,WAAW;AAAA,IAAA;AAI7B,QAAI,QAAQ,WAAW,OAAO;AAC5B,WAAK,QAAQ,IAAI,KAAK,6BAA6B;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
|
+
{"version":3,"file":"module.cjs.js","sources":["../../../../apps/accounts-ui/src/nuxt/module.ts"],"sourcesContent":["import { defineNuxtModule, addPlugin, createResolver, addImports, addComponent, addRouteMiddleware } from '@nuxt/kit'\n\n// Re-export types for users\nexport type { StrandsAuthConfig, StrandsAuthEndpoints } from '../types'\nimport type { StrandsAuthConfig } from '../types'\n\n// Create defaults that match the full interface to ensure proper type inference \nconst moduleDefaults: StrandsAuthConfig = {\n baseUrl: 'https://your-api.example.com',\n accentColor: '#EA00A8',\n redirectUrl: '/',\n onSignInUrl: '/dashboard',\n onSignOutUrl: '/',\n autoRefresh: true,\n refreshInterval: 4,\n protectedRoutes: [],\n guestOnlyRoutes: ['/auth', '/login', '/register'],\n devMode: false,\n styles: true,\n supportEmail: '',\n oauth2RedirectUrl: ''\n}\n\nexport default defineNuxtModule<StrandsAuthConfig>({\n meta: {\n name: '@strands.gg/accui/nuxt',\n configKey: 'strandsAuth',\n compatibility: {\n nuxt: '^3.0.0'\n }\n },\n defaults: moduleDefaults,\n async setup(options, nuxt) {\n const resolver = createResolver(import.meta.url)\n\n // Add runtime config\n nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {}\n ;(nuxt.options.runtimeConfig.public as any).strandsAuth = {\n ...options,\n styles: options.styles !== false\n }\n\n // Conditionally add CSS for styling based on autoImportStyles setting\n if (options.styles !== false) {\n nuxt.options.css.push('@strands.gg/accui/style.css')\n 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 'StrandsUserButton',\n 'StrandsPasswordReset',\n 'StrandsMFASetup',\n 'StrandsConfigProvider',\n 'SignedIn',\n 'SignedOut',\n 'StrandsLogo',\n 'StrandsSecuredFooter',\n // UI Components\n 'StrandsUiAlert',\n 'StrandsUiButton',\n 'StrandsUiCard',\n 'StrandsUiInput',\n 'StrandsUiLink',\n 'StrandsUiTabs',\n 'StrandsUiLoader'\n ]\n\n for (const component of components) {\n addComponent({\n name: component,\n export: component,\n filePath: '@strands.gg/accui'\n })\n }\n\n // Add type declarations\n nuxt.hook('prepare:types', (opts) => {\n opts.references.push({\n types: '@strands.gg/auth-nuxt'\n })\n })\n }\n})"],"names":["defineNuxtModule","createResolver","addPlugin","addRouteMiddleware","addImports","addComponent"],"mappings":";;;AAOA,MAAM,iBAAoC;AAAA,EACxC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB,CAAA;AAAA,EACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,EAChD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,mBAAmB;AACrB;AAEA,MAAA,WAAeA,qBAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,EACV,MAAM,MAAM,SAAS,MAAM;AACzB,UAAM,WAAWC,IAAAA,0QAA8B;AAG/C,SAAK,QAAQ,cAAc,SAAS,KAAK,QAAQ,cAAc,UAAU,CAAA;AACvE,SAAK,QAAQ,cAAc,OAAe,cAAc;AAAA,MACxD,GAAG;AAAA,MACH,QAAQ,QAAQ,WAAW;AAAA,IAAA;AAI7B,QAAI,QAAQ,WAAW,OAAO;AAC5B,WAAK,QAAQ,IAAI,KAAK,6BAA6B;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,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;;AAmBjD,
|
|
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;;AAmBjD,wBAgHE"}
|
package/dist/nuxt/module.es.js
CHANGED
|
@@ -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\n// Create defaults that match the full interface to ensure proper type inference \nconst moduleDefaults: StrandsAuthConfig = {\n baseUrl: 'https://your-api.example.com',\n accentColor: '#EA00A8',\n redirectUrl: '/',\n onSignInUrl: '/dashboard',\n onSignOutUrl: '/',\n autoRefresh: true,\n refreshInterval: 4,\n protectedRoutes: [],\n guestOnlyRoutes: ['/auth', '/login', '/register'],\n devMode: false,\n styles: true,\n supportEmail: '',\n oauth2RedirectUrl: ''\n}\n\nexport default defineNuxtModule<StrandsAuthConfig>({\n meta: {\n name: '@strands.gg/accui/nuxt',\n configKey: 'strandsAuth',\n compatibility: {\n nuxt: '^3.0.0'\n }\n },\n defaults: moduleDefaults,\n async setup(options, nuxt) {\n const resolver = createResolver(import.meta.url)\n\n // Add runtime config\n nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {}\n ;(nuxt.options.runtimeConfig.public as any).strandsAuth = {\n ...options,\n styles: options.styles !== false\n }\n\n // Conditionally add CSS for styling based on autoImportStyles setting\n if (options.styles !== false) {\n nuxt.options.css.push('@strands.gg/accui/style.css')\n 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;AAAA,EACd,mBAAmB;AACrB;AAEA,MAAA,SAAe,iBAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,EACV,MAAM,MAAM,SAAS,MAAM;AACzB,UAAM,WAAW,eAAe,YAAY,GAAG;AAG/C,SAAK,QAAQ,cAAc,SAAS,KAAK,QAAQ,cAAc,UAAU,CAAA;AACvE,SAAK,QAAQ,cAAc,OAAe,cAAc;AAAA,MACxD,GAAG;AAAA,MACH,QAAQ,QAAQ,WAAW;AAAA,IAAA;AAI7B,QAAI,QAAQ,WAAW,OAAO;AAC5B,WAAK,QAAQ,IAAI,KAAK,6BAA6B;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
|
+
{"version":3,"file":"module.es.js","sources":["../../../../apps/accounts-ui/src/nuxt/module.ts"],"sourcesContent":["import { defineNuxtModule, addPlugin, createResolver, addImports, addComponent, addRouteMiddleware } from '@nuxt/kit'\n\n// Re-export types for users\nexport type { StrandsAuthConfig, StrandsAuthEndpoints } from '../types'\nimport type { StrandsAuthConfig } from '../types'\n\n// Create defaults that match the full interface to ensure proper type inference \nconst moduleDefaults: StrandsAuthConfig = {\n baseUrl: 'https://your-api.example.com',\n accentColor: '#EA00A8',\n redirectUrl: '/',\n onSignInUrl: '/dashboard',\n onSignOutUrl: '/',\n autoRefresh: true,\n refreshInterval: 4,\n protectedRoutes: [],\n guestOnlyRoutes: ['/auth', '/login', '/register'],\n devMode: false,\n styles: true,\n supportEmail: '',\n oauth2RedirectUrl: ''\n}\n\nexport default defineNuxtModule<StrandsAuthConfig>({\n meta: {\n name: '@strands.gg/accui/nuxt',\n configKey: 'strandsAuth',\n compatibility: {\n nuxt: '^3.0.0'\n }\n },\n defaults: moduleDefaults,\n async setup(options, nuxt) {\n const resolver = createResolver(import.meta.url)\n\n // Add runtime config\n nuxt.options.runtimeConfig.public = nuxt.options.runtimeConfig.public || {}\n ;(nuxt.options.runtimeConfig.public as any).strandsAuth = {\n ...options,\n styles: options.styles !== false\n }\n\n // Conditionally add CSS for styling based on autoImportStyles setting\n if (options.styles !== false) {\n nuxt.options.css.push('@strands.gg/accui/style.css')\n 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 'StrandsUserButton',\n 'StrandsPasswordReset',\n 'StrandsMFASetup',\n 'StrandsConfigProvider',\n 'SignedIn',\n 'SignedOut',\n 'StrandsLogo',\n 'StrandsSecuredFooter',\n // UI Components\n 'StrandsUiAlert',\n 'StrandsUiButton',\n 'StrandsUiCard',\n 'StrandsUiInput',\n 'StrandsUiLink',\n 'StrandsUiTabs',\n 'StrandsUiLoader'\n ]\n\n for (const component of components) {\n addComponent({\n name: component,\n export: component,\n filePath: '@strands.gg/accui'\n })\n }\n\n // Add type declarations\n nuxt.hook('prepare:types', (opts) => {\n opts.references.push({\n types: '@strands.gg/auth-nuxt'\n })\n })\n }\n})"],"names":[],"mappings":";AAOA,MAAM,iBAAoC;AAAA,EACxC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB,CAAA;AAAA,EACjB,iBAAiB,CAAC,SAAS,UAAU,WAAW;AAAA,EAChD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,mBAAmB;AACrB;AAEA,MAAA,SAAe,iBAAoC;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,MACb,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,UAAU;AAAA,EACV,MAAM,MAAM,SAAS,MAAM;AACzB,UAAM,WAAW,eAAe,YAAY,GAAG;AAG/C,SAAK,QAAQ,cAAc,SAAS,KAAK,QAAQ,cAAc,UAAU,CAAA;AACvE,SAAK,QAAQ,cAAc,OAAe,cAAc;AAAA,MACxD,GAAG;AAAA,MACH,QAAQ,QAAQ,WAAW;AAAA,IAAA;AAI7B,QAAI,QAAQ,WAAW,OAAO;AAC5B,WAAK,QAAQ,IAAI,KAAK,6BAA6B;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,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,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const app = require("nuxt/app");
|
|
4
|
-
const useStrandsAuth$1 = require("../../../useStrandsAuth-
|
|
4
|
+
const useStrandsAuth$1 = require("../../../useStrandsAuth-z4jAu9Uv.cjs");
|
|
5
5
|
const useStrandsAuth = () => {
|
|
6
6
|
const config = app.useRuntimeConfig().public["strandsAuth"];
|
|
7
7
|
const vueAuth = useStrandsAuth$1.useStrandsAuth();
|