@tomny-dev/uzi 0.1.8 → 0.1.9-pr.2.2.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/index.css CHANGED
@@ -360,15 +360,41 @@
360
360
  }
361
361
 
362
362
  /* src/components/modal/modal.module.css */
363
- .backdrop {
363
+ .portalLayer {
364
364
  position: fixed;
365
365
  inset: 0;
366
- background: rgba(0, 0, 0, 0.55);
366
+ z-index: 100;
367
367
  display: flex;
368
368
  align-items: center;
369
369
  justify-content: center;
370
370
  padding: 16px;
371
- z-index: 100;
371
+ }
372
+ .backdrop {
373
+ position: absolute;
374
+ inset: 0;
375
+ background: rgba(0, 0, 0, 0.55);
376
+ }
377
+ .backdrop[data-state=open] {
378
+ animation: backdropFadeIn 160ms ease;
379
+ }
380
+ .backdrop[data-state=closed] {
381
+ animation: backdropFadeOut 140ms ease;
382
+ }
383
+ .overlayContent {
384
+ position: relative;
385
+ z-index: 1;
386
+ display: flex;
387
+ align-items: center;
388
+ justify-content: center;
389
+ max-width: 100%;
390
+ max-height: 100%;
391
+ outline: none;
392
+ }
393
+ .overlayContent[data-state=open] {
394
+ animation: modalContentIn 180ms ease;
395
+ }
396
+ .overlayContent[data-state=closed] {
397
+ animation: modalContentOut 140ms ease;
372
398
  }
373
399
  .modal {
374
400
  background: var(--background, #0f172a);
@@ -449,6 +475,42 @@
449
475
  gap: 8px;
450
476
  margin-top: 20px;
451
477
  }
478
+ @keyframes backdropFadeIn {
479
+ from {
480
+ opacity: 0;
481
+ }
482
+ to {
483
+ opacity: 1;
484
+ }
485
+ }
486
+ @keyframes backdropFadeOut {
487
+ from {
488
+ opacity: 1;
489
+ }
490
+ to {
491
+ opacity: 0;
492
+ }
493
+ }
494
+ @keyframes modalContentIn {
495
+ from {
496
+ opacity: 0;
497
+ transform: translateY(6px) scale(0.98);
498
+ }
499
+ to {
500
+ opacity: 1;
501
+ transform: translateY(0) scale(1);
502
+ }
503
+ }
504
+ @keyframes modalContentOut {
505
+ from {
506
+ opacity: 1;
507
+ transform: translateY(0) scale(1);
508
+ }
509
+ to {
510
+ opacity: 0;
511
+ transform: translateY(4px) scale(0.98);
512
+ }
513
+ }
452
514
 
453
515
  /* src/components/alert/alert.module.css */
454
516
  .alert {
@@ -538,9 +600,19 @@
538
600
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
539
601
  animation: toastSlideIn 180ms ease-out;
540
602
  }
541
- .toast.exit {
603
+ .toast[data-state=closed] {
542
604
  animation: toastSlideOut 160ms ease-in forwards;
543
605
  }
606
+ .toast[data-swipe=move] {
607
+ transform: translateX(var(--radix-toast-swipe-move-x));
608
+ }
609
+ .toast[data-swipe=cancel] {
610
+ transform: translateX(0);
611
+ transition: transform 180ms ease-out;
612
+ }
613
+ .toast[data-swipe=end] {
614
+ animation: toastSwipeOut 160ms ease-out forwards;
615
+ }
544
616
  .icon {
545
617
  width: 18px;
546
618
  height: 18px;
@@ -597,6 +669,11 @@
597
669
  opacity: 1;
598
670
  background: var(--toast-button-bg, rgba(0, 0, 0, 0.1));
599
671
  }
672
+ .closeButton:focus-visible,
673
+ .actionButton:focus-visible {
674
+ outline: var(--focus-ring);
675
+ outline-offset: var(--focus-ring-offset);
676
+ }
600
677
  @keyframes toastSlideIn {
601
678
  from {
602
679
  opacity: 0;
@@ -617,6 +694,16 @@
617
694
  transform: translateY(-6px);
618
695
  }
619
696
  }
697
+ @keyframes toastSwipeOut {
698
+ from {
699
+ opacity: 1;
700
+ transform: translateX(var(--radix-toast-swipe-end-x));
701
+ }
702
+ to {
703
+ opacity: 0;
704
+ transform: translateX(calc(var(--radix-toast-swipe-end-x) * 1.05));
705
+ }
706
+ }
620
707
 
621
708
  /* src/components/input/input.module.css */
622
709
  .input {
@@ -673,38 +760,84 @@
673
760
  opacity: 0.5;
674
761
  }
675
762
 
676
- /* src/components/dropdown/dropdown.module.css */
763
+ /* src/components/multi-select/multi-select.module.css */
677
764
  .wrapper {
678
765
  position: relative;
679
- display: inline-block;
766
+ display: inline-flex;
767
+ min-width: 0;
768
+ max-width: 100%;
769
+ }
770
+ .wrapper-fullWidth {
771
+ width: 100%;
680
772
  }
681
773
  .trigger {
682
- display: flex;
774
+ width: 100%;
775
+ min-width: 0;
776
+ min-height: 2.125rem;
777
+ display: inline-flex;
683
778
  align-items: center;
684
779
  justify-content: space-between;
685
- gap: 8px;
686
- padding: 6px 10px 6px 14px;
687
- background: var(--ts-dropdown-bg, var(--panel, #111827));
688
- border: 1px solid var(--ts-dropdown-border, var(--border, #1f2937));
780
+ gap: 0.625rem;
689
781
  border-radius: 8px;
782
+ border: 1px solid var(--ts-dropdown-border, var(--border, #1f2937));
783
+ background: var(--ts-dropdown-bg, var(--panel, #111827));
690
784
  color: var(--ts-dropdown-text, var(--text, #e2e8f0));
785
+ padding: 6px 12px 6px 14px;
691
786
  font-size: 0.85rem;
692
- font-weight: 500;
787
+ line-height: 1.25rem;
788
+ font-family: inherit;
789
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 1px 2px rgba(0, 0, 0, 0.12);
790
+ transition:
791
+ border-color 0.15s ease,
792
+ background 0.15s ease,
793
+ color 0.15s ease,
794
+ box-shadow 0.15s ease;
693
795
  cursor: pointer;
694
- white-space: nowrap;
695
- transition: border-color 0.15s;
696
- user-select: none;
796
+ text-align: left;
697
797
  }
698
- .trigger:hover {
798
+ .trigger:hover:not(:disabled) {
699
799
  border-color: var(--ts-dropdown-accent, var(--accent, #22d3ee));
800
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.16);
700
801
  }
701
- .trigger:focus-visible {
802
+ .trigger:focus-visible,
803
+ .trigger[data-state=open] {
804
+ border-color: var(--ts-dropdown-accent, var(--primary, #22d3ee));
702
805
  outline: var(--focus-ring);
703
806
  outline-offset: var(--focus-ring-offset);
807
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0 0 1px color-mix(in srgb, var(--primary, #22d3ee) 30%, transparent);
704
808
  }
705
- .trigger-active {
706
- border-color: var(--ts-dropdown-accent, var(--accent, #22d3ee));
707
- color: var(--ts-dropdown-accent, var(--accent, #22d3ee));
809
+ .trigger:disabled {
810
+ cursor: not-allowed;
811
+ opacity: 0.6;
812
+ box-shadow: none;
813
+ }
814
+ .value {
815
+ min-width: 0;
816
+ display: flex;
817
+ flex: 1;
818
+ flex-wrap: wrap;
819
+ gap: 0.375rem;
820
+ align-items: center;
821
+ }
822
+ .placeholder {
823
+ color: var(--muted-foreground, #94a3b8);
824
+ }
825
+ .chip {
826
+ display: inline-flex;
827
+ align-items: center;
828
+ max-width: 100%;
829
+ padding: 2px 8px;
830
+ border-radius: 999px;
831
+ border: 1px solid color-mix(in srgb, var(--primary, #22d3ee) 32%, transparent);
832
+ background: color-mix(in srgb, var(--primary, #22d3ee) 10%, transparent);
833
+ color: var(--ts-dropdown-text, var(--text, #e2e8f0));
834
+ font-size: 0.75rem;
835
+ font-weight: 600;
836
+ line-height: 1.2;
837
+ white-space: nowrap;
838
+ }
839
+ .chip-summary {
840
+ color: var(--primary, #22d3ee);
708
841
  }
709
842
  .chevron {
710
843
  width: 10px;
@@ -712,62 +845,238 @@
712
845
  display: flex;
713
846
  align-items: center;
714
847
  justify-content: center;
715
- transition: transform 0.15s;
716
848
  color: var(--muted, #94a3b8);
717
849
  flex-shrink: 0;
850
+ transition: transform 0.15s ease, color 0.15s ease;
718
851
  }
719
- .chevron-open {
852
+ .trigger:hover:not(:disabled) .chevron,
853
+ .trigger[data-state=open] .chevron {
854
+ color: var(--ts-dropdown-text, var(--text, #e2e8f0));
855
+ }
856
+ .trigger[data-state=open] .chevron {
720
857
  transform: rotate(180deg);
721
858
  }
722
859
  .menu {
723
860
  position: absolute;
724
861
  top: calc(100% + 6px);
725
862
  left: 0;
863
+ z-index: 50;
726
864
  min-width: 100%;
727
- background: var(--ts-dropdown-bg, var(--panel, #111827));
728
- border: 1px solid var(--ts-dropdown-border, var(--border, #1f2937));
865
+ max-height: 16rem;
866
+ overflow-y: auto;
867
+ border: 1px solid var(--ts-menu-border, var(--border, #1f2937));
729
868
  border-radius: 10px;
730
- padding: 4px;
731
- z-index: 50;
732
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
733
- animation: dropdownFadeIn 0.1s ease;
869
+ background: var(--ts-menu-bg, var(--popover, var(--panel, #111827)));
870
+ color: var(--ts-menu-fg, var(--popover-foreground, var(--text, #e2e8f0)));
871
+ padding: 0.25rem;
872
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
873
+ animation: menuFadeIn 140ms ease;
874
+ }
875
+ .option {
876
+ width: 100%;
877
+ display: flex;
878
+ align-items: center;
879
+ gap: 0.625rem;
880
+ border: none;
881
+ border-radius: 0.5rem;
882
+ background: transparent;
883
+ color: inherit;
884
+ padding: 0.5rem 0.625rem;
885
+ font: inherit;
886
+ cursor: pointer;
887
+ text-align: left;
888
+ transition: background 0.12s ease, color 0.12s ease;
889
+ }
890
+ .option:hover:not(:disabled),
891
+ .option:focus-visible,
892
+ .option[data-highlighted] {
893
+ background: var(--ts-menu-hover-bg, var(--accent, rgba(255, 255, 255, 0.06)));
894
+ color: var(--ts-menu-hover-fg, var(--accent-foreground, var(--foreground, #e2e8f0)));
895
+ outline: none;
896
+ }
897
+ .option-disabled,
898
+ .option[data-disabled] {
899
+ opacity: 0.5;
900
+ cursor: not-allowed;
901
+ }
902
+ .option-selected .option-label {
903
+ color: var(--primary, #22d3ee);
904
+ }
905
+ .indicator {
906
+ width: 1rem;
907
+ height: 1rem;
908
+ display: inline-flex;
909
+ align-items: center;
910
+ justify-content: center;
911
+ flex-shrink: 0;
912
+ border-radius: 0.3125rem;
913
+ border: 1px solid var(--border, #1f2937);
914
+ color: transparent;
915
+ background: transparent;
916
+ transition:
917
+ border-color 0.12s ease,
918
+ background 0.12s ease,
919
+ color 0.12s ease;
920
+ }
921
+ .indicator-selected {
922
+ border-color: color-mix(in srgb, var(--primary, #22d3ee) 55%, transparent);
923
+ background: color-mix(in srgb, var(--primary, #22d3ee) 12%, transparent);
924
+ color: var(--primary, #22d3ee);
925
+ }
926
+ .indicator-disabled {
927
+ opacity: 0.65;
734
928
  }
735
- @keyframes dropdownFadeIn {
929
+ .option-label {
930
+ min-width: 0;
931
+ flex: 1;
932
+ }
933
+ @keyframes menuFadeIn {
736
934
  from {
737
935
  opacity: 0;
738
- transform: translateY(-4px);
936
+ transform: translateY(-4px) scale(0.98);
739
937
  }
740
938
  to {
741
939
  opacity: 1;
742
- transform: translateY(0);
940
+ transform: translateY(0) scale(1);
743
941
  }
744
942
  }
745
- .option {
746
- display: block;
943
+
944
+ /* src/components/select/select.module.css */
945
+ .wrapper {
946
+ position: relative;
947
+ display: inline-flex;
948
+ min-width: 0;
949
+ max-width: 100%;
950
+ }
951
+ .wrapper-fullWidth {
747
952
  width: 100%;
748
- padding: 8px 12px;
749
- border-radius: 6px;
953
+ }
954
+ .wrapper:not(.wrapper-fullWidth) .select {
955
+ width: auto;
956
+ }
957
+ .select {
958
+ width: 100%;
959
+ min-width: 0;
960
+ min-height: 2.125rem;
961
+ border-radius: 8px;
962
+ border: 1px solid var(--ts-dropdown-border, var(--border, #1f2937));
963
+ background: var(--ts-dropdown-bg, var(--panel, #111827));
964
+ color: var(--ts-dropdown-text, var(--text, #e2e8f0));
965
+ padding: 6px 32px 6px 14px;
750
966
  font-size: 0.85rem;
967
+ line-height: 1.25rem;
968
+ font-family: inherit;
751
969
  font-weight: 500;
752
- color: var(--muted, #94a3b8);
753
- background: none;
754
- border: none;
970
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 1px 2px rgba(0, 0, 0, 0.12);
971
+ transition:
972
+ border-color 0.15s ease,
973
+ background 0.15s ease,
974
+ color 0.15s ease,
975
+ box-shadow 0.15s ease;
755
976
  cursor: pointer;
756
977
  text-align: left;
757
978
  white-space: nowrap;
758
- transition: background 0.1s, color 0.1s;
759
979
  }
760
- .option:hover {
761
- background: var(--accent, color-mix(in srgb, var(--primary, #22d3ee) 8%, transparent));
762
- color: var(--ts-dropdown-text, var(--text, #e2e8f0));
980
+ .select:hover:not(:disabled) {
981
+ border-color: var(--ts-dropdown-accent, var(--accent, #22d3ee));
982
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.16);
763
983
  }
764
- .option:focus-visible {
984
+ .select:focus-visible {
985
+ border-color: var(--ts-dropdown-accent, var(--primary, #22d3ee));
765
986
  outline: var(--focus-ring);
766
987
  outline-offset: var(--focus-ring-offset);
988
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0 0 1px color-mix(in srgb, var(--primary, #22d3ee) 30%, transparent);
989
+ }
990
+ .select[data-placeholder] {
991
+ color: var(--muted-foreground, #94a3b8);
992
+ }
993
+ .select:disabled {
994
+ cursor: not-allowed;
995
+ opacity: 0.6;
996
+ box-shadow: none;
997
+ }
998
+ .chevron {
999
+ width: 10px;
1000
+ height: 10px;
1001
+ display: flex;
1002
+ align-items: center;
1003
+ justify-content: center;
1004
+ color: var(--muted, #94a3b8);
1005
+ flex-shrink: 0;
1006
+ margin-left: auto;
1007
+ transition: transform 0.15s ease, color 0.15s ease;
1008
+ }
1009
+ .select:hover:not(:disabled) .chevron,
1010
+ .select[data-state=open] .chevron {
1011
+ color: var(--ts-dropdown-text, var(--text, #e2e8f0));
1012
+ }
1013
+ .select[data-state=open] .chevron {
1014
+ transform: rotate(180deg);
1015
+ }
1016
+ .content {
1017
+ z-index: 50;
1018
+ min-width: var(--radix-select-trigger-width);
1019
+ max-height: min(18rem, var(--radix-select-content-available-height));
1020
+ overflow: hidden;
1021
+ border: 1px solid var(--ts-menu-border, var(--border, #1f2937));
1022
+ border-radius: 0.625rem;
1023
+ background: var(--ts-menu-bg, var(--popover, var(--panel, #111827)));
1024
+ color: var(--ts-menu-fg, var(--popover-foreground, var(--text, #e2e8f0)));
1025
+ padding: 0.25rem;
1026
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
1027
+ animation: selectFadeIn 140ms ease;
1028
+ }
1029
+ .viewport {
1030
+ max-height: inherit;
1031
+ overflow-y: auto;
1032
+ }
1033
+ .item {
1034
+ position: relative;
1035
+ display: flex;
1036
+ width: 100%;
1037
+ cursor: default;
1038
+ user-select: none;
1039
+ align-items: center;
1040
+ gap: 0.5rem;
1041
+ border-radius: 0.5rem;
1042
+ padding: 0.5rem 0.625rem 0.5rem 2rem;
1043
+ font-size: 0.875rem;
1044
+ line-height: 1.25rem;
1045
+ outline: none;
767
1046
  }
768
- .option-selected {
1047
+ .item[data-highlighted] {
1048
+ background: var(--ts-menu-hover-bg, var(--accent, rgba(255, 255, 255, 0.06)));
1049
+ color: var(--ts-menu-hover-fg, var(--accent-foreground, var(--foreground, #e2e8f0)));
1050
+ }
1051
+ .item[data-disabled] {
1052
+ pointer-events: none;
1053
+ opacity: 0.5;
1054
+ }
1055
+ .item[data-state=checked] {
769
1056
  color: var(--primary, #22d3ee);
770
- background: color-mix(in srgb, var(--primary, #22d3ee) 8%, transparent);
1057
+ }
1058
+ .indicator {
1059
+ position: absolute;
1060
+ left: 0.625rem;
1061
+ display: inline-flex;
1062
+ width: 1rem;
1063
+ height: 1rem;
1064
+ align-items: center;
1065
+ justify-content: center;
1066
+ color: currentColor;
1067
+ }
1068
+ .indicatorIcon {
1069
+ display: block;
1070
+ }
1071
+ @keyframes selectFadeIn {
1072
+ from {
1073
+ opacity: 0;
1074
+ transform: translateY(-4px) scale(0.98);
1075
+ }
1076
+ to {
1077
+ opacity: 1;
1078
+ transform: translateY(0) scale(1);
1079
+ }
771
1080
  }
772
1081
 
773
1082
  /* src/components/dropdown-menu/dropdown-menu.module.css */
@@ -1340,4 +1649,55 @@ button.uziSidebarNavItem {
1340
1649
  font-size: 13px;
1341
1650
  }
1342
1651
  }
1652
+
1653
+ /* src/components/skeleton/skeleton.module.css */
1654
+ .skeleton {
1655
+ background: color-mix(in srgb, var(--muted-foreground, #94a3b8) 14%, var(--background, #0f172a));
1656
+ animation: skeleton-pulse 1.6s ease-in-out infinite;
1657
+ }
1658
+ @keyframes skeleton-pulse {
1659
+ 0%, 100% {
1660
+ opacity: 1;
1661
+ }
1662
+ 50% {
1663
+ opacity: 0.45;
1664
+ }
1665
+ }
1666
+ .radius-sm {
1667
+ border-radius: 4px;
1668
+ }
1669
+ .radius-md {
1670
+ border-radius: 8px;
1671
+ }
1672
+ .radius-lg {
1673
+ border-radius: 12px;
1674
+ }
1675
+ .radius-full {
1676
+ border-radius: 9999px;
1677
+ }
1678
+
1679
+ /* src/components/progress/progress.module.css */
1680
+ .track {
1681
+ height: 8px;
1682
+ border-radius: 9999px;
1683
+ overflow: hidden;
1684
+ background: color-mix(in srgb, var(--border, #1f2937) 60%, transparent);
1685
+ }
1686
+ .fill {
1687
+ height: 100%;
1688
+ border-radius: 9999px;
1689
+ transition: width 0.4s ease;
1690
+ }
1691
+ .tone-default {
1692
+ background: var(--foreground, #e2e8f0);
1693
+ }
1694
+ .tone-success {
1695
+ background: var(--success, hsl(142 71% 45%));
1696
+ }
1697
+ .tone-warning {
1698
+ background: var(--warning, hsl(38 92% 50%));
1699
+ }
1700
+ .tone-danger {
1701
+ background: var(--destructive, #f87171);
1702
+ }
1343
1703
  /*# sourceMappingURL=index.css.map */