@visns-studio/visns-components 5.9.7 → 5.9.9

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.
@@ -632,6 +632,269 @@
632
632
  }
633
633
  }
634
634
 
635
+ // Decision Step UI Styles
636
+ .decisionsContainer {
637
+ padding: 1rem;
638
+ max-height: 65vh;
639
+ overflow-y: auto;
640
+ }
641
+
642
+ .recommendationCard {
643
+ margin-bottom: 1.5rem;
644
+
645
+ &:last-child {
646
+ margin-bottom: 0;
647
+ }
648
+ }
649
+
650
+ .cardHeader {
651
+ margin-bottom: 1rem;
652
+
653
+ h3 {
654
+ margin: 0 0 0.5rem 0;
655
+ font-size: 1.1rem;
656
+ font-weight: var(--h-weight, 600);
657
+ color: var(--paragraph-color, #333);
658
+ display: flex;
659
+ align-items: center;
660
+ gap: 0.5rem;
661
+ }
662
+
663
+ p {
664
+ margin: 0;
665
+ font-size: 0.9rem;
666
+ color: rgba(var(--paragraph-color-rgb, 0, 0, 0), 0.7);
667
+ line-height: 1.4;
668
+ }
669
+ }
670
+
671
+ .existingContactCard,
672
+ .clientSuggestionsCard,
673
+ .existingClientCard,
674
+ .newBothCard,
675
+ .conflictCard {
676
+ background: var(--bg-color, white);
677
+ border: 1px solid rgba(var(--paragraph-color-rgb, 0, 0, 0), 0.1);
678
+ border-radius: var(--br, 8px);
679
+ padding: 1.5rem;
680
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
681
+ }
682
+
683
+ .existingContactCard {
684
+ border-left: 4px solid #ffa726; // Orange for warning
685
+ }
686
+
687
+ .clientSuggestionsCard {
688
+ border-left: 4px solid var(--primary-color, #007bff);
689
+ }
690
+
691
+ .existingClientCard {
692
+ border-left: 4px solid #4caf50; // Green for success
693
+ }
694
+
695
+ .newBothCard {
696
+ border-left: 4px solid #9c27b0; // Purple for new
697
+ }
698
+
699
+ .conflictCard {
700
+ border-left: 4px solid #f44336; // Red for conflict
701
+ }
702
+
703
+ .contactDetails {
704
+ display: grid;
705
+ grid-template-columns: 1fr 1fr;
706
+ gap: 1.5rem;
707
+ margin: 1rem 0;
708
+
709
+ @media (max-width: 768px) {
710
+ grid-template-columns: 1fr;
711
+ gap: 1rem;
712
+ }
713
+ }
714
+
715
+ .existingContact,
716
+ .newContact {
717
+ background: var(--highlight-color, #f8f9fa);
718
+ border: 1px solid rgba(var(--paragraph-color-rgb, 0, 0, 0), 0.1);
719
+ border-radius: var(--br, 6px);
720
+ padding: 1rem;
721
+
722
+ h4 {
723
+ margin: 0 0 0.75rem 0;
724
+ font-size: 0.9rem;
725
+ font-weight: var(--h-weight, 600);
726
+ color: var(--paragraph-color, #333);
727
+ text-transform: uppercase;
728
+ letter-spacing: 0.5px;
729
+ }
730
+
731
+ p {
732
+ margin: 0 0 0.5rem 0;
733
+ font-size: 0.85rem;
734
+ color: var(--paragraph-color, #333);
735
+ line-height: 1.4;
736
+
737
+ &:last-child {
738
+ margin-bottom: 0;
739
+ }
740
+
741
+ strong {
742
+ font-weight: var(--h-weight, 600);
743
+ color: var(--paragraph-color, #333);
744
+ }
745
+ }
746
+ }
747
+
748
+ .clientSuggestions {
749
+ display: flex;
750
+ flex-direction: column;
751
+ gap: 0.75rem;
752
+ margin-top: 1rem;
753
+ }
754
+
755
+ .clientOption {
756
+ background: var(--bg-color, white);
757
+ border: 2px solid rgba(var(--paragraph-color-rgb, 0, 0, 0), 0.1);
758
+ border-radius: var(--br, 8px);
759
+ padding: 1rem;
760
+ cursor: pointer;
761
+ transition: all 0.2s ease;
762
+
763
+ &:hover {
764
+ border-color: var(--primary-color, #007bff);
765
+ box-shadow: 0 2px 8px rgba(var(--primary-color-rgb, 0, 123, 255), 0.1);
766
+ transform: translateY(-1px);
767
+ }
768
+
769
+ &.selected {
770
+ border-color: var(--primary-color, #007bff);
771
+ background: rgba(var(--primary-color-rgb, 0, 123, 255), 0.05);
772
+ box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb, 0, 123, 255), 0.1);
773
+ }
774
+ }
775
+
776
+ .newClientOption {
777
+ border-style: dashed;
778
+ border-color: #9c27b0;
779
+
780
+ &:hover {
781
+ border-color: #9c27b0;
782
+ background: rgba(156, 39, 176, 0.05);
783
+ box-shadow: 0 2px 8px rgba(156, 39, 176, 0.1);
784
+ }
785
+
786
+ &.selected {
787
+ border-color: #9c27b0;
788
+ background: rgba(156, 39, 176, 0.05);
789
+ box-shadow: 0 0 0 2px rgba(156, 39, 176, 0.1);
790
+ }
791
+ }
792
+
793
+ .clientInfo {
794
+ display: flex;
795
+ align-items: center;
796
+ justify-content: space-between;
797
+ gap: 1rem;
798
+
799
+ strong {
800
+ flex: 1;
801
+ font-size: 1rem;
802
+ font-weight: var(--h-weight, 600);
803
+ color: var(--paragraph-color, #333);
804
+ line-height: 1.3;
805
+ }
806
+
807
+ small {
808
+ display: block;
809
+ margin-top: 0.25rem;
810
+ font-size: 0.75rem;
811
+ color: rgba(var(--paragraph-color-rgb, 0, 0, 0), 0.6);
812
+ }
813
+ }
814
+
815
+ .similarity {
816
+ background: var(--primary-color, #007bff);
817
+ color: white;
818
+ padding: 0.25rem 0.5rem;
819
+ border-radius: var(--br, 4px);
820
+ font-size: 0.75rem;
821
+ font-weight: var(--h-weight, 600);
822
+ white-space: nowrap;
823
+ }
824
+
825
+ .newClientOption .similarity {
826
+ background: #9c27b0;
827
+ }
828
+
829
+ .decisionButtons {
830
+ display: flex;
831
+ gap: 1rem;
832
+ margin-top: 1rem;
833
+ flex-wrap: wrap;
834
+
835
+ @media (max-width: 768px) {
836
+ flex-direction: column;
837
+ }
838
+ }
839
+
840
+ .decisionButton {
841
+ flex: 1;
842
+ background: var(--highlight-color, #f8f9fa);
843
+ color: var(--paragraph-color, #333);
844
+ border: 2px solid rgba(var(--paragraph-color-rgb, 0, 0, 0), 0.2);
845
+ border-radius: var(--br, 8px);
846
+ padding: 0.75rem 1rem;
847
+ font-size: 0.9rem;
848
+ font-weight: var(--h-weight, 500);
849
+ cursor: pointer;
850
+ transition: all 0.2s ease;
851
+ text-align: center;
852
+
853
+ &:hover {
854
+ border-color: var(--primary-color, #007bff);
855
+ background: rgba(var(--primary-color-rgb, 0, 123, 255), 0.05);
856
+ transform: translateY(-1px);
857
+ }
858
+
859
+ &.selected {
860
+ background: var(--primary-color, #007bff);
861
+ color: white;
862
+ border-color: var(--primary-color, #007bff);
863
+ box-shadow: 0 2px 8px rgba(var(--primary-color-rgb, 0, 123, 255), 0.3);
864
+ }
865
+ }
866
+
867
+ .autoSelected {
868
+ background: rgba(76, 175, 80, 0.1);
869
+ border: 1px solid rgba(76, 175, 80, 0.3);
870
+ border-radius: var(--br, 6px);
871
+ padding: 1rem;
872
+ text-align: center;
873
+ font-size: 0.9rem;
874
+ color: #2e7d32;
875
+ font-weight: var(--h-weight, 500);
876
+ margin-top: 1rem;
877
+ }
878
+
879
+ .decisionActions {
880
+ display: flex;
881
+ gap: 1rem;
882
+ justify-content: center;
883
+ flex-wrap: wrap;
884
+ padding-top: 1.5rem;
885
+ border-top: 1px solid rgba(var(--paragraph-color-rgb, 0, 0, 0), 0.1);
886
+ margin-top: 1.5rem;
887
+
888
+ @media (max-width: 768px) {
889
+ flex-direction: column;
890
+
891
+ button {
892
+ width: 100%;
893
+ justify-content: center;
894
+ }
895
+ }
896
+ }
897
+
635
898
  // Dark mode support (if project supports it)
636
899
  @media (prefers-color-scheme: dark) {
637
900
  .captureGuide {
package/src/index.js CHANGED
@@ -51,6 +51,7 @@ import GenericIndex from './components/crm/generic/GenericIndex';
51
51
  import GenericMain from './components/crm/generic/GenericMain';
52
52
  import GenericQuote from './components/crm/generic/GenericQuote';
53
53
  import GenericReport from './components/crm/generic/GenericReport';
54
+ import GenericReportImproved from './components/crm/generic/GenericReportImproved';
54
55
  import GenericSort from './components/crm/generic/GenericSort';
55
56
  import NotificationList from './components/crm/generic/NotificationList';
56
57
 
@@ -86,6 +87,7 @@ export {
86
87
  GenericMain,
87
88
  GenericQuote,
88
89
  GenericReport,
90
+ GenericReportImproved,
89
91
  GenericSort,
90
92
  Loader,
91
93
  Login,