@redneckz/wildless-cms-uni-blocks 0.4.1 → 0.4.2

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 (238) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +49 -54
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/dist/components/BaseTile/BaseTile.js +1 -1
  5. package/dist/components/BaseTile/BaseTile.js.map +1 -1
  6. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  7. package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
  8. package/dist/components/BlockContent.d.ts +1 -2
  9. package/dist/components/Blocks.d.ts +0 -1
  10. package/dist/components/Blocks.js +0 -2
  11. package/dist/components/Blocks.js.map +1 -1
  12. package/dist/components/Footer/MediaButton.d.ts +1 -1
  13. package/dist/components/Footer/SocialMedia.d.ts +1 -1
  14. package/dist/components/Footer/SocialMedia.mobile.d.ts +1 -1
  15. package/dist/components/Gallery/GalleryContainer.js.map +1 -1
  16. package/dist/components/PictureText/PictureText.js +14 -5
  17. package/dist/components/PictureText/PictureText.js.map +1 -1
  18. package/dist/components/PictureText/PictureTextContent.d.ts +8 -16
  19. package/dist/components/ProductBlock/ProductBlockContent.d.ts +3 -15
  20. package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
  21. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  22. package/dist/components/ProductBlock/ProductBlockInner.mobile.js +1 -1
  23. package/dist/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
  24. package/dist/components/ProductBlock/renderBenefit.d.ts +4 -2
  25. package/dist/components/ProductBlock/renderBenefit.js +3 -22
  26. package/dist/components/ProductBlock/renderBenefit.js.map +1 -1
  27. package/dist/components/ProductGallery/ProductGallery.js +5 -5
  28. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  29. package/dist/components/ProductTile/ProductTile.js +1 -1
  30. package/dist/components/ProductTile/ProductTile.js.map +1 -1
  31. package/dist/components/PromoTile/PromoTile.js +1 -1
  32. package/dist/components/PromoTile/PromoTile.js.map +1 -1
  33. package/dist/components/Recommendation/RecommendationCard.d.ts +1 -1
  34. package/dist/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
  35. package/dist/ui-kit/BenefitItem/BenefitItem.d.ts +4 -0
  36. package/dist/ui-kit/BenefitItem/BenefitItem.js +29 -0
  37. package/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -0
  38. package/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +24 -0
  39. package/dist/{components/Insurance/InsuranceContent.js → ui-kit/BenefitItem/BenefitItemProps.js} +1 -1
  40. package/dist/ui-kit/BenefitItem/BenefitItemProps.js.map +1 -0
  41. package/dist/ui-kit/Foldable/Foldable.js +1 -1
  42. package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  43. package/lib/common.css +1 -1
  44. package/lib/components/BaseTile/BaseTile.js +1 -1
  45. package/lib/components/BaseTile/BaseTile.js.map +1 -1
  46. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  47. package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
  48. package/lib/components/BlockContent.d.ts +1 -2
  49. package/lib/components/Blocks.d.ts +0 -1
  50. package/lib/components/Blocks.js +0 -2
  51. package/lib/components/Blocks.js.map +1 -1
  52. package/lib/components/Footer/MediaButton.d.ts +1 -1
  53. package/lib/components/Footer/SocialMedia.d.ts +1 -1
  54. package/lib/components/Footer/SocialMedia.mobile.d.ts +1 -1
  55. package/lib/components/Gallery/GalleryContainer.js.map +1 -1
  56. package/lib/components/PictureText/PictureText.fixture.d.ts +4 -0
  57. package/lib/components/PictureText/PictureText.js +14 -5
  58. package/lib/components/PictureText/PictureText.js.map +1 -1
  59. package/lib/components/PictureText/PictureTextContent.d.ts +8 -16
  60. package/lib/components/ProductBlock/ProductBlockContent.d.ts +3 -15
  61. package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
  62. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  63. package/lib/components/ProductBlock/ProductBlockInner.mobile.js +1 -1
  64. package/lib/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
  65. package/lib/components/ProductBlock/renderBenefit.d.ts +4 -3
  66. package/lib/components/ProductBlock/renderBenefit.js +4 -23
  67. package/lib/components/ProductBlock/renderBenefit.js.map +1 -1
  68. package/lib/components/ProductGallery/ProductGallery.js +5 -5
  69. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  70. package/lib/components/ProductTile/ProductTile.js +1 -1
  71. package/lib/components/ProductTile/ProductTile.js.map +1 -1
  72. package/lib/components/PromoTile/PromoTile.js +1 -1
  73. package/lib/components/PromoTile/PromoTile.js.map +1 -1
  74. package/lib/components/Recommendation/RecommendationCard.d.ts +1 -1
  75. package/lib/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
  76. package/lib/ui-kit/BenefitItem/BenefitItem.d.ts +4 -0
  77. package/lib/ui-kit/BenefitItem/BenefitItem.js +27 -0
  78. package/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -0
  79. package/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +24 -0
  80. package/lib/ui-kit/BenefitItem/BenefitItemProps.js +2 -0
  81. package/lib/ui-kit/BenefitItem/BenefitItemProps.js.map +1 -0
  82. package/lib/ui-kit/Foldable/Foldable.js +1 -1
  83. package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  84. package/mobile/bundle/bundle.umd.js +20 -12
  85. package/mobile/bundle/bundle.umd.min.js +1 -1
  86. package/mobile/dist/components/BaseTile/BaseTile.js +1 -1
  87. package/mobile/dist/components/BaseTile/BaseTile.js.map +1 -1
  88. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  89. package/mobile/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
  90. package/mobile/dist/components/BlockContent.d.ts +1 -2
  91. package/mobile/dist/components/Footer/MediaButton.d.ts +1 -1
  92. package/mobile/dist/components/Footer/SocialMedia.d.ts +1 -1
  93. package/mobile/dist/components/Gallery/GalleryContainer.js.map +1 -1
  94. package/mobile/dist/components/PictureText/PictureText.js +14 -5
  95. package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
  96. package/mobile/dist/components/PictureText/PictureTextContent.d.ts +8 -16
  97. package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +3 -15
  98. package/mobile/dist/components/ProductBlock/ProductBlockInner.js +1 -1
  99. package/mobile/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  100. package/mobile/dist/components/ProductBlock/renderBenefit.d.ts +4 -2
  101. package/mobile/dist/components/ProductBlock/renderBenefit.js +3 -19
  102. package/mobile/dist/components/ProductBlock/renderBenefit.js.map +1 -1
  103. package/mobile/dist/components/ProductTile/ProductTile.js +1 -1
  104. package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
  105. package/mobile/dist/components/PromoTile/PromoTile.js +1 -1
  106. package/mobile/dist/components/PromoTile/PromoTile.js.map +1 -1
  107. package/mobile/dist/components/Recommendation/RecommendationCard.d.ts +1 -1
  108. package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
  109. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.d.ts +4 -0
  110. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +29 -0
  111. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -0
  112. package/mobile/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +24 -0
  113. package/mobile/dist/{components/Insurance/InsuranceContent.js → ui-kit/BenefitItem/BenefitItemProps.js} +1 -1
  114. package/mobile/dist/ui-kit/BenefitItem/BenefitItemProps.js.map +1 -0
  115. package/mobile/dist/ui-kit/Foldable/Foldable.js +1 -1
  116. package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  117. package/mobile/lib/components/BaseTile/BaseTile.js +1 -1
  118. package/mobile/lib/components/BaseTile/BaseTile.js.map +1 -1
  119. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  120. package/mobile/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -2
  121. package/mobile/lib/components/BlockContent.d.ts +1 -2
  122. package/mobile/lib/components/Footer/MediaButton.d.ts +1 -1
  123. package/mobile/lib/components/Footer/SocialMedia.d.ts +1 -1
  124. package/mobile/lib/components/Gallery/GalleryContainer.js.map +1 -1
  125. package/mobile/lib/components/PictureText/PictureText.js +14 -5
  126. package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
  127. package/mobile/lib/components/PictureText/PictureTextContent.d.ts +8 -16
  128. package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +3 -15
  129. package/mobile/lib/components/ProductBlock/ProductBlockInner.js +1 -1
  130. package/mobile/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  131. package/mobile/lib/components/ProductBlock/renderBenefit.d.ts +4 -2
  132. package/mobile/lib/components/ProductBlock/renderBenefit.js +4 -20
  133. package/mobile/lib/components/ProductBlock/renderBenefit.js.map +1 -1
  134. package/mobile/lib/components/ProductTile/ProductTile.js +1 -1
  135. package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
  136. package/mobile/lib/components/PromoTile/PromoTile.js +1 -1
  137. package/mobile/lib/components/PromoTile/PromoTile.js.map +1 -1
  138. package/mobile/lib/components/Recommendation/RecommendationCard.d.ts +1 -1
  139. package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
  140. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.d.ts +4 -0
  141. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +27 -0
  142. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -0
  143. package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +24 -0
  144. package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.js +2 -0
  145. package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.js.map +1 -0
  146. package/mobile/lib/ui-kit/Foldable/Foldable.js +1 -1
  147. package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  148. package/mobile/src/components/BaseTile/BaseTile.tsx +2 -2
  149. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +2 -2
  150. package/mobile/src/components/BenefitsBlock/BenefitsBlockContent.ts +2 -2
  151. package/mobile/src/components/BlockContent.ts +0 -2
  152. package/mobile/src/components/ContentPage/ContentPage.page.json +41 -41
  153. package/mobile/src/components/Footer/MediaButton.tsx +1 -1
  154. package/mobile/src/components/Footer/SocialMedia.tsx +1 -1
  155. package/mobile/src/components/Gallery/Gallery.tsx +1 -1
  156. package/mobile/src/components/Gallery/GalleryContainer.tsx +0 -1
  157. package/mobile/src/components/PictureText/PictureText.example.json +7 -4
  158. package/mobile/src/components/PictureText/PictureText.tsx +55 -34
  159. package/mobile/src/components/PictureText/PictureTextContent.ts +8 -17
  160. package/mobile/src/components/ProductBlock/ProductBlockContent.ts +3 -17
  161. package/mobile/src/components/ProductBlock/ProductBlockInner.tsx +1 -5
  162. package/mobile/src/components/ProductBlock/renderBenefit.tsx +17 -42
  163. package/mobile/src/components/ProductTile/ProductTile.tsx +1 -1
  164. package/mobile/src/components/PromoTile/PromoTile.tsx +1 -1
  165. package/mobile/src/components/Recommendation/RecommendationCard.tsx +1 -1
  166. package/mobile/src/components/StepsBlock/StepsBlockStyleMaps.ts +1 -1
  167. package/mobile/src/components/__snapshots__/Blocks.spec.tsx.snap +15 -30
  168. package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +58 -0
  169. package/mobile/src/ui-kit/BenefitItem/BenefitItemProps.ts +27 -0
  170. package/mobile/src/ui-kit/Foldable/Foldable.tsx +1 -1
  171. package/package.json +1 -1
  172. package/src/components/BaseTile/BaseTile.tsx +2 -2
  173. package/src/components/BenefitsBlock/BenefitsBlock.tsx +2 -2
  174. package/src/components/BenefitsBlock/BenefitsBlockContent.ts +2 -2
  175. package/src/components/BlockContent.ts +0 -2
  176. package/src/components/Blocks.ts +0 -2
  177. package/src/components/ContentPage/ContentPage.page.json +41 -41
  178. package/src/components/Footer/MediaButton.tsx +1 -1
  179. package/src/components/Footer/SocialMedia.mobile.tsx +1 -1
  180. package/src/components/Footer/SocialMedia.tsx +1 -1
  181. package/src/components/Gallery/Gallery.mobile.tsx +1 -1
  182. package/src/components/Gallery/GalleryContainer.tsx +0 -1
  183. package/src/components/PictureText/PictureText.example.json +7 -4
  184. package/src/components/PictureText/PictureText.fixture.tsx +74 -5
  185. package/src/components/PictureText/PictureText.tsx +55 -34
  186. package/src/components/PictureText/PictureTextContent.ts +8 -17
  187. package/src/components/ProductBlock/ProductBlock.fixture.mobile.tsx +3 -3
  188. package/src/components/ProductBlock/ProductBlock.fixture.tsx +28 -6
  189. package/src/components/ProductBlock/ProductBlockContent.ts +3 -17
  190. package/src/components/ProductBlock/ProductBlockInner.mobile.tsx +1 -5
  191. package/src/components/ProductBlock/ProductBlockInner.tsx +1 -3
  192. package/src/components/ProductBlock/renderBenefit.tsx +17 -51
  193. package/src/components/ProductGallery/ProductGallery.tsx +5 -4
  194. package/src/components/ProductTile/ProductTile.tsx +1 -1
  195. package/src/components/PromoTile/PromoTile.tsx +1 -1
  196. package/src/components/Recommendation/RecommendationCard.tsx +1 -1
  197. package/src/components/StepsBlock/StepsBlockStyleMaps.ts +1 -1
  198. package/src/components/__snapshots__/Blocks.spec.tsx.snap +15 -30
  199. package/src/ui-kit/BenefitItem/BenefitItem.tsx +58 -0
  200. package/src/ui-kit/BenefitItem/BenefitItemProps.ts +27 -0
  201. package/src/ui-kit/Foldable/Foldable.tsx +1 -1
  202. package/dist/components/Insurance/Insurance.d.ts +0 -5
  203. package/dist/components/Insurance/Insurance.js +0 -24
  204. package/dist/components/Insurance/Insurance.js.map +0 -1
  205. package/dist/components/Insurance/InsuranceContent.d.ts +0 -27
  206. package/dist/components/Insurance/InsuranceContent.js.map +0 -1
  207. package/dist/components/ProductBlock/renderBenefit.mobile.d.ts +0 -3
  208. package/dist/components/ProductBlock/renderBenefit.mobile.js +0 -25
  209. package/dist/components/ProductBlock/renderBenefit.mobile.js.map +0 -1
  210. package/lib/components/Insurance/Insurance.d.ts +0 -5
  211. package/lib/components/Insurance/Insurance.fixture.d.ts +0 -6
  212. package/lib/components/Insurance/Insurance.js +0 -22
  213. package/lib/components/Insurance/Insurance.js.map +0 -1
  214. package/lib/components/Insurance/InsuranceContent.d.ts +0 -27
  215. package/lib/components/Insurance/InsuranceContent.js +0 -2
  216. package/lib/components/Insurance/InsuranceContent.js.map +0 -1
  217. package/lib/components/ProductBlock/renderBenefit.mobile.d.ts +0 -3
  218. package/lib/components/ProductBlock/renderBenefit.mobile.js +0 -22
  219. package/lib/components/ProductBlock/renderBenefit.mobile.js.map +0 -1
  220. package/mobile/dist/components/Insurance/Insurance.d.ts +0 -5
  221. package/mobile/dist/components/Insurance/Insurance.js +0 -24
  222. package/mobile/dist/components/Insurance/Insurance.js.map +0 -1
  223. package/mobile/dist/components/Insurance/InsuranceContent.d.ts +0 -27
  224. package/mobile/dist/components/Insurance/InsuranceContent.js.map +0 -1
  225. package/mobile/lib/components/Insurance/Insurance.d.ts +0 -5
  226. package/mobile/lib/components/Insurance/Insurance.js +0 -22
  227. package/mobile/lib/components/Insurance/Insurance.js.map +0 -1
  228. package/mobile/lib/components/Insurance/InsuranceContent.d.ts +0 -27
  229. package/mobile/lib/components/Insurance/InsuranceContent.js +0 -2
  230. package/mobile/lib/components/Insurance/InsuranceContent.js.map +0 -1
  231. package/mobile/src/components/Insurance/Insurance.example.json +0 -29
  232. package/mobile/src/components/Insurance/Insurance.tsx +0 -83
  233. package/mobile/src/components/Insurance/InsuranceContent.ts +0 -29
  234. package/src/components/Insurance/Insurance.example.json +0 -29
  235. package/src/components/Insurance/Insurance.fixture.tsx +0 -70
  236. package/src/components/Insurance/Insurance.tsx +0 -83
  237. package/src/components/Insurance/InsuranceContent.ts +0 -29
  238. package/src/components/ProductBlock/renderBenefit.mobile.tsx +0 -44
@@ -0,0 +1,58 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import type { BenefitItemProps, BenefitItemCommonProps } from './BenefitItemProps';
3
+ import { Img } from '../Img/Img';
4
+ import type { BlockVersion } from '../../model/BlockVersion';
5
+
6
+ export interface BenefitGeneralProps extends BenefitItemProps, BenefitItemCommonProps {}
7
+
8
+ const titleStyleMap: Record<BlockVersion, string> = {
9
+ primary: 'text-primary-text',
10
+ secondary: 'text-white',
11
+ };
12
+ const descStyleMap: Record<BlockVersion, string> = {
13
+ primary: 'text-secondary-text',
14
+ secondary: 'text-white',
15
+ };
16
+
17
+ export const BenefitItem = JSX<BenefitGeneralProps>((props) => {
18
+ const {
19
+ className = '',
20
+ icon,
21
+ label,
22
+ description,
23
+ version = 'primary',
24
+ benefitsVersion = 'normal',
25
+ } = props;
26
+
27
+ const isIconWhite = benefitsVersion === 'white' || version === 'secondary';
28
+
29
+ return (
30
+ <div className={`flex items-center gap-5 ${className}`}>
31
+ {icon ? (
32
+ <Img
33
+ className={renderBenefitIconBgStyle(version, benefitsVersion)}
34
+ image={{ ...icon, iconVersion: isIconWhite ? 'white' : 'normal' }}
35
+ asSVG
36
+ />
37
+ ) : null}
38
+ <div className="gap-0.5">
39
+ {label ? <div className={`text-h6 ${titleStyleMap[version]}`}>{label}</div> : null}
40
+ {description ? (
41
+ <div className={`text-m-light ${descStyleMap[version]}`}>{description}</div>
42
+ ) : null}
43
+ </div>
44
+ </div>
45
+ );
46
+ });
47
+
48
+ function renderBenefitIconBgStyle(version, benefitsVersion) {
49
+ let bgColorStyle = 'bg-primary-main text-black';
50
+
51
+ if (version === 'secondary') {
52
+ bgColorStyle = 'bg-white/30 text-black';
53
+ } else if (benefitsVersion === 'normal') {
54
+ bgColorStyle = 'bg-secondary-light text-primary-main';
55
+ }
56
+
57
+ return `w-[50px] h-[50px] rounded-full p-[10px] box-border ${bgColorStyle}`;
58
+ }
@@ -0,0 +1,27 @@
1
+ import type { Picture } from '../../model/Picture';
2
+ import type { BlockVersion } from '../../model/BlockVersion';
3
+ import type { IconVersion } from '../../model/IconVersion';
4
+
5
+ export interface BenefitItemCommonProps {
6
+ benefitsVersion?: IconVersion;
7
+ /** @hidden */
8
+ version?: BlockVersion;
9
+ /** @hidden */
10
+ className?: string;
11
+ }
12
+
13
+ export type BenefitItemProps = {
14
+ icon?: Picture;
15
+ /** @title Название */
16
+ label?: string;
17
+ /** @title Описание */
18
+ description?: string;
19
+ };
20
+
21
+ /**
22
+ * @title Преимущество
23
+ */
24
+ export type BenefitsProps = BenefitItemCommonProps & {
25
+ /** @title Список преимуществ */
26
+ benefits?: BenefitItemProps[];
27
+ };
@@ -46,7 +46,7 @@ export const Foldable = JSX<FoldableProps>(
46
46
 
47
47
  const buttonClassName =
48
48
  foldButtonClasses ||
49
- 'border-none bg-primary-main px-0 py-[26px] mb-[1px] w-full font-sans text-white text-l flex justify-center cursor-pointer';
49
+ 'border-none bg-primary-main hover:bg-primary-hover px-0 py-[26px] mb-[1px] w-full font-sans text-white text-h4 flex justify-center cursor-pointer';
50
50
  const getFoldButtonLabel = isActive ? 'Скрыть' : foldButtonLabel;
51
51
 
52
52
  return blocks ? (
@@ -1,5 +0,0 @@
1
- import type { UniBlockProps } from '../../types';
2
- import type { InsuranceContent } from './InsuranceContent';
3
- export interface InsuranceProps extends InsuranceContent, UniBlockProps {
4
- }
5
- export declare const Insurance: import("@redneckz/uni-jsx").UNIComponent<InsuranceProps, any, any>;
@@ -1,24 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.Insurance = void 0;
3
- const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
- const uni_jsx_1 = require("@redneckz/uni-jsx");
5
- const BlockWrapper_1 = require("../../ui-kit/BlockWrapper");
6
- const Img_1 = require("../../ui-kit/Img/Img");
7
- const addSpacesBetweenNumbers_1 = require("../../utils/addSpacesBetweenNumbers");
8
- const Headline_1 = require("../Headline/Headline");
9
- exports.Insurance = (0, uni_jsx_1.JSX)(({ context, className = '', title, description, image, benefits, sum, monthLimit, ...rest }) => {
10
- return ((0, jsx_runtime_1.jsxs)(BlockWrapper_1.BlockWrapper, { className: `px-[100px] py-[50px] bg-white text-primary-text font-sans ${className}`, context: context, ...rest, children: [(0, jsx_runtime_1.jsx)(Headline_1.Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center" }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("div", { className: "mx-auto flex justify-center gap-[122px] mt-[30px]", children: [image?.src ? (0, jsx_runtime_1.jsx)(Img_1.Img, { image: image }) : null, (0, jsx_runtime_1.jsxs)("div", { className: "w-[558px] m-auto", children: [benefits ? ((0, jsx_runtime_1.jsx)("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit) })) : null, renderInsuranceSumMonth(sum, monthLimit)] })] }) })] }));
11
- });
12
- function renderBenefit(benefit, i) {
13
- return ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-4", children: [benefit?.icon ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { className: "w-12 h-12 min-w-12 p-3 rounded-full bg-secondary-light", image: benefit.icon, asSVG: true })) : null, (0, jsx_runtime_1.jsxs)("div", { children: [benefit?.label ? (0, jsx_runtime_1.jsx)("div", { className: "text-h6", children: benefit.label }) : null, benefit?.description ? ((0, jsx_runtime_1.jsx)("div", { className: "mt-0.5 text-secondary-text text-m", children: benefit.description })) : null] })] }, String(i)));
14
- }
15
- function renderInsuranceSumMonth(sum, monthLimit) {
16
- return sum || monthLimit ? ((0, jsx_runtime_1.jsxs)("div", { className: "bg-secondary-light h-15 flex mt-7 gap-6 px-5 py-4", children: [Number.isFinite(sum) ? renderValueBlock('Страховая сумма:', sum, Boolean(monthLimit)) : null, Number.isFinite(monthLimit)
17
- ? renderValueBlock('Ежемесячный лимит:', monthLimit, Boolean(sum))
18
- : null] })) : null;
19
- }
20
- function renderValueBlock(title, sum = 0, isAnotherBlock = false) {
21
- const widthStyle = isAnotherBlock ? 'w-fit' : 'w-full';
22
- return ((0, jsx_runtime_1.jsxs)("div", { className: `flex justify-between items-center gap-2 w-full ${widthStyle}`, children: [(0, jsx_runtime_1.jsx)("span", { className: "text-secondary-text text-l-light", children: title }), (0, jsx_runtime_1.jsxs)("span", { className: "text-primary-main text-h6", children: [(0, addSpacesBetweenNumbers_1.addSpacesBetweenNumbers)(sum), " \u20BD"] })] }));
23
- }
24
- //# sourceMappingURL=Insurance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Insurance.js","sourceRoot":"","sources":["../../../src/components/Insurance/Insurance.tsx"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { Picture } from '../../model/Picture';
2
- import type { HeadlineCommonProps } from '../../model/HeadlineType';
3
- /**
4
- * @title Преимущество
5
- */
6
- export interface InsuranceBenefit {
7
- /** @title Название */
8
- label?: string;
9
- /** @title Описание */
10
- description?: string;
11
- icon?: Picture;
12
- }
13
- /**
14
- * @title Страховка
15
- */
16
- export declare type InsuranceContent = HeadlineCommonProps & {
17
- image?: Picture;
18
- /** @title Ежемесячный лимит */
19
- monthLimit?: number;
20
- /** @title Страховая сумма */
21
- sum?: number;
22
- /**
23
- * @title Список преимуществ
24
- * @maxItems 6
25
- */
26
- benefits?: InsuranceBenefit[];
27
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"InsuranceContent.js","sourceRoot":"","sources":["../../../src/components/Insurance/InsuranceContent.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import type { BenefitItemProps } from './ProductBlockContent';
3
- export declare function renderBenefit({ benefit, version }: BenefitItemProps, i: number): JSX.Element;
@@ -1,25 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.renderBenefit = void 0;
3
- const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
- const Img_1 = require("../../ui-kit/Img/Img");
5
- const benefitTitleStyleMap = {
6
- primary: 'text-primary-text',
7
- secondary: 'text-white',
8
- };
9
- const benefitDescStyleMap = {
10
- primary: 'text-secondary-text',
11
- secondary: 'text-white',
12
- };
13
- function renderBenefit({ benefit, version = 'primary' }, i) {
14
- const isIconWhite = version === 'secondary';
15
- return ((0, jsx_runtime_1.jsxs)("div", { className: "flex gap-3 items-center mb-2.5 last:mb-0", children: [benefit.icon ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { className: renderBenefitIconBgStyle(version), image: { ...benefit?.icon, iconVersion: isIconWhite ? 'white' : 'normal' }, width: "24", height: "24", asSVG: true })) : null, (0, jsx_runtime_1.jsx)("div", { className: `text-l m-0 ${benefitTitleStyleMap[version]}`, children: benefit.label }), benefit.description && ((0, jsx_runtime_1.jsx)("div", { className: `text-s ${benefitDescStyleMap[version]}`, children: benefit.description }))] }, String(i)));
16
- }
17
- exports.renderBenefit = renderBenefit;
18
- function renderBenefitIconBgStyle(version) {
19
- let bgColorStyle = 'text-primary-main';
20
- if (version === 'secondary') {
21
- bgColorStyle = 'text-black';
22
- }
23
- return `w-6 h-6 rounded-full box-border ${bgColorStyle}`;
24
- }
25
- //# sourceMappingURL=renderBenefit.mobile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderBenefit.mobile.js","sourceRoot":"","sources":["../../../src/components/ProductBlock/renderBenefit.mobile.tsx"],"names":[],"mappings":";;;AACA,8CAA2C;AAG3C,MAAM,oBAAoB,GAAiC;IACzD,OAAO,EAAE,mBAAmB;IAC5B,SAAS,EAAE,YAAY;CACxB,CAAC;AACF,MAAM,mBAAmB,GAAiC;IACxD,OAAO,EAAE,qBAAqB;IAC9B,SAAS,EAAE,YAAY;CACxB,CAAC;AAEF,SAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,EAAoB,EAAE,CAAS;IACzF,MAAM,WAAW,GAAG,OAAO,KAAK,WAAW,CAAC;IAE5C,OAAO,CACL,iCAAqB,SAAS,EAAC,0CAA0C,aACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,uBAAC,SAAG,IACF,SAAS,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAC5C,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,EAC1E,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,KAAK,SACL,CACH,CAAC,CAAC,CAAC,IAAI,EACR,gCAAK,SAAS,EAAE,cAAc,oBAAoB,CAAC,OAAO,CAAC,EAAE,YAAG,OAAO,CAAC,KAAK,GAAO,EACnF,OAAO,CAAC,WAAW,IAAI,CACtB,gCAAK,SAAS,EAAE,UAAU,mBAAmB,CAAC,OAAO,CAAC,EAAE,YAAG,OAAO,CAAC,WAAW,GAAO,CACtF,KAbO,MAAM,CAAC,CAAC,CAAC,CAcb,CACP,CAAC;AACJ,CAAC;AApBD,sCAoBC;AAED,SAAS,wBAAwB,CAAC,OAAO;IACvC,IAAI,YAAY,GAAG,mBAAmB,CAAC;IAEvC,IAAI,OAAO,KAAK,WAAW,EAAE;QAC3B,YAAY,GAAG,YAAY,CAAC;KAC7B;IAED,OAAO,mCAAmC,YAAY,EAAE,CAAC;AAC3D,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { UniBlockProps } from '../../types';
2
- import type { InsuranceContent } from './InsuranceContent';
3
- export interface InsuranceProps extends InsuranceContent, UniBlockProps {
4
- }
5
- export declare const Insurance: import("@redneckz/uni-jsx").UNIComponent<InsuranceProps, any, any>;
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- declare const _default: {
3
- 'without monthly payment': JSX.Element;
4
- 'with monthly payment': JSX.Element;
5
- };
6
- export default _default;
@@ -1,22 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
- import { JSX } from '@redneckz/uni-jsx';
3
- import { BlockWrapper } from '../../ui-kit/BlockWrapper.js';
4
- import { Img } from '../../ui-kit/Img/Img.js';
5
- import { addSpacesBetweenNumbers } from '../../utils/addSpacesBetweenNumbers.js';
6
- import { Headline } from '../Headline/Headline.js';
7
- export const Insurance = JSX(({ context, className = '', title, description, image, benefits, sum, monthLimit, ...rest }) => {
8
- return (_jsxs(BlockWrapper, { className: `px-[100px] py-[50px] bg-white text-primary-text font-sans ${className}`, context: context, ...rest, children: [_jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center" }), _jsx("div", { children: _jsxs("div", { className: "mx-auto flex justify-center gap-[122px] mt-[30px]", children: [image?.src ? _jsx(Img, { image: image }) : null, _jsxs("div", { className: "w-[558px] m-auto", children: [benefits ? (_jsx("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit) })) : null, renderInsuranceSumMonth(sum, monthLimit)] })] }) })] }));
9
- });
10
- function renderBenefit(benefit, i) {
11
- return (_jsxs("div", { className: "flex items-center gap-4", children: [benefit?.icon ? (_jsx(Img, { className: "w-12 h-12 min-w-12 p-3 rounded-full bg-secondary-light", image: benefit.icon, asSVG: true })) : null, _jsxs("div", { children: [benefit?.label ? _jsx("div", { className: "text-h6", children: benefit.label }) : null, benefit?.description ? (_jsx("div", { className: "mt-0.5 text-secondary-text text-m", children: benefit.description })) : null] })] }, String(i)));
12
- }
13
- function renderInsuranceSumMonth(sum, monthLimit) {
14
- return sum || monthLimit ? (_jsxs("div", { className: "bg-secondary-light h-15 flex mt-7 gap-6 px-5 py-4", children: [Number.isFinite(sum) ? renderValueBlock('Страховая сумма:', sum, Boolean(monthLimit)) : null, Number.isFinite(monthLimit)
15
- ? renderValueBlock('Ежемесячный лимит:', monthLimit, Boolean(sum))
16
- : null] })) : null;
17
- }
18
- function renderValueBlock(title, sum = 0, isAnotherBlock = false) {
19
- const widthStyle = isAnotherBlock ? 'w-fit' : 'w-full';
20
- return (_jsxs("div", { className: `flex justify-between items-center gap-2 w-full ${widthStyle}`, children: [_jsx("span", { className: "text-secondary-text text-l-light", children: title }), _jsxs("span", { className: "text-primary-main text-h6", children: [addSpacesBetweenNumbers(sum), " \u20BD"] })] }));
21
- }
22
- //# sourceMappingURL=Insurance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Insurance.js","sourceRoot":"","sources":["../../../src/components/Insurance/Insurance.tsx"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { Picture } from '../../model/Picture';
2
- import type { HeadlineCommonProps } from '../../model/HeadlineType';
3
- /**
4
- * @title Преимущество
5
- */
6
- export interface InsuranceBenefit {
7
- /** @title Название */
8
- label?: string;
9
- /** @title Описание */
10
- description?: string;
11
- icon?: Picture;
12
- }
13
- /**
14
- * @title Страховка
15
- */
16
- export declare type InsuranceContent = HeadlineCommonProps & {
17
- image?: Picture;
18
- /** @title Ежемесячный лимит */
19
- monthLimit?: number;
20
- /** @title Страховая сумма */
21
- sum?: number;
22
- /**
23
- * @title Список преимуществ
24
- * @maxItems 6
25
- */
26
- benefits?: InsuranceBenefit[];
27
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=InsuranceContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InsuranceContent.js","sourceRoot":"","sources":["../../../src/components/Insurance/InsuranceContent.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import type { BenefitItemProps } from './ProductBlockContent';
3
- export declare function renderBenefit({ benefit, version }: BenefitItemProps, i: number): JSX.Element;
@@ -1,22 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
- import { Img } from '../../ui-kit/Img/Img.js';
3
- const benefitTitleStyleMap = {
4
- primary: 'text-primary-text',
5
- secondary: 'text-white',
6
- };
7
- const benefitDescStyleMap = {
8
- primary: 'text-secondary-text',
9
- secondary: 'text-white',
10
- };
11
- export function renderBenefit({ benefit, version = 'primary' }, i) {
12
- const isIconWhite = version === 'secondary';
13
- return (_jsxs("div", { className: "flex gap-3 items-center mb-2.5 last:mb-0", children: [benefit.icon ? (_jsx(Img, { className: renderBenefitIconBgStyle(version), image: { ...benefit?.icon, iconVersion: isIconWhite ? 'white' : 'normal' }, width: "24", height: "24", asSVG: true })) : null, _jsx("div", { className: `text-l m-0 ${benefitTitleStyleMap[version]}`, children: benefit.label }), benefit.description && (_jsx("div", { className: `text-s ${benefitDescStyleMap[version]}`, children: benefit.description }))] }, String(i)));
14
- }
15
- function renderBenefitIconBgStyle(version) {
16
- let bgColorStyle = 'text-primary-main';
17
- if (version === 'secondary') {
18
- bgColorStyle = 'text-black';
19
- }
20
- return `w-6 h-6 rounded-full box-border ${bgColorStyle}`;
21
- }
22
- //# sourceMappingURL=renderBenefit.mobile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderBenefit.mobile.js","sourceRoot":"","sources":["../../../src/components/ProductBlock/renderBenefit.mobile.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAG3C,MAAM,oBAAoB,GAAiC;IACzD,OAAO,EAAE,mBAAmB;IAC5B,SAAS,EAAE,YAAY;CACxB,CAAC;AACF,MAAM,mBAAmB,GAAiC;IACxD,OAAO,EAAE,qBAAqB;IAC9B,SAAS,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,EAAoB,EAAE,CAAS;IACzF,MAAM,WAAW,GAAG,OAAO,KAAK,WAAW,CAAC;IAE5C,OAAO,CACL,eAAqB,SAAS,EAAC,0CAA0C,aACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,KAAC,GAAG,IACF,SAAS,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAC5C,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,EAC1E,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,KAAK,SACL,CACH,CAAC,CAAC,CAAC,IAAI,EACR,cAAK,SAAS,EAAE,cAAc,oBAAoB,CAAC,OAAO,CAAC,EAAE,YAAG,OAAO,CAAC,KAAK,GAAO,EACnF,OAAO,CAAC,WAAW,IAAI,CACtB,cAAK,SAAS,EAAE,UAAU,mBAAmB,CAAC,OAAO,CAAC,EAAE,YAAG,OAAO,CAAC,WAAW,GAAO,CACtF,KAbO,MAAM,CAAC,CAAC,CAAC,CAcb,CACP,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAO;IACvC,IAAI,YAAY,GAAG,mBAAmB,CAAC;IAEvC,IAAI,OAAO,KAAK,WAAW,EAAE;QAC3B,YAAY,GAAG,YAAY,CAAC;KAC7B;IAED,OAAO,mCAAmC,YAAY,EAAE,CAAC;AAC3D,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { UniBlockProps } from '../../types';
2
- import type { InsuranceContent } from './InsuranceContent';
3
- export interface InsuranceProps extends InsuranceContent, UniBlockProps {
4
- }
5
- export declare const Insurance: import("@redneckz/uni-jsx").UNIComponent<InsuranceProps, any, any>;
@@ -1,24 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.Insurance = void 0;
3
- const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
- const uni_jsx_1 = require("@redneckz/uni-jsx");
5
- const BlockWrapper_1 = require("../../ui-kit/BlockWrapper");
6
- const Img_1 = require("../../ui-kit/Img/Img");
7
- const addSpacesBetweenNumbers_1 = require("../../utils/addSpacesBetweenNumbers");
8
- const Headline_1 = require("../Headline/Headline");
9
- exports.Insurance = (0, uni_jsx_1.JSX)(({ context, className = '', title, description, image, benefits, sum, monthLimit, ...rest }) => {
10
- return ((0, jsx_runtime_1.jsxs)(BlockWrapper_1.BlockWrapper, { className: `px-[100px] py-[50px] bg-white text-primary-text font-sans ${className}`, context: context, ...rest, children: [(0, jsx_runtime_1.jsx)(Headline_1.Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center" }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("div", { className: "mx-auto flex justify-center gap-[122px] mt-[30px]", children: [image?.src ? (0, jsx_runtime_1.jsx)(Img_1.Img, { image: image }) : null, (0, jsx_runtime_1.jsxs)("div", { className: "w-[558px] m-auto", children: [benefits ? ((0, jsx_runtime_1.jsx)("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit) })) : null, renderInsuranceSumMonth(sum, monthLimit)] })] }) })] }));
11
- });
12
- function renderBenefit(benefit, i) {
13
- return ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-4", children: [benefit?.icon ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { className: "w-12 h-12 min-w-12 p-3 rounded-full bg-secondary-light", image: benefit.icon, asSVG: true })) : null, (0, jsx_runtime_1.jsxs)("div", { children: [benefit?.label ? (0, jsx_runtime_1.jsx)("div", { className: "text-h6", children: benefit.label }) : null, benefit?.description ? ((0, jsx_runtime_1.jsx)("div", { className: "mt-0.5 text-secondary-text text-m", children: benefit.description })) : null] })] }, String(i)));
14
- }
15
- function renderInsuranceSumMonth(sum, monthLimit) {
16
- return sum || monthLimit ? ((0, jsx_runtime_1.jsxs)("div", { className: "bg-secondary-light h-15 flex mt-7 gap-6 px-5 py-4", children: [Number.isFinite(sum) ? renderValueBlock('Страховая сумма:', sum, Boolean(monthLimit)) : null, Number.isFinite(monthLimit)
17
- ? renderValueBlock('Ежемесячный лимит:', monthLimit, Boolean(sum))
18
- : null] })) : null;
19
- }
20
- function renderValueBlock(title, sum = 0, isAnotherBlock = false) {
21
- const widthStyle = isAnotherBlock ? 'w-fit' : 'w-full';
22
- return ((0, jsx_runtime_1.jsxs)("div", { className: `flex justify-between items-center gap-2 w-full ${widthStyle}`, children: [(0, jsx_runtime_1.jsx)("span", { className: "text-secondary-text text-l-light", children: title }), (0, jsx_runtime_1.jsxs)("span", { className: "text-primary-main text-h6", children: [(0, addSpacesBetweenNumbers_1.addSpacesBetweenNumbers)(sum), " \u20BD"] })] }));
23
- }
24
- //# sourceMappingURL=Insurance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Insurance.js","sourceRoot":"","sources":["../../../src/components/Insurance/Insurance.tsx"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { Picture } from '../../model/Picture';
2
- import type { HeadlineCommonProps } from '../../model/HeadlineType';
3
- /**
4
- * @title Преимущество
5
- */
6
- export interface InsuranceBenefit {
7
- /** @title Название */
8
- label?: string;
9
- /** @title Описание */
10
- description?: string;
11
- icon?: Picture;
12
- }
13
- /**
14
- * @title Страховка
15
- */
16
- export declare type InsuranceContent = HeadlineCommonProps & {
17
- image?: Picture;
18
- /** @title Ежемесячный лимит */
19
- monthLimit?: number;
20
- /** @title Страховая сумма */
21
- sum?: number;
22
- /**
23
- * @title Список преимуществ
24
- * @maxItems 6
25
- */
26
- benefits?: InsuranceBenefit[];
27
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"InsuranceContent.js","sourceRoot":"","sources":["../../../src/components/Insurance/InsuranceContent.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import type { UniBlockProps } from '../../types';
2
- import type { InsuranceContent } from './InsuranceContent';
3
- export interface InsuranceProps extends InsuranceContent, UniBlockProps {
4
- }
5
- export declare const Insurance: import("@redneckz/uni-jsx").UNIComponent<InsuranceProps, any, any>;
@@ -1,22 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
- import { JSX } from '@redneckz/uni-jsx';
3
- import { BlockWrapper } from '../../ui-kit/BlockWrapper.js';
4
- import { Img } from '../../ui-kit/Img/Img.js';
5
- import { addSpacesBetweenNumbers } from '../../utils/addSpacesBetweenNumbers.js';
6
- import { Headline } from '../Headline/Headline.js';
7
- export const Insurance = JSX(({ context, className = '', title, description, image, benefits, sum, monthLimit, ...rest }) => {
8
- return (_jsxs(BlockWrapper, { className: `px-[100px] py-[50px] bg-white text-primary-text font-sans ${className}`, context: context, ...rest, children: [_jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center" }), _jsx("div", { children: _jsxs("div", { className: "mx-auto flex justify-center gap-[122px] mt-[30px]", children: [image?.src ? _jsx(Img, { image: image }) : null, _jsxs("div", { className: "w-[558px] m-auto", children: [benefits ? (_jsx("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit) })) : null, renderInsuranceSumMonth(sum, monthLimit)] })] }) })] }));
9
- });
10
- function renderBenefit(benefit, i) {
11
- return (_jsxs("div", { className: "flex items-center gap-4", children: [benefit?.icon ? (_jsx(Img, { className: "w-12 h-12 min-w-12 p-3 rounded-full bg-secondary-light", image: benefit.icon, asSVG: true })) : null, _jsxs("div", { children: [benefit?.label ? _jsx("div", { className: "text-h6", children: benefit.label }) : null, benefit?.description ? (_jsx("div", { className: "mt-0.5 text-secondary-text text-m", children: benefit.description })) : null] })] }, String(i)));
12
- }
13
- function renderInsuranceSumMonth(sum, monthLimit) {
14
- return sum || monthLimit ? (_jsxs("div", { className: "bg-secondary-light h-15 flex mt-7 gap-6 px-5 py-4", children: [Number.isFinite(sum) ? renderValueBlock('Страховая сумма:', sum, Boolean(monthLimit)) : null, Number.isFinite(monthLimit)
15
- ? renderValueBlock('Ежемесячный лимит:', monthLimit, Boolean(sum))
16
- : null] })) : null;
17
- }
18
- function renderValueBlock(title, sum = 0, isAnotherBlock = false) {
19
- const widthStyle = isAnotherBlock ? 'w-fit' : 'w-full';
20
- return (_jsxs("div", { className: `flex justify-between items-center gap-2 w-full ${widthStyle}`, children: [_jsx("span", { className: "text-secondary-text text-l-light", children: title }), _jsxs("span", { className: "text-primary-main text-h6", children: [addSpacesBetweenNumbers(sum), " \u20BD"] })] }));
21
- }
22
- //# sourceMappingURL=Insurance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Insurance.js","sourceRoot":"","sources":["../../../src/components/Insurance/Insurance.tsx"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { Picture } from '../../model/Picture';
2
- import type { HeadlineCommonProps } from '../../model/HeadlineType';
3
- /**
4
- * @title Преимущество
5
- */
6
- export interface InsuranceBenefit {
7
- /** @title Название */
8
- label?: string;
9
- /** @title Описание */
10
- description?: string;
11
- icon?: Picture;
12
- }
13
- /**
14
- * @title Страховка
15
- */
16
- export declare type InsuranceContent = HeadlineCommonProps & {
17
- image?: Picture;
18
- /** @title Ежемесячный лимит */
19
- monthLimit?: number;
20
- /** @title Страховая сумма */
21
- sum?: number;
22
- /**
23
- * @title Список преимуществ
24
- * @maxItems 6
25
- */
26
- benefits?: InsuranceBenefit[];
27
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=InsuranceContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InsuranceContent.js","sourceRoot":"","sources":["../../../src/components/Insurance/InsuranceContent.ts"],"names":[],"mappings":""}
@@ -1,29 +0,0 @@
1
- {
2
- "title": "Заголовок",
3
- "description": "Описание",
4
- "insurance": 500000,
5
- "benefits": [
6
- {
7
- "label": "Заголовок 1",
8
- "description": "Описание 1",
9
- "icon": {
10
- "icon": "ShieldTickIcon"
11
- }
12
- },
13
- {
14
- "label": "Заголовок 2",
15
- "description": "Описание 2",
16
- "icon": {
17
- "icon": "ShieldTickIcon"
18
- }
19
- }
20
- ],
21
- "image": {
22
- "format": "webp",
23
- "size": {
24
- "width": 400,
25
- "height": 300
26
- }
27
- },
28
- "sum": 500000
29
- }
@@ -1,83 +0,0 @@
1
- import { JSX } from '@redneckz/uni-jsx';
2
- import type { UniBlockProps } from '../../types';
3
- import { BlockWrapper } from '../../ui-kit/BlockWrapper';
4
- import { Img } from '../../ui-kit/Img/Img';
5
- import { addSpacesBetweenNumbers } from '../../utils/addSpacesBetweenNumbers';
6
- import { Headline } from '../Headline/Headline';
7
- import type { InsuranceBenefit, InsuranceContent } from './InsuranceContent';
8
-
9
- export interface InsuranceProps extends InsuranceContent, UniBlockProps {}
10
-
11
- export const Insurance = JSX<InsuranceProps>(
12
- ({ context, className = '', title, description, image, benefits, sum, monthLimit, ...rest }) => {
13
- return (
14
- <BlockWrapper
15
- className={`px-[100px] py-[50px] bg-white text-primary-text font-sans ${className}`}
16
- context={context}
17
- {...rest}
18
- >
19
- <Headline
20
- context={context}
21
- className="!p-0"
22
- title={title}
23
- description={description}
24
- headlineVersion="M"
25
- align="center"
26
- />
27
- <div>
28
- <div className="mx-auto flex justify-center gap-[122px] mt-[30px]">
29
- {image?.src ? <Img image={image} /> : null}
30
- <div className="w-[558px] m-auto">
31
- {benefits ? (
32
- <div className="flex flex-col gap-4">{benefits.map(renderBenefit)}</div>
33
- ) : null}
34
- {renderInsuranceSumMonth(sum, monthLimit)}
35
- </div>
36
- </div>
37
- </div>
38
- </BlockWrapper>
39
- );
40
- },
41
- );
42
-
43
- function renderBenefit(benefit: InsuranceBenefit, i: number) {
44
- return (
45
- <div key={String(i)} className="flex items-center gap-4">
46
- {benefit?.icon ? (
47
- <Img
48
- className="w-12 h-12 min-w-12 p-3 rounded-full bg-secondary-light"
49
- image={benefit.icon}
50
- asSVG
51
- />
52
- ) : null}
53
- <div>
54
- {benefit?.label ? <div className="text-h6">{benefit.label}</div> : null}
55
- {benefit?.description ? (
56
- <div className="mt-0.5 text-secondary-text text-m">{benefit.description}</div>
57
- ) : null}
58
- </div>
59
- </div>
60
- );
61
- }
62
-
63
- function renderInsuranceSumMonth(sum?: number, monthLimit?: number) {
64
- return sum || monthLimit ? (
65
- <div className="bg-secondary-light h-15 flex mt-7 gap-6 px-5 py-4">
66
- {Number.isFinite(sum) ? renderValueBlock('Страховая сумма:', sum, Boolean(monthLimit)) : null}
67
- {Number.isFinite(monthLimit)
68
- ? renderValueBlock('Ежемесячный лимит:', monthLimit, Boolean(sum))
69
- : null}
70
- </div>
71
- ) : null;
72
- }
73
-
74
- function renderValueBlock(title: string, sum = 0, isAnotherBlock = false) {
75
- const widthStyle = isAnotherBlock ? 'w-fit' : 'w-full';
76
-
77
- return (
78
- <div className={`flex justify-between items-center gap-2 w-full ${widthStyle}`}>
79
- <span className="text-secondary-text text-l-light">{title}</span>
80
- <span className="text-primary-main text-h6">{addSpacesBetweenNumbers(sum)} ₽</span>
81
- </div>
82
- );
83
- }
@@ -1,29 +0,0 @@
1
- import type { Picture } from '../../model/Picture';
2
- import type { HeadlineCommonProps } from '../../model/HeadlineType';
3
-
4
- /**
5
- * @title Преимущество
6
- */
7
- export interface InsuranceBenefit {
8
- /** @title Название */
9
- label?: string;
10
- /** @title Описание */
11
- description?: string;
12
- icon?: Picture;
13
- }
14
-
15
- /**
16
- * @title Страховка
17
- */
18
- export type InsuranceContent = HeadlineCommonProps & {
19
- image?: Picture;
20
- /** @title Ежемесячный лимит */
21
- monthLimit?: number;
22
- /** @title Страховая сумма */
23
- sum?: number;
24
- /**
25
- * @title Список преимуществ
26
- * @maxItems 6
27
- */
28
- benefits?: InsuranceBenefit[];
29
- };