@redneckz/wildless-cms-uni-blocks 0.14.4 → 0.14.5

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 (252) hide show
  1. package/bin/migration-scripts/0.13.5.js +33 -0
  2. package/bin/migration-scripts/0.14.1.js +29 -0
  3. package/bundle/blocks.schema.json +1 -1
  4. package/bundle/bundle.umd.js +45 -53
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
  7. package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
  8. package/bundle/components/Footer/FooterContent.d.ts +1 -4
  9. package/bundle/components/Footer/FooterDataProps.d.ts +4 -3
  10. package/bundle/components/Footer/SocialMedia.d.ts +2 -2
  11. package/dist/components/Blocks.js +0 -2
  12. package/dist/components/Blocks.js.map +1 -1
  13. package/dist/components/Calculator/BusinessDepositCalculatorForm.js +8 -8
  14. package/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  15. package/dist/components/Calculator/constants.js +0 -1
  16. package/dist/components/Calculator/constants.js.map +1 -1
  17. package/dist/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
  18. package/dist/components/Calculator/useBusinessDepositCalculatorParams.js +1 -2
  19. package/dist/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  20. package/dist/components/Carousel/Carousel.js +0 -1
  21. package/dist/components/Carousel/Carousel.js.map +1 -1
  22. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  23. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  24. package/dist/components/CarouselProductCard/CarouselProductCard.js +5 -5
  25. package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  26. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  27. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  28. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -1
  29. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
  30. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
  31. package/dist/components/Footer/Footer.mobile.js +1 -1
  32. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  33. package/dist/components/Footer/FooterContent.d.ts +1 -4
  34. package/dist/components/Footer/FooterDataProps.d.ts +4 -3
  35. package/dist/components/Footer/SocialMedia.d.ts +2 -2
  36. package/dist/components/Footer/SocialMedia.js +26 -2
  37. package/dist/components/Footer/SocialMedia.js.map +1 -1
  38. package/dist/components/Footer/iconsMap.js +0 -7
  39. package/dist/components/Footer/iconsMap.js.map +1 -1
  40. package/dist/ui-kit/Button/ButtonInner.js +1 -1
  41. package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  42. package/lib/common.css +1 -1
  43. package/lib/components/Blocks.js +0 -2
  44. package/lib/components/Blocks.js.map +1 -1
  45. package/lib/components/Calculator/BusinessDepositCalculatorForm.js +8 -8
  46. package/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  47. package/lib/components/Calculator/constants.js +0 -1
  48. package/lib/components/Calculator/constants.js.map +1 -1
  49. package/lib/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
  50. package/lib/components/Calculator/useBusinessDepositCalculatorParams.js +1 -2
  51. package/lib/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  52. package/lib/components/Carousel/Carousel.fixture.d.ts +0 -1
  53. package/lib/components/Carousel/Carousel.js +0 -1
  54. package/lib/components/Carousel/Carousel.js.map +1 -1
  55. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  56. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  57. package/lib/components/CarouselProductCard/CarouselProductCard.fixture.d.ts +2 -0
  58. package/lib/components/CarouselProductCard/CarouselProductCard.fixture.mobile.d.ts +13 -0
  59. package/lib/components/CarouselProductCard/CarouselProductCard.js +5 -5
  60. package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  61. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  62. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  63. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -1
  64. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
  65. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
  66. package/lib/components/Footer/Footer.mobile.js +1 -1
  67. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  68. package/lib/components/Footer/FooterContent.d.ts +1 -4
  69. package/lib/components/Footer/FooterDataProps.d.ts +4 -3
  70. package/lib/components/Footer/SocialMedia.d.ts +2 -2
  71. package/lib/components/Footer/SocialMedia.js +26 -2
  72. package/lib/components/Footer/SocialMedia.js.map +1 -1
  73. package/lib/components/Footer/iconsMap.js +0 -7
  74. package/lib/components/Footer/iconsMap.js.map +1 -1
  75. package/lib/ui-kit/Button/ButtonInner.js +1 -1
  76. package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  77. package/mobile/bundle/bundle.umd.js +38 -41
  78. package/mobile/bundle/bundle.umd.min.js +1 -1
  79. package/mobile/bundle/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
  80. package/mobile/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
  81. package/mobile/bundle/components/Footer/FooterContent.d.ts +1 -4
  82. package/mobile/bundle/components/Footer/FooterDataProps.d.ts +4 -3
  83. package/mobile/bundle/components/Footer/SocialMedia.d.ts +2 -2
  84. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js +8 -8
  85. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  86. package/mobile/dist/components/Calculator/constants.js +0 -1
  87. package/mobile/dist/components/Calculator/constants.js.map +1 -1
  88. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
  89. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.js +1 -2
  90. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  91. package/mobile/dist/components/Carousel/Carousel.js +0 -1
  92. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  93. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  94. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  95. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +5 -5
  96. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  97. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  98. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  99. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
  100. package/mobile/dist/components/Footer/Footer.js +1 -1
  101. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  102. package/mobile/dist/components/Footer/FooterContent.d.ts +1 -4
  103. package/mobile/dist/components/Footer/FooterDataProps.d.ts +4 -3
  104. package/mobile/dist/components/Footer/SocialMedia.d.ts +2 -2
  105. package/mobile/dist/components/Footer/SocialMedia.js +26 -2
  106. package/mobile/dist/components/Footer/SocialMedia.js.map +1 -1
  107. package/mobile/dist/components/Footer/iconsMap.js +0 -7
  108. package/mobile/dist/components/Footer/iconsMap.js.map +1 -1
  109. package/mobile/dist/ui-kit/Button/ButtonInner.js +1 -1
  110. package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  111. package/mobile/lib/common.css +1 -1
  112. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js +8 -8
  113. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  114. package/mobile/lib/components/Calculator/constants.js +0 -1
  115. package/mobile/lib/components/Calculator/constants.js.map +1 -1
  116. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.d.ts +0 -1
  117. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.js +1 -2
  118. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  119. package/mobile/lib/components/Carousel/Carousel.js +0 -1
  120. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  121. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  122. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  123. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +5 -5
  124. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  125. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  126. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  127. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -2
  128. package/mobile/lib/components/Footer/Footer.js +1 -1
  129. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  130. package/mobile/lib/components/Footer/FooterContent.d.ts +1 -4
  131. package/mobile/lib/components/Footer/FooterDataProps.d.ts +4 -3
  132. package/mobile/lib/components/Footer/SocialMedia.d.ts +2 -2
  133. package/mobile/lib/components/Footer/SocialMedia.js +26 -2
  134. package/mobile/lib/components/Footer/SocialMedia.js.map +1 -1
  135. package/mobile/lib/components/Footer/iconsMap.js +0 -7
  136. package/mobile/lib/components/Footer/iconsMap.js.map +1 -1
  137. package/mobile/lib/ui-kit/Button/ButtonInner.js +1 -1
  138. package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  139. package/mobile/src/components/Calculator/BusinessDepositCalculatorForm.tsx +28 -26
  140. package/mobile/src/components/Calculator/constants.ts +0 -1
  141. package/mobile/src/components/Calculator/useBusinessDepositCalculatorParams.ts +2 -10
  142. package/mobile/src/components/Carousel/Carousel.tsx +0 -1
  143. package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.example.json +1 -1
  144. package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +5 -1
  145. package/mobile/src/components/CarouselProductCard/CarouselProductCard.example.json +1 -3
  146. package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +23 -13
  147. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +1 -2
  148. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +1 -1
  149. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +2 -2
  150. package/mobile/src/components/Footer/Footer.tsx +1 -1
  151. package/mobile/src/components/Footer/FooterContent.ts +1 -5
  152. package/mobile/src/components/Footer/FooterDataProps.ts +4 -3
  153. package/mobile/src/components/Footer/SocialMedia.tsx +48 -16
  154. package/mobile/src/components/Footer/iconsMap.ts +0 -7
  155. package/mobile/src/components/ProductGallery/ProductGallery.example.json +10 -4
  156. package/mobile/src/ui-kit/Button/ButtonInner.tsx +1 -1
  157. package/package.json +1 -1
  158. package/src/components/Blocks.ts +0 -2
  159. package/src/components/Calculator/BusinessDepositCalculatorForm.tsx +28 -26
  160. package/src/components/Calculator/constants.ts +0 -1
  161. package/src/components/Calculator/useBusinessDepositCalculatorParams.ts +2 -10
  162. package/src/components/Carousel/Carousel.fixture.tsx +0 -18
  163. package/src/components/Carousel/Carousel.tsx +0 -1
  164. package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.example.json +1 -1
  165. package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +5 -1
  166. package/src/components/CarouselProductCard/CarouselProductCard.example.json +1 -3
  167. package/src/components/CarouselProductCard/CarouselProductCard.fixture.mobile.tsx +92 -0
  168. package/src/components/CarouselProductCard/CarouselProductCard.fixture.tsx +18 -0
  169. package/src/components/CarouselProductCard/CarouselProductCard.tsx +23 -13
  170. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +1 -2
  171. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.tsx +4 -4
  172. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.tsx +7 -7
  173. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +1 -1
  174. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +3 -1
  175. package/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +2 -2
  176. package/src/components/Footer/Footer.mobile.tsx +1 -1
  177. package/src/components/Footer/FooterContent.ts +1 -5
  178. package/src/components/Footer/FooterDataProps.ts +4 -3
  179. package/src/components/Footer/SocialMedia.tsx +48 -16
  180. package/src/components/Footer/iconsMap.ts +0 -7
  181. package/src/components/ProductGallery/ProductGallery.example.json +10 -4
  182. package/src/ui-kit/Button/ButtonInner.tsx +1 -1
  183. package/bundle/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
  184. package/bundle/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
  185. package/bundle/components/Footer/MediaButton.d.ts +0 -7
  186. package/bundle/components/Footer/buttonSizeStyle.d.ts +0 -4
  187. package/dist/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
  188. package/dist/components/CarouselEventCard/CarouselEventCard.js +0 -12
  189. package/dist/components/CarouselEventCard/CarouselEventCard.js.map +0 -1
  190. package/dist/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
  191. package/dist/components/CarouselEventCard/CarouselEventCardContent.js +0 -2
  192. package/dist/components/CarouselEventCard/CarouselEventCardContent.js.map +0 -1
  193. package/dist/components/Footer/MediaButton.d.ts +0 -7
  194. package/dist/components/Footer/MediaButton.js +0 -18
  195. package/dist/components/Footer/MediaButton.js.map +0 -1
  196. package/dist/components/Footer/buttonSizeStyle.d.ts +0 -4
  197. package/dist/components/Footer/buttonSizeStyle.js +0 -7
  198. package/dist/components/Footer/buttonSizeStyle.js.map +0 -1
  199. package/lib/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
  200. package/lib/components/CarouselEventCard/CarouselEventCard.fixture.d.ts +0 -8
  201. package/lib/components/CarouselEventCard/CarouselEventCard.js +0 -10
  202. package/lib/components/CarouselEventCard/CarouselEventCard.js.map +0 -1
  203. package/lib/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
  204. package/lib/components/CarouselEventCard/CarouselEventCardContent.js +0 -2
  205. package/lib/components/CarouselEventCard/CarouselEventCardContent.js.map +0 -1
  206. package/lib/components/Footer/MediaButton.d.ts +0 -7
  207. package/lib/components/Footer/MediaButton.js +0 -16
  208. package/lib/components/Footer/MediaButton.js.map +0 -1
  209. package/lib/components/Footer/buttonSizeStyle.d.ts +0 -4
  210. package/lib/components/Footer/buttonSizeStyle.js +0 -5
  211. package/lib/components/Footer/buttonSizeStyle.js.map +0 -1
  212. package/mobile/bundle/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
  213. package/mobile/bundle/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
  214. package/mobile/bundle/components/Footer/MediaButton.d.ts +0 -7
  215. package/mobile/bundle/components/Footer/buttonSizeStyle.d.ts +0 -4
  216. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
  217. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +0 -12
  218. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +0 -1
  219. package/mobile/dist/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
  220. package/mobile/dist/components/CarouselEventCard/CarouselEventCardContent.js +0 -2
  221. package/mobile/dist/components/CarouselEventCard/CarouselEventCardContent.js.map +0 -1
  222. package/mobile/dist/components/Footer/MediaButton.d.ts +0 -7
  223. package/mobile/dist/components/Footer/MediaButton.js +0 -18
  224. package/mobile/dist/components/Footer/MediaButton.js.map +0 -1
  225. package/mobile/dist/components/Footer/buttonSizeStyle.d.ts +0 -4
  226. package/mobile/dist/components/Footer/buttonSizeStyle.js +0 -7
  227. package/mobile/dist/components/Footer/buttonSizeStyle.js.map +0 -1
  228. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.d.ts +0 -5
  229. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +0 -10
  230. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +0 -1
  231. package/mobile/lib/components/CarouselEventCard/CarouselEventCardContent.d.ts +0 -8
  232. package/mobile/lib/components/CarouselEventCard/CarouselEventCardContent.js +0 -2
  233. package/mobile/lib/components/CarouselEventCard/CarouselEventCardContent.js.map +0 -1
  234. package/mobile/lib/components/Footer/MediaButton.d.ts +0 -7
  235. package/mobile/lib/components/Footer/MediaButton.js +0 -16
  236. package/mobile/lib/components/Footer/MediaButton.js.map +0 -1
  237. package/mobile/lib/components/Footer/buttonSizeStyle.d.ts +0 -4
  238. package/mobile/lib/components/Footer/buttonSizeStyle.js +0 -5
  239. package/mobile/lib/components/Footer/buttonSizeStyle.js.map +0 -1
  240. package/mobile/src/components/CarouselEventCard/CarouselEventCard.example.json +0 -12
  241. package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +0 -31
  242. package/mobile/src/components/CarouselEventCard/CarouselEventCard.ui.json +0 -1
  243. package/mobile/src/components/CarouselEventCard/CarouselEventCardContent.ts +0 -13
  244. package/mobile/src/components/Footer/MediaButton.tsx +0 -50
  245. package/mobile/src/components/Footer/buttonSizeStyle.ts +0 -6
  246. package/src/components/CarouselEventCard/CarouselEventCard.example.json +0 -12
  247. package/src/components/CarouselEventCard/CarouselEventCard.fixture.tsx +0 -25
  248. package/src/components/CarouselEventCard/CarouselEventCard.tsx +0 -31
  249. package/src/components/CarouselEventCard/CarouselEventCard.ui.json +0 -1
  250. package/src/components/CarouselEventCard/CarouselEventCardContent.ts +0 -13
  251. package/src/components/Footer/MediaButton.tsx +0 -50
  252. package/src/components/Footer/buttonSizeStyle.ts +0 -6
@@ -2,6 +2,7 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import { FormFieldRegisterer, useForm } from '../../hooks/useForm';
3
3
  import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
4
4
  import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
5
+ import { Text } from '../../ui-kit/Text/Text';
5
6
  import { style } from '../../utils/style';
6
7
  import type { BusinessDepositCalculatorProps } from './CalculatorContent';
7
8
  import { CalculatorValueBlock } from './CalculatorValueBlock';
@@ -28,7 +29,6 @@ export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
28
29
  daysValue: BUSINESS_DEFAULT_DAYS,
29
30
  isReplenished: false,
30
31
  isPartialWithdrawal: false,
31
- isSmallBusiness: false,
32
32
  isMonthlyInterestPayment: false,
33
33
  });
34
34
 
@@ -55,13 +55,15 @@ export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
55
55
  ...field('daysValue'),
56
56
  value: calculatorParams.daysValue,
57
57
  })}
58
- {renderBusinessDepositParamsForm(calculatorParams, field)}
59
- {renderInterestPayment({
60
- title: 'Выплата процентов',
61
- orientation: 'vertical',
62
- ...field('isMonthlyInterestPayment'),
63
- radioGroupClassName: 'sm:flex-col',
64
- })}
58
+ <div className="flex flex-col sm:flex-row gap-y-4 gap-x-14">
59
+ {renderBusinessDepositParamsForm(calculatorParams, field)}
60
+ {renderInterestPayment({
61
+ title: 'Выплата процентов',
62
+ orientation: 'vertical',
63
+ ...field('isMonthlyInterestPayment'),
64
+ radioGroupClassName: 'sm:flex-col',
65
+ })}
66
+ </div>
65
67
  </div>
66
68
  <div className="border-b border-main-divider md:hidden"></div>
67
69
  {renderRate({
@@ -85,24 +87,24 @@ const renderBusinessDepositParamsForm = (
85
87
  calculatorParams: BusinessDepositCalculatorParams,
86
88
  field: FormFieldRegisterer<BusinessDepositCalculatorUserInputParams>,
87
89
  ) => (
88
- <div className="flex flex-col gap-y-xl sm:gap-y-s">
89
- <Checkbox
90
- text="Пополнение"
91
- disabled={calculatorParams.isDisabledOperatingDeposit}
92
- {...field('isReplenished')}
93
- value={calculatorParams.isReplenished}
94
- />
95
- <Checkbox
96
- disabled={calculatorParams.isDisabledOperatingDeposit}
97
- text="Частичное снятие"
98
- {...field('isPartialWithdrawal')}
99
- value={calculatorParams.isPartialWithdrawal}
100
- />
101
- <Checkbox
102
- text="ИП / малое предприятие"
103
- {...field('isSmallBusiness')}
104
- value={calculatorParams.isSmallBusiness}
105
- />
90
+ <div className="space-y-s">
91
+ <Text color="text-secondary-text" font="font-light">
92
+ Параметры
93
+ </Text>
94
+ <div className="flex flex-col gap-y-xl sm:gap-y-s">
95
+ <Checkbox
96
+ text="Пополнение"
97
+ disabled={calculatorParams.isDisabledOperatingDeposit}
98
+ {...field('isReplenished')}
99
+ value={calculatorParams.isReplenished}
100
+ />
101
+ <Checkbox
102
+ disabled={calculatorParams.isDisabledOperatingDeposit}
103
+ text="Частичное снятие"
104
+ {...field('isPartialWithdrawal')}
105
+ value={calculatorParams.isPartialWithdrawal}
106
+ />
107
+ </div>
106
108
  </div>
107
109
  );
108
110
 
@@ -94,7 +94,6 @@ export const DEFAULT_BUSINESS_DEPOSIT_CALCULATOR_PARAMS: BusinessDepositCalculat
94
94
  isMonthlyInterestPayment: true,
95
95
  isReplenished: false,
96
96
  isPartialWithdrawal: false,
97
- isSmallBusiness: false,
98
97
  depositeName: "Депозит 'Стабильный'",
99
98
  };
100
99
 
@@ -12,7 +12,6 @@ export interface BusinessCommonDepositParams {
12
12
  isMonthlyInterestPayment: boolean;
13
13
  isReplenished: boolean;
14
14
  isPartialWithdrawal: boolean;
15
- isSmallBusiness: boolean;
16
15
  }
17
16
  export interface BusinessDepositCalculatorSourceBookParams extends BusinessCommonDepositParams {
18
17
  minSum: number;
@@ -45,14 +44,8 @@ export const useBusinessDepositCalculatorParams = (
45
44
  userInputParams: BusinessDepositCalculatorUserInputParams,
46
45
  sourceBookDir?: string,
47
46
  ): BusinessDepositCalculatorParams => {
48
- const {
49
- daysValue,
50
- moneyValue,
51
- isPartialWithdrawal,
52
- isReplenished,
53
- isSmallBusiness,
54
- isMonthlyInterestPayment,
55
- } = userInputParams;
47
+ const { daysValue, moneyValue, isPartialWithdrawal, isReplenished, isMonthlyInterestPayment } =
48
+ userInputParams;
56
49
  const data = useCalculatorParams<BusinessDepositCalculatorData>(
57
50
  sourceBookDir || BUSINESS_DEPOSIT_CALC_DEFAULT_DIR,
58
51
  );
@@ -73,7 +66,6 @@ export const useBusinessDepositCalculatorParams = (
73
66
  data?.rateRows?.find((_) => {
74
67
  return (
75
68
  isMonthlyInterestPayment === _.isMonthlyInterestPayment &&
76
- isSmallBusiness === _.isSmallBusiness &&
77
69
  checkIsOperatingDeposit(isOperatingDeposit, _) &&
78
70
  checkRangeByKeys(moneyValue, ['minSum', 'maxSum'], _) &&
79
71
  checkRangeByKeys(daysValue, ['minDays', 'maxDays'], _)
@@ -6,7 +6,6 @@ import { Blocks } from '../Blocks';
6
6
  import { BANK_HISTORY_CARD } from '../CarouselBankHistoryCard/CarouselBankHistoryCard.fixture';
7
7
  import { CARD, CARD_MINI, CARD_NEW } from '../CarouselCard/CarouselCard.fixture';
8
8
  import { CATALOG_CARD, CATALOG_CARD_NEW } from '../CarouselCatalogCard/CarouselCatalogCard.fixture';
9
- import { CAROUSEL_EVENT_CARD } from '../CarouselEventCard/CarouselEventCard.fixture';
10
9
  import { INVESTMENT_CARD_WITH_SINGLE_COLUMN } from '../CarouselInvestmentCard/CarouselInvestmentCard.fixture';
11
10
  import {
12
11
  PRODUCT_CARD,
@@ -228,23 +227,6 @@ export default {
228
227
  />
229
228
  </div>
230
229
  ),
231
-
232
- events: (
233
- <div className="container grid grid-cols-12">
234
- <Carousel
235
- className="col-span-12"
236
- visibleItemCount={0}
237
- block={{
238
- type: 'Carousel',
239
- blocks: new Array(6).fill({
240
- type: 'CarouselEventCard',
241
- content: CAROUSEL_EVENT_CARD,
242
- }),
243
- }}
244
- options={options}
245
- />
246
- </div>
247
- ),
248
230
  'bank-history': (
249
231
  <div className="container grid grid-cols-12">
250
232
  <Carousel
@@ -90,7 +90,6 @@ Carousel.childrenTypes = [
90
90
  'CarouselTariffsCard',
91
91
  'CarouselRichTextCard',
92
92
  'CarouselInvestmentCard',
93
- 'CarouselEventCard',
94
93
  'ProductBlock',
95
94
  ];
96
95
 
@@ -8,7 +8,7 @@
8
8
  "title": "Заголовок",
9
9
  "description": "Описание",
10
10
  "additionalDescription": "Описание 1-2",
11
- "columnsMode": "1",
11
+ "columnsMode": 1,
12
12
  "cardsList": [
13
13
  {
14
14
  "parameter": "Параметр",
@@ -68,7 +68,11 @@ export const CarouselInvestmentCard = JSX<CarouselInvestmentCardProps>(
68
68
  const renderCardList = (cardsList: CardsListItem[]) =>
69
69
  cardsList.map((item, i) => (
70
70
  <li key={String(i)}>
71
- {item?.parameter ? <Text size="text-h6">{item.parameter}</Text> : null}
71
+ {item?.parameter ? (
72
+ <div className="inline pr-xs">
73
+ <Text size="text-h6">{item.parameter}</Text>
74
+ </div>
75
+ ) : null}
72
76
  {item?.parameterDescription ? (
73
77
  <Text size="text-m" font="font-light" color="text-secondary-text">
74
78
  {item.parameterDescription}
@@ -15,8 +15,6 @@
15
15
  { "text": "Элемент списка 1", "title": "Элемент заголовка 1" },
16
16
  { "text": "Элемент списка 2", "title": "Элемент заголовка 2" },
17
17
  { "text": "Элемент списка 3", "title": "Элемент заголовка 3" }
18
- ],
19
- "align": "text-center",
20
- "isFullWidth": true
18
+ ]
21
19
  }
22
20
  }
@@ -0,0 +1,92 @@
1
+ import '../../setup-fixture';
2
+
3
+ import type { Picture } from '../../model/Picture';
4
+ import { CarouselProductCard } from './CarouselProductCard';
5
+ import type { CarouselProductCardContent } from './CarouselProductCardContent';
6
+ import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
7
+
8
+ const isDotted = false;
9
+
10
+ const image: Picture = {
11
+ src: 'money-1.png',
12
+ format: 'webp',
13
+ size: {
14
+ width: 140,
15
+ height: 140,
16
+ },
17
+ title: 'money',
18
+ };
19
+
20
+ const buttonPrimary: ButtonContent = {
21
+ href: '/credit-cards',
22
+ text: 'Подробнее',
23
+ target: '_blank',
24
+ version: 'secondary',
25
+ };
26
+
27
+ const buttonPrimaryIcon: ButtonContent = {
28
+ href: '/credit-cards',
29
+ text: 'Подробнее',
30
+ target: '_blank',
31
+ version: 'secondary',
32
+ icon: { icon: 'BankIcon' },
33
+ };
34
+
35
+ const defaultItems = [
36
+ { text: 'Качественные фермерские продукты напрямую от производителей' },
37
+ { text: 'Самая большая база сельских туров по России' },
38
+ { text: 'Площадки для создания комфортной жизни за городом' },
39
+ ];
40
+
41
+ export const PRODUCT_CARD: CarouselProductCardContent = {
42
+ title: 'Более 5000 товаров',
43
+ description: 'Время копить: ставка растет в зависимости от срока нахождения средств на Счете!',
44
+ icon: image,
45
+ button: buttonPrimary,
46
+ isDotted,
47
+ items: defaultItems,
48
+ isImageFullWidth: true,
49
+ additionalDescription: 'Дополнительное описание',
50
+ };
51
+
52
+ export const PRODUCT_CARD_SMALL: CarouselProductCardContent = {
53
+ title: 'Более 5000 товаров Более 5000 товаров Более 5000 товаров',
54
+ icon: image,
55
+ button: buttonPrimary,
56
+ isDotted,
57
+ isButtonFullWidth: true,
58
+ };
59
+ export const PRODUCT_CARD_EVENT: CarouselProductCardContent = {
60
+ title: 'Более 5000 товаров',
61
+ icon: image,
62
+ isDotted,
63
+ additionalDescription: 'Дополнительное описание',
64
+ isTopPosition: true,
65
+ isImageFullWidth: true,
66
+ };
67
+
68
+ const CAROUSEL_PRODUCT_CARD = <CarouselProductCard className="col-span-12" {...PRODUCT_CARD} />;
69
+ const CAROUSEL_PRODUCT_CARD_SECONDARY = (
70
+ <CarouselProductCard
71
+ className="col-span-12"
72
+ {...PRODUCT_CARD}
73
+ version="secondary"
74
+ isDotted={true}
75
+ button={buttonPrimaryIcon}
76
+ isButtonFullWidth={true}
77
+ />
78
+ );
79
+ const CAROUSEL_PRODUCT_CARD_SMALL = (
80
+ <CarouselProductCard className="col-span-12" {...PRODUCT_CARD_SMALL} />
81
+ );
82
+
83
+ const CAROUSEL_PRODUCT_CARD_EVENT = (
84
+ <CarouselProductCard className="col-span-12" {...PRODUCT_CARD_EVENT} />
85
+ );
86
+
87
+ export default {
88
+ default: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD}</div>,
89
+ secondary: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_SECONDARY}</div>,
90
+ small: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_SMALL}</div>,
91
+ event: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_EVENT}</div>,
92
+ };
@@ -54,9 +54,21 @@ export const PRODUCT_CARD_SMALL: CarouselProductCardContent = {
54
54
  button: buttonPrimary,
55
55
  isDotted,
56
56
  isButtonFullWidth: false,
57
+ align: 'text-left',
58
+ };
59
+
60
+ export const PRODUCT_CARD_EVENT: CarouselProductCardContent = {
61
+ title: 'Более 5000 товаров',
62
+ icon: image,
63
+ isDotted,
64
+ additionalDescription: 'Дополнительное описание',
65
+ align: 'text-left',
66
+ isTopPosition: true,
67
+ isImageFullWidth: true,
57
68
  };
58
69
 
59
70
  const CAROUSEL_PRODUCT_CARD = <CarouselProductCard className="col-span-4" {...PRODUCT_CARD} />;
71
+
60
72
  const CAROUSEL_PRODUCT_CARD_SECONDARY = (
61
73
  <CarouselProductCard
62
74
  className="col-span-4"
@@ -67,12 +79,18 @@ const CAROUSEL_PRODUCT_CARD_SECONDARY = (
67
79
  isButtonFullWidth={false}
68
80
  />
69
81
  );
82
+
70
83
  const CAROUSEL_PRODUCT_CARD_SMALL = (
71
84
  <CarouselProductCard className="col-span-4" {...PRODUCT_CARD_SMALL} />
72
85
  );
73
86
 
87
+ const CAROUSEL_PRODUCT_CARD_EVENT = (
88
+ <CarouselProductCard className="col-span-4" {...PRODUCT_CARD_EVENT} />
89
+ );
90
+
74
91
  export default {
75
92
  default: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD}</div>,
76
93
  secondary: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_SECONDARY}</div>,
77
94
  small: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_SMALL}</div>,
95
+ event: <div className="container grid grid-cols-12">{CAROUSEL_PRODUCT_CARD_EVENT}</div>,
78
96
  };
@@ -14,6 +14,7 @@ import { Text } from '../../ui-kit/Text/Text';
14
14
  import { style } from '../../utils/style';
15
15
  import { HEADLINE_SMALL_VERSION } from '../Headline/headlineVersionStyles';
16
16
  import { AlignStyles } from '../../model/AlignStyles';
17
+ import type { TextAlign } from '../../ui-kit/Text/TextProps';
17
18
 
18
19
  export interface CarouselProductCardProps extends CarouselProductCardContent, UniBlockProps {}
19
20
 
@@ -39,16 +40,16 @@ export const CarouselProductCard = JSX<CarouselProductCardProps>(
39
40
  }) => {
40
41
  return (
41
42
  <BlockWrapper
42
- className={style('flex flex-col justify-between', align, className)}
43
+ className={style('flex flex-col justify-between', className)}
43
44
  defaultPadding="p-0"
44
45
  version={version}
45
46
  {...rest}
46
47
  >
47
48
  <LinkWrapper className="p-m flex flex-col gap-xs" href={href} target={target}>
48
- {renderCardTitle(headlineSmallVersion, title)}
49
- {renderDescription(description)}
49
+ {renderCardTitle(headlineSmallVersion, title, align)}
50
+ {renderDescription(description, align)}
50
51
  {renderItems(items, isDotted, version)}
51
- {renderAdditionalDescription(additionalDescription)}
52
+ {renderAdditionalDescription(additionalDescription, align)}
52
53
  {renderImage(icon, isImageFullWidth, isTopPosition)}
53
54
  </LinkWrapper>
54
55
  {renderButtonsSection([button], {
@@ -63,33 +64,42 @@ export const CarouselProductCard = JSX<CarouselProductCardProps>(
63
64
  const renderImage = (image?: Picture, isImageFullWidth?: boolean, isTopPosition?: boolean) => (
64
65
  <div
65
66
  className={style(
66
- 'flex gap-lg',
67
+ 'flex gap-y-lg justify-center',
68
+ isImageFullWidth ? 'min-w-full h-full' : '',
67
69
  isTopPosition ? 'order-first' : 'order-last',
68
- !isImageFullWidth ? 'justify-center' : '',
69
70
  )}
70
71
  >
71
- {image?.src ? <Img className="shrink-0" image={image} /> : null}
72
+ {image?.src ? <Img image={image} /> : null}
72
73
  {image?.icon ? (
73
74
  <Img
74
- className={style('shrink-0', !isImageFullWidth ? 'w-8 h-8 min-w-8' : '')}
75
+ className={style(!isImageFullWidth ? 'w-8 h-8 min-w-8' : 'w-full h-full')}
75
76
  image={image}
76
77
  />
77
78
  ) : null}
78
79
  </div>
79
80
  );
80
81
 
81
- const renderCardTitle = (headlineSmallVersion: string, title?: string) =>
82
- title ? <Text size={HEADLINE_SMALL_VERSION[headlineSmallVersion]}>{title}</Text> : null;
82
+ const renderCardTitle = (headlineSmallVersion: string, title?: string, align?: TextAlign) =>
83
+ title ? (
84
+ <Text align={align} size={HEADLINE_SMALL_VERSION[headlineSmallVersion]}>
85
+ {title}
86
+ </Text>
87
+ ) : null;
83
88
 
84
- const renderDescription = (description?: string) =>
85
- description ? <Paragraph size="text-l">{description}</Paragraph> : null;
89
+ const renderDescription = (description?: string, align?: TextAlign) =>
90
+ description ? (
91
+ <Paragraph align={align} size="text-l">
92
+ {description}
93
+ </Paragraph>
94
+ ) : null;
86
95
 
87
- const renderAdditionalDescription = (additionalDescription?: string) =>
96
+ const renderAdditionalDescription = (additionalDescription?: string, align?: TextAlign) =>
88
97
  additionalDescription ? (
89
98
  <Text
90
99
  size="text-m"
91
100
  font="font-light"
92
101
  color="text-secondary-text group-data-secondary:text-white/80"
102
+ align={align}
93
103
  >
94
104
  {additionalDescription}
95
105
  </Text>
@@ -15,8 +15,7 @@
15
15
  "href": "https://t.me",
16
16
  "target": "_blank",
17
17
  "version": "gray",
18
- "rounded": false,
19
- "text": "Текст"
18
+ "rounded": false
20
19
  }
21
20
  ],
22
21
  "version": "primary",
@@ -1,9 +1,9 @@
1
1
  import '../../setup-fixture';
2
2
 
3
3
  import type { Picture } from '../../model/Picture';
4
- import type { SocialMediaLink } from '../Footer/FooterContent';
5
- import { CarouselRecommendationCard } from './CarouselRecommendationCard';
4
+ import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
6
5
  import type { CarouselRecommendationCardContent } from './CarouselRecommendationCardContent';
6
+ import { CarouselRecommendationCard } from './CarouselRecommendationCard';
7
7
 
8
8
  const icon: Picture = {
9
9
  src: 'product-basket.png',
@@ -15,7 +15,7 @@ const icon: Picture = {
15
15
  title: 'product-basket',
16
16
  };
17
17
 
18
- const socialMediaWithText: SocialMediaLink[] = [
18
+ const socialMediaWithText: ButtonContent[] = [
19
19
  {
20
20
  href: 'https://t.me',
21
21
  text: 'Telegram',
@@ -30,7 +30,7 @@ const socialMediaWithText: SocialMediaLink[] = [
30
30
  },
31
31
  ];
32
32
 
33
- const socialMediaWithoutText: SocialMediaLink[] = [
33
+ const socialMediaWithoutText: ButtonContent[] = [
34
34
  {
35
35
  href: 'https://t.me',
36
36
  },
@@ -1,9 +1,9 @@
1
1
  import '../../setup-fixture';
2
2
 
3
3
  import type { Picture } from '../../model/Picture';
4
- import type { SocialMediaLink } from '../Footer/FooterContent';
5
- import { CarouselRecommendationCard } from './CarouselRecommendationCard';
4
+ import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
6
5
  import type { CarouselRecommendationCardContent } from './CarouselRecommendationCardContent';
6
+ import { CarouselRecommendationCard } from './CarouselRecommendationCard';
7
7
 
8
8
  const icon: Picture = {
9
9
  src: 'product-basket.png',
@@ -15,22 +15,22 @@ const icon: Picture = {
15
15
  title: 'product-basket',
16
16
  };
17
17
 
18
- const socialMediaWithText: SocialMediaLink[] = [
18
+ const socialMediaWithText: ButtonContent[] = [
19
19
  {
20
20
  href: 'https://t.me',
21
- text: 'Telegram',
21
+ text: 'Телеграм',
22
22
  },
23
23
  {
24
24
  href: 'https://vk.com',
25
- text: 'Telegram',
25
+ text: 'ВКонтакте',
26
26
  },
27
27
  {
28
28
  href: 'https://ok.ru',
29
- text: 'Telegram',
29
+ text: 'Одноклассники',
30
30
  },
31
31
  ];
32
32
 
33
- const socialMediaWithoutText: SocialMediaLink[] = [
33
+ const socialMediaWithoutText: ButtonContent[] = [
34
34
  {
35
35
  href: 'https://t.me',
36
36
  },
@@ -43,7 +43,7 @@ export const CarouselRecommendationCard = JSX<RecommendationCardProps>(
43
43
  <List className="flex flex-col gap-xs" items={items} listItemSize="XS" />
44
44
  ) : null}
45
45
  {renderIcon(icon)}
46
- {socialMedia.length ? <SocialMedia media={socialMedia} /> : null}
46
+ {socialMedia.length ? <SocialMedia media={socialMedia} showButtonText={true} /> : null}
47
47
  </LinkWrapper>
48
48
  </BlockWrapper>
49
49
  );
@@ -51,7 +51,9 @@ export const CarouselRecommendationCard = JSX<RecommendationCardProps>(
51
51
  ) : null
52
52
  }
53
53
  backImage={icon?.icon || icon?.src ? <Img image={icon} /> : null}
54
- buttons={socialMedia.length ? <SocialMedia media={socialMedia} /> : null}
54
+ buttons={
55
+ socialMedia.length ? <SocialMedia media={socialMedia} showButtonText={true} /> : null
56
+ }
55
57
  >
56
58
  {items.length ? <List items={items} listItemSize={listItemSize} /> : null}
57
59
  </BaseTile>
@@ -2,8 +2,8 @@ import type { AlignProps, HeadlineCommonProps } from '../../model/HeadlineType';
2
2
  import type { UniBlockContent } from '../../model/JSXBlock';
3
3
  import type { LinkCommonProps } from '../../model/LinkProps';
4
4
  import type { IconProps } from '../../model/Picture';
5
+ import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
5
6
  import type { ListContent } from '../../ui-kit/List/ListContent';
6
- import type { SocialMediaLink } from '../Footer/FooterContent';
7
7
 
8
8
  /**
9
9
  * @title Карточка рекомендаций
@@ -15,5 +15,5 @@ export type CarouselRecommendationCardContent = UniBlockContent &
15
15
  LinkCommonProps &
16
16
  AlignProps & {
17
17
  /** @title Соц сети */
18
- socialMedia?: SocialMediaLink[];
18
+ socialMedia?: ButtonContent[];
19
19
  };
@@ -39,7 +39,7 @@ export const Footer = JSX<FooterProps>(({ className, ...rest }) => {
39
39
  </div>
40
40
  <Contacts className="overflow-hidden" items={contacts} />
41
41
  <div className="mt-xl">
42
- <SocialMedia className="mb-xl" media={socialMedia} buttonSize="stretched">
42
+ <SocialMedia className="mb-xl" media={socialMedia} stretched={true}>
43
43
  Соцсети
44
44
  </SocialMedia>
45
45
  <Text size="text-s" font="font-light" color="text-secondary-text">
@@ -1,11 +1,7 @@
1
1
  import type { DescriptionProps } from '../../model/HeadlineType';
2
2
  import type { UniBlockContent } from '../../model/JSXBlock';
3
3
  import type { LinkProps } from '../../model/LinkProps';
4
- import type { IconProps, Picture } from '../../model/Picture';
5
-
6
- export interface SocialMediaLink extends LinkProps {
7
- icon?: Picture;
8
- }
4
+ import type { IconProps } from '../../model/Picture';
9
5
 
10
6
  /**
11
7
  * @title Тип контакта
@@ -1,12 +1,13 @@
1
1
  import type { LinkProps } from '../../model/LinkProps';
2
2
  import type { SitemapData } from '../../services/sitemap/SitemapData';
3
- import type { ContactGroup, SocialMediaLink } from './FooterContent';
3
+ import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
4
+ import type { ContactGroup } from './FooterContent';
4
5
 
5
6
  export interface FooterDataProps extends SitemapData {
6
7
  documents?: LinkProps[];
7
8
  relatedEnterprises?: LinkProps[];
8
9
  contacts?: ContactGroup[];
9
- socialMedia?: SocialMediaLink[];
10
- mobileApps?: SocialMediaLink[];
10
+ socialMedia?: ButtonContent[];
11
+ mobileApps?: ButtonContent[];
11
12
  horizontalNavigationTitle?: string; // TODO: для мобильной версии
12
13
  }
@@ -1,29 +1,61 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { useState } from '@redneckz/uni-jsx/lib/hooks';
3
+ import type { Picture } from '../../model/Picture';
2
4
  import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
5
+ import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
3
6
  import { Text } from '../../ui-kit/Text/Text';
4
7
  import { style } from '../../utils/style';
5
- import type { ButtonSize } from './MediaButton';
6
- import { MediaButton } from './MediaButton';
8
+ import { findIconByHref } from './findIconByHref';
7
9
 
8
10
  export interface SocialMediaProps {
9
11
  className?: string;
10
12
  media?: ButtonContent[];
11
- buttonSize?: ButtonSize;
13
+ showButtonText?: boolean;
14
+ stretched?: boolean;
12
15
  }
13
16
 
14
17
  export const SocialMedia = JSX<SocialMediaProps>(
15
- ({ className = '', media, children, buttonSize }) => (
16
- <div className="flex flex-col sm:flex-col-reverse gap-xs">
17
- {children ? (
18
- <Text size="text-s" font="font-light" color="text-secondary-text">
19
- {children}
20
- </Text>
21
- ) : null}
22
- <div className={style('flex gap-xs', className)}>
23
- {media?.map((_, index) => (
24
- <MediaButton key={String(index)} buttonSize={buttonSize} {..._} />
25
- ))}
18
+ ({ className = '', media, showButtonText, stretched, children }) => {
19
+ const [hasText, setHasText] = useState<boolean | undefined>();
20
+ const buttons: ButtonContent[] | undefined = media?.map((_) => {
21
+ const { href, icon, text } = _;
22
+ const { iconMapped } = findIconByHref(href);
23
+ const iconCustom = getFilteredIcon(icon) ?? iconMapped;
24
+ const buttonText = showButtonText ? { text } : {};
25
+
26
+ if (!hasText && text) {
27
+ setHasText(true);
28
+ }
29
+
30
+ return {
31
+ ...buttonText,
32
+ icon: { ...iconCustom, iconVersion: 'color' },
33
+ version: 'white',
34
+ };
35
+ });
36
+
37
+ const buttonClassName = style(
38
+ 'border border-solid hover:border-transparent group-data-primary:border-main-divider border-main-divider group-data-gray:border-green group/media',
39
+ showButtonText && hasText ? '' : ' basis-auto',
40
+ stretched ? 'flex-1 justify-center' : '',
41
+ );
42
+
43
+ return (
44
+ <div className="flex flex-col sm:flex-col-reverse gap-xs">
45
+ {children ? (
46
+ <Text size="text-s" font="font-light" color="text-secondary-text">
47
+ {children}
48
+ </Text>
49
+ ) : null}
50
+ <div className={style('flex gap-xs', className)}>
51
+ {renderButtonsSection(buttons, {
52
+ className: stretched ? 'w-full' : '',
53
+ buttonClassName,
54
+ })}
55
+ </div>
26
56
  </div>
27
- </div>
28
- ),
57
+ );
58
+ },
29
59
  );
60
+
61
+ const getFilteredIcon = (icon: Picture | undefined) => (icon?.src || icon?.icon ? icon : undefined);