@redneckz/wildless-cms-uni-blocks 0.14.29 → 0.14.30

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 (429) hide show
  1. package/bin/migration-scripts/0.14.29.js +1 -33
  2. package/bin/migration-scripts/0.14.30.js +54 -0
  3. package/bin/utils.js +36 -0
  4. package/bundle/blocks.schema.json +1 -1
  5. package/bundle/bundle.umd.js +179 -67
  6. package/bundle/bundle.umd.min.js +1 -1
  7. package/bundle/components/Calculator/RefinancingCalculatorForm.d.ts +1 -0
  8. package/bundle/components/Calculator/renderBinaryRadioButtonGroup.d.ts +2 -1
  9. package/bundle/components/OfficesAtmsMap/CardCell.d.ts +3 -2
  10. package/bundle/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +5 -0
  11. package/bundle/components/OfficesAtmsMap/getScheduleDescription.d.ts +4 -0
  12. package/bundle/components/OfficesAtmsMap/getWorkScheduleWeek.d.ts +3 -0
  13. package/bundle/components/OfficesAtmsMap/renderBusinessSchedule.d.ts +8 -0
  14. package/bundle/components/OfficesAtmsMap/renderOfficeCard.d.ts +2 -2
  15. package/bundle/hooks/useResizeObserver.d.ts +3 -0
  16. package/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +9 -1
  17. package/bundle/ui-kit/PriceList/PriceList.d.ts +2 -0
  18. package/bundle/ui-kit/PriceList/PriceListProps.d.ts +9 -0
  19. package/bundle/ui-kit/Select/SelectPopup.d.ts +5 -3
  20. package/bundle/ui-kit/Select/useSelectPopup.d.ts +1 -1
  21. package/dist/components/Blocks.js +0 -2
  22. package/dist/components/Blocks.js.map +1 -1
  23. package/dist/components/Blocks.mobile.js +0 -2
  24. package/dist/components/Blocks.mobile.js.map +1 -1
  25. package/dist/components/Calculator/CreditCalculatorForm.js +3 -2
  26. package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  27. package/dist/components/Calculator/RefinancingCalculatorForm.d.ts +1 -0
  28. package/dist/components/Calculator/RefinancingCalculatorForm.js +9 -3
  29. package/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  30. package/dist/components/Calculator/renderBinaryRadioButtonGroup.d.ts +2 -1
  31. package/dist/components/Calculator/renderBinaryRadioButtonGroup.js +1 -1
  32. package/dist/components/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
  33. package/dist/components/CarouselCard/CarouselCard.js +1 -1
  34. package/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  35. package/dist/components/Depository/Depository.js +12 -3
  36. package/dist/components/Depository/Depository.js.map +1 -1
  37. package/dist/components/Depository/DepositoryFilter.js +1 -1
  38. package/dist/components/Depository/DepositoryFilter.js.map +1 -1
  39. package/dist/components/Depository/DepositoryItem.js +1 -1
  40. package/dist/components/Depository/DepositoryItem.js.map +1 -1
  41. package/dist/components/Depository/useDepository.js +11 -1
  42. package/dist/components/Depository/useDepository.js.map +1 -1
  43. package/dist/components/OfficesAtmsMap/Badge.js +2 -2
  44. package/dist/components/OfficesAtmsMap/Badge.js.map +1 -1
  45. package/dist/components/OfficesAtmsMap/CardCell.d.ts +3 -2
  46. package/dist/components/OfficesAtmsMap/CardCell.js +6 -4
  47. package/dist/components/OfficesAtmsMap/CardCell.js.map +1 -1
  48. package/dist/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +5 -0
  49. package/dist/components/OfficesAtmsMap/getScheduleDescription.d.ts +4 -0
  50. package/dist/components/OfficesAtmsMap/getScheduleDescription.js +36 -0
  51. package/dist/components/OfficesAtmsMap/getScheduleDescription.js.map +1 -0
  52. package/dist/components/OfficesAtmsMap/getWorkScheduleWeek.d.ts +3 -0
  53. package/dist/components/OfficesAtmsMap/getWorkScheduleWeek.js +28 -0
  54. package/dist/components/OfficesAtmsMap/getWorkScheduleWeek.js.map +1 -0
  55. package/dist/components/OfficesAtmsMap/renderBusinessSchedule.d.ts +8 -0
  56. package/dist/components/OfficesAtmsMap/renderBusinessSchedule.js +32 -0
  57. package/dist/components/OfficesAtmsMap/renderBusinessSchedule.js.map +1 -0
  58. package/dist/components/OfficesAtmsMap/renderOfficeCard.d.ts +2 -2
  59. package/dist/components/OfficesAtmsMap/renderOfficeCard.js +24 -28
  60. package/dist/components/OfficesAtmsMap/renderOfficeCard.js.map +1 -1
  61. package/dist/components/StepsBlock/StepsBlock.js +3 -2
  62. package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  63. package/dist/hooks/useResizeObserver.d.ts +3 -0
  64. package/dist/hooks/useResizeObserver.js +22 -0
  65. package/dist/hooks/useResizeObserver.js.map +1 -0
  66. package/dist/ui-kit/BaseProductTile/BaseProductTile.js +3 -2
  67. package/dist/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  68. package/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +9 -1
  69. package/dist/ui-kit/DatePicker/DatePicker.js +1 -1
  70. package/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  71. package/dist/ui-kit/Foldable/FoldableSection.js +5 -4
  72. package/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
  73. package/dist/ui-kit/PriceList/PriceList.d.ts +2 -0
  74. package/dist/ui-kit/PriceList/PriceList.js +9 -0
  75. package/dist/ui-kit/PriceList/PriceList.js.map +1 -0
  76. package/dist/ui-kit/PriceList/PriceListProps.d.ts +9 -0
  77. package/dist/{components/PictureText/PictureTextContent.js → ui-kit/PriceList/PriceListProps.js} +1 -1
  78. package/dist/ui-kit/PriceList/PriceListProps.js.map +1 -0
  79. package/dist/ui-kit/Select/Select.js +1 -0
  80. package/dist/ui-kit/Select/Select.js.map +1 -1
  81. package/dist/ui-kit/Select/SelectPopup.d.ts +5 -3
  82. package/dist/ui-kit/Select/SelectPopup.js +2 -2
  83. package/dist/ui-kit/Select/SelectPopup.js.map +1 -1
  84. package/dist/ui-kit/Select/useSelectPopup.d.ts +1 -1
  85. package/dist/ui-kit/Select/useSelectPopup.js +2 -2
  86. package/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
  87. package/lib/common.css +1 -1
  88. package/lib/components/Blocks.js +0 -2
  89. package/lib/components/Blocks.js.map +1 -1
  90. package/lib/components/Blocks.mobile.js +0 -2
  91. package/lib/components/Blocks.mobile.js.map +1 -1
  92. package/lib/components/Calculator/CreditCalculatorForm.js +3 -2
  93. package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  94. package/lib/components/Calculator/RefinancingCalculatorForm.d.ts +1 -0
  95. package/lib/components/Calculator/RefinancingCalculatorForm.js +10 -4
  96. package/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  97. package/lib/components/Calculator/renderBinaryRadioButtonGroup.d.ts +2 -1
  98. package/lib/components/Calculator/renderBinaryRadioButtonGroup.js +1 -1
  99. package/lib/components/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
  100. package/lib/components/CarouselCard/CarouselCard.js +1 -1
  101. package/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  102. package/lib/components/Depository/Depository.js +12 -3
  103. package/lib/components/Depository/Depository.js.map +1 -1
  104. package/lib/components/Depository/DepositoryFilter.js +1 -1
  105. package/lib/components/Depository/DepositoryFilter.js.map +1 -1
  106. package/lib/components/Depository/DepositoryItem.js +1 -1
  107. package/lib/components/Depository/DepositoryItem.js.map +1 -1
  108. package/lib/components/Depository/useDepository.js +11 -1
  109. package/lib/components/Depository/useDepository.js.map +1 -1
  110. package/lib/components/OfficesAtmsMap/Badge.js +2 -2
  111. package/lib/components/OfficesAtmsMap/Badge.js.map +1 -1
  112. package/lib/components/OfficesAtmsMap/CardCell.d.ts +3 -2
  113. package/lib/components/OfficesAtmsMap/CardCell.js +6 -4
  114. package/lib/components/OfficesAtmsMap/CardCell.js.map +1 -1
  115. package/lib/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +5 -0
  116. package/lib/components/OfficesAtmsMap/getScheduleDescription.d.ts +4 -0
  117. package/lib/components/OfficesAtmsMap/getScheduleDescription.js +32 -0
  118. package/lib/components/OfficesAtmsMap/getScheduleDescription.js.map +1 -0
  119. package/lib/components/OfficesAtmsMap/getWorkScheduleWeek.d.ts +3 -0
  120. package/lib/components/OfficesAtmsMap/getWorkScheduleWeek.js +25 -0
  121. package/lib/components/OfficesAtmsMap/getWorkScheduleWeek.js.map +1 -0
  122. package/lib/components/OfficesAtmsMap/renderBusinessSchedule.d.ts +8 -0
  123. package/lib/components/OfficesAtmsMap/renderBusinessSchedule.js +27 -0
  124. package/lib/components/OfficesAtmsMap/renderBusinessSchedule.js.map +1 -0
  125. package/lib/components/OfficesAtmsMap/renderOfficeCard.d.ts +2 -2
  126. package/lib/components/OfficesAtmsMap/renderOfficeCard.js +24 -28
  127. package/lib/components/OfficesAtmsMap/renderOfficeCard.js.map +1 -1
  128. package/lib/components/ProductBlock/ProductBlock.fixture.d.ts +1 -0
  129. package/lib/components/ProductBlock/ProductBlock.fixture.mobile.d.ts +1 -0
  130. package/lib/components/StepsBlock/StepsBlock.js +3 -2
  131. package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  132. package/lib/hooks/useResizeObserver.d.ts +3 -0
  133. package/lib/hooks/useResizeObserver.js +19 -0
  134. package/lib/hooks/useResizeObserver.js.map +1 -0
  135. package/lib/ui-kit/BaseProductTile/BaseProductTile.js +3 -2
  136. package/lib/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  137. package/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +9 -1
  138. package/lib/ui-kit/DatePicker/DatePicker.js +1 -1
  139. package/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  140. package/lib/ui-kit/Foldable/FoldableSection.js +6 -5
  141. package/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
  142. package/lib/ui-kit/PriceList/PriceList.d.ts +2 -0
  143. package/lib/ui-kit/PriceList/PriceList.fixture.d.ts +6 -0
  144. package/lib/ui-kit/PriceList/PriceList.js +7 -0
  145. package/lib/ui-kit/PriceList/PriceList.js.map +1 -0
  146. package/lib/ui-kit/PriceList/PriceListProps.d.ts +9 -0
  147. package/lib/ui-kit/PriceList/PriceListProps.js +2 -0
  148. package/lib/ui-kit/PriceList/PriceListProps.js.map +1 -0
  149. package/lib/ui-kit/Select/Select.js +1 -0
  150. package/lib/ui-kit/Select/Select.js.map +1 -1
  151. package/lib/ui-kit/Select/SelectPopup.d.ts +5 -3
  152. package/lib/ui-kit/Select/SelectPopup.js +2 -2
  153. package/lib/ui-kit/Select/SelectPopup.js.map +1 -1
  154. package/lib/ui-kit/Select/useSelectPopup.d.ts +1 -1
  155. package/lib/ui-kit/Select/useSelectPopup.js +2 -2
  156. package/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
  157. package/mobile/bundle/bundle.umd.js +48 -25
  158. package/mobile/bundle/bundle.umd.min.js +1 -1
  159. package/mobile/bundle/components/Calculator/RefinancingCalculatorForm.d.ts +1 -0
  160. package/mobile/bundle/components/Calculator/renderBinaryRadioButtonGroup.d.ts +2 -1
  161. package/mobile/bundle/components/OfficesAtmsMap/CardCell.d.ts +3 -2
  162. package/mobile/bundle/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +5 -0
  163. package/mobile/bundle/components/OfficesAtmsMap/getScheduleDescription.d.ts +4 -0
  164. package/mobile/bundle/components/OfficesAtmsMap/getWorkScheduleWeek.d.ts +3 -0
  165. package/mobile/bundle/components/OfficesAtmsMap/renderBusinessSchedule.d.ts +8 -0
  166. package/mobile/bundle/components/OfficesAtmsMap/renderOfficeCard.d.ts +2 -2
  167. package/mobile/bundle/hooks/useResizeObserver.d.ts +3 -0
  168. package/mobile/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +9 -1
  169. package/mobile/bundle/ui-kit/PriceList/PriceList.d.ts +2 -0
  170. package/mobile/bundle/ui-kit/PriceList/PriceListProps.d.ts +9 -0
  171. package/mobile/bundle/ui-kit/Select/SelectPopup.d.ts +5 -3
  172. package/mobile/bundle/ui-kit/Select/useSelectPopup.d.ts +1 -1
  173. package/mobile/dist/components/Blocks.js +0 -2
  174. package/mobile/dist/components/Blocks.js.map +1 -1
  175. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +3 -2
  176. package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  177. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.d.ts +1 -0
  178. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js +9 -3
  179. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  180. package/mobile/dist/components/Calculator/renderBinaryRadioButtonGroup.d.ts +2 -1
  181. package/mobile/dist/components/Calculator/renderBinaryRadioButtonGroup.js +1 -1
  182. package/mobile/dist/components/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
  183. package/mobile/dist/components/CarouselCard/CarouselCard.js +1 -1
  184. package/mobile/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  185. package/mobile/dist/components/Depository/Depository.js +12 -3
  186. package/mobile/dist/components/Depository/Depository.js.map +1 -1
  187. package/mobile/dist/components/Depository/DepositoryFilter.js +1 -1
  188. package/mobile/dist/components/Depository/DepositoryFilter.js.map +1 -1
  189. package/mobile/dist/components/Depository/DepositoryItem.js +1 -1
  190. package/mobile/dist/components/Depository/DepositoryItem.js.map +1 -1
  191. package/mobile/dist/components/Depository/useDepository.js +11 -1
  192. package/mobile/dist/components/Depository/useDepository.js.map +1 -1
  193. package/mobile/dist/components/OfficesAtmsMap/Badge.js +2 -2
  194. package/mobile/dist/components/OfficesAtmsMap/Badge.js.map +1 -1
  195. package/mobile/dist/components/OfficesAtmsMap/CardCell.d.ts +3 -2
  196. package/mobile/dist/components/OfficesAtmsMap/CardCell.js +6 -4
  197. package/mobile/dist/components/OfficesAtmsMap/CardCell.js.map +1 -1
  198. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +5 -0
  199. package/mobile/dist/components/OfficesAtmsMap/getScheduleDescription.d.ts +4 -0
  200. package/mobile/dist/components/OfficesAtmsMap/getScheduleDescription.js +36 -0
  201. package/mobile/dist/components/OfficesAtmsMap/getScheduleDescription.js.map +1 -0
  202. package/mobile/dist/components/OfficesAtmsMap/getWorkScheduleWeek.d.ts +3 -0
  203. package/mobile/dist/components/OfficesAtmsMap/getWorkScheduleWeek.js +28 -0
  204. package/mobile/dist/components/OfficesAtmsMap/getWorkScheduleWeek.js.map +1 -0
  205. package/mobile/dist/components/OfficesAtmsMap/renderBusinessSchedule.d.ts +8 -0
  206. package/mobile/dist/components/OfficesAtmsMap/renderBusinessSchedule.js +32 -0
  207. package/mobile/dist/components/OfficesAtmsMap/renderBusinessSchedule.js.map +1 -0
  208. package/mobile/dist/components/OfficesAtmsMap/renderOfficeCard.d.ts +2 -2
  209. package/mobile/dist/components/OfficesAtmsMap/renderOfficeCard.js +24 -28
  210. package/mobile/dist/components/OfficesAtmsMap/renderOfficeCard.js.map +1 -1
  211. package/mobile/dist/hooks/useResizeObserver.d.ts +3 -0
  212. package/mobile/dist/hooks/useResizeObserver.js +22 -0
  213. package/mobile/dist/hooks/useResizeObserver.js.map +1 -0
  214. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTile.js +3 -2
  215. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  216. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +9 -1
  217. package/mobile/dist/ui-kit/DatePicker/DatePicker.js +1 -1
  218. package/mobile/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  219. package/mobile/dist/ui-kit/Foldable/FoldableSection.js +5 -4
  220. package/mobile/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
  221. package/mobile/dist/ui-kit/PriceList/PriceList.d.ts +2 -0
  222. package/mobile/dist/ui-kit/PriceList/PriceList.js +9 -0
  223. package/mobile/dist/ui-kit/PriceList/PriceList.js.map +1 -0
  224. package/mobile/dist/ui-kit/PriceList/PriceListProps.d.ts +9 -0
  225. package/mobile/dist/{components/PictureText/PictureTextContent.js → ui-kit/PriceList/PriceListProps.js} +1 -1
  226. package/mobile/dist/ui-kit/PriceList/PriceListProps.js.map +1 -0
  227. package/mobile/dist/ui-kit/Select/Select.js +1 -0
  228. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  229. package/mobile/dist/ui-kit/Select/SelectPopup.d.ts +5 -3
  230. package/mobile/dist/ui-kit/Select/SelectPopup.js +2 -2
  231. package/mobile/dist/ui-kit/Select/SelectPopup.js.map +1 -1
  232. package/mobile/dist/ui-kit/Select/useSelectPopup.d.ts +1 -1
  233. package/mobile/dist/ui-kit/Select/useSelectPopup.js +2 -2
  234. package/mobile/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
  235. package/mobile/lib/common.css +1 -1
  236. package/mobile/lib/components/Blocks.js +0 -2
  237. package/mobile/lib/components/Blocks.js.map +1 -1
  238. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +3 -2
  239. package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  240. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.d.ts +1 -0
  241. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js +10 -4
  242. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  243. package/mobile/lib/components/Calculator/renderBinaryRadioButtonGroup.d.ts +2 -1
  244. package/mobile/lib/components/Calculator/renderBinaryRadioButtonGroup.js +1 -1
  245. package/mobile/lib/components/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
  246. package/mobile/lib/components/CarouselCard/CarouselCard.js +1 -1
  247. package/mobile/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  248. package/mobile/lib/components/Depository/Depository.js +12 -3
  249. package/mobile/lib/components/Depository/Depository.js.map +1 -1
  250. package/mobile/lib/components/Depository/DepositoryFilter.js +1 -1
  251. package/mobile/lib/components/Depository/DepositoryFilter.js.map +1 -1
  252. package/mobile/lib/components/Depository/DepositoryItem.js +1 -1
  253. package/mobile/lib/components/Depository/DepositoryItem.js.map +1 -1
  254. package/mobile/lib/components/Depository/useDepository.js +11 -1
  255. package/mobile/lib/components/Depository/useDepository.js.map +1 -1
  256. package/mobile/lib/components/OfficesAtmsMap/Badge.js +2 -2
  257. package/mobile/lib/components/OfficesAtmsMap/Badge.js.map +1 -1
  258. package/mobile/lib/components/OfficesAtmsMap/CardCell.d.ts +3 -2
  259. package/mobile/lib/components/OfficesAtmsMap/CardCell.js +6 -4
  260. package/mobile/lib/components/OfficesAtmsMap/CardCell.js.map +1 -1
  261. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +5 -0
  262. package/mobile/lib/components/OfficesAtmsMap/getScheduleDescription.d.ts +4 -0
  263. package/mobile/lib/components/OfficesAtmsMap/getScheduleDescription.js +32 -0
  264. package/mobile/lib/components/OfficesAtmsMap/getScheduleDescription.js.map +1 -0
  265. package/mobile/lib/components/OfficesAtmsMap/getWorkScheduleWeek.d.ts +3 -0
  266. package/mobile/lib/components/OfficesAtmsMap/getWorkScheduleWeek.js +25 -0
  267. package/mobile/lib/components/OfficesAtmsMap/getWorkScheduleWeek.js.map +1 -0
  268. package/mobile/lib/components/OfficesAtmsMap/renderBusinessSchedule.d.ts +8 -0
  269. package/mobile/lib/components/OfficesAtmsMap/renderBusinessSchedule.js +27 -0
  270. package/mobile/lib/components/OfficesAtmsMap/renderBusinessSchedule.js.map +1 -0
  271. package/mobile/lib/components/OfficesAtmsMap/renderOfficeCard.d.ts +2 -2
  272. package/mobile/lib/components/OfficesAtmsMap/renderOfficeCard.js +24 -28
  273. package/mobile/lib/components/OfficesAtmsMap/renderOfficeCard.js.map +1 -1
  274. package/mobile/lib/hooks/useResizeObserver.d.ts +3 -0
  275. package/mobile/lib/hooks/useResizeObserver.js +19 -0
  276. package/mobile/lib/hooks/useResizeObserver.js.map +1 -0
  277. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTile.js +3 -2
  278. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  279. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +9 -1
  280. package/mobile/lib/ui-kit/DatePicker/DatePicker.js +1 -1
  281. package/mobile/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  282. package/mobile/lib/ui-kit/Foldable/FoldableSection.js +6 -5
  283. package/mobile/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
  284. package/mobile/lib/ui-kit/PriceList/PriceList.d.ts +2 -0
  285. package/mobile/lib/ui-kit/PriceList/PriceList.js +7 -0
  286. package/mobile/lib/ui-kit/PriceList/PriceList.js.map +1 -0
  287. package/mobile/lib/ui-kit/PriceList/PriceListProps.d.ts +9 -0
  288. package/mobile/lib/ui-kit/PriceList/PriceListProps.js +2 -0
  289. package/mobile/lib/ui-kit/PriceList/PriceListProps.js.map +1 -0
  290. package/mobile/lib/ui-kit/Select/Select.js +1 -0
  291. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  292. package/mobile/lib/ui-kit/Select/SelectPopup.d.ts +5 -3
  293. package/mobile/lib/ui-kit/Select/SelectPopup.js +2 -2
  294. package/mobile/lib/ui-kit/Select/SelectPopup.js.map +1 -1
  295. package/mobile/lib/ui-kit/Select/useSelectPopup.d.ts +1 -1
  296. package/mobile/lib/ui-kit/Select/useSelectPopup.js +2 -2
  297. package/mobile/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
  298. package/mobile/src/common.css +1 -0
  299. package/mobile/src/components/Blocks.ts +0 -2
  300. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +3 -2
  301. package/mobile/src/components/Calculator/RefinancingCalculatorForm.tsx +14 -3
  302. package/mobile/src/components/Calculator/renderBinaryRadioButtonGroup.tsx +11 -1
  303. package/mobile/src/components/CarouselCard/CarouselCard.tsx +1 -1
  304. package/mobile/src/components/Depository/Depository.tsx +25 -8
  305. package/mobile/src/components/Depository/DepositoryFilter.tsx +1 -1
  306. package/mobile/src/components/Depository/DepositoryItem.tsx +6 -2
  307. package/mobile/src/components/Depository/useDepository.ts +15 -6
  308. package/mobile/src/components/OfficesAtmsMap/Badge.tsx +2 -2
  309. package/mobile/src/components/OfficesAtmsMap/CardCell.tsx +33 -21
  310. package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapProps.tsx +5 -0
  311. package/mobile/src/components/OfficesAtmsMap/getScheduleDescription.tsx +48 -0
  312. package/mobile/src/components/OfficesAtmsMap/getWorkScheduleWeek.tsx +28 -0
  313. package/mobile/src/components/OfficesAtmsMap/renderBusinessSchedule.tsx +54 -0
  314. package/mobile/src/components/OfficesAtmsMap/renderOfficeCard.tsx +46 -41
  315. package/mobile/src/hooks/useResizeObserver.ts +28 -0
  316. package/mobile/src/ui-kit/BaseProductTile/BaseProductTile.tsx +3 -0
  317. package/mobile/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +12 -1
  318. package/mobile/src/ui-kit/DatePicker/DatePicker.tsx +3 -1
  319. package/mobile/src/ui-kit/Foldable/FoldableSection.tsx +16 -11
  320. package/mobile/src/ui-kit/PriceList/PriceList.tsx +25 -0
  321. package/mobile/src/ui-kit/PriceList/PriceListProps.ts +11 -0
  322. package/mobile/src/ui-kit/Select/Select.tsx +1 -0
  323. package/mobile/src/ui-kit/Select/SelectPopup.tsx +41 -34
  324. package/mobile/src/ui-kit/Select/useSelectPopup.tsx +2 -0
  325. package/package.json +1 -1
  326. package/src/common.css +1 -0
  327. package/src/components/Blocks.mobile.ts +0 -2
  328. package/src/components/Blocks.ts +0 -2
  329. package/src/components/Calculator/Calculator.fixture.mobile.tsx +15 -0
  330. package/src/components/Calculator/CreditCalculatorForm.tsx +3 -2
  331. package/src/components/Calculator/RefinancingCalculatorForm.tsx +14 -3
  332. package/src/components/Calculator/renderBinaryRadioButtonGroup.tsx +11 -1
  333. package/src/components/CarouselCard/CarouselCard.tsx +1 -1
  334. package/src/components/Depository/Depository.tsx +25 -8
  335. package/src/components/Depository/DepositoryFilter.tsx +1 -1
  336. package/src/components/Depository/DepositoryItem.tsx +6 -2
  337. package/src/components/Depository/useDepository.ts +15 -6
  338. package/src/components/OfficesAtmsMap/Badge.tsx +2 -2
  339. package/src/components/OfficesAtmsMap/CardCell.tsx +33 -21
  340. package/src/components/OfficesAtmsMap/OfficesAtmsMapProps.tsx +5 -0
  341. package/src/components/OfficesAtmsMap/getScheduleDescription.tsx +48 -0
  342. package/src/components/OfficesAtmsMap/getWorkScheduleWeek.tsx +28 -0
  343. package/src/components/OfficesAtmsMap/renderBusinessSchedule.tsx +54 -0
  344. package/src/components/OfficesAtmsMap/renderOfficeCard.tsx +46 -41
  345. package/src/components/ProductBlock/ProductBlock.fixture.mobile.tsx +42 -0
  346. package/src/components/ProductBlock/ProductBlock.fixture.tsx +42 -0
  347. package/src/components/StepsBlock/StepsBlock.tsx +7 -4
  348. package/src/hooks/useResizeObserver.ts +28 -0
  349. package/src/ui-kit/BaseProductTile/BaseProductTile.tsx +3 -0
  350. package/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +12 -1
  351. package/src/ui-kit/DatePicker/DatePicker.tsx +3 -1
  352. package/src/ui-kit/Foldable/FoldableSection.tsx +16 -11
  353. package/src/ui-kit/PriceList/PriceList.fixture.tsx +16 -0
  354. package/src/ui-kit/PriceList/PriceList.tsx +25 -0
  355. package/src/ui-kit/PriceList/PriceListProps.ts +11 -0
  356. package/src/ui-kit/Select/Select.tsx +1 -0
  357. package/src/ui-kit/Select/SelectPopup.tsx +41 -34
  358. package/src/ui-kit/Select/useSelectPopup.tsx +2 -0
  359. package/tailwind.config.cjs +23 -20
  360. package/bundle/components/OfficesAtmsMap/renderLunchHour.d.ts +0 -2
  361. package/bundle/components/PictureText/PictureText.d.ts +0 -5
  362. package/bundle/components/PictureText/PictureTextContent.d.ts +0 -11
  363. package/bundle/components/PictureText/renderInsuranceSumMonth.d.ts +0 -2
  364. package/dist/components/OfficesAtmsMap/renderLunchHour.d.ts +0 -2
  365. package/dist/components/OfficesAtmsMap/renderLunchHour.js +0 -10
  366. package/dist/components/OfficesAtmsMap/renderLunchHour.js.map +0 -1
  367. package/dist/components/PictureText/PictureText.d.ts +0 -5
  368. package/dist/components/PictureText/PictureText.js +0 -9
  369. package/dist/components/PictureText/PictureText.js.map +0 -1
  370. package/dist/components/PictureText/PictureTextContent.d.ts +0 -11
  371. package/dist/components/PictureText/PictureTextContent.js.map +0 -1
  372. package/dist/components/PictureText/renderInsuranceSumMonth.d.ts +0 -2
  373. package/dist/components/PictureText/renderInsuranceSumMonth.js +0 -9
  374. package/dist/components/PictureText/renderInsuranceSumMonth.js.map +0 -1
  375. package/lib/components/OfficesAtmsMap/renderLunchHour.d.ts +0 -2
  376. package/lib/components/OfficesAtmsMap/renderLunchHour.js +0 -7
  377. package/lib/components/OfficesAtmsMap/renderLunchHour.js.map +0 -1
  378. package/lib/components/PictureText/PictureText.d.ts +0 -5
  379. package/lib/components/PictureText/PictureText.fixture.d.ts +0 -14
  380. package/lib/components/PictureText/PictureText.fixture.mobile.d.ts +0 -14
  381. package/lib/components/PictureText/PictureText.js +0 -7
  382. package/lib/components/PictureText/PictureText.js.map +0 -1
  383. package/lib/components/PictureText/PictureTextContent.d.ts +0 -11
  384. package/lib/components/PictureText/PictureTextContent.js +0 -2
  385. package/lib/components/PictureText/PictureTextContent.js.map +0 -1
  386. package/lib/components/PictureText/renderInsuranceSumMonth.d.ts +0 -1
  387. package/lib/components/PictureText/renderInsuranceSumMonth.js +0 -6
  388. package/lib/components/PictureText/renderInsuranceSumMonth.js.map +0 -1
  389. package/mobile/bundle/components/OfficesAtmsMap/renderLunchHour.d.ts +0 -2
  390. package/mobile/bundle/components/PictureText/PictureText.d.ts +0 -5
  391. package/mobile/bundle/components/PictureText/PictureTextContent.d.ts +0 -11
  392. package/mobile/bundle/components/PictureText/renderInsuranceSumMonth.d.ts +0 -2
  393. package/mobile/dist/components/OfficesAtmsMap/renderLunchHour.d.ts +0 -2
  394. package/mobile/dist/components/OfficesAtmsMap/renderLunchHour.js +0 -10
  395. package/mobile/dist/components/OfficesAtmsMap/renderLunchHour.js.map +0 -1
  396. package/mobile/dist/components/PictureText/PictureText.d.ts +0 -5
  397. package/mobile/dist/components/PictureText/PictureText.js +0 -9
  398. package/mobile/dist/components/PictureText/PictureText.js.map +0 -1
  399. package/mobile/dist/components/PictureText/PictureTextContent.d.ts +0 -11
  400. package/mobile/dist/components/PictureText/PictureTextContent.js.map +0 -1
  401. package/mobile/dist/components/PictureText/renderInsuranceSumMonth.d.ts +0 -2
  402. package/mobile/dist/components/PictureText/renderInsuranceSumMonth.js +0 -9
  403. package/mobile/dist/components/PictureText/renderInsuranceSumMonth.js.map +0 -1
  404. package/mobile/lib/components/OfficesAtmsMap/renderLunchHour.d.ts +0 -2
  405. package/mobile/lib/components/OfficesAtmsMap/renderLunchHour.js +0 -7
  406. package/mobile/lib/components/OfficesAtmsMap/renderLunchHour.js.map +0 -1
  407. package/mobile/lib/components/PictureText/PictureText.d.ts +0 -5
  408. package/mobile/lib/components/PictureText/PictureText.js +0 -7
  409. package/mobile/lib/components/PictureText/PictureText.js.map +0 -1
  410. package/mobile/lib/components/PictureText/PictureTextContent.d.ts +0 -11
  411. package/mobile/lib/components/PictureText/PictureTextContent.js +0 -2
  412. package/mobile/lib/components/PictureText/PictureTextContent.js.map +0 -1
  413. package/mobile/lib/components/PictureText/renderInsuranceSumMonth.d.ts +0 -2
  414. package/mobile/lib/components/PictureText/renderInsuranceSumMonth.js +0 -6
  415. package/mobile/lib/components/PictureText/renderInsuranceSumMonth.js.map +0 -1
  416. package/mobile/src/components/OfficesAtmsMap/renderLunchHour.tsx +0 -28
  417. package/mobile/src/components/PictureText/PictureText.example.json +0 -40
  418. package/mobile/src/components/PictureText/PictureText.tsx +0 -36
  419. package/mobile/src/components/PictureText/PictureText.ui.json +0 -23
  420. package/mobile/src/components/PictureText/PictureTextContent.ts +0 -13
  421. package/mobile/src/components/PictureText/renderInsuranceSumMonth.tsx +0 -21
  422. package/src/components/OfficesAtmsMap/renderLunchHour.tsx +0 -28
  423. package/src/components/PictureText/PictureText.example.json +0 -40
  424. package/src/components/PictureText/PictureText.fixture.mobile.tsx +0 -116
  425. package/src/components/PictureText/PictureText.fixture.tsx +0 -130
  426. package/src/components/PictureText/PictureText.tsx +0 -36
  427. package/src/components/PictureText/PictureText.ui.json +0 -23
  428. package/src/components/PictureText/PictureTextContent.ts +0 -13
  429. package/src/components/PictureText/renderInsuranceSumMonth.tsx +0 -21
@@ -1,40 +1,52 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { Text } from '../../ui-kit/Text/Text';
3
- import { type TextColor } from '../../ui-kit/Text/TextProps';
3
+ import { type TextColor, type TextSize } from '../../ui-kit/Text/TextProps';
4
4
  import { style } from '../../utils/style';
5
5
 
6
6
  export interface CardCellProps {
7
7
  className?: string;
8
8
  label?: string;
9
- value?: string;
9
+ labelSize?: TextSize;
10
+ value?: string | string[];
10
11
  subText?: string;
11
12
  subColor?: TextColor;
12
13
  }
13
14
 
14
- export const CardCell = JSX<CardCellProps>(({ className, label, value, subText, subColor }) => {
15
- const textItems = value?.split(',') ?? [];
15
+ export const CardCell = JSX<CardCellProps>(({ value, subText, children, ...props }) => {
16
+ const textItems = (Array.isArray(value) ? value : value?.split(',') ?? []).filter(Boolean);
16
17
 
17
- if (!textItems.length && !subText) {
18
+ if ([textItems.length, children, subText].every((_) => !_)) {
18
19
  return null;
19
20
  }
20
21
 
21
- return (
22
- <div className={style('flex gap-2xs flex-col h-full max-w-[300px]', className)}>
23
- {label ? (
24
- <Text color="text-secondary-text" font="font-light" size="text-m">
25
- {label}
26
- </Text>
27
- ) : null}
28
- {textItems.filter(Boolean).map((text, i) => (
22
+ return renderCardCell({ textItems, subText, children, ...props });
23
+ });
24
+
25
+ const renderCardCell = ({
26
+ label,
27
+ labelSize = 'text-m',
28
+ textItems,
29
+ subColor,
30
+ subText,
31
+ className,
32
+ children,
33
+ }: CardCellProps & { textItems: string[]; children: any }) => (
34
+ <div className={style('flex gap-2xs flex-col h-full max-w-[300px]', className)}>
35
+ {label ? (
36
+ <Text color="text-secondary-text" font="font-light" size={labelSize}>
37
+ {label}
38
+ </Text>
39
+ ) : null}
40
+ {children ||
41
+ textItems.filter(Boolean).map((text, i) => (
29
42
  <Text key={String(i)} size="text-l">
30
43
  {text.trim()}
31
44
  </Text>
32
45
  ))}
33
- {subText ? (
34
- <Text color={subColor} size="text-m">
35
- {subText}
36
- </Text>
37
- ) : null}
38
- </div>
39
- );
40
- });
46
+ {subText ? (
47
+ <Text color={subColor} size="text-m">
48
+ {subText}
49
+ </Text>
50
+ ) : null}
51
+ </div>
52
+ );
@@ -16,7 +16,9 @@ export interface ExchangeRate {
16
16
  }
17
17
 
18
18
  export type WorkScheduleWeek = {
19
+ key?: string;
19
20
  title?: string;
21
+ short?: string;
20
22
  status?: boolean;
21
23
  workTime?: string;
22
24
  lunchHour?: string;
@@ -42,6 +44,9 @@ export type WorkSchedule = {
42
44
  workingFriday?: boolean;
43
45
  workingSaturday?: boolean;
44
46
  workingSunday?: boolean;
47
+ isMatchesPattern?: boolean;
48
+ businessScheduleVisibleTag?: boolean;
49
+ businessScheduleDescription?: string;
45
50
  };
46
51
 
47
52
  export type SafeBoxCaseTariff = {
@@ -0,0 +1,48 @@
1
+ import { CardCell } from './CardCell';
2
+ import type { WorkScheduleWeek } from './OfficesAtmsMapProps';
3
+
4
+ export const getScheduleDescription = (workScheduleWeek: WorkScheduleWeek[]) => {
5
+ const workingWeekday = workScheduleWeek.find(
6
+ (_) => _.key !== 'workingSaturday' && Boolean(_.status) && Boolean(_.workTime),
7
+ );
8
+
9
+ const workingSaturday = workScheduleWeek.find(
10
+ (_) => _.key === 'workingSaturday' && Boolean(_.status) && Boolean(_.workTime),
11
+ );
12
+
13
+ const daysOff = workScheduleWeek
14
+ .filter((_) => !_.status)
15
+ .map((_) => _.short?.toLowerCase())
16
+ .join(', ');
17
+
18
+ const rows = [
19
+ buildScheduleText({
20
+ workTime: workingWeekday?.workTime,
21
+ lunchHour: workingWeekday?.lunchHour,
22
+ daysOff: workingSaturday ? '' : daysOff,
23
+ }),
24
+ buildScheduleText(
25
+ { workTime: workingSaturday?.workTime, lunchHour: workingSaturday?.lunchHour, daysOff },
26
+ true,
27
+ ),
28
+ ].filter(Boolean);
29
+
30
+ return <CardCell label="Режим работы" value={rows} className="max-w-none" />;
31
+ };
32
+
33
+ export const buildScheduleText = (
34
+ { workTime = '', lunchHour = '', daysOff = '' }: Record<string, string | undefined>,
35
+ isSaturday = false,
36
+ ) => {
37
+ if (!workTime) {
38
+ return '';
39
+ }
40
+
41
+ return [
42
+ `${isSaturday ? 'Суббота' : 'Будние дни'}: ${workTime}`,
43
+ lunchHour ? `перерыв: ${lunchHour}` : '',
44
+ daysOff ? `не работает: ${daysOff}` : '',
45
+ ]
46
+ .filter(Boolean)
47
+ .join('; ');
48
+ };
@@ -0,0 +1,28 @@
1
+ import type { WorkSchedule, WorkScheduleWeek } from './OfficesAtmsMapProps';
2
+
3
+ export const WEEKDAY_MAP = [
4
+ ['workingMonday', 'Пн', 'Понедельник'],
5
+ ['workingTuesday', 'Вт', 'Вторник'],
6
+ ['workingWednesday', 'Ср', 'Среда'],
7
+ ['workingThursday', 'Чт', 'Четверг'],
8
+ ['workingFriday', 'Пт', 'Пятница'],
9
+ ['workingSaturday', 'Сб', 'Суббота'],
10
+ ['workingSunday', 'Вс', 'Воскресенье'],
11
+ ];
12
+
13
+ export const getWorkScheduleWeek = (workSchedule?: WorkSchedule): WorkScheduleWeek[] =>
14
+ WEEKDAY_MAP.map(([key, short, title]) => ({
15
+ key,
16
+ title,
17
+ short,
18
+ status: Boolean(workSchedule?.[key]),
19
+ get workTime() {
20
+ return key === 'workingSaturday' ? workSchedule?.workTimeSaturday : workSchedule?.workTime;
21
+ },
22
+ get lunchHour() {
23
+ return key === 'workingSaturday' ? workSchedule?.lunchHourSaturday : workSchedule?.lunchHour;
24
+ },
25
+ get hasLunch() {
26
+ return /\d+/.test(this.lunchHour ?? '');
27
+ },
28
+ }));
@@ -0,0 +1,54 @@
1
+ import { Text } from '../../ui-kit/Text/Text';
2
+ import { style } from '../../utils/style';
3
+ import { CardCell } from './CardCell';
4
+ import { CardRow } from './CardRow';
5
+ import { WEEKDAY_MAP } from './getWorkScheduleWeek';
6
+ import type { WorkScheduleWeek } from './OfficesAtmsMapProps';
7
+
8
+ export const renderBusinessSchedule = (scheduleDescription?: string) => {
9
+ if (!scheduleDescription) {
10
+ return null;
11
+ }
12
+
13
+ const businessSchedule = getBusinessSchedule(scheduleDescription);
14
+
15
+ return (
16
+ <CardRow className="border-none">
17
+ <CardCell label="Для юридических лиц" labelSize="text-l">
18
+ <div className="flex gap-1">{businessSchedule.map(renderAlternativeDay)}</div>
19
+ </CardCell>
20
+ <CardCell label="Режим работы" className="max-w-none">
21
+ <Text>{scheduleDescription}</Text>
22
+ </CardCell>
23
+ </CardRow>
24
+ );
25
+ };
26
+
27
+ export const getBusinessSchedule = (scheduleDescription: string) => {
28
+ const weekDayMap = WEEKDAY_MAP.map(([, short]) => ({ short, status: true }));
29
+
30
+ const splittedScheduleDescription = scheduleDescription.split('/') ?? [];
31
+ const lastPartScheduleDescription =
32
+ splittedScheduleDescription[splittedScheduleDescription.length - 1]?.toLowerCase();
33
+
34
+ if (!lastPartScheduleDescription?.includes('выходной')) {
35
+ return weekDayMap;
36
+ }
37
+
38
+ return weekDayMap.map((_) => ({
39
+ ..._,
40
+ status: !lastPartScheduleDescription?.includes(_.short.toLowerCase()),
41
+ }));
42
+ };
43
+
44
+ export const renderAlternativeDay = ({ short, status }: WorkScheduleWeek, index: number) => (
45
+ <div
46
+ key={String(index)}
47
+ className={style(
48
+ 'w-9 h-9 rounded-md flex items-center justify-center',
49
+ status ? 'bg-green-more-light text-green-dark' : 'bg-error/30 text-error',
50
+ )}
51
+ >
52
+ <Text size="text-xs">{short}</Text>
53
+ </div>
54
+ );
@@ -3,22 +3,10 @@ import { Text } from '../../ui-kit/Text/Text';
3
3
  import { Badge } from './Badge';
4
4
  import { CardCell } from './CardCell';
5
5
  import { CardRow } from './CardRow';
6
- import {
7
- type Branch,
8
- type Currency,
9
- type WorkSchedule,
10
- type WorkScheduleWeek,
11
- } from './OfficesAtmsMapProps';
12
-
13
- const WEEKDAY_MAP = [
14
- ['Понедельник', 'workingMonday'],
15
- ['Вторник', 'workingTuesday'],
16
- ['Среда', 'workingWednesday'],
17
- ['Четверг', 'workingThursday'],
18
- ['Пятница', 'workingFriday'],
19
- ['Суббота', 'workingSaturday'],
20
- ['Воскресенье', 'workingSunday'],
21
- ];
6
+ import { getScheduleDescription } from './getScheduleDescription';
7
+ import { getWorkScheduleWeek } from './getWorkScheduleWeek';
8
+ import { type Branch, type Currency, type WorkScheduleWeek } from './OfficesAtmsMapProps';
9
+ import { renderAlternativeDay, renderBusinessSchedule } from './renderBusinessSchedule';
22
10
 
23
11
  const currentWeekDayIdx = new Date().getDay();
24
12
 
@@ -37,14 +25,20 @@ export const renderOfficeCard = (
37
25
  }: Branch,
38
26
  index: number,
39
27
  ) => {
40
- const workScheduleWeek = workSchedule ? getWorkScheduleWeek(workSchedule) : null;
41
- const [currentWeekDay] = workScheduleWeek?.slice(currentWeekDayIdx - 1) ?? [];
28
+ if (!workSchedule) {
29
+ return null;
30
+ }
31
+
32
+ const workScheduleWeek = getWorkScheduleWeek(workSchedule);
33
+ const labelSchedule = workSchedule?.businessScheduleVisibleTag
34
+ ? 'Для физических лиц'
35
+ : 'Для физических и юридических лиц';
42
36
 
43
37
  return (
44
38
  <div key={String(index)} className="bg-white col-span-12 p-3xl border-green border">
45
39
  <div className="flex justify-between">
46
40
  <Text size="text-h4">{name}</Text>
47
- {renderCurrentDaySchedule(currentWeekDay)}
41
+ {renderCurrentDaySchedule(workScheduleWeek)}
48
42
  </div>
49
43
  {address ? (
50
44
  <div className="flex pb-xl pt-xs gap-2xs">
@@ -60,7 +54,23 @@ export const renderOfficeCard = (
60
54
  <CardCell label="Для консультаций по валютному контролю" value={phoneCurrencyControl} />
61
55
  <CardCell label="Контакт-центр" value={phoneCallCentre} />
62
56
  </CardRow>
63
- {workScheduleWeek?.length ? <CardRow>{workScheduleWeek?.map(renderDay)}</CardRow> : null}
57
+ {workSchedule.isMatchesPattern ? (
58
+ <CardRow>
59
+ <CardCell label={labelSchedule} labelSize="text-l" className="w-full max-w-none">
60
+ <div className="flex justify-between pt-xs">{workScheduleWeek?.map(renderDay)}</div>
61
+ </CardCell>
62
+ </CardRow>
63
+ ) : (
64
+ <CardRow>
65
+ <CardCell label={labelSchedule} labelSize="text-l">
66
+ <div className="flex gap-1">{workScheduleWeek?.map(renderAlternativeDay)}</div>
67
+ </CardCell>
68
+ {getScheduleDescription(workScheduleWeek)}
69
+ </CardRow>
70
+ )}
71
+ {workSchedule?.businessScheduleVisibleTag
72
+ ? renderBusinessSchedule(workSchedule?.businessScheduleDescription)
73
+ : null}
64
74
  {exchangeRate?.currencies?.length ? (
65
75
  <CardRow className="flex-wrap">{exchangeRate?.currencies?.map(renderCurrency)}</CardRow>
66
76
  ) : null}
@@ -68,21 +78,6 @@ export const renderOfficeCard = (
68
78
  );
69
79
  };
70
80
 
71
- const getWorkScheduleWeek = (workSchedule?: WorkSchedule): WorkScheduleWeek[] =>
72
- WEEKDAY_MAP.map(([title, key]) => {
73
- const dayOff = ['workingSaturday', 'workingSunday'].includes(key);
74
-
75
- return {
76
- title,
77
- status: Boolean(workSchedule?.[key]),
78
- workTime: dayOff ? workSchedule?.workTimeSaturday : workSchedule?.workTime,
79
- lunchHour: dayOff ? workSchedule?.lunchHourSaturday : workSchedule?.lunchHour,
80
- get hasLunch() {
81
- return /\d+/.test(this.lunchHour ?? '');
82
- },
83
- };
84
- });
85
-
86
81
  export const renderCurrency = (
87
82
  { currency, buyExchangeRate, saleExchangeRate }: Currency,
88
83
  i: number,
@@ -95,17 +90,19 @@ export const renderCurrency = (
95
90
  );
96
91
 
97
92
  //TODO: Add logic time https://github.com/redneckz/wildless-cms-uni-blocks/pull/1549
98
- export const renderCurrentDaySchedule = (workScheduleWeek?: WorkScheduleWeek) => {
99
- if (!workScheduleWeek) {
93
+ export const renderCurrentDaySchedule = (workScheduleWeek?: WorkScheduleWeek[]) => {
94
+ const [currentWeekDay] = workScheduleWeek?.slice(currentWeekDayIdx - 1) ?? [];
95
+
96
+ if (!currentWeekDay) {
100
97
  return null;
101
98
  }
102
99
 
103
- const { lunchHour, status, workTime, hasLunch } = workScheduleWeek;
100
+ const { lunchHour, status, workTime, hasLunch } = currentWeekDay;
104
101
 
105
102
  return status ? (
106
- <div className="flex gap-s">
103
+ <div className="flex gap-s items-start whitespace-nowrap">
107
104
  {workTime ? <Badge color="green">{workTime}</Badge> : null}
108
- {lunchHour && hasLunch ? <Badge color="yellow">{lunchHour}</Badge> : null}
105
+ {lunchHour && hasLunch ? <Badge color="yellow">{`перерыв: ${lunchHour}`}</Badge> : null}
109
106
  </div>
110
107
  ) : (
111
108
  <Badge color="red">Выходной</Badge>
@@ -120,7 +117,15 @@ export const renderDay = (
120
117
  key={String(index)}
121
118
  label={title}
122
119
  value={status && workTime ? workTime : ''}
123
- subText={!status ? 'Выходной' : lunchHour}
120
+ subText={getSubTextLunch(lunchHour, hasLunch, status)}
124
121
  subColor={!status || hasLunch ? 'text-error' : 'text-green-dark'}
125
122
  />
126
123
  );
124
+
125
+ const getSubTextLunch = (lunchHour?: string, hasLunch = false, status = false) => {
126
+ if (!status) {
127
+ return 'Не работает';
128
+ }
129
+
130
+ return lunchHour && hasLunch ? `Перерыв ${lunchHour}` : lunchHour;
131
+ };
@@ -89,6 +89,48 @@ export default {
89
89
  <ProductBlock className="col-span-12" {...props} benefits={benefits} label={label} />
90
90
  </div>
91
91
  ),
92
+ 'primary with insurance': (
93
+ <div className="container grid grid-cols-12">
94
+ <ProductBlock
95
+ className="col-span-12"
96
+ isFullWidthTitle={true}
97
+ align="text-center"
98
+ headlineVersion="M"
99
+ title="Страховые риски и продукты"
100
+ description="Покрываемые риски программы «Защита вас и ваших близких»"
101
+ image={image}
102
+ benefits={[
103
+ {
104
+ type: 'default',
105
+ label: 'Телесное повреждение',
106
+ icon: { icon: 'ShieldTickIcon' },
107
+ },
108
+ {
109
+ type: 'default',
110
+ label: 'Госпитализация застрахованного',
111
+ description: 'Описание',
112
+ icon: { icon: 'ShieldTickIcon' },
113
+ },
114
+ {
115
+ type: 'default',
116
+ label:
117
+ 'Сокращение численности работников организации и другой текст для теста длинны текста',
118
+ icon: { icon: 'ShieldTickIcon' },
119
+ },
120
+ {
121
+ type: 'default',
122
+ label: 'Смерть застрахованного',
123
+ icon: { icon: 'ShieldTickIcon' },
124
+ },
125
+ ]}
126
+ priceList={[
127
+ { label: 'Страховая сумма', amount: 500000 },
128
+ { label: 'Ежемесячный лимит', amount: 25000 },
129
+ ]}
130
+ imageOptions={{ directionRight: false }}
131
+ />
132
+ </div>
133
+ ),
92
134
  secondary: (
93
135
  <div className="container grid grid-cols-12">
94
136
  <ProductBlock className="col-span-12" {...props} benefits={benefits} version="secondary" />
@@ -146,6 +146,48 @@ export default {
146
146
  />
147
147
  </div>
148
148
  ),
149
+ 'primary with insurance': (
150
+ <div className="container grid grid-cols-12">
151
+ <ProductBlock
152
+ className="col-span-12"
153
+ isFullWidthTitle={true}
154
+ align="text-center"
155
+ headlineVersion="M"
156
+ title="Страховые риски и продукты"
157
+ description="Покрываемые риски программы «Защита вас и ваших близких»"
158
+ image={image}
159
+ benefits={[
160
+ {
161
+ type: 'default',
162
+ label: 'Телесное повреждение',
163
+ icon: { icon: 'ShieldTickIcon' },
164
+ },
165
+ {
166
+ type: 'default',
167
+ label: 'Госпитализация застрахованного',
168
+ description: 'Описание',
169
+ icon: { icon: 'ShieldTickIcon' },
170
+ },
171
+ {
172
+ type: 'default',
173
+ label:
174
+ 'Сокращение численности работников организации и другой текст для теста длинны текста',
175
+ icon: { icon: 'ShieldTickIcon' },
176
+ },
177
+ {
178
+ type: 'default',
179
+ label: 'Смерть застрахованного',
180
+ icon: { icon: 'ShieldTickIcon' },
181
+ },
182
+ ]}
183
+ priceList={[
184
+ { label: 'Страховая сумма', amount: 500000 },
185
+ { label: 'Ежемесячный лимит', amount: 25000 },
186
+ ]}
187
+ imageOptions={{ directionRight: false }}
188
+ />
189
+ </div>
190
+ ),
149
191
  'secondary with back button': (
150
192
  <div className="container grid grid-cols-12">
151
193
  <ProductBlock
@@ -1,4 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { AlignStyles } from '../../model/AlignStyles';
2
3
  import { type BlockVersion } from '../../model/BlockVersion';
3
4
  import { type UniBlockProps } from '../../model/JSXBlock';
4
5
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
@@ -20,15 +21,16 @@ const getPaddingX = (steps: number) => (steps < 5 ? 'px-24' : 'px-16');
20
21
 
21
22
  export const StepsBlock = JSX<StepsBlockProps>(
22
23
  ({
24
+ align = AlignStyles,
25
+ buttons,
23
26
  className = '',
27
+ description,
24
28
  showLines = true,
25
- steps = [],
26
- buttons,
27
29
  size = 'normal',
28
- version = 'primary',
30
+ steps = [],
29
31
  stepVersion = 'gray',
30
32
  title,
31
- description,
33
+ version = 'primary',
32
34
  ...rest
33
35
  }) => {
34
36
  const shortGaps = steps.length > 3;
@@ -56,6 +58,7 @@ export const StepsBlock = JSX<StepsBlockProps>(
56
58
  description={description}
57
59
  isEmbedded={true}
58
60
  className="w-full"
61
+ align={align}
59
62
  />
60
63
  {steps?.length ? (
61
64
  <div className="box-border space-y-lg">
@@ -0,0 +1,28 @@
1
+ import { useEffect, useRef } from '@redneckz/uni-jsx/lib/hooks';
2
+
3
+ export function useResizeObserver<T extends HTMLDivElement, Deps extends any[] = []>(
4
+ callback: (target: T, entry: ResizeObserverEntry) => void,
5
+ deps: Deps,
6
+ ) {
7
+ const ref = useRef<T | null>(null);
8
+
9
+ useEffect(() => {
10
+ const element = ref?.current;
11
+
12
+ if (!element) {
13
+ return undefined;
14
+ }
15
+
16
+ const observer = new ResizeObserver((entries) => {
17
+ callback(element, entries[0]);
18
+ });
19
+
20
+ observer.observe(element);
21
+
22
+ return () => {
23
+ observer.disconnect();
24
+ };
25
+ }, [callback, ...deps]);
26
+
27
+ return ref;
28
+ }
@@ -8,6 +8,7 @@ import { BenefitsList } from '../BenefitsList/BenefitsList';
8
8
  import { renderButtonsSection } from '../Button/renderButtonsSection';
9
9
  import { Img } from '../Img/Img';
10
10
  import { List } from '../List/List';
11
+ import { PriceList } from '../PriceList/PriceList';
11
12
  import { RichText } from '../RichText/RichText';
12
13
  import { Tags } from '../Tags/Tags';
13
14
  import { type TextAlign } from '../Text/TextProps';
@@ -31,6 +32,7 @@ export const BaseProductTile = JSX<BaseProductTileProps>(
31
32
  isFullWidthTitle,
32
33
  items,
33
34
  isDotted = true,
35
+ priceList = [],
34
36
  listItemSize,
35
37
  tags = [],
36
38
  buttons,
@@ -74,6 +76,7 @@ export const BaseProductTile = JSX<BaseProductTileProps>(
74
76
  <List items={items} isDotted={isDotted} listItemSize={listItemSize} />
75
77
  ) : null}
76
78
  {children}
79
+ {priceList?.length ? <PriceList priceList={priceList} /> : null}
77
80
  {renderTags(tags)}
78
81
  </div>
79
82
  </BaseTile>
@@ -20,6 +20,16 @@ export interface TileImageOptions {
20
20
  isImageAlwaysOnRight?: boolean;
21
21
  }
22
22
 
23
+ export interface PriceItem {
24
+ label?: string;
25
+ amount?: number;
26
+ unit?: string;
27
+ }
28
+
29
+ export interface PriceListProps {
30
+ priceList?: PriceItem[];
31
+ }
32
+
23
33
  export type BaseProductTileContent = HeadlineProps &
24
34
  BenefitsListContent &
25
35
  RichTextProps &
@@ -28,7 +38,8 @@ export type BaseProductTileContent = HeadlineProps &
28
38
  TagsContent &
29
39
  ButtonsSectionContent &
30
40
  ImageContent &
31
- LabelProps & {
41
+ LabelProps &
42
+ PriceListProps & {
32
43
  imageOptions?: TileImageOptions;
33
44
  /** @title Заголовок во всю ширину */
34
45
  isFullWidthTitle?: boolean;
@@ -67,7 +67,9 @@ export const DatePicker = JSX<DatePickerProps>(
67
67
 
68
68
  return (
69
69
  <div className={style(className, 'relative')} ref={ref}>
70
- <Text size="text-m">{label}</Text>
70
+ <Text size="text-m" font-weight="font-light">
71
+ {label}
72
+ </Text>
71
73
  {renderDatePickerForm(handleChangeVisibleCalendar, value, valid)}
72
74
  {showCalendar ? (
73
75
  <div className="absolute bg-white z-10 select-none">
@@ -1,5 +1,6 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useEffect, useRef } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { useRef } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { useResizeObserver } from '../../hooks/useResizeObserver';
3
4
 
4
5
  export interface FoldableSectionProps {
5
6
  className?: string;
@@ -9,23 +10,27 @@ export interface FoldableSectionProps {
9
10
  export const FoldableSection = JSX<FoldableSectionProps>(
10
11
  ({ className = '', isUnfolded, children }) => {
11
12
  const containerRef = useRef<HTMLDivElement | null>(null);
12
-
13
- useEffect(() => {
14
- if (containerRef.current) {
15
- containerRef.current.style.maxHeight = isUnfolded
16
- ? `${containerRef.current.scrollHeight}px`
17
- : '';
18
- }
19
- }, [isUnfolded, children?.length]);
13
+ const childrenWrapperRef = useResizeObserver(
14
+ (childrenWrapperEl) => {
15
+ if (containerRef.current) {
16
+ containerRef.current.style.maxHeight = isUnfolded
17
+ ? `${childrenWrapperEl.scrollHeight}px`
18
+ : '';
19
+ }
20
+ },
21
+ [isUnfolded],
22
+ );
20
23
 
21
24
  return (
22
25
  <div
23
26
  ref={containerRef}
24
27
  className={`transition-max-h duration-300 overflow-hidden ${
25
28
  containerRef.current || !isUnfolded ? 'max-h-0' : ''
26
- } ${className}`}
29
+ } `}
27
30
  >
28
- {children}
31
+ <div className={className} ref={childrenWrapperRef}>
32
+ {children}
33
+ </div>
29
34
  </div>
30
35
  );
31
36
  },
@@ -0,0 +1,16 @@
1
+ import '../../setup-fixture';
2
+
3
+ import { PriceList } from './PriceList';
4
+
5
+ const priceList = [
6
+ { label: 'PriceListItem #1', amount: 25000 },
7
+ { label: 'PriceListItem #2', amount: 500000 },
8
+ ];
9
+
10
+ export default {
11
+ 'primary dotted (default)': (
12
+ <div className="bg-white p-6xl">
13
+ <PriceList priceList={priceList} />
14
+ </div>
15
+ ),
16
+ };