@gravity-ui/page-constructor 6.1.0 → 6.2.0-beta.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 (750) hide show
  1. package/build/cjs/blocks/Banner/Banner.js +2 -2
  2. package/build/cjs/blocks/Banner/Banner.js.map +1 -1
  3. package/build/cjs/blocks/Banner/schema.js +20 -8
  4. package/build/cjs/blocks/Banner/schema.js.map +1 -1
  5. package/build/cjs/blocks/CardLayout/CardLayout.js +2 -2
  6. package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
  7. package/build/cjs/blocks/CardLayout/schema.js +19 -4
  8. package/build/cjs/blocks/CardLayout/schema.js.map +1 -1
  9. package/build/cjs/blocks/Companies/Companies.js +1 -1
  10. package/build/cjs/blocks/Companies/Companies.js.map +1 -1
  11. package/build/cjs/blocks/Companies/schema.js +10 -4
  12. package/build/cjs/blocks/Companies/schema.js.map +1 -1
  13. package/build/cjs/blocks/ContentLayout/ContentLayout.js +1 -1
  14. package/build/cjs/blocks/ContentLayout/ContentLayout.js.map +1 -1
  15. package/build/cjs/blocks/ContentLayout/schema.js +7 -2
  16. package/build/cjs/blocks/ContentLayout/schema.js.map +1 -1
  17. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
  18. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  19. package/build/cjs/blocks/ExtendedFeatures/schema.js +7 -1
  20. package/build/cjs/blocks/ExtendedFeatures/schema.js.map +1 -1
  21. package/build/cjs/blocks/FilterBlock/schema.js +13 -3
  22. package/build/cjs/blocks/FilterBlock/schema.js.map +1 -1
  23. package/build/cjs/blocks/Form/Form.js +3 -4
  24. package/build/cjs/blocks/Form/Form.js.map +1 -1
  25. package/build/cjs/blocks/Form/schema.js +14 -6
  26. package/build/cjs/blocks/Form/schema.js.map +1 -1
  27. package/build/cjs/blocks/Header/Header.js +8 -5
  28. package/build/cjs/blocks/Header/Header.js.map +1 -1
  29. package/build/cjs/blocks/Header/schema.js +9 -2
  30. package/build/cjs/blocks/Header/schema.js.map +1 -1
  31. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -3
  32. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  33. package/build/cjs/blocks/HeaderSlider/schema.js +6 -2
  34. package/build/cjs/blocks/HeaderSlider/schema.js.map +1 -1
  35. package/build/cjs/blocks/Icons/Icons.js +2 -2
  36. package/build/cjs/blocks/Icons/Icons.js.map +1 -1
  37. package/build/cjs/blocks/Icons/schema.js +17 -6
  38. package/build/cjs/blocks/Icons/schema.js.map +1 -1
  39. package/build/cjs/blocks/Info/Info.js +8 -4
  40. package/build/cjs/blocks/Info/Info.js.map +1 -1
  41. package/build/cjs/blocks/Info/schema.js +14 -4
  42. package/build/cjs/blocks/Info/schema.js.map +1 -1
  43. package/build/cjs/blocks/Map/Map.js +2 -3
  44. package/build/cjs/blocks/Map/Map.js.map +1 -1
  45. package/build/cjs/blocks/Map/schema.js +4 -1
  46. package/build/cjs/blocks/Map/schema.js.map +1 -1
  47. package/build/cjs/blocks/Media/Media.js +1 -1
  48. package/build/cjs/blocks/Media/Media.js.map +1 -1
  49. package/build/cjs/blocks/Media/schema.js +24 -9
  50. package/build/cjs/blocks/Media/schema.js.map +1 -1
  51. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  52. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  53. package/build/cjs/blocks/PromoFeaturesBlock/schema.js +8 -2
  54. package/build/cjs/blocks/PromoFeaturesBlock/schema.js.map +1 -1
  55. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -1
  56. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  57. package/build/cjs/blocks/Questions/schema.js +6 -2
  58. package/build/cjs/blocks/Questions/schema.js.map +1 -1
  59. package/build/cjs/blocks/Share/schema.js +7 -3
  60. package/build/cjs/blocks/Share/schema.js.map +1 -1
  61. package/build/cjs/blocks/Slider/Slider.js +15 -14
  62. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  63. package/build/cjs/blocks/Slider/schema.js +6 -1
  64. package/build/cjs/blocks/Slider/schema.js.map +1 -1
  65. package/build/cjs/blocks/Slider/utils.js +8 -5
  66. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  67. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +1 -1
  68. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js.map +1 -1
  69. package/build/cjs/blocks/SliderNew/Slider.js +5 -5
  70. package/build/cjs/blocks/SliderNew/Slider.js.map +1 -1
  71. package/build/cjs/blocks/SliderNew/schema.js +6 -1
  72. package/build/cjs/blocks/SliderNew/schema.js.map +1 -1
  73. package/build/cjs/blocks/SliderNew/useSlider.js +1 -2
  74. package/build/cjs/blocks/SliderNew/useSlider.js.map +1 -1
  75. package/build/cjs/blocks/SliderNew/utils.js +6 -2
  76. package/build/cjs/blocks/SliderNew/utils.js.map +1 -1
  77. package/build/cjs/blocks/Table/Table.js +1 -1
  78. package/build/cjs/blocks/Table/Table.js.map +1 -1
  79. package/build/cjs/blocks/Table/schema.js +22 -10
  80. package/build/cjs/blocks/Table/schema.js.map +1 -1
  81. package/build/cjs/blocks/Tabs/Tabs.js +16 -18
  82. package/build/cjs/blocks/Tabs/Tabs.js.map +1 -1
  83. package/build/cjs/blocks/Tabs/schema.js +24 -9
  84. package/build/cjs/blocks/Tabs/schema.js.map +1 -1
  85. package/build/cjs/components/Author/Author.js +1 -1
  86. package/build/cjs/components/Author/Author.js.map +1 -1
  87. package/build/cjs/components/Author/schema.js +5 -1
  88. package/build/cjs/components/Author/schema.js.map +1 -1
  89. package/build/cjs/components/BackLink/BackLink.js +1 -1
  90. package/build/cjs/components/BackLink/BackLink.js.map +1 -1
  91. package/build/cjs/components/BackgroundImage/BackgroundImage.js +1 -1
  92. package/build/cjs/components/BackgroundImage/BackgroundImage.js.map +1 -1
  93. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js +4 -4
  94. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js.map +1 -1
  95. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +1 -1
  96. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  97. package/build/cjs/components/Button/Button.js +9 -5
  98. package/build/cjs/components/Button/Button.js.map +1 -1
  99. package/build/cjs/components/Button/utils.js +2 -2
  100. package/build/cjs/components/Button/utils.js.map +1 -1
  101. package/build/cjs/components/Buttons/Buttons.js +4 -1
  102. package/build/cjs/components/Buttons/Buttons.js.map +1 -1
  103. package/build/cjs/components/CardBase/CardBase.js +6 -2
  104. package/build/cjs/components/CardBase/CardBase.js.map +1 -1
  105. package/build/cjs/components/ContentList/ContentList.js +1 -1
  106. package/build/cjs/components/ContentList/ContentList.js.map +1 -1
  107. package/build/cjs/components/ContentList/ContentListItemIcon.js +1 -1
  108. package/build/cjs/components/ContentList/ContentListItemIcon.js.map +1 -1
  109. package/build/cjs/components/DefaultVideo/DefaultVideo.js +3 -4
  110. package/build/cjs/components/DefaultVideo/DefaultVideo.js.map +1 -1
  111. package/build/cjs/components/FileLink/FileLink.js +2 -2
  112. package/build/cjs/components/FileLink/FileLink.js.map +1 -1
  113. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js +12 -17
  114. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  115. package/build/cjs/components/FullscreenImage/FullscreenImage.js +1 -1
  116. package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
  117. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  118. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  119. package/build/cjs/components/IconWrapper/IconWrapper.js +2 -2
  120. package/build/cjs/components/IconWrapper/IconWrapper.js.map +1 -1
  121. package/build/cjs/components/Image/schema.js +40 -12
  122. package/build/cjs/components/Image/schema.js.map +1 -1
  123. package/build/cjs/components/ImageBase/ImageBase.js +3 -4
  124. package/build/cjs/components/ImageBase/ImageBase.js.map +1 -1
  125. package/build/cjs/components/InnerForm/InnerForm.js +5 -5
  126. package/build/cjs/components/InnerForm/InnerForm.js.map +1 -1
  127. package/build/cjs/components/Link/Link.js +1 -1
  128. package/build/cjs/components/Link/Link.js.map +1 -1
  129. package/build/cjs/components/Links/Links.js +4 -1
  130. package/build/cjs/components/Links/Links.js.map +1 -1
  131. package/build/cjs/components/Map/Map.js +2 -2
  132. package/build/cjs/components/Map/Map.js.map +1 -1
  133. package/build/cjs/components/Map/YMap/YMap.js +6 -5
  134. package/build/cjs/components/Map/YMap/YMap.js.map +1 -1
  135. package/build/cjs/components/Map/YMap/YandexMap.js +1 -2
  136. package/build/cjs/components/Map/YMap/YandexMap.js.map +1 -1
  137. package/build/cjs/components/Map/YMap/YandexMapApiLoader.js +2 -1
  138. package/build/cjs/components/Map/YMap/YandexMapApiLoader.js.map +1 -1
  139. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js +1 -1
  140. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js.map +1 -1
  141. package/build/cjs/components/Media/Image/Image.js +3 -3
  142. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  143. package/build/cjs/components/Media/Media.js +13 -5
  144. package/build/cjs/components/Media/Media.js.map +1 -1
  145. package/build/cjs/components/MediaBase/MediaBase.js +3 -3
  146. package/build/cjs/components/MediaBase/MediaBase.js.map +1 -1
  147. package/build/cjs/components/MediaBase/MediaBaseContent.js +1 -1
  148. package/build/cjs/components/MediaBase/MediaBaseContent.js.map +1 -1
  149. package/build/cjs/components/OutsideClick/OutsideClick.js +9 -12
  150. package/build/cjs/components/OutsideClick/OutsideClick.js.map +1 -1
  151. package/build/cjs/components/OverflowScroller/OverflowScroller.js +46 -49
  152. package/build/cjs/components/OverflowScroller/OverflowScroller.js.map +1 -1
  153. package/build/cjs/components/ReactPlayer/ReactPlayer.js +10 -12
  154. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  155. package/build/cjs/components/ReactPlayer/utils.js +1 -2
  156. package/build/cjs/components/ReactPlayer/utils.js.map +1 -1
  157. package/build/cjs/components/Title/Title.js +2 -2
  158. package/build/cjs/components/Title/Title.js.map +1 -1
  159. package/build/cjs/components/Title/TitleItem.js +1 -1
  160. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  161. package/build/cjs/components/VideoBlock/VideoBlock.js +5 -2
  162. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  163. package/build/cjs/components/YandexForm/YandexForm.js +3 -3
  164. package/build/cjs/components/YandexForm/YandexForm.js.map +1 -1
  165. package/build/cjs/components/YandexForm/schema.js +7 -3
  166. package/build/cjs/components/YandexForm/schema.js.map +1 -1
  167. package/build/cjs/containers/Loadable/Loadable.js +3 -3
  168. package/build/cjs/containers/Loadable/Loadable.js.map +1 -1
  169. package/build/cjs/containers/PageConstructor/PageConstructor.js +14 -7
  170. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  171. package/build/cjs/containers/PageConstructor/Provider.js +1 -1
  172. package/build/cjs/containers/PageConstructor/Provider.js.map +1 -1
  173. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  174. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  175. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -2
  176. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  177. package/build/cjs/context/theme/withTheme.js +7 -9
  178. package/build/cjs/context/theme/withTheme.js.map +1 -1
  179. package/build/cjs/customization/BlockDecoration.js +3 -5
  180. package/build/cjs/customization/BlockDecoration.js.map +1 -1
  181. package/build/cjs/editor/components/AddBlock/AddBlock.js +6 -8
  182. package/build/cjs/editor/components/AddBlock/AddBlock.js.map +1 -1
  183. package/build/cjs/editor/components/BlockForm/BlockForm.js +9 -4
  184. package/build/cjs/editor/components/BlockForm/BlockForm.js.map +1 -1
  185. package/build/cjs/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js +4 -4
  186. package/build/cjs/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js.map +1 -1
  187. package/build/cjs/editor/components/EditBlock/EditBlock.js +2 -2
  188. package/build/cjs/editor/components/EditBlock/EditBlock.js.map +1 -1
  189. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js +2 -5
  190. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  191. package/build/cjs/editor/components/Layout/Layout.js +3 -3
  192. package/build/cjs/editor/components/Layout/Layout.js.map +1 -1
  193. package/build/cjs/editor/components/PageSettings/PageSettings.js +2 -2
  194. package/build/cjs/editor/components/PageSettings/PageSettings.js.map +1 -1
  195. package/build/cjs/editor/containers/Editor/Editor.js +1 -1
  196. package/build/cjs/editor/containers/Editor/Editor.js.map +1 -1
  197. package/build/cjs/editor/containers/Editor/hooks/useCode.js +2 -4
  198. package/build/cjs/editor/containers/Editor/hooks/useCode.js.map +1 -1
  199. package/build/cjs/editor/containers/Editor/hooks/useEditorState.js +10 -7
  200. package/build/cjs/editor/containers/Editor/hooks/useEditorState.js.map +1 -1
  201. package/build/cjs/editor/containers/Form/Form.js +5 -2
  202. package/build/cjs/editor/containers/Form/Form.js.map +1 -1
  203. package/build/cjs/editor/data/index.js +4 -1
  204. package/build/cjs/editor/data/index.js.map +1 -1
  205. package/build/cjs/editor/data/previews/default-preview.js +1 -1
  206. package/build/cjs/editor/data/previews/default-preview.js.map +1 -1
  207. package/build/cjs/editor/data/previews/header-block.js +1 -1
  208. package/build/cjs/editor/data/previews/header-block.js.map +1 -1
  209. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +15 -13
  210. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  211. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +8 -10
  212. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  213. package/build/cjs/editor/dynamic-forms-custom/parser/index.js +150 -120
  214. package/build/cjs/editor/dynamic-forms-custom/parser/index.js.map +1 -1
  215. package/build/cjs/editor/dynamic-forms-custom/parser/views.js +2 -4
  216. package/build/cjs/editor/dynamic-forms-custom/parser/views.js.map +1 -1
  217. package/build/cjs/editor/icons/Tablet.js +1 -1
  218. package/build/cjs/editor/icons/Tablet.js.map +1 -1
  219. package/build/cjs/editor/store/main/index.js +7 -4
  220. package/build/cjs/editor/store/main/index.js.map +1 -1
  221. package/build/cjs/editor/store/main/reducer.js +17 -3
  222. package/build/cjs/editor/store/main/reducer.js.map +1 -1
  223. package/build/cjs/editor/store/main/utils.js +1 -1
  224. package/build/cjs/editor/store/main/utils.js.map +1 -1
  225. package/build/cjs/editor/store/settings/reducer.js +16 -4
  226. package/build/cjs/editor/store/settings/reducer.js.map +1 -1
  227. package/build/cjs/editor/utils/code.js +4 -2
  228. package/build/cjs/editor/utils/code.js.map +1 -1
  229. package/build/cjs/editor/utils/index.js +7 -1
  230. package/build/cjs/editor/utils/index.js.map +1 -1
  231. package/build/cjs/editor/widget/index.js +8 -8
  232. package/build/cjs/editor/widget/index.js.map +1 -1
  233. package/build/cjs/grid/Col/Col.js +1 -1
  234. package/build/cjs/grid/Col/Col.js.map +1 -1
  235. package/build/cjs/hooks/useAnalytics.js +4 -1
  236. package/build/cjs/hooks/useAnalytics.js.map +1 -1
  237. package/build/cjs/icons/BrandIconDark.js +1 -1
  238. package/build/cjs/icons/BrandIconDark.js.map +1 -1
  239. package/build/cjs/icons/BrandIconLight.js +1 -1
  240. package/build/cjs/icons/BrandIconLight.js.map +1 -1
  241. package/build/cjs/icons/BrandName.js +1 -1
  242. package/build/cjs/icons/BrandName.js.map +1 -1
  243. package/build/cjs/icons/Chevron.js +1 -1
  244. package/build/cjs/icons/Chevron.js.map +1 -1
  245. package/build/cjs/icons/Facebook.js +1 -1
  246. package/build/cjs/icons/Facebook.js.map +1 -1
  247. package/build/cjs/icons/Github.js +1 -1
  248. package/build/cjs/icons/Github.js.map +1 -1
  249. package/build/cjs/icons/Linkedin.js +1 -1
  250. package/build/cjs/icons/Linkedin.js.map +1 -1
  251. package/build/cjs/icons/NavigationArrow.js +1 -1
  252. package/build/cjs/icons/NavigationArrow.js.map +1 -1
  253. package/build/cjs/icons/NavigationChevron.js +1 -1
  254. package/build/cjs/icons/NavigationChevron.js.map +1 -1
  255. package/build/cjs/icons/Telegram.js +1 -1
  256. package/build/cjs/icons/Telegram.js.map +1 -1
  257. package/build/cjs/icons/Twitter.js +1 -1
  258. package/build/cjs/icons/Twitter.js.map +1 -1
  259. package/build/cjs/icons/Vk.js +1 -1
  260. package/build/cjs/icons/Vk.js.map +1 -1
  261. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  262. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  263. package/build/cjs/navigation/components/Logo/Logo.js +4 -5
  264. package/build/cjs/navigation/components/Logo/Logo.js.map +1 -1
  265. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.js +2 -3
  266. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.js.map +1 -1
  267. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +7 -5
  268. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  269. package/build/cjs/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js +1 -1
  270. package/build/cjs/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js.map +1 -1
  271. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +2 -3
  272. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  273. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +1 -1
  274. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  275. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js +2 -3
  276. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js.map +1 -1
  277. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +4 -4
  278. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js.map +1 -1
  279. package/build/cjs/navigation/components/NavigationList/NavigationList.js +1 -4
  280. package/build/cjs/navigation/components/NavigationList/NavigationList.js.map +1 -1
  281. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js +2 -3
  282. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js.map +1 -1
  283. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js +1 -1
  284. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js.map +1 -1
  285. package/build/cjs/navigation/components/Standalone/index.js +1 -1
  286. package/build/cjs/navigation/components/Standalone/index.js.map +1 -1
  287. package/build/cjs/navigation/hooks/useActiveNavItem.js +1 -1
  288. package/build/cjs/navigation/hooks/useActiveNavItem.js.map +1 -1
  289. package/build/cjs/navigation/schema.js +19 -6
  290. package/build/cjs/navigation/schema.js.map +1 -1
  291. package/build/cjs/navigation/utils.js +1 -1
  292. package/build/cjs/navigation/utils.js.map +1 -1
  293. package/build/cjs/schema/constants.js +33 -2
  294. package/build/cjs/schema/constants.js.map +1 -1
  295. package/build/cjs/schema/index.js +23 -6
  296. package/build/cjs/schema/index.js.map +1 -1
  297. package/build/cjs/schema/validators/common.js +77 -31
  298. package/build/cjs/schema/validators/common.js.map +1 -1
  299. package/build/cjs/schema/validators/utils.js +9 -2
  300. package/build/cjs/schema/validators/utils.js.map +1 -1
  301. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js +1 -1
  302. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js.map +1 -1
  303. package/build/cjs/sub-blocks/BackgroundCard/schema.js +23 -8
  304. package/build/cjs/sub-blocks/BackgroundCard/schema.js.map +1 -1
  305. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +1 -1
  306. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  307. package/build/cjs/sub-blocks/BasicCard/BasicCard.js +2 -2
  308. package/build/cjs/sub-blocks/BasicCard/BasicCard.js.map +1 -1
  309. package/build/cjs/sub-blocks/BasicCard/schema.js +17 -6
  310. package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
  311. package/build/cjs/sub-blocks/Content/Content.js +1 -1
  312. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  313. package/build/cjs/sub-blocks/Content/schema.js +10 -3
  314. package/build/cjs/sub-blocks/Content/schema.js.map +1 -1
  315. package/build/cjs/sub-blocks/Divider/schema.js +6 -2
  316. package/build/cjs/sub-blocks/Divider/schema.js.map +1 -1
  317. package/build/cjs/sub-blocks/HubspotForm/index.js +3 -3
  318. package/build/cjs/sub-blocks/HubspotForm/index.js.map +1 -1
  319. package/build/cjs/sub-blocks/HubspotForm/loadHubspotScript.js +1 -2
  320. package/build/cjs/sub-blocks/HubspotForm/loadHubspotScript.js.map +1 -1
  321. package/build/cjs/sub-blocks/HubspotForm/schema.js +11 -5
  322. package/build/cjs/sub-blocks/HubspotForm/schema.js.map +1 -1
  323. package/build/cjs/sub-blocks/ImageCard/ImageCard.js +1 -1
  324. package/build/cjs/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  325. package/build/cjs/sub-blocks/ImageCard/schema.js +17 -6
  326. package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
  327. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +11 -9
  328. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  329. package/build/cjs/sub-blocks/LayoutItem/schema.js +19 -6
  330. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  331. package/build/cjs/sub-blocks/LayoutItem/utils.js +4 -1
  332. package/build/cjs/sub-blocks/LayoutItem/utils.js.map +1 -1
  333. package/build/cjs/sub-blocks/MediaCard/MediaCard.js +1 -5
  334. package/build/cjs/sub-blocks/MediaCard/MediaCard.js.map +1 -1
  335. package/build/cjs/sub-blocks/MediaCard/schema.js +12 -3
  336. package/build/cjs/sub-blocks/MediaCard/schema.js.map +1 -1
  337. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +1 -1
  338. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  339. package/build/cjs/sub-blocks/PriceCard/schema.js +25 -11
  340. package/build/cjs/sub-blocks/PriceCard/schema.js.map +1 -1
  341. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -2
  342. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  343. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  344. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  345. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +1 -4
  346. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js.map +1 -1
  347. package/build/cjs/sub-blocks/PriceDetailed/schema.js +44 -12
  348. package/build/cjs/sub-blocks/PriceDetailed/schema.js.map +1 -1
  349. package/build/cjs/sub-blocks/Quote/Quote.js +6 -3
  350. package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
  351. package/build/cjs/sub-blocks/Quote/schema.js +21 -8
  352. package/build/cjs/sub-blocks/Quote/schema.js.map +1 -1
  353. package/build/cjs/text-transform/common.js +10 -7
  354. package/build/cjs/text-transform/common.js.map +1 -1
  355. package/build/cjs/text-transform/config.js +26 -19
  356. package/build/cjs/text-transform/config.js.map +1 -1
  357. package/build/cjs/text-transform/filter.js +4 -1
  358. package/build/cjs/text-transform/filter.js.map +1 -1
  359. package/build/cjs/text-transform/transformers.js +1 -1
  360. package/build/cjs/text-transform/transformers.js.map +1 -1
  361. package/build/cjs/text-transform/utils.js +8 -5
  362. package/build/cjs/text-transform/utils.js.map +1 -1
  363. package/build/cjs/utils/analytics.js +2 -3
  364. package/build/cjs/utils/analytics.js.map +1 -1
  365. package/build/cjs/utils/common.js +1 -2
  366. package/build/cjs/utils/common.js.map +1 -1
  367. package/build/cjs/utils/hubspot.js +6 -7
  368. package/build/cjs/utils/hubspot.js.map +1 -1
  369. package/build/cjs/utils/microdata.js +1 -1
  370. package/build/cjs/utils/microdata.js.map +1 -1
  371. package/build/cjs/utils/url.js +10 -5
  372. package/build/cjs/utils/url.js.map +1 -1
  373. package/build/esm/blocks/Banner/Banner.js +2 -3
  374. package/build/esm/blocks/Banner/Banner.js.map +1 -1
  375. package/build/esm/blocks/Banner/schema.js +20 -8
  376. package/build/esm/blocks/Banner/schema.js.map +1 -1
  377. package/build/esm/blocks/CardLayout/CardLayout.js +2 -3
  378. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  379. package/build/esm/blocks/CardLayout/schema.js +19 -4
  380. package/build/esm/blocks/CardLayout/schema.js.map +1 -1
  381. package/build/esm/blocks/Companies/Companies.js +1 -1
  382. package/build/esm/blocks/Companies/Companies.js.map +1 -1
  383. package/build/esm/blocks/Companies/schema.js +10 -4
  384. package/build/esm/blocks/Companies/schema.js.map +1 -1
  385. package/build/esm/blocks/ContentLayout/ContentLayout.js +1 -1
  386. package/build/esm/blocks/ContentLayout/ContentLayout.js.map +1 -1
  387. package/build/esm/blocks/ContentLayout/schema.js +7 -2
  388. package/build/esm/blocks/ContentLayout/schema.js.map +1 -1
  389. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
  390. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  391. package/build/esm/blocks/ExtendedFeatures/schema.js +7 -1
  392. package/build/esm/blocks/ExtendedFeatures/schema.js.map +1 -1
  393. package/build/esm/blocks/FilterBlock/schema.js +13 -3
  394. package/build/esm/blocks/FilterBlock/schema.js.map +1 -1
  395. package/build/esm/blocks/Form/Form.js +3 -4
  396. package/build/esm/blocks/Form/Form.js.map +1 -1
  397. package/build/esm/blocks/Form/schema.js +14 -6
  398. package/build/esm/blocks/Form/schema.js.map +1 -1
  399. package/build/esm/blocks/Header/Header.js +8 -5
  400. package/build/esm/blocks/Header/Header.js.map +1 -1
  401. package/build/esm/blocks/Header/schema.js +9 -2
  402. package/build/esm/blocks/Header/schema.js.map +1 -1
  403. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +2 -4
  404. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  405. package/build/esm/blocks/HeaderSlider/schema.js +6 -2
  406. package/build/esm/blocks/HeaderSlider/schema.js.map +1 -1
  407. package/build/esm/blocks/Icons/Icons.js +2 -2
  408. package/build/esm/blocks/Icons/Icons.js.map +1 -1
  409. package/build/esm/blocks/Icons/schema.js +17 -6
  410. package/build/esm/blocks/Icons/schema.js.map +1 -1
  411. package/build/esm/blocks/Info/Info.js +8 -4
  412. package/build/esm/blocks/Info/Info.js.map +1 -1
  413. package/build/esm/blocks/Info/schema.js +14 -4
  414. package/build/esm/blocks/Info/schema.js.map +1 -1
  415. package/build/esm/blocks/Map/Map.js +2 -4
  416. package/build/esm/blocks/Map/Map.js.map +1 -1
  417. package/build/esm/blocks/Map/schema.js +4 -1
  418. package/build/esm/blocks/Map/schema.js.map +1 -1
  419. package/build/esm/blocks/Media/Media.js +1 -1
  420. package/build/esm/blocks/Media/Media.js.map +1 -1
  421. package/build/esm/blocks/Media/schema.js +24 -9
  422. package/build/esm/blocks/Media/schema.js.map +1 -1
  423. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  424. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  425. package/build/esm/blocks/PromoFeaturesBlock/schema.js +8 -2
  426. package/build/esm/blocks/PromoFeaturesBlock/schema.js.map +1 -1
  427. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -1
  428. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  429. package/build/esm/blocks/Questions/schema.js +6 -2
  430. package/build/esm/blocks/Questions/schema.js.map +1 -1
  431. package/build/esm/blocks/Share/schema.js +7 -3
  432. package/build/esm/blocks/Share/schema.js.map +1 -1
  433. package/build/esm/blocks/Slider/Slider.js +15 -14
  434. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  435. package/build/esm/blocks/Slider/schema.js +6 -1
  436. package/build/esm/blocks/Slider/schema.js.map +1 -1
  437. package/build/esm/blocks/Slider/utils.js +8 -5
  438. package/build/esm/blocks/Slider/utils.js.map +1 -1
  439. package/build/esm/blocks/SliderNew/Arrow/Arrow.js +1 -1
  440. package/build/esm/blocks/SliderNew/Arrow/Arrow.js.map +1 -1
  441. package/build/esm/blocks/SliderNew/Slider.d.ts +1 -1
  442. package/build/esm/blocks/SliderNew/Slider.js +6 -6
  443. package/build/esm/blocks/SliderNew/Slider.js.map +1 -1
  444. package/build/esm/blocks/SliderNew/schema.js +6 -1
  445. package/build/esm/blocks/SliderNew/schema.js.map +1 -1
  446. package/build/esm/blocks/SliderNew/useSlider.d.ts +1 -1
  447. package/build/esm/blocks/SliderNew/useSlider.js +1 -3
  448. package/build/esm/blocks/SliderNew/useSlider.js.map +1 -1
  449. package/build/esm/blocks/SliderNew/useSliderPagination.d.ts +1 -1
  450. package/build/esm/blocks/SliderNew/utils.d.ts +1 -1
  451. package/build/esm/blocks/SliderNew/utils.js +6 -2
  452. package/build/esm/blocks/SliderNew/utils.js.map +1 -1
  453. package/build/esm/blocks/Table/Table.js +1 -1
  454. package/build/esm/blocks/Table/Table.js.map +1 -1
  455. package/build/esm/blocks/Table/schema.js +22 -10
  456. package/build/esm/blocks/Table/schema.js.map +1 -1
  457. package/build/esm/blocks/Tabs/Tabs.js +16 -18
  458. package/build/esm/blocks/Tabs/Tabs.js.map +1 -1
  459. package/build/esm/blocks/Tabs/schema.js +24 -9
  460. package/build/esm/blocks/Tabs/schema.js.map +1 -1
  461. package/build/esm/components/Author/Author.js +1 -1
  462. package/build/esm/components/Author/Author.js.map +1 -1
  463. package/build/esm/components/Author/schema.js +5 -1
  464. package/build/esm/components/Author/schema.js.map +1 -1
  465. package/build/esm/components/BackLink/BackLink.js +1 -1
  466. package/build/esm/components/BackLink/BackLink.js.map +1 -1
  467. package/build/esm/components/BackgroundImage/BackgroundImage.js +1 -1
  468. package/build/esm/components/BackgroundImage/BackgroundImage.js.map +1 -1
  469. package/build/esm/components/BackgroundMedia/BackgroundMedia.js +4 -5
  470. package/build/esm/components/BackgroundMedia/BackgroundMedia.js.map +1 -1
  471. package/build/esm/components/BalancedMasonry/BalancedMasonry.js +1 -1
  472. package/build/esm/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  473. package/build/esm/components/Button/Button.js +9 -6
  474. package/build/esm/components/Button/Button.js.map +1 -1
  475. package/build/esm/components/Button/utils.js +2 -2
  476. package/build/esm/components/Button/utils.js.map +1 -1
  477. package/build/esm/components/Buttons/Buttons.js +4 -1
  478. package/build/esm/components/Buttons/Buttons.js.map +1 -1
  479. package/build/esm/components/CardBase/CardBase.js +6 -2
  480. package/build/esm/components/CardBase/CardBase.js.map +1 -1
  481. package/build/esm/components/ContentList/ContentList.js +1 -1
  482. package/build/esm/components/ContentList/ContentList.js.map +1 -1
  483. package/build/esm/components/ContentList/ContentListItemIcon.js +1 -1
  484. package/build/esm/components/ContentList/ContentListItemIcon.js.map +1 -1
  485. package/build/esm/components/DefaultVideo/DefaultVideo.js +3 -4
  486. package/build/esm/components/DefaultVideo/DefaultVideo.js.map +1 -1
  487. package/build/esm/components/FileLink/FileLink.js +2 -2
  488. package/build/esm/components/FileLink/FileLink.js.map +1 -1
  489. package/build/esm/components/FullWidthBackground/FullWidthBackground.js +12 -17
  490. package/build/esm/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  491. package/build/esm/components/FullscreenImage/FullscreenImage.js +1 -1
  492. package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
  493. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  494. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  495. package/build/esm/components/IconWrapper/IconWrapper.js +2 -2
  496. package/build/esm/components/IconWrapper/IconWrapper.js.map +1 -1
  497. package/build/esm/components/Image/schema.js +40 -12
  498. package/build/esm/components/Image/schema.js.map +1 -1
  499. package/build/esm/components/ImageBase/ImageBase.js +3 -5
  500. package/build/esm/components/ImageBase/ImageBase.js.map +1 -1
  501. package/build/esm/components/InnerForm/InnerForm.js +5 -6
  502. package/build/esm/components/InnerForm/InnerForm.js.map +1 -1
  503. package/build/esm/components/Link/Link.js +1 -1
  504. package/build/esm/components/Link/Link.js.map +1 -1
  505. package/build/esm/components/Links/Links.js +4 -1
  506. package/build/esm/components/Links/Links.js.map +1 -1
  507. package/build/esm/components/Map/Map.js +2 -2
  508. package/build/esm/components/Map/Map.js.map +1 -1
  509. package/build/esm/components/Map/YMap/YMap.js +6 -5
  510. package/build/esm/components/Map/YMap/YMap.js.map +1 -1
  511. package/build/esm/components/Map/YMap/YandexMap.js +1 -2
  512. package/build/esm/components/Map/YMap/YandexMap.js.map +1 -1
  513. package/build/esm/components/Map/YMap/YandexMapApiLoader.js +2 -1
  514. package/build/esm/components/Map/YMap/YandexMapApiLoader.js.map +1 -1
  515. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js +1 -1
  516. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js.map +1 -1
  517. package/build/esm/components/Media/Image/Image.js +3 -3
  518. package/build/esm/components/Media/Image/Image.js.map +1 -1
  519. package/build/esm/components/Media/Media.js +13 -5
  520. package/build/esm/components/Media/Media.js.map +1 -1
  521. package/build/esm/components/MediaBase/MediaBase.js +3 -4
  522. package/build/esm/components/MediaBase/MediaBase.js.map +1 -1
  523. package/build/esm/components/MediaBase/MediaBaseContent.js +1 -1
  524. package/build/esm/components/MediaBase/MediaBaseContent.js.map +1 -1
  525. package/build/esm/components/OutsideClick/OutsideClick.js +9 -12
  526. package/build/esm/components/OutsideClick/OutsideClick.js.map +1 -1
  527. package/build/esm/components/OverflowScroller/OverflowScroller.js +46 -49
  528. package/build/esm/components/OverflowScroller/OverflowScroller.js.map +1 -1
  529. package/build/esm/components/ReactPlayer/ReactPlayer.js +10 -12
  530. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  531. package/build/esm/components/ReactPlayer/utils.js +1 -2
  532. package/build/esm/components/ReactPlayer/utils.js.map +1 -1
  533. package/build/esm/components/Title/Title.js +2 -3
  534. package/build/esm/components/Title/Title.js.map +1 -1
  535. package/build/esm/components/Title/TitleItem.js +1 -1
  536. package/build/esm/components/Title/TitleItem.js.map +1 -1
  537. package/build/esm/components/VideoBlock/VideoBlock.js +5 -2
  538. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  539. package/build/esm/components/YandexForm/YandexForm.js +3 -3
  540. package/build/esm/components/YandexForm/YandexForm.js.map +1 -1
  541. package/build/esm/components/YandexForm/schema.js +7 -3
  542. package/build/esm/components/YandexForm/schema.js.map +1 -1
  543. package/build/esm/containers/Loadable/Loadable.js +3 -3
  544. package/build/esm/containers/Loadable/Loadable.js.map +1 -1
  545. package/build/esm/containers/PageConstructor/PageConstructor.js +14 -8
  546. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  547. package/build/esm/containers/PageConstructor/Provider.js +1 -1
  548. package/build/esm/containers/PageConstructor/Provider.js.map +1 -1
  549. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  550. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  551. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -3
  552. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  553. package/build/esm/context/theme/withTheme.js +7 -9
  554. package/build/esm/context/theme/withTheme.js.map +1 -1
  555. package/build/esm/customization/BlockDecoration.js +3 -6
  556. package/build/esm/customization/BlockDecoration.js.map +1 -1
  557. package/build/esm/editor/components/AddBlock/AddBlock.js +6 -8
  558. package/build/esm/editor/components/AddBlock/AddBlock.js.map +1 -1
  559. package/build/esm/editor/components/BlockForm/BlockForm.js +9 -5
  560. package/build/esm/editor/components/BlockForm/BlockForm.js.map +1 -1
  561. package/build/esm/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js +4 -5
  562. package/build/esm/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js.map +1 -1
  563. package/build/esm/editor/components/EditBlock/EditBlock.js +2 -2
  564. package/build/esm/editor/components/EditBlock/EditBlock.js.map +1 -1
  565. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js +2 -5
  566. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  567. package/build/esm/editor/components/Layout/Layout.js +3 -3
  568. package/build/esm/editor/components/Layout/Layout.js.map +1 -1
  569. package/build/esm/editor/components/PageSettings/PageSettings.js +2 -3
  570. package/build/esm/editor/components/PageSettings/PageSettings.js.map +1 -1
  571. package/build/esm/editor/containers/Editor/Editor.js +1 -1
  572. package/build/esm/editor/containers/Editor/Editor.js.map +1 -1
  573. package/build/esm/editor/containers/Editor/hooks/useCode.js +2 -4
  574. package/build/esm/editor/containers/Editor/hooks/useCode.js.map +1 -1
  575. package/build/esm/editor/containers/Editor/hooks/useEditorState.js +10 -8
  576. package/build/esm/editor/containers/Editor/hooks/useEditorState.js.map +1 -1
  577. package/build/esm/editor/containers/Form/Form.js +5 -2
  578. package/build/esm/editor/containers/Form/Form.js.map +1 -1
  579. package/build/esm/editor/data/index.js +4 -1
  580. package/build/esm/editor/data/index.js.map +1 -1
  581. package/build/esm/editor/data/previews/default-preview.js +1 -1
  582. package/build/esm/editor/data/previews/default-preview.js.map +1 -1
  583. package/build/esm/editor/data/previews/header-block.js +1 -1
  584. package/build/esm/editor/data/previews/header-block.js.map +1 -1
  585. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +15 -13
  586. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  587. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +8 -10
  588. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  589. package/build/esm/editor/dynamic-forms-custom/parser/index.js +150 -120
  590. package/build/esm/editor/dynamic-forms-custom/parser/index.js.map +1 -1
  591. package/build/esm/editor/dynamic-forms-custom/parser/views.js +2 -4
  592. package/build/esm/editor/dynamic-forms-custom/parser/views.js.map +1 -1
  593. package/build/esm/editor/icons/Tablet.js +1 -1
  594. package/build/esm/editor/icons/Tablet.js.map +1 -1
  595. package/build/esm/editor/store/main/index.js +7 -5
  596. package/build/esm/editor/store/main/index.js.map +1 -1
  597. package/build/esm/editor/store/main/reducer.js +17 -3
  598. package/build/esm/editor/store/main/reducer.js.map +1 -1
  599. package/build/esm/editor/store/main/utils.js +1 -1
  600. package/build/esm/editor/store/main/utils.js.map +1 -1
  601. package/build/esm/editor/store/settings/reducer.js +16 -4
  602. package/build/esm/editor/store/settings/reducer.js.map +1 -1
  603. package/build/esm/editor/utils/code.js +4 -2
  604. package/build/esm/editor/utils/code.js.map +1 -1
  605. package/build/esm/editor/utils/index.js +7 -1
  606. package/build/esm/editor/utils/index.js.map +1 -1
  607. package/build/esm/editor/widget/index.js +8 -8
  608. package/build/esm/editor/widget/index.js.map +1 -1
  609. package/build/esm/grid/Col/Col.js +1 -2
  610. package/build/esm/grid/Col/Col.js.map +1 -1
  611. package/build/esm/hooks/useAnalytics.js +4 -1
  612. package/build/esm/hooks/useAnalytics.js.map +1 -1
  613. package/build/esm/icons/BrandIconDark.js +1 -1
  614. package/build/esm/icons/BrandIconDark.js.map +1 -1
  615. package/build/esm/icons/BrandIconLight.js +1 -1
  616. package/build/esm/icons/BrandIconLight.js.map +1 -1
  617. package/build/esm/icons/BrandName.js +1 -1
  618. package/build/esm/icons/BrandName.js.map +1 -1
  619. package/build/esm/icons/Chevron.js +1 -1
  620. package/build/esm/icons/Chevron.js.map +1 -1
  621. package/build/esm/icons/Facebook.js +1 -1
  622. package/build/esm/icons/Facebook.js.map +1 -1
  623. package/build/esm/icons/Github.js +1 -1
  624. package/build/esm/icons/Github.js.map +1 -1
  625. package/build/esm/icons/Linkedin.js +1 -1
  626. package/build/esm/icons/Linkedin.js.map +1 -1
  627. package/build/esm/icons/NavigationArrow.js +1 -1
  628. package/build/esm/icons/NavigationArrow.js.map +1 -1
  629. package/build/esm/icons/NavigationChevron.js +1 -1
  630. package/build/esm/icons/NavigationChevron.js.map +1 -1
  631. package/build/esm/icons/Telegram.js +1 -1
  632. package/build/esm/icons/Telegram.js.map +1 -1
  633. package/build/esm/icons/Twitter.js +1 -1
  634. package/build/esm/icons/Twitter.js.map +1 -1
  635. package/build/esm/icons/Vk.js +1 -1
  636. package/build/esm/icons/Vk.js.map +1 -1
  637. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  638. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  639. package/build/esm/navigation/components/Logo/Logo.js +4 -6
  640. package/build/esm/navigation/components/Logo/Logo.js.map +1 -1
  641. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.js +2 -4
  642. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.js.map +1 -1
  643. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +7 -6
  644. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  645. package/build/esm/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js +1 -1
  646. package/build/esm/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js.map +1 -1
  647. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +2 -3
  648. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  649. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +1 -1
  650. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  651. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js +2 -4
  652. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js.map +1 -1
  653. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +4 -5
  654. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js.map +1 -1
  655. package/build/esm/navigation/components/NavigationList/NavigationList.js +1 -5
  656. package/build/esm/navigation/components/NavigationList/NavigationList.js.map +1 -1
  657. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js +2 -4
  658. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js.map +1 -1
  659. package/build/esm/navigation/components/SocialIcon/SocialIcon.js +1 -1
  660. package/build/esm/navigation/components/SocialIcon/SocialIcon.js.map +1 -1
  661. package/build/esm/navigation/components/Standalone/index.js +1 -1
  662. package/build/esm/navigation/components/Standalone/index.js.map +1 -1
  663. package/build/esm/navigation/hooks/useActiveNavItem.js +1 -1
  664. package/build/esm/navigation/hooks/useActiveNavItem.js.map +1 -1
  665. package/build/esm/navigation/schema.js +19 -6
  666. package/build/esm/navigation/schema.js.map +1 -1
  667. package/build/esm/navigation/utils.js +1 -1
  668. package/build/esm/navigation/utils.js.map +1 -1
  669. package/build/esm/schema/constants.js +33 -2
  670. package/build/esm/schema/constants.js.map +1 -1
  671. package/build/esm/schema/index.js +23 -6
  672. package/build/esm/schema/index.js.map +1 -1
  673. package/build/esm/schema/validators/common.js +77 -31
  674. package/build/esm/schema/validators/common.js.map +1 -1
  675. package/build/esm/schema/validators/utils.js +9 -2
  676. package/build/esm/schema/validators/utils.js.map +1 -1
  677. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js +1 -1
  678. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js.map +1 -1
  679. package/build/esm/sub-blocks/BackgroundCard/schema.js +23 -8
  680. package/build/esm/sub-blocks/BackgroundCard/schema.js.map +1 -1
  681. package/build/esm/sub-blocks/BannerCard/BannerCard.js +1 -1
  682. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  683. package/build/esm/sub-blocks/BasicCard/BasicCard.js +2 -3
  684. package/build/esm/sub-blocks/BasicCard/BasicCard.js.map +1 -1
  685. package/build/esm/sub-blocks/BasicCard/schema.js +17 -6
  686. package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
  687. package/build/esm/sub-blocks/Content/Content.js +1 -1
  688. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  689. package/build/esm/sub-blocks/Content/schema.js +10 -3
  690. package/build/esm/sub-blocks/Content/schema.js.map +1 -1
  691. package/build/esm/sub-blocks/Divider/schema.js +6 -2
  692. package/build/esm/sub-blocks/Divider/schema.js.map +1 -1
  693. package/build/esm/sub-blocks/HubspotForm/index.js +3 -3
  694. package/build/esm/sub-blocks/HubspotForm/index.js.map +1 -1
  695. package/build/esm/sub-blocks/HubspotForm/loadHubspotScript.js +1 -2
  696. package/build/esm/sub-blocks/HubspotForm/loadHubspotScript.js.map +1 -1
  697. package/build/esm/sub-blocks/HubspotForm/schema.js +11 -5
  698. package/build/esm/sub-blocks/HubspotForm/schema.js.map +1 -1
  699. package/build/esm/sub-blocks/ImageCard/ImageCard.js +1 -1
  700. package/build/esm/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  701. package/build/esm/sub-blocks/ImageCard/schema.js +17 -6
  702. package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
  703. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +11 -10
  704. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  705. package/build/esm/sub-blocks/LayoutItem/schema.js +19 -6
  706. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  707. package/build/esm/sub-blocks/LayoutItem/utils.js +4 -1
  708. package/build/esm/sub-blocks/LayoutItem/utils.js.map +1 -1
  709. package/build/esm/sub-blocks/MediaCard/MediaCard.js +1 -5
  710. package/build/esm/sub-blocks/MediaCard/MediaCard.js.map +1 -1
  711. package/build/esm/sub-blocks/MediaCard/schema.js +12 -3
  712. package/build/esm/sub-blocks/MediaCard/schema.js.map +1 -1
  713. package/build/esm/sub-blocks/PriceCard/PriceCard.js +1 -1
  714. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  715. package/build/esm/sub-blocks/PriceCard/schema.js +25 -11
  716. package/build/esm/sub-blocks/PriceCard/schema.js.map +1 -1
  717. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -2
  718. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  719. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  720. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  721. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +1 -5
  722. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js.map +1 -1
  723. package/build/esm/sub-blocks/PriceDetailed/schema.js +44 -12
  724. package/build/esm/sub-blocks/PriceDetailed/schema.js.map +1 -1
  725. package/build/esm/sub-blocks/Quote/Quote.js +6 -3
  726. package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
  727. package/build/esm/sub-blocks/Quote/schema.js +21 -8
  728. package/build/esm/sub-blocks/Quote/schema.js.map +1 -1
  729. package/build/esm/text-transform/common.js +10 -7
  730. package/build/esm/text-transform/common.js.map +1 -1
  731. package/build/esm/text-transform/config.js +26 -19
  732. package/build/esm/text-transform/config.js.map +1 -1
  733. package/build/esm/text-transform/filter.js +4 -1
  734. package/build/esm/text-transform/filter.js.map +1 -1
  735. package/build/esm/text-transform/transformers.js +1 -1
  736. package/build/esm/text-transform/transformers.js.map +1 -1
  737. package/build/esm/text-transform/utils.js +8 -6
  738. package/build/esm/text-transform/utils.js.map +1 -1
  739. package/build/esm/utils/analytics.js +2 -3
  740. package/build/esm/utils/analytics.js.map +1 -1
  741. package/build/esm/utils/common.js +1 -2
  742. package/build/esm/utils/common.js.map +1 -1
  743. package/build/esm/utils/hubspot.js +6 -7
  744. package/build/esm/utils/hubspot.js.map +1 -1
  745. package/build/esm/utils/microdata.js +1 -1
  746. package/build/esm/utils/microdata.js.map +1 -1
  747. package/build/esm/utils/url.js +10 -5
  748. package/build/esm/utils/url.js.map +1 -1
  749. package/package.json +1 -1
  750. package/widget/index.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sourceRoot":"../../../../src","sources":["blocks/Tabs/Tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import {useUniqId} from '@gravity-ui/uikit';\nimport * as React from 'react';\n\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport ButtonTabs, {ButtonTabsItemProps} from '../../components/ButtonTabs/ButtonTabs';\nimport FullscreenImage from '../../components/FullscreenImage/FullscreenImage';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport Media from '../../components/Media/Media';\nimport Title from '../../components/Title/Title';\nimport {getHeight} from '../../components/VideoBlock/VideoBlock';\nimport YFMWrapper from '../../components/YFMWrapper/YFMWrapper';\nimport {useTheme} from '../../context/theme';\nimport {Col, GridColumnOrderClasses, GridJustifyContent, Row} from '../../grid';\nimport {TabsBlockProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport {mergeVideoMicrodata} from '../../utils/microdata';\n\nimport TabsTextContent from './TabsTextContent/TabsTextContent';\nimport './Tabs.scss';\n\nconst b = block('tabs-block');\n\n// eslint-disable-next-line complexity\nexport const TabsBlock = ({\n items,\n title,\n description,\n animated,\n tabsColSizes,\n centered,\n direction = 'media-content',\n contentSize = 's',\n}: TabsBlockProps) => {\n const [activeTab, setActiveTab] = React.useState<string | null>(items[0].tabName);\n const [play, setPlay] = React.useState<boolean>(false);\n const theme = useTheme();\n const tabs: ButtonTabsItemProps[] = items.map(({tabName}) => ({title: tabName, id: tabName}));\n const activeTabData = items.find(({tabName}) => tabName === activeTab);\n const isReverse = direction === 'content-media';\n const ref = React.useRef<HTMLDivElement>(null);\n const mediaWidth = ref?.current?.offsetWidth;\n const captionId = useUniqId();\n const themedMedia = getThemedValue(activeTabData?.media, theme);\n const hasNoImage = !themedMedia?.image && !activeTabData?.image;\n const mediaVideoHeight = hasNoImage && mediaWidth && getHeight(mediaWidth);\n const [minImageHeight, setMinImageHeight] = React.useState(ref?.current?.offsetHeight);\n // TODO remove property support activeTabData?.image. Use only activeTabData?.media?.image\n let imageProps;\n\n const handleImageHeight = React.useCallback(() => {\n if (minImageHeight !== ref?.current?.offsetHeight) {\n setMinImageHeight(ref?.current?.offsetHeight);\n }\n }, [minImageHeight]);\n\n const onSelectTab = React.useCallback(\n (id: string | null, e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n setActiveTab(id);\n e.currentTarget.scrollIntoView({\n inline: 'center',\n behavior: 'smooth',\n block: 'nearest',\n });\n },\n [],\n );\n\n React.useEffect(() => {\n handleImageHeight();\n }, [activeTab, handleImageHeight]);\n\n if (activeTabData) {\n const themedImage = getThemedValue(activeTabData?.image, theme);\n\n imageProps = themedImage && getMediaImage(themedImage);\n\n if (activeTabData.caption && imageProps) {\n Object.assign(imageProps, {\n 'aria-describedby': captionId,\n });\n }\n }\n\n const showMedia = Boolean(activeTabData?.media || imageProps);\n const showText = Boolean(activeTabData?.text);\n const border = activeTabData?.border || 'shadow';\n\n const textContent = showText && (\n <TabsTextContent\n showMedia={showMedia}\n data={activeTabData}\n imageProps={imageProps ? imageProps : undefined}\n isReverse={isReverse}\n contentSize={contentSize}\n centered={centered}\n />\n );\n\n const mediaContent = showMedia && (\n <Col\n sizes={{all: 12, md: 8}}\n orders={{\n all: GridColumnOrderClasses.Last,\n md: GridColumnOrderClasses.First,\n }}\n className={b('col', {centered: centered})}\n >\n {activeTabData?.media && (\n <div style={{minHeight: mediaVideoHeight || minImageHeight}}>\n <div ref={ref}>\n <Media\n {...mergeVideoMicrodata(getThemedValue(activeTabData.media, theme), {\n name: activeTabData.tabName,\n description: activeTabData.caption\n ? activeTabData.caption\n : undefined,\n })}\n key={activeTab}\n className={b('media', {border})}\n playVideo={play}\n height={mediaVideoHeight || undefined}\n onImageLoad={handleImageHeight}\n />\n </div>\n </div>\n )}\n {imageProps && (\n <React.Fragment>\n <FullscreenImage {...imageProps} imageClassName={b('image', {border})} />\n </React.Fragment>\n )}\n {activeTabData?.caption && (\n <p className={b('caption')} id={captionId}>\n <YFMWrapper\n content={activeTabData.caption}\n modifiers={{constructor: true}}\n id={captionId}\n />\n </p>\n )}\n </Col>\n );\n\n return (\n <AnimateBlock className={b()} onScroll={() => setPlay(true)} animate={animated}>\n <Title\n title={title}\n subtitle={description}\n className={b('title', {centered: centered})}\n />\n <Row justifyContent={centered ? GridJustifyContent.Center : undefined}>\n <Col sizes={tabsColSizes}>\n <ButtonTabs\n items={tabs}\n onSelectTab={onSelectTab}\n activeTab={activeTab}\n className={b('tabs', {centered: centered})}\n />\n </Col>\n </Row>\n {activeTabData && (\n <Row className={b('row', {reverse: isReverse})}>\n {mediaContent}\n {textContent}\n </Row>\n )}\n </AnimateBlock>\n );\n};\n\nexport default TabsBlock;\n"]}
1
+ {"version":3,"file":"Tabs.js","sourceRoot":"../../../../src","sources":["blocks/Tabs/Tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import {useUniqId} from '@gravity-ui/uikit';\nimport * as React from 'react';\n\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport ButtonTabs, {ButtonTabsItemProps} from '../../components/ButtonTabs/ButtonTabs';\nimport FullscreenImage from '../../components/FullscreenImage/FullscreenImage';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport Media from '../../components/Media/Media';\nimport Title from '../../components/Title/Title';\nimport {getHeight} from '../../components/VideoBlock/VideoBlock';\nimport YFMWrapper from '../../components/YFMWrapper/YFMWrapper';\nimport {useTheme} from '../../context/theme';\nimport {Col, GridColumnOrderClasses, GridJustifyContent, Row} from '../../grid';\nimport {TabsBlockProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport {mergeVideoMicrodata} from '../../utils/microdata';\n\nimport TabsTextContent from './TabsTextContent/TabsTextContent';\nimport './Tabs.scss';\n\nconst b = block('tabs-block');\n\n// eslint-disable-next-line complexity\nexport const TabsBlock = ({\n items,\n title,\n description,\n animated,\n tabsColSizes,\n centered,\n direction = 'media-content',\n contentSize = 's',\n}: TabsBlockProps) => {\n const [activeTab, setActiveTab] = React.useState<string | null>(items[0].tabName);\n const [play, setPlay] = React.useState<boolean>(false);\n const theme = useTheme();\n const tabs: ButtonTabsItemProps[] = items.map(({tabName}) => ({title: tabName, id: tabName}));\n const activeTabData = items.find(({tabName}) => tabName === activeTab);\n const isReverse = direction === 'content-media';\n const ref = React.useRef<HTMLDivElement>(null);\n const mediaWidth = ref?.current?.offsetWidth;\n const captionId = useUniqId();\n const themedMedia = getThemedValue(activeTabData?.media, theme);\n const hasNoImage = !themedMedia?.image && !activeTabData?.image;\n const mediaVideoHeight = hasNoImage && mediaWidth && getHeight(mediaWidth);\n const [minImageHeight, setMinImageHeight] = React.useState(ref?.current?.offsetHeight);\n // TODO remove property support activeTabData?.image. Use only activeTabData?.media?.image\n let imageProps;\n\n const handleImageHeight = React.useCallback(() => {\n if (minImageHeight !== ref?.current?.offsetHeight) {\n setMinImageHeight(ref?.current?.offsetHeight);\n }\n }, [minImageHeight]);\n\n const onSelectTab = React.useCallback(\n (id: string | null, e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n setActiveTab(id);\n e.currentTarget.scrollIntoView({\n inline: 'center',\n behavior: 'smooth',\n block: 'nearest',\n });\n },\n [],\n );\n\n React.useEffect(() => {\n handleImageHeight();\n }, [activeTab, handleImageHeight]);\n\n if (activeTabData) {\n const themedImage = getThemedValue(activeTabData?.image, theme);\n\n imageProps = themedImage && getMediaImage(themedImage);\n\n if (activeTabData.caption && imageProps) {\n Object.assign(imageProps, {\n 'aria-describedby': captionId,\n });\n }\n }\n\n const showMedia = Boolean(activeTabData?.media || imageProps);\n const showText = Boolean(activeTabData?.text);\n const border = activeTabData?.border || 'shadow';\n\n const textContent = showText && (\n <TabsTextContent\n showMedia={showMedia}\n data={activeTabData}\n imageProps={imageProps ? imageProps : undefined}\n isReverse={isReverse}\n contentSize={contentSize}\n centered={centered}\n />\n );\n\n const mediaContent = showMedia && (\n <Col\n sizes={{all: 12, md: 8}}\n orders={{\n all: GridColumnOrderClasses.Last,\n md: GridColumnOrderClasses.First,\n }}\n className={b('col', {centered: centered})}\n >\n {activeTabData?.media && (\n <div style={{minHeight: mediaVideoHeight || minImageHeight}}>\n <div ref={ref}>\n <Media\n {...mergeVideoMicrodata(getThemedValue(activeTabData.media, theme), {\n name: activeTabData.tabName,\n description: activeTabData.caption\n ? activeTabData.caption\n : undefined,\n })}\n key={activeTab}\n className={b('media', {border})}\n playVideo={play}\n height={mediaVideoHeight || undefined}\n onImageLoad={handleImageHeight}\n />\n </div>\n </div>\n )}\n {imageProps && (\n <React.Fragment>\n <FullscreenImage {...imageProps} imageClassName={b('image', {border})} />\n </React.Fragment>\n )}\n {activeTabData?.caption && (\n <p className={b('caption')} id={captionId}>\n <YFMWrapper\n content={activeTabData.caption}\n modifiers={{constructor: true}}\n id={captionId}\n />\n </p>\n )}\n </Col>\n );\n\n return (\n <AnimateBlock className={b()} onScroll={() => setPlay(true)} animate={animated}>\n <Title\n title={title}\n subtitle={description}\n className={b('title', {centered: centered})}\n />\n <Row justifyContent={centered ? GridJustifyContent.Center : undefined}>\n <Col sizes={tabsColSizes}>\n <ButtonTabs\n items={tabs}\n onSelectTab={onSelectTab}\n activeTab={activeTab}\n className={b('tabs', {centered: centered})}\n />\n </Col>\n </Row>\n {activeTabData && (\n <Row className={b('row', {reverse: isReverse})}>\n {mediaContent}\n {textContent}\n </Row>\n )}\n </AnimateBlock>\n );\n};\n\nexport default TabsBlock;\n"]}
@@ -8,32 +8,47 @@ export const tabsItem = {
8
8
  type: 'object',
9
9
  additionalProperties: false,
10
10
  required: ['tabName'],
11
- properties: Object.assign(Object.assign({}, TabsItemContentProps), { tabName: {
11
+ properties: {
12
+ ...TabsItemContentProps,
13
+ tabName: {
12
14
  type: 'string',
13
- }, caption: {
15
+ },
16
+ caption: {
14
17
  type: 'string',
15
18
  contentType: 'text',
16
- }, media: withTheme({
19
+ },
20
+ media: withTheme({
17
21
  type: 'object',
18
22
  properties: MediaProps,
19
- }),
23
+ }),
20
24
  //TODO deprecated
21
- link: LinkProps, image: withTheme(ImageProps), border: {
25
+ link: LinkProps,
26
+ image: withTheme(ImageProps),
27
+ border: {
22
28
  type: 'string',
23
29
  enum: ['shadow', 'line', 'none'],
24
- } }),
30
+ },
31
+ },
25
32
  };
26
33
  export const TabsBlock = {
27
34
  'tabs-block': {
28
35
  additionalProperties: false,
29
36
  required: ['title', 'items'],
30
- properties: Object.assign(Object.assign(Object.assign({}, BlockBaseProps), BlockHeaderProps), { tabsColSizes: containerSizesArray.reduce((acc, size) => (Object.assign(Object.assign({}, acc), { [size]: sizeNumber })), {}), direction: {
37
+ properties: {
38
+ ...BlockBaseProps,
39
+ ...BlockHeaderProps,
40
+ tabsColSizes: containerSizesArray.reduce((acc, size) => ({ ...acc, [size]: sizeNumber }), {}),
41
+ direction: {
31
42
  type: 'string',
32
43
  enum: mediaDirection,
33
- }, centered: { type: 'boolean' }, items: filteredArray(tabsItem), contentSize: {
44
+ },
45
+ centered: { type: 'boolean' },
46
+ items: filteredArray(tabsItem),
47
+ contentSize: {
34
48
  type: 'string',
35
49
  enum: contentSizes,
36
- } }),
50
+ },
51
+ },
37
52
  },
38
53
  };
39
54
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Tabs/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,UAAU,EAAC,yCAAsC;AACzD,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,SAAS,GACZ,0CAAuC;AACxC,OAAO,EAAC,aAAa,EAAC,yCAAsC;AAC5D,OAAO,EAAC,WAAW,EAAC,2CAAwC;AAE5D,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,UAAU,kCACH,oBAAoB,KACvB,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;SACjB,EACD,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM;SACtB,EACD,KAAK,EAAE,SAAS,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,UAAU;SACzB,CAAC;QACF,iBAAiB;QACjB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,EAC5B,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACnC,GACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,YAAY,EAAE;QACV,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC5B,UAAU,gDACH,cAAc,GACd,gBAAgB,KACnB,YAAY,EAAE,mBAAmB,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,iCAAK,GAAG,KAAE,CAAC,IAAI,CAAC,EAAE,UAAU,IAAE,EAC7C,EAAE,CACL,EACD,SAAS,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,cAAc;aACvB,EACD,QAAQ,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,EAC3B,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC9B,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,YAAY;aACrB,GACJ;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {ImageProps} from '../../components/Image/schema';\nimport {\n BlockBaseProps,\n BlockHeaderProps,\n LinkProps,\n MediaProps,\n containerSizesArray,\n contentSizes,\n mediaDirection,\n sizeNumber,\n withTheme,\n} from '../../schema/validators/common';\nimport {filteredArray} from '../../schema/validators/utils';\nimport {ContentBase} from '../../sub-blocks/Content/schema';\n\nconst TabsItemContentProps = omit(ContentBase, ['size', 'colSizes', 'centered', 'theme']);\n\nexport const tabsItem = {\n type: 'object',\n additionalProperties: false,\n required: ['tabName'],\n properties: {\n ...TabsItemContentProps,\n tabName: {\n type: 'string',\n },\n caption: {\n type: 'string',\n contentType: 'text',\n },\n media: withTheme({\n type: 'object',\n properties: MediaProps,\n }),\n //TODO deprecated\n link: LinkProps,\n image: withTheme(ImageProps),\n border: {\n type: 'string',\n enum: ['shadow', 'line', 'none'],\n },\n },\n};\n\nexport const TabsBlock = {\n 'tabs-block': {\n additionalProperties: false,\n required: ['title', 'items'],\n properties: {\n ...BlockBaseProps,\n ...BlockHeaderProps,\n tabsColSizes: containerSizesArray.reduce(\n (acc, size) => ({...acc, [size]: sizeNumber}),\n {},\n ),\n direction: {\n type: 'string',\n enum: mediaDirection,\n },\n centered: {type: 'boolean'},\n items: filteredArray(tabsItem),\n contentSize: {\n type: 'string',\n enum: contentSizes,\n },\n },\n },\n};\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Tabs/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,UAAU,EAAC,yCAAsC;AACzD,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,SAAS,GACZ,0CAAuC;AACxC,OAAO,EAAC,aAAa,EAAC,yCAAsC;AAC5D,OAAO,EAAC,WAAW,EAAC,2CAAwC;AAE5D,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,UAAU,EAAE;QACR,GAAG,oBAAoB;QACvB,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;SACjB;QACD,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM;SACtB;QACD,KAAK,EAAE,SAAS,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,UAAU;SACzB,CAAC;QACF,iBAAiB;QACjB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC;QAC5B,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACnC;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,YAAY,EAAE;QACV,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC5B,UAAU,EAAE;YACR,GAAG,cAAc;YACjB,GAAG,gBAAgB;YACnB,YAAY,EAAE,mBAAmB,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAC,CAAC,EAC7C,EAAE,CACL;YACD,SAAS,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,cAAc;aACvB;YACD,QAAQ,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC;YAC3B,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC;YAC9B,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,YAAY;aACrB;SACJ;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {ImageProps} from '../../components/Image/schema';\nimport {\n BlockBaseProps,\n BlockHeaderProps,\n LinkProps,\n MediaProps,\n containerSizesArray,\n contentSizes,\n mediaDirection,\n sizeNumber,\n withTheme,\n} from '../../schema/validators/common';\nimport {filteredArray} from '../../schema/validators/utils';\nimport {ContentBase} from '../../sub-blocks/Content/schema';\n\nconst TabsItemContentProps = omit(ContentBase, ['size', 'colSizes', 'centered', 'theme']);\n\nexport const tabsItem = {\n type: 'object',\n additionalProperties: false,\n required: ['tabName'],\n properties: {\n ...TabsItemContentProps,\n tabName: {\n type: 'string',\n },\n caption: {\n type: 'string',\n contentType: 'text',\n },\n media: withTheme({\n type: 'object',\n properties: MediaProps,\n }),\n //TODO deprecated\n link: LinkProps,\n image: withTheme(ImageProps),\n border: {\n type: 'string',\n enum: ['shadow', 'line', 'none'],\n },\n },\n};\n\nexport const TabsBlock = {\n 'tabs-block': {\n additionalProperties: false,\n required: ['title', 'items'],\n properties: {\n ...BlockBaseProps,\n ...BlockHeaderProps,\n tabsColSizes: containerSizesArray.reduce(\n (acc, size) => ({...acc, [size]: sizeNumber}),\n {},\n ),\n direction: {\n type: 'string',\n enum: mediaDirection,\n },\n centered: {type: 'boolean'},\n items: filteredArray(tabsItem),\n contentSize: {\n type: 'string',\n enum: contentSizes,\n },\n },\n },\n};\n"]}
@@ -15,7 +15,7 @@ const Author = (props) => {
15
15
  if (!isAvatarJSX && avatar) {
16
16
  avatarProps = getMediaImage(avatar);
17
17
  }
18
- return (_jsxs("div", { className: b({ type, theme }, className), "data-qa": qa, children: [avatar && (_jsx("div", { className: b('avatar', authorContainerClassName), children: isAvatarJSX ? avatar : _jsx(Image, Object.assign({}, avatarProps)) })), _jsxs("div", { className: b('label'), children: [_jsx("div", { className: b('name'), children: name }), description && _jsx("div", { className: b('description'), children: description })] })] }));
18
+ return (_jsxs("div", { className: b({ type, theme }, className), "data-qa": qa, children: [avatar && (_jsx("div", { className: b('avatar', authorContainerClassName), children: isAvatarJSX ? avatar : _jsx(Image, { ...avatarProps }) })), _jsxs("div", { className: b('label'), children: [_jsx("div", { className: b('name'), children: name }), description && _jsx("div", { className: b('description'), children: description })] })] }));
19
19
  };
20
20
  export default Author;
21
21
  //# sourceMappingURL=Author.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Author.js","sourceRoot":"../../../../src","sources":["components/Author/Author.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAc,UAAU,EAAa,8BAAqB;AACjE,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,EAAC,aAAa,EAAC,gCAA6B;AACnD,OAAO,EAAC,KAAK,EAAC,oBAAiB;AAE/B,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE1B,MAAM,MAAM,GAAG,CAAC,KAA2C,EAAE,EAAE;IAC3D,MAAM,EACF,MAAM,EACN,SAAS,EACT,wBAAwB,EACxB,IAAI,GAAG,UAAU,CAAC,MAAM,EACxB,EAAE,EACF,KAAK,GACR,GAAG,KAAK,CAAC;IACV,MAAM,EAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAE5D,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;QACzB,WAAW,GAAG,aAAa,CAAC,MAAoB,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,SAAS,CAAC,aAAW,EAAE,aACnD,MAAM,IAAI,CACP,cAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,wBAAwB,CAAC,YAChD,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAC,KAAK,oBAAK,WAAW,EAAI,GAChD,CACT,EACD,eAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACtB,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAG,IAAI,GAAO,EACtC,WAAW,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,YAAG,WAAW,GAAO,IACnE,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AACF,eAAe,MAAM,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {AuthorProps, AuthorType, ImageProps} from '../../models';\nimport {block} from '../../utils';\nimport {getMediaImage} from '../Media/Image/utils';\nimport {Image} from '../index';\n\nimport './Author.scss';\n\nconst b = block('author');\n\nconst Author = (props: React.PropsWithChildren<AuthorProps>) => {\n const {\n author,\n className,\n authorContainerClassName,\n type = AuthorType.Column,\n qa,\n theme,\n } = props;\n const {firstName, secondName, description, avatar} = author;\n\n const name = secondName ? `${firstName} ${secondName}` : firstName;\n const isAvatarJSX = React.isValidElement(avatar);\n let avatarProps = {};\n if (!isAvatarJSX && avatar) {\n avatarProps = getMediaImage(avatar as ImageProps);\n }\n\n return (\n <div className={b({type, theme}, className)} data-qa={qa}>\n {avatar && (\n <div className={b('avatar', authorContainerClassName)}>\n {isAvatarJSX ? avatar : <Image {...avatarProps} />}\n </div>\n )}\n <div className={b('label')}>\n <div className={b('name')}>{name}</div>\n {description && <div className={b('description')}>{description}</div>}\n </div>\n </div>\n );\n};\nexport default Author;\n"]}
1
+ {"version":3,"file":"Author.js","sourceRoot":"../../../../src","sources":["components/Author/Author.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAc,UAAU,EAAa,8BAAqB;AACjE,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,EAAC,aAAa,EAAC,gCAA6B;AACnD,OAAO,EAAC,KAAK,EAAC,oBAAiB;AAE/B,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE1B,MAAM,MAAM,GAAG,CAAC,KAA2C,EAAE,EAAE;IAC3D,MAAM,EACF,MAAM,EACN,SAAS,EACT,wBAAwB,EACxB,IAAI,GAAG,UAAU,CAAC,MAAM,EACxB,EAAE,EACF,KAAK,GACR,GAAG,KAAK,CAAC;IACV,MAAM,EAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAE5D,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;QACzB,WAAW,GAAG,aAAa,CAAC,MAAoB,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,SAAS,CAAC,aAAW,EAAE,aACnD,MAAM,IAAI,CACP,cAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,wBAAwB,CAAC,YAChD,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAC,KAAK,OAAK,WAAW,GAAI,GAChD,CACT,EACD,eAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACtB,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAG,IAAI,GAAO,EACtC,WAAW,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,YAAG,WAAW,GAAO,IACnE,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AACF,eAAe,MAAM,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {AuthorProps, AuthorType, ImageProps} from '../../models';\nimport {block} from '../../utils';\nimport {getMediaImage} from '../Media/Image/utils';\nimport {Image} from '../index';\n\nimport './Author.scss';\n\nconst b = block('author');\n\nconst Author = (props: React.PropsWithChildren<AuthorProps>) => {\n const {\n author,\n className,\n authorContainerClassName,\n type = AuthorType.Column,\n qa,\n theme,\n } = props;\n const {firstName, secondName, description, avatar} = author;\n\n const name = secondName ? `${firstName} ${secondName}` : firstName;\n const isAvatarJSX = React.isValidElement(avatar);\n let avatarProps = {};\n if (!isAvatarJSX && avatar) {\n avatarProps = getMediaImage(avatar as ImageProps);\n }\n\n return (\n <div className={b({type, theme}, className)} data-qa={qa}>\n {avatar && (\n <div className={b('avatar', authorContainerClassName)}>\n {isAvatarJSX ? avatar : <Image {...avatarProps} />}\n </div>\n )}\n <div className={b('label')}>\n <div className={b('name')}>{name}</div>\n {description && <div className={b('description')}>{description}</div>}\n </div>\n </div>\n );\n};\nexport default Author;\n"]}
@@ -3,7 +3,11 @@ export const author = {
3
3
  author: {
4
4
  additionalProperties: false,
5
5
  required: ['author'],
6
- properties: Object.assign(Object.assign({}, BaseProps), { asides: {}, author: authorItem }),
6
+ properties: {
7
+ ...BaseProps,
8
+ asides: {},
9
+ author: authorItem,
10
+ },
7
11
  },
8
12
  };
9
13
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["components/Author/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,0CAAuC;AAErE,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,MAAM,EAAE;QACJ,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,kCACH,SAAS,KACZ,MAAM,EAAE,EAAE,EACV,MAAM,EAAE,UAAU,GACrB;KACJ;CACJ,CAAC","sourcesContent":["import {BaseProps, authorItem} from '../../schema/validators/common';\n\nexport const author = {\n author: {\n additionalProperties: false,\n required: ['author'],\n properties: {\n ...BaseProps,\n asides: {},\n author: authorItem,\n },\n },\n};\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["components/Author/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,0CAAuC;AAErE,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,MAAM,EAAE;QACJ,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE;YACR,GAAG,SAAS;YACZ,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,UAAU;SACrB;KACJ;CACJ,CAAC","sourcesContent":["import {BaseProps, authorItem} from '../../schema/validators/common';\n\nexport const author = {\n author: {\n additionalProperties: false,\n required: ['author'],\n properties: {\n ...BaseProps,\n asides: {},\n author: authorItem,\n },\n },\n};\n"]}
@@ -28,6 +28,6 @@ export default function BackLink(props) {
28
28
  href: shouldHandleBackAction ? undefined : url,
29
29
  extraProps,
30
30
  };
31
- return (_jsxs(Button, Object.assign({ className: className, view: theme === 'special' ? 'flat-contrast' : 'flat-secondary', size: size, onClick: shouldHandleBackAction ? backActionHandler : undefined, tabIndex: tabIndex }, buttonProps, { children: [_jsx(Icon, { data: ArrowLeft, size: 20 }), _jsx("span", { children: title })] })));
31
+ return (_jsxs(Button, { className: className, view: theme === 'special' ? 'flat-contrast' : 'flat-secondary', size: size, onClick: shouldHandleBackAction ? backActionHandler : undefined, tabIndex: tabIndex, ...buttonProps, children: [_jsx(Icon, { data: ArrowLeft, size: 20 }), _jsx("span", { children: title })] }));
32
32
  }
33
33
  //# sourceMappingURL=BackLink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackLink.js","sourceRoot":"../../../../src","sources":["components/BackLink/BackLink.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAc,IAAI,EAAkC,MAAM,mBAAmB,CAAC;AAE5F,OAAO,EAAC,eAAe,EAAC,+CAAsC;AAC9D,OAAO,EAAC,YAAY,EAAC,6BAAoB;AACzC,OAAO,EAAC,iBAAiB,EAAW,8BAAqB;AAezD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,EACF,GAAG,EACH,KAAK,EACL,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,GAAG,EACV,SAAS,EACT,sBAAsB,GAAG,KAAK,EAC9B,OAAO,EACP,QAAQ,EACR,UAAU,GACb,GAAG,KAAK,CAAC;IACV,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEzE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QACnD,eAAe,EAAE,CAAC;QAElB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAC,CAAC,CAAC;QAClC,CAAC;IACL,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG;QAChB,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;QAC9C,UAAU;KACO,CAAC;IAEtB,OAAO,CACH,MAAC,MAAM,kBACH,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,EAC9D,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAC/D,QAAQ,EAAE,QAAQ,IACd,WAAW,eAEf,KAAC,IAAI,IAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAI,EACnC,yBAAO,KAAK,GAAQ,KACf,CACZ,CAAC;AACN,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ArrowLeft} from '@gravity-ui/icons';\nimport {Button, ButtonSize, Icon, ButtonProps as UIKitButtonProps} from '@gravity-ui/uikit';\n\nimport {LocationContext} from '../../context/locationContext';\nimport {useAnalytics} from '../../hooks';\nimport {DefaultEventNames, Tabbable} from '../../models';\n\nexport type Theme = 'default' | 'special';\n\nexport interface BackLinkProps<T = HTMLElement> extends Tabbable {\n url: string;\n title: React.ReactNode;\n theme?: Theme;\n size?: ButtonSize;\n className?: string;\n shouldHandleBackAction?: boolean;\n onClick?: () => void;\n extraProps?: React.HTMLProps<T>;\n}\n\nexport default function BackLink(props: BackLinkProps) {\n const {history} = React.useContext(LocationContext);\n const {\n url,\n title,\n theme = 'default',\n size = 'l',\n className,\n shouldHandleBackAction = false,\n onClick,\n tabIndex,\n extraProps,\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.ShareButton, url);\n\n const backActionHandler = React.useCallback(async () => {\n handleAnalytics();\n\n if (!history) {\n return;\n }\n\n if (onClick) {\n onClick();\n }\n\n if (history.length > 1) {\n history.goBack();\n } else {\n history.push({pathname: url});\n }\n }, [handleAnalytics, history, onClick, url]);\n\n const buttonProps = {\n href: shouldHandleBackAction ? undefined : url,\n extraProps,\n } as UIKitButtonProps;\n\n return (\n <Button\n className={className}\n view={theme === 'special' ? 'flat-contrast' : 'flat-secondary'}\n size={size}\n onClick={shouldHandleBackAction ? backActionHandler : undefined}\n tabIndex={tabIndex}\n {...buttonProps}\n >\n <Icon data={ArrowLeft} size={20} />\n <span>{title}</span>\n </Button>\n );\n}\n"]}
1
+ {"version":3,"file":"BackLink.js","sourceRoot":"../../../../src","sources":["components/BackLink/BackLink.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAc,IAAI,EAAkC,MAAM,mBAAmB,CAAC;AAE5F,OAAO,EAAC,eAAe,EAAC,+CAAsC;AAC9D,OAAO,EAAC,YAAY,EAAC,6BAAoB;AACzC,OAAO,EAAC,iBAAiB,EAAW,8BAAqB;AAezD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,EACF,GAAG,EACH,KAAK,EACL,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,GAAG,EACV,SAAS,EACT,sBAAsB,GAAG,KAAK,EAC9B,OAAO,EACP,QAAQ,EACR,UAAU,GACb,GAAG,KAAK,CAAC;IACV,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEzE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QACnD,eAAe,EAAE,CAAC;QAElB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAC,CAAC,CAAC;QAClC,CAAC;IACL,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG;QAChB,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;QAC9C,UAAU;KACO,CAAC;IAEtB,OAAO,CACH,MAAC,MAAM,IACH,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,EAC9D,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAC/D,QAAQ,EAAE,QAAQ,KACd,WAAW,aAEf,KAAC,IAAI,IAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAI,EACnC,yBAAO,KAAK,GAAQ,IACf,CACZ,CAAC;AACN,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ArrowLeft} from '@gravity-ui/icons';\nimport {Button, ButtonSize, Icon, ButtonProps as UIKitButtonProps} from '@gravity-ui/uikit';\n\nimport {LocationContext} from '../../context/locationContext';\nimport {useAnalytics} from '../../hooks';\nimport {DefaultEventNames, Tabbable} from '../../models';\n\nexport type Theme = 'default' | 'special';\n\nexport interface BackLinkProps<T = HTMLElement> extends Tabbable {\n url: string;\n title: React.ReactNode;\n theme?: Theme;\n size?: ButtonSize;\n className?: string;\n shouldHandleBackAction?: boolean;\n onClick?: () => void;\n extraProps?: React.HTMLProps<T>;\n}\n\nexport default function BackLink(props: BackLinkProps) {\n const {history} = React.useContext(LocationContext);\n const {\n url,\n title,\n theme = 'default',\n size = 'l',\n className,\n shouldHandleBackAction = false,\n onClick,\n tabIndex,\n extraProps,\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.ShareButton, url);\n\n const backActionHandler = React.useCallback(async () => {\n handleAnalytics();\n\n if (!history) {\n return;\n }\n\n if (onClick) {\n onClick();\n }\n\n if (history.length > 1) {\n history.goBack();\n } else {\n history.push({pathname: url});\n }\n }, [handleAnalytics, history, onClick, url]);\n\n const buttonProps = {\n href: shouldHandleBackAction ? undefined : url,\n extraProps,\n } as UIKitButtonProps;\n\n return (\n <Button\n className={className}\n view={theme === 'special' ? 'flat-contrast' : 'flat-secondary'}\n size={size}\n onClick={shouldHandleBackAction ? backActionHandler : undefined}\n tabIndex={tabIndex}\n {...buttonProps}\n >\n <Icon data={ArrowLeft} size={20} />\n <span>{title}</span>\n </Button>\n );\n}\n"]}
@@ -7,7 +7,7 @@ const b = block('storage-background-image');
7
7
  const BackgroundImage = (props) => {
8
8
  const { children, src, desktop, className, imageClassName, style, hide, qa } = props;
9
9
  const qaAttributes = getQaAttrubutes(qa || qaIdByDefault);
10
- return (_jsxs("div", { className: b(null, className), style: style, "data-qa": qa || qaIdByDefault, children: [(src || desktop) && !hide && (_jsx(Image, Object.assign({}, props, { className: b('img', imageClassName), qa: qaAttributes.image }))), children && _jsx("div", { className: b('container'), children: children })] }));
10
+ return (_jsxs("div", { className: b(null, className), style: style, "data-qa": qa || qaIdByDefault, children: [(src || desktop) && !hide && (_jsx(Image, { ...props, className: b('img', imageClassName), qa: qaAttributes.image })), children && _jsx("div", { className: b('container'), children: children })] }));
11
11
  };
12
12
  export default BackgroundImage;
13
13
  //# sourceMappingURL=BackgroundImage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundImage.js","sourceRoot":"../../../../src","sources":["components/BackgroundImage/BackgroundImage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,KAAK,EAAE,eAAe,EAAC,6BAAoB;AACnD,OAAO,KAAK,0BAAuB;AAEnC,OAAO,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEhD,MAAM,CAAC,GAAG,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAE5C,MAAM,eAAe,GAAG,CAAC,KAAoD,EAAE,EAAE;IAC7E,MAAM,EAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAC,GAAG,KAAK,CAAC;IACnF,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,IAAI,aAAa,CAAC,CAAC;IAE1D,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,aAAW,EAAE,IAAI,aAAa,aACzE,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAC1B,KAAC,KAAK,oBAAK,KAAK,IAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,KAAK,IAAI,CACpF,EACA,QAAQ,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,YAAG,QAAQ,GAAO,IAC3D,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {BackgroundImageProps} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport Image from '../Image/Image';\n\nimport './BackgroundImage.scss';\n\nexport const qaIdByDefault = 'background-image';\n\nconst b = block('storage-background-image');\n\nconst BackgroundImage = (props: React.PropsWithChildren<BackgroundImageProps>) => {\n const {children, src, desktop, className, imageClassName, style, hide, qa} = props;\n const qaAttributes = getQaAttrubutes(qa || qaIdByDefault);\n\n return (\n <div className={b(null, className)} style={style} data-qa={qa || qaIdByDefault}>\n {(src || desktop) && !hide && (\n <Image {...props} className={b('img', imageClassName)} qa={qaAttributes.image} />\n )}\n {children && <div className={b('container')}>{children}</div>}\n </div>\n );\n};\n\nexport default BackgroundImage;\n"]}
1
+ {"version":3,"file":"BackgroundImage.js","sourceRoot":"../../../../src","sources":["components/BackgroundImage/BackgroundImage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,KAAK,EAAE,eAAe,EAAC,6BAAoB;AACnD,OAAO,KAAK,0BAAuB;AAEnC,OAAO,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEhD,MAAM,CAAC,GAAG,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAE5C,MAAM,eAAe,GAAG,CAAC,KAAoD,EAAE,EAAE;IAC7E,MAAM,EAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAC,GAAG,KAAK,CAAC;IACnF,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,IAAI,aAAa,CAAC,CAAC;IAE1D,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,aAAW,EAAE,IAAI,aAAa,aACzE,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAC1B,KAAC,KAAK,OAAK,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,KAAK,GAAI,CACpF,EACA,QAAQ,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,YAAG,QAAQ,GAAO,IAC3D,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {BackgroundImageProps} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport Image from '../Image/Image';\n\nimport './BackgroundImage.scss';\n\nexport const qaIdByDefault = 'background-image';\n\nconst b = block('storage-background-image');\n\nconst BackgroundImage = (props: React.PropsWithChildren<BackgroundImageProps>) => {\n const {children, src, desktop, className, imageClassName, style, hide, qa} = props;\n const qaAttributes = getQaAttrubutes(qa || qaIdByDefault);\n\n return (\n <div className={b(null, className)} style={style} data-qa={qa || qaIdByDefault}>\n {(src || desktop) && !hide && (\n <Image {...props} className={b('img', imageClassName)} qa={qaAttributes.image} />\n )}\n {children && <div className={b('container')}>{children}</div>}\n </div>\n );\n};\n\nexport default BackgroundImage;\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import * as React from 'react';
4
3
  import { MobileContext } from "../../context/mobileContext/index.js";
@@ -7,14 +6,14 @@ import AnimateBlock from "../AnimateBlock/AnimateBlock.js";
7
6
  import Media from "../Media/Media.js";
8
7
  import './BackgroundMedia.css';
9
8
  const b = block('BackgroundMedia');
10
- const BackgroundMedia = (_a) => {
11
- var { className, color, animated, parallax = true, video, mediaClassName, fullWidthMedia, qa } = _a, props = __rest(_a, ["className", "color", "animated", "parallax", "video", "mediaClassName", "fullWidthMedia", "qa"]);
9
+ const BackgroundMedia = ({ className, color, animated, parallax = true, video, mediaClassName, fullWidthMedia, qa, ...props }) => {
12
10
  const isMobile = React.useContext(MobileContext);
13
11
  const qaAttributes = getQaAttrubutes(qa, 'media');
14
- return (_jsx(AnimateBlock, { className: b(null, className), style: { backgroundColor: color }, animate: animated, qa: qaAttributes.animate, children: _jsx(Media, Object.assign({ className: b('media', { 'full-width-media': fullWidthMedia }, mediaClassName), imageClassName: b('image'), videoClassName: b('video'), isBackground: true, qa: qaAttributes.media, height: 720,
12
+ return (_jsx(AnimateBlock, { className: b(null, className), style: { backgroundColor: color }, animate: animated, qa: qaAttributes.animate, children: _jsx(Media, { className: b('media', { 'full-width-media': fullWidthMedia }, mediaClassName), imageClassName: b('image'), videoClassName: b('video'), isBackground: true, qa: qaAttributes.media, height: 720,
15
13
  color,
16
14
  parallax,
17
- video: isMobile ? undefined : video }, props)) }));
15
+ video: isMobile ? undefined : video,
16
+ ...props }) }));
18
17
  };
19
18
  export default BackgroundMedia;
20
19
  //# sourceMappingURL=BackgroundMedia.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundMedia.js","sourceRoot":"../../../../src","sources":["components/BackgroundMedia/BackgroundMedia.tsx"],"names":[],"mappings":";;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,aAAa,EAAC,6CAAoC;AAE1D,OAAO,EAAC,KAAK,EAAE,eAAe,EAAC,6BAAoB;AACnD,OAAO,YAAY,wCAAqC;AACxD,OAAO,KAAK,0BAAuB;AAEnC,OAAO,uBAAuB,CAAC;AAE/B,MAAM,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAEnC,MAAM,eAAe,GAAG,CAAC,EAUF,EAAE,EAAE;QAVF,EACrB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,GAAG,IAAI,EACf,KAAK,EACL,cAAc,EACd,cAAc,EACd,EAAE,OAEiB,EADhB,KAAK,cATa,iGAUxB,CADW;IAER,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAElD,OAAO,CACH,KAAC,YAAY,IACT,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,KAAK,EAAE,EAAC,eAAe,EAAE,KAAK,EAAC,EAC/B,OAAO,EAAE,QAAQ,EACjB,EAAE,EAAE,YAAY,CAAC,OAAO,YAExB,KAAC,KAAK,kBACF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAC,kBAAkB,EAAE,cAAc,EAAC,EAAE,cAAc,CAAC,EAC3E,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,EAC1B,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,EAC1B,YAAY,EAAE,IAAI,EAClB,EAAE,EAAE,YAAY,CAAC,KAAK,EAElB,MAAM,EAAE,GAAG;YACX,KAAK;YACL,QAAQ;YACR,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAChC,KAAK,EAEd,GACS,CAClB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {MobileContext} from '../../context/mobileContext';\nimport {BackgroundMediaProps} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport AnimateBlock from '../AnimateBlock/AnimateBlock';\nimport Media from '../Media/Media';\n\nimport './BackgroundMedia.scss';\n\nconst b = block('BackgroundMedia');\n\nconst BackgroundMedia = ({\n className,\n color,\n animated,\n parallax = true,\n video,\n mediaClassName,\n fullWidthMedia,\n qa,\n ...props\n}: BackgroundMediaProps) => {\n const isMobile = React.useContext(MobileContext);\n const qaAttributes = getQaAttrubutes(qa, 'media');\n\n return (\n <AnimateBlock\n className={b(null, className)}\n style={{backgroundColor: color}}\n animate={animated}\n qa={qaAttributes.animate}\n >\n <Media\n className={b('media', {'full-width-media': fullWidthMedia}, mediaClassName)}\n imageClassName={b('image')}\n videoClassName={b('video')}\n isBackground={true}\n qa={qaAttributes.media}\n {...{\n height: 720,\n color,\n parallax,\n video: isMobile ? undefined : video,\n ...props,\n }}\n />\n </AnimateBlock>\n );\n};\n\nexport default BackgroundMedia;\n"]}
1
+ {"version":3,"file":"BackgroundMedia.js","sourceRoot":"../../../../src","sources":["components/BackgroundMedia/BackgroundMedia.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,aAAa,EAAC,6CAAoC;AAE1D,OAAO,EAAC,KAAK,EAAE,eAAe,EAAC,6BAAoB;AACnD,OAAO,YAAY,wCAAqC;AACxD,OAAO,KAAK,0BAAuB;AAEnC,OAAO,uBAAuB,CAAC;AAE/B,MAAM,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAEnC,MAAM,eAAe,GAAG,CAAC,EACrB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,GAAG,IAAI,EACf,KAAK,EACL,cAAc,EACd,cAAc,EACd,EAAE,EACF,GAAG,KAAK,EACW,EAAE,EAAE;IACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAElD,OAAO,CACH,KAAC,YAAY,IACT,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,KAAK,EAAE,EAAC,eAAe,EAAE,KAAK,EAAC,EAC/B,OAAO,EAAE,QAAQ,EACjB,EAAE,EAAE,YAAY,CAAC,OAAO,YAExB,KAAC,KAAK,IACF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAC,kBAAkB,EAAE,cAAc,EAAC,EAAE,cAAc,CAAC,EAC3E,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,EAC1B,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,EAC1B,YAAY,EAAE,IAAI,EAClB,EAAE,EAAE,YAAY,CAAC,KAAK,EAElB,MAAM,EAAE,GAAG;YACX,KAAK;YACL,QAAQ;YACR,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;YACnC,GAAG,KAAK,GAEd,GACS,CAClB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {MobileContext} from '../../context/mobileContext';\nimport {BackgroundMediaProps} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport AnimateBlock from '../AnimateBlock/AnimateBlock';\nimport Media from '../Media/Media';\n\nimport './BackgroundMedia.scss';\n\nconst b = block('BackgroundMedia');\n\nconst BackgroundMedia = ({\n className,\n color,\n animated,\n parallax = true,\n video,\n mediaClassName,\n fullWidthMedia,\n qa,\n ...props\n}: BackgroundMediaProps) => {\n const isMobile = React.useContext(MobileContext);\n const qaAttributes = getQaAttrubutes(qa, 'media');\n\n return (\n <AnimateBlock\n className={b(null, className)}\n style={{backgroundColor: color}}\n animate={animated}\n qa={qaAttributes.animate}\n >\n <Media\n className={b('media', {'full-width-media': fullWidthMedia}, mediaClassName)}\n imageClassName={b('image')}\n videoClassName={b('video')}\n isBackground={true}\n qa={qaAttributes.media}\n {...{\n height: 720,\n color,\n parallax,\n video: isMobile ? undefined : video,\n ...props,\n }}\n />\n </AnimateBlock>\n );\n};\n\nexport default BackgroundMedia;\n"]}
@@ -22,7 +22,7 @@ const BalancedMasonry = (props) => {
22
22
  }
23
23
  for (const [rawWidth, columnCount] of breakpoints) {
24
24
  const width = Number(rawWidth);
25
- if ((document === null || document === void 0 ? void 0 : document.body.clientWidth) <= width) {
25
+ if (document?.body.clientWidth <= width) {
26
26
  result = columnCount;
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BalancedMasonry.js","sourceRoot":"../../../../src","sources":["components/BalancedMasonry/BalancedMasonry.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\nimport first from 'lodash/first';\nimport minBy from 'lodash/minBy';\n\nimport {SSRContext} from '../../context/ssrContext';\nimport {QAProps} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\n\nimport './BalancedMasonry.scss';\n\nconst b = block('BalancedMasonry');\n\nexport interface BalancedMasonryProps extends QAProps {\n className: string;\n columnClassName: string;\n children: React.ReactNode[];\n breakpointCols: {\n [key: number]: number;\n };\n}\n\nconst BalancedMasonry = (props: React.PropsWithChildren<BalancedMasonryProps>) => {\n const {className, columnClassName, children = [], breakpointCols, qa} = props;\n const qaAttributes = getQaAttrubutes(qa, 'column');\n const {isServer} = React.useContext(SSRContext);\n const getCurrentColumnsCount = React.useCallback(() => {\n const breakpoints = Object.entries(breakpointCols).sort(\n ([firstBreakpoint], [secondBreakpoint]) => {\n return Number(secondBreakpoint) - Number(firstBreakpoint);\n },\n );\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let [, result] = first(breakpoints)!;\n\n if (isServer) {\n return result;\n }\n\n for (const [rawWidth, columnCount] of breakpoints) {\n const width = Number(rawWidth);\n\n if (document?.body.clientWidth <= width) {\n result = columnCount;\n }\n }\n\n return result;\n }, [breakpointCols, isServer]);\n\n const [columnCount, setColumnCount] = React.useState(getCurrentColumnsCount());\n const [columns, setColumns] = React.useState<React.ReactNode[][]>([]);\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const balanceColumns = React.useCallback(\n debounce(() => {\n if (!containerRef.current) {\n return;\n }\n\n const localColumns: React.ReactNode[][] = [];\n const columnsMeta = [];\n\n for (let i = 0; i < columnCount; i++) {\n columnsMeta.push({id: i, height: 0});\n localColumns.push([]);\n }\n\n for (let i = 0; i < containerRef.current.children.length; i++) {\n const node = containerRef.current.children.item(i) as HTMLElement | null;\n\n if (!node) {\n continue;\n }\n\n const minColumn = minBy(columnsMeta, 'height') || {id: 0, height: 0};\n const {id: columnId} = minColumn;\n\n localColumns[columnId].push(children[i]);\n\n minColumn.height += node.offsetHeight;\n }\n\n setColumns(localColumns);\n }, 300),\n [children, columnCount],\n );\n\n React.useEffect(() => {\n balanceColumns();\n }, [balanceColumns, children, columnCount]);\n\n React.useEffect(() => {\n const updateColumnCounter = () => setColumnCount(getCurrentColumnsCount());\n\n window.addEventListener('resize', updateColumnCounter, {passive: true});\n return () => window.removeEventListener('resize', updateColumnCounter);\n }, [setColumnCount, columns, getCurrentColumnsCount]);\n\n React.useEffect(() => {\n const currentRef = containerRef.current;\n const isResizeEventsSupported = 'ResizeObserver' in window;\n\n if (!currentRef || !isResizeEventsSupported) {\n return () => {};\n }\n\n const observer = new ResizeObserver(balanceColumns);\n\n for (let i = 0; i < currentRef.children.length; i++) {\n const node = currentRef.children.item(i) as HTMLElement | null;\n\n if (!node) {\n continue;\n }\n\n observer.observe(node);\n }\n\n return () => observer.disconnect();\n }, [balanceColumns, children]);\n\n return (\n <div className={b(null, className)} data-qa={qa}>\n <div className={b('hidden-container')} style={{width: `${100 / columnCount}%`}}>\n <div ref={containerRef} className={b('hidden-list')}>\n {children}\n </div>\n </div>\n\n {columns.map((columnElements, index) => (\n <div\n key={index}\n className={columnClassName}\n style={{width: `${100 / columnCount}%`}}\n data-qa={qaAttributes.column}\n >\n {columnElements}\n </div>\n ))}\n </div>\n );\n};\n\nexport default BalancedMasonry;\n"]}
1
+ {"version":3,"file":"BalancedMasonry.js","sourceRoot":"../../../../src","sources":["components/BalancedMasonry/BalancedMasonry.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\nimport first from 'lodash/first';\nimport minBy from 'lodash/minBy';\n\nimport {SSRContext} from '../../context/ssrContext';\nimport {QAProps} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\n\nimport './BalancedMasonry.scss';\n\nconst b = block('BalancedMasonry');\n\nexport interface BalancedMasonryProps extends QAProps {\n className: string;\n columnClassName: string;\n children: React.ReactNode[];\n breakpointCols: {\n [key: number]: number;\n };\n}\n\nconst BalancedMasonry = (props: React.PropsWithChildren<BalancedMasonryProps>) => {\n const {className, columnClassName, children = [], breakpointCols, qa} = props;\n const qaAttributes = getQaAttrubutes(qa, 'column');\n const {isServer} = React.useContext(SSRContext);\n const getCurrentColumnsCount = React.useCallback(() => {\n const breakpoints = Object.entries(breakpointCols).sort(\n ([firstBreakpoint], [secondBreakpoint]) => {\n return Number(secondBreakpoint) - Number(firstBreakpoint);\n },\n );\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let [, result] = first(breakpoints)!;\n\n if (isServer) {\n return result;\n }\n\n for (const [rawWidth, columnCount] of breakpoints) {\n const width = Number(rawWidth);\n\n if (document?.body.clientWidth <= width) {\n result = columnCount;\n }\n }\n\n return result;\n }, [breakpointCols, isServer]);\n\n const [columnCount, setColumnCount] = React.useState(getCurrentColumnsCount());\n const [columns, setColumns] = React.useState<React.ReactNode[][]>([]);\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const balanceColumns = React.useCallback(\n debounce(() => {\n if (!containerRef.current) {\n return;\n }\n\n const localColumns: React.ReactNode[][] = [];\n const columnsMeta = [];\n\n for (let i = 0; i < columnCount; i++) {\n columnsMeta.push({id: i, height: 0});\n localColumns.push([]);\n }\n\n for (let i = 0; i < containerRef.current.children.length; i++) {\n const node = containerRef.current.children.item(i) as HTMLElement | null;\n\n if (!node) {\n continue;\n }\n\n const minColumn = minBy(columnsMeta, 'height') || {id: 0, height: 0};\n const {id: columnId} = minColumn;\n\n localColumns[columnId].push(children[i]);\n\n minColumn.height += node.offsetHeight;\n }\n\n setColumns(localColumns);\n }, 300),\n [children, columnCount],\n );\n\n React.useEffect(() => {\n balanceColumns();\n }, [balanceColumns, children, columnCount]);\n\n React.useEffect(() => {\n const updateColumnCounter = () => setColumnCount(getCurrentColumnsCount());\n\n window.addEventListener('resize', updateColumnCounter, {passive: true});\n return () => window.removeEventListener('resize', updateColumnCounter);\n }, [setColumnCount, columns, getCurrentColumnsCount]);\n\n React.useEffect(() => {\n const currentRef = containerRef.current;\n const isResizeEventsSupported = 'ResizeObserver' in window;\n\n if (!currentRef || !isResizeEventsSupported) {\n return () => {};\n }\n\n const observer = new ResizeObserver(balanceColumns);\n\n for (let i = 0; i < currentRef.children.length; i++) {\n const node = currentRef.children.item(i) as HTMLElement | null;\n\n if (!node) {\n continue;\n }\n\n observer.observe(node);\n }\n\n return () => observer.disconnect();\n }, [balanceColumns, children]);\n\n return (\n <div className={b(null, className)} data-qa={qa}>\n <div className={b('hidden-container')} style={{width: `${100 / columnCount}%`}}>\n <div ref={containerRef} className={b('hidden-list')}>\n {children}\n </div>\n </div>\n\n {columns.map((columnElements, index) => (\n <div\n key={index}\n className={columnClassName}\n style={{width: `${100 / columnCount}%`}}\n data-qa={qaAttributes.column}\n >\n {columnElements}\n </div>\n ))}\n </div>\n );\n};\n\nexport default BalancedMasonry;\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
2
  import * as React from 'react';
4
3
  import { StoreBadge } from '@gravity-ui/components';
@@ -15,7 +14,7 @@ const b = block('button-block');
15
14
  // eslint-disable-next-line complexity
16
15
  const Button = (props) => {
17
16
  const { tld } = React.useContext(LocaleContext);
18
- const { className, analyticsEvents, size = 'l', theme = 'normal', url, urlTitle, img, onClick: onClickOrigin, text, width } = props, rest = __rest(props, ["className", "analyticsEvents", "size", "theme", "url", "urlTitle", "img", "onClick", "text", "width"]);
17
+ const { className, analyticsEvents, size = 'l', theme = 'normal', url, urlTitle, img, onClick: onClickOrigin, text, width, ...rest } = props;
19
18
  const defaultImgPosition = 'left';
20
19
  const handleAnalytics = useAnalytics(DefaultEventNames.Button, url);
21
20
  const onClick = React.useCallback((e) => {
@@ -29,9 +28,13 @@ const Button = (props) => {
29
28
  ? { url: img.url, position: img.position || defaultImgPosition, alt: img.alt }
30
29
  : { url: img, position: defaultImgPosition };
31
30
  const buttonClass = img
32
- ? b(Object.assign({ position: buttonImg.position }, buttonModifiers), className)
33
- : b(Object.assign({}, buttonModifiers), className);
34
- const buttonProps = Object.assign(Object.assign({}, rest), { href: url ? setUrlTld(url, tld) : undefined, onClick });
31
+ ? b({ position: buttonImg.position, ...buttonModifiers }, className)
32
+ : b({ ...buttonModifiers }, className);
33
+ const buttonProps = {
34
+ ...rest,
35
+ href: url ? setUrlTld(url, tld) : undefined,
36
+ onClick,
37
+ };
35
38
  if (theme === 'app-store' || theme === 'google-play') {
36
39
  const platform = theme === 'app-store' ? Platform.IOS : Platform.ANDROID;
37
40
  return _jsx(StoreBadge, { className: buttonClass, platform: platform, href: url });
@@ -43,7 +46,7 @@ const Button = (props) => {
43
46
  image = undefined;
44
47
  }
45
48
  const buttonTheme = theme === 'scale' ? 'accent' : theme;
46
- return (_jsxs(CommonButton, Object.assign({ className: buttonClass, view: toCommonView(buttonTheme), size: toCommonSize(size), title: urlTitle, width: width }, buttonProps, { children: [icon && buttonImg.position === 'left' ? icon : null, _jsxs("span", { className: b('content'), children: [image && buttonImg.position === 'left' ? image : null, _jsx("span", { className: b('text'), children: text }), image && buttonImg.position === 'right' ? image : null] }), icon && buttonImg.position === 'right' ? icon : null] })));
49
+ return (_jsxs(CommonButton, { className: buttonClass, view: toCommonView(buttonTheme), size: toCommonSize(size), title: urlTitle, width: width, ...buttonProps, children: [icon && buttonImg.position === 'left' ? icon : null, _jsxs("span", { className: b('content'), children: [image && buttonImg.position === 'left' ? image : null, _jsx("span", { className: b('text'), children: text }), image && buttonImg.position === 'right' ? image : null] }), icon && buttonImg.position === 'right' ? icon : null] }));
47
50
  };
48
51
  export default Button;
49
52
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"../../../../src","sources":["components/Button/Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {StoreBadge} from '@gravity-ui/components';\nimport {\n Button as CommonButton,\n Icon,\n Platform,\n ButtonProps as UIKitButtonProps,\n} from '@gravity-ui/uikit';\n\nimport {LocaleContext} from '../../context/localeContext/localeContext';\nimport {useAnalytics} from '../../hooks';\nimport {Github} from '../../icons';\nimport {ButtonProps as ButtonParams, DefaultEventNames, QAProps} from '../../models';\nimport {block, setUrlTld} from '../../utils';\n\nimport {i18n} from './i18n';\nimport {ICON_QA, OldButtonSize, OldButtonTheme, toCommonSize, toCommonView} from './utils';\n\nimport './Button.scss';\n\nexport interface ButtonProps extends Omit<ButtonParams, 'url'>, QAProps {\n className?: string;\n url?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement | HTMLAnchorElement>;\n}\n\nconst b = block('button-block');\n\n// eslint-disable-next-line complexity\nconst Button = (props: ButtonProps) => {\n const {tld} = React.useContext(LocaleContext);\n const {\n className,\n analyticsEvents,\n size = 'l',\n theme = 'normal',\n url,\n urlTitle,\n img,\n onClick: onClickOrigin,\n text,\n width,\n ...rest\n } = props;\n const defaultImgPosition = 'left';\n const handleAnalytics = useAnalytics(DefaultEventNames.Button, url);\n const onClick = React.useCallback(\n (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n handleAnalytics(analyticsEvents);\n\n if (onClickOrigin) {\n onClickOrigin(e);\n }\n },\n [handleAnalytics, analyticsEvents, onClickOrigin],\n );\n\n const buttonModifiers = {size, theme, width};\n\n const buttonImg =\n img instanceof Object\n ? {url: img.url, position: img.position || defaultImgPosition, alt: img.alt}\n : {url: img, position: defaultImgPosition};\n\n const buttonClass = img\n ? b({position: buttonImg.position, ...buttonModifiers}, className)\n : b({...buttonModifiers}, className);\n\n const buttonProps = {\n ...rest,\n href: url ? setUrlTld(url, tld) : undefined,\n onClick,\n };\n\n if (theme === 'app-store' || theme === 'google-play') {\n const platform = theme === 'app-store' ? Platform.IOS : Platform.ANDROID;\n\n return <StoreBadge className={buttonClass} platform={platform} href={url as string} />;\n }\n\n let icon;\n let image = img && (\n <img className={b('image')} src={buttonImg.url} alt={buttonImg.alt || i18n('image-alt')} />\n );\n\n if (theme === 'github') {\n icon = <Icon className={b('icon')} data={Github} size={24} qa={ICON_QA} />;\n image = undefined;\n }\n\n const buttonTheme = theme === 'scale' ? 'accent' : theme;\n\n return (\n <CommonButton\n className={buttonClass}\n view={toCommonView(buttonTheme as OldButtonTheme)}\n size={toCommonSize(size as OldButtonSize)}\n title={urlTitle}\n width={width}\n {...(buttonProps as UIKitButtonProps)}\n >\n {icon && buttonImg.position === 'left' ? icon : null}\n <span className={b('content')}>\n {image && buttonImg.position === 'left' ? image : null}\n <span className={b('text')}>{text}</span>\n {image && buttonImg.position === 'right' ? image : null}\n </span>\n {icon && buttonImg.position === 'right' ? icon : null}\n </CommonButton>\n );\n};\n\nexport default Button;\n"]}
1
+ {"version":3,"file":"Button.js","sourceRoot":"../../../../src","sources":["components/Button/Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {StoreBadge} from '@gravity-ui/components';\nimport {\n Button as CommonButton,\n Icon,\n Platform,\n ButtonProps as UIKitButtonProps,\n} from '@gravity-ui/uikit';\n\nimport {LocaleContext} from '../../context/localeContext/localeContext';\nimport {useAnalytics} from '../../hooks';\nimport {Github} from '../../icons';\nimport {ButtonProps as ButtonParams, DefaultEventNames, QAProps} from '../../models';\nimport {block, setUrlTld} from '../../utils';\n\nimport {i18n} from './i18n';\nimport {ICON_QA, OldButtonSize, OldButtonTheme, toCommonSize, toCommonView} from './utils';\n\nimport './Button.scss';\n\nexport interface ButtonProps extends Omit<ButtonParams, 'url'>, QAProps {\n className?: string;\n url?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement | HTMLAnchorElement>;\n}\n\nconst b = block('button-block');\n\n// eslint-disable-next-line complexity\nconst Button = (props: ButtonProps) => {\n const {tld} = React.useContext(LocaleContext);\n const {\n className,\n analyticsEvents,\n size = 'l',\n theme = 'normal',\n url,\n urlTitle,\n img,\n onClick: onClickOrigin,\n text,\n width,\n ...rest\n } = props;\n const defaultImgPosition = 'left';\n const handleAnalytics = useAnalytics(DefaultEventNames.Button, url);\n const onClick = React.useCallback(\n (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n handleAnalytics(analyticsEvents);\n\n if (onClickOrigin) {\n onClickOrigin(e);\n }\n },\n [handleAnalytics, analyticsEvents, onClickOrigin],\n );\n\n const buttonModifiers = {size, theme, width};\n\n const buttonImg =\n img instanceof Object\n ? {url: img.url, position: img.position || defaultImgPosition, alt: img.alt}\n : {url: img, position: defaultImgPosition};\n\n const buttonClass = img\n ? b({position: buttonImg.position, ...buttonModifiers}, className)\n : b({...buttonModifiers}, className);\n\n const buttonProps = {\n ...rest,\n href: url ? setUrlTld(url, tld) : undefined,\n onClick,\n };\n\n if (theme === 'app-store' || theme === 'google-play') {\n const platform = theme === 'app-store' ? Platform.IOS : Platform.ANDROID;\n\n return <StoreBadge className={buttonClass} platform={platform} href={url as string} />;\n }\n\n let icon;\n let image = img && (\n <img className={b('image')} src={buttonImg.url} alt={buttonImg.alt || i18n('image-alt')} />\n );\n\n if (theme === 'github') {\n icon = <Icon className={b('icon')} data={Github} size={24} qa={ICON_QA} />;\n image = undefined;\n }\n\n const buttonTheme = theme === 'scale' ? 'accent' : theme;\n\n return (\n <CommonButton\n className={buttonClass}\n view={toCommonView(buttonTheme as OldButtonTheme)}\n size={toCommonSize(size as OldButtonSize)}\n title={urlTitle}\n width={width}\n {...(buttonProps as UIKitButtonProps)}\n >\n {icon && buttonImg.position === 'left' ? icon : null}\n <span className={b('content')}>\n {image && buttonImg.position === 'left' ? image : null}\n <span className={b('text')}>{text}</span>\n {image && buttonImg.position === 'right' ? image : null}\n </span>\n {icon && buttonImg.position === 'right' ? icon : null}\n </CommonButton>\n );\n};\n\nexport default Button;\n"]}
@@ -25,6 +25,6 @@ const sizeMap = {
25
25
  head: 'l',
26
26
  promo: 'xl',
27
27
  };
28
- export const toCommonView = (theme) => { var _a; return (_a = themeMap[theme]) !== null && _a !== void 0 ? _a : theme; };
29
- export const toCommonSize = (size) => { var _a; return (_a = sizeMap[size]) !== null && _a !== void 0 ? _a : size; };
28
+ export const toCommonView = (theme) => themeMap[theme] ?? theme;
29
+ export const toCommonSize = (size) => sizeMap[size] ?? size;
30
30
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["components/Button/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAkBrC,MAAM,QAAQ,GAAuC;IACjD,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,eAAe;IAC/B,gBAAgB,EAAE,iBAAiB;IACnC,aAAa,EAAE,mBAAmB;IAClC,gBAAgB,EAAE,mBAAmB;CACxC,CAAC;AAIF,MAAM,OAAO,GAAsC;IAC/C,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAqB,EAAE,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAA,EAAA,CAAC;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAA,EAAA,CAAC","sourcesContent":["import {ButtonSize, ButtonView} from '@gravity-ui/uikit';\n\nexport const ICON_QA = 'button-icon';\n\nexport type OldButtonTheme =\n | 'normal'\n | 'action'\n | 'flat'\n | 'light'\n | 'clear'\n | 'raised'\n | 'pseudo'\n | 'link'\n | 'accent'\n | 'websearch'\n | 'flat-special'\n | 'normal-special'\n | 'normal-dark'\n | 'pseudo-special';\n\nconst themeMap: Record<OldButtonTheme, ButtonView> = {\n normal: 'normal',\n action: 'action',\n flat: 'flat',\n light: 'flat-secondary',\n clear: 'flat-secondary',\n raised: 'raised',\n pseudo: 'outlined',\n link: 'outlined-info',\n accent: 'action',\n websearch: 'action',\n 'flat-special': 'flat-contrast',\n 'normal-special': 'normal-contrast',\n 'normal-dark': 'outlined-contrast',\n 'pseudo-special': 'outlined-contrast',\n};\n\nexport type OldButtonSize = 'xs' | 'ns' | 's' | 'm' | 'l' | 'n' | 'head' | 'promo';\n\nconst sizeMap: Record<OldButtonSize, ButtonSize> = {\n xs: 's',\n ns: 's',\n s: 'm',\n m: 'l',\n l: 'l',\n n: 'l',\n head: 'l',\n promo: 'xl',\n};\n\nexport const toCommonView = (theme: OldButtonTheme) => themeMap[theme] ?? theme;\nexport const toCommonSize = (size: OldButtonSize) => sizeMap[size] ?? size;\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["components/Button/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAkBrC,MAAM,QAAQ,GAAuC;IACjD,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,eAAe;IAC/B,gBAAgB,EAAE,iBAAiB;IACnC,aAAa,EAAE,mBAAmB;IAClC,gBAAgB,EAAE,mBAAmB;CACxC,CAAC;AAIF,MAAM,OAAO,GAAsC;IAC/C,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC","sourcesContent":["import {ButtonSize, ButtonView} from '@gravity-ui/uikit';\n\nexport const ICON_QA = 'button-icon';\n\nexport type OldButtonTheme =\n | 'normal'\n | 'action'\n | 'flat'\n | 'light'\n | 'clear'\n | 'raised'\n | 'pseudo'\n | 'link'\n | 'accent'\n | 'websearch'\n | 'flat-special'\n | 'normal-special'\n | 'normal-dark'\n | 'pseudo-special';\n\nconst themeMap: Record<OldButtonTheme, ButtonView> = {\n normal: 'normal',\n action: 'action',\n flat: 'flat',\n light: 'flat-secondary',\n clear: 'flat-secondary',\n raised: 'raised',\n pseudo: 'outlined',\n link: 'outlined-info',\n accent: 'action',\n websearch: 'action',\n 'flat-special': 'flat-contrast',\n 'normal-special': 'normal-contrast',\n 'normal-dark': 'outlined-contrast',\n 'pseudo-special': 'outlined-contrast',\n};\n\nexport type OldButtonSize = 'xs' | 'ns' | 's' | 'm' | 'l' | 'n' | 'head' | 'promo';\n\nconst sizeMap: Record<OldButtonSize, ButtonSize> = {\n xs: 's',\n ns: 's',\n s: 'm',\n m: 'l',\n l: 'l',\n n: 'l',\n head: 'l',\n promo: 'xl',\n};\n\nexport const toCommonView = (theme: OldButtonTheme) => themeMap[theme] ?? theme;\nexport const toCommonSize = (size: OldButtonSize) => sizeMap[size] ?? size;\n"]}
@@ -13,6 +13,9 @@ function getButtonSize(size) {
13
13
  return 'xl';
14
14
  }
15
15
  }
16
- const Buttons = ({ className, titleId, buttons, size = 's', qa, buttonQa, }) => buttons ? (_jsx("div", { className: b({ size }, className), "data-qa": qa, children: buttons.map((item) => (_createElement(Button, Object.assign({ className: b('button') }, item, { key: item.url, size: getButtonSize(size), qa: buttonQa, extraProps: Object.assign({ 'aria-describedby': item.urlTitle ? undefined : titleId }, item.extraProps) })))) })) : null;
16
+ const Buttons = ({ className, titleId, buttons, size = 's', qa, buttonQa, }) => buttons ? (_jsx("div", { className: b({ size }, className), "data-qa": qa, children: buttons.map((item) => (_createElement(Button, { className: b('button'), ...item, key: item.url, size: getButtonSize(size), qa: buttonQa, extraProps: {
17
+ 'aria-describedby': item.urlTitle ? undefined : titleId,
18
+ ...item.extraProps,
19
+ } }))) })) : null;
17
20
  export default Buttons;
18
21
  //# sourceMappingURL=Buttons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Buttons.js","sourceRoot":"../../../../src","sources":["components/Buttons/Buttons.tsx"],"names":[],"mappings":";;AAGA,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,MAAM,4BAAyB;AAEtC,OAAO,eAAe,CAAC;AAEvB,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAW3B,SAAS,aAAa,CAAC,IAAiB;IACpC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,GAAG;YACJ,OAAO,GAAG,CAAC;QACf,KAAK,GAAG,CAAC;QACT;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC;AAED,MAAM,OAAO,GAA2B,CAAC,EACrC,SAAS,EACT,OAAO,EACP,OAAO,EACP,IAAI,GAAG,GAAG,EACV,EAAE,EACF,QAAQ,GACX,EAAE,EAAE,CACD,OAAO,CAAC,CAAC,CAAC,CACN,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,SAAS,CAAC,aAAW,EAAE,YAC5C,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,eAAC,MAAM,kBACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAClB,IAAI,IACR,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EACzB,EAAE,EAAE,QAAQ,EACZ,UAAU,kBACN,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IACpD,IAAI,CAAC,UAAU,KAExB,CACL,CAAC,GACA,CACT,CAAC,CAAC,CAAC,IAAI,CAAC;AAEb,eAAe,OAAO,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ButtonProps, ContentSize} from '../../models';\nimport {block} from '../../utils';\nimport Button from '../Button/Button';\n\nimport './Buttons.scss';\n\nconst b = block('buttons');\n\ntype ButtonsProps = {\n className?: string;\n buttons?: ButtonProps[];\n size?: ContentSize;\n titleId?: string;\n qa?: string;\n buttonQa?: string;\n};\n\nfunction getButtonSize(size: ContentSize) {\n switch (size) {\n case 's':\n return 'm';\n case 'l':\n default:\n return 'xl';\n }\n}\n\nconst Buttons: React.FC<ButtonsProps> = ({\n className,\n titleId,\n buttons,\n size = 's',\n qa,\n buttonQa,\n}) =>\n buttons ? (\n <div className={b({size}, className)} data-qa={qa}>\n {buttons.map((item) => (\n <Button\n className={b('button')}\n {...item}\n key={item.url}\n size={getButtonSize(size)}\n qa={buttonQa}\n extraProps={{\n 'aria-describedby': item.urlTitle ? undefined : titleId,\n ...item.extraProps,\n }}\n />\n ))}\n </div>\n ) : null;\n\nexport default Buttons;\n"]}
1
+ {"version":3,"file":"Buttons.js","sourceRoot":"../../../../src","sources":["components/Buttons/Buttons.tsx"],"names":[],"mappings":";;AAGA,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,MAAM,4BAAyB;AAEtC,OAAO,eAAe,CAAC;AAEvB,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAW3B,SAAS,aAAa,CAAC,IAAiB;IACpC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,GAAG;YACJ,OAAO,GAAG,CAAC;QACf,KAAK,GAAG,CAAC;QACT;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC;AAED,MAAM,OAAO,GAA2B,CAAC,EACrC,SAAS,EACT,OAAO,EACP,OAAO,EACP,IAAI,GAAG,GAAG,EACV,EAAE,EACF,QAAQ,GACX,EAAE,EAAE,CACD,OAAO,CAAC,CAAC,CAAC,CACN,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,SAAS,CAAC,aAAW,EAAE,YAC5C,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,eAAC,MAAM,IACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAClB,IAAI,EACR,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EACzB,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE;YACR,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;YACvD,GAAG,IAAI,CAAC,UAAU;SACrB,GACH,CACL,CAAC,GACA,CACT,CAAC,CAAC,CAAC,IAAI,CAAC;AAEb,eAAe,OAAO,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ButtonProps, ContentSize} from '../../models';\nimport {block} from '../../utils';\nimport Button from '../Button/Button';\n\nimport './Buttons.scss';\n\nconst b = block('buttons');\n\ntype ButtonsProps = {\n className?: string;\n buttons?: ButtonProps[];\n size?: ContentSize;\n titleId?: string;\n qa?: string;\n buttonQa?: string;\n};\n\nfunction getButtonSize(size: ContentSize) {\n switch (size) {\n case 's':\n return 'm';\n case 'l':\n default:\n return 'xl';\n }\n}\n\nconst Buttons: React.FC<ButtonsProps> = ({\n className,\n titleId,\n buttons,\n size = 's',\n qa,\n buttonQa,\n}) =>\n buttons ? (\n <div className={b({size}, className)} data-qa={qa}>\n {buttons.map((item) => (\n <Button\n className={b('button')}\n {...item}\n key={item.url}\n size={getButtonSize(size)}\n qa={buttonQa}\n extraProps={{\n 'aria-describedby': item.urlTitle ? undefined : titleId,\n ...item.extraProps,\n }}\n />\n ))}\n </div>\n ) : null;\n\nexport default Buttons;\n"]}
@@ -37,12 +37,16 @@ export const Layout = (props) => {
37
37
  handleChild(child);
38
38
  }
39
39
  });
40
- const cardContent = (_jsxs(React.Fragment, { children: [(header || image) && (_jsx(BackgroundImage, Object.assign({ className: b('header', headerClass) }, (typeof image === 'string' ? { src: image } : image), { qa: qaAttributes.header, children: _jsx("div", { className: b('header-content'), children: header }) }))), _jsxs("div", { className: b('body', bodyClassName), "data-qa": qaAttributes.body, children: [_jsx("div", { className: b('content', contentClassName), "data-qa": qaAttributes.content, children: content }), footer && (_jsx("div", { className: b('footer', footerClass), "data-qa": qaAttributes.footer, children: footer }))] })] }));
40
+ const cardContent = (_jsxs(React.Fragment, { children: [(header || image) && (_jsx(BackgroundImage, { className: b('header', headerClass), ...(typeof image === 'string' ? { src: image } : image), qa: qaAttributes.header, children: _jsx("div", { className: b('header-content'), children: header }) })), _jsxs("div", { className: b('body', bodyClassName), "data-qa": qaAttributes.body, children: [_jsx("div", { className: b('content', contentClassName), "data-qa": qaAttributes.content, children: content }), footer && (_jsx("div", { className: b('footer', footerClass), "data-qa": qaAttributes.footer, children: footer }))] })] }));
41
41
  const fullClassName = b({ border }, className);
42
42
  const onClick = () => {
43
43
  handleAnalytics(analyticsEvents);
44
44
  };
45
- return url ? (_jsx(RouterLink, { href: url, children: _jsx(Link, { href: url, target: target, rel: target === '_blank' ? 'noopener noreferrer' : undefined, className: fullClassName, onClick: onClick, title: urlTitle, extraProps: Object.assign({ draggable: false, onDragStart: (e) => e.preventDefault() }, extraProps), qa: qa, children: cardContent }) })) : (_jsx("div", Object.assign({ className: fullClassName, "data-qa": qa }, extraProps, { children: cardContent })));
45
+ return url ? (_jsx(RouterLink, { href: url, children: _jsx(Link, { href: url, target: target, rel: target === '_blank' ? 'noopener noreferrer' : undefined, className: fullClassName, onClick: onClick, title: urlTitle, extraProps: {
46
+ draggable: false,
47
+ onDragStart: (e) => e.preventDefault(),
48
+ ...extraProps,
49
+ }, qa: qa, children: cardContent }) })) : (_jsx("div", { className: fullClassName, "data-qa": qa, ...extraProps, children: cardContent }));
46
50
  };
47
51
  Layout.Header = Header;
48
52
  Layout.Content = Content;
@@ -1 +1 @@
1
- {"version":3,"file":"CardBase.js","sourceRoot":"../../../../src","sources":["components/CardBase/CardBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Link} from '@gravity-ui/uikit';\n\nimport {useAnalytics} from '../../hooks';\nimport {\n AnalyticsEventsBase,\n CardBaseProps as CardBaseParams,\n DefaultEventNames,\n ImageProps,\n} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport BackgroundImage from '../BackgroundImage/BackgroundImage';\nimport RouterLink from '../RouterLink/RouterLink';\n\nimport './CardBase.scss';\n\ninterface CardBaseProps extends AnalyticsEventsBase, CardBaseParams {\n className?: string;\n bodyClassName?: string;\n contentClassName?: string;\n url?: string;\n urlTitle?: string;\n target?: React.HTMLAttributeAnchorTarget;\n qa?: string;\n extraProps?: React.HTMLAttributes<HTMLElement>;\n}\n\nexport type CardBasePropsType = React.PropsWithChildren<CardBaseProps>;\n\nexport interface CardHeaderBaseProps {\n className?: string;\n image?: ImageProps | null;\n}\n\nexport interface CardFooterBaseProps {\n className?: string;\n}\n\nconst b = block('card-base-block');\n\nconst Header: React.FC<React.PropsWithChildren<CardHeaderBaseProps>> = () => null;\nconst Content: React.FC<React.PropsWithChildren<{}>> = () => null;\nconst Footer: React.FC<React.PropsWithChildren<CardFooterBaseProps>> = () => null;\n\nexport const Layout = (props: CardBasePropsType) => {\n const {\n className,\n bodyClassName,\n analyticsEvents,\n contentClassName,\n children,\n url,\n target,\n border = 'shadow',\n urlTitle,\n qa,\n extraProps = {},\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.CardBase, url);\n let header, content, footer, image, headerClass, footerClass;\n const qaAttributes = getQaAttrubutes(qa, 'header', 'footer', 'body', 'content');\n\n function handleChild(child: React.ReactElement) {\n switch (child.type) {\n case Header:\n header = child.props.children;\n image = child.props.image;\n headerClass = child.props.className;\n break;\n case Content:\n content = child.props.children;\n break;\n case Footer:\n footer = child.props.children;\n footerClass = child.props.className;\n break;\n }\n }\n\n React.Children.toArray(children).forEach((child) => {\n if (React.isValidElement(child)) {\n handleChild(child);\n }\n });\n\n const cardContent = (\n <React.Fragment>\n {(header || image) && (\n <BackgroundImage\n className={b('header', headerClass)}\n {...(typeof image === 'string' ? {src: image} : image)}\n qa={qaAttributes.header}\n >\n <div className={b('header-content')}>{header}</div>\n </BackgroundImage>\n )}\n <div className={b('body', bodyClassName)} data-qa={qaAttributes.body}>\n <div className={b('content', contentClassName)} data-qa={qaAttributes.content}>\n {content}\n </div>\n {footer && (\n <div className={b('footer', footerClass)} data-qa={qaAttributes.footer}>\n {footer}\n </div>\n )}\n </div>\n </React.Fragment>\n );\n\n const fullClassName = b({border}, className);\n\n const onClick = () => {\n handleAnalytics(analyticsEvents);\n };\n\n return url ? (\n <RouterLink href={url}>\n <Link\n href={url}\n target={target}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n className={fullClassName}\n onClick={onClick}\n title={urlTitle}\n extraProps={{\n draggable: false,\n onDragStart: (e: React.DragEvent<HTMLAnchorElement>) => e.preventDefault(),\n ...extraProps,\n }}\n qa={qa}\n >\n {cardContent}\n </Link>\n </RouterLink>\n ) : (\n <div className={fullClassName} data-qa={qa} {...extraProps}>\n {cardContent}\n </div>\n );\n};\n\nLayout.Header = Header;\nLayout.Content = Content;\nLayout.Footer = Footer;\n\nexport default Layout;\n"]}
1
+ {"version":3,"file":"CardBase.js","sourceRoot":"../../../../src","sources":["components/CardBase/CardBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Link} from '@gravity-ui/uikit';\n\nimport {useAnalytics} from '../../hooks';\nimport {\n AnalyticsEventsBase,\n CardBaseProps as CardBaseParams,\n DefaultEventNames,\n ImageProps,\n} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport BackgroundImage from '../BackgroundImage/BackgroundImage';\nimport RouterLink from '../RouterLink/RouterLink';\n\nimport './CardBase.scss';\n\ninterface CardBaseProps extends AnalyticsEventsBase, CardBaseParams {\n className?: string;\n bodyClassName?: string;\n contentClassName?: string;\n url?: string;\n urlTitle?: string;\n target?: React.HTMLAttributeAnchorTarget;\n qa?: string;\n extraProps?: React.HTMLAttributes<HTMLElement>;\n}\n\nexport type CardBasePropsType = React.PropsWithChildren<CardBaseProps>;\n\nexport interface CardHeaderBaseProps {\n className?: string;\n image?: ImageProps | null;\n}\n\nexport interface CardFooterBaseProps {\n className?: string;\n}\n\nconst b = block('card-base-block');\n\nconst Header: React.FC<React.PropsWithChildren<CardHeaderBaseProps>> = () => null;\nconst Content: React.FC<React.PropsWithChildren<{}>> = () => null;\nconst Footer: React.FC<React.PropsWithChildren<CardFooterBaseProps>> = () => null;\n\nexport const Layout = (props: CardBasePropsType) => {\n const {\n className,\n bodyClassName,\n analyticsEvents,\n contentClassName,\n children,\n url,\n target,\n border = 'shadow',\n urlTitle,\n qa,\n extraProps = {},\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.CardBase, url);\n let header, content, footer, image, headerClass, footerClass;\n const qaAttributes = getQaAttrubutes(qa, 'header', 'footer', 'body', 'content');\n\n function handleChild(child: React.ReactElement) {\n switch (child.type) {\n case Header:\n header = child.props.children;\n image = child.props.image;\n headerClass = child.props.className;\n break;\n case Content:\n content = child.props.children;\n break;\n case Footer:\n footer = child.props.children;\n footerClass = child.props.className;\n break;\n }\n }\n\n React.Children.toArray(children).forEach((child) => {\n if (React.isValidElement(child)) {\n handleChild(child);\n }\n });\n\n const cardContent = (\n <React.Fragment>\n {(header || image) && (\n <BackgroundImage\n className={b('header', headerClass)}\n {...(typeof image === 'string' ? {src: image} : image)}\n qa={qaAttributes.header}\n >\n <div className={b('header-content')}>{header}</div>\n </BackgroundImage>\n )}\n <div className={b('body', bodyClassName)} data-qa={qaAttributes.body}>\n <div className={b('content', contentClassName)} data-qa={qaAttributes.content}>\n {content}\n </div>\n {footer && (\n <div className={b('footer', footerClass)} data-qa={qaAttributes.footer}>\n {footer}\n </div>\n )}\n </div>\n </React.Fragment>\n );\n\n const fullClassName = b({border}, className);\n\n const onClick = () => {\n handleAnalytics(analyticsEvents);\n };\n\n return url ? (\n <RouterLink href={url}>\n <Link\n href={url}\n target={target}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n className={fullClassName}\n onClick={onClick}\n title={urlTitle}\n extraProps={{\n draggable: false,\n onDragStart: (e: React.DragEvent<HTMLAnchorElement>) => e.preventDefault(),\n ...extraProps,\n }}\n qa={qa}\n >\n {cardContent}\n </Link>\n </RouterLink>\n ) : (\n <div className={fullClassName} data-qa={qa} {...extraProps}>\n {cardContent}\n </div>\n );\n};\n\nLayout.Header = Header;\nLayout.Content = Content;\nLayout.Footer = Footer;\n\nexport default Layout;\n"]}
@@ -18,7 +18,7 @@ function getHeadingLevel(size) {
18
18
  }
19
19
  const ContentList = ({ list, size = 'l', qa, theme }) => {
20
20
  const qaAttributes = getQaAttrubutes(qa, ['image', 'title', 'text']);
21
- return (_jsx("div", { className: b({ size, theme }), "data-qa": qa, children: list === null || list === void 0 ? void 0 : list.map((item) => {
21
+ return (_jsx("div", { className: b({ size, theme }), "data-qa": qa, children: list?.map((item) => {
22
22
  const { icon, title, text } = item;
23
23
  return (_jsxs("div", { className: b('item', { 'without-title': !title }), children: [_jsx(ItemIcon, { icon: icon, className: b('icon'), qa: qaAttributes.image }), _jsxs("div", { children: [title &&
24
24
  React.createElement(getHeadingLevel(size), { className: b('title'), 'data-qa': qaAttributes.title }, _jsx(YFMWrapper, { content: title, modifiers: { constructor: true } })), text && (_jsx(YFMWrapper, { className: b('text'), content: text, modifiers: { constructor: true }, qa: qaAttributes.text }))] })] }, uuidv4()));
@@ -1 +1 @@
1
- {"version":3,"file":"ContentList.js","sourceRoot":"../../../../src","sources":["components/ContentList/ContentList.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,MAAM,CAAC;AAIlC,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,EAAC,eAAe,EAAC,8BAA2B;AACnD,OAAO,UAAU,oCAAiC;AAElD,OAAO,QAAQ,iCAA8B;AAE7C,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAEhC,SAAS,eAAe,CAAC,IAAiB;IACtC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,GAAG;YACJ,OAAO,IAAI,CAAC;QAChB,KAAK,GAAG,CAAC;QACT;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,EAAC,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,KAAK,EAA6B,EAAE,EAAE;IAC9E,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAErE,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,aAAW,EAAE,YACxC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;YACjC,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,eAAe,EAAE,CAAC,KAAK,EAAC,CAAC,aAChD,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,KAAK,GAAI,EACtE,0BACK,KAAK;gCACF,KAAK,CAAC,aAAa,CACf,eAAe,CAAC,IAAI,CAAC,EACrB,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,KAAK,EAAC,EACtD,KAAC,UAAU,IAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,GAAI,CACjE,EACJ,IAAI,IAAI,CACL,KAAC,UAAU,IACP,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,EAC9B,EAAE,EAAE,YAAY,CAAC,IAAI,GACvB,CACL,IACC,KAjBiD,MAAM,EAAE,CAkB7D,CACT,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {v4 as uuidv4} from 'uuid';\n\nimport {ContentListProps, ContentSize} from '../../models';\nimport {QAProps} from '../../models/common';\nimport {block} from '../../utils';\nimport {getQaAttrubutes} from '../../utils/blocks';\nimport YFMWrapper from '../YFMWrapper/YFMWrapper';\n\nimport ItemIcon from './ContentListItemIcon';\n\nimport './ContentList.scss';\n\nconst b = block('content-list');\n\nfunction getHeadingLevel(size: ContentSize) {\n switch (size) {\n case 's':\n return 'h4';\n case 'l':\n default:\n return 'h3';\n }\n}\n\nconst ContentList = ({list, size = 'l', qa, theme}: ContentListProps & QAProps) => {\n const qaAttributes = getQaAttrubutes(qa, ['image', 'title', 'text']);\n\n return (\n <div className={b({size, theme})} data-qa={qa}>\n {list?.map((item) => {\n const {icon, title, text} = item;\n return (\n <div className={b('item', {'without-title': !title})} key={uuidv4()}>\n <ItemIcon icon={icon} className={b('icon')} qa={qaAttributes.image} />\n <div>\n {title &&\n React.createElement(\n getHeadingLevel(size),\n {className: b('title'), 'data-qa': qaAttributes.title},\n <YFMWrapper content={title} modifiers={{constructor: true}} />,\n )}\n {text && (\n <YFMWrapper\n className={b('text')}\n content={text}\n modifiers={{constructor: true}}\n qa={qaAttributes.text}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n};\n\nexport default ContentList;\n"]}
1
+ {"version":3,"file":"ContentList.js","sourceRoot":"../../../../src","sources":["components/ContentList/ContentList.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,MAAM,CAAC;AAIlC,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,EAAC,eAAe,EAAC,8BAA2B;AACnD,OAAO,UAAU,oCAAiC;AAElD,OAAO,QAAQ,iCAA8B;AAE7C,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAEhC,SAAS,eAAe,CAAC,IAAiB;IACtC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,GAAG;YACJ,OAAO,IAAI,CAAC;QAChB,KAAK,GAAG,CAAC;QACT;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,EAAC,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,KAAK,EAA6B,EAAE,EAAE;IAC9E,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAErE,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,aAAW,EAAE,YACxC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;YACjC,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,eAAe,EAAE,CAAC,KAAK,EAAC,CAAC,aAChD,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,KAAK,GAAI,EACtE,0BACK,KAAK;gCACF,KAAK,CAAC,aAAa,CACf,eAAe,CAAC,IAAI,CAAC,EACrB,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,KAAK,EAAC,EACtD,KAAC,UAAU,IAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,GAAI,CACjE,EACJ,IAAI,IAAI,CACL,KAAC,UAAU,IACP,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,EAC9B,EAAE,EAAE,YAAY,CAAC,IAAI,GACvB,CACL,IACC,KAjBiD,MAAM,EAAE,CAkB7D,CACT,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {v4 as uuidv4} from 'uuid';\n\nimport {ContentListProps, ContentSize} from '../../models';\nimport {QAProps} from '../../models/common';\nimport {block} from '../../utils';\nimport {getQaAttrubutes} from '../../utils/blocks';\nimport YFMWrapper from '../YFMWrapper/YFMWrapper';\n\nimport ItemIcon from './ContentListItemIcon';\n\nimport './ContentList.scss';\n\nconst b = block('content-list');\n\nfunction getHeadingLevel(size: ContentSize) {\n switch (size) {\n case 's':\n return 'h4';\n case 'l':\n default:\n return 'h3';\n }\n}\n\nconst ContentList = ({list, size = 'l', qa, theme}: ContentListProps & QAProps) => {\n const qaAttributes = getQaAttrubutes(qa, ['image', 'title', 'text']);\n\n return (\n <div className={b({size, theme})} data-qa={qa}>\n {list?.map((item) => {\n const {icon, title, text} = item;\n return (\n <div className={b('item', {'without-title': !title})} key={uuidv4()}>\n <ItemIcon icon={icon} className={b('icon')} qa={qaAttributes.image} />\n <div>\n {title &&\n React.createElement(\n getHeadingLevel(size),\n {className: b('title'), 'data-qa': qaAttributes.title},\n <YFMWrapper content={title} modifiers={{constructor: true}} />,\n )}\n {text && (\n <YFMWrapper\n className={b('text')}\n content={text}\n modifiers={{constructor: true}}\n qa={qaAttributes.text}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n};\n\nexport default ContentList;\n"]}