@redneckz/wildless-cms-uni-blocks 0.9.5 → 0.9.7

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 (222) hide show
  1. package/bundle/BlockRenderer/BlockRendererOptions.d.ts +0 -2
  2. package/bundle/BlockRenderer/renderBlock.d.ts +5 -1
  3. package/bundle/blocks.schema.json +1 -1
  4. package/bundle/bundle.umd.js +89 -52
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/components/Calculator/CalculatorContent.d.ts +15 -1
  7. package/bundle/components/Calculator/CreditCalculatorForm.d.ts +2 -2
  8. package/bundle/components/Calculator/DepositCalculatorForm.d.ts +2 -2
  9. package/bundle/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
  10. package/bundle/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
  11. package/bundle/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  12. package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
  13. package/bundle/ui-kit/BlockWrapper.d.ts +0 -1
  14. package/bundle/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
  15. package/dist/BlockRenderer/BlockRendererOptions.d.ts +0 -2
  16. package/dist/BlockRenderer/renderBlock.d.ts +5 -1
  17. package/dist/BlockRenderer/renderBlock.js +2 -2
  18. package/dist/BlockRenderer/renderBlock.js.map +1 -1
  19. package/dist/components/Calculator/CalculatorContent.d.ts +15 -1
  20. package/dist/components/Calculator/CreditCalculatorForm.d.ts +2 -2
  21. package/dist/components/Calculator/CreditCalculatorForm.js +19 -4
  22. package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  23. package/dist/components/Calculator/DepositCalculatorForm.d.ts +2 -2
  24. package/dist/components/Calculator/constants.js +1 -0
  25. package/dist/components/Calculator/constants.js.map +1 -1
  26. package/dist/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
  27. package/dist/components/Calculator/useCreditCalculatorParams.js +34 -8
  28. package/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  29. package/dist/components/Carousel/Carousel.js +11 -13
  30. package/dist/components/Carousel/Carousel.js.map +1 -1
  31. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
  32. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  33. package/dist/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
  34. package/dist/components/CarouselEventCard/CarouselEventCard.js +4 -7
  35. package/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  36. package/dist/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  37. package/dist/components/CarouselProductCard/CarouselProductCard.js +6 -9
  38. package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  39. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
  40. package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  41. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
  42. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -7
  43. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  44. package/dist/components/VerticalLayout/VerticalLayout.js +6 -2
  45. package/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
  46. package/dist/content-page-repository/transformImg.js +1 -1
  47. package/dist/content-page-repository/transformImg.js.map +1 -1
  48. package/dist/ui-kit/BlockWrapper.d.ts +0 -1
  49. package/dist/ui-kit/BlockWrapper.js +2 -2
  50. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  51. package/dist/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
  52. package/dist/ui-kit/LinkWrapper/LinkWrapper.js +12 -0
  53. package/dist/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -0
  54. package/lib/BlockRenderer/BlockRendererOptions.d.ts +0 -2
  55. package/lib/BlockRenderer/renderBlock.d.ts +5 -1
  56. package/lib/BlockRenderer/renderBlock.js +2 -2
  57. package/lib/BlockRenderer/renderBlock.js.map +1 -1
  58. package/lib/common.css +1 -1
  59. package/lib/components/Calculator/CalculatorContent.d.ts +15 -1
  60. package/lib/components/Calculator/CreditCalculatorForm.d.ts +2 -2
  61. package/lib/components/Calculator/CreditCalculatorForm.js +19 -4
  62. package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  63. package/lib/components/Calculator/DepositCalculatorForm.d.ts +2 -2
  64. package/lib/components/Calculator/constants.js +1 -0
  65. package/lib/components/Calculator/constants.js.map +1 -1
  66. package/lib/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
  67. package/lib/components/Calculator/useCreditCalculatorParams.js +34 -8
  68. package/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  69. package/lib/components/Carousel/Carousel.js +11 -13
  70. package/lib/components/Carousel/Carousel.js.map +1 -1
  71. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
  72. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  73. package/lib/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
  74. package/lib/components/CarouselEventCard/CarouselEventCard.js +4 -7
  75. package/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  76. package/lib/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  77. package/lib/components/CarouselProductCard/CarouselProductCard.js +6 -9
  78. package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  79. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
  80. package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  81. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
  82. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -7
  83. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  84. package/lib/components/VerticalLayout/VerticalLayout.js +6 -2
  85. package/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
  86. package/lib/content-page-repository/transformImg.js +1 -1
  87. package/lib/content-page-repository/transformImg.js.map +1 -1
  88. package/lib/ui-kit/BlockWrapper.d.ts +0 -1
  89. package/lib/ui-kit/BlockWrapper.js +2 -2
  90. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  91. package/lib/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
  92. package/lib/ui-kit/LinkWrapper/LinkWrapper.js +10 -0
  93. package/lib/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -0
  94. package/mobile/bundle/BlockRenderer/BlockRendererOptions.d.ts +0 -2
  95. package/mobile/bundle/BlockRenderer/renderBlock.d.ts +5 -1
  96. package/mobile/bundle/bundle.umd.js +10 -7
  97. package/mobile/bundle/bundle.umd.min.js +1 -1
  98. package/mobile/bundle/components/Calculator/CalculatorContent.d.ts +15 -1
  99. package/mobile/bundle/components/Calculator/CreditCalculatorForm.d.ts +2 -2
  100. package/mobile/bundle/components/Calculator/DepositCalculatorForm.d.ts +2 -2
  101. package/mobile/bundle/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
  102. package/mobile/bundle/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
  103. package/mobile/bundle/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  104. package/mobile/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
  105. package/mobile/bundle/ui-kit/BlockWrapper.d.ts +0 -1
  106. package/mobile/bundle/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
  107. package/mobile/dist/BlockRenderer/BlockRendererOptions.d.ts +0 -2
  108. package/mobile/dist/BlockRenderer/renderBlock.d.ts +5 -1
  109. package/mobile/dist/BlockRenderer/renderBlock.js +2 -2
  110. package/mobile/dist/BlockRenderer/renderBlock.js.map +1 -1
  111. package/mobile/dist/components/Calculator/CalculatorContent.d.ts +15 -1
  112. package/mobile/dist/components/Calculator/CreditCalculatorForm.d.ts +2 -2
  113. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +19 -4
  114. package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  115. package/mobile/dist/components/Calculator/DepositCalculatorForm.d.ts +2 -2
  116. package/mobile/dist/components/Calculator/constants.js +1 -0
  117. package/mobile/dist/components/Calculator/constants.js.map +1 -1
  118. package/mobile/dist/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
  119. package/mobile/dist/components/Calculator/useCreditCalculatorParams.js +34 -8
  120. package/mobile/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  121. package/mobile/dist/components/Carousel/Carousel.js +11 -13
  122. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  123. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
  124. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  125. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
  126. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +4 -7
  127. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  128. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  129. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +6 -9
  130. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  131. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
  132. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  133. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
  134. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -7
  135. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  136. package/mobile/dist/components/VerticalLayout/VerticalLayout.js +6 -2
  137. package/mobile/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
  138. package/mobile/dist/content-page-repository/transformImg.js +1 -1
  139. package/mobile/dist/content-page-repository/transformImg.js.map +1 -1
  140. package/mobile/dist/ui-kit/BlockWrapper.d.ts +0 -1
  141. package/mobile/dist/ui-kit/BlockWrapper.js +2 -2
  142. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  143. package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
  144. package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.js +12 -0
  145. package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -0
  146. package/mobile/lib/BlockRenderer/BlockRendererOptions.d.ts +0 -2
  147. package/mobile/lib/BlockRenderer/renderBlock.d.ts +5 -1
  148. package/mobile/lib/BlockRenderer/renderBlock.js +2 -2
  149. package/mobile/lib/BlockRenderer/renderBlock.js.map +1 -1
  150. package/mobile/lib/components/Calculator/CalculatorContent.d.ts +15 -1
  151. package/mobile/lib/components/Calculator/CreditCalculatorForm.d.ts +2 -2
  152. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +19 -4
  153. package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  154. package/mobile/lib/components/Calculator/DepositCalculatorForm.d.ts +2 -2
  155. package/mobile/lib/components/Calculator/constants.js +1 -0
  156. package/mobile/lib/components/Calculator/constants.js.map +1 -1
  157. package/mobile/lib/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
  158. package/mobile/lib/components/Calculator/useCreditCalculatorParams.js +34 -8
  159. package/mobile/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  160. package/mobile/lib/components/Carousel/Carousel.js +11 -13
  161. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  162. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
  163. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  164. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
  165. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +4 -7
  166. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  167. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  168. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +6 -9
  169. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  170. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
  171. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
  172. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
  173. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -7
  174. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  175. package/mobile/lib/components/VerticalLayout/VerticalLayout.js +6 -2
  176. package/mobile/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
  177. package/mobile/lib/content-page-repository/transformImg.js +1 -1
  178. package/mobile/lib/content-page-repository/transformImg.js.map +1 -1
  179. package/mobile/lib/ui-kit/BlockWrapper.d.ts +0 -1
  180. package/mobile/lib/ui-kit/BlockWrapper.js +2 -2
  181. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  182. package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
  183. package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.js +10 -0
  184. package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -0
  185. package/mobile/src/BlockRenderer/BlockRendererOptions.ts +0 -2
  186. package/mobile/src/BlockRenderer/renderBlock.tsx +7 -3
  187. package/mobile/src/components/Calculator/Calculator.example.json +6 -0
  188. package/mobile/src/components/Calculator/CalculatorContent.ts +16 -1
  189. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +89 -29
  190. package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +2 -2
  191. package/mobile/src/components/Calculator/constants.ts +1 -0
  192. package/mobile/src/components/Calculator/useCreditCalculatorParams.ts +46 -8
  193. package/mobile/src/components/Carousel/Carousel.tsx +9 -11
  194. package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +2 -1
  195. package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +19 -26
  196. package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +16 -18
  197. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +15 -20
  198. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +28 -28
  199. package/mobile/src/components/VerticalLayout/VerticalLayout.tsx +6 -2
  200. package/mobile/src/content-page-repository/transformImg.ts +1 -1
  201. package/mobile/src/ui-kit/BlockWrapper.tsx +3 -6
  202. package/mobile/src/ui-kit/LinkWrapper/LinkWrapper.tsx +21 -0
  203. package/package.json +1 -1
  204. package/src/BlockRenderer/BlockRendererOptions.ts +0 -2
  205. package/src/BlockRenderer/renderBlock.tsx +7 -3
  206. package/src/components/Calculator/Calculator.example.json +6 -0
  207. package/src/components/Calculator/Calculator.fixture.tsx +6 -0
  208. package/src/components/Calculator/CalculatorContent.ts +16 -1
  209. package/src/components/Calculator/CreditCalculatorForm.tsx +89 -29
  210. package/src/components/Calculator/DepositCalculatorForm.tsx +2 -2
  211. package/src/components/Calculator/constants.ts +1 -0
  212. package/src/components/Calculator/useCreditCalculatorParams.ts +46 -8
  213. package/src/components/Carousel/Carousel.tsx +9 -11
  214. package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +2 -1
  215. package/src/components/CarouselEventCard/CarouselEventCard.tsx +19 -26
  216. package/src/components/CarouselProductCard/CarouselProductCard.tsx +16 -18
  217. package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +15 -20
  218. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +28 -28
  219. package/src/components/VerticalLayout/VerticalLayout.tsx +6 -2
  220. package/src/content-page-repository/transformImg.ts +1 -1
  221. package/src/ui-kit/BlockWrapper.tsx +3 -6
  222. package/src/ui-kit/LinkWrapper/LinkWrapper.tsx +21 -0
@@ -1,16 +1,16 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import type { UniBlockProps } from '../../model/JSXBlock';
3
+ import type { Picture } from '../../model/Picture';
2
4
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
3
- import { getIconWithVersion } from '../../utils/getIconWithVersion';
4
5
  import { Heading } from '../../ui-kit/Heading/Heading';
5
6
  import { Img } from '../../ui-kit/Img/Img';
7
+ import { LinkWrapper } from '../../ui-kit/LinkWrapper/LinkWrapper';
6
8
  import { List } from '../../ui-kit/List/List';
7
9
  import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
8
- import { SocialMedia } from '../Footer/SocialMedia';
10
+ import { getIconWithVersion } from '../../utils/getIconWithVersion';
9
11
  import { style } from '../../utils/style';
10
- import { useLink } from '../../hooks/useLink';
12
+ import { SocialMedia } from '../Footer/SocialMedia';
11
13
  import type { CarouselRecommendationCardContent } from './CarouselRecommendationCardContent';
12
- import type { UniBlockProps } from '../../model/JSXBlock';
13
- import type { Picture } from '../../model/Picture';
14
14
 
15
15
  const BORDER_STYLE =
16
16
  'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
@@ -33,10 +33,6 @@ export const CarouselRecommendationCard = JSX<RecommendationCardProps>(
33
33
  version = 'primary',
34
34
  ...rest
35
35
  }) => {
36
- const link = useLink();
37
- const adjustedProps = link({ href, target });
38
- const tagName = href ? 'a' : 'section';
39
-
40
36
  return (
41
37
  <BlockWrapper
42
38
  className={style(
@@ -44,30 +40,34 @@ export const CarouselRecommendationCard = JSX<RecommendationCardProps>(
44
40
  BORDER_STYLE,
45
41
  className,
46
42
  )}
47
- extraProps={adjustedProps}
48
- tag={tagName}
49
43
  version={version}
50
44
  {...rest}
51
45
  >
52
- <div className="self-center">
53
- {title ? <Heading headingType="h3" as="h3" className="mb-8" title={title} /> : null}
54
- </div>
55
- <div className="mb-5">
56
- {description ? (
57
- <Paragraph size="text-xl" font="font-light" color="group-data-gray:text-secondary-text">
58
- {description}
59
- </Paragraph>
60
- ) : null}
61
- </div>
62
- <div className="flex align-center w-full">
63
- <div className="w-1/2 h-full flex flex-col flex-1 justify-end">
64
- {items.length ? (
65
- <List className="text-xl-light flex flex-col gap-2 pb-16 mb-3" items={items} />
46
+ <LinkWrapper className="flex flex-col" href={href} target={target}>
47
+ <div className="self-center">
48
+ {title ? <Heading headingType="h3" as="h3" className="mb-8" title={title} /> : null}
49
+ </div>
50
+ <div className="mb-5">
51
+ {description ? (
52
+ <Paragraph
53
+ size="text-xl"
54
+ font="font-light"
55
+ color="group-data-gray:text-secondary-text"
56
+ >
57
+ {description}
58
+ </Paragraph>
66
59
  ) : null}
67
- {socialMedia.length ? <SocialMedia className="pb-0" media={socialMedia} /> : null}
68
60
  </div>
69
- {renderIconBlock(icon, items)}
70
- </div>
61
+ <div className="flex align-center w-full">
62
+ <div className="w-1/2 h-full flex flex-col flex-1 justify-end">
63
+ {items.length ? (
64
+ <List className="text-xl-light flex flex-col gap-2 pb-16 mb-3" items={items} />
65
+ ) : null}
66
+ {socialMedia.length ? <SocialMedia className="pb-0" media={socialMedia} /> : null}
67
+ </div>
68
+ {renderIconBlock(icon, items)}
69
+ </div>
70
+ </LinkWrapper>
71
71
  </BlockWrapper>
72
72
  );
73
73
  },
@@ -1,4 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { renderBlock } from '../../BlockRenderer/renderBlock';
2
3
  import { renderChildren } from '../../BlockRenderer/renderChildren';
3
4
  import type { AlignTypeWithStretch } from '../../model/AlignType';
4
5
  import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
@@ -25,7 +26,6 @@ export const VerticalLayout: JSXBlock<VerticalLayoutProps> = JSX<VerticalLayoutP
25
26
  isInnerPadding = true,
26
27
  version = 'transparent',
27
28
  isTheme = false,
28
- options,
29
29
  ...rest
30
30
  }) => {
31
31
  const innerPaddingStyle = isInnerPadding ? '' : '!p-0';
@@ -43,7 +43,11 @@ export const VerticalLayout: JSXBlock<VerticalLayoutProps> = JSX<VerticalLayoutP
43
43
  isTheme={isTheme}
44
44
  {...rest}
45
45
  >
46
- {renderChildren({ ...rest, options: { ...options, className: innerPaddingStyle } })}
46
+ {renderChildren({
47
+ ...rest,
48
+ renderProps: (block, options) =>
49
+ renderBlock(block, options, { className: innerPaddingStyle }),
50
+ })}
47
51
  </BlockWrapper>
48
52
  );
49
53
  },
@@ -83,7 +83,7 @@ function createBackgroundImageChain({ width, height }: ImageSize) {
83
83
  }
84
84
 
85
85
  function resizeImg(chain: Sharp, size: Picture['size'], options?: ResizeOptions) {
86
- return chain.resize(size?.width, size?.height, {
86
+ return chain.resize(size?.width || null, size?.height || null, {
87
87
  fit: sharp.fit.fill,
88
88
  background: { r: 0, g: 0, b: 0, alpha: 0 },
89
89
  ...options,
@@ -1,15 +1,14 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { defaultEventBus } from '../EventBus/defaultEventBus';
4
- import { useBlockIntersectionObserver } from '../services/BlockRouter/useBlockIntersectionObserver';
5
- import { style } from '../utils/style';
6
4
  import type { BlockVersion } from '../model/BlockVersion';
7
5
  import type { UniBlockProps } from '../model/JSXBlock';
6
+ import { useBlockIntersectionObserver } from '../services/BlockRouter/useBlockIntersectionObserver';
7
+ import { style } from '../utils/style';
8
8
 
9
9
  interface BlockWrapperProps extends UniBlockProps {
10
10
  tag?: keyof HTMLElementTagNameMap;
11
11
  role?: string;
12
- extraProps?: Record<string, any>;
13
12
  }
14
13
 
15
14
  export const blockStyles: Record<BlockVersion, string> = {
@@ -24,11 +23,10 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
24
23
  ({
25
24
  className = '',
26
25
  version = 'primary',
26
+ isTheme = true,
27
27
  block,
28
28
  tag = 'section',
29
29
  role,
30
- isTheme = true,
31
- extraProps = {},
32
30
  children,
33
31
  }) => {
34
32
  const Tag: any = tag;
@@ -57,7 +55,6 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
57
55
  {...(version && isTheme ? { 'data-ver': version } : {})}
58
56
  {...(block?.anchor ? { id: block.anchor, ref } : {})}
59
57
  role={role}
60
- {...extraProps}
61
58
  >
62
59
  {children}
63
60
  </Tag>
@@ -0,0 +1,21 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useLink } from '../../hooks/useLink';
3
+ import type { Target } from '../../model/LinkProps';
4
+
5
+ interface LinkWrapperProps {
6
+ className?: string;
7
+ href?: string;
8
+ target?: Target;
9
+ }
10
+
11
+ export const LinkWrapper = JSX<LinkWrapperProps>(({ className = '', href, target, children }) => {
12
+ const link = useLink();
13
+ const linkProps = link({ href, target });
14
+ const Tag = href ? 'a' : 'div';
15
+
16
+ return (
17
+ <Tag className={className} {...(href ? linkProps : {})}>
18
+ {children}
19
+ </Tag>
20
+ );
21
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.9.5",
3
+ "version": "0.9.7",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -9,6 +9,4 @@ export interface BlockRendererOptions {
9
9
  blocksRegistry?: BlocksRegistry;
10
10
  parent?: Slot;
11
11
  ancestors?: BlockAncestors;
12
- className?: string;
13
- extraProps?: Record<string, any>;
14
12
  }
@@ -8,14 +8,18 @@ const DEFAULT_ANCESTORS: BlockAncestors = [];
8
8
 
9
9
  const defaultStyle = 'col-span-12';
10
10
 
11
- export function renderBlock(block: BlockDef, options: BlockRendererOptions) {
11
+ type ExtraProps = Partial<Record<string, any> & { className: string }>;
12
+
13
+ export function renderBlock(
14
+ block: BlockDef,
15
+ options: BlockRendererOptions,
16
+ { className, ...extraProps }: ExtraProps = {},
17
+ ) {
12
18
  const {
13
19
  key,
14
20
  blockDecorator = defaultBlockDecorator,
15
21
  blocksRegistry = {},
16
22
  ancestors = DEFAULT_ANCESTORS,
17
- className = '',
18
- extraProps = {},
19
23
  } = options;
20
24
  const { type } = block;
21
25
 
@@ -16,6 +16,12 @@
16
16
  "version": "primary"
17
17
  }
18
18
  ],
19
+ "paramsViewSettings": {
20
+ "isShowSalaryClient": true,
21
+ "isShowStateEmployee": true,
22
+ "isShowPensionClient": true,
23
+ "isShowInsurance": true
24
+ },
19
25
  "footnote": "Расчёт является предварительным. Точные условия будут предоставлены в отделении Банка. "
20
26
  }
21
27
  }
@@ -32,6 +32,12 @@ const bottomFootnote =
32
32
 
33
33
  const CREDIT_CALCULATOR_BLOCK: CreditCalculatorParamsDef = {
34
34
  calcType: 'CreditCalculatorForm',
35
+ paramsViewSettings: {
36
+ isShowSalaryClient: true,
37
+ isShowStateEmployee: true,
38
+ isShowPensionClient: true,
39
+ isShowInsurance: true,
40
+ },
35
41
  buttons: buttons,
36
42
  footnote,
37
43
  };
@@ -10,6 +10,21 @@ export type CommonCalculatorProps = Footnote &
10
10
  sourceBookDir?: string;
11
11
  };
12
12
 
13
+ export interface CreditCalculatorParamsViewSettings {
14
+ /** @title Получаю зарплату на счёт в Россельхозбанке */
15
+ isShowSalaryClient?: boolean;
16
+ /** @title Работаю в бюджетной организации */
17
+ isShowStateEmployee?: boolean;
18
+ /** @title Получаю пенсию на карту Россельхозбанка */
19
+ isShowPensionClient?: boolean;
20
+ /** @title Комплексная страховая защита */
21
+ isShowInsurance?: boolean;
22
+ }
23
+ export interface CreditCalculatorProps extends CommonCalculatorProps {
24
+ /** @title Настройка отображения чекбоксов */
25
+ paramsViewSettings?: CreditCalculatorParamsViewSettings;
26
+ }
27
+
13
28
  export interface BusinessDepositCalculatorProps extends CommonCalculatorProps {
14
29
  /** @title Сноска снизу блока */
15
30
  bottomFootnote?: string;
@@ -53,7 +68,7 @@ export interface CalculatorParams {
53
68
  * @default {"calcType": "CreditCalculatorForm"}
54
69
  */
55
70
  export type CreditCalculatorParamsDef = TitleProps &
56
- CommonCalculatorProps & {
71
+ CreditCalculatorProps & {
57
72
  calcType: 'CreditCalculatorForm';
58
73
  };
59
74
 
@@ -3,7 +3,10 @@ import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
4
4
  import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
5
5
  import { style } from '../../utils/style';
6
- import type { CommonCalculatorProps } from './CalculatorContent';
6
+ import type {
7
+ CreditCalculatorParamsViewSettings,
8
+ CreditCalculatorProps,
9
+ } from './CalculatorContent';
7
10
  import { CalculatorValueBlock } from './CalculatorValueBlock';
8
11
  import { DEFAULT_MONTHS, DEFAULT_SUM } from './constants';
9
12
  import { Rate } from './Rate';
@@ -11,18 +14,23 @@ import { renderFootnote } from './renderFootnote';
11
14
  import { renderMonthsInput } from './renderMonthsInput';
12
15
  import { renderPaymentType } from './renderPaymentType';
13
16
  import { renderWantedSumInput } from './renderWantedSumInput';
14
- import { useCreditCalculatorParams } from './useCreditCalculatorParams';
17
+ import { CreditCalculatorParams, useCreditCalculatorParams } from './useCreditCalculatorParams';
15
18
 
16
- export interface CreditCalculatorProp extends CommonCalculatorProps {
19
+ export interface CreditCalculatorProp extends CreditCalculatorProps {
17
20
  className?: string;
18
21
  }
19
22
 
20
23
  export const CreditCalculatorForm = JSX<CreditCalculatorProp>(
21
- ({ className = '', sourceBookDir, buttons, footnote }) => {
24
+ ({ className = '', sourceBookDir, buttons, footnote, paramsViewSettings }) => {
22
25
  const [isAnnuity, toggleIsAnnuity] = useState(false);
23
- const [isInsurance, toggleIsInsurance] = useState(true);
24
26
  const [isSalaryClient, toggleIsSalaryClient] = useState(false);
27
+ const handleIsSalaryClient = useCallback((_: boolean) => toggleIsSalaryClient(_), []);
25
28
  const [isStateEmployee, toggleIsStateEmployee] = useState(false);
29
+ const handleIsStateEmployee = useCallback((_: boolean) => toggleIsStateEmployee(_), []);
30
+ const [isPensionClient, toggleIsPensionClient] = useState(false);
31
+ const handleIsPensionClient = useCallback((_: boolean) => toggleIsPensionClient(_), []);
32
+ const [isInsurance, toggleIsInsurance] = useState(true);
33
+ const handleIsInsurance = useCallback((_: boolean) => toggleIsInsurance(_), []);
26
34
  const [moneyValue, setMoneyValue] = useState(DEFAULT_SUM);
27
35
  const handleMoneyValue = useCallback((_: number) => setMoneyValue(_), []);
28
36
  const [monthsValue, setMonthsValue] = useState(DEFAULT_MONTHS);
@@ -31,11 +39,16 @@ export const CreditCalculatorForm = JSX<CreditCalculatorProp>(
31
39
  isAnnuity,
32
40
  isInsurance,
33
41
  isSalaryClient,
42
+ isPensionClient,
34
43
  isStateEmployee,
35
44
  moneyValue,
36
45
  monthsValue,
37
46
  };
38
- const calculatorParams = useCreditCalculatorParams(userInputParams, sourceBookDir);
47
+ const calculatorParams = useCreditCalculatorParams(
48
+ userInputParams,
49
+ sourceBookDir,
50
+ paramsViewSettings,
51
+ );
39
52
 
40
53
  return (
41
54
  <section className={style('flex justify-between', className)}>
@@ -47,31 +60,17 @@ export const CreditCalculatorForm = JSX<CreditCalculatorProp>(
47
60
  )}
48
61
  {renderMonthsInput('Срок кредита, месяцев', calculatorParams, handleMonthsValue)}
49
62
  <div className="mt-7">
50
- <Checkbox
51
- text="Получаю зарплату на счёт в Россельхозбанке"
52
- checked={isSalaryClient}
53
- onChange={toggleIsSalaryClient}
54
- />
55
- <Checkbox
56
- className="mt-3"
57
- text="Работаю в бюджетной организации"
58
- checked={isStateEmployee}
59
- onChange={toggleIsStateEmployee}
60
- />
61
- <Checkbox
62
- className="mt-3"
63
- text="Комплексная страховая защита"
64
- checked={isInsurance}
65
- onChange={toggleIsInsurance}
66
- />
63
+ {renderCreditParamsForm({
64
+ ...calculatorParams,
65
+ ...paramsViewSettings,
66
+ handleIsSalaryClient,
67
+ handleIsStateEmployee,
68
+ handleIsPensionClient,
69
+ handleIsInsurance,
70
+ })}
67
71
  </div>
68
72
  </div>
69
- <Rate
70
- title="Ставка"
71
- rate={calculatorParams.rate}
72
- rateBlockClassName="tracking-[-25px]"
73
- unit="%"
74
- />
73
+ {renderRate(calculatorParams.rate)}
75
74
  <div className="w-full max-w-[350px]">
76
75
  <CalculatorValueBlock
77
76
  title={'Ежемесячный платеж'}
@@ -90,3 +89,64 @@ export const CreditCalculatorForm = JSX<CreditCalculatorProp>(
90
89
  );
91
90
  },
92
91
  );
92
+
93
+ const renderRate = (rate: number) => (
94
+ <Rate title="Ставка" rate={rate} rateBlockClassName="tracking-[-25px]" unit="%" />
95
+ );
96
+
97
+ type CreditParamsFormProps = CreditCalculatorParams &
98
+ CreditCalculatorParamsViewSettings & {
99
+ handleIsSalaryClient?: (value: boolean) => void;
100
+ handleIsStateEmployee?: (value: boolean) => void;
101
+ handleIsPensionClient?: (value: boolean) => void;
102
+ handleIsInsurance?: (value: boolean) => void;
103
+ };
104
+
105
+ const renderCreditParamsForm = ({
106
+ isSalaryClient,
107
+ isStateEmployee,
108
+ isPensionClient,
109
+ isInsurance,
110
+ isShowSalaryClient,
111
+ isShowStateEmployee,
112
+ isShowPensionClient,
113
+ isShowInsurance,
114
+ handleIsSalaryClient,
115
+ handleIsStateEmployee,
116
+ handleIsPensionClient,
117
+ handleIsInsurance,
118
+ }: CreditParamsFormProps) => (
119
+ <div>
120
+ {isShowSalaryClient ? (
121
+ <Checkbox
122
+ text="Получаю зарплату на счёт в Россельхозбанке"
123
+ checked={isSalaryClient}
124
+ onChange={handleIsSalaryClient}
125
+ />
126
+ ) : null}
127
+ {isShowStateEmployee ? (
128
+ <Checkbox
129
+ className="mt-3"
130
+ text="Работаю в бюджетной организации"
131
+ checked={isStateEmployee}
132
+ onChange={handleIsStateEmployee}
133
+ />
134
+ ) : null}
135
+ {isShowPensionClient ? (
136
+ <Checkbox
137
+ className="mt-3"
138
+ text="Получаю пенсию на карту Россельхозбанка"
139
+ checked={isPensionClient}
140
+ onChange={handleIsPensionClient}
141
+ />
142
+ ) : null}
143
+ {isShowInsurance ? (
144
+ <Checkbox
145
+ className="mt-3"
146
+ text="Комплексная страховая защита"
147
+ checked={isInsurance}
148
+ onChange={handleIsInsurance}
149
+ />
150
+ ) : null}
151
+ </div>
152
+ );
@@ -4,7 +4,7 @@ import { JSX } from '@redneckz/uni-jsx';
4
4
  import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
5
5
  import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
6
6
  import { style } from '../../utils/style';
7
- import { CommonCalculatorProps, DepositCalculatorParams } from './CalculatorContent';
7
+ import { CommonCalculatorProps } from './CalculatorContent';
8
8
  import { CalculatorValueBlock } from './CalculatorValueBlock';
9
9
  import { DEFAULT_MONTHS, DEFAULT_SUM } from './constants';
10
10
  import { Rate } from './Rate';
@@ -15,7 +15,7 @@ import { renderRegistrationType } from './renderRegistrationType';
15
15
  import { renderWantedSumInput } from './renderWantedSumInput';
16
16
  import { useDepositCalculatorParams } from './useDepositCalculatorParams';
17
17
 
18
- export interface DepositCalculatorProp extends DepositCalculatorParams, CommonCalculatorProps {
18
+ export interface DepositCalculatorProp extends CommonCalculatorProps {
19
19
  className?: string;
20
20
  }
21
21
 
@@ -27,6 +27,7 @@ export const DEFAULT_CREDIT_CALCULATOR_PARAMS: CreditCalculatorSourceBookParams
27
27
  maxMonths: DEFAULT_MAX_MONTHS,
28
28
  rate: 0,
29
29
  isSalaryClient: true,
30
+ isPensionClient: false,
30
31
  isStateEmployee: true,
31
32
  isInsurance: true,
32
33
  };
@@ -1,3 +1,4 @@
1
+ import type { CreditCalculatorParamsViewSettings } from './CalculatorContent';
1
2
  import { CREDIT_CALC_DEFAULT_DIR, DEFAULT_CREDIT_CALCULATOR_PARAMS } from './constants';
2
3
  import { getMonthlyPayment } from './getMonthlyPayment';
3
4
  import { checkRangeByKeys, getRangeByKeys } from './rangeHelpers';
@@ -6,6 +7,7 @@ import { useCalculatorParams } from './useCalculatorParams';
6
7
  export interface CommonCreditParams {
7
8
  isInsurance: boolean;
8
9
  isSalaryClient: boolean;
10
+ isPensionClient: boolean;
9
11
  isStateEmployee: boolean;
10
12
  }
11
13
  export interface CreditCalculatorSourceBookParams extends CommonCreditParams {
@@ -35,18 +37,44 @@ export type CreditCalculatorData = {
35
37
  export const useCreditCalculatorParams = (
36
38
  userInputParams: CreditCalculatorUserInputParams,
37
39
  sourceBookDir?: string,
40
+ paramsViewSettings?: CreditCalculatorParamsViewSettings,
38
41
  ): CreditCalculatorParams => {
39
- const { isInsurance, isSalaryClient, isStateEmployee, moneyValue, monthsValue } = userInputParams;
40
-
42
+ const { moneyValue, monthsValue } = userInputParams;
41
43
  const data = useCalculatorParams<CreditCalculatorData>(sourceBookDir || CREDIT_CALC_DEFAULT_DIR);
42
44
  const creditCalculatorSourceBookParams =
43
- data?.rows?.find((_) => {
45
+ data?.rows?.find((row) => {
46
+ const isExcludeSalaryClient = !paramsViewSettings?.isShowSalaryClient;
47
+ const isExcludeStateEmployee = !paramsViewSettings?.isShowStateEmployee;
48
+ const isExcludePensionClient = !paramsViewSettings?.isShowPensionClient;
49
+ const isExcludeInsurance = !paramsViewSettings?.isShowInsurance;
50
+
44
51
  return (
45
- isInsurance === _.isInsurance &&
46
- isSalaryClient === _.isSalaryClient &&
47
- isStateEmployee === _.isStateEmployee &&
48
- checkRangeByKeys(moneyValue, ['minSum', 'maxSum'], _) &&
49
- checkRangeByKeys(monthsValue, ['minMonths', 'maxMonths'], _)
52
+ checkRowByParam({
53
+ row,
54
+ userInputParams,
55
+ paramKey: 'isSalaryClient',
56
+ isExclude: isExcludeSalaryClient,
57
+ }) &&
58
+ checkRowByParam({
59
+ row,
60
+ userInputParams,
61
+ paramKey: 'isStateEmployee',
62
+ isExclude: isExcludeStateEmployee,
63
+ }) &&
64
+ checkRowByParam({
65
+ row,
66
+ userInputParams,
67
+ paramKey: 'isPensionClient',
68
+ isExclude: isExcludePensionClient,
69
+ }) &&
70
+ checkRowByParam({
71
+ row,
72
+ userInputParams,
73
+ paramKey: 'isInsurance',
74
+ isExclude: isExcludeInsurance,
75
+ }) &&
76
+ checkRangeByKeys(moneyValue, ['minSum', 'maxSum'], row) &&
77
+ checkRangeByKeys(monthsValue, ['minMonths', 'maxMonths'], row)
50
78
  );
51
79
  }) || DEFAULT_CREDIT_CALCULATOR_PARAMS;
52
80
 
@@ -62,3 +90,13 @@ export const useCreditCalculatorParams = (
62
90
  monthlyPayment,
63
91
  };
64
92
  };
93
+
94
+ interface CheckRowByParamProps {
95
+ row: CreditCalculatorSourceBookParams;
96
+ userInputParams: CreditCalculatorUserInputParams;
97
+ paramKey: string;
98
+ isExclude: boolean;
99
+ }
100
+
101
+ const checkRowByParam = ({ row, userInputParams, paramKey, isExclude }: CheckRowByParamProps) =>
102
+ isExclude || userInputParams[paramKey] === row[paramKey];
@@ -1,5 +1,6 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { renderBlock } from '../../BlockRenderer/renderBlock';
3
4
  import { renderChildren } from '../../BlockRenderer/renderChildren';
4
5
  import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
5
6
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
@@ -24,7 +25,6 @@ export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
24
25
  isCyclic = false,
25
26
  arrowsPadded = true,
26
27
  isPadding = true,
27
- options,
28
28
  ...rest
29
29
  }) => {
30
30
  const { blocks: childBlocks } = rest.block || {};
@@ -59,18 +59,16 @@ export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
59
59
  gap={ITEMS_GAP}
60
60
  onVisibleIndicesChange={scroll.handleVisibleIndicesChange}
61
61
  >
62
- {isBankHistoryCarousel
63
- ? renderChildren({
64
- ...rest,
65
- options: {
66
- ...options,
67
- extraProps: {
62
+ {renderChildren({
63
+ ...rest,
64
+ renderProps: isBankHistoryCarousel
65
+ ? (block, options) =>
66
+ renderBlock(block, options, {
68
67
  blocksLength: childBlocks?.length,
69
68
  activeIndex: activeIndex,
70
- },
71
- },
72
- })
73
- : renderChildren({ ...rest, options })}
69
+ })
70
+ : renderBlock,
71
+ })}
74
72
  </SwipeListContainer>
75
73
  <CarouselScrollButtons
76
74
  scroll={scroll}
@@ -52,7 +52,8 @@ export const CarouselCatalogCard = JSX<CarouselCatalogCardProps>(
52
52
  );
53
53
 
54
54
  const renderColorOption = (color: ProductColorVersion, i: number) => (
55
- <span
55
+ <div
56
+ role="figure"
56
57
  key={String(i)}
57
58
  className={`w-6 h-6 ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap[color]}`}
58
59
  />