@strands.gg/accui 1.3.3 → 1.4.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.
Files changed (71) hide show
  1. package/dist/accui.css +550 -14
  2. package/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js +1 -1
  3. package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts +21 -1
  4. package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts.map +1 -1
  5. package/dist/nuxt/runtime/composables/useStrandsAuth.es.js +1 -1
  6. package/dist/nuxt/runtime/plugin.client.cjs.js +1 -1
  7. package/dist/nuxt/runtime/plugin.client.es.js +1 -1
  8. package/dist/nuxt/runtime/plugin.server.cjs.js +1 -1
  9. package/dist/nuxt/runtime/plugin.server.es.js +1 -1
  10. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js +1 -1
  11. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.es.js +1 -1
  12. package/dist/nuxt-v4/runtime/plugin.client.cjs.js +1 -1
  13. package/dist/nuxt-v4/runtime/plugin.client.es.js +1 -1
  14. package/dist/nuxt-v4/runtime/plugin.server.cjs.js +1 -1
  15. package/dist/nuxt-v4/runtime/plugin.server.es.js +1 -1
  16. package/dist/strands-auth-ui.cjs.js +3714 -645
  17. package/dist/strands-auth-ui.cjs.js.map +1 -1
  18. package/dist/strands-auth-ui.es.js +3724 -655
  19. package/dist/strands-auth-ui.es.js.map +1 -1
  20. package/dist/types/index.d.ts +3 -0
  21. package/dist/types/index.d.ts.map +1 -1
  22. package/dist/{useStrandsAuth-DQbwHB-6.js → useStrandsAuth-SdmBCyFS.js} +67 -7
  23. package/dist/useStrandsAuth-SdmBCyFS.js.map +1 -0
  24. package/dist/{useStrandsAuth-Bw5wrBA2.cjs → useStrandsAuth-zR8fRWme.cjs} +67 -7
  25. package/dist/useStrandsAuth-zR8fRWme.cjs.map +1 -0
  26. package/dist/{useStrandsConfig-V7XSMyQ5.js → useStrandsConfig-COEj6nFc.js} +3 -1
  27. package/dist/useStrandsConfig-COEj6nFc.js.map +1 -0
  28. package/dist/{useStrandsConfig-B9UkrP-c.cjs → useStrandsConfig-DW4ez8t4.cjs} +3 -1
  29. package/dist/useStrandsConfig-DW4ez8t4.cjs.map +1 -0
  30. package/dist/vue/components/SignedIn.vue.d.ts +2 -0
  31. package/dist/vue/components/SignedIn.vue.d.ts.map +1 -1
  32. package/dist/vue/components/SignedOut.vue.d.ts +2 -0
  33. package/dist/vue/components/SignedOut.vue.d.ts.map +1 -1
  34. package/dist/vue/components/StrandsCompleteSignUp.vue.d.ts.map +1 -1
  35. package/dist/vue/components/StrandsConfirmModal.vue.d.ts +2 -2
  36. package/dist/vue/components/StrandsHardwareKeySetupModal.vue.d.ts +4 -1
  37. package/dist/vue/components/StrandsHardwareKeySetupModal.vue.d.ts.map +1 -1
  38. package/dist/vue/components/StrandsMFASetup.vue.d.ts.map +1 -1
  39. package/dist/vue/components/StrandsMfaModal.vue.d.ts.map +1 -1
  40. package/dist/vue/components/StrandsMfaVerification.vue.d.ts.map +1 -1
  41. package/dist/vue/components/StrandsSettingsModal.vue.d.ts +18 -0
  42. package/dist/vue/components/StrandsSettingsModal.vue.d.ts.map +1 -0
  43. package/dist/vue/components/StrandsUserProfile.vue.d.ts +1 -1
  44. package/dist/vue/components/StrandsUserProfile.vue.d.ts.map +1 -1
  45. package/dist/vue/components/index.d.ts +1 -0
  46. package/dist/vue/components/index.d.ts.map +1 -1
  47. package/dist/vue/composables/useStrandsAuth.d.ts +21 -1
  48. package/dist/vue/composables/useStrandsAuth.d.ts.map +1 -1
  49. package/dist/vue/composables/useStrandsConfig.d.ts.map +1 -1
  50. package/dist/vue/composables/useStrandsMfa.d.ts.map +1 -1
  51. package/dist/vue/ui/UiAvatarEditor.vue.d.ts +24 -0
  52. package/dist/vue/ui/UiAvatarEditor.vue.d.ts.map +1 -0
  53. package/dist/vue/ui/UiAvatarEditorSimple.vue.d.ts +25 -0
  54. package/dist/vue/ui/UiAvatarEditorSimple.vue.d.ts.map +1 -0
  55. package/dist/vue/ui/UiButton.vue.d.ts +1 -0
  56. package/dist/vue/ui/UiButton.vue.d.ts.map +1 -1
  57. package/dist/vue/ui/UiInput.vue.d.ts +6 -1
  58. package/dist/vue/ui/UiInput.vue.d.ts.map +1 -1
  59. package/dist/vue/ui/UiLevelProgress.vue.d.ts +19 -0
  60. package/dist/vue/ui/UiLevelProgress.vue.d.ts.map +1 -0
  61. package/dist/vue/ui/UiToggle.vue.d.ts +15 -0
  62. package/dist/vue/ui/UiToggle.vue.d.ts.map +1 -0
  63. package/dist/vue/ui/index.d.ts +4 -0
  64. package/dist/vue/ui/index.d.ts.map +1 -1
  65. package/dist/vue/utils/sounds.d.ts +57 -0
  66. package/dist/vue/utils/sounds.d.ts.map +1 -0
  67. package/package.json +3 -1
  68. package/dist/useStrandsAuth-Bw5wrBA2.cjs.map +0 -1
  69. package/dist/useStrandsAuth-DQbwHB-6.js.map +0 -1
  70. package/dist/useStrandsConfig-B9UkrP-c.cjs.map +0 -1
  71. package/dist/useStrandsConfig-V7XSMyQ5.js.map +0 -1
package/dist/accui.css CHANGED
@@ -57,6 +57,13 @@
57
57
  --color-purple-100: oklch(94.6% 0.033 307.174);
58
58
  --color-purple-200: oklch(90.2% 0.063 306.703);
59
59
  --color-purple-700: oklch(49.6% 0.265 301.924);
60
+ --color-pink-50: oklch(97.1% 0.014 343.198);
61
+ --color-pink-100: oklch(94.8% 0.028 342.258);
62
+ --color-pink-200: oklch(89.9% 0.061 343.231);
63
+ --color-pink-400: oklch(71.8% 0.202 349.761);
64
+ --color-pink-500: oklch(65.6% 0.241 354.308);
65
+ --color-pink-600: oklch(59.2% 0.249 0.584);
66
+ --color-pink-700: oklch(52.5% 0.223 3.958);
60
67
  --color-gray-50: oklch(98.5% 0.002 247.839);
61
68
  --color-gray-100: oklch(96.7% 0.003 264.542);
62
69
  --color-gray-200: oklch(92.8% 0.006 264.531);
@@ -81,6 +88,7 @@
81
88
  --spacing: 0.25rem;
82
89
  --container-sm: 24rem;
83
90
  --container-md: 28rem;
91
+ --container-lg: 32rem;
84
92
  --container-2xl: 42rem;
85
93
  --container-4xl: 56rem;
86
94
  --container-5xl: 64rem;
@@ -110,6 +118,7 @@
110
118
  --radius-lg: 0.5rem;
111
119
  --radius-xl: 0.75rem;
112
120
  --radius-2xl: 1rem;
121
+ --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
113
122
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
114
123
  --animate-spin: spin 1s linear infinite;
115
124
  --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
@@ -119,14 +128,14 @@
119
128
  --default-font-family: var(--font-sans);
120
129
  --default-mono-font-family: var(--font-mono);
121
130
  --strands-accent: #EA00A8;
122
- --color-strands-50: hsl(from var(--strands-accent) h s calc(l * 0.05));
123
- --color-strands-100: hsl(from var(--strands-accent) h s calc(l * 0.1));
124
- --color-strands-400: hsl(from var(--strands-accent) h s calc(l * 0.8));
131
+ --color-strands-50: hsl(from var(--strands-accent) h s calc(l * 2));
132
+ --color-strands-100: hsl(from var(--strands-accent) h s calc(l * 1.8));
133
+ --color-strands-200: hsl(from var(--strands-accent) h s calc(l * 1.6));
134
+ --color-strands-400: hsl(from var(--strands-accent) h s calc(l * 1.2));
125
135
  --color-strands-500: hsl(from var(--strands-accent) h s calc(l));
126
- --color-strands-600: hsl(from var(--strands-accent) h s calc(l * 1.2));
127
- --color-strands-700: hsl(from var(--strands-accent) h s calc(l * 1.4));
128
- --color-strands-800: hsl(from var(--strands-accent) h s calc(l * 1.6));
129
- --color-strands-900: hsl(from var(--strands-accent) h s calc(l * 1.8));
136
+ --color-strands-600: hsl(from var(--strands-accent) h s calc(l * 0.8));
137
+ --color-strands-800: hsl(from var(--strands-accent) h s calc(l * 0.2));
138
+ --color-strands-900: hsl(from var(--strands-accent) h s calc(l * 0.1));
130
139
  }
131
140
  }
132
141
  @layer base {
@@ -356,21 +365,63 @@
356
365
  .relative {
357
366
  position: relative;
358
367
  }
368
+ .static {
369
+ position: static;
370
+ }
359
371
  .inset-0 {
360
372
  inset: calc(var(--spacing) * 0);
361
373
  }
362
374
  .inset-y-0 {
363
375
  inset-block: calc(var(--spacing) * 0);
364
376
  }
377
+ .-top-1 {
378
+ top: calc(var(--spacing) * -1);
379
+ }
380
+ .-top-2 {
381
+ top: calc(var(--spacing) * -2);
382
+ }
383
+ .top-1\/2 {
384
+ top: calc(1/2 * 100%);
385
+ }
386
+ .-right-1 {
387
+ right: calc(var(--spacing) * -1);
388
+ }
389
+ .-right-2 {
390
+ right: calc(var(--spacing) * -2);
391
+ }
365
392
  .right-0 {
366
393
  right: calc(var(--spacing) * 0);
367
394
  }
395
+ .-bottom-1 {
396
+ bottom: calc(var(--spacing) * -1);
397
+ }
398
+ .-bottom-2 {
399
+ bottom: calc(var(--spacing) * -2);
400
+ }
368
401
  .bottom-\[-2px\] {
369
402
  bottom: -2px;
370
403
  }
404
+ .-left-1 {
405
+ left: calc(var(--spacing) * -1);
406
+ }
407
+ .-left-2 {
408
+ left: calc(var(--spacing) * -2);
409
+ }
371
410
  .left-0 {
372
411
  left: calc(var(--spacing) * 0);
373
412
  }
413
+ .left-1\/2 {
414
+ left: calc(1/2 * 100%);
415
+ }
416
+ .z-10 {
417
+ z-index: 10;
418
+ }
419
+ .z-20 {
420
+ z-index: 20;
421
+ }
422
+ .z-50 {
423
+ z-index: 50;
424
+ }
374
425
  .float-right {
375
426
  float: right;
376
427
  }
@@ -479,9 +530,15 @@
479
530
  .hidden {
480
531
  display: none;
481
532
  }
533
+ .inline {
534
+ display: inline;
535
+ }
482
536
  .inline-flex {
483
537
  display: inline-flex;
484
538
  }
539
+ .h-2 {
540
+ height: calc(var(--spacing) * 2);
541
+ }
485
542
  .h-3 {
486
543
  height: calc(var(--spacing) * 3);
487
544
  }
@@ -497,6 +554,9 @@
497
554
  .h-8 {
498
555
  height: calc(var(--spacing) * 8);
499
556
  }
557
+ .h-9 {
558
+ height: calc(var(--spacing) * 9);
559
+ }
500
560
  .h-10 {
501
561
  height: calc(var(--spacing) * 10);
502
562
  }
@@ -524,6 +584,9 @@
524
584
  .max-h-96 {
525
585
  max-height: calc(var(--spacing) * 96);
526
586
  }
587
+ .max-h-\[90vh\] {
588
+ max-height: 90vh;
589
+ }
527
590
  .min-h-screen {
528
591
  min-height: 100vh;
529
592
  }
@@ -545,6 +608,9 @@
545
608
  .w-8 {
546
609
  width: calc(var(--spacing) * 8);
547
610
  }
611
+ .w-9 {
612
+ width: calc(var(--spacing) * 9);
613
+ }
548
614
  .w-10 {
549
615
  width: calc(var(--spacing) * 10);
550
616
  }
@@ -563,6 +629,13 @@
563
629
  .w-48 {
564
630
  width: calc(var(--spacing) * 48);
565
631
  }
632
+ .w-80 {
633
+ width: calc(var(--spacing) * 80);
634
+ }
635
+ .w-fit {
636
+ width: -moz-fit-content;
637
+ width: fit-content;
638
+ }
566
639
  .w-full {
567
640
  width: 100%;
568
641
  }
@@ -575,6 +648,9 @@
575
648
  .max-w-5xl {
576
649
  max-width: var(--container-5xl);
577
650
  }
651
+ .max-w-lg {
652
+ max-width: var(--container-lg);
653
+ }
578
654
  .max-w-md {
579
655
  max-width: var(--container-md);
580
656
  }
@@ -596,6 +672,14 @@
596
672
  .flex-shrink-0 {
597
673
  flex-shrink: 0;
598
674
  }
675
+ .-translate-x-1\/2 {
676
+ --tw-translate-x: calc(calc(1/2 * 100%) * -1);
677
+ translate: var(--tw-translate-x) var(--tw-translate-y);
678
+ }
679
+ .-translate-y-1\/2 {
680
+ --tw-translate-y: calc(calc(1/2 * 100%) * -1);
681
+ translate: var(--tw-translate-x) var(--tw-translate-y);
682
+ }
599
683
  .transform {
600
684
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
601
685
  }
@@ -605,15 +689,41 @@
605
689
  .animate-spin {
606
690
  animation: var(--animate-spin);
607
691
  }
692
+ .cursor-move {
693
+ cursor: move;
694
+ }
695
+ .cursor-ne-resize {
696
+ cursor: ne-resize;
697
+ }
698
+ .cursor-not-allowed {
699
+ cursor: not-allowed;
700
+ }
701
+ .cursor-nw-resize {
702
+ cursor: nw-resize;
703
+ }
608
704
  .cursor-pointer {
609
705
  cursor: pointer;
610
706
  }
707
+ .cursor-se-resize {
708
+ cursor: se-resize;
709
+ }
710
+ .cursor-sw-resize {
711
+ cursor: sw-resize;
712
+ }
713
+ .appearance-none {
714
+ -webkit-appearance: none;
715
+ -moz-appearance: none;
716
+ appearance: none;
717
+ }
611
718
  .grid-cols-1 {
612
719
  grid-template-columns: repeat(1, minmax(0, 1fr));
613
720
  }
614
721
  .grid-cols-2 {
615
722
  grid-template-columns: repeat(2, minmax(0, 1fr));
616
723
  }
724
+ .grid-cols-3 {
725
+ grid-template-columns: repeat(3, minmax(0, 1fr));
726
+ }
617
727
  .flex-col {
618
728
  flex-direction: column;
619
729
  }
@@ -626,6 +736,9 @@
626
736
  .items-start {
627
737
  align-items: flex-start;
628
738
  }
739
+ .items-stretch {
740
+ align-items: stretch;
741
+ }
629
742
  .justify-between {
630
743
  justify-content: space-between;
631
744
  }
@@ -647,6 +760,9 @@
647
760
  .gap-6 {
648
761
  gap: calc(var(--spacing) * 6);
649
762
  }
763
+ .gap-8 {
764
+ gap: calc(var(--spacing) * 8);
765
+ }
650
766
  .space-y-1 {
651
767
  :where(& > :not(:last-child)) {
652
768
  --tw-space-y-reverse: 0;
@@ -752,6 +868,10 @@
752
868
  border-style: var(--tw-border-style);
753
869
  border-width: 1px;
754
870
  }
871
+ .border-2 {
872
+ border-style: var(--tw-border-style);
873
+ border-width: 2px;
874
+ }
755
875
  .border-t {
756
876
  border-top-style: var(--tw-border-style);
757
877
  border-top-width: 1px;
@@ -764,6 +884,10 @@
764
884
  border-bottom-style: var(--tw-border-style);
765
885
  border-bottom-width: 2px;
766
886
  }
887
+ .border-dashed {
888
+ --tw-border-style: dashed;
889
+ border-style: dashed;
890
+ }
767
891
  .border-\[var\(--strands-primary\)\] {
768
892
  border-color: var(--strands-primary);
769
893
  }
@@ -788,6 +912,9 @@
788
912
  .border-neutral-200 {
789
913
  border-color: var(--color-neutral-200);
790
914
  }
915
+ .border-pink-500 {
916
+ border-color: var(--color-pink-500);
917
+ }
791
918
  .border-purple-200 {
792
919
  border-color: var(--color-purple-200);
793
920
  }
@@ -821,6 +948,12 @@
821
948
  background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
822
949
  }
823
950
  }
951
+ .bg-black\/50 {
952
+ background-color: color-mix(in srgb, #000 50%, transparent);
953
+ @supports (color: color-mix(in lab, red, red)) {
954
+ background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
955
+ }
956
+ }
824
957
  .bg-blue-50 {
825
958
  background-color: var(--color-blue-50);
826
959
  }
@@ -860,6 +993,9 @@
860
993
  .bg-neutral-300 {
861
994
  background-color: var(--color-neutral-300);
862
995
  }
996
+ .bg-pink-100 {
997
+ background-color: var(--color-pink-100);
998
+ }
863
999
  .bg-purple-50 {
864
1000
  background-color: var(--color-purple-50);
865
1001
  }
@@ -901,6 +1037,10 @@
901
1037
  --tw-gradient-position: to right in oklab;
902
1038
  background-image: linear-gradient(var(--tw-gradient-stops));
903
1039
  }
1040
+ .from-gray-50 {
1041
+ --tw-gradient-from: var(--color-gray-50);
1042
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1043
+ }
904
1044
  .from-neutral-50 {
905
1045
  --tw-gradient-from: var(--color-neutral-50);
906
1046
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
@@ -909,6 +1049,10 @@
909
1049
  --tw-gradient-from: var(--color-strands-400);
910
1050
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
911
1051
  }
1052
+ .to-gray-100 {
1053
+ --tw-gradient-to: var(--color-gray-100);
1054
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1055
+ }
912
1056
  .to-neutral-100 {
913
1057
  --tw-gradient-to: var(--color-neutral-100);
914
1058
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
@@ -917,6 +1061,10 @@
917
1061
  --tw-gradient-to: var(--color-strands-600);
918
1062
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
919
1063
  }
1064
+ .to-white {
1065
+ --tw-gradient-to: var(--color-white);
1066
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1067
+ }
920
1068
  .fill-current {
921
1069
  fill: currentcolor;
922
1070
  }
@@ -933,12 +1081,18 @@
933
1081
  .p-4 {
934
1082
  padding: calc(var(--spacing) * 4);
935
1083
  }
1084
+ .p-5 {
1085
+ padding: calc(var(--spacing) * 5);
1086
+ }
936
1087
  .p-6 {
937
1088
  padding: calc(var(--spacing) * 6);
938
1089
  }
939
1090
  .p-8 {
940
1091
  padding: calc(var(--spacing) * 8);
941
1092
  }
1093
+ .p-16 {
1094
+ padding: calc(var(--spacing) * 16);
1095
+ }
942
1096
  .px-1 {
943
1097
  padding-inline: calc(var(--spacing) * 1);
944
1098
  }
@@ -954,6 +1108,9 @@
954
1108
  .px-4 {
955
1109
  padding-inline: calc(var(--spacing) * 4);
956
1110
  }
1111
+ .px-5 {
1112
+ padding-inline: calc(var(--spacing) * 5);
1113
+ }
957
1114
  .px-6 {
958
1115
  padding-inline: calc(var(--spacing) * 6);
959
1116
  }
@@ -1171,6 +1328,9 @@
1171
1328
  .text-neutral-900 {
1172
1329
  color: var(--color-neutral-900);
1173
1330
  }
1331
+ .text-pink-600 {
1332
+ color: var(--color-pink-600);
1333
+ }
1174
1334
  .text-purple-700 {
1175
1335
  color: var(--color-purple-700);
1176
1336
  }
@@ -1237,6 +1397,9 @@
1237
1397
  .opacity-25 {
1238
1398
  opacity: 25%;
1239
1399
  }
1400
+ .opacity-60 {
1401
+ opacity: 60%;
1402
+ }
1240
1403
  .opacity-75 {
1241
1404
  opacity: 75%;
1242
1405
  }
@@ -1244,6 +1407,10 @@
1244
1407
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1245
1408
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1246
1409
  }
1410
+ .shadow-2xl {
1411
+ --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
1412
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1413
+ }
1247
1414
  .shadow-lg {
1248
1415
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1249
1416
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1256,6 +1423,14 @@
1256
1423
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1257
1424
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1258
1425
  }
1426
+ .ring {
1427
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1428
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1429
+ }
1430
+ .ring-2 {
1431
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1432
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1433
+ }
1259
1434
  .outline {
1260
1435
  outline-style: var(--tw-outline-style);
1261
1436
  outline-width: 1px;
@@ -1264,6 +1439,11 @@
1264
1439
  --tw-blur: blur(8px);
1265
1440
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
1266
1441
  }
1442
+ .drop-shadow-md {
1443
+ --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.12)));
1444
+ --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));
1445
+ filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
1446
+ }
1267
1447
  .filter {
1268
1448
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
1269
1449
  }
@@ -1292,6 +1472,11 @@
1292
1472
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1293
1473
  transition-duration: var(--tw-duration, var(--default-transition-duration));
1294
1474
  }
1475
+ .transition-shadow {
1476
+ transition-property: box-shadow;
1477
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1478
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1479
+ }
1295
1480
  .duration-150 {
1296
1481
  --tw-duration: 150ms;
1297
1482
  transition-duration: 150ms;
@@ -1300,6 +1485,10 @@
1300
1485
  --tw-duration: 200ms;
1301
1486
  transition-duration: 200ms;
1302
1487
  }
1488
+ .duration-300 {
1489
+ --tw-duration: 300ms;
1490
+ transition-duration: 300ms;
1491
+ }
1303
1492
  .ease-\[cubic-bezier\(0\.25\,0\.46\,0\.45\,0\.94\)\] {
1304
1493
  --tw-ease: cubic-bezier(0.25,0.46,0.45,0.94);
1305
1494
  transition-timing-function: cubic-bezier(0.25,0.46,0.45,0.94);
@@ -1371,6 +1560,20 @@
1371
1560
  }
1372
1561
  }
1373
1562
  }
1563
+ .hover\:border-pink-400 {
1564
+ &:hover {
1565
+ @media (hover: hover) {
1566
+ border-color: var(--color-pink-400);
1567
+ }
1568
+ }
1569
+ }
1570
+ .hover\:border-strands-600 {
1571
+ &:hover {
1572
+ @media (hover: hover) {
1573
+ border-color: var(--color-strands-600);
1574
+ }
1575
+ }
1576
+ }
1374
1577
  .hover\:bg-gray-50 {
1375
1578
  &:hover {
1376
1579
  @media (hover: hover) {
@@ -1385,6 +1588,13 @@
1385
1588
  }
1386
1589
  }
1387
1590
  }
1591
+ .hover\:bg-gray-200 {
1592
+ &:hover {
1593
+ @media (hover: hover) {
1594
+ background-color: var(--color-gray-200);
1595
+ }
1596
+ }
1597
+ }
1388
1598
  .hover\:bg-gray-300 {
1389
1599
  &:hover {
1390
1600
  @media (hover: hover) {
@@ -1399,6 +1609,20 @@
1399
1609
  }
1400
1610
  }
1401
1611
  }
1612
+ .hover\:bg-pink-50 {
1613
+ &:hover {
1614
+ @media (hover: hover) {
1615
+ background-color: var(--color-pink-50);
1616
+ }
1617
+ }
1618
+ }
1619
+ .hover\:bg-pink-200 {
1620
+ &:hover {
1621
+ @media (hover: hover) {
1622
+ background-color: var(--color-pink-200);
1623
+ }
1624
+ }
1625
+ }
1402
1626
  .hover\:bg-red-50 {
1403
1627
  &:hover {
1404
1628
  @media (hover: hover) {
@@ -1413,6 +1637,20 @@
1413
1637
  }
1414
1638
  }
1415
1639
  }
1640
+ .hover\:bg-strands-100 {
1641
+ &:hover {
1642
+ @media (hover: hover) {
1643
+ background-color: var(--color-strands-100);
1644
+ }
1645
+ }
1646
+ }
1647
+ .hover\:bg-strands-200 {
1648
+ &:hover {
1649
+ @media (hover: hover) {
1650
+ background-color: var(--color-strands-200);
1651
+ }
1652
+ }
1653
+ }
1416
1654
  .hover\:bg-strands-500 {
1417
1655
  &:hover {
1418
1656
  @media (hover: hover) {
@@ -1469,6 +1707,13 @@
1469
1707
  }
1470
1708
  }
1471
1709
  }
1710
+ .hover\:text-pink-700 {
1711
+ &:hover {
1712
+ @media (hover: hover) {
1713
+ color: var(--color-pink-700);
1714
+ }
1715
+ }
1716
+ }
1472
1717
  .hover\:text-red-500 {
1473
1718
  &:hover {
1474
1719
  @media (hover: hover) {
@@ -1490,13 +1735,6 @@
1490
1735
  }
1491
1736
  }
1492
1737
  }
1493
- .hover\:text-strands-700 {
1494
- &:hover {
1495
- @media (hover: hover) {
1496
- color: var(--color-strands-700);
1497
- }
1498
- }
1499
- }
1500
1738
  .hover\:text-strands-800 {
1501
1739
  &:hover {
1502
1740
  @media (hover: hover) {
@@ -1534,6 +1772,31 @@
1534
1772
  }
1535
1773
  }
1536
1774
  }
1775
+ .hover\:shadow-sm {
1776
+ &:hover {
1777
+ @media (hover: hover) {
1778
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1779
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1780
+ }
1781
+ }
1782
+ }
1783
+ .focus\:ring-2 {
1784
+ &:focus {
1785
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1786
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1787
+ }
1788
+ }
1789
+ .focus\:ring-strands-400 {
1790
+ &:focus {
1791
+ --tw-ring-color: var(--color-strands-400);
1792
+ }
1793
+ }
1794
+ .focus\:outline-none {
1795
+ &:focus {
1796
+ --tw-outline-style: none;
1797
+ outline-style: none;
1798
+ }
1799
+ }
1537
1800
  .focus-visible\:border-red-500 {
1538
1801
  &:focus-visible {
1539
1802
  border-color: var(--color-red-500);
@@ -1627,6 +1890,11 @@
1627
1890
  grid-template-columns: repeat(3, minmax(0, 1fr));
1628
1891
  }
1629
1892
  }
1893
+ .md\:grid-cols-4 {
1894
+ @media (width >= 48rem) {
1895
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1896
+ }
1897
+ }
1630
1898
  .md\:gap-6 {
1631
1899
  @media (width >= 48rem) {
1632
1900
  gap: calc(var(--spacing) * 6);
@@ -1895,6 +2163,21 @@
1895
2163
  opacity: 1;
1896
2164
  }
1897
2165
  }
2166
+ @property --tw-translate-x {
2167
+ syntax: "*";
2168
+ inherits: false;
2169
+ initial-value: 0;
2170
+ }
2171
+ @property --tw-translate-y {
2172
+ syntax: "*";
2173
+ inherits: false;
2174
+ initial-value: 0;
2175
+ }
2176
+ @property --tw-translate-z {
2177
+ syntax: "*";
2178
+ inherits: false;
2179
+ initial-value: 0;
2180
+ }
1898
2181
  @property --tw-rotate-x {
1899
2182
  syntax: "*";
1900
2183
  inherits: false;
@@ -2160,6 +2443,9 @@
2160
2443
  @layer properties {
2161
2444
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
2162
2445
  *, ::before, ::after, ::backdrop {
2446
+ --tw-translate-x: 0;
2447
+ --tw-translate-y: 0;
2448
+ --tw-translate-z: 0;
2163
2449
  --tw-rotate-x: initial;
2164
2450
  --tw-rotate-y: initial;
2165
2451
  --tw-rotate-z: initial;
@@ -2222,6 +2508,19 @@
2222
2508
  }
2223
2509
  }
2224
2510
 
2511
+ /* Custom color button hover effects */
2512
+ .custom-color-button[data-v-75532d97]:hover:not(:disabled) {
2513
+ filter: brightness(0.9);
2514
+ }
2515
+ .custom-color-button.ghost-variant[data-v-75532d97]:hover:not(:disabled) {
2516
+ filter: brightness(1);
2517
+ opacity: 0.8;
2518
+ }
2519
+ .custom-color-button.outline-variant[data-v-75532d97]:hover:not(:disabled) {
2520
+ filter: brightness(1);
2521
+ opacity: 0.9;
2522
+ }
2523
+
2225
2524
  /* When used in a modal, the card should fill the available space */
2226
2525
  .modal-card .card-content[data-v-68dad7e6] {
2227
2526
  flex: 1;
@@ -2361,6 +2660,243 @@ input.pr-10[data-v-e87dc617] {
2361
2660
  animation: draw-line-32cc7309 .8s linear infinite;
2362
2661
  }
2363
2662
 
2663
+ .ui-toggle[data-v-03ea7354] {
2664
+ position: relative;
2665
+ display: inline-flex;
2666
+ align-items: center;
2667
+ width: 2.75rem;
2668
+ height: 1.5rem;
2669
+ border: 2px solid transparent;
2670
+ border-radius: 9999px;
2671
+ cursor: pointer;
2672
+ transition: all 0.2s ease-in-out;
2673
+ outline: none;
2674
+ background-color: transparent;
2675
+ padding: 0;
2676
+ }
2677
+ .ui-toggle[data-v-03ea7354]:focus {
2678
+ box-shadow: 0 0 0 3px rgba(234, 0, 168, 0.1);
2679
+ }
2680
+ .ui-toggle--off[data-v-03ea7354] {
2681
+ background-color: #d1d5db;
2682
+ }
2683
+ .ui-toggle--on[data-v-03ea7354] {
2684
+ background-color: #ea00a8;
2685
+ }
2686
+ .ui-toggle--disabled[data-v-03ea7354] {
2687
+ opacity: 0.5;
2688
+ cursor: not-allowed;
2689
+ }
2690
+ .ui-toggle-thumb[data-v-03ea7354] {
2691
+ display: inline-block;
2692
+ width: 1.25rem;
2693
+ height: 1.25rem;
2694
+ background-color: white;
2695
+ border-radius: 50%;
2696
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
2697
+ transition: transform 0.2s ease-in-out;
2698
+ }
2699
+ .ui-toggle-thumb--off[data-v-03ea7354] {
2700
+ transform: translateX(0);
2701
+ }
2702
+ .ui-toggle-thumb--on[data-v-03ea7354] {
2703
+ transform: translateX(1.25rem);
2704
+ }
2705
+
2706
+ /* Dark mode support */
2707
+ @media (prefers-color-scheme: dark) {
2708
+ .ui-toggle--off[data-v-03ea7354] {
2709
+ background-color: #4b5563;
2710
+ }
2711
+ .ui-toggle-thumb[data-v-03ea7354] {
2712
+ background-color: #f9fafb;
2713
+ }
2714
+ }
2715
+
2716
+
2717
+ .avatar-editor-simple {
2718
+ width: 100%;
2719
+ }
2720
+
2721
+ /* Upload Area */
2722
+ .upload-area {
2723
+ border: 2px dashed #e5e7eb;
2724
+ border-radius: 12px;
2725
+ padding: 3rem;
2726
+ text-align: center;
2727
+ cursor: pointer;
2728
+ transition: all 0.2s;
2729
+ background: white;
2730
+ }
2731
+ .upload-area:hover {
2732
+ border-color: #ea00a8;
2733
+ background: #fef2f9;
2734
+ }
2735
+ .upload-content {
2736
+ display: flex;
2737
+ flex-direction: column;
2738
+ align-items: center;
2739
+ }
2740
+
2741
+ /* Editor Container */
2742
+ .editor-container {
2743
+ display: flex;
2744
+ gap: 2rem;
2745
+ }
2746
+ .editor-main {
2747
+ flex: 1;
2748
+ }
2749
+
2750
+ /* Canvas Container */
2751
+ .canvas-container {
2752
+ position: relative;
2753
+ width: 300px;
2754
+ height: 300px;
2755
+ margin: 0 auto;
2756
+ border-radius: 12px;
2757
+ overflow: hidden;
2758
+ background: #f9fafb;
2759
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
2760
+ }
2761
+ .canvas {
2762
+ display: block;
2763
+ cursor: move;
2764
+ }
2765
+ .crop-overlay {
2766
+ position: absolute;
2767
+ inset: 0;
2768
+ pointer-events: none;
2769
+ }
2770
+
2771
+ /* Controls */
2772
+ .controls {
2773
+ margin-top: 1.5rem;
2774
+ space-y: 1rem;
2775
+ }
2776
+ .zoom-control {
2777
+ display: flex;
2778
+ align-items: center;
2779
+ gap: 0.75rem;
2780
+ background: white;
2781
+ padding: 0.75rem;
2782
+ border-radius: 8px;
2783
+ border: 1px solid #e5e7eb;
2784
+ }
2785
+ .zoom-button {
2786
+ width: 32px;
2787
+ height: 32px;
2788
+ display: flex;
2789
+ align-items: center;
2790
+ justify-content: center;
2791
+ background: #f3f4f6;
2792
+ border: 1px solid #e5e7eb;
2793
+ border-radius: 6px;
2794
+ color: #4b5563;
2795
+ cursor: pointer;
2796
+ transition: all 0.15s;
2797
+ }
2798
+ .zoom-button:hover {
2799
+ background: #e5e7eb;
2800
+ color: #1f2937;
2801
+ }
2802
+ .zoom-slider {
2803
+ flex: 1;
2804
+ height: 6px;
2805
+ background: #e5e7eb;
2806
+ border-radius: 3px;
2807
+ outline: none;
2808
+ -webkit-appearance: none;
2809
+ }
2810
+ .zoom-slider::-webkit-slider-thumb {
2811
+ -webkit-appearance: none;
2812
+ width: 18px;
2813
+ height: 18px;
2814
+ background: #ea00a8;
2815
+ border: 2px solid white;
2816
+ border-radius: 50%;
2817
+ cursor: pointer;
2818
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
2819
+ }
2820
+ .zoom-slider::-moz-range-thumb {
2821
+ width: 18px;
2822
+ height: 18px;
2823
+ background: #ea00a8;
2824
+ border: 2px solid white;
2825
+ border-radius: 50%;
2826
+ cursor: pointer;
2827
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
2828
+ }
2829
+
2830
+ /* Action Buttons */
2831
+ .action-buttons {
2832
+ display: flex;
2833
+ gap: 0.75rem;
2834
+ margin-top: 1rem;
2835
+ }
2836
+ .btn-primary,
2837
+ .btn-secondary {
2838
+ padding: 0.625rem 1.25rem;
2839
+ border-radius: 8px;
2840
+ font-size: 0.875rem;
2841
+ font-weight: 500;
2842
+ cursor: pointer;
2843
+ transition: all 0.15s;
2844
+ border: 1px solid transparent;
2845
+ }
2846
+ .btn-primary {
2847
+ background: #ea00a8;
2848
+ color: white;
2849
+ flex: 1;
2850
+ }
2851
+ .btn-primary:hover:not(:disabled) {
2852
+ background: #d10096;
2853
+ }
2854
+ .btn-primary:disabled {
2855
+ opacity: 0.5;
2856
+ cursor: not-allowed;
2857
+ }
2858
+ .btn-secondary {
2859
+ background: white;
2860
+ color: #4b5563;
2861
+ border-color: #e5e7eb;
2862
+ }
2863
+ .btn-secondary:hover {
2864
+ background: #f9fafb;
2865
+ color: #1f2937;
2866
+ }
2867
+
2868
+ /* Preview Section */
2869
+ .preview-section {
2870
+ width: 150px;
2871
+ padding: 1rem;
2872
+ background: white;
2873
+ border: 1px solid #e5e7eb;
2874
+ border-radius: 12px;
2875
+ height: -moz-fit-content;
2876
+ height: fit-content;
2877
+ }
2878
+ .preview-container {
2879
+ width: 100px;
2880
+ height: 100px;
2881
+ margin: 0 auto;
2882
+ border-radius: 50%;
2883
+ overflow: hidden;
2884
+ border: 2px solid #e5e7eb;
2885
+ background: white;
2886
+ }
2887
+ .preview-canvas {
2888
+ display: block;
2889
+ width: 100%;
2890
+ height: 100%;
2891
+ }
2892
+
2893
+ .level-progress-container[data-v-2a45a027] {
2894
+ display: flex;
2895
+ align-items: center;
2896
+ justify-content: center;
2897
+ padding: 12px;
2898
+ }
2899
+
2364
2900
  /* Modal Overlay - Full responsive behavior */
2365
2901
  .modal-overlay[data-v-63dd5ea5] {
2366
2902
  position: fixed;