@megafon/ui-shared 9.0.0-alpha.2 → 9.0.0-alpha.21

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 (207) hide show
  1. package/dist/es/components/AccordionBox/AccordionBox.d.ts +3 -1
  2. package/dist/es/components/BenefitCards/BenefitCard/BenefitCard.css +1 -0
  3. package/dist/es/components/BenefitCards/BenefitCard/BenefitCard.d.ts +13 -0
  4. package/dist/es/components/BenefitCards/BenefitCard/BenefitCard.js +59 -0
  5. package/dist/es/components/BenefitCards/BenefitCards.css +1 -0
  6. package/dist/es/components/BenefitCards/BenefitCards.d.ts +27 -0
  7. package/dist/es/components/BenefitCards/BenefitCards.js +35 -0
  8. package/dist/es/components/BenefitCards/helpers.d.ts +1 -0
  9. package/dist/es/components/BenefitCards/helpers.js +19 -0
  10. package/dist/es/components/BenefitCards/types.d.ts +24 -0
  11. package/dist/es/components/BenefitCards/types.js +1 -0
  12. package/dist/es/components/BlogBox/BlogBox.d.ts +3 -0
  13. package/dist/es/components/BlogBox/BlogBox.js +8 -3
  14. package/dist/es/components/BlogBox/components/BlogBoxTile.css +1 -1
  15. package/dist/es/components/BlogBox/components/BlogBoxTile.d.ts +5 -1
  16. package/dist/es/components/BlogBox/components/BlogBoxTile.js +3 -2
  17. package/dist/es/components/Breadcrumbs/Breadcrumbs.d.ts +2 -0
  18. package/dist/es/components/Breadcrumbs/Breadcrumbs.js +3 -0
  19. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +1 -0
  20. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.js +18 -13
  21. package/dist/es/components/Card/Card.css +1 -1
  22. package/dist/es/components/Card/Card.d.ts +2 -1
  23. package/dist/es/components/Card/Card.js +23 -16
  24. package/dist/es/components/Card/types.d.ts +3 -5
  25. package/dist/es/components/CardsOnBackground/CardsOnBackground.css +1 -0
  26. package/dist/es/components/CardsOnBackground/CardsOnBackground.d.ts +34 -0
  27. package/dist/es/components/CardsOnBackground/CardsOnBackground.js +99 -0
  28. package/dist/es/components/CardsOnBackground/components/CardOnBackground.css +1 -0
  29. package/dist/es/components/CardsOnBackground/components/CardOnBackground.d.ts +22 -0
  30. package/dist/es/components/CardsOnBackground/components/CardOnBackground.js +94 -0
  31. package/dist/es/components/CardsOnBackground/types.d.ts +42 -0
  32. package/dist/es/components/CardsOnBackground/types.js +6 -0
  33. package/dist/es/components/CardsOnBackground/useUniformHeights.d.ts +9 -0
  34. package/dist/es/components/CardsOnBackground/useUniformHeights.js +88 -0
  35. package/dist/es/components/Container/Container.css +1 -1
  36. package/dist/es/components/Container/Container.d.ts +4 -0
  37. package/dist/es/components/Container/Container.js +4 -1
  38. package/dist/es/components/DarkGradientCards/DarkGradientCards.d.ts +5 -0
  39. package/dist/es/components/DarkGradientCards/DarkGradientCards.js +9 -4
  40. package/dist/es/components/DarkGradientCards/components/DarkGradientCard.css +1 -1
  41. package/dist/es/components/DarkGradientCards/components/DarkGradientCard.d.ts +1 -0
  42. package/dist/es/components/DarkGradientCards/components/DarkGradientCard.js +1 -1
  43. package/dist/es/components/DownloadLinks/DownloadLink.css +1 -1
  44. package/dist/es/components/DownloadLinks/DownloadLink.js +3 -1
  45. package/dist/es/components/InfoCards/components/InfoCard/InfoCard.css +1 -1
  46. package/dist/es/components/InfoCards/components/InfoCard/InfoCard.js +4 -2
  47. package/dist/es/components/Instructions/Instructions.css +1 -1
  48. package/dist/es/components/Instructions/Instructions.d.ts +0 -2
  49. package/dist/es/components/Instructions/Instructions.js +19 -22
  50. package/dist/es/components/NotificationBox/NotificationBox.d.ts +1 -1
  51. package/dist/es/components/NotificationBox/NotificationBox.js +1 -4
  52. package/dist/es/components/Partners/Partners.css +1 -1
  53. package/dist/es/components/Partners/Partners.d.ts +3 -8
  54. package/dist/es/components/Partners/Partners.js +20 -31
  55. package/dist/es/components/Partners/components/PartnersItem/PartnersItem.css +1 -0
  56. package/dist/es/components/Partners/components/PartnersItem/PartnersItem.d.ts +12 -0
  57. package/dist/es/components/Partners/components/PartnersItem/PartnersItem.js +33 -0
  58. package/dist/es/components/Partners/types.d.ts +7 -0
  59. package/dist/es/components/Partners/types.js +1 -0
  60. package/dist/es/components/PictureBox/PictureBox.d.ts +1 -0
  61. package/dist/es/components/PictureBox/PictureBox.js +2 -0
  62. package/dist/es/components/PromoBanner/components/PromoBannerSlide/PromoBannerSlide.d.ts +2 -0
  63. package/dist/es/components/PromoBanner/components/PromoBannerSlide/PromoBannerSlide.js +2 -0
  64. package/dist/es/components/PromoCards/PromoCards.d.ts +3 -0
  65. package/dist/es/components/PromoCards/PromoCards.js +6 -1
  66. package/dist/es/components/PromoCards/components/PromoCard/PromoCard.css +1 -1
  67. package/dist/es/components/PromoCards/components/PromoCard/PromoCard.d.ts +2 -0
  68. package/dist/es/components/PromoCards/components/PromoCard/PromoCard.js +17 -9
  69. package/dist/es/components/ServiceCards/components/ServiceCard/ServiceCard.css +1 -1
  70. package/dist/es/components/ServiceCards/components/ServiceCard/ServiceCard.js +1 -1
  71. package/dist/es/components/SidePictureCards/SidePictureCards.d.ts +5 -0
  72. package/dist/es/components/SidePictureCards/SidePictureCards.js +5 -2
  73. package/dist/es/components/SidePictureCards/components/SidePictureCard.d.ts +2 -0
  74. package/dist/es/components/SidePictureCards/components/SidePictureCard.js +8 -3
  75. package/dist/es/components/SidePictureCards/types.d.ts +3 -1
  76. package/dist/es/components/StepperBox/StepperBox.d.ts +11 -0
  77. package/dist/es/components/StepperBox/StepperBox.js +36 -0
  78. package/dist/es/components/Steps/Steps.css +1 -1
  79. package/dist/es/components/Steps/Steps.d.ts +2 -2
  80. package/dist/es/components/Steps/Steps.js +1 -1
  81. package/dist/es/components/StoreBanner/StoreBanner.css +1 -1
  82. package/dist/es/components/StoreBanner/StoreBanner.d.ts +1 -5
  83. package/dist/es/components/StoreBanner/StoreBanner.js +1 -5
  84. package/dist/es/components/StoreButton/StoreButton.css +1 -1
  85. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.css +1 -1
  86. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +27 -1
  87. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.js +31 -24
  88. package/dist/es/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  89. package/dist/es/hooks/useIsomorphicLayoutEffect.js +6 -0
  90. package/dist/es/index.d.ts +7 -2
  91. package/dist/es/index.js +7 -2
  92. package/dist/lib/components/AccordionBox/AccordionBox.d.ts +3 -1
  93. package/dist/lib/components/BenefitCards/BenefitCard/BenefitCard.css +1 -0
  94. package/dist/lib/components/BenefitCards/BenefitCard/BenefitCard.d.ts +13 -0
  95. package/dist/lib/components/BenefitCards/BenefitCard/BenefitCard.js +68 -0
  96. package/dist/lib/components/BenefitCards/BenefitCards.css +1 -0
  97. package/dist/lib/components/BenefitCards/BenefitCards.d.ts +27 -0
  98. package/dist/lib/components/BenefitCards/BenefitCards.js +44 -0
  99. package/dist/lib/components/BenefitCards/helpers.d.ts +1 -0
  100. package/dist/lib/components/BenefitCards/helpers.js +26 -0
  101. package/dist/lib/components/BenefitCards/types.d.ts +24 -0
  102. package/dist/lib/components/BenefitCards/types.js +5 -0
  103. package/dist/lib/components/BlogBox/BlogBox.d.ts +3 -0
  104. package/dist/lib/components/BlogBox/BlogBox.js +8 -3
  105. package/dist/lib/components/BlogBox/components/BlogBoxTile.css +1 -1
  106. package/dist/lib/components/BlogBox/components/BlogBoxTile.d.ts +5 -1
  107. package/dist/lib/components/BlogBox/components/BlogBoxTile.js +3 -2
  108. package/dist/lib/components/Breadcrumbs/Breadcrumbs.d.ts +2 -0
  109. package/dist/lib/components/Breadcrumbs/Breadcrumbs.js +3 -0
  110. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +1 -0
  111. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.js +18 -13
  112. package/dist/lib/components/Card/Card.css +1 -1
  113. package/dist/lib/components/Card/Card.d.ts +2 -1
  114. package/dist/lib/components/Card/Card.js +22 -15
  115. package/dist/lib/components/Card/types.d.ts +3 -5
  116. package/dist/lib/components/CardsOnBackground/CardsOnBackground.css +1 -0
  117. package/dist/lib/components/CardsOnBackground/CardsOnBackground.d.ts +34 -0
  118. package/dist/lib/components/CardsOnBackground/CardsOnBackground.js +108 -0
  119. package/dist/lib/components/CardsOnBackground/components/CardOnBackground.css +1 -0
  120. package/dist/lib/components/CardsOnBackground/components/CardOnBackground.d.ts +22 -0
  121. package/dist/lib/components/CardsOnBackground/components/CardOnBackground.js +100 -0
  122. package/dist/lib/components/CardsOnBackground/types.d.ts +42 -0
  123. package/dist/lib/components/CardsOnBackground/types.js +12 -0
  124. package/dist/lib/components/CardsOnBackground/useUniformHeights.d.ts +9 -0
  125. package/dist/lib/components/CardsOnBackground/useUniformHeights.js +95 -0
  126. package/dist/lib/components/Container/Container.css +1 -1
  127. package/dist/lib/components/Container/Container.d.ts +4 -0
  128. package/dist/lib/components/Container/Container.js +4 -1
  129. package/dist/lib/components/DarkGradientCards/DarkGradientCards.d.ts +5 -0
  130. package/dist/lib/components/DarkGradientCards/DarkGradientCards.js +9 -4
  131. package/dist/lib/components/DarkGradientCards/components/DarkGradientCard.css +1 -1
  132. package/dist/lib/components/DarkGradientCards/components/DarkGradientCard.d.ts +1 -0
  133. package/dist/lib/components/DarkGradientCards/components/DarkGradientCard.js +1 -1
  134. package/dist/lib/components/DownloadLinks/DownloadLink.css +1 -1
  135. package/dist/lib/components/DownloadLinks/DownloadLink.js +3 -1
  136. package/dist/lib/components/InfoCards/components/InfoCard/InfoCard.css +1 -1
  137. package/dist/lib/components/InfoCards/components/InfoCard/InfoCard.js +4 -2
  138. package/dist/lib/components/Instructions/Instructions.css +1 -1
  139. package/dist/lib/components/Instructions/Instructions.d.ts +0 -2
  140. package/dist/lib/components/Instructions/Instructions.js +19 -21
  141. package/dist/lib/components/NotificationBox/NotificationBox.d.ts +1 -1
  142. package/dist/lib/components/NotificationBox/NotificationBox.js +1 -5
  143. package/dist/lib/components/Partners/Partners.css +1 -1
  144. package/dist/lib/components/Partners/Partners.d.ts +3 -8
  145. package/dist/lib/components/Partners/Partners.js +19 -30
  146. package/dist/lib/components/Partners/components/PartnersItem/PartnersItem.css +1 -0
  147. package/dist/lib/components/Partners/components/PartnersItem/PartnersItem.d.ts +12 -0
  148. package/dist/lib/components/Partners/components/PartnersItem/PartnersItem.js +42 -0
  149. package/dist/lib/components/Partners/types.d.ts +7 -0
  150. package/dist/lib/components/Partners/types.js +5 -0
  151. package/dist/lib/components/PictureBox/PictureBox.d.ts +1 -0
  152. package/dist/lib/components/PictureBox/PictureBox.js +2 -0
  153. package/dist/lib/components/PromoBanner/components/PromoBannerSlide/PromoBannerSlide.d.ts +2 -0
  154. package/dist/lib/components/PromoBanner/components/PromoBannerSlide/PromoBannerSlide.js +2 -0
  155. package/dist/lib/components/PromoCards/PromoCards.d.ts +3 -0
  156. package/dist/lib/components/PromoCards/PromoCards.js +6 -1
  157. package/dist/lib/components/PromoCards/components/PromoCard/PromoCard.css +1 -1
  158. package/dist/lib/components/PromoCards/components/PromoCard/PromoCard.d.ts +2 -0
  159. package/dist/lib/components/PromoCards/components/PromoCard/PromoCard.js +16 -9
  160. package/dist/lib/components/ServiceCards/components/ServiceCard/ServiceCard.css +1 -1
  161. package/dist/lib/components/ServiceCards/components/ServiceCard/ServiceCard.js +1 -1
  162. package/dist/lib/components/SidePictureCards/SidePictureCards.d.ts +5 -0
  163. package/dist/lib/components/SidePictureCards/SidePictureCards.js +5 -2
  164. package/dist/lib/components/SidePictureCards/components/SidePictureCard.d.ts +2 -0
  165. package/dist/lib/components/SidePictureCards/components/SidePictureCard.js +8 -3
  166. package/dist/lib/components/SidePictureCards/types.d.ts +3 -1
  167. package/dist/lib/components/StepperBox/StepperBox.d.ts +11 -0
  168. package/dist/lib/components/StepperBox/StepperBox.js +46 -0
  169. package/dist/lib/components/Steps/Steps.css +1 -1
  170. package/dist/lib/components/Steps/Steps.d.ts +2 -2
  171. package/dist/lib/components/Steps/Steps.js +1 -1
  172. package/dist/lib/components/StoreBanner/StoreBanner.css +1 -1
  173. package/dist/lib/components/StoreBanner/StoreBanner.d.ts +1 -5
  174. package/dist/lib/components/StoreBanner/StoreBanner.js +1 -5
  175. package/dist/lib/components/StoreButton/StoreButton.css +1 -1
  176. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.css +1 -1
  177. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +27 -1
  178. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.js +30 -23
  179. package/dist/lib/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  180. package/dist/lib/hooks/useIsomorphicLayoutEffect.js +13 -0
  181. package/dist/lib/index.d.ts +7 -2
  182. package/dist/lib/index.js +45 -10
  183. package/package.json +6 -6
  184. package/dist/es/components/Stepper/Stepper.css +0 -1
  185. package/dist/es/components/Stepper/Stepper.d.ts +0 -52
  186. package/dist/es/components/Stepper/Stepper.js +0 -159
  187. package/dist/es/components/Stepper/StepperItem.css +0 -1
  188. package/dist/es/components/Stepper/StepperItem.d.ts +0 -57
  189. package/dist/es/components/Stepper/StepperItem.js +0 -99
  190. package/dist/es/components/Stepper/img/separator-mobile.png +0 -0
  191. package/dist/es/components/Stepper/img/separator-vertical.png +0 -0
  192. package/dist/es/components/Stepper/img/separator.png +0 -0
  193. package/dist/es/components/StoreBanner/img/black-iphone.png +0 -0
  194. package/dist/es/components/StoreBanner/img/iphone12.png +0 -0
  195. package/dist/es/components/StoreBanner/img/white-iphone.png +0 -0
  196. package/dist/lib/components/Stepper/Stepper.css +0 -1
  197. package/dist/lib/components/Stepper/Stepper.d.ts +0 -52
  198. package/dist/lib/components/Stepper/Stepper.js +0 -168
  199. package/dist/lib/components/Stepper/StepperItem.css +0 -1
  200. package/dist/lib/components/Stepper/StepperItem.d.ts +0 -57
  201. package/dist/lib/components/Stepper/StepperItem.js +0 -108
  202. package/dist/lib/components/Stepper/img/separator-mobile.png +0 -0
  203. package/dist/lib/components/Stepper/img/separator-vertical.png +0 -0
  204. package/dist/lib/components/Stepper/img/separator.png +0 -0
  205. package/dist/lib/components/StoreBanner/img/black-iphone.png +0 -0
  206. package/dist/lib/components/StoreBanner/img/iphone12.png +0 -0
  207. package/dist/lib/components/StoreBanner/img/white-iphone.png +0 -0
@@ -2,10 +2,10 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import "core-js/modules/es.symbol.js";
3
3
  import "core-js/modules/es.symbol.description.js";
4
4
  import * as React from 'react';
5
- import { Header, Paragraph, Grid, GridColumn } from '@megafon/ui-core';
5
+ import { Header, Paragraph, Button } from '@megafon/ui-core';
6
6
  import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
7
+ import { setRelAttribute } from "../../helpers/setRelAttribute";
7
8
  import "./TitleDescriptionBox.css";
8
- var testIdPrefix = 'TitleDescriptionBox';
9
9
  var cn = cnCreate('mfui-9-title-description-box');
10
10
  var TitleDescriptionBox = function TitleDescriptionBox(_ref) {
11
11
  var dataAttrs = _ref.dataAttrs,
@@ -13,48 +13,55 @@ var TitleDescriptionBox = function TitleDescriptionBox(_ref) {
13
13
  description = _ref.description,
14
14
  textColor = _ref.textColor,
15
15
  align = _ref.align,
16
+ button = _ref.button,
16
17
  rootRef = _ref.rootRef,
17
- className = _ref.className;
18
+ className = _ref.className,
19
+ _ref$classes = _ref.classes,
20
+ classes = _ref$classes === void 0 ? {} : _ref$classes;
21
+ var hasButton = !!(button === null || button === void 0 ? void 0 : button.title);
18
22
  var renderDescription = React.useCallback(function () {
19
23
  if (typeof description === 'string') {
20
24
  return /*#__PURE__*/React.createElement(Paragraph, {
21
25
  className: cn('item'),
22
26
  hasMargin: false,
23
- color: "inherit",
24
- dataAttrs: {
25
- root: {
26
- 'data-testid': "".concat(testIdPrefix, "-description-text")
27
- }
28
- }
27
+ color: "inherit"
29
28
  }, description);
30
29
  }
31
30
  return /*#__PURE__*/React.createElement("div", {
32
- className: cn('description'),
33
- "data-testid": "".concat(testIdPrefix, "-description-node")
31
+ className: cn('description')
34
32
  }, description);
35
33
  }, [description]);
36
34
  return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
37
35
  className: cn({
38
36
  'h-align': align,
39
- 'text-color': textColor
40
- }, className),
37
+ 'text-color': textColor,
38
+ 'with-button': hasButton
39
+ }, [className, classes.root]),
41
40
  ref: rootRef
42
- }), /*#__PURE__*/React.createElement(Grid, {
43
- hAlign: align,
44
- dataAttrs: {
45
- container: {
46
- 'data-testid': "".concat(testIdPrefix, "-grid")
47
- }
48
- }
49
- }, /*#__PURE__*/React.createElement(GridColumn, {
50
- wide: "8",
51
- desktop: "10"
41
+ }), /*#__PURE__*/React.createElement("div", {
42
+ className: cn('text-content')
52
43
  }, title && /*#__PURE__*/React.createElement(Header, {
53
44
  className: cn('item', {
54
45
  header: true
55
46
  }),
56
47
  as: "h2",
57
48
  color: "inherit"
58
- }, title), description && renderDescription())));
49
+ }, title), description && renderDescription()), hasButton && /*#__PURE__*/React.createElement(Button, {
50
+ className: cn('button', [classes.button]),
51
+ dataAttrs: {
52
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
53
+ },
54
+ type: "primary",
55
+ theme: "green",
56
+ sizeAll: "large",
57
+ fullWidthMobile: true,
58
+ icon: button.icon,
59
+ href: button.href,
60
+ target: button.target,
61
+ download: button.download,
62
+ showArrow: button.showArrow,
63
+ rel: setRelAttribute(button.rel, button.target),
64
+ onClick: button.onClick
65
+ }, button.title));
59
66
  };
60
67
  export default TitleDescriptionBox;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const useIsomorphicLayoutEffect: typeof React.useLayoutEffect;
3
+ export default useIsomorphicLayoutEffect;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ // A safe version of `useLayoutEffect` that works with SSR.
3
+ // On the server, it falls back to `useEffect` to avoid hydration warnings.
4
+ // https://reactjs.org/link/uselayouteffect-ssr
5
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
6
+ export default useIsomorphicLayoutEffect;
@@ -4,6 +4,8 @@ export { default as AudioProgress } from './components/AudioPlayer/AudioProgress
4
4
  export { default as AudioRange } from './components/AudioPlayer/AudioRange';
5
5
  export { default as AudioVolume } from './components/AudioPlayer/AudioVolume';
6
6
  export { default as BannerBox } from './components/BannerBox/BannerBox';
7
+ export { default as BenefitCard } from './components/BenefitCards/BenefitCard/BenefitCard';
8
+ export { default as BenefitCards } from './components/BenefitCards/BenefitCards';
7
9
  export { default as BenefitsIcons } from './components/BenefitsIcons/BenefitsIcons';
8
10
  export { default as BenefitsIconsTile } from './components/BenefitsIcons/BenefitsIconsTile';
9
11
  export { default as BenefitsPictures } from './components/BenefitsPictures/BenefitsPictures';
@@ -15,7 +17,9 @@ export { default as ButtonBanner } from './components/ButtonBanner/ButtonBanner'
15
17
  export { default as ButtonLinkBox } from './components/ButtonLinkBox/ButtonLinkBox';
16
18
  export { default as ButtonsBox } from './components/ButtonsBox/ButtonsBox';
17
19
  export { default as Card } from './components/Card/Card';
20
+ export { default as CardOnBackground } from './components/CardsOnBackground/components/CardOnBackground';
18
21
  export { default as CardsBox } from './components/CardsBox/CardsBox';
22
+ export { default as CardsOnBackground } from './components/CardsOnBackground/CardsOnBackground';
19
23
  export { default as CarouselBox } from './components/CarouselBox/CarouselBox';
20
24
  export { default as ChipBox } from './components/ChipsBox/ChipBox';
21
25
  export { default as ChipsBox } from './components/ChipsBox/ChipsBox';
@@ -34,6 +38,7 @@ export { default as NumbersBox } from './components/NumbersBox/NumbersBox';
34
38
  export { default as NumbersCard } from './components/NumbersBox/components/NumbersCard/NumbersCard';
35
39
  export { default as PageTitle } from './components/PageTitle/PageTitle';
36
40
  export { default as Partners } from './components/Partners/Partners';
41
+ export { default as PartnersItem } from './components/Partners/components/PartnersItem/PartnersItem';
37
42
  export { default as PictureBox } from './components/PictureBox/PictureBox';
38
43
  export { default as PictureWithDescription } from './components/PictureWithDescription/PictureWithDescription';
39
44
  export { default as PromoBanner } from './components/PromoBanner/PromoBanner';
@@ -45,8 +50,7 @@ export { default as ServiceCard } from './components/ServiceCards/components/Ser
45
50
  export { default as ServiceCards } from './components/ServiceCards/ServiceCards';
46
51
  export { default as SidePictureCard } from './components/SidePictureCards/components/SidePictureCard';
47
52
  export { default as SidePictureCards } from './components/SidePictureCards/SidePictureCards';
48
- export { default as Stepper } from './components/Stepper/Stepper';
49
- export { default as StepperItem } from './components/Stepper/StepperItem';
53
+ export { default as StepperBox } from './components/StepperBox/StepperBox';
50
54
  export { default as Steps } from './components/Steps/Steps';
51
55
  export { default as StepsItem } from './components/Steps/StepsItem';
52
56
  export { default as StoreBanner } from './components/StoreBanner/StoreBanner';
@@ -63,5 +67,6 @@ export { default as TextWithIconItem } from './components/TextWithIcon/TextWithI
63
67
  export { default as timerFormatUtil } from './components/AudioPlayer/timerFormatUtil';
64
68
  export { default as TitleDescriptionBox } from './components/TitleDescriptionBox/TitleDescriptionBox';
65
69
  export { default as useTrackDuration } from './components/AudioPlayer/hooks/useTrackDuration';
70
+ export { default as useUniformHeights } from './components/CardsOnBackground/useUniformHeights';
66
71
  export { default as VideoBanner } from './components/VideoBanner/VideoBanner';
67
72
  export { default as VideoBlock } from './components/VideoBlock/VideoBlock';
package/dist/es/index.js CHANGED
@@ -4,6 +4,8 @@ export { default as AudioProgress } from "./components/AudioPlayer/AudioProgress
4
4
  export { default as AudioRange } from "./components/AudioPlayer/AudioRange";
5
5
  export { default as AudioVolume } from "./components/AudioPlayer/AudioVolume";
6
6
  export { default as BannerBox } from "./components/BannerBox/BannerBox";
7
+ export { default as BenefitCard } from "./components/BenefitCards/BenefitCard/BenefitCard";
8
+ export { default as BenefitCards } from "./components/BenefitCards/BenefitCards";
7
9
  export { default as BenefitsIcons } from "./components/BenefitsIcons/BenefitsIcons";
8
10
  export { default as BenefitsIconsTile } from "./components/BenefitsIcons/BenefitsIconsTile";
9
11
  export { default as BenefitsPictures } from "./components/BenefitsPictures/BenefitsPictures";
@@ -15,7 +17,9 @@ export { default as ButtonBanner } from "./components/ButtonBanner/ButtonBanner"
15
17
  export { default as ButtonLinkBox } from "./components/ButtonLinkBox/ButtonLinkBox";
16
18
  export { default as ButtonsBox } from "./components/ButtonsBox/ButtonsBox";
17
19
  export { default as Card } from "./components/Card/Card";
20
+ export { default as CardOnBackground } from "./components/CardsOnBackground/components/CardOnBackground";
18
21
  export { default as CardsBox } from "./components/CardsBox/CardsBox";
22
+ export { default as CardsOnBackground } from "./components/CardsOnBackground/CardsOnBackground";
19
23
  export { default as CarouselBox } from "./components/CarouselBox/CarouselBox";
20
24
  export { default as ChipBox } from "./components/ChipsBox/ChipBox";
21
25
  export { default as ChipsBox } from "./components/ChipsBox/ChipsBox";
@@ -34,6 +38,7 @@ export { default as NumbersBox } from "./components/NumbersBox/NumbersBox";
34
38
  export { default as NumbersCard } from "./components/NumbersBox/components/NumbersCard/NumbersCard";
35
39
  export { default as PageTitle } from "./components/PageTitle/PageTitle";
36
40
  export { default as Partners } from "./components/Partners/Partners";
41
+ export { default as PartnersItem } from "./components/Partners/components/PartnersItem/PartnersItem";
37
42
  export { default as PictureBox } from "./components/PictureBox/PictureBox";
38
43
  export { default as PictureWithDescription } from "./components/PictureWithDescription/PictureWithDescription";
39
44
  export { default as PromoBanner } from "./components/PromoBanner/PromoBanner";
@@ -45,8 +50,7 @@ export { default as ServiceCard } from "./components/ServiceCards/components/Ser
45
50
  export { default as ServiceCards } from "./components/ServiceCards/ServiceCards";
46
51
  export { default as SidePictureCard } from "./components/SidePictureCards/components/SidePictureCard";
47
52
  export { default as SidePictureCards } from "./components/SidePictureCards/SidePictureCards";
48
- export { default as Stepper } from "./components/Stepper/Stepper";
49
- export { default as StepperItem } from "./components/Stepper/StepperItem";
53
+ export { default as StepperBox } from "./components/StepperBox/StepperBox";
50
54
  export { default as Steps } from "./components/Steps/Steps";
51
55
  export { default as StepsItem } from "./components/Steps/StepsItem";
52
56
  export { default as StoreBanner } from "./components/StoreBanner/StoreBanner";
@@ -63,5 +67,6 @@ export { default as TextWithIconItem } from "./components/TextWithIcon/TextWithI
63
67
  export { default as timerFormatUtil } from "./components/AudioPlayer/timerFormatUtil";
64
68
  export { default as TitleDescriptionBox } from "./components/TitleDescriptionBox/TitleDescriptionBox";
65
69
  export { default as useTrackDuration } from "./components/AudioPlayer/hooks/useTrackDuration";
70
+ export { default as useUniformHeights } from "./components/CardsOnBackground/useUniformHeights";
66
71
  export { default as VideoBanner } from "./components/VideoBanner/VideoBanner";
67
72
  export { default as VideoBlock } from "./components/VideoBlock/VideoBlock";
@@ -20,8 +20,10 @@ export interface IAccordionBox {
20
20
  rootRef?: React.Ref<HTMLDivElement>;
21
21
  /** Заголовок аккордеона */
22
22
  title: string;
23
- /** Заголовок аккордеона */
23
+ /** Тег заголовка (определяет базовый тег и стили) */
24
24
  titleTag?: IHeaderProps['as'];
25
+ /** Тег заголовка для семантической разметки (переопределение тега без изменения стилей) */
26
+ titleTagName?: IHeaderProps['tag'];
25
27
  /** Состояние аккордеона, заданное извне */
26
28
  isOpened?: boolean;
27
29
  /** Включить микроразметку */
@@ -0,0 +1 @@
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-9-benefit-card{border:none;border-radius:24px;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--content);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:15px;line-height:24px;min-height:100%;overflow:hidden;padding:16px;position:relative;-webkit-transition:.3s;transition:.3s;width:100%}.mfui-9-benefit-card:focus-visible{-webkit-animation:focus-outline-shrink .3s linear forwards;animation:focus-outline-shrink .3s linear forwards;outline-offset:2px}@-webkit-keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}@keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}.mfui-9-benefit-card:focus{outline:none}@media screen and (min-width:1280px){.mfui-9-benefit-card{padding:24px}}.mfui-9-benefit-card:after{background:var(--stcWhite5);border-radius:24px;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;-webkit-transition:opacity .3s;transition:opacity .3s}.mfui-9-benefit-card:hover{text-decoration:none}.mfui-9-benefit-card_interactive:hover:after{opacity:1}.mfui-9-benefit-card_background_gray{background-color:var(--spbSky0)}.mfui-9-benefit-card_background_white{background-color:var(--base)}.mfui-9-benefit-card_background_outline{background-color:var(--base);border:1px solid var(--spbSky2)}.mfui-9-benefit-card_background_soft-purple{background-color:var(--brandPurple20);border:none}.mfui-9-benefit-card_background_soft-green{background-color:var(--brandGreen20);border:none}.mfui-9-benefit-card_background_soft-night{background-color:var(--night20);border:none}.mfui-9-benefit-card_background_soft-sky{background-color:var(--sky20);border:none}.mfui-9-benefit-card_background_soft-flamingo{background-color:var(--flamingo20);border:none}.mfui-9-benefit-card_background_soft-berry{background-color:var(--berry20);border:none}.mfui-9-benefit-card_background_gradient-berry1{background:var(--gradientBerry1);border:none}.mfui-9-benefit-card_background_gradient-berry2{background:var(--gradientBerry2);border:none}.mfui-9-benefit-card_background_gradient-purple1{background:var(--gradientPurple1);border:none}.mfui-9-benefit-card_background_gradient-purple2{background:var(--gradientPurple2);border:none}.mfui-9-benefit-card_background_gradient-purple3{background:var(--gradientPurple3);border:none}.mfui-9-benefit-card_background_gray.mfui-9-benefit-card_interactive:hover,.mfui-9-benefit-card_background_outline.mfui-9-benefit-card_interactive:hover,.mfui-9-benefit-card_background_white.mfui-9-benefit-card_interactive:hover{-webkit-box-shadow:0 0 0 1px var(--spbSky3);box-shadow:0 0 0 1px var(--spbSky3)}.mfui-9-benefit-card_background_soft-green.mfui-9-benefit-card_interactive:hover{-webkit-box-shadow:0 0 0 1px var(--brandGreen80);box-shadow:0 0 0 1px var(--brandGreen80)}.mfui-9-benefit-card_background_soft-purple.mfui-9-benefit-card_interactive:hover{-webkit-box-shadow:0 0 0 1px var(--brandPurple80);box-shadow:0 0 0 1px var(--brandPurple80)}.mfui-9-benefit-card_background_soft-night.mfui-9-benefit-card_interactive:hover{-webkit-box-shadow:0 0 0 1px var(--night80);box-shadow:0 0 0 1px var(--night80)}.mfui-9-benefit-card_background_soft-berry.mfui-9-benefit-card_interactive:hover{-webkit-box-shadow:0 0 0 1px var(--berry80);box-shadow:0 0 0 1px var(--berry80)}.mfui-9-benefit-card_background_soft-flamingo.mfui-9-benefit-card_interactive:hover{-webkit-box-shadow:0 0 0 1px var(--flamingo80);box-shadow:0 0 0 1px var(--flamingo80)}.mfui-9-benefit-card_background_soft-sky.mfui-9-benefit-card_interactive:hover{-webkit-box-shadow:0 0 0 1px var(--sky80);box-shadow:0 0 0 1px var(--sky80)}.mfui-9-benefit-card_background_gradient-berry1.mfui-9-benefit-card_interactive:hover,.mfui-9-benefit-card_background_gradient-berry2.mfui-9-benefit-card_interactive:hover,.mfui-9-benefit-card_background_gradient-purple1.mfui-9-benefit-card_interactive:hover,.mfui-9-benefit-card_background_gradient-purple2.mfui-9-benefit-card_interactive:hover,.mfui-9-benefit-card_background_gradient-purple3.mfui-9-benefit-card_interactive:hover{-webkit-box-shadow:0 0 0 1px var(--berry);box-shadow:0 0 0 1px var(--berry)}.mfui-9-benefit-card_background_outline.mfui-9-benefit-card_interactive:hover:after,.mfui-9-benefit-card_background_white.mfui-9-benefit-card_interactive:hover:after{opacity:0}.mfui-9-benefit-card_gradient{color:var(--stcWhite)}.mfui-9-benefit-card__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:24px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-right:86px}@media screen and (min-width:1024px) and (max-width:1279px){.mfui-9-benefit-card__content{margin-right:64px}}@media screen and (min-width:1280px){.mfui-9-benefit-card__content{margin-right:136px}}.mfui-9-benefit-card__content b{font-weight:500}.mfui-9-benefit-card__image{bottom:0;height:85px;-o-object-fit:contain;object-fit:contain;-o-object-position:right bottom;object-position:right bottom;position:absolute;right:0;width:110px}@media screen and (min-width:1024px) and (max-width:1279px){.mfui-9-benefit-card__image{height:68px;width:88px}}@media screen and (min-width:1280px){.mfui-9-benefit-card__image{height:124px;width:160px}}.mfui-9-benefit-card__pseudo-link{color:var(--systemBlue);text-decoration:none}.mfui-9-benefit-card_gradient .mfui-9-benefit-card__pseudo-link{color:var(--stcWhite);font-weight:500}.mfui-9-benefit-card_interactive:hover .mfui-9-benefit-card__pseudo-link{text-decoration:underline}
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import { ExtraBackgroundType, IBenefitCardData, MainBackgroundType } from '../types';
3
+ import './BenefitCard.scss';
4
+ export interface IBenefitCard extends IBenefitCardData {
5
+ className?: string;
6
+ background?: MainBackgroundType | ExtraBackgroundType;
7
+ dataAttrs?: {
8
+ root?: Record<string, string>;
9
+ pseudoLink?: Record<string, string>;
10
+ };
11
+ }
12
+ declare const BenefitCard: React.FC<IBenefitCard>;
13
+ export default BenefitCard;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ require("core-js/modules/es.symbol.js");
10
+ require("core-js/modules/es.symbol.description.js");
11
+ require("core-js/modules/es.array.includes.js");
12
+ require("core-js/modules/es.string.includes.js");
13
+ require("core-js/modules/es.string.link.js");
14
+ var React = _interopRequireWildcard(require("react"));
15
+ var _uiCore = require("@megafon/ui-core");
16
+ var _uiHelpers = require("@megafon/ui-helpers");
17
+ var _setRelAttribute = require("../../../helpers/setRelAttribute");
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
21
+ var typographyConfig = {
22
+ b: {
23
+ component: function component(_ref) {
24
+ var children = _ref.children;
25
+ return /*#__PURE__*/React.createElement("b", null, children);
26
+ }
27
+ }
28
+ };
29
+ var cn = (0, _uiHelpers.cnCreate)('mfui-9-benefit-card');
30
+ var BenefitCard = function BenefitCard(_ref2) {
31
+ var title = _ref2.title,
32
+ description = _ref2.description,
33
+ imageSrc = _ref2.imageSrc,
34
+ link = _ref2.link,
35
+ _ref2$background = _ref2.background,
36
+ background = _ref2$background === void 0 ? 'gray' : _ref2$background,
37
+ dataAttrs = _ref2.dataAttrs,
38
+ className = _ref2.className;
39
+ var isLink = !!link;
40
+ var Element = isLink ? 'a' : 'div';
41
+ var isGradientBackground = !!background && background.includes('gradient');
42
+ return /*#__PURE__*/React.createElement(Element, (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
43
+ href: link === null || link === void 0 ? void 0 : link.href,
44
+ target: link === null || link === void 0 ? void 0 : link.target,
45
+ rel: isLink ? (0, _setRelAttribute.setRelAttribute)(link.rel, link.target) : undefined,
46
+ className: cn({
47
+ background: background,
48
+ interactive: isLink,
49
+ gradient: isGradientBackground
50
+ }, [className]),
51
+ tabIndex: isLink ? 0 : -1
52
+ }), /*#__PURE__*/React.createElement("div", {
53
+ className: cn('content')
54
+ }, /*#__PURE__*/React.createElement(_uiCore.Header, {
55
+ as: "h3",
56
+ color: "inherit"
57
+ }, (0, _uiHelpers.convert)(title, {})), /*#__PURE__*/React.createElement(_uiCore.Paragraph, {
58
+ hasMargin: false,
59
+ color: "inherit"
60
+ }, (0, _uiHelpers.convert)(description, typographyConfig), !!(link === null || link === void 0 ? void 0 : link.pseudoLinkText) && /*#__PURE__*/React.createElement(React.Fragment, null, ' ', /*#__PURE__*/React.createElement("span", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.pseudoLink), {
61
+ className: cn('pseudo-link')
62
+ }), link.pseudoLinkText)))), /*#__PURE__*/React.createElement("img", {
63
+ src: imageSrc,
64
+ alt: title,
65
+ className: cn('image')
66
+ }));
67
+ };
68
+ var _default = exports["default"] = BenefitCard;
@@ -0,0 +1 @@
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-9-benefit-cards{display:grid;gap:20px;grid-template-columns:repeat(6,1fr)}@media screen and (min-width:768px) and (max-width:1023px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(3)) .mfui-9-benefit-cards__item:nth-child(-n+3){grid-column:span 3}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(3)) .mfui-9-benefit-cards__item:first-child{grid-column:span 6}}@media screen and (min-width:1024px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(3)) .mfui-9-benefit-cards__item:nth-child(-n+3){grid-column:span 2}}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(3)) .mfui-9-benefit-cards__item{grid-column:span 6}@media screen and (min-width:768px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(4)) .mfui-9-benefit-cards__item:nth-child(-n+4){grid-column:span 3}}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(4)) .mfui-9-benefit-cards__item{grid-column:span 6}@media screen and (min-width:768px) and (max-width:1023px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(5)) .mfui-9-benefit-cards__item:first-child{grid-column:span 6}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(5)) .mfui-9-benefit-cards__item:nth-child(n+2){grid-column:span 3}}@media screen and (min-width:1024px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(5)) .mfui-9-benefit-cards__item:nth-child(-n+2){grid-column:span 3}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(5)) .mfui-9-benefit-cards__item:nth-child(n+3){grid-column:span 2}}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(5)) .mfui-9-benefit-cards__item{grid-column:span 6}@media screen and (min-width:768px) and (max-width:1023px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(6)) .mfui-9-benefit-cards__item:nth-child(-n+6){grid-column:span 3}}@media screen and (min-width:1024px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(6)) .mfui-9-benefit-cards__item:nth-child(-n+6){grid-column:span 2}}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(6)) .mfui-9-benefit-cards__item{grid-column:span 6}@media screen and (min-width:768px) and (max-width:1023px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(7)) .mfui-9-benefit-cards__item:first-child{grid-column:span 6}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(7)) .mfui-9-benefit-cards__item:nth-child(n+2){grid-column:span 3}}@media screen and (min-width:1024px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(7)) .mfui-9-benefit-cards__item:nth-child(-n+2){grid-column:span 3}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(7)) .mfui-9-benefit-cards__item:nth-child(n+3){grid-column:span 2}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(7)) .mfui-9-benefit-cards__item:nth-child(n+6){grid-column:span 3}}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(7)) .mfui-9-benefit-cards__item{grid-column:span 6}@media screen and (min-width:768px) and (max-width:1023px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(8)) .mfui-9-benefit-cards__item:nth-child(-n+8){grid-column:span 3}}@media screen and (min-width:1024px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(8)) .mfui-9-benefit-cards__item:nth-child(-n+2){grid-column:span 3}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(8)) .mfui-9-benefit-cards__item:nth-child(n+3){grid-column:span 2}}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(8)) .mfui-9-benefit-cards__item{grid-column:span 6}@media screen and (min-width:768px) and (max-width:1023px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(9)) .mfui-9-benefit-cards__item:first-child{grid-column:span 6}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(9)) .mfui-9-benefit-cards__item:nth-child(n+2){grid-column:span 3}}@media screen and (min-width:1024px){.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(9)) .mfui-9-benefit-cards__item:nth-child(-n+9){grid-column:span 2}}.mfui-9-benefit-cards:has(.mfui-9-benefit-cards__item:nth-child(9)) .mfui-9-benefit-cards__item{grid-column:span 6}.mfui-9-benefit-cards__item{grid-column:span 3}@media screen and (max-width:767px){.mfui-9-benefit-cards__item{grid-column:span 6}}
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+ import { ExtraBackgroundType, IBenefitCardData, MainBackgroundType } from './types';
3
+ import './BenefitCards.scss';
4
+ export interface IBenefitCards {
5
+ /** Список карточек */
6
+ items: IBenefitCardData[];
7
+ /** Основной фон карточек */
8
+ mainBackground?: MainBackgroundType;
9
+ /** Дополнительный фон карточек */
10
+ extraBackground?: ExtraBackgroundType;
11
+ /** Дополнительный класс для компонента */
12
+ className?: string;
13
+ /** Дополнительные классы для внутренних элементов */
14
+ classes?: {
15
+ root?: string;
16
+ card?: string;
17
+ };
18
+ /** Дополнительные data атрибуты к внутренним элементам */
19
+ dataAttrs?: {
20
+ root?: Record<string, string>;
21
+ card?: Record<string, string>;
22
+ };
23
+ /** Ссылка на корневой элемент */
24
+ rootRef?: React.Ref<HTMLDivElement>;
25
+ }
26
+ declare const BenefitCards: React.FC<IBenefitCards>;
27
+ export default BenefitCards;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ require("core-js/modules/es.array.concat.js");
10
+ require("core-js/modules/es.array.map.js");
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _uiHelpers = require("@megafon/ui-helpers");
13
+ var _BenefitCard = _interopRequireDefault(require("./BenefitCard/BenefitCard"));
14
+ var _helpers = require("./helpers");
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
18
+ var cn = (0, _uiHelpers.cnCreate)('mfui-9-benefit-cards');
19
+ var BenefitCards = function BenefitCards(_ref) {
20
+ var className = _ref.className,
21
+ items = _ref.items,
22
+ mainBackground = _ref.mainBackground,
23
+ extraBackground = _ref.extraBackground,
24
+ classes = _ref.classes,
25
+ dataAttrs = _ref.dataAttrs,
26
+ rootRef = _ref.rootRef;
27
+ return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
28
+ className: cn([className, classes === null || classes === void 0 ? void 0 : classes.root]),
29
+ ref: rootRef
30
+ }), items.map(function (item, i) {
31
+ var isExtraColored = !!extraBackground && (0, _helpers.checkIsExtraColoredCard)(i, items.length);
32
+ return /*#__PURE__*/React.createElement("div", {
33
+ className: cn('item'),
34
+ key: "".concat(item.title, "_").concat(i)
35
+ }, /*#__PURE__*/React.createElement(_BenefitCard["default"], (0, _extends2["default"])({}, item, {
36
+ background: isExtraColored ? extraBackground : mainBackground,
37
+ dataAttrs: {
38
+ root: (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.card, i + 1)
39
+ },
40
+ className: classes === null || classes === void 0 ? void 0 : classes.card
41
+ })));
42
+ }));
43
+ };
44
+ var _default = exports["default"] = BenefitCards;
@@ -0,0 +1 @@
1
+ export declare const checkIsExtraColoredCard: (index: number, total: number) => boolean;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.checkIsExtraColoredCard = void 0;
7
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
+ require("core-js/modules/es.array.includes.js");
9
+ require("core-js/modules/es.string.includes.js");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
+ var ONE_CARDS = '1';
12
+ var TWO_CARDS = '2';
13
+ var THREE_CARDS = '3';
14
+ var FOUR_CARDS = '4';
15
+ var FIVE_CARDS = '5';
16
+ var SIX_CARDS = '6';
17
+ var FIRST_CARD_INDEX = 0;
18
+ var THIRD_CARD_INDEX = 2;
19
+ var FOURTH_CARD_INDEX = 3;
20
+ var FIFTH_CARD_INDEX = 4;
21
+ var INDEXES_MAP = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, ONE_CARDS, [FIRST_CARD_INDEX]), TWO_CARDS, [FIRST_CARD_INDEX]), THREE_CARDS, [FIRST_CARD_INDEX]), FOUR_CARDS, [FIRST_CARD_INDEX, FOURTH_CARD_INDEX]), FIVE_CARDS, [FIRST_CARD_INDEX, FIFTH_CARD_INDEX]), SIX_CARDS, [FIRST_CARD_INDEX, THIRD_CARD_INDEX, FIFTH_CARD_INDEX]);
22
+ var checkIsExtraColoredCard = exports.checkIsExtraColoredCard = function checkIsExtraColoredCard(index, total) {
23
+ var _a;
24
+ var indexes = (_a = INDEXES_MAP[String(total)]) !== null && _a !== void 0 ? _a : INDEXES_MAP[SIX_CARDS];
25
+ return indexes.includes(index);
26
+ };
@@ -0,0 +1,24 @@
1
+ type SoftBackgroundType = 'soft-purple' | 'soft-green' | 'soft-night' | 'soft-sky' | 'soft-flamingo' | 'soft-berry';
2
+ export type MainBackgroundType = SoftBackgroundType | 'outline' | 'white' | 'gray';
3
+ export type ExtraBackgroundType = SoftBackgroundType | 'gradient-berry1' | 'gradient-berry2' | 'gradient-purple1' | 'gradient-purple2' | 'gradient-purple3';
4
+ export type LinkType = {
5
+ /** Атрибут ссылки href */
6
+ href: string;
7
+ /** Атрибут ссылки target */
8
+ target: '_self' | '_blank';
9
+ /** Атрибут ссылки rel */
10
+ rel?: string;
11
+ /** Текст псевдоссылки внутри карточки */
12
+ pseudoLinkText: string;
13
+ };
14
+ export interface IBenefitCardData {
15
+ /** Заголовок */
16
+ title: string;
17
+ /** Описание */
18
+ description: string;
19
+ /** Изображение */
20
+ imageSrc: string;
21
+ /** Ссылка */
22
+ link?: LinkType;
23
+ }
24
+ export {};
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -14,6 +14,7 @@ export interface IBlogBox {
14
14
  classes?: {
15
15
  root?: string;
16
16
  item?: string;
17
+ itemTitle?: string;
17
18
  button?: string;
18
19
  };
19
20
  /** Дополнительные data атрибуты к внутренним элементам */
@@ -23,6 +24,8 @@ export interface IBlogBox {
23
24
  item?: Record<string, string>;
24
25
  button?: Record<string, string>;
25
26
  };
27
+ /** Ссылка на корневой элемент */
28
+ rootRef?: React.Ref<HTMLDivElement>;
26
29
  }
27
30
  declare const BlogBox: React.FC<IBlogBox>;
28
31
  export default BlogBox;
@@ -26,7 +26,8 @@ var BlogBox = function BlogBox(_ref) {
26
26
  hasAlignLeft = _ref$hasAlignLeft === void 0 ? false : _ref$hasAlignLeft,
27
27
  className = _ref.className,
28
28
  classes = _ref.classes,
29
- dataAttrs = _ref.dataAttrs;
29
+ dataAttrs = _ref.dataAttrs,
30
+ rootRef = _ref.rootRef;
30
31
  var _useResolutions = (0, _useResolutions2["default"])(),
31
32
  isDesktop = _useResolutions.isDesktop;
32
33
  var visibleItems = items.slice(0, maxItemsCount);
@@ -45,7 +46,8 @@ var BlogBox = function BlogBox(_ref) {
45
46
  return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
46
47
  className: cn({
47
48
  'align-left': isAlignLeft
48
- }, [className, classes === null || classes === void 0 ? void 0 : classes.root])
49
+ }, [className, classes === null || classes === void 0 ? void 0 : classes.root]),
50
+ ref: rootRef
49
51
  }), /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.list), {
50
52
  className: cn('list', {
51
53
  row: isRow,
@@ -59,7 +61,10 @@ var BlogBox = function BlogBox(_ref) {
59
61
  }, [classes === null || classes === void 0 ? void 0 : classes.item]),
60
62
  key: "".concat(item.title, "_").concat(i)
61
63
  }), /*#__PURE__*/React.createElement(_BlogBoxTile["default"], (0, _extends2["default"])({}, item, {
62
- view: view
64
+ view: view,
65
+ classes: {
66
+ title: classes === null || classes === void 0 ? void 0 : classes.itemTitle
67
+ }
63
68
  })));
64
69
  })), (button === null || button === void 0 ? void 0 : button.title) && /*#__PURE__*/React.createElement("div", {
65
70
  className: cn('button-wrapper')
@@ -1 +1 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-9-blog-box-tile{color:var(--content);display:block;position:relative;text-decoration:none}.mfui-9-blog-box-tile:hover{text-decoration:none}.mfui-9-blog-box-tile:hover .mfui-9-blog-box-tile__title{color:var(--brandGreen)}.mfui-9-blog-box-tile__image{border-radius:24px;height:100%;-o-object-fit:cover;object-fit:cover;vertical-align:top;width:100%}.mfui-9-blog-box-tile__picture{display:block}.mfui-9-blog-box-tile__date{color:var(--spbSky3);margin-bottom:4px}.mfui-9-blog-box-tile__title{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:4;-webkit-transition:color .3s;transition:color .3s}.mfui-9-blog-box-tile_view_thumbnail{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px}.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__picture{-ms-flex-negative:0;flex-shrink:0;height:102px;width:133px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__picture{height:130px;width:170px}}@media screen and (min-width:1440px){.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__picture{height:170px;width:233px}}.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__content{-ms-flex-item-align:center;align-self:center}.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__date{font-size:12px;line-height:18px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__date{font-size:15px;line-height:24px}}.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__title{font-size:18px;font-weight:500;letter-spacing:.5px;line-height:24px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__title{font-size:20px;line-height:28px}}.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__picture{height:358px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__picture{height:438px}}@media screen and (min-width:1440px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__picture{height:558px}}.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__content{background-color:var(--base);border-radius:24px;bottom:8px;left:8px;padding:16px;position:absolute;right:8px}@media screen and (min-width:768px) and (max-width:1023px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__content{padding:24px}}@media screen and (min-width:768px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__content{bottom:12px;left:12px;right:12px}}@media screen and (min-width:1024px) and (max-width:1279px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__content{padding:16px}}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__content{padding:24px}}.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__title{font-size:22px;font-weight:600;letter-spacing:.5px;line-height:28px}@media screen and (min-width:768px) and (max-width:1023px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__title{font-size:26px;line-height:32px}}@media screen and (min-width:1024px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__title{font-size:28px;line-height:36px}}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__title{font-size:32px;line-height:40px}}.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__picture{height:233px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__picture{height:288px}}@media screen and (min-width:1440px){.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__picture{height:367px}}.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__content{background-color:var(--base);border-radius:24px;bottom:12px;left:12px;padding:16px;position:absolute;right:12px}.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__title{font-size:18px;font-weight:500;letter-spacing:.5px;line-height:24px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__title{font-size:20px;line-height:28px}}
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-9-blog-box-tile{border-radius:24px;color:var(--content);display:block;position:relative;text-decoration:none}.mfui-9-blog-box-tile:focus-visible{-webkit-animation:focus-outline-shrink .3s linear forwards;animation:focus-outline-shrink .3s linear forwards;outline-offset:2px}@-webkit-keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}@keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}.mfui-9-blog-box-tile:focus{outline:none}.mfui-9-blog-box-tile:hover{text-decoration:none}.mfui-9-blog-box-tile:hover .mfui-9-blog-box-tile__title{color:var(--brandGreen)}.mfui-9-blog-box-tile__image{border-radius:24px;height:100%;-o-object-fit:cover;object-fit:cover;vertical-align:top;width:100%}.mfui-9-blog-box-tile__picture{display:block}.mfui-9-blog-box-tile__date{color:var(--spbSky3);margin-bottom:4px}.mfui-9-blog-box-tile__title{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:4}.mfui-9-blog-box-tile_view_thumbnail{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px}.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__picture{-ms-flex-negative:0;flex-shrink:0;height:102px;width:133px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__picture{height:130px;width:170px}}@media screen and (min-width:1440px){.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__picture{height:170px;width:233px}}.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__content{-ms-flex-item-align:center;align-self:center}.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__date{font-size:12px;line-height:18px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__date{font-size:15px;line-height:24px}}.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__title{font-size:18px;font-weight:500;letter-spacing:.5px;line-height:24px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_thumbnail .mfui-9-blog-box-tile__title{font-size:20px;line-height:28px}}.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__picture{height:358px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__picture{height:438px}}@media screen and (min-width:1440px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__picture{height:558px}}.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__content{background-color:var(--base);border-radius:24px;bottom:8px;left:8px;padding:16px;position:absolute;right:8px}@media screen and (min-width:768px) and (max-width:1023px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__content{padding:24px}}@media screen and (min-width:768px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__content{bottom:12px;left:12px;right:12px}}@media screen and (min-width:1024px) and (max-width:1279px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__content{padding:16px}}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__content{padding:24px}}.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__title{font-size:22px;font-weight:600;letter-spacing:.5px;line-height:28px}@media screen and (min-width:768px) and (max-width:1023px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__title{font-size:26px;line-height:32px}}@media screen and (min-width:1024px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__title{font-size:28px;line-height:36px}}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_full .mfui-9-blog-box-tile__title{font-size:32px;line-height:40px}}.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__picture{height:233px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__picture{height:288px}}@media screen and (min-width:1440px){.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__picture{height:367px}}.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__content{background-color:var(--base);border-radius:24px;bottom:12px;left:12px;padding:16px;position:absolute;right:12px}.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__title{font-size:18px;font-weight:500;letter-spacing:.5px;line-height:24px}@media screen and (min-width:1280px){.mfui-9-blog-box-tile_view_compact .mfui-9-blog-box-tile__title{font-size:20px;line-height:28px}}
@@ -4,6 +4,10 @@ import './BlogBoxTile.scss';
4
4
  type TileSettingsType = {
5
5
  view: TileViewType;
6
6
  };
7
- export type BlogBoxTileType = TileDataType & TileSettingsType;
7
+ export type BlogBoxTileType = TileDataType & TileSettingsType & {
8
+ classes?: {
9
+ title?: string;
10
+ };
11
+ };
8
12
  declare const BlogBoxTile: React.FC<BlogBoxTileType>;
9
13
  export default BlogBoxTile;
@@ -25,7 +25,8 @@ var BlogBoxTile = function BlogBoxTile(_ref) {
25
25
  srcThumbnail = _ref$image.srcThumbnail,
26
26
  _ref$image$alt = _ref$image.alt,
27
27
  alt = _ref$image$alt === void 0 ? 'image' : _ref$image$alt,
28
- view = _ref.view;
28
+ view = _ref.view,
29
+ classes = _ref.classes;
29
30
  var _useResolutions = (0, _useResolutions2["default"])(),
30
31
  isMobile = _useResolutions.isMobile;
31
32
  var isViewThumbnail = view === 'thumbnail';
@@ -63,7 +64,7 @@ var BlogBoxTile = function BlogBoxTile(_ref) {
63
64
  }, /*#__PURE__*/React.createElement("div", {
64
65
  className: cn('date')
65
66
  }, date), /*#__PURE__*/React.createElement("div", {
66
- className: cn('title')
67
+ className: cn('title', [classes === null || classes === void 0 ? void 0 : classes.title])
67
68
  }, title)));
68
69
  };
69
70
  var _default = exports["default"] = BlogBoxTile;
@@ -16,6 +16,8 @@ export type Props = {
16
16
  color?: TextColorType;
17
17
  /** Включить микроразметку */
18
18
  hasMicrodata?: boolean;
19
+ /** Включить микроразметку для последнего элемента */
20
+ hasMicrodataForLastItem?: boolean;
19
21
  /** Отключить на разрешении < 768 px */
20
22
  disabledOnMobile?: boolean;
21
23
  /** Отступ сверху */
@@ -29,6 +29,8 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
29
29
  dataAttrs = _ref.dataAttrs,
30
30
  _ref$hasMicrodata = _ref.hasMicrodata,
31
31
  hasMicrodata = _ref$hasMicrodata === void 0 ? false : _ref$hasMicrodata,
32
+ _ref$hasMicrodataForL = _ref.hasMicrodataForLastItem,
33
+ hasMicrodataForLastItem = _ref$hasMicrodataForL === void 0 ? false : _ref$hasMicrodataForL,
32
34
  _ref$disabledOnMobile = _ref.disabledOnMobile,
33
35
  disabledOnMobile = _ref$disabledOnMobile === void 0 ? false : _ref$disabledOnMobile,
34
36
  _ref$hasMarginTop = _ref.hasMarginTop,
@@ -58,6 +60,7 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
58
60
  index: i,
59
61
  isLastItem: i === items.length - 1,
60
62
  hasMicrodata: hasMicrodata,
63
+ hasMicrodataForLastItem: hasMicrodataForLastItem,
61
64
  dataAttrs: {
62
65
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.itemInner,
63
66
  link: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.link,
@@ -13,6 +13,7 @@ export type Props = {
13
13
  index?: number;
14
14
  isLastItem?: boolean;
15
15
  hasMicrodata?: boolean;
16
+ hasMicrodataForLastItem?: boolean;
16
17
  classes?: {
17
18
  link?: string;
18
19
  itemTitle?: string;