@gravity-ui/page-constructor 7.0.0-beta.1 → 7.0.0-beta.3

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 (1133) hide show
  1. package/README.md +98 -10
  2. package/build/cjs/blocks/Banner/Banner.js +2 -2
  3. package/build/cjs/blocks/Banner/Banner.js.map +1 -1
  4. package/build/cjs/blocks/Banner/schema.js +20 -8
  5. package/build/cjs/blocks/Banner/schema.js.map +1 -1
  6. package/build/cjs/blocks/CardLayout/CardLayout.js +2 -2
  7. package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
  8. package/build/cjs/blocks/CardLayout/schema.d.ts +76 -0
  9. package/build/cjs/blocks/CardLayout/schema.js +19 -4
  10. package/build/cjs/blocks/CardLayout/schema.js.map +1 -1
  11. package/build/cjs/blocks/Companies/Companies.js +1 -1
  12. package/build/cjs/blocks/Companies/Companies.js.map +1 -1
  13. package/build/cjs/blocks/Companies/schema.js +10 -4
  14. package/build/cjs/blocks/Companies/schema.js.map +1 -1
  15. package/build/cjs/blocks/ContentLayout/ContentLayout.js +1 -1
  16. package/build/cjs/blocks/ContentLayout/ContentLayout.js.map +1 -1
  17. package/build/cjs/blocks/ContentLayout/schema.d.ts +76 -0
  18. package/build/cjs/blocks/ContentLayout/schema.js +7 -2
  19. package/build/cjs/blocks/ContentLayout/schema.js.map +1 -1
  20. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
  21. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  22. package/build/cjs/blocks/ExtendedFeatures/schema.js +7 -1
  23. package/build/cjs/blocks/ExtendedFeatures/schema.js.map +1 -1
  24. package/build/cjs/blocks/FilterBlock/schema.js +13 -3
  25. package/build/cjs/blocks/FilterBlock/schema.js.map +1 -1
  26. package/build/cjs/blocks/FoldableList/FoldableList.css +13 -0
  27. package/build/cjs/blocks/FoldableList/FoldableList.d.ts +3 -0
  28. package/build/cjs/blocks/FoldableList/FoldableList.js +31 -0
  29. package/build/cjs/blocks/FoldableList/FoldableList.js.map +1 -0
  30. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +100 -0
  31. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +2 -0
  32. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +22 -0
  33. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  34. package/build/cjs/blocks/FoldableList/schema.d.ts +140 -0
  35. package/build/cjs/blocks/FoldableList/schema.js +39 -0
  36. package/build/cjs/blocks/FoldableList/schema.js.map +1 -0
  37. package/build/cjs/blocks/Form/Form.js +3 -4
  38. package/build/cjs/blocks/Form/Form.js.map +1 -1
  39. package/build/cjs/blocks/Form/schema.js +14 -6
  40. package/build/cjs/blocks/Form/schema.js.map +1 -1
  41. package/build/cjs/blocks/Header/Header.css +12 -1
  42. package/build/cjs/blocks/Header/Header.js +15 -9
  43. package/build/cjs/blocks/Header/Header.js.map +1 -1
  44. package/build/cjs/blocks/Header/schema.d.ts +10 -0
  45. package/build/cjs/blocks/Header/schema.js +14 -2
  46. package/build/cjs/blocks/Header/schema.js.map +1 -1
  47. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -3
  48. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  49. package/build/cjs/blocks/HeaderSlider/schema.d.ts +5 -0
  50. package/build/cjs/blocks/HeaderSlider/schema.js +6 -2
  51. package/build/cjs/blocks/HeaderSlider/schema.js.map +1 -1
  52. package/build/cjs/blocks/Icons/Icons.js +2 -2
  53. package/build/cjs/blocks/Icons/Icons.js.map +1 -1
  54. package/build/cjs/blocks/Icons/schema.js +17 -6
  55. package/build/cjs/blocks/Icons/schema.js.map +1 -1
  56. package/build/cjs/blocks/Info/Info.js +8 -4
  57. package/build/cjs/blocks/Info/Info.js.map +1 -1
  58. package/build/cjs/blocks/Info/schema.js +14 -4
  59. package/build/cjs/blocks/Info/schema.js.map +1 -1
  60. package/build/cjs/blocks/Map/Map.js +2 -3
  61. package/build/cjs/blocks/Map/Map.js.map +1 -1
  62. package/build/cjs/blocks/Map/schema.js +4 -1
  63. package/build/cjs/blocks/Map/schema.js.map +1 -1
  64. package/build/cjs/blocks/Media/Media.js +1 -1
  65. package/build/cjs/blocks/Media/Media.js.map +1 -1
  66. package/build/cjs/blocks/Media/schema.js +24 -9
  67. package/build/cjs/blocks/Media/schema.js.map +1 -1
  68. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  69. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  70. package/build/cjs/blocks/PromoFeaturesBlock/schema.js +8 -2
  71. package/build/cjs/blocks/PromoFeaturesBlock/schema.js.map +1 -1
  72. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -1
  73. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  74. package/build/cjs/blocks/Questions/schema.js +6 -2
  75. package/build/cjs/blocks/Questions/schema.js.map +1 -1
  76. package/build/cjs/blocks/Share/Share.css +3 -2
  77. package/build/cjs/blocks/Share/Share.js +3 -4
  78. package/build/cjs/blocks/Share/Share.js.map +1 -1
  79. package/build/cjs/blocks/Share/schema.js +7 -3
  80. package/build/cjs/blocks/Share/schema.js.map +1 -1
  81. package/build/cjs/blocks/Slider/Arrow/Arrow.css +13 -13
  82. package/build/cjs/blocks/Slider/Arrow/Arrow.js +2 -2
  83. package/build/cjs/blocks/Slider/Arrow/Arrow.js.map +1 -1
  84. package/build/cjs/blocks/Slider/Slider.css +2 -2
  85. package/build/cjs/blocks/Slider/Slider.js +6 -3
  86. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  87. package/build/cjs/blocks/Slider/schema.js +6 -1
  88. package/build/cjs/blocks/Slider/schema.js.map +1 -1
  89. package/build/cjs/blocks/Slider/useSlider.js +1 -2
  90. package/build/cjs/blocks/Slider/useSlider.js.map +1 -1
  91. package/build/cjs/blocks/Slider/utils.js +6 -2
  92. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  93. package/build/cjs/blocks/SliderOld/Arrow/Arrow.css +1 -1
  94. package/build/cjs/blocks/SliderOld/SliderOld.js +17 -14
  95. package/build/cjs/blocks/SliderOld/SliderOld.js.map +1 -1
  96. package/build/cjs/blocks/SliderOld/schema.js +6 -1
  97. package/build/cjs/blocks/SliderOld/schema.js.map +1 -1
  98. package/build/cjs/blocks/SliderOld/utils.js +8 -5
  99. package/build/cjs/blocks/SliderOld/utils.js.map +1 -1
  100. package/build/cjs/blocks/Table/Table.js +1 -1
  101. package/build/cjs/blocks/Table/Table.js.map +1 -1
  102. package/build/cjs/blocks/Table/schema.js +22 -10
  103. package/build/cjs/blocks/Table/schema.js.map +1 -1
  104. package/build/cjs/blocks/Tabs/TabContent/TabContent.css +78 -0
  105. package/build/cjs/blocks/Tabs/TabContent/TabContent.d.ts +12 -0
  106. package/build/cjs/blocks/Tabs/TabContent/TabContent.js +70 -0
  107. package/build/cjs/blocks/Tabs/TabContent/TabContent.js.map +1 -0
  108. package/build/cjs/blocks/Tabs/Tabs.css +0 -72
  109. package/build/cjs/blocks/Tabs/Tabs.js +13 -59
  110. package/build/cjs/blocks/Tabs/Tabs.js.map +1 -1
  111. package/build/cjs/blocks/Tabs/schema.js +24 -9
  112. package/build/cjs/blocks/Tabs/schema.js.map +1 -1
  113. package/build/cjs/blocks/index.d.ts +1 -0
  114. package/build/cjs/blocks/index.js +3 -1
  115. package/build/cjs/blocks/index.js.map +1 -1
  116. package/build/cjs/components/Author/Author.js +1 -1
  117. package/build/cjs/components/Author/Author.js.map +1 -1
  118. package/build/cjs/components/Author/schema.js +5 -1
  119. package/build/cjs/components/Author/schema.js.map +1 -1
  120. package/build/cjs/components/BackLink/BackLink.js +1 -1
  121. package/build/cjs/components/BackLink/BackLink.js.map +1 -1
  122. package/build/cjs/components/BackgroundImage/BackgroundImage.js +2 -2
  123. package/build/cjs/components/BackgroundImage/BackgroundImage.js.map +1 -1
  124. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js +4 -4
  125. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js.map +1 -1
  126. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +1 -1
  127. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  128. package/build/cjs/components/Button/Button.d.ts +1 -0
  129. package/build/cjs/components/Button/Button.js +9 -5
  130. package/build/cjs/components/Button/Button.js.map +1 -1
  131. package/build/cjs/components/Button/utils.js +2 -2
  132. package/build/cjs/components/Button/utils.js.map +1 -1
  133. package/build/cjs/components/ButtonTabs/ButtonTabs.d.ts +2 -0
  134. package/build/cjs/components/ButtonTabs/ButtonTabs.js +3 -2
  135. package/build/cjs/components/ButtonTabs/ButtonTabs.js.map +1 -1
  136. package/build/cjs/components/Buttons/Buttons.js +4 -1
  137. package/build/cjs/components/Buttons/Buttons.js.map +1 -1
  138. package/build/cjs/components/CardBase/CardBase.js +6 -2
  139. package/build/cjs/components/CardBase/CardBase.js.map +1 -1
  140. package/build/cjs/components/ContentList/ContentList.js +1 -1
  141. package/build/cjs/components/ContentList/ContentList.js.map +1 -1
  142. package/build/cjs/components/ContentList/ContentListItemIcon.js +1 -1
  143. package/build/cjs/components/ContentList/ContentListItemIcon.js.map +1 -1
  144. package/build/cjs/components/DefaultVideo/DefaultVideo.js +3 -4
  145. package/build/cjs/components/DefaultVideo/DefaultVideo.js.map +1 -1
  146. package/build/cjs/components/FileLink/FileLink.js +2 -2
  147. package/build/cjs/components/FileLink/FileLink.js.map +1 -1
  148. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js +12 -17
  149. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  150. package/build/cjs/components/FullscreenImage/FullscreenImage.css +3 -0
  151. package/build/cjs/components/FullscreenImage/FullscreenImage.js +1 -1
  152. package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
  153. package/build/cjs/components/FullscreenMedia/FullscreenMedia.css +1 -3
  154. package/build/cjs/components/HTML/HTML.js +7 -3
  155. package/build/cjs/components/HTML/HTML.js.map +1 -1
  156. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  157. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  158. package/build/cjs/components/IconWrapper/IconWrapper.js +2 -2
  159. package/build/cjs/components/IconWrapper/IconWrapper.js.map +1 -1
  160. package/build/cjs/components/Image/Image.d.ts +4 -2
  161. package/build/cjs/components/Image/Image.js +22 -8
  162. package/build/cjs/components/Image/Image.js.map +1 -1
  163. package/build/cjs/components/Image/schema.d.ts +95 -0
  164. package/build/cjs/components/Image/schema.js +55 -12
  165. package/build/cjs/components/Image/schema.js.map +1 -1
  166. package/build/cjs/components/ImageBase/ImageBase.js +3 -4
  167. package/build/cjs/components/ImageBase/ImageBase.js.map +1 -1
  168. package/build/cjs/components/InnerForm/InnerForm.js +5 -5
  169. package/build/cjs/components/InnerForm/InnerForm.js.map +1 -1
  170. package/build/cjs/components/Link/Link.js +1 -1
  171. package/build/cjs/components/Link/Link.js.map +1 -1
  172. package/build/cjs/components/Links/Links.js +4 -1
  173. package/build/cjs/components/Links/Links.js.map +1 -1
  174. package/build/cjs/components/Map/Map.js +2 -2
  175. package/build/cjs/components/Map/Map.js.map +1 -1
  176. package/build/cjs/components/Map/YMap/YMap.js +6 -5
  177. package/build/cjs/components/Map/YMap/YMap.js.map +1 -1
  178. package/build/cjs/components/Map/YMap/YandexMap.js +1 -2
  179. package/build/cjs/components/Map/YMap/YandexMap.js.map +1 -1
  180. package/build/cjs/components/Map/YMap/YandexMapApiLoader.js +2 -1
  181. package/build/cjs/components/Map/YMap/YandexMapApiLoader.js.map +1 -1
  182. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js +1 -1
  183. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js.map +1 -1
  184. package/build/cjs/components/Media/Image/Image.js +3 -3
  185. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  186. package/build/cjs/components/Media/Media.js +13 -5
  187. package/build/cjs/components/Media/Media.js.map +1 -1
  188. package/build/cjs/components/MediaBase/MediaBase.js +3 -3
  189. package/build/cjs/components/MediaBase/MediaBase.js.map +1 -1
  190. package/build/cjs/components/MediaBase/MediaBaseContent.js +1 -1
  191. package/build/cjs/components/MediaBase/MediaBaseContent.js.map +1 -1
  192. package/build/cjs/components/OutsideClick/OutsideClick.js +9 -12
  193. package/build/cjs/components/OutsideClick/OutsideClick.js.map +1 -1
  194. package/build/cjs/components/OverflowScroller/OverflowScroller.js +46 -49
  195. package/build/cjs/components/OverflowScroller/OverflowScroller.js.map +1 -1
  196. package/build/cjs/components/ReactPlayer/ReactPlayer.js +14 -13
  197. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  198. package/build/cjs/components/ReactPlayer/utils.js +1 -2
  199. package/build/cjs/components/ReactPlayer/utils.js.map +1 -1
  200. package/build/cjs/components/Title/Title.js +2 -2
  201. package/build/cjs/components/Title/Title.js.map +1 -1
  202. package/build/cjs/components/Title/TitleItem.css +1 -0
  203. package/build/cjs/components/Title/TitleItem.js +1 -1
  204. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  205. package/build/cjs/components/VideoBlock/VideoBlock.js +7 -4
  206. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  207. package/build/cjs/components/YFMWrapper/YFMWrapper.js +3 -4
  208. package/build/cjs/components/YFMWrapper/YFMWrapper.js.map +1 -1
  209. package/build/cjs/components/YandexForm/YandexForm.js +21 -6
  210. package/build/cjs/components/YandexForm/YandexForm.js.map +1 -1
  211. package/build/cjs/components/YandexForm/schema.js +7 -3
  212. package/build/cjs/components/YandexForm/schema.js.map +1 -1
  213. package/build/cjs/constructor-items.d.ts +1 -0
  214. package/build/cjs/constructor-items.js +1 -0
  215. package/build/cjs/constructor-items.js.map +1 -1
  216. package/build/cjs/containers/Loadable/Loadable.js +4 -4
  217. package/build/cjs/containers/Loadable/Loadable.js.map +1 -1
  218. package/build/cjs/containers/PageConstructor/PageConstructor.js +14 -7
  219. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  220. package/build/cjs/containers/PageConstructor/Provider.js +1 -1
  221. package/build/cjs/containers/PageConstructor/Provider.js.map +1 -1
  222. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  223. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  224. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -2
  225. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  226. package/build/cjs/context/projectSettingsContext/ProjectSettingsContext.d.ts +2 -0
  227. package/build/cjs/context/projectSettingsContext/ProjectSettingsContext.js.map +1 -1
  228. package/build/cjs/context/theme/withTheme.js +7 -9
  229. package/build/cjs/context/theme/withTheme.js.map +1 -1
  230. package/build/cjs/customization/BlockDecoration.js +3 -5
  231. package/build/cjs/customization/BlockDecoration.js.map +1 -1
  232. package/build/cjs/editor/components/AddBlock/AddBlock.js +6 -8
  233. package/build/cjs/editor/components/AddBlock/AddBlock.js.map +1 -1
  234. package/build/cjs/editor/components/BlockForm/BlockForm.js +9 -4
  235. package/build/cjs/editor/components/BlockForm/BlockForm.js.map +1 -1
  236. package/build/cjs/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js +4 -4
  237. package/build/cjs/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js.map +1 -1
  238. package/build/cjs/editor/components/EditBlock/EditBlock.js +2 -2
  239. package/build/cjs/editor/components/EditBlock/EditBlock.js.map +1 -1
  240. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js +2 -5
  241. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  242. package/build/cjs/editor/components/Layout/Layout.js +3 -3
  243. package/build/cjs/editor/components/Layout/Layout.js.map +1 -1
  244. package/build/cjs/editor/components/PageSettings/PageSettings.js +2 -2
  245. package/build/cjs/editor/components/PageSettings/PageSettings.js.map +1 -1
  246. package/build/cjs/editor/containers/Editor/Editor.js +1 -1
  247. package/build/cjs/editor/containers/Editor/Editor.js.map +1 -1
  248. package/build/cjs/editor/containers/Editor/hooks/useCode.js +2 -4
  249. package/build/cjs/editor/containers/Editor/hooks/useCode.js.map +1 -1
  250. package/build/cjs/editor/containers/Editor/hooks/useEditorState.js +10 -7
  251. package/build/cjs/editor/containers/Editor/hooks/useEditorState.js.map +1 -1
  252. package/build/cjs/editor/containers/Form/Form.js +5 -2
  253. package/build/cjs/editor/containers/Form/Form.js.map +1 -1
  254. package/build/cjs/editor/data/index.js +5 -2
  255. package/build/cjs/editor/data/index.js.map +1 -1
  256. package/build/cjs/editor/data/previews/default-preview.js +1 -1
  257. package/build/cjs/editor/data/previews/default-preview.js.map +1 -1
  258. package/build/cjs/editor/data/previews/header-block.js +1 -1
  259. package/build/cjs/editor/data/previews/header-block.js.map +1 -1
  260. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +15 -13
  261. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  262. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +8 -10
  263. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  264. package/build/cjs/editor/dynamic-forms-custom/parser/index.js +150 -120
  265. package/build/cjs/editor/dynamic-forms-custom/parser/index.js.map +1 -1
  266. package/build/cjs/editor/dynamic-forms-custom/parser/views.js +2 -4
  267. package/build/cjs/editor/dynamic-forms-custom/parser/views.js.map +1 -1
  268. package/build/cjs/editor/icons/Tablet.js +1 -1
  269. package/build/cjs/editor/icons/Tablet.js.map +1 -1
  270. package/build/cjs/editor/store/main/index.js +7 -4
  271. package/build/cjs/editor/store/main/index.js.map +1 -1
  272. package/build/cjs/editor/store/main/reducer.js +17 -3
  273. package/build/cjs/editor/store/main/reducer.js.map +1 -1
  274. package/build/cjs/editor/store/main/utils.js +1 -1
  275. package/build/cjs/editor/store/main/utils.js.map +1 -1
  276. package/build/cjs/editor/store/settings/reducer.js +16 -4
  277. package/build/cjs/editor/store/settings/reducer.js.map +1 -1
  278. package/build/cjs/editor/utils/code.js +4 -2
  279. package/build/cjs/editor/utils/code.js.map +1 -1
  280. package/build/cjs/editor/utils/index.js +7 -1
  281. package/build/cjs/editor/utils/index.js.map +1 -1
  282. package/build/cjs/editor/widget/index.js +8 -8
  283. package/build/cjs/editor/widget/index.js.map +1 -1
  284. package/build/cjs/editor/widget/utils.js +1 -1
  285. package/build/cjs/editor/widget/utils.js.map +1 -1
  286. package/build/cjs/grid/Col/Col.d.ts +3 -2
  287. package/build/cjs/grid/Col/Col.js +2 -2
  288. package/build/cjs/grid/Col/Col.js.map +1 -1
  289. package/build/cjs/grid/Row/Row.d.ts +4 -3
  290. package/build/cjs/grid/Row/Row.js +2 -2
  291. package/build/cjs/grid/Row/Row.js.map +1 -1
  292. package/build/cjs/hooks/useAnalytics.js +4 -1
  293. package/build/cjs/hooks/useAnalytics.js.map +1 -1
  294. package/build/cjs/icons/BrandIconDark.js +1 -1
  295. package/build/cjs/icons/BrandIconDark.js.map +1 -1
  296. package/build/cjs/icons/BrandIconLight.js +1 -1
  297. package/build/cjs/icons/BrandIconLight.js.map +1 -1
  298. package/build/cjs/icons/BrandName.js +1 -1
  299. package/build/cjs/icons/BrandName.js.map +1 -1
  300. package/build/cjs/icons/Chevron.js +1 -1
  301. package/build/cjs/icons/Chevron.js.map +1 -1
  302. package/build/cjs/icons/Facebook.js +1 -1
  303. package/build/cjs/icons/Facebook.js.map +1 -1
  304. package/build/cjs/icons/Github.js +1 -1
  305. package/build/cjs/icons/Github.js.map +1 -1
  306. package/build/cjs/icons/Linkedin.js +1 -1
  307. package/build/cjs/icons/Linkedin.js.map +1 -1
  308. package/build/cjs/icons/NavigationArrow.js +1 -1
  309. package/build/cjs/icons/NavigationArrow.js.map +1 -1
  310. package/build/cjs/icons/NavigationChevron.js +1 -1
  311. package/build/cjs/icons/NavigationChevron.js.map +1 -1
  312. package/build/cjs/icons/Telegram.js +1 -1
  313. package/build/cjs/icons/Telegram.js.map +1 -1
  314. package/build/cjs/icons/Twitter.js +1 -1
  315. package/build/cjs/icons/Twitter.js.map +1 -1
  316. package/build/cjs/icons/Vk.js +1 -1
  317. package/build/cjs/icons/Vk.js.map +1 -1
  318. package/build/cjs/internal-typings/global.d.ts +1 -0
  319. package/build/cjs/models/constructor-items/blocks.d.ts +21 -3
  320. package/build/cjs/models/constructor-items/blocks.js +1 -0
  321. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  322. package/build/cjs/models/constructor-items/common.d.ts +16 -6
  323. package/build/cjs/models/constructor-items/common.js +8 -1
  324. package/build/cjs/models/constructor-items/common.js.map +1 -1
  325. package/build/cjs/models/constructor-items/sub-blocks.d.ts +2 -1
  326. package/build/cjs/models/constructor-items/sub-blocks.js.map +1 -1
  327. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  328. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  329. package/build/cjs/navigation/components/Logo/Logo.js +4 -5
  330. package/build/cjs/navigation/components/Logo/Logo.js.map +1 -1
  331. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.js +2 -3
  332. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.js.map +1 -1
  333. package/build/cjs/navigation/components/Navigation/Navigation.d.ts +1 -0
  334. package/build/cjs/navigation/components/Navigation/Navigation.js +2 -2
  335. package/build/cjs/navigation/components/Navigation/Navigation.js.map +1 -1
  336. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +7 -5
  337. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  338. package/build/cjs/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js +1 -1
  339. package/build/cjs/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js.map +1 -1
  340. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +3 -4
  341. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  342. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +1 -1
  343. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  344. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js +2 -3
  345. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js.map +1 -1
  346. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +4 -4
  347. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js.map +1 -1
  348. package/build/cjs/navigation/components/NavigationList/NavigationList.js +1 -4
  349. package/build/cjs/navigation/components/NavigationList/NavigationList.js.map +1 -1
  350. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js +2 -3
  351. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js.map +1 -1
  352. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.css +2 -0
  353. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.js +13 -5
  354. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.js.map +1 -1
  355. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js +1 -1
  356. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js.map +1 -1
  357. package/build/cjs/navigation/components/Standalone/index.js +1 -1
  358. package/build/cjs/navigation/components/Standalone/index.js.map +1 -1
  359. package/build/cjs/navigation/hooks/useActiveNavItem.js +1 -1
  360. package/build/cjs/navigation/hooks/useActiveNavItem.js.map +1 -1
  361. package/build/cjs/navigation/models.d.ts +1 -0
  362. package/build/cjs/navigation/models.js.map +1 -1
  363. package/build/cjs/navigation/schema.js +19 -6
  364. package/build/cjs/navigation/schema.js.map +1 -1
  365. package/build/cjs/navigation/utils.js +1 -1
  366. package/build/cjs/navigation/utils.js.map +1 -1
  367. package/build/cjs/schema/constants.d.ts +19 -0
  368. package/build/cjs/schema/constants.js +34 -2
  369. package/build/cjs/schema/constants.js.map +1 -1
  370. package/build/cjs/schema/index.js +23 -6
  371. package/build/cjs/schema/index.js.map +1 -1
  372. package/build/cjs/schema/validators/blocks.d.ts +2 -0
  373. package/build/cjs/schema/validators/blocks.js +2 -0
  374. package/build/cjs/schema/validators/blocks.js.map +1 -1
  375. package/build/cjs/schema/validators/common.js +77 -31
  376. package/build/cjs/schema/validators/common.js.map +1 -1
  377. package/build/cjs/schema/validators/utils.js +9 -2
  378. package/build/cjs/schema/validators/utils.js.map +1 -1
  379. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js +1 -1
  380. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js.map +1 -1
  381. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +19 -0
  382. package/build/cjs/sub-blocks/BackgroundCard/schema.js +23 -8
  383. package/build/cjs/sub-blocks/BackgroundCard/schema.js.map +1 -1
  384. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +1 -1
  385. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  386. package/build/cjs/sub-blocks/BasicCard/BasicCard.js +2 -2
  387. package/build/cjs/sub-blocks/BasicCard/BasicCard.js.map +1 -1
  388. package/build/cjs/sub-blocks/BasicCard/schema.js +17 -6
  389. package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
  390. package/build/cjs/sub-blocks/Content/Content.js +1 -1
  391. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  392. package/build/cjs/sub-blocks/Content/schema.js +10 -3
  393. package/build/cjs/sub-blocks/Content/schema.js.map +1 -1
  394. package/build/cjs/sub-blocks/Divider/schema.js +6 -2
  395. package/build/cjs/sub-blocks/Divider/schema.js.map +1 -1
  396. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  397. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  398. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  399. package/build/cjs/sub-blocks/HubspotForm/index.js +5 -5
  400. package/build/cjs/sub-blocks/HubspotForm/index.js.map +1 -1
  401. package/build/cjs/sub-blocks/HubspotForm/loadHubspotScript.js +1 -2
  402. package/build/cjs/sub-blocks/HubspotForm/loadHubspotScript.js.map +1 -1
  403. package/build/cjs/sub-blocks/HubspotForm/schema.js +11 -5
  404. package/build/cjs/sub-blocks/HubspotForm/schema.js.map +1 -1
  405. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  406. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js +51 -0
  407. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  408. package/build/cjs/sub-blocks/ImageCard/ImageCard.js +1 -1
  409. package/build/cjs/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  410. package/build/cjs/sub-blocks/ImageCard/schema.js +17 -6
  411. package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
  412. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +11 -9
  413. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  414. package/build/cjs/sub-blocks/LayoutItem/schema.js +19 -6
  415. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  416. package/build/cjs/sub-blocks/LayoutItem/utils.js +4 -1
  417. package/build/cjs/sub-blocks/LayoutItem/utils.js.map +1 -1
  418. package/build/cjs/sub-blocks/MediaCard/MediaCard.js +1 -5
  419. package/build/cjs/sub-blocks/MediaCard/MediaCard.js.map +1 -1
  420. package/build/cjs/sub-blocks/MediaCard/schema.js +12 -3
  421. package/build/cjs/sub-blocks/MediaCard/schema.js.map +1 -1
  422. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +1 -1
  423. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  424. package/build/cjs/sub-blocks/PriceCard/schema.js +25 -11
  425. package/build/cjs/sub-blocks/PriceCard/schema.js.map +1 -1
  426. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -2
  427. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  428. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  429. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  430. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +1 -4
  431. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js.map +1 -1
  432. package/build/cjs/sub-blocks/PriceDetailed/schema.js +44 -12
  433. package/build/cjs/sub-blocks/PriceDetailed/schema.js.map +1 -1
  434. package/build/cjs/sub-blocks/Quote/Quote.js +6 -3
  435. package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
  436. package/build/cjs/sub-blocks/Quote/schema.js +21 -8
  437. package/build/cjs/sub-blocks/Quote/schema.js.map +1 -1
  438. package/build/cjs/text-transform/common.js +30 -21
  439. package/build/cjs/text-transform/common.js.map +1 -1
  440. package/build/cjs/text-transform/config.js +58 -24
  441. package/build/cjs/text-transform/config.js.map +1 -1
  442. package/build/cjs/text-transform/filter.js +4 -1
  443. package/build/cjs/text-transform/filter.js.map +1 -1
  444. package/build/cjs/text-transform/transformers.js +1 -1
  445. package/build/cjs/text-transform/transformers.js.map +1 -1
  446. package/build/cjs/text-transform/utils.js +11 -5
  447. package/build/cjs/text-transform/utils.js.map +1 -1
  448. package/build/cjs/utils/analytics.js +2 -3
  449. package/build/cjs/utils/analytics.js.map +1 -1
  450. package/build/cjs/utils/common.js +1 -2
  451. package/build/cjs/utils/common.js.map +1 -1
  452. package/build/cjs/utils/hubspot.d.ts +1 -0
  453. package/build/cjs/utils/hubspot.js +6 -7
  454. package/build/cjs/utils/hubspot.js.map +1 -1
  455. package/build/cjs/utils/microdata.js +1 -1
  456. package/build/cjs/utils/microdata.js.map +1 -1
  457. package/build/cjs/utils/url.js +10 -5
  458. package/build/cjs/utils/url.js.map +1 -1
  459. package/build/esm/blocks/Banner/Banner.js +2 -3
  460. package/build/esm/blocks/Banner/Banner.js.map +1 -1
  461. package/build/esm/blocks/Banner/schema.js +20 -8
  462. package/build/esm/blocks/Banner/schema.js.map +1 -1
  463. package/build/esm/blocks/CardLayout/CardLayout.js +2 -3
  464. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  465. package/build/esm/blocks/CardLayout/schema.d.ts +76 -0
  466. package/build/esm/blocks/CardLayout/schema.js +19 -4
  467. package/build/esm/blocks/CardLayout/schema.js.map +1 -1
  468. package/build/esm/blocks/Companies/Companies.js +1 -1
  469. package/build/esm/blocks/Companies/Companies.js.map +1 -1
  470. package/build/esm/blocks/Companies/schema.js +10 -4
  471. package/build/esm/blocks/Companies/schema.js.map +1 -1
  472. package/build/esm/blocks/ContentLayout/ContentLayout.js +1 -1
  473. package/build/esm/blocks/ContentLayout/ContentLayout.js.map +1 -1
  474. package/build/esm/blocks/ContentLayout/schema.d.ts +76 -0
  475. package/build/esm/blocks/ContentLayout/schema.js +7 -2
  476. package/build/esm/blocks/ContentLayout/schema.js.map +1 -1
  477. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
  478. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  479. package/build/esm/blocks/ExtendedFeatures/schema.js +7 -1
  480. package/build/esm/blocks/ExtendedFeatures/schema.js.map +1 -1
  481. package/build/esm/blocks/FilterBlock/schema.js +13 -3
  482. package/build/esm/blocks/FilterBlock/schema.js.map +1 -1
  483. package/build/esm/blocks/FoldableList/FoldableList.css +13 -0
  484. package/build/esm/blocks/FoldableList/FoldableList.d.ts +4 -0
  485. package/build/esm/blocks/FoldableList/FoldableList.js +29 -0
  486. package/build/esm/blocks/FoldableList/FoldableList.js.map +1 -0
  487. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +100 -0
  488. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +3 -0
  489. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +18 -0
  490. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  491. package/build/esm/blocks/FoldableList/schema.d.ts +140 -0
  492. package/build/esm/blocks/FoldableList/schema.js +35 -0
  493. package/build/esm/blocks/FoldableList/schema.js.map +1 -0
  494. package/build/esm/blocks/Form/Form.js +3 -4
  495. package/build/esm/blocks/Form/Form.js.map +1 -1
  496. package/build/esm/blocks/Form/schema.js +14 -6
  497. package/build/esm/blocks/Form/schema.js.map +1 -1
  498. package/build/esm/blocks/Header/Header.css +12 -1
  499. package/build/esm/blocks/Header/Header.js +15 -9
  500. package/build/esm/blocks/Header/Header.js.map +1 -1
  501. package/build/esm/blocks/Header/schema.d.ts +10 -0
  502. package/build/esm/blocks/Header/schema.js +14 -2
  503. package/build/esm/blocks/Header/schema.js.map +1 -1
  504. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +2 -4
  505. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  506. package/build/esm/blocks/HeaderSlider/schema.d.ts +5 -0
  507. package/build/esm/blocks/HeaderSlider/schema.js +6 -2
  508. package/build/esm/blocks/HeaderSlider/schema.js.map +1 -1
  509. package/build/esm/blocks/Icons/Icons.js +2 -2
  510. package/build/esm/blocks/Icons/Icons.js.map +1 -1
  511. package/build/esm/blocks/Icons/schema.js +17 -6
  512. package/build/esm/blocks/Icons/schema.js.map +1 -1
  513. package/build/esm/blocks/Info/Info.js +8 -4
  514. package/build/esm/blocks/Info/Info.js.map +1 -1
  515. package/build/esm/blocks/Info/schema.js +14 -4
  516. package/build/esm/blocks/Info/schema.js.map +1 -1
  517. package/build/esm/blocks/Map/Map.js +2 -4
  518. package/build/esm/blocks/Map/Map.js.map +1 -1
  519. package/build/esm/blocks/Map/schema.js +4 -1
  520. package/build/esm/blocks/Map/schema.js.map +1 -1
  521. package/build/esm/blocks/Media/Media.js +1 -1
  522. package/build/esm/blocks/Media/Media.js.map +1 -1
  523. package/build/esm/blocks/Media/schema.js +24 -9
  524. package/build/esm/blocks/Media/schema.js.map +1 -1
  525. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  526. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  527. package/build/esm/blocks/PromoFeaturesBlock/schema.js +8 -2
  528. package/build/esm/blocks/PromoFeaturesBlock/schema.js.map +1 -1
  529. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -1
  530. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  531. package/build/esm/blocks/Questions/schema.js +6 -2
  532. package/build/esm/blocks/Questions/schema.js.map +1 -1
  533. package/build/esm/blocks/Share/Share.css +3 -2
  534. package/build/esm/blocks/Share/Share.js +3 -4
  535. package/build/esm/blocks/Share/Share.js.map +1 -1
  536. package/build/esm/blocks/Share/schema.js +7 -3
  537. package/build/esm/blocks/Share/schema.js.map +1 -1
  538. package/build/esm/blocks/Slider/Arrow/Arrow.css +13 -13
  539. package/build/esm/blocks/Slider/Arrow/Arrow.js +2 -2
  540. package/build/esm/blocks/Slider/Arrow/Arrow.js.map +1 -1
  541. package/build/esm/blocks/Slider/Slider.css +2 -2
  542. package/build/esm/blocks/Slider/Slider.d.ts +1 -1
  543. package/build/esm/blocks/Slider/Slider.js +7 -4
  544. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  545. package/build/esm/blocks/Slider/schema.js +6 -1
  546. package/build/esm/blocks/Slider/schema.js.map +1 -1
  547. package/build/esm/blocks/Slider/useSlider.d.ts +1 -1
  548. package/build/esm/blocks/Slider/useSlider.js +1 -3
  549. package/build/esm/blocks/Slider/useSlider.js.map +1 -1
  550. package/build/esm/blocks/Slider/useSliderPagination.d.ts +1 -1
  551. package/build/esm/blocks/Slider/utils.d.ts +1 -1
  552. package/build/esm/blocks/Slider/utils.js +6 -2
  553. package/build/esm/blocks/Slider/utils.js.map +1 -1
  554. package/build/esm/blocks/SliderOld/Arrow/Arrow.css +1 -1
  555. package/build/esm/blocks/SliderOld/SliderOld.js +17 -14
  556. package/build/esm/blocks/SliderOld/SliderOld.js.map +1 -1
  557. package/build/esm/blocks/SliderOld/schema.js +6 -1
  558. package/build/esm/blocks/SliderOld/schema.js.map +1 -1
  559. package/build/esm/blocks/SliderOld/utils.js +8 -5
  560. package/build/esm/blocks/SliderOld/utils.js.map +1 -1
  561. package/build/esm/blocks/Table/Table.js +1 -1
  562. package/build/esm/blocks/Table/Table.js.map +1 -1
  563. package/build/esm/blocks/Table/schema.js +22 -10
  564. package/build/esm/blocks/Table/schema.js.map +1 -1
  565. package/build/esm/blocks/Tabs/TabContent/TabContent.css +78 -0
  566. package/build/esm/blocks/Tabs/TabContent/TabContent.d.ts +13 -0
  567. package/build/esm/blocks/Tabs/TabContent/TabContent.js +66 -0
  568. package/build/esm/blocks/Tabs/TabContent/TabContent.js.map +1 -0
  569. package/build/esm/blocks/Tabs/Tabs.css +0 -72
  570. package/build/esm/blocks/Tabs/Tabs.js +13 -59
  571. package/build/esm/blocks/Tabs/Tabs.js.map +1 -1
  572. package/build/esm/blocks/Tabs/schema.js +24 -9
  573. package/build/esm/blocks/Tabs/schema.js.map +1 -1
  574. package/build/esm/blocks/index.d.ts +1 -0
  575. package/build/esm/blocks/index.js +1 -0
  576. package/build/esm/blocks/index.js.map +1 -1
  577. package/build/esm/components/Author/Author.js +1 -1
  578. package/build/esm/components/Author/Author.js.map +1 -1
  579. package/build/esm/components/Author/schema.js +5 -1
  580. package/build/esm/components/Author/schema.js.map +1 -1
  581. package/build/esm/components/BackLink/BackLink.js +1 -1
  582. package/build/esm/components/BackLink/BackLink.js.map +1 -1
  583. package/build/esm/components/BackgroundImage/BackgroundImage.js +2 -2
  584. package/build/esm/components/BackgroundImage/BackgroundImage.js.map +1 -1
  585. package/build/esm/components/BackgroundMedia/BackgroundMedia.js +4 -5
  586. package/build/esm/components/BackgroundMedia/BackgroundMedia.js.map +1 -1
  587. package/build/esm/components/BalancedMasonry/BalancedMasonry.js +1 -1
  588. package/build/esm/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  589. package/build/esm/components/Button/Button.d.ts +1 -0
  590. package/build/esm/components/Button/Button.js +9 -6
  591. package/build/esm/components/Button/Button.js.map +1 -1
  592. package/build/esm/components/Button/utils.js +2 -2
  593. package/build/esm/components/Button/utils.js.map +1 -1
  594. package/build/esm/components/ButtonTabs/ButtonTabs.d.ts +2 -0
  595. package/build/esm/components/ButtonTabs/ButtonTabs.js +3 -2
  596. package/build/esm/components/ButtonTabs/ButtonTabs.js.map +1 -1
  597. package/build/esm/components/Buttons/Buttons.js +4 -1
  598. package/build/esm/components/Buttons/Buttons.js.map +1 -1
  599. package/build/esm/components/CardBase/CardBase.js +6 -2
  600. package/build/esm/components/CardBase/CardBase.js.map +1 -1
  601. package/build/esm/components/ContentList/ContentList.js +1 -1
  602. package/build/esm/components/ContentList/ContentList.js.map +1 -1
  603. package/build/esm/components/ContentList/ContentListItemIcon.js +1 -1
  604. package/build/esm/components/ContentList/ContentListItemIcon.js.map +1 -1
  605. package/build/esm/components/DefaultVideo/DefaultVideo.js +3 -4
  606. package/build/esm/components/DefaultVideo/DefaultVideo.js.map +1 -1
  607. package/build/esm/components/FileLink/FileLink.js +2 -2
  608. package/build/esm/components/FileLink/FileLink.js.map +1 -1
  609. package/build/esm/components/FullWidthBackground/FullWidthBackground.js +12 -17
  610. package/build/esm/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  611. package/build/esm/components/FullscreenImage/FullscreenImage.css +3 -0
  612. package/build/esm/components/FullscreenImage/FullscreenImage.js +1 -1
  613. package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
  614. package/build/esm/components/FullscreenMedia/FullscreenMedia.css +1 -3
  615. package/build/esm/components/HTML/HTML.js +7 -4
  616. package/build/esm/components/HTML/HTML.js.map +1 -1
  617. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  618. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  619. package/build/esm/components/IconWrapper/IconWrapper.js +2 -2
  620. package/build/esm/components/IconWrapper/IconWrapper.js.map +1 -1
  621. package/build/esm/components/Image/Image.d.ts +4 -2
  622. package/build/esm/components/Image/Image.js +21 -8
  623. package/build/esm/components/Image/Image.js.map +1 -1
  624. package/build/esm/components/Image/schema.d.ts +95 -0
  625. package/build/esm/components/Image/schema.js +55 -12
  626. package/build/esm/components/Image/schema.js.map +1 -1
  627. package/build/esm/components/ImageBase/ImageBase.js +3 -5
  628. package/build/esm/components/ImageBase/ImageBase.js.map +1 -1
  629. package/build/esm/components/InnerForm/InnerForm.js +5 -6
  630. package/build/esm/components/InnerForm/InnerForm.js.map +1 -1
  631. package/build/esm/components/Link/Link.js +1 -1
  632. package/build/esm/components/Link/Link.js.map +1 -1
  633. package/build/esm/components/Links/Links.js +4 -1
  634. package/build/esm/components/Links/Links.js.map +1 -1
  635. package/build/esm/components/Map/Map.js +2 -2
  636. package/build/esm/components/Map/Map.js.map +1 -1
  637. package/build/esm/components/Map/YMap/YMap.js +6 -5
  638. package/build/esm/components/Map/YMap/YMap.js.map +1 -1
  639. package/build/esm/components/Map/YMap/YandexMap.js +1 -2
  640. package/build/esm/components/Map/YMap/YandexMap.js.map +1 -1
  641. package/build/esm/components/Map/YMap/YandexMapApiLoader.js +2 -1
  642. package/build/esm/components/Map/YMap/YandexMapApiLoader.js.map +1 -1
  643. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js +1 -1
  644. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js.map +1 -1
  645. package/build/esm/components/Media/Image/Image.js +3 -3
  646. package/build/esm/components/Media/Image/Image.js.map +1 -1
  647. package/build/esm/components/Media/Media.js +13 -5
  648. package/build/esm/components/Media/Media.js.map +1 -1
  649. package/build/esm/components/MediaBase/MediaBase.js +3 -4
  650. package/build/esm/components/MediaBase/MediaBase.js.map +1 -1
  651. package/build/esm/components/MediaBase/MediaBaseContent.js +1 -1
  652. package/build/esm/components/MediaBase/MediaBaseContent.js.map +1 -1
  653. package/build/esm/components/OutsideClick/OutsideClick.js +9 -12
  654. package/build/esm/components/OutsideClick/OutsideClick.js.map +1 -1
  655. package/build/esm/components/OverflowScroller/OverflowScroller.js +46 -49
  656. package/build/esm/components/OverflowScroller/OverflowScroller.js.map +1 -1
  657. package/build/esm/components/ReactPlayer/ReactPlayer.js +14 -13
  658. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  659. package/build/esm/components/ReactPlayer/utils.js +1 -2
  660. package/build/esm/components/ReactPlayer/utils.js.map +1 -1
  661. package/build/esm/components/Title/Title.js +2 -3
  662. package/build/esm/components/Title/Title.js.map +1 -1
  663. package/build/esm/components/Title/TitleItem.css +1 -0
  664. package/build/esm/components/Title/TitleItem.js +1 -1
  665. package/build/esm/components/Title/TitleItem.js.map +1 -1
  666. package/build/esm/components/VideoBlock/VideoBlock.js +7 -4
  667. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  668. package/build/esm/components/YFMWrapper/YFMWrapper.js +3 -5
  669. package/build/esm/components/YFMWrapper/YFMWrapper.js.map +1 -1
  670. package/build/esm/components/YandexForm/YandexForm.js +21 -6
  671. package/build/esm/components/YandexForm/YandexForm.js.map +1 -1
  672. package/build/esm/components/YandexForm/schema.js +7 -3
  673. package/build/esm/components/YandexForm/schema.js.map +1 -1
  674. package/build/esm/constructor-items.d.ts +1 -0
  675. package/build/esm/constructor-items.js +2 -1
  676. package/build/esm/constructor-items.js.map +1 -1
  677. package/build/esm/containers/Loadable/Loadable.js +4 -4
  678. package/build/esm/containers/Loadable/Loadable.js.map +1 -1
  679. package/build/esm/containers/PageConstructor/PageConstructor.js +14 -8
  680. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  681. package/build/esm/containers/PageConstructor/Provider.js +1 -1
  682. package/build/esm/containers/PageConstructor/Provider.js.map +1 -1
  683. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  684. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  685. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -3
  686. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  687. package/build/esm/context/projectSettingsContext/ProjectSettingsContext.d.ts +2 -0
  688. package/build/esm/context/projectSettingsContext/ProjectSettingsContext.js.map +1 -1
  689. package/build/esm/context/theme/withTheme.js +7 -9
  690. package/build/esm/context/theme/withTheme.js.map +1 -1
  691. package/build/esm/customization/BlockDecoration.js +3 -6
  692. package/build/esm/customization/BlockDecoration.js.map +1 -1
  693. package/build/esm/editor/components/AddBlock/AddBlock.js +6 -8
  694. package/build/esm/editor/components/AddBlock/AddBlock.js.map +1 -1
  695. package/build/esm/editor/components/BlockForm/BlockForm.js +9 -5
  696. package/build/esm/editor/components/BlockForm/BlockForm.js.map +1 -1
  697. package/build/esm/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js +4 -5
  698. package/build/esm/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js.map +1 -1
  699. package/build/esm/editor/components/EditBlock/EditBlock.js +2 -2
  700. package/build/esm/editor/components/EditBlock/EditBlock.js.map +1 -1
  701. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js +2 -5
  702. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  703. package/build/esm/editor/components/Layout/Layout.js +3 -3
  704. package/build/esm/editor/components/Layout/Layout.js.map +1 -1
  705. package/build/esm/editor/components/PageSettings/PageSettings.js +2 -3
  706. package/build/esm/editor/components/PageSettings/PageSettings.js.map +1 -1
  707. package/build/esm/editor/containers/Editor/Editor.js +1 -1
  708. package/build/esm/editor/containers/Editor/Editor.js.map +1 -1
  709. package/build/esm/editor/containers/Editor/hooks/useCode.js +2 -4
  710. package/build/esm/editor/containers/Editor/hooks/useCode.js.map +1 -1
  711. package/build/esm/editor/containers/Editor/hooks/useEditorState.js +10 -8
  712. package/build/esm/editor/containers/Editor/hooks/useEditorState.js.map +1 -1
  713. package/build/esm/editor/containers/Form/Form.js +5 -2
  714. package/build/esm/editor/containers/Form/Form.js.map +1 -1
  715. package/build/esm/editor/data/index.js +5 -2
  716. package/build/esm/editor/data/index.js.map +1 -1
  717. package/build/esm/editor/data/previews/default-preview.js +1 -1
  718. package/build/esm/editor/data/previews/default-preview.js.map +1 -1
  719. package/build/esm/editor/data/previews/header-block.js +1 -1
  720. package/build/esm/editor/data/previews/header-block.js.map +1 -1
  721. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +15 -13
  722. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  723. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +8 -10
  724. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  725. package/build/esm/editor/dynamic-forms-custom/parser/index.js +150 -120
  726. package/build/esm/editor/dynamic-forms-custom/parser/index.js.map +1 -1
  727. package/build/esm/editor/dynamic-forms-custom/parser/views.js +2 -4
  728. package/build/esm/editor/dynamic-forms-custom/parser/views.js.map +1 -1
  729. package/build/esm/editor/icons/Tablet.js +1 -1
  730. package/build/esm/editor/icons/Tablet.js.map +1 -1
  731. package/build/esm/editor/store/main/index.js +7 -5
  732. package/build/esm/editor/store/main/index.js.map +1 -1
  733. package/build/esm/editor/store/main/reducer.js +17 -3
  734. package/build/esm/editor/store/main/reducer.js.map +1 -1
  735. package/build/esm/editor/store/main/utils.js +1 -1
  736. package/build/esm/editor/store/main/utils.js.map +1 -1
  737. package/build/esm/editor/store/settings/reducer.js +16 -4
  738. package/build/esm/editor/store/settings/reducer.js.map +1 -1
  739. package/build/esm/editor/utils/code.js +4 -2
  740. package/build/esm/editor/utils/code.js.map +1 -1
  741. package/build/esm/editor/utils/index.js +7 -1
  742. package/build/esm/editor/utils/index.js.map +1 -1
  743. package/build/esm/editor/widget/index.js +8 -8
  744. package/build/esm/editor/widget/index.js.map +1 -1
  745. package/build/esm/editor/widget/utils.js +1 -1
  746. package/build/esm/editor/widget/utils.js.map +1 -1
  747. package/build/esm/grid/Col/Col.d.ts +3 -2
  748. package/build/esm/grid/Col/Col.js +2 -3
  749. package/build/esm/grid/Col/Col.js.map +1 -1
  750. package/build/esm/grid/Row/Row.d.ts +4 -3
  751. package/build/esm/grid/Row/Row.js +2 -2
  752. package/build/esm/grid/Row/Row.js.map +1 -1
  753. package/build/esm/hooks/useAnalytics.js +4 -1
  754. package/build/esm/hooks/useAnalytics.js.map +1 -1
  755. package/build/esm/icons/BrandIconDark.js +1 -1
  756. package/build/esm/icons/BrandIconDark.js.map +1 -1
  757. package/build/esm/icons/BrandIconLight.js +1 -1
  758. package/build/esm/icons/BrandIconLight.js.map +1 -1
  759. package/build/esm/icons/BrandName.js +1 -1
  760. package/build/esm/icons/BrandName.js.map +1 -1
  761. package/build/esm/icons/Chevron.js +1 -1
  762. package/build/esm/icons/Chevron.js.map +1 -1
  763. package/build/esm/icons/Facebook.js +1 -1
  764. package/build/esm/icons/Facebook.js.map +1 -1
  765. package/build/esm/icons/Github.js +1 -1
  766. package/build/esm/icons/Github.js.map +1 -1
  767. package/build/esm/icons/Linkedin.js +1 -1
  768. package/build/esm/icons/Linkedin.js.map +1 -1
  769. package/build/esm/icons/NavigationArrow.js +1 -1
  770. package/build/esm/icons/NavigationArrow.js.map +1 -1
  771. package/build/esm/icons/NavigationChevron.js +1 -1
  772. package/build/esm/icons/NavigationChevron.js.map +1 -1
  773. package/build/esm/icons/Telegram.js +1 -1
  774. package/build/esm/icons/Telegram.js.map +1 -1
  775. package/build/esm/icons/Twitter.js +1 -1
  776. package/build/esm/icons/Twitter.js.map +1 -1
  777. package/build/esm/icons/Vk.js +1 -1
  778. package/build/esm/icons/Vk.js.map +1 -1
  779. package/build/esm/internal-typings/global.d.ts +1 -0
  780. package/build/esm/models/constructor-items/blocks.d.ts +21 -3
  781. package/build/esm/models/constructor-items/blocks.js +1 -0
  782. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  783. package/build/esm/models/constructor-items/common.d.ts +16 -6
  784. package/build/esm/models/constructor-items/common.js +7 -0
  785. package/build/esm/models/constructor-items/common.js.map +1 -1
  786. package/build/esm/models/constructor-items/sub-blocks.d.ts +2 -1
  787. package/build/esm/models/constructor-items/sub-blocks.js.map +1 -1
  788. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  789. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  790. package/build/esm/navigation/components/Logo/Logo.js +4 -6
  791. package/build/esm/navigation/components/Logo/Logo.js.map +1 -1
  792. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.js +2 -4
  793. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.js.map +1 -1
  794. package/build/esm/navigation/components/Navigation/Navigation.d.ts +1 -0
  795. package/build/esm/navigation/components/Navigation/Navigation.js +2 -2
  796. package/build/esm/navigation/components/Navigation/Navigation.js.map +1 -1
  797. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +7 -6
  798. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  799. package/build/esm/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js +1 -1
  800. package/build/esm/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js.map +1 -1
  801. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +3 -4
  802. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  803. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +1 -1
  804. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  805. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js +2 -4
  806. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js.map +1 -1
  807. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +4 -5
  808. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js.map +1 -1
  809. package/build/esm/navigation/components/NavigationList/NavigationList.js +1 -5
  810. package/build/esm/navigation/components/NavigationList/NavigationList.js.map +1 -1
  811. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js +2 -4
  812. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js.map +1 -1
  813. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.css +2 -0
  814. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.js +13 -5
  815. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.js.map +1 -1
  816. package/build/esm/navigation/components/SocialIcon/SocialIcon.js +1 -1
  817. package/build/esm/navigation/components/SocialIcon/SocialIcon.js.map +1 -1
  818. package/build/esm/navigation/components/Standalone/index.js +1 -1
  819. package/build/esm/navigation/components/Standalone/index.js.map +1 -1
  820. package/build/esm/navigation/hooks/useActiveNavItem.js +1 -1
  821. package/build/esm/navigation/hooks/useActiveNavItem.js.map +1 -1
  822. package/build/esm/navigation/models.d.ts +1 -0
  823. package/build/esm/navigation/models.js.map +1 -1
  824. package/build/esm/navigation/schema.js +19 -6
  825. package/build/esm/navigation/schema.js.map +1 -1
  826. package/build/esm/navigation/utils.js +1 -1
  827. package/build/esm/navigation/utils.js.map +1 -1
  828. package/build/esm/schema/constants.d.ts +19 -0
  829. package/build/esm/schema/constants.js +35 -3
  830. package/build/esm/schema/constants.js.map +1 -1
  831. package/build/esm/schema/index.js +23 -6
  832. package/build/esm/schema/index.js.map +1 -1
  833. package/build/esm/schema/validators/blocks.d.ts +2 -0
  834. package/build/esm/schema/validators/blocks.js +2 -0
  835. package/build/esm/schema/validators/blocks.js.map +1 -1
  836. package/build/esm/schema/validators/common.js +77 -31
  837. package/build/esm/schema/validators/common.js.map +1 -1
  838. package/build/esm/schema/validators/utils.js +9 -2
  839. package/build/esm/schema/validators/utils.js.map +1 -1
  840. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js +1 -1
  841. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js.map +1 -1
  842. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +19 -0
  843. package/build/esm/sub-blocks/BackgroundCard/schema.js +23 -8
  844. package/build/esm/sub-blocks/BackgroundCard/schema.js.map +1 -1
  845. package/build/esm/sub-blocks/BannerCard/BannerCard.js +1 -1
  846. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  847. package/build/esm/sub-blocks/BasicCard/BasicCard.js +2 -3
  848. package/build/esm/sub-blocks/BasicCard/BasicCard.js.map +1 -1
  849. package/build/esm/sub-blocks/BasicCard/schema.js +17 -6
  850. package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
  851. package/build/esm/sub-blocks/Content/Content.js +1 -1
  852. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  853. package/build/esm/sub-blocks/Content/schema.js +10 -3
  854. package/build/esm/sub-blocks/Content/schema.js.map +1 -1
  855. package/build/esm/sub-blocks/Divider/schema.js +6 -2
  856. package/build/esm/sub-blocks/Divider/schema.js.map +1 -1
  857. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  858. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  859. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  860. package/build/esm/sub-blocks/HubspotForm/index.js +5 -5
  861. package/build/esm/sub-blocks/HubspotForm/index.js.map +1 -1
  862. package/build/esm/sub-blocks/HubspotForm/loadHubspotScript.js +1 -2
  863. package/build/esm/sub-blocks/HubspotForm/loadHubspotScript.js.map +1 -1
  864. package/build/esm/sub-blocks/HubspotForm/schema.js +11 -5
  865. package/build/esm/sub-blocks/HubspotForm/schema.js.map +1 -1
  866. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  867. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js +47 -0
  868. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  869. package/build/esm/sub-blocks/ImageCard/ImageCard.js +1 -1
  870. package/build/esm/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  871. package/build/esm/sub-blocks/ImageCard/schema.js +17 -6
  872. package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
  873. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +11 -10
  874. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  875. package/build/esm/sub-blocks/LayoutItem/schema.js +19 -6
  876. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  877. package/build/esm/sub-blocks/LayoutItem/utils.js +4 -1
  878. package/build/esm/sub-blocks/LayoutItem/utils.js.map +1 -1
  879. package/build/esm/sub-blocks/MediaCard/MediaCard.js +1 -5
  880. package/build/esm/sub-blocks/MediaCard/MediaCard.js.map +1 -1
  881. package/build/esm/sub-blocks/MediaCard/schema.js +12 -3
  882. package/build/esm/sub-blocks/MediaCard/schema.js.map +1 -1
  883. package/build/esm/sub-blocks/PriceCard/PriceCard.js +1 -1
  884. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  885. package/build/esm/sub-blocks/PriceCard/schema.js +25 -11
  886. package/build/esm/sub-blocks/PriceCard/schema.js.map +1 -1
  887. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -2
  888. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  889. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  890. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  891. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +1 -5
  892. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js.map +1 -1
  893. package/build/esm/sub-blocks/PriceDetailed/schema.js +44 -12
  894. package/build/esm/sub-blocks/PriceDetailed/schema.js.map +1 -1
  895. package/build/esm/sub-blocks/Quote/Quote.js +6 -3
  896. package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
  897. package/build/esm/sub-blocks/Quote/schema.js +21 -8
  898. package/build/esm/sub-blocks/Quote/schema.js.map +1 -1
  899. package/build/esm/text-transform/common.js +30 -21
  900. package/build/esm/text-transform/common.js.map +1 -1
  901. package/build/esm/text-transform/config.js +59 -25
  902. package/build/esm/text-transform/config.js.map +1 -1
  903. package/build/esm/text-transform/filter.js +4 -1
  904. package/build/esm/text-transform/filter.js.map +1 -1
  905. package/build/esm/text-transform/transformers.js +1 -1
  906. package/build/esm/text-transform/transformers.js.map +1 -1
  907. package/build/esm/text-transform/utils.js +11 -6
  908. package/build/esm/text-transform/utils.js.map +1 -1
  909. package/build/esm/utils/analytics.js +2 -3
  910. package/build/esm/utils/analytics.js.map +1 -1
  911. package/build/esm/utils/common.js +1 -2
  912. package/build/esm/utils/common.js.map +1 -1
  913. package/build/esm/utils/hubspot.d.ts +1 -0
  914. package/build/esm/utils/hubspot.js +6 -7
  915. package/build/esm/utils/hubspot.js.map +1 -1
  916. package/build/esm/utils/microdata.js +1 -1
  917. package/build/esm/utils/microdata.js.map +1 -1
  918. package/build/esm/utils/url.js +10 -5
  919. package/build/esm/utils/url.js.map +1 -1
  920. package/package.json +19 -21
  921. package/schema/index.js +1 -1
  922. package/server/models/constructor-items/blocks.d.ts +21 -3
  923. package/server/models/constructor-items/blocks.js +1 -0
  924. package/server/models/constructor-items/common.d.ts +16 -6
  925. package/server/models/constructor-items/common.js +8 -1
  926. package/server/models/constructor-items/sub-blocks.d.ts +2 -1
  927. package/server/text-transform/config.js +25 -1
  928. package/server/text-transform/utils.js +4 -1
  929. package/server/utils/hubspot.d.ts +1 -0
  930. package/widget/{5287.index.js → 1092.index.js} +1 -1
  931. package/widget/{8092.index.js → 1130.index.js} +1 -1
  932. package/widget/1219.index.js +1 -0
  933. package/widget/{2390.index.js → 122.index.js} +1 -1
  934. package/widget/{6817.index.js → 1289.index.js} +1 -1
  935. package/widget/{2921.index.js → 1335.index.js} +1 -1
  936. package/widget/{1876.index.js → 1340.index.js} +1 -1
  937. package/widget/{3901.index.js → 1349.index.js} +1 -1
  938. package/widget/1532.index.js +1 -0
  939. package/widget/{2957.index.js → 1750.index.js} +1 -1
  940. package/widget/{5105.index.js → 1995.index.js} +1 -1
  941. package/widget/{5418.index.js → 2010.index.js} +1 -1
  942. package/widget/{9517.index.js → 2026.index.js} +1 -1
  943. package/widget/2042.index.js +1 -0
  944. package/widget/{1794.index.js → 2187.index.js} +1 -1
  945. package/widget/{7548.index.js → 2218.index.js} +1 -1
  946. package/widget/225.index.js +1 -0
  947. package/widget/2338.index.js +1 -0
  948. package/widget/{4653.index.js → 2355.index.js} +1 -1
  949. package/widget/{5001.index.js → 2369.index.js} +1 -1
  950. package/widget/{4127.index.js → 2487.index.js} +1 -1
  951. package/widget/{6165.index.js → 2498.index.js} +1 -1
  952. package/widget/{5254.index.js → 2509.index.js} +1 -1
  953. package/widget/2544.index.js +1 -1
  954. package/widget/2619.index.js +1 -0
  955. package/widget/{5941.index.js → 2673.index.js} +1 -1
  956. package/widget/{4717.index.js → 2698.index.js} +1 -1
  957. package/widget/{7427.index.js → 2706.index.js} +1 -1
  958. package/widget/2723.index.js +1 -0
  959. package/widget/{8602.index.js → 2739.index.js} +1 -1
  960. package/widget/2745.index.js +1 -0
  961. package/widget/2796.index.js +1 -0
  962. package/widget/{7573.index.js → 2830.index.js} +1 -1
  963. package/widget/{3237.index.js → 2878.index.js} +1 -1
  964. package/widget/292.index.js +1 -0
  965. package/widget/2979.index.js +1 -0
  966. package/widget/3187.index.js +1 -0
  967. package/widget/321.index.js +1 -0
  968. package/widget/{5437.index.js → 3222.index.js} +1 -1
  969. package/widget/{1987.index.js → 3225.index.js} +1 -1
  970. package/widget/{7719.index.js → 3309.index.js} +1 -1
  971. package/widget/3392.index.js +1 -0
  972. package/widget/{4254.index.js → 3433.index.js} +1 -1
  973. package/widget/{2722.index.js → 3473.index.js} +1 -1
  974. package/widget/3532.index.js +1 -0
  975. package/widget/3562.index.js +1 -0
  976. package/widget/{6148.index.js → 3672.index.js} +1 -1
  977. package/widget/{4990.index.js → 3713.index.js} +1 -1
  978. package/widget/{8894.index.js → 3860.index.js} +1 -1
  979. package/widget/{5551.index.js → 3900.index.js} +1 -1
  980. package/widget/{6629.index.js → 4007.index.js} +1 -1
  981. package/widget/{7467.index.js → 4061.index.js} +1 -1
  982. package/widget/{5423.index.js → 4072.index.js} +1 -1
  983. package/widget/{4144.index.js → 4173.index.js} +1 -1
  984. package/widget/4288.index.js +1 -0
  985. package/widget/{8242.index.js → 4309.index.js} +1 -1
  986. package/widget/{8146.index.js → 4334.index.js} +1 -1
  987. package/widget/{9339.index.js → 4405.index.js} +1 -1
  988. package/widget/4457.index.js +1 -0
  989. package/widget/{8768.index.js → 4485.index.js} +1 -1
  990. package/widget/4509.index.js +1 -0
  991. package/widget/{4067.index.js → 4608.index.js} +1 -1
  992. package/widget/465.index.js +1 -0
  993. package/widget/{7118.index.js → 4719.index.js} +1 -1
  994. package/widget/4734.index.js +1 -0
  995. package/widget/4780.index.js +1 -0
  996. package/widget/4895.index.js +1 -0
  997. package/widget/{790.index.js → 494.index.js} +1 -1
  998. package/widget/5012.index.js +1 -0
  999. package/widget/{4722.index.js → 5084.index.js} +1 -1
  1000. package/widget/5285.index.js +1 -0
  1001. package/widget/5376.index.js +1 -0
  1002. package/widget/539.index.js +1 -0
  1003. package/widget/5414.index.js +1 -0
  1004. package/widget/{8980.index.js → 5513.index.js} +1 -1
  1005. package/widget/5530.index.js +1 -0
  1006. package/widget/5571.index.js +1 -0
  1007. package/widget/{8540.index.js → 5592.index.js} +1 -1
  1008. package/widget/5616.index.js +1 -0
  1009. package/widget/{5903.index.js → 5662.index.js} +1 -1
  1010. package/widget/{7109.index.js → 5665.index.js} +1 -1
  1011. package/widget/{8792.index.js → 5681.index.js} +1 -1
  1012. package/widget/5760.index.js +1 -0
  1013. package/widget/{6257.index.js → 5811.index.js} +1 -1
  1014. package/widget/{5054.index.js → 5826.index.js} +1 -1
  1015. package/widget/{1560.index.js → 5877.index.js} +1 -1
  1016. package/widget/{9149.index.js → 5944.index.js} +1 -1
  1017. package/widget/{8341.index.js → 5977.index.js} +1 -1
  1018. package/widget/{3646.index.js → 5993.index.js} +1 -1
  1019. package/widget/{2009.index.js → 6007.index.js} +1 -1
  1020. package/widget/{3852.index.js → 6033.index.js} +1 -1
  1021. package/widget/{5567.index.js → 6101.index.js} +1 -1
  1022. package/widget/6173.index.js +1 -0
  1023. package/widget/623.index.js +1 -0
  1024. package/widget/{7989.index.js → 6290.index.js} +1 -1
  1025. package/widget/6328.index.js +1 -0
  1026. package/widget/6353.index.js +1 -0
  1027. package/widget/6364.index.js +1 -0
  1028. package/widget/{7387.index.js → 6400.index.js} +1 -1
  1029. package/widget/{5473.index.js → 6462.index.js} +1 -1
  1030. package/widget/6463.index.js +1 -0
  1031. package/widget/6467.index.js +1 -0
  1032. package/widget/{6622.index.js → 6481.index.js} +1 -1
  1033. package/widget/{4888.index.js → 6605.index.js} +1 -1
  1034. package/widget/{2966.index.js → 6803.index.js} +1 -1
  1035. package/widget/{5627.index.js → 6847.index.js} +1 -1
  1036. package/widget/6887.index.js +1 -0
  1037. package/widget/{2019.index.js → 7081.index.js} +1 -1
  1038. package/widget/7205.index.js +1 -0
  1039. package/widget/{5596.index.js → 7250.index.js} +1 -1
  1040. package/widget/{7763.index.js → 7317.index.js} +1 -1
  1041. package/widget/7329.index.js +1 -0
  1042. package/widget/{5159.index.js → 7406.index.js} +1 -1
  1043. package/widget/{7632.index.js → 7409.index.js} +1 -1
  1044. package/widget/{3783.index.js → 7420.index.js} +1 -1
  1045. package/widget/{7101.index.js → 7439.index.js} +1 -1
  1046. package/widget/7458.index.js +1 -0
  1047. package/widget/7570.index.js +1 -0
  1048. package/widget/7627.index.js +1 -0
  1049. package/widget/{9197.index.js → 7674.index.js} +1 -1
  1050. package/widget/{5805.index.js → 7690.index.js} +1 -1
  1051. package/widget/{2641.index.js → 7741.index.js} +1 -1
  1052. package/widget/{4724.index.js → 7933.index.js} +1 -1
  1053. package/widget/{9132.index.js → 8003.index.js} +1 -1
  1054. package/widget/813.index.js +1 -0
  1055. package/widget/{6513.index.js → 8142.index.js} +1 -1
  1056. package/widget/{8562.index.js → 8298.index.js} +1 -1
  1057. package/widget/{7200.index.js → 8361.index.js} +1 -1
  1058. package/widget/{4855.index.js → 8418.index.js} +1 -1
  1059. package/widget/8446.index.js +1 -0
  1060. package/widget/860.index.js +1 -0
  1061. package/widget/{1796.index.js → 8615.index.js} +1 -1
  1062. package/widget/{6312.index.js → 8660.index.js} +1 -1
  1063. package/widget/880.index.js +1 -0
  1064. package/widget/8804.index.js +1 -0
  1065. package/widget/8809.index.js +1 -0
  1066. package/widget/{9157.index.js → 8928.index.js} +1 -1
  1067. package/widget/912.index.js +1 -0
  1068. package/widget/9160.index.js +1 -0
  1069. package/widget/{5914.index.js → 9252.index.js} +1 -1
  1070. package/widget/{3706.index.js → 9286.index.js} +1 -1
  1071. package/widget/{2502.index.js → 9294.index.js} +1 -1
  1072. package/widget/9340.index.js +1 -0
  1073. package/widget/{9182.index.js → 9423.index.js} +1 -1
  1074. package/widget/{8477.index.js → 9464.index.js} +1 -1
  1075. package/widget/950.index.js +1 -0
  1076. package/widget/952.index.js +1 -0
  1077. package/widget/9677.index.js +1 -0
  1078. package/widget/9751.index.js +1 -0
  1079. package/widget/{3220.index.js → 9836.index.js} +1 -1
  1080. package/widget/{2376.index.js → 9865.index.js} +1 -1
  1081. package/widget/{5109.index.js → 9881.index.js} +1 -1
  1082. package/widget/9911.index.js +1 -1
  1083. package/widget/{7822.index.js → 9964.index.js} +1 -1
  1084. package/widget/9979.index.js +1 -0
  1085. package/widget/{9091.index.js → 9990.index.js} +1 -1
  1086. package/widget/9998.index.js +1 -0
  1087. package/widget/index.js +1 -1
  1088. package/widget/1113.index.js +0 -1
  1089. package/widget/123.index.js +0 -1
  1090. package/widget/1573.index.js +0 -1
  1091. package/widget/2030.index.js +0 -1
  1092. package/widget/229.index.js +0 -1
  1093. package/widget/261.index.js +0 -1
  1094. package/widget/302.index.js +0 -1
  1095. package/widget/3035.index.js +0 -1
  1096. package/widget/313.index.js +0 -1
  1097. package/widget/3521.index.js +0 -1
  1098. package/widget/3864.index.js +0 -1
  1099. package/widget/3939.index.js +0 -1
  1100. package/widget/4017.index.js +0 -1
  1101. package/widget/4149.index.js +0 -1
  1102. package/widget/4502.index.js +0 -1
  1103. package/widget/466.index.js +0 -1
  1104. package/widget/504.index.js +0 -1
  1105. package/widget/5321.index.js +0 -1
  1106. package/widget/5742.index.js +0 -1
  1107. package/widget/5817.index.js +0 -1
  1108. package/widget/600.index.js +0 -1
  1109. package/widget/6023.index.js +0 -1
  1110. package/widget/6159.index.js +0 -1
  1111. package/widget/617.index.js +0 -1
  1112. package/widget/6183.index.js +0 -1
  1113. package/widget/6509.index.js +0 -1
  1114. package/widget/6636.index.js +0 -1
  1115. package/widget/6831.index.js +0 -1
  1116. package/widget/6953.index.js +0 -1
  1117. package/widget/7296.index.js +0 -1
  1118. package/widget/7486.index.js +0 -1
  1119. package/widget/7496.index.js +0 -1
  1120. package/widget/7553.index.js +0 -1
  1121. package/widget/758.index.js +0 -1
  1122. package/widget/772.index.js +0 -1
  1123. package/widget/7797.index.js +0 -1
  1124. package/widget/8066.index.js +0 -1
  1125. package/widget/8507.index.js +0 -1
  1126. package/widget/8529.index.js +0 -1
  1127. package/widget/8727.index.js +0 -1
  1128. package/widget/8864.index.js +0 -1
  1129. package/widget/8889.index.js +0 -1
  1130. package/widget/953.index.js +0 -1
  1131. package/widget/9670.index.js +0 -1
  1132. package/widget/9682.index.js +0 -1
  1133. package/widget/9928.index.js +0 -1
@@ -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 id?: 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"]}
@@ -12,6 +12,8 @@ export interface ButtonTabsProps extends QAProps {
12
12
  activeTab?: string | null;
13
13
  onSelectTab?: (tabId: string | null, e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
14
14
  tabSize?: ButtonSize;
15
+ getTabElementId?: (tabId: string) => string;
16
+ getTabContentElementId?: (tabId: string) => string;
15
17
  }
16
18
  declare const ButtonTabs: React.FC<ButtonTabsProps>;
17
19
  export default ButtonTabs;
@@ -4,7 +4,7 @@ import { block } from "../../utils/index.js";
4
4
  import { Button } from "../index.js";
5
5
  import './ButtonTabs.css';
6
6
  const b = block('button-tabs');
7
- const ButtonTabs = ({ className, items, activeTab, onSelectTab, tabSize = 'l', qa, }) => {
7
+ const ButtonTabs = ({ className, items, activeTab, onSelectTab, tabSize = 'l', qa, getTabElementId, getTabContentElementId, }) => {
8
8
  const activeTabId = React.useMemo(() => {
9
9
  if (activeTab) {
10
10
  return activeTab;
@@ -18,9 +18,10 @@ const ButtonTabs = ({ className, items, activeTab, onSelectTab, tabSize = 'l', q
18
18
  }, [onSelectTab]);
19
19
  return (_jsx("div", { className: b(null, className), role: "tablist", "data-qa": qa, children: items.map(({ id, title }) => {
20
20
  const isActive = id === activeTabId;
21
- return (_jsx(Button, { text: title, className: b('item', { active: isActive }), size: tabSize, onClick: handleClick(id), extraProps: {
21
+ return (_jsx(Button, { text: title, className: b('item', { active: isActive }), size: tabSize, onClick: handleClick(id), id: getTabElementId?.(id ?? ''), extraProps: {
22
22
  role: 'tab',
23
23
  'aria-selected': isActive,
24
+ 'aria-controls': getTabContentElementId?.(id ?? ''),
24
25
  } }, title));
25
26
  }) }));
26
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonTabs.js","sourceRoot":"../../../../src","sources":["components/ButtonTabs/ButtonTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,EAAC,MAAM,EAAC,oBAAiB;AAEhC,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAmB/B,MAAM,UAAU,GAA8B,CAAC,EAC3C,SAAS,EACT,KAAK,EACL,SAAS,EACT,WAAW,EACX,OAAO,GAAG,GAAG,EACb,EAAE,GACL,EAAE,EAAE;IACD,MAAM,WAAW,GAAkB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClD,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,KAAoB,EAAE,EAAE,CAAC,CAAC,CAA0D,EAAE,EAAE;QACrF,IAAI,WAAW,EAAE,CAAC;YACd,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,EACD,CAAC,WAAW,CAAC,CAChB,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,SAAS,aAAU,EAAE,YACzD,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAE,KAAK,EAAC,EAAE,EAAE;YACvB,MAAM,QAAQ,GAAG,EAAE,KAAK,WAAW,CAAC;YAEpC,OAAO,CACH,KAAC,MAAM,IACH,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,EAExC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,EACxB,UAAU,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,eAAe,EAAE,QAAQ;iBAC5B,IANI,KAAK,CAOZ,CACL,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ButtonSize} from '@gravity-ui/uikit';\n\nimport {ButtonProps, QAProps} from '../../models';\nimport {block} from '../../utils';\nimport {Button} from '../index';\n\nimport './ButtonTabs.scss';\n\nconst b = block('button-tabs');\n\nexport interface ButtonTabsItemProps\n extends Omit<ButtonProps, 'url' | 'primary' | 'target' | 'text'> {\n id: string | null;\n title: string;\n}\n\nexport interface ButtonTabsProps extends QAProps {\n className?: string;\n items: ButtonTabsItemProps[];\n activeTab?: string | null;\n onSelectTab?: (\n tabId: string | null,\n e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>,\n ) => void;\n tabSize?: ButtonSize;\n}\n\nconst ButtonTabs: React.FC<ButtonTabsProps> = ({\n className,\n items,\n activeTab,\n onSelectTab,\n tabSize = 'l',\n qa,\n}) => {\n const activeTabId: string | null = React.useMemo(() => {\n if (activeTab) {\n return activeTab;\n }\n\n return items[0].id;\n }, [activeTab, items]);\n\n const handleClick = React.useCallback(\n (tabId: string | null) => (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n if (onSelectTab) {\n onSelectTab(tabId, e);\n }\n },\n [onSelectTab],\n );\n\n return (\n <div className={b(null, className)} role=\"tablist\" data-qa={qa}>\n {items.map(({id, title}) => {\n const isActive = id === activeTabId;\n\n return (\n <Button\n text={title}\n className={b('item', {active: isActive})}\n key={title}\n size={tabSize}\n onClick={handleClick(id)}\n extraProps={{\n role: 'tab',\n 'aria-selected': isActive,\n }}\n />\n );\n })}\n </div>\n );\n};\n\nexport default ButtonTabs;\n"]}
1
+ {"version":3,"file":"ButtonTabs.js","sourceRoot":"../../../../src","sources":["components/ButtonTabs/ButtonTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,EAAC,MAAM,EAAC,oBAAiB;AAEhC,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAqB/B,MAAM,UAAU,GAA8B,CAAC,EAC3C,SAAS,EACT,KAAK,EACL,SAAS,EACT,WAAW,EACX,OAAO,GAAG,GAAG,EACb,EAAE,EACF,eAAe,EACf,sBAAsB,GACzB,EAAE,EAAE;IACD,MAAM,WAAW,GAAkB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClD,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,KAAoB,EAAE,EAAE,CAAC,CAAC,CAA0D,EAAE,EAAE;QACrF,IAAI,WAAW,EAAE,CAAC;YACd,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,EACD,CAAC,WAAW,CAAC,CAChB,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,SAAS,aAAU,EAAE,YACzD,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAE,KAAK,EAAC,EAAE,EAAE;YACvB,MAAM,QAAQ,GAAG,EAAE,KAAK,WAAW,CAAC;YAEpC,OAAO,CACH,KAAC,MAAM,IACH,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,EAExC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,EACxB,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAC/B,UAAU,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,eAAe,EAAE,QAAQ;oBACzB,eAAe,EAAE,sBAAsB,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;iBACtD,IARI,KAAK,CASZ,CACL,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ButtonSize} from '@gravity-ui/uikit';\n\nimport {ButtonProps, QAProps} from '../../models';\nimport {block} from '../../utils';\nimport {Button} from '../index';\n\nimport './ButtonTabs.scss';\n\nconst b = block('button-tabs');\n\nexport interface ButtonTabsItemProps\n extends Omit<ButtonProps, 'url' | 'primary' | 'target' | 'text'> {\n id: string | null;\n title: string;\n}\n\nexport interface ButtonTabsProps extends QAProps {\n className?: string;\n items: ButtonTabsItemProps[];\n activeTab?: string | null;\n onSelectTab?: (\n tabId: string | null,\n e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>,\n ) => void;\n tabSize?: ButtonSize;\n getTabElementId?: (tabId: string) => string;\n getTabContentElementId?: (tabId: string) => string;\n}\n\nconst ButtonTabs: React.FC<ButtonTabsProps> = ({\n className,\n items,\n activeTab,\n onSelectTab,\n tabSize = 'l',\n qa,\n getTabElementId,\n getTabContentElementId,\n}) => {\n const activeTabId: string | null = React.useMemo(() => {\n if (activeTab) {\n return activeTab;\n }\n\n return items[0].id;\n }, [activeTab, items]);\n\n const handleClick = React.useCallback(\n (tabId: string | null) => (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n if (onSelectTab) {\n onSelectTab(tabId, e);\n }\n },\n [onSelectTab],\n );\n\n return (\n <div className={b(null, className)} role=\"tablist\" data-qa={qa}>\n {items.map(({id, title}) => {\n const isActive = id === activeTabId;\n\n return (\n <Button\n text={title}\n className={b('item', {active: isActive})}\n key={title}\n size={tabSize}\n onClick={handleClick(id)}\n id={getTabElementId?.(id ?? '')}\n extraProps={{\n role: 'tab',\n 'aria-selected': isActive,\n 'aria-controls': getTabContentElementId?.(id ?? ''),\n }}\n />\n );\n })}\n </div>\n );\n};\n\nexport default ButtonTabs;\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, { contentClassName: b('text', { 'without-title': !title }), 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,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,eAAe,EAAE,CAAC,KAAK,EAAC,CAAC,EACtD,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 contentClassName={b('text', {'without-title': !title})}\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,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,eAAe,EAAE,CAAC,KAAK,EAAC,CAAC,EACtD,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 contentClassName={b('text', {'without-title': !title})}\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"]}
@@ -14,7 +14,7 @@ const ContentListItemIcon = ({ icon, className, qa }) => {
14
14
  return (_jsx("div", { children: _jsx(Icon, { className: className }) }));
15
15
  }
16
16
  const iconData = getMediaImage(iconThemed);
17
- return _jsx(Image, Object.assign({}, iconData, { className: className, qa: qa }));
17
+ return _jsx(Image, { ...iconData, className: className, qa: qa });
18
18
  };
19
19
  export default ContentListItemIcon;
20
20
  //# sourceMappingURL=ContentListItemIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentListItemIcon.js","sourceRoot":"../../../../src","sources":["components/ContentList/ContentListItemIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,qCAA4B;AAE7C,OAAO,EAAkB,cAAc,EAAC,6BAAoB;AAC5D,OAAO,KAAK,0BAAuB;AACnC,OAAO,EAAC,aAAa,EAAC,gCAA6B;AAMnD,SAAS,SAAS,CAAC,IAA0B;IACzC,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC;AACtC,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAgB,EAAE,EAAE;IACjE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE/C,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,OAAO,CACH,wBACI,KAAC,IAAI,IAAC,SAAS,EAAE,SAAS,GAAI,GAC5B,CACT,CAAC;IACN,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,KAAC,KAAK,oBAAK,QAAQ,IAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC;AACjE,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import {useTheme} from '../../context/theme';\nimport {ClassNameProps, ImageProps, QAProps, SVGIcon} from '../../models';\nimport {ThemeSupporting, getThemedValue} from '../../utils';\nimport Image from '../Image/Image';\nimport {getMediaImage} from '../Media/Image/utils';\n\ninterface ListItemProps extends QAProps, ClassNameProps {\n icon: ThemeSupporting<ImageProps | SVGIcon>;\n}\n\nfunction isIconSvg(icon: ImageProps | SVGIcon): icon is SVGIcon {\n return typeof icon === 'function';\n}\n\nconst ContentListItemIcon = ({icon, className, qa}: ListItemProps) => {\n const theme = useTheme();\n const iconThemed = getThemedValue(icon, theme);\n\n if (isIconSvg(iconThemed)) {\n const Icon = iconThemed;\n return (\n <div>\n <Icon className={className} />\n </div>\n );\n }\n const iconData = getMediaImage(iconThemed);\n return <Image {...iconData} className={className} qa={qa} />;\n};\n\nexport default ContentListItemIcon;\n"]}
1
+ {"version":3,"file":"ContentListItemIcon.js","sourceRoot":"../../../../src","sources":["components/ContentList/ContentListItemIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,qCAA4B;AAE7C,OAAO,EAAkB,cAAc,EAAC,6BAAoB;AAC5D,OAAO,KAAK,0BAAuB;AACnC,OAAO,EAAC,aAAa,EAAC,gCAA6B;AAMnD,SAAS,SAAS,CAAC,IAA0B;IACzC,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC;AACtC,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAgB,EAAE,EAAE;IACjE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE/C,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,OAAO,CACH,wBACI,KAAC,IAAI,IAAC,SAAS,EAAE,SAAS,GAAI,GAC5B,CACT,CAAC;IACN,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,KAAC,KAAK,OAAK,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAI,CAAC;AACjE,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import {useTheme} from '../../context/theme';\nimport {ClassNameProps, ImageProps, QAProps, SVGIcon} from '../../models';\nimport {ThemeSupporting, getThemedValue} from '../../utils';\nimport Image from '../Image/Image';\nimport {getMediaImage} from '../Media/Image/utils';\n\ninterface ListItemProps extends QAProps, ClassNameProps {\n icon: ThemeSupporting<ImageProps | SVGIcon>;\n}\n\nfunction isIconSvg(icon: ImageProps | SVGIcon): icon is SVGIcon {\n return typeof icon === 'function';\n}\n\nconst ContentListItemIcon = ({icon, className, qa}: ListItemProps) => {\n const theme = useTheme();\n const iconThemed = getThemedValue(icon, theme);\n\n if (isIconSvg(iconThemed)) {\n const Icon = iconThemed;\n return (\n <div>\n <Icon className={className} />\n </div>\n );\n }\n const iconData = getMediaImage(iconThemed);\n return <Image {...iconData} className={className} qa={qa} />;\n};\n\nexport default ContentListItemIcon;\n"]}
@@ -20,19 +20,18 @@ export const DefaultVideo = React.forwardRef((props, ref) => {
20
20
  // convenient and allows us to work with object typed ref only,
21
21
  // avoiding typeof ref === 'function' statements
22
22
  React.useImperativeHandle(ref, () => {
23
- if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current)) {
23
+ if (!videoRef?.current) {
24
24
  return undefined;
25
25
  }
26
26
  return videoRef.current;
27
27
  }, [videoRef]);
28
28
  const onPlayToggle = React.useCallback(() => {
29
29
  setIsPaused((value) => {
30
- var _a, _b;
31
30
  if (value) {
32
- (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
31
+ videoRef?.current?.play();
33
32
  }
34
33
  else {
35
- (_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.pause();
34
+ videoRef?.current?.pause();
36
35
  }
37
36
  return !value;
38
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultVideo.js","sourceRoot":"../../../../src","sources":["components/DefaultVideo/DefaultVideo.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {CustomControlsType, MediaVideoControlsType, MediaVideoProps} from '../../models';\nimport {block} from '../../utils';\nimport {getVideoTypesWithPriority} from '../Media/Video/utils';\nimport CustomBarControls from '../ReactPlayer/CustomBarControls';\n\nimport './DefaultVideo.scss';\n\nconst b = block('default-video');\n\ntype DefaultVideoRefType = HTMLVideoElement | undefined;\n\ninterface DefaultVideoProps {\n video: MediaVideoProps;\n qa?: string;\n customBarControlsClassName?: string;\n className?: string;\n}\n\nexport const DefaultVideo = React.forwardRef<DefaultVideoRefType, DefaultVideoProps>(\n (props, ref) => {\n const {video, qa, customBarControlsClassName} = props;\n const {controls, customControlsOptions, muted: initiallyMuted = true} = video;\n const {\n muteButtonShown,\n positioning,\n type: customControlsType,\n } = customControlsOptions || {};\n const [isPaused, setIsPaused] = React.useState(false);\n const [isMuted, setIsMuted] = React.useState(initiallyMuted);\n const videoRef = React.useRef<HTMLVideoElement>(null);\n\n // one may not use this hook and work with `ref` variable only, but\n // in this case one should support both function type and object type,\n // according to ForwardedRef type.\n // Currently used way with extra ref and useImperativeHandle is more\n // convenient and allows us to work with object typed ref only,\n // avoiding typeof ref === 'function' statements\n React.useImperativeHandle(ref, () => {\n if (!videoRef?.current) {\n return undefined;\n }\n\n return videoRef.current;\n }, [videoRef]);\n const onPlayToggle = React.useCallback(() => {\n setIsPaused((value) => {\n if (value) {\n videoRef?.current?.play();\n } else {\n videoRef?.current?.pause();\n }\n\n return !value;\n });\n }, [videoRef]);\n const onMuteToggle = React.useCallback(() => {\n setIsMuted((value) => !value);\n }, []);\n\n const onClick = React.useCallback(() => {\n if (customControlsType === CustomControlsType.WithPlayPauseButton) {\n onPlayToggle();\n }\n }, [onPlayToggle, customControlsType]);\n\n return (\n <React.Fragment>\n <video\n disablePictureInPicture\n playsInline\n // @ts-ignore\n // eslint-disable-next-line react/no-unknown-property\n pip=\"false\"\n className={b()}\n ref={videoRef}\n preload=\"metadata\"\n muted={isMuted}\n aria-label={video.ariaLabel}\n onClick={onClick}\n >\n {getVideoTypesWithPriority(video.src).map(({src, type}, index) => (\n <source key={index} src={src} type={type} data-qa={qa} />\n ))}\n <track default kind=\"captions\" />\n </video>\n\n {controls === MediaVideoControlsType.Custom && (\n <CustomBarControls\n className={customBarControlsClassName}\n type={customControlsType}\n isPaused={isPaused}\n onPlayClick={onPlayToggle}\n muteButtonShown={muteButtonShown}\n shown\n positioning={positioning}\n mute={{\n isMuted: Boolean(isMuted),\n changeMute: onMuteToggle,\n }}\n />\n )}\n </React.Fragment>\n );\n },\n);\n\nDefaultVideo.displayName = 'DefaultVideo';\n"]}
1
+ {"version":3,"file":"DefaultVideo.js","sourceRoot":"../../../../src","sources":["components/DefaultVideo/DefaultVideo.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {CustomControlsType, MediaVideoControlsType, MediaVideoProps} from '../../models';\nimport {block} from '../../utils';\nimport {getVideoTypesWithPriority} from '../Media/Video/utils';\nimport CustomBarControls from '../ReactPlayer/CustomBarControls';\n\nimport './DefaultVideo.scss';\n\nconst b = block('default-video');\n\ntype DefaultVideoRefType = HTMLVideoElement | undefined;\n\ninterface DefaultVideoProps {\n video: MediaVideoProps;\n qa?: string;\n customBarControlsClassName?: string;\n className?: string;\n}\n\nexport const DefaultVideo = React.forwardRef<DefaultVideoRefType, DefaultVideoProps>(\n (props, ref) => {\n const {video, qa, customBarControlsClassName} = props;\n const {controls, customControlsOptions, muted: initiallyMuted = true} = video;\n const {\n muteButtonShown,\n positioning,\n type: customControlsType,\n } = customControlsOptions || {};\n const [isPaused, setIsPaused] = React.useState(false);\n const [isMuted, setIsMuted] = React.useState(initiallyMuted);\n const videoRef = React.useRef<HTMLVideoElement>(null);\n\n // one may not use this hook and work with `ref` variable only, but\n // in this case one should support both function type and object type,\n // according to ForwardedRef type.\n // Currently used way with extra ref and useImperativeHandle is more\n // convenient and allows us to work with object typed ref only,\n // avoiding typeof ref === 'function' statements\n React.useImperativeHandle(ref, () => {\n if (!videoRef?.current) {\n return undefined;\n }\n\n return videoRef.current;\n }, [videoRef]);\n const onPlayToggle = React.useCallback(() => {\n setIsPaused((value) => {\n if (value) {\n videoRef?.current?.play();\n } else {\n videoRef?.current?.pause();\n }\n\n return !value;\n });\n }, [videoRef]);\n const onMuteToggle = React.useCallback(() => {\n setIsMuted((value) => !value);\n }, []);\n\n const onClick = React.useCallback(() => {\n if (customControlsType === CustomControlsType.WithPlayPauseButton) {\n onPlayToggle();\n }\n }, [onPlayToggle, customControlsType]);\n\n return (\n <React.Fragment>\n <video\n disablePictureInPicture\n playsInline\n // @ts-ignore\n // eslint-disable-next-line react/no-unknown-property\n pip=\"false\"\n className={b()}\n ref={videoRef}\n preload=\"metadata\"\n muted={isMuted}\n aria-label={video.ariaLabel}\n onClick={onClick}\n >\n {getVideoTypesWithPriority(video.src).map(({src, type}, index) => (\n <source key={index} src={src} type={type} data-qa={qa} />\n ))}\n <track default kind=\"captions\" />\n </video>\n\n {controls === MediaVideoControlsType.Custom && (\n <CustomBarControls\n className={customBarControlsClassName}\n type={customControlsType}\n isPaused={isPaused}\n onPlayClick={onPlayToggle}\n muteButtonShown={muteButtonShown}\n shown\n positioning={positioning}\n mute={{\n isMuted: Boolean(isMuted),\n changeMute: onMuteToggle,\n }}\n />\n )}\n </React.Fragment>\n );\n },\n);\n\nDefaultVideo.displayName = 'DefaultVideo';\n"]}
@@ -16,7 +16,7 @@ export var FileExtension;
16
16
  FileExtension["ZIP"] = "zip";
17
17
  })(FileExtension || (FileExtension = {}));
18
18
  export function getFileExt(name) {
19
- if (name === null || name === void 0 ? void 0 : name.includes(FIGMA_URL)) {
19
+ if (name?.includes(FIGMA_URL)) {
20
20
  return FileExtension.FIG;
21
21
  }
22
22
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -49,7 +49,7 @@ const FileLink = (props) => {
49
49
  const fileExt = getFileExt(href);
50
50
  const labelTheme = (FileExtensionThemes[fileExt] || 'unknown');
51
51
  const labelSize = LabelSizeMap[textSize];
52
- return (_jsxs("div", { className: b({ ext: fileExt, type, size: getTextSize(textSize), theme }, className), children: [_jsx(Label, { className: b('file-label'), size: labelSize, theme: labelTheme, children: fileExt }), _jsx("div", { className: b('link'), children: _jsx("a", Object.assign({ href: href, onClick: onClick, tabIndex: tabIndex, title: urlTitle }, getLinkProps(href, hostname), extraProps, { children: text })) })] }));
52
+ return (_jsxs("div", { className: b({ ext: fileExt, type, size: getTextSize(textSize), theme }, className), children: [_jsx(Label, { className: b('file-label'), size: labelSize, theme: labelTheme, children: fileExt }), _jsx("div", { className: b('link'), children: _jsx("a", { href: href, onClick: onClick, tabIndex: tabIndex, title: urlTitle, ...getLinkProps(href, hostname), ...extraProps, children: text }) })] }));
53
53
  };
54
54
  export default FileLink;
55
55
  //# sourceMappingURL=FileLink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileLink.js","sourceRoot":"../../../../src","sources":["components/FileLink/FileLink.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Label, LabelProps} from '@gravity-ui/uikit';\n\nimport {LocationContext} from '../../context/locationContext';\nimport {FileLinkProps, TextSize} from '../../models';\nimport {block, getLinkProps} from '../../utils';\n\nimport './FileLink.scss';\n\nconst b = block('file-link');\n\nconst FIGMA_URL = 'https://www.figma.com';\n\nexport enum FileExtension {\n PDF = 'pdf',\n DOC = 'doc',\n XLS = 'xls',\n PPT = 'ppt',\n FIG = 'fig',\n ZIP = 'zip',\n}\n\nexport function getFileExt(name: string) {\n if (name?.includes(FIGMA_URL)) {\n return FileExtension.FIG;\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return name && name.split('.').pop()!.toLowerCase();\n}\n\nconst FileExtensionThemes = {\n [FileExtension.PDF]: 'danger',\n [FileExtension.DOC]: 'info',\n [FileExtension.XLS]: 'success',\n [FileExtension.PPT]: 'warning',\n [FileExtension.FIG]: 'normal',\n [FileExtension.ZIP]: 'unknown',\n};\n\nconst LabelSizeMap: Record<TextSize, LabelProps['size']> = {\n l: 's',\n m: 's',\n sm: 's',\n s: 'xs',\n xs: 'xs',\n};\n\nfunction getTextSize(size: TextSize) {\n if (size === 'sm') {\n return 'm';\n }\n\n return size;\n}\n\nconst FileLink = (props: React.PropsWithChildren<FileLinkProps>) => {\n const {hostname} = React.useContext(LocationContext);\n const {\n href,\n text,\n type = 'vertical',\n textSize = 'm',\n className,\n theme = 'default',\n onClick,\n tabIndex,\n urlTitle,\n extraProps,\n } = props;\n const fileExt = getFileExt(href) as FileExtension;\n const labelTheme = (FileExtensionThemes[fileExt] || 'unknown') as LabelProps['theme'];\n const labelSize = LabelSizeMap[textSize];\n\n return (\n <div className={b({ext: fileExt, type, size: getTextSize(textSize), theme}, className)}>\n <Label className={b('file-label')} size={labelSize} theme={labelTheme}>\n {fileExt}\n </Label>\n <div className={b('link')}>\n <a\n href={href}\n onClick={onClick}\n tabIndex={tabIndex}\n title={urlTitle}\n {...getLinkProps(href, hostname)}\n {...extraProps}\n >\n {text}\n </a>\n </div>\n </div>\n );\n};\n\nexport default FileLink;\n"]}
1
+ {"version":3,"file":"FileLink.js","sourceRoot":"../../../../src","sources":["components/FileLink/FileLink.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,KAAK,EAAa,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAC,eAAe,EAAC,+CAAsC;AAE9D,OAAO,EAAC,KAAK,EAAE,YAAY,EAAC,6BAAoB;AAEhD,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAE7B,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAE1C,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,4BAAW,CAAA;IACX,4BAAW,CAAA;IACX,4BAAW,CAAA;IACX,4BAAW,CAAA;IACX,4BAAW,CAAA;AACf,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,IAAI,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC,GAAG,CAAC;IAC7B,CAAC;IACD,oEAAoE;IACpE,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,WAAW,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,mBAAmB,GAAG;IACxB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,QAAQ;IAC7B,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM;IAC3B,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS;IAC9B,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS;IAC9B,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,QAAQ;IAC7B,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS;CACjC,CAAC;AAEF,MAAM,YAAY,GAAyC;IACvD,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,GAAG;IACP,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;CACX,CAAC;AAEF,SAAS,WAAW,CAAC,IAAc;IAC/B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,KAA6C,EAAE,EAAE;IAC/D,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACrD,MAAM,EACF,IAAI,EACJ,IAAI,EACJ,IAAI,GAAG,UAAU,EACjB,QAAQ,GAAG,GAAG,EACd,SAAS,EACT,KAAK,GAAG,SAAS,EACjB,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,UAAU,GACb,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAkB,CAAC;IAClD,MAAM,UAAU,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,SAAS,CAAwB,CAAC;IACtF,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAEzC,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,EAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAC,EAAE,SAAS,CAAC,aAClF,KAAC,KAAK,IAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,YAChE,OAAO,GACJ,EACR,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,YACI,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,QAAQ,KACX,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,KAC5B,UAAU,YAEb,IAAI,GACL,GACF,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Label, LabelProps} from '@gravity-ui/uikit';\n\nimport {LocationContext} from '../../context/locationContext';\nimport {FileLinkProps, TextSize} from '../../models';\nimport {block, getLinkProps} from '../../utils';\n\nimport './FileLink.scss';\n\nconst b = block('file-link');\n\nconst FIGMA_URL = 'https://www.figma.com';\n\nexport enum FileExtension {\n PDF = 'pdf',\n DOC = 'doc',\n XLS = 'xls',\n PPT = 'ppt',\n FIG = 'fig',\n ZIP = 'zip',\n}\n\nexport function getFileExt(name: string) {\n if (name?.includes(FIGMA_URL)) {\n return FileExtension.FIG;\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return name && name.split('.').pop()!.toLowerCase();\n}\n\nconst FileExtensionThemes = {\n [FileExtension.PDF]: 'danger',\n [FileExtension.DOC]: 'info',\n [FileExtension.XLS]: 'success',\n [FileExtension.PPT]: 'warning',\n [FileExtension.FIG]: 'normal',\n [FileExtension.ZIP]: 'unknown',\n};\n\nconst LabelSizeMap: Record<TextSize, LabelProps['size']> = {\n l: 's',\n m: 's',\n sm: 's',\n s: 'xs',\n xs: 'xs',\n};\n\nfunction getTextSize(size: TextSize) {\n if (size === 'sm') {\n return 'm';\n }\n\n return size;\n}\n\nconst FileLink = (props: React.PropsWithChildren<FileLinkProps>) => {\n const {hostname} = React.useContext(LocationContext);\n const {\n href,\n text,\n type = 'vertical',\n textSize = 'm',\n className,\n theme = 'default',\n onClick,\n tabIndex,\n urlTitle,\n extraProps,\n } = props;\n const fileExt = getFileExt(href) as FileExtension;\n const labelTheme = (FileExtensionThemes[fileExt] || 'unknown') as LabelProps['theme'];\n const labelSize = LabelSizeMap[textSize];\n\n return (\n <div className={b({ext: fileExt, type, size: getTextSize(textSize), theme}, className)}>\n <Label className={b('file-label')} size={labelSize} theme={labelTheme}>\n {fileExt}\n </Label>\n <div className={b('link')}>\n <a\n href={href}\n onClick={onClick}\n tabIndex={tabIndex}\n title={urlTitle}\n {...getLinkProps(href, hostname)}\n {...extraProps}\n >\n {text}\n </a>\n </div>\n </div>\n );\n};\n\nexport default FileLink;\n"]}
@@ -9,24 +9,19 @@ function getPadding(width) {
9
9
  return width > BREAKPOINTS.sm ? 16 : 8;
10
10
  }
11
11
  export default class FullWidthBackground extends React.Component {
12
- constructor() {
13
- super(...arguments);
14
- this.ref = React.createRef();
15
- this.setBg = debounce(() => {
16
- var _a, _b;
17
- if (this.ref && this.ref.current) {
18
- const bg = this.ref.current;
19
- const width = document.documentElement.clientWidth || document.body.clientWidth;
20
- const padding = this.props.theme === 'rounded' ? getPadding(width) : 0;
21
- const { left } = (_b = (_a = bg.parentElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) !== null && _b !== void 0 ? _b : { left: 0 };
22
- bg.style.width = `${width - padding * 2}px`;
23
- bg.style.left = `-${left - padding}px`;
24
- }
25
- }, 100);
26
- }
12
+ ref = React.createRef();
13
+ setBg = debounce(() => {
14
+ if (this.ref && this.ref.current) {
15
+ const bg = this.ref.current;
16
+ const width = document.documentElement.clientWidth || document.body.clientWidth;
17
+ const padding = this.props.theme === 'rounded' ? getPadding(width) : 0;
18
+ const { left } = bg.parentElement?.getBoundingClientRect() ?? { left: 0 };
19
+ bg.style.width = `${width - padding * 2}px`;
20
+ bg.style.left = `-${left - padding}px`;
21
+ }
22
+ }, 100);
27
23
  componentDidMount() {
28
- var _a, _b;
29
- if ((_b = (_a = this === null || this === void 0 ? void 0 : this.ref) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.parentElement) {
24
+ if (this?.ref?.current?.parentElement) {
30
25
  this.ref.current.parentElement.style.position = 'relative';
31
26
  this.setBg();
32
27
  window.addEventListener('resize', this.setBg, { passive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"FullWidthBackground.js","sourceRoot":"../../../../src","sources":["components/FullWidthBackground/FullWidthBackground.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,2BAAwB;AAEvC,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAE5C,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,2BAA2B,CAAC;AAEnC,MAAM,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAOvC,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,KAAK,CAAC,SAEtD;IAFD;;QAGY,QAAG,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QAExC,UAAK,GAAG,QAAQ,CAAC,GAAG,EAAE;;YAC1B,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,MAAM,EAAC,IAAI,EAAC,GAAG,MAAA,MAAA,EAAE,CAAC,aAAa,0CAAE,qBAAqB,EAAE,mCAAI,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC;gBAEtE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;gBAC5C,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,GAAG,OAAO,IAAI,CAAC;YAC3C,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAsBZ,CAAC;IApBG,iBAAiB;;QACb,IAAI,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,0CAAE,OAAO,0CAAE,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED,oBAAoB;QAChB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACF,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACnE,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAC,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,YACrE,QAAQ,GACP,CACT,CAAC;IACN,CAAC;CACJ","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\n\nimport {BREAKPOINTS} from '../../constants';\nimport {ClassNameProps} from '../../models';\nimport {block} from '../../utils';\n\nimport './FullWidthBackground.scss';\n\nconst b = block('FullWidthBackground');\n\nexport interface FullWidthBackgroundProps extends ClassNameProps {\n style?: React.CSSProperties;\n theme?: 'default' | 'rounded';\n}\n\nfunction getPadding(width: number) {\n return width > BREAKPOINTS.sm ? 16 : 8;\n}\n\nexport default class FullWidthBackground extends React.Component<\n React.PropsWithChildren<FullWidthBackgroundProps>\n> {\n private ref = React.createRef<HTMLDivElement>();\n\n private setBg = debounce(() => {\n if (this.ref && this.ref.current) {\n const bg = this.ref.current;\n const width = document.documentElement.clientWidth || document.body.clientWidth;\n const padding = this.props.theme === 'rounded' ? getPadding(width) : 0;\n const {left} = bg.parentElement?.getBoundingClientRect() ?? {left: 0};\n\n bg.style.width = `${width - padding * 2}px`;\n bg.style.left = `-${left - padding}px`;\n }\n }, 100);\n\n componentDidMount() {\n if (this?.ref?.current?.parentElement) {\n this.ref.current.parentElement.style.position = 'relative';\n this.setBg();\n window.addEventListener('resize', this.setBg, {passive: true});\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.setBg);\n }\n\n render() {\n const {children, className, style, theme = 'default'} = this.props;\n return (\n <div className={b({[theme]: true}, className)} ref={this.ref} style={style}>\n {children}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"FullWidthBackground.js","sourceRoot":"../../../../src","sources":["components/FullWidthBackground/FullWidthBackground.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,2BAAwB;AAEvC,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAE5C,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,2BAA2B,CAAC;AAEnC,MAAM,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAOvC,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,KAAK,CAAC,SAEtD;IACW,GAAG,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;IAExC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE;QAC1B,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YAChF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,EAAC,IAAI,EAAC,GAAG,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,IAAI,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC;YAEtE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;YAC5C,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,GAAG,OAAO,IAAI,CAAC;QAC3C,CAAC;IACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,iBAAiB;QACb,IAAI,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED,oBAAoB;QAChB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACF,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACnE,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAC,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,YACrE,QAAQ,GACP,CACT,CAAC;IACN,CAAC;CACJ","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\n\nimport {BREAKPOINTS} from '../../constants';\nimport {ClassNameProps} from '../../models';\nimport {block} from '../../utils';\n\nimport './FullWidthBackground.scss';\n\nconst b = block('FullWidthBackground');\n\nexport interface FullWidthBackgroundProps extends ClassNameProps {\n style?: React.CSSProperties;\n theme?: 'default' | 'rounded';\n}\n\nfunction getPadding(width: number) {\n return width > BREAKPOINTS.sm ? 16 : 8;\n}\n\nexport default class FullWidthBackground extends React.Component<\n React.PropsWithChildren<FullWidthBackgroundProps>\n> {\n private ref = React.createRef<HTMLDivElement>();\n\n private setBg = debounce(() => {\n if (this.ref && this.ref.current) {\n const bg = this.ref.current;\n const width = document.documentElement.clientWidth || document.body.clientWidth;\n const padding = this.props.theme === 'rounded' ? getPadding(width) : 0;\n const {left} = bg.parentElement?.getBoundingClientRect() ?? {left: 0};\n\n bg.style.width = `${width - padding * 2}px`;\n bg.style.left = `-${left - padding}px`;\n }\n }, 100);\n\n componentDidMount() {\n if (this?.ref?.current?.parentElement) {\n this.ref.current.parentElement.style.position = 'relative';\n this.setBg();\n window.addEventListener('resize', this.setBg, {passive: true});\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.setBg);\n }\n\n render() {\n const {children, className, style, theme = 'default'} = this.props;\n return (\n <div className={b({[theme]: true}, className)} ref={this.ref} style={style}>\n {children}\n </div>\n );\n }\n}\n"]}
@@ -102,6 +102,9 @@ unpredictable css rules order in build */
102
102
  opacity: 1;
103
103
  }
104
104
  }
105
+ .pc-fullscreen-image__expand-icon-wrapper_visible {
106
+ opacity: 1;
107
+ }
105
108
  .pc-fullscreen-image__close-icon-wrapper {
106
109
  display: inline-block;
107
110
  margin: 0;
@@ -26,7 +26,7 @@ const FullscreenImage = (props) => {
26
26
  const handleSliderImageLoad = () => {
27
27
  setSliderLoaded(true);
28
28
  };
29
- return (_jsxs("div", Object.assign({ className: b() }, extraProps, { children: [_jsxs("div", { className: b('image-wrapper'), children: [_jsx(Image, Object.assign({}, props, { alt: alt, className: b('image', imageClassName), onClick: openModal, style: imageStyle })), _jsx("button", { className: b('expand-icon-wrapper'), onClick: openModal, children: _jsx(Icon, { data: ChevronsExpandUpRight, width: FULL_SCREEN_ICON_SIZE, height: FULL_SCREEN_ICON_SIZE, className: b('icon') }) })] }), isOpened && (_jsxs(Modal, { open: isOpened, onClose: closeModal, className: b('modal', { 'with-slider': Boolean(sliderData) }), contentClassName: b('modal-content', { loaded: sliderLoaded }), children: [_jsx("button", { className: b('close-icon-wrapper', { visible: true }), onClick: closeModal, "aria-label": i18n('close'), children: _jsx(Icon, { data: Xmark, width: CLOSE_ICON_SIZE, height: CLOSE_ICON_SIZE, className: b('icon', { hover: true }) }) }), sliderData ? (_jsx("div", { className: b('modal-slider'), children: _jsx(SliderBlock, { initialSlide: sliderData.initialIndex, slidesToShow: 1, type: SliderType.FullscreenCard, children: sliderData.items.map((item, index) => (_jsx("div", { className: b('modal-slider_item'), children: _jsx(Image, Object.assign({ onLoad: handleSliderImageLoad, className: b('modal-slider_item-image', modalImageClass), containerClassName: b('modal-slider_item-image-wrapper') }, getMediaImage(item))) }, index))) }) })) : (_jsx(Image, Object.assign({}, props, { className: b('modal-image', modalImageClass) })))] }))] })));
29
+ return (_jsxs("div", { className: b(), ...extraProps, children: [_jsxs("div", { className: b('image-wrapper'), children: [_jsx(Image, { ...props, alt: alt, className: b('image', imageClassName), onClick: openModal, style: imageStyle }), _jsx("button", { className: b('expand-icon-wrapper'), onClick: openModal, children: _jsx(Icon, { data: ChevronsExpandUpRight, width: FULL_SCREEN_ICON_SIZE, height: FULL_SCREEN_ICON_SIZE, className: b('icon') }) })] }), isOpened && (_jsxs(Modal, { open: isOpened, onClose: closeModal, className: b('modal', { 'with-slider': Boolean(sliderData) }), contentClassName: b('modal-content', { loaded: sliderLoaded }), children: [_jsx("button", { className: b('close-icon-wrapper', { visible: true }), onClick: closeModal, "aria-label": i18n('close'), children: _jsx(Icon, { data: Xmark, width: CLOSE_ICON_SIZE, height: CLOSE_ICON_SIZE, className: b('icon', { hover: true }) }) }), sliderData ? (_jsx("div", { className: b('modal-slider'), children: _jsx(SliderBlock, { initialSlide: sliderData.initialIndex, slidesToShow: 1, type: SliderType.FullscreenCard, children: sliderData.items.map((item, index) => (_jsx("div", { className: b('modal-slider_item'), children: _jsx(Image, { onLoad: handleSliderImageLoad, className: b('modal-slider_item-image', modalImageClass), containerClassName: b('modal-slider_item-image-wrapper'), ...getMediaImage(item) }) }, index))) }) })) : (_jsx(Image, { ...props, className: b('modal-image', modalImageClass) }))] }))] }));
30
30
  };
31
31
  export default FullscreenImage;
32
32
  //# sourceMappingURL=FullscreenImage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FullscreenImage.js","sourceRoot":"../../../../src","sources":["components/FullscreenImage/FullscreenImage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,qBAAqB,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAC,WAAW,EAAC,8BAAqB;AACzC,OAAO,EAAgC,UAAU,EAAC,8BAAqB;AACvE,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,KAAmB,0BAAuB;AACjD,OAAO,EAAC,aAAa,EAAC,gCAA6B;AAEnD,OAAO,EAAC,IAAI,EAAC,wBAAe;AAE5B,OAAO,uBAAuB,CAAC;AAU/B,MAAM,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACpC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IACpD,MAAM,EACF,cAAc,EACd,UAAU,EACV,eAAe,EACf,UAAU,EACV,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EACrB,UAAU,GACb,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE5C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3B,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAC/B,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE,IAAM,UAAU,eAC/B,eAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,aAC9B,KAAC,KAAK,oBACE,KAAK,IACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EACrC,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,UAAU,IACnB,EACF,iBAAQ,SAAS,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,YAC3D,KAAC,IAAI,IACD,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GACtB,GACG,IACP,EACL,QAAQ,IAAI,CACT,MAAC,KAAK,IACF,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,EAAC,CAAC,EAC3D,gBAAgB,EAAE,CAAC,CAAC,eAAe,EAAE,EAAC,MAAM,EAAE,YAAY,EAAC,CAAC,aAE5D,iBACI,SAAS,EAAE,CAAC,CAAC,oBAAoB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EACnD,OAAO,EAAE,UAAU,gBACP,IAAI,CAAC,OAAO,CAAC,YAEzB,KAAC,IAAI,IACD,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,GACrC,GACG,EACR,UAAU,CAAC,CAAC,CAAC,CACV,cAAK,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,YAC7B,KAAC,WAAW,IACR,YAAY,EAAE,UAAU,CAAC,YAAY,EACrC,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,UAAU,CAAC,cAAc,YAE9B,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,cAAiB,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAC9C,KAAC,KAAK,kBACF,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,CAAC,CACR,yBAAyB,EACzB,eAAe,CAClB,EACD,kBAAkB,EAAE,CAAC,CACjB,iCAAiC,CACpC,IACG,aAAa,CAAC,IAAI,CAAC,EACzB,IAXI,KAAK,CAYT,CACT,CAAC,GACQ,GACZ,CACT,CAAC,CAAC,CAAC,CACA,KAAC,KAAK,oBAAK,KAAK,IAAE,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,CACrE,IACG,CACX,KACC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ChevronsExpandUpRight, Xmark} from '@gravity-ui/icons';\nimport {Icon, Modal} from '@gravity-ui/uikit';\n\nimport {SliderBlock} from '../../blocks';\nimport {ImageProps as ModelImageProps, SliderType} from '../../models';\nimport {block} from '../../utils';\nimport Image, {ImageProps} from '../Image/Image';\nimport {getMediaImage} from '../Media/Image/utils';\n\nimport {i18n} from './i18n';\n\nimport './FullscreenImage.scss';\n\nexport interface FullscreenImageProps extends ImageProps {\n imageClassName?: string;\n modalImageClass?: string;\n imageStyle?: React.CSSProperties;\n extraProps?: React.HTMLProps<HTMLDivElement>;\n sliderData?: {items: ModelImageProps[]; initialIndex: number};\n}\n\nconst b = block('fullscreen-image');\nconst FULL_SCREEN_ICON_SIZE = 18;\nconst CLOSE_ICON_SIZE = 24;\n\nconst FullscreenImage = (props: FullscreenImageProps) => {\n const {\n imageClassName,\n sliderData,\n modalImageClass,\n imageStyle,\n alt = i18n('img-alt'),\n extraProps,\n } = props;\n const [isOpened, setIsOpened] = React.useState(false);\n const [sliderLoaded, setSliderLoaded] = React.useState(false);\n\n const openModal = () => setIsOpened(true);\n const closeModal = () => setIsOpened(false);\n\n React.useEffect(() => {\n if (sliderData && !isOpened) {\n setSliderLoaded(false);\n }\n }, [isOpened, sliderData]);\n\n const handleSliderImageLoad = () => {\n setSliderLoaded(true);\n };\n\n return (\n <div className={b()} {...extraProps}>\n <div className={b('image-wrapper')}>\n <Image\n {...props}\n alt={alt}\n className={b('image', imageClassName)}\n onClick={openModal}\n style={imageStyle}\n />\n <button className={b('expand-icon-wrapper')} onClick={openModal}>\n <Icon\n data={ChevronsExpandUpRight}\n width={FULL_SCREEN_ICON_SIZE}\n height={FULL_SCREEN_ICON_SIZE}\n className={b('icon')}\n />\n </button>\n </div>\n {isOpened && (\n <Modal\n open={isOpened}\n onClose={closeModal}\n className={b('modal', {'with-slider': Boolean(sliderData)})}\n contentClassName={b('modal-content', {loaded: sliderLoaded})}\n >\n <button\n className={b('close-icon-wrapper', {visible: true})}\n onClick={closeModal}\n aria-label={i18n('close')}\n >\n <Icon\n data={Xmark}\n width={CLOSE_ICON_SIZE}\n height={CLOSE_ICON_SIZE}\n className={b('icon', {hover: true})}\n />\n </button>\n {sliderData ? (\n <div className={b('modal-slider')}>\n <SliderBlock\n initialSlide={sliderData.initialIndex}\n slidesToShow={1}\n type={SliderType.FullscreenCard}\n >\n {sliderData.items.map((item, index) => (\n <div key={index} className={b('modal-slider_item')}>\n <Image\n onLoad={handleSliderImageLoad}\n className={b(\n 'modal-slider_item-image',\n modalImageClass,\n )}\n containerClassName={b(\n 'modal-slider_item-image-wrapper',\n )}\n {...getMediaImage(item)}\n />\n </div>\n ))}\n </SliderBlock>\n </div>\n ) : (\n <Image {...props} className={b('modal-image', modalImageClass)} />\n )}\n </Modal>\n )}\n </div>\n );\n};\n\nexport default FullscreenImage;\n"]}
1
+ {"version":3,"file":"FullscreenImage.js","sourceRoot":"../../../../src","sources":["components/FullscreenImage/FullscreenImage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,qBAAqB,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAC,WAAW,EAAC,8BAAqB;AACzC,OAAO,EAAgC,UAAU,EAAC,8BAAqB;AACvE,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,KAAmB,0BAAuB;AACjD,OAAO,EAAC,aAAa,EAAC,gCAA6B;AAEnD,OAAO,EAAC,IAAI,EAAC,wBAAe;AAE5B,OAAO,uBAAuB,CAAC;AAU/B,MAAM,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACpC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IACpD,MAAM,EACF,cAAc,EACd,UAAU,EACV,eAAe,EACf,UAAU,EACV,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EACrB,UAAU,GACb,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE5C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3B,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAC/B,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,KAAM,UAAU,aAC/B,eAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,aAC9B,KAAC,KAAK,OACE,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EACrC,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,UAAU,GACnB,EACF,iBAAQ,SAAS,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,YAC3D,KAAC,IAAI,IACD,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GACtB,GACG,IACP,EACL,QAAQ,IAAI,CACT,MAAC,KAAK,IACF,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,EAAC,CAAC,EAC3D,gBAAgB,EAAE,CAAC,CAAC,eAAe,EAAE,EAAC,MAAM,EAAE,YAAY,EAAC,CAAC,aAE5D,iBACI,SAAS,EAAE,CAAC,CAAC,oBAAoB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EACnD,OAAO,EAAE,UAAU,gBACP,IAAI,CAAC,OAAO,CAAC,YAEzB,KAAC,IAAI,IACD,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,GACrC,GACG,EACR,UAAU,CAAC,CAAC,CAAC,CACV,cAAK,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,YAC7B,KAAC,WAAW,IACR,YAAY,EAAE,UAAU,CAAC,YAAY,EACrC,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,UAAU,CAAC,cAAc,YAE9B,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,cAAiB,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAC9C,KAAC,KAAK,IACF,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,CAAC,CACR,yBAAyB,EACzB,eAAe,CAClB,EACD,kBAAkB,EAAE,CAAC,CACjB,iCAAiC,CACpC,KACG,aAAa,CAAC,IAAI,CAAC,GACzB,IAXI,KAAK,CAYT,CACT,CAAC,GACQ,GACZ,CACT,CAAC,CAAC,CAAC,CACA,KAAC,KAAK,OAAK,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,GAAI,CACrE,IACG,CACX,IACC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ChevronsExpandUpRight, Xmark} from '@gravity-ui/icons';\nimport {Icon, Modal} from '@gravity-ui/uikit';\n\nimport {SliderBlock} from '../../blocks';\nimport {ImageProps as ModelImageProps, SliderType} from '../../models';\nimport {block} from '../../utils';\nimport Image, {ImageProps} from '../Image/Image';\nimport {getMediaImage} from '../Media/Image/utils';\n\nimport {i18n} from './i18n';\n\nimport './FullscreenImage.scss';\n\nexport interface FullscreenImageProps extends ImageProps {\n imageClassName?: string;\n modalImageClass?: string;\n imageStyle?: React.CSSProperties;\n extraProps?: React.HTMLProps<HTMLDivElement>;\n sliderData?: {items: ModelImageProps[]; initialIndex: number};\n}\n\nconst b = block('fullscreen-image');\nconst FULL_SCREEN_ICON_SIZE = 18;\nconst CLOSE_ICON_SIZE = 24;\n\nconst FullscreenImage = (props: FullscreenImageProps) => {\n const {\n imageClassName,\n sliderData,\n modalImageClass,\n imageStyle,\n alt = i18n('img-alt'),\n extraProps,\n } = props;\n const [isOpened, setIsOpened] = React.useState(false);\n const [sliderLoaded, setSliderLoaded] = React.useState(false);\n\n const openModal = () => setIsOpened(true);\n const closeModal = () => setIsOpened(false);\n\n React.useEffect(() => {\n if (sliderData && !isOpened) {\n setSliderLoaded(false);\n }\n }, [isOpened, sliderData]);\n\n const handleSliderImageLoad = () => {\n setSliderLoaded(true);\n };\n\n return (\n <div className={b()} {...extraProps}>\n <div className={b('image-wrapper')}>\n <Image\n {...props}\n alt={alt}\n className={b('image', imageClassName)}\n onClick={openModal}\n style={imageStyle}\n />\n <button className={b('expand-icon-wrapper')} onClick={openModal}>\n <Icon\n data={ChevronsExpandUpRight}\n width={FULL_SCREEN_ICON_SIZE}\n height={FULL_SCREEN_ICON_SIZE}\n className={b('icon')}\n />\n </button>\n </div>\n {isOpened && (\n <Modal\n open={isOpened}\n onClose={closeModal}\n className={b('modal', {'with-slider': Boolean(sliderData)})}\n contentClassName={b('modal-content', {loaded: sliderLoaded})}\n >\n <button\n className={b('close-icon-wrapper', {visible: true})}\n onClick={closeModal}\n aria-label={i18n('close')}\n >\n <Icon\n data={Xmark}\n width={CLOSE_ICON_SIZE}\n height={CLOSE_ICON_SIZE}\n className={b('icon', {hover: true})}\n />\n </button>\n {sliderData ? (\n <div className={b('modal-slider')}>\n <SliderBlock\n initialSlide={sliderData.initialIndex}\n slidesToShow={1}\n type={SliderType.FullscreenCard}\n >\n {sliderData.items.map((item, index) => (\n <div key={index} className={b('modal-slider_item')}>\n <Image\n onLoad={handleSliderImageLoad}\n className={b(\n 'modal-slider_item-image',\n modalImageClass,\n )}\n containerClassName={b(\n 'modal-slider_item-image-wrapper',\n )}\n {...getMediaImage(item)}\n />\n </div>\n ))}\n </SliderBlock>\n </div>\n ) : (\n <Image {...props} className={b('modal-image', modalImageClass)} />\n )}\n </Modal>\n )}\n </div>\n );\n};\n\nexport default FullscreenImage;\n"]}
@@ -29,9 +29,7 @@ unpredictable css rules order in build */
29
29
  max-width: min(65vw, 1232px);
30
30
  width: 100%;
31
31
  aspect-ratio: 16/9;
32
- height: calc(
33
- min(65vw, 1232px) * 9 / 16
34
- ) !important; /* stylelint-disable-line declaration-no-important */
32
+ height: calc(min(65vw, 1232px) * 9 / 16) !important; /* stylelint-disable-line declaration-no-important */
35
33
  }
36
34
  .pc-full-screen-media__modal .g-modal__content, .pc-full-screen-media__modal-image {
37
35
  border-radius: var(--pc-border-radius);
@@ -1,11 +1,14 @@
1
- import { __rest } from "tslib";
2
1
  import * as React from 'react';
3
2
  import { selectTagName } from "../../utils/index.js";
4
- const HTML = (_a) => {
5
- var { content, children, block = false, className, contentClassName, qa, contentPosition = 'start', tagName = 'span', onlyContent = false } = _a, rest = __rest(_a, ["content", "children", "block", "className", "contentClassName", "qa", "contentPosition", "tagName", "onlyContent"]);
3
+ const HTML = ({ content, children, block = false, className, contentClassName, qa, contentPosition = 'start', tagName = 'span', onlyContent = false, ...rest }) => {
6
4
  const renderedContent = React.useMemo(() => {
7
5
  return content
8
- ? React.createElement(selectTagName({ content, block, tagName, children }), Object.assign({ dangerouslySetInnerHTML: { __html: content }, className: contentClassName, 'data-qa': qa }, rest))
6
+ ? React.createElement(selectTagName({ content, block, tagName, children }), {
7
+ dangerouslySetInnerHTML: { __html: content },
8
+ className: contentClassName,
9
+ 'data-qa': qa,
10
+ ...rest,
11
+ })
9
12
  : null;
10
13
  }, [block, children, content, contentClassName, qa, rest, tagName]);
11
14
  if (onlyContent) {
@@ -1 +1 @@
1
- {"version":3,"file":"HTML.js","sourceRoot":"../../../../src","sources":["components/HTML/HTML.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,aAAa,EAAC,6BAAoB;AAmB1C,MAAM,IAAI,GAAG,CAAC,EAWF,EAAE,EAAE;QAXF,EACV,OAAO,EACP,QAAQ,EACR,KAAK,GAAG,KAAK,EACb,SAAS,EACT,gBAAgB,EAChB,EAAE,EACF,eAAe,GAAG,OAAO,EACzB,OAAO,GAAG,MAAM,EAChB,WAAW,GAAG,KAAK,OAEX,EADL,IAAI,cAVG,oHAWb,CADU;IAEP,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,OAAO,OAAO;YACV,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAC,CAAC,kBAClE,uBAAuB,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC,EAC1C,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,EAAE,IACV,IAAI,EACT;YACJ,CAAC,CAAC,IAAI,CAAC;IACf,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpE,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,KAAK,CAAC,aAAa,CACtB,OAAO,EACP;YACI,SAAS;SACZ,EACD,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EACpD,QAAQ,EACR,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CACrD,CAAC;IACN,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ClassNameProps, QAProps, TagName} from '../../models/common';\nimport {selectTagName} from '../../utils';\n\nexport interface HTMLExtraProps {\n tagName?: TagName;\n contentPosition?: 'start' | 'end';\n contentClassName?: string;\n onlyContent?: boolean;\n}\nexport interface HTMLProps\n extends HTMLExtraProps,\n React.PropsWithChildren,\n QAProps,\n ClassNameProps {\n content?: string;\n block?: boolean;\n itemProp?: string;\n id?: string;\n}\n\nconst HTML = ({\n content,\n children,\n block = false,\n className,\n contentClassName,\n qa,\n contentPosition = 'start',\n tagName = 'span',\n onlyContent = false,\n ...rest\n}: HTMLProps) => {\n const renderedContent = React.useMemo(() => {\n return content\n ? React.createElement(selectTagName({content, block, tagName, children}), {\n dangerouslySetInnerHTML: {__html: content},\n className: contentClassName,\n 'data-qa': qa,\n ...rest,\n })\n : null;\n }, [block, children, content, contentClassName, qa, rest, tagName]);\n\n if (onlyContent) {\n return renderedContent;\n }\n\n if (children) {\n return React.createElement(\n tagName,\n {\n className,\n },\n contentPosition === 'start' ? renderedContent : null,\n children,\n contentPosition === 'end' ? renderedContent : null,\n );\n }\n\n return renderedContent;\n};\n\nexport default HTML;\n"]}
1
+ {"version":3,"file":"HTML.js","sourceRoot":"../../../../src","sources":["components/HTML/HTML.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,aAAa,EAAC,6BAAoB;AAmB1C,MAAM,IAAI,GAAG,CAAC,EACV,OAAO,EACP,QAAQ,EACR,KAAK,GAAG,KAAK,EACb,SAAS,EACT,gBAAgB,EAChB,EAAE,EACF,eAAe,GAAG,OAAO,EACzB,OAAO,GAAG,MAAM,EAChB,WAAW,GAAG,KAAK,EACnB,GAAG,IAAI,EACC,EAAE,EAAE;IACZ,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,OAAO,OAAO;YACV,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAC,CAAC,EAAE;gBACpE,uBAAuB,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC;gBAC1C,SAAS,EAAE,gBAAgB;gBAC3B,SAAS,EAAE,EAAE;gBACb,GAAG,IAAI;aACV,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;IACf,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpE,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,KAAK,CAAC,aAAa,CACtB,OAAO,EACP;YACI,SAAS;SACZ,EACD,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EACpD,QAAQ,EACR,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CACrD,CAAC;IACN,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ClassNameProps, QAProps, TagName} from '../../models/common';\nimport {selectTagName} from '../../utils';\n\nexport interface HTMLExtraProps {\n tagName?: TagName;\n contentPosition?: 'start' | 'end';\n contentClassName?: string;\n onlyContent?: boolean;\n}\nexport interface HTMLProps\n extends HTMLExtraProps,\n React.PropsWithChildren,\n QAProps,\n ClassNameProps {\n content?: string;\n block?: boolean;\n itemProp?: string;\n id?: string;\n}\n\nconst HTML = ({\n content,\n children,\n block = false,\n className,\n contentClassName,\n qa,\n contentPosition = 'start',\n tagName = 'span',\n onlyContent = false,\n ...rest\n}: HTMLProps) => {\n const renderedContent = React.useMemo(() => {\n return content\n ? React.createElement(selectTagName({content, block, tagName, children}), {\n dangerouslySetInnerHTML: {__html: content},\n className: contentClassName,\n 'data-qa': qa,\n ...rest,\n })\n : null;\n }, [block, children, content, contentClassName, qa, rest, tagName]);\n\n if (onlyContent) {\n return renderedContent;\n }\n\n if (children) {\n return React.createElement(\n tagName,\n {\n className,\n },\n contentPosition === 'start' ? renderedContent : null,\n children,\n contentPosition === 'end' ? renderedContent : null,\n );\n }\n\n return renderedContent;\n};\n\nexport default HTML;\n"]}
@@ -12,6 +12,6 @@ export default function HeaderBreadcrumbs(props) {
12
12
  const onClick = React.useCallback(() => {
13
13
  handleAnalytics(analyticsEvents);
14
14
  }, [analyticsEvents, handleAnalytics]);
15
- return (_jsx("nav", { className: b({ theme }, className), "aria-label": i18n('label'), children: _jsx("ol", { className: b('list'), children: items === null || items === void 0 ? void 0 : items.map(({ url, text }) => (_jsxs("li", { className: b('item'), children: [_jsx("a", { href: url, className: b('text'), onClick: onClick, children: text }), _jsx("span", { className: b('separator'), "aria-hidden": true, children: "/" })] }, url))) }) }));
15
+ return (_jsx("nav", { className: b({ theme }, className), "aria-label": i18n('label'), children: _jsx("ol", { className: b('list'), children: items?.map(({ url, text }) => (_jsxs("li", { className: b('item'), children: [_jsx("a", { href: url, className: b('text'), onClick: onClick, children: text }), _jsx("span", { className: b('separator'), "aria-hidden": true, children: "/" })] }, url))) }) }));
16
16
  }
17
17
  //# sourceMappingURL=HeaderBreadcrumbs.js.map