@redneckz/wildless-cms-uni-blocks 0.2.73 → 0.2.74

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 (187) hide show
  1. package/bundle/blocks.schema.json +240 -151
  2. package/bundle/bundle.umd.js +95 -31
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/dist/BaseTile.js +9 -4
  5. package/dist/BaseTile.js.map +1 -1
  6. package/dist/BaseTileContent.d.ts +2 -2
  7. package/dist/BlockContent.d.ts +2 -1
  8. package/dist/Blocks.d.ts +1 -0
  9. package/dist/Blocks.js +2 -0
  10. package/dist/Blocks.js.map +1 -1
  11. package/dist/ComparisonTable/ComparisonTable.d.ts +5 -0
  12. package/dist/ComparisonTable/ComparisonTable.js +34 -0
  13. package/dist/ComparisonTable/ComparisonTable.js.map +1 -0
  14. package/dist/ComparisonTable/ComparisonTableContent.d.ts +37 -0
  15. package/dist/{ui-kit/IconButtonProps.js → ComparisonTable/ComparisonTableContent.js} +1 -1
  16. package/dist/ComparisonTable/ComparisonTableContent.js.map +1 -0
  17. package/dist/ComparisonTable/HeaderCell.d.ts +10 -0
  18. package/dist/ComparisonTable/HeaderCell.js +11 -0
  19. package/dist/ComparisonTable/HeaderCell.js.map +1 -0
  20. package/dist/ComparisonTable/TableCarouselContainer.d.ts +4 -0
  21. package/dist/ComparisonTable/TableCarouselContainer.js +7 -0
  22. package/dist/ComparisonTable/TableCarouselContainer.js.map +1 -0
  23. package/dist/ComparisonTable/TableCell.d.ts +8 -0
  24. package/dist/ComparisonTable/TableCell.js +12 -0
  25. package/dist/ComparisonTable/TableCell.js.map +1 -0
  26. package/dist/ComparisonTable/TableRow.d.ts +10 -0
  27. package/dist/ComparisonTable/TableRow.js +10 -0
  28. package/dist/ComparisonTable/TableRow.js.map +1 -0
  29. package/dist/ComparisonTable/TableRowContainer.d.ts +4 -0
  30. package/dist/ComparisonTable/TableRowContainer.js +6 -0
  31. package/dist/ComparisonTable/TableRowContainer.js.map +1 -0
  32. package/dist/ComparisonTable/constants.d.ts +6 -0
  33. package/dist/ComparisonTable/constants.js +9 -0
  34. package/dist/ComparisonTable/constants.js.map +1 -0
  35. package/dist/ComparisonTable/index.d.ts +3 -0
  36. package/dist/ComparisonTable/index.js +5 -0
  37. package/dist/ComparisonTable/index.js.map +1 -0
  38. package/dist/ExchangeRateTile.js +1 -0
  39. package/dist/ExchangeRateTile.js.map +1 -1
  40. package/dist/Footer/Contacts.js +1 -1
  41. package/dist/Footer/Contacts.js.map +1 -1
  42. package/dist/Footer/SocialMedia.js +4 -1
  43. package/dist/Footer/SocialMedia.js.map +1 -1
  44. package/dist/Gallery.mobile.js +1 -1
  45. package/dist/Gallery.mobile.js.map +1 -1
  46. package/dist/GalleryInner.js +2 -4
  47. package/dist/GalleryInner.js.map +1 -1
  48. package/dist/ProductBlockInner.js +3 -3
  49. package/dist/ProductBlockInner.js.map +1 -1
  50. package/dist/TextBlock.js +4 -4
  51. package/dist/TextBlock.js.map +1 -1
  52. package/dist/ui-kit/ArrowButton.d.ts +2 -6
  53. package/dist/ui-kit/ArrowButton.js +17 -3
  54. package/dist/ui-kit/ArrowButton.js.map +1 -1
  55. package/dist/ui-kit/Button.d.ts +2 -1
  56. package/dist/ui-kit/Button.js +11 -5
  57. package/dist/ui-kit/Button.js.map +1 -1
  58. package/dist/ui-kit/ButtonProps.d.ts +15 -3
  59. package/dist/ui-kit/IconProps.d.ts +23 -1
  60. package/dist/ui-kit/IconProps.js +24 -0
  61. package/dist/ui-kit/IconProps.js.map +1 -1
  62. package/dist/{Img.d.ts → ui-kit/Img.d.ts} +1 -1
  63. package/dist/{Img.js → ui-kit/Img.js} +0 -0
  64. package/dist/ui-kit/Img.js.map +1 -0
  65. package/dist/ui-kit/SVG.d.ts +2 -0
  66. package/dist/ui-kit/SVG.js +2 -2
  67. package/dist/ui-kit/SVG.js.map +1 -1
  68. package/lib/BaseTile.js +9 -4
  69. package/lib/BaseTile.js.map +1 -1
  70. package/lib/BaseTileContent.d.ts +2 -2
  71. package/lib/BlockContent.d.ts +2 -1
  72. package/lib/Blocks.d.ts +1 -0
  73. package/lib/Blocks.js +2 -0
  74. package/lib/Blocks.js.map +1 -1
  75. package/lib/ComparisonTable/ComparisonTable.d.ts +5 -0
  76. package/lib/ComparisonTable/ComparisonTable.js +32 -0
  77. package/lib/ComparisonTable/ComparisonTable.js.map +1 -0
  78. package/lib/ComparisonTable/ComparisonTableContent.d.ts +37 -0
  79. package/lib/ComparisonTable/ComparisonTableContent.js +2 -0
  80. package/lib/ComparisonTable/ComparisonTableContent.js.map +1 -0
  81. package/lib/ComparisonTable/HeaderCell.d.ts +10 -0
  82. package/lib/ComparisonTable/HeaderCell.js +9 -0
  83. package/lib/ComparisonTable/HeaderCell.js.map +1 -0
  84. package/lib/ComparisonTable/TableCarouselContainer.d.ts +4 -0
  85. package/lib/ComparisonTable/TableCarouselContainer.js +5 -0
  86. package/lib/ComparisonTable/TableCarouselContainer.js.map +1 -0
  87. package/lib/ComparisonTable/TableCell.d.ts +8 -0
  88. package/lib/ComparisonTable/TableCell.js +10 -0
  89. package/lib/ComparisonTable/TableCell.js.map +1 -0
  90. package/lib/ComparisonTable/TableRow.d.ts +10 -0
  91. package/lib/ComparisonTable/TableRow.js +8 -0
  92. package/lib/ComparisonTable/TableRow.js.map +1 -0
  93. package/lib/ComparisonTable/TableRowContainer.d.ts +4 -0
  94. package/lib/ComparisonTable/TableRowContainer.js +4 -0
  95. package/lib/ComparisonTable/TableRowContainer.js.map +1 -0
  96. package/lib/ComparisonTable/constants.d.ts +6 -0
  97. package/lib/ComparisonTable/constants.js +7 -0
  98. package/lib/ComparisonTable/constants.js.map +1 -0
  99. package/lib/ComparisonTable/index.d.ts +3 -0
  100. package/lib/ComparisonTable/index.js +2 -0
  101. package/lib/ComparisonTable/index.js.map +1 -0
  102. package/lib/ExchangeRateTile.js +1 -0
  103. package/lib/ExchangeRateTile.js.map +1 -1
  104. package/lib/Footer/Contacts.js +1 -1
  105. package/lib/Footer/Contacts.js.map +1 -1
  106. package/lib/Footer/SocialMedia.js +4 -1
  107. package/lib/Footer/SocialMedia.js.map +1 -1
  108. package/lib/Gallery.mobile.js +1 -1
  109. package/lib/Gallery.mobile.js.map +1 -1
  110. package/lib/GalleryInner.js +2 -4
  111. package/lib/GalleryInner.js.map +1 -1
  112. package/lib/ProductBlockInner.js +3 -3
  113. package/lib/ProductBlockInner.js.map +1 -1
  114. package/lib/TextBlock.js +4 -4
  115. package/lib/TextBlock.js.map +1 -1
  116. package/lib/common.css +1 -1
  117. package/lib/ui-kit/ArrowButton.d.ts +2 -6
  118. package/lib/ui-kit/ArrowButton.js +18 -4
  119. package/lib/ui-kit/ArrowButton.js.map +1 -1
  120. package/lib/ui-kit/Button.d.ts +2 -1
  121. package/lib/ui-kit/Button.js +11 -5
  122. package/lib/ui-kit/Button.js.map +1 -1
  123. package/lib/ui-kit/ButtonProps.d.ts +15 -3
  124. package/lib/ui-kit/IconProps.d.ts +23 -1
  125. package/lib/ui-kit/IconProps.js +23 -1
  126. package/lib/ui-kit/IconProps.js.map +1 -1
  127. package/lib/{Img.d.ts → ui-kit/Img.d.ts} +1 -1
  128. package/lib/{Img.js → ui-kit/Img.js} +0 -0
  129. package/lib/ui-kit/Img.js.map +1 -0
  130. package/lib/ui-kit/SVG.d.ts +2 -0
  131. package/lib/ui-kit/SVG.js +2 -2
  132. package/lib/ui-kit/SVG.js.map +1 -1
  133. package/package.json +1 -1
  134. package/src/BaseTile.tsx +17 -5
  135. package/src/BaseTileContent.ts +2 -2
  136. package/src/BlockContent.ts +3 -1
  137. package/src/Blocks.ts +2 -0
  138. package/src/ComparisonTable/ComparisonTable.fixture.tsx +265 -0
  139. package/src/ComparisonTable/ComparisonTable.tsx +126 -0
  140. package/src/ComparisonTable/ComparisonTableContent.ts +43 -0
  141. package/src/ComparisonTable/HeaderCell.tsx +50 -0
  142. package/src/ComparisonTable/TableCarouselContainer.tsx +19 -0
  143. package/src/ComparisonTable/TableCell.tsx +43 -0
  144. package/src/ComparisonTable/TableRow.tsx +44 -0
  145. package/src/ComparisonTable/TableRowContainer.tsx +7 -0
  146. package/src/ComparisonTable/constants.ts +6 -0
  147. package/src/ComparisonTable/index.ts +3 -0
  148. package/src/ContentPage.page.json +388 -1
  149. package/src/ExchangeRateTile.tsx +2 -1
  150. package/src/Footer/Contacts.tsx +1 -0
  151. package/src/Footer/SocialMedia.tsx +9 -5
  152. package/src/Gallery.fixture.tsx +1 -1
  153. package/src/Gallery.mobile.tsx +1 -1
  154. package/src/GalleryInner.tsx +4 -9
  155. package/src/ProductBlock.fixture.tsx +1 -1
  156. package/src/ProductBlockInner.tsx +3 -3
  157. package/src/ProductTile.fixture.tsx +1 -1
  158. package/src/TextBlock.fixture.tsx +1 -1
  159. package/src/TextBlock.tsx +6 -4
  160. package/src/Tile.fixture.tsx +1 -1
  161. package/src/common.css +6 -0
  162. package/src/icons/AppleIcon.svg +1 -13
  163. package/src/icons/GlassIcon.svg +1 -0
  164. package/src/icons/PlayMarketIcon.svg +1 -6
  165. package/src/ui-kit/ArrowButton.tsx +29 -30
  166. package/src/ui-kit/Button.fixture.tsx +33 -5
  167. package/src/ui-kit/Button.tsx +41 -17
  168. package/src/ui-kit/ButtonProps.ts +17 -3
  169. package/src/ui-kit/Icon.fixture.tsx +22 -0
  170. package/src/ui-kit/IconProps.ts +24 -21
  171. package/src/{Img.tsx → ui-kit/Img.tsx} +1 -1
  172. package/src/ui-kit/SVG.tsx +11 -2
  173. package/dist/Img.js.map +0 -1
  174. package/dist/ui-kit/IconButton.d.ts +0 -2
  175. package/dist/ui-kit/IconButton.js +0 -10
  176. package/dist/ui-kit/IconButton.js.map +0 -1
  177. package/dist/ui-kit/IconButtonProps.d.ts +0 -6
  178. package/dist/ui-kit/IconButtonProps.js.map +0 -1
  179. package/lib/Img.js.map +0 -1
  180. package/lib/ui-kit/IconButton.d.ts +0 -2
  181. package/lib/ui-kit/IconButton.js +0 -8
  182. package/lib/ui-kit/IconButton.js.map +0 -1
  183. package/lib/ui-kit/IconButtonProps.d.ts +0 -6
  184. package/lib/ui-kit/IconButtonProps.js +0 -2
  185. package/lib/ui-kit/IconButtonProps.js.map +0 -1
  186. package/src/ui-kit/IconButton.tsx +0 -22
  187. package/src/ui-kit/IconButtonProps.ts +0 -7
@@ -894,7 +894,394 @@
894
894
  ]
895
895
  }
896
896
  },
897
-
897
+ {
898
+ "type": "ComparisonTable",
899
+ "style": ["col-span-12"],
900
+ "content": {
901
+ "title": "Другие вклады и сбережения",
902
+ "rowHeaders": [
903
+ {
904
+ "title": "Начисление процентов на остаток по счету"
905
+ },
906
+ {
907
+ "title": "Снятие наличных"
908
+ },
909
+ {
910
+ "title": "Оформление онлайн"
911
+ },
912
+ {
913
+ "title": "Кэшбэк баллами"
914
+ },
915
+ {
916
+ "title": "Стоимость обслуживания"
917
+ },
918
+ {
919
+ "title": "Стоимость SMS-сервиса"
920
+ },
921
+ {
922
+ "title": "Дополнительная информация"
923
+ }
924
+ ],
925
+ "columns": [
926
+ {
927
+ "header": {
928
+ "title": "Россельхоз-Росснефть",
929
+ "image": {
930
+ "alt": "card-1",
931
+ "src": "card-1.png",
932
+ "format": "webp",
933
+ "size": {
934
+ "width": 100,
935
+ "height": 63
936
+ }
937
+ },
938
+ "link": {
939
+ "text": "Подробнее",
940
+ "href": "/credits"
941
+ }
942
+ },
943
+ "data": [
944
+ [
945
+ {
946
+ "label": "Нет"
947
+ }
948
+ ],
949
+ [
950
+ {
951
+ "label": "Бесплатно",
952
+ "description": "В банкоматах и кассах Россельхозбанка и банков-партнеров"
953
+ },
954
+ {
955
+ "label": "Бесплатно",
956
+ "description": "В сторонних банкоматах - 1 раз в месяц, далее 1% минимум 150 руб"
957
+ }
958
+ ],
959
+ [
960
+ {
961
+ "label": "Нет"
962
+ }
963
+ ],
964
+ [
965
+ {
966
+ "label": "До 7%"
967
+ }
968
+ ],
969
+ [
970
+ {
971
+ "label": "Бесплатно",
972
+ "description": "При обороте по карте от 10000 ₽ в месяц"
973
+ }
974
+ ],
975
+ [
976
+ {
977
+ "label": "69 рублей в месяц"
978
+ }
979
+ ],
980
+ [
981
+ {
982
+ "description": "Оплачивайте покупки картой и заправляйтесь за баллы в сети АЗС Роснефть"
983
+ }
984
+ ]
985
+ ]
986
+ },
987
+ {
988
+ "header": {
989
+ "title": "Panasonic",
990
+ "image": {
991
+ "alt": "card-2",
992
+ "src": "card-2.png",
993
+ "format": "webp",
994
+ "size": {
995
+ "width": 100,
996
+ "height": 63
997
+ }
998
+ },
999
+ "link": {
1000
+ "text": "Подробнее",
1001
+ "href": "/credits"
1002
+ }
1003
+ },
1004
+ "data": [
1005
+ [
1006
+ {
1007
+ "label": "Нет"
1008
+ }
1009
+ ],
1010
+ [
1011
+ {
1012
+ "label": "Бесплатно",
1013
+ "description": "В банкоматах и кассах Россельхозбанка и банков-партнеров"
1014
+ },
1015
+ {
1016
+ "label": "1%",
1017
+ "description": "В сторонних банкоматах, минимум 150 руб"
1018
+ }
1019
+ ],
1020
+ [
1021
+ {
1022
+ "label": "Нет"
1023
+ }
1024
+ ],
1025
+ [
1026
+ {
1027
+ "label": "До 20%"
1028
+ }
1029
+ ],
1030
+ [
1031
+ {
1032
+ "label": "Бесплатно",
1033
+ "description": "При обороте по карте от 10000 ₽ в месяц"
1034
+ }
1035
+ ],
1036
+ [
1037
+ {
1038
+ "label": "69 рублей в месяц"
1039
+ }
1040
+ ],
1041
+ [
1042
+ {
1043
+ "description": "Копите баллы каждый день и обменивайте их на скидки на электронику и бытовую технику Panasonic"
1044
+ }
1045
+ ]
1046
+ ]
1047
+ },
1048
+ {
1049
+ "header": {
1050
+ "title": "Профсоюзная",
1051
+ "image": {
1052
+ "alt": "card-3",
1053
+ "src": "card-3.png",
1054
+ "format": "webp",
1055
+ "size": {
1056
+ "width": 100,
1057
+ "height": 63
1058
+ }
1059
+ },
1060
+ "link": {
1061
+ "text": "Подробнее",
1062
+ "href": "/credits"
1063
+ }
1064
+ },
1065
+ "data": [
1066
+ [
1067
+ {
1068
+ "label": "Нет"
1069
+ }
1070
+ ],
1071
+ [
1072
+ {
1073
+ "label": "Бесплатно"
1074
+ }
1075
+ ],
1076
+ [
1077
+ {
1078
+ "label": "Есть"
1079
+ }
1080
+ ],
1081
+ [
1082
+ {
1083
+ "label": "До 20%"
1084
+ }
1085
+ ],
1086
+ [
1087
+ {
1088
+ "label": "Бесплатно",
1089
+ "description": "При обороте по карте от 10000 ₽ в месяц"
1090
+ }
1091
+ ],
1092
+ [
1093
+ {
1094
+ "label": "69 рублей в месяц"
1095
+ }
1096
+ ],
1097
+ [
1098
+ {
1099
+ "description": "Для членов профсоюзных организаций"
1100
+ }
1101
+ ]
1102
+ ]
1103
+ },
1104
+ {
1105
+ "header": {
1106
+ "title": "Россельхоз-Росснефть",
1107
+ "image": {
1108
+ "alt": "card-1",
1109
+ "src": "card-1.png",
1110
+ "format": "webp",
1111
+ "size": {
1112
+ "width": 100,
1113
+ "height": 63
1114
+ }
1115
+ },
1116
+ "link": {
1117
+ "text": "Подробнее",
1118
+ "href": "/credits"
1119
+ }
1120
+ },
1121
+ "data": [
1122
+ [
1123
+ {
1124
+ "label": "Нет"
1125
+ }
1126
+ ],
1127
+ [
1128
+ {
1129
+ "label": "Бесплатно",
1130
+ "description": "В банкоматах и кассах Россельхозбанка и банков-партнеров"
1131
+ },
1132
+ {
1133
+ "label": "Бесплатно",
1134
+ "description": "В сторонних банкоматах - 1 раз в месяц, далее 1% минимум 150 руб"
1135
+ }
1136
+ ],
1137
+ [
1138
+ {
1139
+ "label": "Нет"
1140
+ }
1141
+ ],
1142
+ [
1143
+ {
1144
+ "label": "До 7%"
1145
+ }
1146
+ ],
1147
+ [
1148
+ {
1149
+ "label": "Бесплатно",
1150
+ "description": "При обороте по карте от 10000 ₽ в месяц"
1151
+ }
1152
+ ],
1153
+ [
1154
+ {
1155
+ "label": "69 рублей в месяц"
1156
+ }
1157
+ ],
1158
+ [
1159
+ {
1160
+ "description": "Оплачивайте покупки картой и заправляйтесь за баллы в сети АЗС Роснефть"
1161
+ }
1162
+ ]
1163
+ ]
1164
+ },
1165
+ {
1166
+ "header": {
1167
+ "title": "Panasonic",
1168
+ "image": {
1169
+ "alt": "card-2",
1170
+ "src": "card-2.png",
1171
+ "format": "webp",
1172
+ "size": {
1173
+ "width": 100,
1174
+ "height": 63
1175
+ }
1176
+ },
1177
+ "link": {
1178
+ "text": "Подробнее",
1179
+ "href": "/credits"
1180
+ }
1181
+ },
1182
+ "data": [
1183
+ [
1184
+ {
1185
+ "label": "Нет"
1186
+ }
1187
+ ],
1188
+ [
1189
+ {
1190
+ "label": "Бесплатно",
1191
+ "description": "В банкоматах и кассах Россельхозбанка и банков-партнеров"
1192
+ },
1193
+ {
1194
+ "label": "1%",
1195
+ "description": "В сторонних банкоматах, минимум 150 руб"
1196
+ }
1197
+ ],
1198
+ [
1199
+ {
1200
+ "label": "Нет"
1201
+ }
1202
+ ],
1203
+ [
1204
+ {
1205
+ "label": "До 20%"
1206
+ }
1207
+ ],
1208
+ [
1209
+ {
1210
+ "label": "Бесплатно",
1211
+ "description": "При обороте по карте от 10000 ₽ в месяц"
1212
+ }
1213
+ ],
1214
+ [
1215
+ {
1216
+ "label": "69 рублей в месяц"
1217
+ }
1218
+ ],
1219
+ [
1220
+ {
1221
+ "description": "Копите баллы каждый день и обменивайте их на скидки на электронику и бытовую технику Panasonic"
1222
+ }
1223
+ ]
1224
+ ]
1225
+ },
1226
+ {
1227
+ "header": {
1228
+ "title": "Профсоюзная",
1229
+ "image": {
1230
+ "alt": "card-3",
1231
+ "src": "card-3.png",
1232
+ "format": "webp",
1233
+ "size": {
1234
+ "width": 100,
1235
+ "height": 63
1236
+ }
1237
+ },
1238
+ "link": {
1239
+ "text": "Подробнее",
1240
+ "href": "/credits"
1241
+ }
1242
+ },
1243
+ "data": [
1244
+ [
1245
+ {
1246
+ "label": "Нет"
1247
+ }
1248
+ ],
1249
+ [
1250
+ {
1251
+ "label": "Бесплатно"
1252
+ }
1253
+ ],
1254
+ [
1255
+ {
1256
+ "label": "Есть"
1257
+ }
1258
+ ],
1259
+ [
1260
+ {
1261
+ "label": "До 20%"
1262
+ }
1263
+ ],
1264
+ [
1265
+ {
1266
+ "label": "Бесплатно",
1267
+ "description": "При обороте по карте от 10000 ₽ в месяц"
1268
+ }
1269
+ ],
1270
+ [
1271
+ {
1272
+ "label": "69 рублей в месяц"
1273
+ }
1274
+ ],
1275
+ [
1276
+ {
1277
+ "description": "Для членов профсоюзных организаций"
1278
+ }
1279
+ ]
1280
+ ]
1281
+ }
1282
+ ]
1283
+ }
1284
+ },
898
1285
  {
899
1286
  "type": "Footer",
900
1287
  "style": ["col-span-12"],
@@ -2,7 +2,7 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { ExchangeRateTileContent } from './ExchangeRateTileContent';
3
3
  import { Tile } from './Tile';
4
4
  import type { UniBlockProps } from './types';
5
- import { ButtonProps } from './ui-kit/ButtonProps';
5
+ import type { ButtonProps } from './ui-kit/ButtonProps';
6
6
  import { Icon } from './ui-kit/Icon';
7
7
 
8
8
  export interface ExchangeRateTileProps extends ExchangeRateTileContent, UniBlockProps {}
@@ -19,6 +19,7 @@ const buttons: ButtonProps[] = [
19
19
  {
20
20
  text: 'Все показатели',
21
21
  href: 'https://cbr.ru/currency_base/daily/',
22
+ version: 'secondary',
22
23
  },
23
24
  ];
24
25
 
@@ -18,6 +18,7 @@ export const Contacts = JSX<ContactsProps>(({ className, items, hasButton, conte
18
18
  {items?.length ? items.map(renderContact) : null}
19
19
  {hasButton ? (
20
20
  <Button
21
+ version="primary"
21
22
  className="my-4"
22
23
  {...useLink(
23
24
  { router, handlerDecorator },
@@ -4,6 +4,7 @@ import type { UniBlockProps } from '../types';
4
4
  import { Icon } from '../ui-kit/Icon';
5
5
  import type { IconName } from '../ui-kit/IconProps';
6
6
  import { useLink } from '../useLink';
7
+ import { Button } from '../ui-kit/Button';
7
8
 
8
9
  const ICONS_MAP: Array<{ origins: string[]; icon: IconName; label: string }> = [
9
10
  { origins: ['t.me', 'telegram.org'], icon: 'TelegramIcon', label: 'Телеграм' },
@@ -34,15 +35,18 @@ interface MediaButtonProps {
34
35
  const MediaButton = JSX<MediaButtonProps>(({ href }) => {
35
36
  const { icon, label } =
36
37
  ICONS_MAP.find(({ origins }) => origins.some((_) => href?.includes(_))) || {};
38
+
39
+ if (!icon) return null;
40
+
37
41
  return (
38
- <a
39
- className="flex items-center justify-center border-solid border border-main-divider rounded-full no-underline outline-none w-9 h-9"
42
+ <Button
43
+ rounded
40
44
  href={href}
41
45
  target="_blank"
42
46
  rel="noopener noreferrer"
43
47
  aria-label={label}
44
- >
45
- {icon && <Icon className="block" name={icon} /> /* TODO width & height */}
46
- </a>
48
+ className="border-solid border border-main-divider w-9 h-9 flex items-center justify-center hover:text-primary-main"
49
+ appendLeft={<Icon name={icon} />}
50
+ />
47
51
  );
48
52
  });
@@ -2,7 +2,7 @@ import { context } from './setup-fixture';
2
2
 
3
3
  import { Gallery, GalleryProps } from './Gallery';
4
4
  import { Gallery as MobileGallery } from './Gallery.mobile';
5
- import { Picture } from './model/Picture';
5
+ import type { Picture } from './model/Picture';
6
6
 
7
7
  const image: Picture = {
8
8
  src: 'money-1.png',
@@ -1,9 +1,9 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { GalleryProps } from './Gallery';
3
3
  import type { GalleryCard } from './GalleryContent';
4
- import { Img } from './Img';
5
4
  import { BlockItem } from './ui-kit/BlockItem';
6
5
  import { Button } from './ui-kit/Button';
6
+ import { Img } from './ui-kit/Img';
7
7
  import { Title } from './ui-kit/Title';
8
8
 
9
9
  export const Gallery = JSX<GalleryProps>(({ title, description, cards = [], className }) => {
@@ -1,11 +1,11 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { GalleryCard, GalleryContent } from './GalleryContent';
3
- import { Img } from './Img';
4
3
  import type { GalleryVersion } from './model/GalleryVersion';
5
4
  import type { UniBlockProps } from './types';
6
5
  import { ArrowButton } from './ui-kit/ArrowButton';
7
6
  import { BlockItem } from './ui-kit/BlockItem';
8
7
  import { Button } from './ui-kit/Button';
8
+ import { Img } from './ui-kit/Img';
9
9
  import { Title } from './ui-kit/Title';
10
10
 
11
11
  export interface GalleryInnerProps extends GalleryContent, UniBlockProps {
@@ -70,24 +70,19 @@ export const GalleryInner = JSX<GalleryInnerProps>(
70
70
  </div>
71
71
  {showPrevButton && (
72
72
  <ArrowButton
73
- className="absolute top-1/2 left-8"
73
+ className="absolute top-1/2 left-8 rotate-180"
74
74
  onClick={handlePrevClick}
75
75
  ariaLabel="Пролистать влево"
76
76
  />
77
77
  )}
78
78
  {showNextButton && (
79
79
  <ArrowButton
80
- className="absolute top-1/2 right-1 z-20 rotate-180"
80
+ className="absolute top-1/2 right-1 z-10"
81
81
  onClick={handleNextClick}
82
82
  ariaLabel="Пролистать вправо"
83
83
  />
84
84
  )}
85
- <div
86
- className="absolute top-0 right-0 bottom-0 w-[84px]"
87
- style={{
88
- background: 'linear-gradient(270deg, #FFFFFF 34.89%, rgba(255, 255, 255, 0) 92.52%)',
89
- }}
90
- ></div>
85
+ <div className="absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white"></div>
91
86
  </section>
92
87
  );
93
88
  },
@@ -1,7 +1,7 @@
1
1
  import { context } from './setup-fixture';
2
2
 
3
3
  import { ProductBlock } from './ProductBlock';
4
- import { Picture } from './model/Picture';
4
+ import type { Picture } from './model/Picture';
5
5
 
6
6
  const image: Picture = {
7
7
  src: 'money-1.png',
@@ -1,10 +1,10 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { BaseTile } from './BaseTile';
3
3
  import type { Benefit } from './BenefitsBlockContent';
4
- import { Img } from './Img';
5
4
  import type { ProductBlockInnerContent } from './ProductBlockInnerContent';
6
5
  import type { UniBlockProps } from './types';
7
6
  import { Icon } from './ui-kit/Icon';
7
+ import { Img } from './ui-kit/Img';
8
8
  import { Title } from './ui-kit/Title';
9
9
 
10
10
  export interface ProductBlockInnerProps extends ProductBlockInnerContent, UniBlockProps {}
@@ -18,7 +18,7 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
18
18
  /* TODO Why <Title> is duplicated here? */
19
19
  <Title
20
20
  size={titleSize || 'XL'}
21
- className="font-medium m-0 mb-4 whitespace-pre-wrap max-w-[600px]"
21
+ className="font-medium m-0 mb-4 whitespace-pre-wrap max-w-[600px] text-primary-text"
22
22
  >
23
23
  {title}
24
24
  </Title>
@@ -47,7 +47,7 @@ function renderBenefit(benefit: Benefit, i: number) {
47
47
  />
48
48
  )}
49
49
  <div className="flex gap-1 flex-col h-full">
50
- <h4 className="font-medium text-xl m-0">{benefit.label}</h4>
50
+ <h4 className="font-medium text-primary-text text-xl m-0">{benefit.label}</h4>
51
51
  {benefit.description && (
52
52
  <div className="font-normal text-sm text-secondary-text">{benefit.description}</div>
53
53
  )}
@@ -1,7 +1,7 @@
1
1
  import { context } from './setup-fixture';
2
2
 
3
3
  import { ProductTile } from './ProductTile';
4
- import { Picture } from './model/Picture';
4
+ import type { Picture } from './model/Picture';
5
5
 
6
6
  const cardWithMoney: Picture = {
7
7
  src: 'card-with-diamond.png',
@@ -1,6 +1,6 @@
1
1
  import { context } from './setup-fixture';
2
2
  import { TextBlock } from './TextBlock';
3
- import { Picture } from './model/Picture';
3
+ import type { Picture } from './model/Picture';
4
4
 
5
5
  const image: Picture = {
6
6
  src: 'bank-card.png',
package/src/TextBlock.tsx CHANGED
@@ -1,8 +1,8 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { Img } from './Img';
3
2
  import type { Picture } from './model/Picture';
4
3
  import type { TextBlockContent, TextBlockVersion } from './TextBlockContent';
5
4
  import type { UniBlockProps } from './types';
5
+ import { Img } from './ui-kit/Img';
6
6
 
7
7
  export interface TextBlockProps extends TextBlockContent, UniBlockProps {}
8
8
 
@@ -13,7 +13,7 @@ const textBlockStyleMaps: Record<
13
13
  primary: {
14
14
  background: 'bg-white',
15
15
  icon: 'bg-primary-main text-white',
16
- title: 'text-base',
16
+ title: 'text-primary-text',
17
17
  description: 'text-secondary-text',
18
18
  },
19
19
  secondary: {
@@ -25,7 +25,7 @@ const textBlockStyleMaps: Record<
25
25
  'secondary-light': {
26
26
  background: 'bg-primary-main/10',
27
27
  icon: 'bg-primary-main text-white',
28
- title: 'text-base',
28
+ title: 'text-primary-text',
29
29
  description: 'text-secondary-text',
30
30
  },
31
31
  };
@@ -40,7 +40,9 @@ export const TextBlock = JSX<TextBlockProps>(
40
40
  {iconVersion && iconVersion === 'small' ? renderIcon(textBlockStyleMap.icon) : null}
41
41
  {iconVersion && iconVersion === 'big' ? renderImage(image) : null}
42
42
  <div className="py-0.5">
43
- {title && <div className={`font-medium mb-1 ${textBlockStyleMap.title}`}>{title}</div>}
43
+ {title && (
44
+ <div className={`font-medium text-base mb-1 ${textBlockStyleMap.title}`}>{title}</div>
45
+ )}
44
46
  {description && (
45
47
  <div className={`text-sm ${textBlockStyleMap.description}`}>{description}</div>
46
48
  )}
@@ -1,7 +1,7 @@
1
1
  import { context } from './setup-fixture';
2
2
 
3
3
  import { Tile } from './Tile';
4
- import { Picture } from './model/Picture';
4
+ import type { Picture } from './model/Picture';
5
5
 
6
6
  const image: Picture = {
7
7
  src: 'money-1.png',
package/src/common.css CHANGED
@@ -7,6 +7,8 @@
7
7
  --color-primary-active: 36, 95, 52;
8
8
  --color-secondary-hover: 216, 242, 217;
9
9
  --color-secondary-active: 197, 226, 198;
10
+ --color-gradient-from: 141, 189, 76;
11
+ --color-gradient-to: 69, 172, 69;
10
12
  }
11
13
  /* Business clients | Light-Green */
12
14
  [data-theme='bc'] {
@@ -15,6 +17,8 @@
15
17
  --color-primary-active: 60, 94, 16;
16
18
  --color-secondary-hover: 232, 244, 217;
17
19
  --color-secondary-active: 216, 227, 202;
20
+ --color-gradient-from: 141, 189, 76; /* TODO: change color to theme bc */
21
+ --color-gradient-to: 69, 172, 69; /* TODO: change color to theme bc */
18
22
  }
19
23
  /* Ecosystem own | Yellow */
20
24
  [data-theme='eo'] {
@@ -23,6 +27,8 @@
23
27
  --color-primary-active: 126, 99, 12;
24
28
  --color-secondary-hover: 241, 236, 221;
25
29
  --color-secondary-active: 229, 222, 199;
30
+ --color-gradient-from: 141, 189, 76; /* TODO: change color to theme eo */
31
+ --color-gradient-to: 69, 172, 69; /* TODO: change color to theme eo */
26
32
  }
27
33
 
28
34
  @tailwind components;
@@ -1,13 +1 @@
1
- <svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g clip-path="url(#a)">
3
- <path
4
- d="M19.406 12.761c-.023-3.028 2.793-4.511 2.93-4.572-1.603-2.073-4.075-2.357-4.968-2.377-2.083-.204-4.098 1.117-5.174 1.117-1.076 0-2.725-1.097-4.488-1.056-2.266.04-4.395 1.198-5.563 3.007-2.404 3.698-.618 9.124 1.694 12.09 1.145 1.464 2.496 3.09 4.259 3.028 1.717-.06 2.358-.975 4.441-.975 2.06 0 2.656.975 4.465.935 1.854-.02 3.022-1.463 4.12-2.947 1.329-1.666 1.855-3.332 1.878-3.413 0 0-3.549-1.2-3.594-4.837Zm-3.389-8.92c.916-1.037 1.557-2.419 1.374-3.841-1.35.061-3.022.833-3.984 1.829-.847.894-1.625 2.337-1.42 3.698 1.512.102 3.069-.67 4.03-1.686Z"
5
- fill="#42AB44"
6
- />
7
- </g>
8
- <defs>
9
- <clipPath id="a">
10
- <rect width="24" height="24" rx="6" fill="#fff" />
11
- </clipPath>
12
- </defs>
13
- </svg>
1
+ <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 24"><path d="M18.406 12.761c-.023-3.028 2.793-4.511 2.93-4.572-1.603-2.073-4.075-2.357-4.968-2.377-2.083-.204-4.098 1.117-5.174 1.117-1.076 0-2.725-1.097-4.488-1.056-2.266.04-4.395 1.198-5.563 3.007-2.404 3.698-.618 9.124 1.694 12.09 1.145 1.464 2.496 3.09 4.259 3.028 1.717-.06 2.358-.975 4.441-.975 2.06 0 2.656.975 4.465.935 1.854-.02 3.022-1.463 4.12-2.947 1.329-1.666 1.855-3.332 1.878-3.413 0 0-3.549-1.2-3.594-4.837Zm-3.389-8.92c.916-1.037 1.557-2.419 1.374-3.841-1.35.061-3.022.833-3.984 1.829-.847.894-1.625 2.337-1.42 3.698 1.512.102 3.069-.67 4.03-1.686Z" fill="#42AB44"/></svg>