@sequent-org/moodboard 1.4.54 → 1.4.56

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.
@@ -692,29 +692,25 @@
692
692
  overflow: hidden;
693
693
  }
694
694
 
695
- /* Overlay-заглушка на полотне доски во время генерации изображения */
696
- @keyframes moodboard-pending-shimmer {
697
- 0% { background-position: 200% 0; }
698
- 100% { background-position: -100% 0; }
699
- }
700
-
695
+ /* Overlay-заглушка (скелетон) на полотне доски во время генерации изображения.
696
+ Тот же вид, что у скелетона 3D/видео: белая карточка, бегущий блик,
697
+ пульсирующая иконка. Появление слайдом (нужно для раскладки батча). */
701
698
  .moodboard-chat__pending-overlay {
702
699
  position: fixed;
700
+ box-sizing: border-box;
703
701
  --moodboard-chat-board-animation-ms: 520ms;
704
702
  --moodboard-chat-pending-enter-x: 320px;
705
- background: linear-gradient(
706
- 90deg,
707
- #5F7179 0%,
708
- #7A8D96 50%,
709
- #5F7179 100%
710
- );
711
- background-size: 200% 100%;
712
- animation: moodboard-pending-shimmer 5.76s linear infinite;
703
+ background: #ffffff;
713
704
  border-radius: 12px;
714
- box-shadow: 8px 8px 24px rgba(0, 0, 0, 0.12);
705
+ box-shadow:
706
+ 0 0 0 1px rgba(17, 24, 39, 0.08),
707
+ 0 8px 24px rgba(15, 23, 42, 0.10);
715
708
  overflow: hidden;
716
709
  pointer-events: none;
717
710
  z-index: 10;
711
+ display: flex;
712
+ align-items: center;
713
+ justify-content: center;
718
714
  transition:
719
715
  left var(--moodboard-chat-board-animation-ms) cubic-bezier(0.22, 1, 0.36, 1),
720
716
  transform var(--moodboard-chat-board-animation-ms) cubic-bezier(0.22, 1, 0.36, 1),
@@ -722,6 +718,21 @@
722
718
  will-change: transform, opacity;
723
719
  }
724
720
 
721
+ /* Бегущий блик по поверхности скелетона */
722
+ .moodboard-chat__pending-overlay::after {
723
+ content: '';
724
+ position: absolute;
725
+ inset: 0;
726
+ background: linear-gradient(
727
+ 100deg,
728
+ transparent 30%,
729
+ rgba(17, 24, 39, 0.07) 50%,
730
+ transparent 70%
731
+ );
732
+ background-size: 220% 100%;
733
+ animation: moodboard-chat-skeleton-sweep 1.6s linear infinite;
734
+ }
735
+
725
736
  .moodboard-chat__pending-overlay--enter {
726
737
  opacity: 0;
727
738
  transform: translateX(var(--moodboard-chat-pending-enter-x));
@@ -732,17 +743,19 @@
732
743
  transform: translateX(0);
733
744
  }
734
745
 
735
- .moodboard-chat__pending-image-label {
736
- position: absolute;
737
- bottom: var(--moodboard-chat-pending-label-bottom, 10px);
738
- left: var(--moodboard-chat-pending-label-left, 12px);
739
- font-family: 'GeistSans', 'GeistSans Fallback', 'Roboto', Arial, sans-serif;
740
- font-size: var(--moodboard-chat-pending-label-font-size, 20px);
741
- font-weight: 400;
742
- color: #ffffff;
743
- pointer-events: none;
744
- white-space: nowrap;
745
- text-align: left;
746
+ .moodboard-chat__pending-overlay-icon {
747
+ position: relative;
748
+ z-index: 1;
749
+ width: 34%;
750
+ max-width: 72px;
751
+ color: #9CA3AF;
752
+ animation: moodboard-chat-skeleton-pulse 1.8s ease-in-out infinite;
753
+ }
754
+
755
+ .moodboard-chat__pending-overlay-icon svg {
756
+ width: 100%;
757
+ height: 100%;
758
+ display: block;
746
759
  }
747
760
 
748
761
  /* ── Прогресс генерации 3D-модели в композере ───────────────────────── */
@@ -845,8 +858,8 @@
845
858
  display: none;
846
859
  }
847
860
 
848
- /* ── Скелетон 3D-модели на доске ─────────────────────────────────────── */
849
- .moodboard-chat__3d-skeleton {
861
+ /* ── Скелетон генерируемого объекта на доске (3D / изображение / видео) ─── */
862
+ .moodboard-chat__board-skeleton {
850
863
  position: fixed;
851
864
  box-sizing: border-box;
852
865
  background: #ffffff;
@@ -869,7 +882,7 @@
869
882
  }
870
883
 
871
884
  /* Бегущий блик по поверхности скелетона */
872
- .moodboard-chat__3d-skeleton::after {
885
+ .moodboard-chat__board-skeleton::after {
873
886
  content: '';
874
887
  position: absolute;
875
888
  inset: 0;
@@ -883,7 +896,7 @@
883
896
  animation: moodboard-chat-skeleton-sweep 1.6s linear infinite;
884
897
  }
885
898
 
886
- .moodboard-chat__3d-skeleton-icon {
899
+ .moodboard-chat__board-skeleton-icon {
887
900
  position: relative;
888
901
  z-index: 1;
889
902
  width: 34%;
@@ -892,18 +905,18 @@
892
905
  animation: moodboard-chat-skeleton-pulse 1.8s ease-in-out infinite;
893
906
  }
894
907
 
895
- .moodboard-chat__3d-skeleton-icon svg {
908
+ .moodboard-chat__board-skeleton-icon svg {
896
909
  width: 100%;
897
910
  height: 100%;
898
911
  display: block;
899
912
  }
900
913
 
901
- .moodboard-chat__3d-skeleton--enter {
914
+ .moodboard-chat__board-skeleton--enter {
902
915
  opacity: 0;
903
916
  transform: scale(0.92);
904
917
  }
905
918
 
906
- .moodboard-chat__3d-skeleton--entered {
919
+ .moodboard-chat__board-skeleton--entered {
907
920
  opacity: 1;
908
921
  transform: scale(1);
909
922
  }
@@ -195,7 +195,7 @@
195
195
  flex-direction: row;
196
196
  align-items: center;
197
197
  gap: 8px;
198
- padding: 12px 22px;
198
+ padding: 0 22px;
199
199
  background-color: #ffffff;
200
200
  border: 1px solid #e0e0e0;
201
201
  border-radius: 9999px;
@@ -206,6 +206,10 @@
206
206
  height: 36px;
207
207
  }
208
208
 
209
+ .text-properties-panel * {
210
+ max-height: 36px;
211
+ }
212
+
209
213
  /* Frame properties toolbar — mirror image toolbar look */
210
214
  .frame-properties-panel {
211
215
  position: absolute;
@@ -604,18 +608,151 @@
604
608
 
605
609
  .text-properties-panel .tpp-label--spaced { margin-left: 6px; }
606
610
 
607
- .text-properties-panel .font-select,
608
- .text-properties-panel .font-size-select {
609
- border: 1px solid #ddd;
610
- border-radius: 4px;
611
+ .text-properties-panel .font-select-wrapper {
612
+ position: relative;
613
+ display: inline-block;
614
+ }
615
+
616
+ .text-properties-panel .font-select {
617
+ box-sizing: border-box;
618
+ min-width: 90px;
619
+ width: 90px;
620
+ height: 38px;
611
621
  padding: 4px 8px;
612
622
  font-size: 13px;
613
623
  background-color: #fff;
624
+ border: none;
625
+ border-radius: 4px;
626
+ cursor: pointer;
627
+ display: flex;
628
+ align-items: center;
629
+ user-select: none;
630
+ }
631
+
632
+ .text-properties-panel .font-select:focus { outline: none; box-shadow: none; }
633
+
634
+ .text-properties-panel .font-select__label {
635
+ flex: 1;
636
+ overflow: hidden;
637
+ text-overflow: ellipsis;
638
+ white-space: nowrap;
639
+ }
640
+
641
+ .text-properties-panel .font-dropdown {
642
+ position: absolute;
643
+ top: calc(100% + 4px);
644
+ left: 0;
645
+ min-width: 180px;
646
+ max-height: 280px;
647
+ overflow-y: auto;
648
+ background: #fff;
649
+ border: 1px solid #E5E7EB;
650
+ border-radius: 8px;
651
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.05);
652
+ padding: 4px;
653
+ display: none;
654
+ z-index: 10000;
655
+ scrollbar-width: thin;
656
+ scrollbar-color: transparent transparent;
657
+ }
658
+
659
+ .text-properties-panel .font-dropdown.is-open { display: block; }
660
+
661
+ .text-properties-panel .font-dropdown:hover {
662
+ scrollbar-color: rgba(170, 170, 170, 0.7) transparent;
663
+ }
664
+
665
+ .text-properties-panel .font-dropdown::-webkit-scrollbar { width: 9px; }
666
+ .text-properties-panel .font-dropdown::-webkit-scrollbar-button {
667
+ display: none;
668
+ height: 0;
669
+ width: 0;
670
+ }
671
+ .text-properties-panel .font-dropdown::-webkit-scrollbar-track { background: transparent; }
672
+ .text-properties-panel .font-dropdown::-webkit-scrollbar-thumb {
673
+ background: transparent;
674
+ border-radius: 4px;
675
+ }
676
+ .text-properties-panel .font-dropdown:hover::-webkit-scrollbar-thumb {
677
+ background: rgba(170, 170, 170, 0.7);
678
+ }
679
+
680
+ .text-properties-panel .font-dropdown__item {
681
+ display: block;
682
+ width: 100%;
683
+ padding: 6px 10px;
684
+ border: none;
685
+ background: transparent;
686
+ text-align: left;
687
+ font-size: 14px;
688
+ color: #111;
689
+ cursor: pointer;
690
+ border-radius: 4px;
691
+ white-space: nowrap;
692
+ }
693
+
694
+ .text-properties-panel .font-dropdown__item:hover {
695
+ background: #f3f4f6;
696
+ }
697
+
698
+ .text-properties-panel .font-dropdown__item.is-active {
699
+ background: #2563eb;
700
+ color: #fff;
701
+ }
702
+ .text-properties-panel .font-size-wrapper {
703
+ display: flex;
704
+ align-items: center;
705
+ position: relative;
706
+ border: none;
707
+ border-radius: 4px;
708
+ background-color: #fff;
709
+ height: 38px;
710
+ box-sizing: border-box;
711
+ }
712
+
713
+ .text-properties-panel .font-size-select {
714
+ outline: none;
715
+ height: 100%;
716
+ width: 32px;
717
+ border: none;
718
+ background: transparent;
719
+ appearance: none;
720
+ -webkit-appearance: none;
721
+ -moz-appearance: none;
722
+ padding: 0 4px 0 8px;
723
+ font-size: 13px;
614
724
  cursor: pointer;
615
725
  }
616
726
 
617
- .text-properties-panel .font-select { min-width: 110px; }
618
- .text-properties-panel .font-size-select { min-width: 56px; }
727
+ .text-properties-panel .font-size-steppers {
728
+ display: flex;
729
+ flex-direction: column;
730
+ height: 100%;
731
+ width: 20px;
732
+ border-left: none;
733
+ }
734
+
735
+ .text-properties-panel .font-size-stepper {
736
+ flex: 1;
737
+ display: flex;
738
+ align-items: center;
739
+ justify-content: center;
740
+ background: transparent;
741
+ border: none;
742
+ padding: 0;
743
+ cursor: pointer;
744
+ color: #666;
745
+ }
746
+
747
+ .text-properties-panel .font-size-stepper:hover {
748
+ background: #f5f5f5;
749
+ color: #333;
750
+ }
751
+
752
+ .text-properties-panel .font-size-stepper--down {
753
+ border-bottom-right-radius: 4px;
754
+ margin-top: -2px;
755
+ }
619
756
 
620
757
  .text-properties-panel .current-color-button,
621
758
  .text-properties-panel .current-bgcolor-button {
@@ -654,19 +791,101 @@
654
791
  color: #6155F5;
655
792
  }
656
793
 
657
- .text-properties-panel .tpp-align-select,
658
- .text-properties-panel .tpp-list-select {
659
- border: 1px solid #ddd;
794
+ .text-properties-panel .tpp-list-btns {
795
+ display: flex;
796
+ gap: 2px;
797
+ align-items: center;
798
+ position: relative;
799
+ }
800
+ .text-properties-panel .tpp-list-btns svg {
801
+ width: 22px;
802
+ height: 22px;
803
+ }
804
+
805
+ .text-properties-panel .tpp-list-modal {
806
+ max-height: none;
807
+ position: absolute;
808
+ top: calc(100% + 4px);
809
+ left: 0;
810
+ flex-direction: column;
811
+ gap: 2px;
812
+ background: #ffffff;
813
+ border: 1px solid #E5E7EB;
814
+ border-radius: 6px;
815
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
816
+ padding: 4px;
817
+ z-index: 4000;
818
+ }
819
+
820
+ .text-properties-panel .tpp-list-modal-option {
821
+ display: flex;
822
+ align-items: center;
823
+ justify-content: center;
824
+ width: 28px;
825
+ height: 28px;
826
+ padding: 0;
827
+ border: none;
828
+ background: transparent;
660
829
  border-radius: 4px;
661
- padding: 4px 6px;
662
- font-size: 12px;
663
- background-color: #fff;
830
+ cursor: pointer;
831
+ color: #374151;
832
+ transition: background 0.1s;
833
+ flex-shrink: 0;
834
+ }
835
+
836
+ .text-properties-panel .tpp-list-modal-option:hover {
837
+ background: #f3f4f6;
838
+ }
839
+
840
+ .text-properties-panel .tpp-align-btns {
841
+ display: flex;
842
+ gap: 2px;
843
+ align-items: center;
844
+ position: relative;
845
+ }
846
+
847
+ .text-properties-panel .tpp-align-btns img,
848
+ .text-properties-panel .tpp-align-btns svg,
849
+ .text-properties-panel .tpp-align-modal img,
850
+ .text-properties-panel .tpp-align-modal svg {
851
+ width: 24px;
852
+ height: 24px;
853
+ }
854
+
855
+ .text-properties-panel .tpp-align-modal {
856
+ max-height: none;
857
+ position: absolute;
858
+ top: calc(100% + 4px);
859
+ left: 0;
860
+ flex-direction: column;
861
+ gap: 2px;
862
+ background: #ffffff;
863
+ border: 1px solid #E5E7EB;
864
+ border-radius: 6px;
865
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
866
+ padding: 4px;
867
+ z-index: 4000;
868
+ }
869
+
870
+ .text-properties-panel .tpp-align-modal-option {
871
+ display: flex;
872
+ align-items: center;
873
+ justify-content: center;
874
+ width: 28px;
664
875
  height: 28px;
876
+ padding: 0;
877
+ border: none;
878
+ background: transparent;
879
+ border-radius: 4px;
665
880
  cursor: pointer;
666
- font-family: 'Roboto', Arial, sans-serif;
881
+ color: #374151;
882
+ transition: background 0.1s;
883
+ flex-shrink: 0;
884
+ }
885
+
886
+ .text-properties-panel .tpp-align-modal-option:hover {
887
+ background: #f3f4f6;
667
888
  }
668
- .text-properties-panel .tpp-align-select { min-width: 86px; }
669
- .text-properties-panel .tpp-list-select { min-width: 110px; }
670
889
 
671
890
  .text-properties-panel .tpp-lh-slider {
672
891
  width: 68px;
@@ -684,7 +684,7 @@
684
684
  }
685
685
 
686
686
  .text-properties-panel .font-select { min-width: 110px; }
687
- .text-properties-panel .font-size-select { min-width: 56px; }
687
+ .text-properties-panel .font-size-select { min-width: 32px; }
688
688
 
689
689
  .text-properties-panel .current-color-button,
690
690
  .text-properties-panel .current-bgcolor-button {