@product7/feedback-sdk 1.2.4 → 1.2.6

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,4 +632,750 @@ export const CSS_STYLES = `
632
632
  display: none !important;
633
633
  }
634
634
  }
635
- `;
635
+
636
+ /* Changelog Widget Styles */
637
+ .changelog-widget {
638
+ position: fixed;
639
+ z-index: 999999;
640
+ }
641
+
642
+ .changelog-widget.position-bottom-right {
643
+ bottom: 20px;
644
+ right: 20px;
645
+ }
646
+
647
+ .changelog-widget.position-bottom-left {
648
+ bottom: 20px;
649
+ left: 20px;
650
+ }
651
+
652
+ .changelog-widget.position-top-right {
653
+ top: 20px;
654
+ right: 20px;
655
+ }
656
+
657
+ .changelog-widget.position-top-left {
658
+ top: 20px;
659
+ left: 20px;
660
+ }
661
+
662
+ .changelog-trigger-btn {
663
+ position: relative;
664
+ display: flex;
665
+ align-items: center;
666
+ justify-content: center;
667
+ gap: 8px;
668
+ height: 48px;
669
+ overflow: visible;
670
+ border-radius: 9999px;
671
+ border: none;
672
+ padding: 12px 20px;
673
+ font-size: 14px;
674
+ font-weight: 500;
675
+ font-family: inherit;
676
+ cursor: pointer;
677
+ transition: all 0.3s ease;
678
+ color: white;
679
+ background: #155EEF;
680
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
681
+ width: fit-content;
682
+ }
683
+
684
+ .changelog-trigger-btn:hover {
685
+ transform: translateY(-2px);
686
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
687
+ }
688
+
689
+ .changelog-trigger-btn:focus-visible {
690
+ outline: 2px solid #155EEF;
691
+ outline-offset: 2px;
692
+ }
693
+
694
+ .changelog-icon {
695
+ flex-shrink: 0;
696
+ }
697
+
698
+ .changelog-confetti-emoji {
699
+ font-size: 14px;
700
+ margin-left: 2px;
701
+ }
702
+
703
+ .changelog-badge {
704
+ position: absolute;
705
+ top: -4px;
706
+ right: -4px;
707
+ width: 12px;
708
+ height: 12px;
709
+ background: #EF4444;
710
+ border-radius: 50%;
711
+ border: 2px solid white;
712
+ }
713
+
714
+ /* Confetti Animation */
715
+ .changelog-confetti-container {
716
+ position: fixed;
717
+ top: 0;
718
+ left: 0;
719
+ width: 100%;
720
+ height: 100%;
721
+ pointer-events: none;
722
+ z-index: 1000001;
723
+ overflow: hidden;
724
+ }
725
+
726
+ .changelog-confetti {
727
+ position: absolute;
728
+ top: -20px;
729
+ opacity: 0;
730
+ animation: confettiFall 2s ease-out forwards;
731
+ }
732
+
733
+ @keyframes confettiFall {
734
+ 0% {
735
+ opacity: 1;
736
+ transform: translateY(0) rotate(0deg) scale(1);
737
+ }
738
+ 10% {
739
+ opacity: 1;
740
+ }
741
+ 100% {
742
+ opacity: 0;
743
+ transform: translateY(100vh) rotate(720deg) scale(0.5);
744
+ }
745
+ }
746
+
747
+ /* Changelog Modal */
748
+ .changelog-modal-backdrop {
749
+ position: fixed;
750
+ top: 0;
751
+ left: 0;
752
+ right: 0;
753
+ bottom: 0;
754
+ background: rgba(0, 0, 0, 0.5);
755
+ opacity: 0;
756
+ transition: opacity 0.3s ease;
757
+ pointer-events: none;
758
+ z-index: 999998;
759
+ display: flex;
760
+ align-items: center;
761
+ justify-content: center;
762
+ }
763
+
764
+ .changelog-modal-backdrop.show {
765
+ opacity: 1;
766
+ pointer-events: auto;
767
+ }
768
+
769
+ .changelog-modal {
770
+ position: fixed;
771
+ top: 0;
772
+ left: 0;
773
+ right: 0;
774
+ bottom: 0;
775
+ z-index: 999999;
776
+ display: flex;
777
+ align-items: center;
778
+ justify-content: center;
779
+ padding: 20px;
780
+ pointer-events: none;
781
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', Oxygen, Ubuntu, Cantarell, sans-serif;
782
+ }
783
+
784
+ .changelog-modal.open {
785
+ pointer-events: auto;
786
+ }
787
+
788
+ .changelog-modal-container {
789
+ position: relative;
790
+ width: 100%;
791
+ max-width: 580px;
792
+ max-height: 90vh;
793
+ background: #DBEAFE;
794
+ border-radius: 24px;
795
+ overflow: hidden;
796
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
797
+ transform: scale(0.9) translateY(20px);
798
+ opacity: 0;
799
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
800
+ }
801
+
802
+ .changelog-modal.open .changelog-modal-container {
803
+ transform: scale(1) translateY(0);
804
+ opacity: 1;
805
+ }
806
+
807
+ .changelog-modal.theme-dark .changelog-modal-container {
808
+ background: #1E3A5F;
809
+ }
810
+
811
+ .changelog-modal-close {
812
+ position: absolute;
813
+ top: 16px;
814
+ right: 16px;
815
+ background: rgba(255, 255, 255, 0.9);
816
+ border: none;
817
+ font-size: 24px;
818
+ cursor: pointer;
819
+ color: #6B7280;
820
+ padding: 0;
821
+ width: 36px;
822
+ height: 36px;
823
+ display: flex;
824
+ align-items: center;
825
+ justify-content: center;
826
+ border-radius: 50%;
827
+ transition: all 0.2s ease;
828
+ line-height: 1;
829
+ z-index: 10;
830
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
831
+ }
832
+
833
+ .changelog-modal-close:hover {
834
+ background: white;
835
+ color: #111827;
836
+ transform: scale(1.05);
837
+ }
838
+
839
+ .changelog-modal.theme-dark .changelog-modal-close {
840
+ background: rgba(55, 65, 81, 0.9);
841
+ color: #D1D5DB;
842
+ }
843
+
844
+ .changelog-modal.theme-dark .changelog-modal-close:hover {
845
+ background: #374151;
846
+ color: white;
847
+ }
848
+
849
+ .changelog-modal-content {
850
+ overflow-y: auto;
851
+ max-height: 90vh;
852
+ }
853
+
854
+ /* Changelog Loading */
855
+ .changelog-loading {
856
+ display: flex;
857
+ align-items: center;
858
+ justify-content: center;
859
+ padding: 80px 20px;
860
+ }
861
+
862
+ .changelog-loading-spinner {
863
+ width: 32px;
864
+ height: 32px;
865
+ border: 3px solid #E5E7EB;
866
+ border-top-color: #155EEF;
867
+ border-radius: 50%;
868
+ animation: changelogSpin 0.8s linear infinite;
869
+ }
870
+
871
+ @keyframes changelogSpin {
872
+ to {
873
+ transform: rotate(360deg);
874
+ }
875
+ }
876
+
877
+ /* Changelog Empty State */
878
+ .changelog-empty {
879
+ display: flex;
880
+ flex-direction: column;
881
+ align-items: center;
882
+ justify-content: center;
883
+ padding: 80px 20px;
884
+ text-align: center;
885
+ color: #9CA3AF;
886
+ }
887
+
888
+ .changelog-empty svg {
889
+ margin-bottom: 16px;
890
+ stroke: #D1D5DB;
891
+ }
892
+
893
+ .changelog-empty p {
894
+ margin: 0;
895
+ font-size: 15px;
896
+ }
897
+
898
+ /* Changelog Popup Item */
899
+ .changelog-popup-item {
900
+ display: flex;
901
+ flex-direction: column;
902
+ }
903
+
904
+ .changelog-popup-image {
905
+ width: 100%;
906
+ padding: 24px 24px 0;
907
+ }
908
+
909
+ .changelog-popup-image img {
910
+ width: 100%;
911
+ height: auto;
912
+ display: block;
913
+ object-fit: cover;
914
+ border-radius: 12px;
915
+ border: 2px solid #155EEF;
916
+ box-shadow: 0 4px 20px rgba(21, 94, 239, 0.2);
917
+ }
918
+
919
+ .changelog-popup-body {
920
+ padding: 24px 32px 32px;
921
+ text-align: center;
922
+ }
923
+
924
+ .changelog-popup-title {
925
+ margin: 0 0 16px;
926
+ font-size: 18px;
927
+ font-weight: 600;
928
+ line-height: 1.3;
929
+ color: #111827;
930
+ }
931
+
932
+ .changelog-modal.theme-dark .changelog-popup-title {
933
+ color: white;
934
+ }
935
+
936
+ .changelog-popup-description {
937
+ margin: 0 0 24px;
938
+ font-size: 17px;
939
+ line-height: 1.6;
940
+ color: #4B5563;
941
+ }
942
+
943
+ .changelog-modal.theme-dark .changelog-popup-description {
944
+ color: #D1D5DB;
945
+ }
946
+
947
+ .changelog-popup-btn {
948
+ display: inline-flex;
949
+ align-items: center;
950
+ justify-content: center;
951
+ padding: 14px 32px;
952
+ font-size: 16px;
953
+ font-weight: 600;
954
+ color: white;
955
+ background: #155EEF;
956
+ border: none;
957
+ border-radius: 10px;
958
+ cursor: pointer;
959
+ transition: all 0.2s ease;
960
+ }
961
+
962
+ .changelog-popup-btn:hover {
963
+ background: #1249CA;
964
+ transform: translateY(-2px);
965
+ box-shadow: 0 4px 12px rgba(21, 94, 239, 0.3);
966
+ }
967
+
968
+ .changelog-popup-btn:focus-visible {
969
+ outline: 2px solid #155EEF;
970
+ outline-offset: 2px;
971
+ }
972
+
973
+ /* Popup Footer with Dots and View All */
974
+ .changelog-popup-footer {
975
+ padding: 0 32px 24px;
976
+ display: flex;
977
+ flex-direction: column;
978
+ align-items: center;
979
+ gap: 16px;
980
+ }
981
+
982
+ .changelog-popup-dots {
983
+ display: flex;
984
+ gap: 8px;
985
+ }
986
+
987
+ .changelog-dot {
988
+ width: 10px;
989
+ height: 10px;
990
+ border-radius: 50%;
991
+ background: rgba(21, 94, 239, 0.3);
992
+ cursor: pointer;
993
+ transition: all 0.2s ease;
994
+ }
995
+
996
+ .changelog-dot:hover {
997
+ background: rgba(21, 94, 239, 0.5);
998
+ }
999
+
1000
+ .changelog-dot.active {
1001
+ background: #155EEF;
1002
+ transform: scale(1.2);
1003
+ }
1004
+
1005
+ .changelog-view-all-btn {
1006
+ display: inline-flex;
1007
+ align-items: center;
1008
+ gap: 6px;
1009
+ background: none;
1010
+ border: none;
1011
+ color: #155EEF;
1012
+ font-size: 14px;
1013
+ font-weight: 500;
1014
+ cursor: pointer;
1015
+ padding: 8px 12px;
1016
+ border-radius: 6px;
1017
+ transition: all 0.2s ease;
1018
+ }
1019
+
1020
+ .changelog-view-all-btn:hover {
1021
+ background: rgba(21, 94, 239, 0.1);
1022
+ }
1023
+
1024
+ .changelog-view-all-btn svg {
1025
+ transition: transform 0.2s ease;
1026
+ }
1027
+
1028
+ .changelog-view-all-btn:hover svg {
1029
+ transform: translateX(3px);
1030
+ }
1031
+
1032
+ .changelog-modal.theme-dark .changelog-view-all-btn {
1033
+ color: #60A5FA;
1034
+ }
1035
+
1036
+ .changelog-modal.theme-dark .changelog-view-all-btn:hover {
1037
+ background: rgba(96, 165, 250, 0.1);
1038
+ }
1039
+
1040
+ /* ==================== CHANGELOG LIST MODAL ==================== */
1041
+ .changelog-list-modal-backdrop {
1042
+ position: fixed;
1043
+ top: 0;
1044
+ left: 0;
1045
+ right: 0;
1046
+ bottom: 0;
1047
+ background: rgba(0, 0, 0, 0.5);
1048
+ opacity: 0;
1049
+ transition: opacity 0.3s ease;
1050
+ pointer-events: none;
1051
+ z-index: 999998;
1052
+ }
1053
+
1054
+ .changelog-list-modal-backdrop.show {
1055
+ opacity: 1;
1056
+ pointer-events: auto;
1057
+ }
1058
+
1059
+ .changelog-list-modal {
1060
+ position: fixed;
1061
+ top: 0;
1062
+ left: 0;
1063
+ right: 0;
1064
+ bottom: 0;
1065
+ z-index: 999999;
1066
+ display: flex;
1067
+ align-items: center;
1068
+ justify-content: center;
1069
+ padding: 20px;
1070
+ pointer-events: none;
1071
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', Oxygen, Ubuntu, Cantarell, sans-serif;
1072
+ }
1073
+
1074
+ .changelog-list-modal.open {
1075
+ pointer-events: auto;
1076
+ }
1077
+
1078
+ .changelog-list-modal-container {
1079
+ position: relative;
1080
+ width: 100%;
1081
+ max-width: 460px;
1082
+ max-height: 85vh;
1083
+ background: white;
1084
+ border-radius: 20px;
1085
+ overflow: hidden;
1086
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
1087
+ transform: scale(0.9) translateY(20px);
1088
+ opacity: 0;
1089
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1090
+ display: flex;
1091
+ flex-direction: column;
1092
+ }
1093
+
1094
+ .changelog-list-modal.open .changelog-list-modal-container {
1095
+ transform: scale(1) translateY(0);
1096
+ opacity: 1;
1097
+ }
1098
+
1099
+ .changelog-list-modal.theme-dark .changelog-list-modal-container {
1100
+ background: #1F2937;
1101
+ color: white;
1102
+ }
1103
+
1104
+ .changelog-list-modal-header {
1105
+ display: flex;
1106
+ align-items: center;
1107
+ justify-content: space-between;
1108
+ padding: 14px 20px;
1109
+ border-bottom: 1px solid #E5E7EB;
1110
+ flex-shrink: 0;
1111
+ background: white;
1112
+ }
1113
+
1114
+ .changelog-list-modal.theme-dark .changelog-list-modal-header {
1115
+ border-bottom-color: #374151;
1116
+ background: #1F2937;
1117
+ }
1118
+
1119
+ .changelog-list-modal-header h2 {
1120
+ margin: 0;
1121
+ font-size: 16px;
1122
+ font-weight: 600;
1123
+ color: #111827;
1124
+ }
1125
+
1126
+ .changelog-list-modal.theme-dark .changelog-list-modal-header h2 {
1127
+ color: white;
1128
+ }
1129
+
1130
+ .changelog-list-modal-close {
1131
+ background: none;
1132
+ border: none;
1133
+ font-size: 22px;
1134
+ cursor: pointer;
1135
+ color: #6B7280;
1136
+ padding: 4px;
1137
+ width: 28px;
1138
+ height: 28px;
1139
+ display: flex;
1140
+ align-items: center;
1141
+ justify-content: center;
1142
+ border-radius: 6px;
1143
+ transition: all 0.2s ease;
1144
+ line-height: 1;
1145
+ }
1146
+
1147
+ .changelog-list-modal-close:hover {
1148
+ background: #F3F4F6;
1149
+ color: #111827;
1150
+ }
1151
+
1152
+ .changelog-list-modal.theme-dark .changelog-list-modal-close {
1153
+ color: #9CA3AF;
1154
+ }
1155
+
1156
+ .changelog-list-modal.theme-dark .changelog-list-modal-close:hover {
1157
+ background: #374151;
1158
+ color: white;
1159
+ }
1160
+
1161
+ .changelog-list-modal-body {
1162
+ flex: 1;
1163
+ overflow-y: auto;
1164
+ }
1165
+
1166
+ /* Changelog List */
1167
+ .changelog-list {
1168
+ display: flex;
1169
+ flex-direction: column;
1170
+ }
1171
+
1172
+ .changelog-list-item {
1173
+ display: flex;
1174
+ flex-direction: row;
1175
+ align-items: center;
1176
+ padding: 12px 16px;
1177
+ border-bottom: 1px solid #E5E7EB;
1178
+ cursor: pointer;
1179
+ transition: background-color 0.2s ease;
1180
+ position: relative;
1181
+ }
1182
+
1183
+ .changelog-list-item:hover {
1184
+ background: #F9FAFB;
1185
+ }
1186
+
1187
+ .changelog-list-item:last-child {
1188
+ border-bottom: none;
1189
+ }
1190
+
1191
+ .changelog-list-modal.theme-dark .changelog-list-item {
1192
+ border-bottom-color: #374151;
1193
+ }
1194
+
1195
+ .changelog-list-modal.theme-dark .changelog-list-item:hover {
1196
+ background: #374151;
1197
+ }
1198
+
1199
+ .changelog-list-item-image {
1200
+ width: 100%;
1201
+ margin-bottom: 8px;
1202
+ border-radius: 6px;
1203
+ overflow: hidden;
1204
+ border: 1px solid #E5E7EB;
1205
+ }
1206
+
1207
+ .changelog-list-item-image img {
1208
+ width: 100%;
1209
+ height: 100px;
1210
+ display: block;
1211
+ object-fit: cover;
1212
+ }
1213
+
1214
+ .changelog-list-item-main {
1215
+ flex: 1;
1216
+ min-width: 0;
1217
+ }
1218
+
1219
+ .changelog-list-item-content {
1220
+ display: flex;
1221
+ flex-direction: column;
1222
+ gap: 3px;
1223
+ }
1224
+
1225
+ .changelog-list-item-date {
1226
+ font-size: 11px;
1227
+ color: #6B7280;
1228
+ font-weight: 500;
1229
+ }
1230
+
1231
+ .changelog-list-modal.theme-dark .changelog-list-item-date {
1232
+ color: #9CA3AF;
1233
+ }
1234
+
1235
+ .changelog-list-item-labels {
1236
+ display: flex;
1237
+ flex-wrap: wrap;
1238
+ gap: 4px;
1239
+ margin-bottom: 1px;
1240
+ }
1241
+
1242
+ .changelog-list-item-title {
1243
+ margin: 0;
1244
+ font-size: 14px;
1245
+ font-weight: 600;
1246
+ line-height: 1.3;
1247
+ color: #111827;
1248
+ }
1249
+
1250
+ .changelog-list-modal.theme-dark .changelog-list-item-title {
1251
+ color: white;
1252
+ }
1253
+
1254
+ .changelog-list-item-description {
1255
+ margin: 0;
1256
+ font-size: 12px;
1257
+ line-height: 1.4;
1258
+ color: #6B7280;
1259
+ display: -webkit-box;
1260
+ -webkit-line-clamp: 2;
1261
+ -webkit-box-orient: vertical;
1262
+ overflow: hidden;
1263
+ }
1264
+
1265
+ .changelog-list-modal.theme-dark .changelog-list-item-description {
1266
+ color: #9CA3AF;
1267
+ }
1268
+
1269
+ .changelog-list-item-arrow {
1270
+ flex-shrink: 0;
1271
+ margin-left: 12px;
1272
+ color: #9CA3AF;
1273
+ transition: all 0.2s ease;
1274
+ }
1275
+
1276
+ .changelog-list-item:hover .changelog-list-item-arrow {
1277
+ color: #155EEF;
1278
+ transform: translateX(3px);
1279
+ }
1280
+
1281
+ .changelog-list-modal.theme-dark .changelog-list-item-arrow {
1282
+ color: #6B7280;
1283
+ }
1284
+
1285
+ .changelog-list-modal.theme-dark .changelog-list-item:hover .changelog-list-item-arrow {
1286
+ color: #60A5FA;
1287
+ }
1288
+
1289
+ /* Mobile Responsive */
1290
+ @media (max-width: 768px) {
1291
+ .changelog-modal {
1292
+ padding: 16px;
1293
+ }
1294
+
1295
+ .changelog-modal-container {
1296
+ max-width: 100%;
1297
+ border-radius: 20px;
1298
+ }
1299
+
1300
+ .changelog-widget {
1301
+ bottom: 16px;
1302
+ right: 16px;
1303
+ }
1304
+
1305
+ .changelog-widget.position-bottom-left {
1306
+ left: 16px;
1307
+ }
1308
+
1309
+ .changelog-popup-image {
1310
+ padding: 20px 20px 0;
1311
+ }
1312
+
1313
+ .changelog-popup-body {
1314
+ padding: 20px 24px 24px;
1315
+ }
1316
+
1317
+ .changelog-popup-title {
1318
+ font-size: 22px;
1319
+ }
1320
+
1321
+ .changelog-popup-description {
1322
+ font-size: 15px;
1323
+ }
1324
+
1325
+ .changelog-popup-btn {
1326
+ padding: 12px 28px;
1327
+ font-size: 15px;
1328
+ width: 100%;
1329
+ }
1330
+
1331
+ .changelog-popup-footer {
1332
+ padding: 0 24px 20px;
1333
+ }
1334
+
1335
+ /* List modal mobile */
1336
+ .changelog-list-modal {
1337
+ padding: 16px;
1338
+ }
1339
+
1340
+ .changelog-list-modal-container {
1341
+ max-width: 100%;
1342
+ max-height: 90vh;
1343
+ border-radius: 16px;
1344
+ }
1345
+
1346
+ .changelog-list-item {
1347
+ padding: 10px 14px;
1348
+ }
1349
+
1350
+ .changelog-list-item-image img {
1351
+ height: 80px;
1352
+ }
1353
+
1354
+ .changelog-list-item-title {
1355
+ font-size: 13px;
1356
+ }
1357
+
1358
+ .changelog-list-item-description {
1359
+ font-size: 11px;
1360
+ }
1361
+ }
1362
+
1363
+ @media (prefers-reduced-motion: reduce) {
1364
+ .changelog-modal,
1365
+ .changelog-modal-container,
1366
+ .changelog-modal-backdrop,
1367
+ .changelog-list-modal,
1368
+ .changelog-list-modal-container,
1369
+ .changelog-list-modal-backdrop,
1370
+ .changelog-trigger-btn,
1371
+ .changelog-popup-btn,
1372
+ .changelog-view-all-btn,
1373
+ .changelog-loading-spinner,
1374
+ .changelog-dot,
1375
+ .changelog-list-item,
1376
+ .changelog-list-item-arrow {
1377
+ transition: none;
1378
+ animation: none;
1379
+ }
1380
+ }
1381
+ `;