@gravity-ui/page-constructor 6.0.1-beta.0 → 6.1.0

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 (285) hide show
  1. package/build/cjs/blocks/CardLayout/CardLayout.js +1 -1
  2. package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
  3. package/build/cjs/blocks/Form/schema.js +1 -1
  4. package/build/cjs/blocks/Form/schema.js.map +1 -1
  5. package/build/cjs/blocks/Header/Header.css +6 -0
  6. package/build/cjs/blocks/Header/Header.js +10 -4
  7. package/build/cjs/blocks/Header/Header.js.map +1 -1
  8. package/build/cjs/blocks/Header/schema.d.ts +6 -0
  9. package/build/cjs/blocks/Header/schema.js +3 -0
  10. package/build/cjs/blocks/Header/schema.js.map +1 -1
  11. package/build/cjs/blocks/HeaderSlider/schema.d.ts +3 -0
  12. package/build/cjs/blocks/HeaderSlider/schema.js +1 -1
  13. package/build/cjs/blocks/HeaderSlider/schema.js.map +1 -1
  14. package/build/cjs/blocks/Info/schema.js +1 -1
  15. package/build/cjs/blocks/Info/schema.js.map +1 -1
  16. package/build/cjs/blocks/Media/schema.js +1 -1
  17. package/build/cjs/blocks/Media/schema.js.map +1 -1
  18. package/build/cjs/blocks/Questions/schema.js +1 -1
  19. package/build/cjs/blocks/Questions/schema.js.map +1 -1
  20. package/build/cjs/blocks/Slider/Slider.js +3 -3
  21. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  22. package/build/cjs/blocks/Slider/utils.js +1 -1
  23. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  24. package/build/cjs/blocks/SliderNew/Slider.d.ts +1 -1
  25. package/build/cjs/blocks/SliderNew/Slider.js +13 -2
  26. package/build/cjs/blocks/SliderNew/Slider.js.map +1 -1
  27. package/build/cjs/blocks/SliderNew/utils.js +2 -2
  28. package/build/cjs/blocks/SliderNew/utils.js.map +1 -1
  29. package/build/cjs/blocks/Tabs/schema.js +1 -1
  30. package/build/cjs/blocks/Tabs/schema.js.map +1 -1
  31. package/build/cjs/components/BackLink/BackLink.js +5 -2
  32. package/build/cjs/components/BackLink/BackLink.js.map +1 -1
  33. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +3 -3
  34. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  35. package/build/cjs/components/BrandFooter/BrandFooter.css +21 -17
  36. package/build/cjs/components/BrandFooter/BrandFooter.js +1 -1
  37. package/build/cjs/components/BrandFooter/BrandFooter.js.map +1 -1
  38. package/build/cjs/components/Button/Button.js +2 -3
  39. package/build/cjs/components/Button/Button.js.map +1 -1
  40. package/build/cjs/components/CardBase/CardBase.css +1 -0
  41. package/build/cjs/components/ContentList/ContentList.css +7 -7
  42. package/build/cjs/components/FileLink/FileLink.js +8 -1
  43. package/build/cjs/components/FileLink/FileLink.js.map +1 -1
  44. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js +1 -1
  45. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  46. package/build/cjs/components/ImageBase/ImageBase.js +1 -1
  47. package/build/cjs/components/ImageBase/ImageBase.js.map +1 -1
  48. package/build/cjs/components/Link/Link.js +11 -2
  49. package/build/cjs/components/Link/Link.js.map +1 -1
  50. package/build/cjs/components/Map/GoogleMap.js +1 -1
  51. package/build/cjs/components/Map/GoogleMap.js.map +1 -1
  52. package/build/cjs/components/Map/YMap/YandexMap.js +1 -1
  53. package/build/cjs/components/Map/YMap/YandexMap.js.map +1 -1
  54. package/build/cjs/components/Media/Image/Image.js +1 -1
  55. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  56. package/build/cjs/components/OutsideClick/OutsideClick.js +1 -1
  57. package/build/cjs/components/OutsideClick/OutsideClick.js.map +1 -1
  58. package/build/cjs/components/OverflowScroller/OverflowScroller.js +1 -1
  59. package/build/cjs/components/OverflowScroller/OverflowScroller.js.map +1 -1
  60. package/build/cjs/components/ReactPlayer/ReactPlayer.js +1 -1
  61. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  62. package/build/cjs/components/Title/TitleItem.css +8 -1
  63. package/build/cjs/components/Title/TitleItem.js +1 -0
  64. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  65. package/build/cjs/components/VideoBlock/VideoBlock.js +1 -1
  66. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  67. package/build/cjs/containers/PageConstructor/PageConstructor.css +1 -0
  68. package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +1 -1
  69. package/build/cjs/containers/PageConstructor/PageConstructor.js +1 -1
  70. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  71. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  72. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  73. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
  74. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  75. package/build/cjs/editor/components/AddBlock/AddBlock.js +1 -1
  76. package/build/cjs/editor/components/AddBlock/AddBlock.js.map +1 -1
  77. package/build/cjs/editor/components/BlockForm/BlockForm.js +2 -2
  78. package/build/cjs/editor/components/BlockForm/BlockForm.js.map +1 -1
  79. package/build/cjs/editor/components/CodeEditor/CodeEditor.js +1 -1
  80. package/build/cjs/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  81. package/build/cjs/editor/components/ControlPanel/ControlPanel.css +1 -1
  82. package/build/cjs/editor/components/PageSettings/PageSettings.js +1 -1
  83. package/build/cjs/editor/components/PageSettings/PageSettings.js.map +1 -1
  84. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +1 -1
  85. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  86. package/build/cjs/editor/dynamic-forms-custom/config.js +1 -1
  87. package/build/cjs/editor/dynamic-forms-custom/config.js.map +1 -1
  88. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +2 -2
  89. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  90. package/build/cjs/editor/store/main/utils.js +1 -1
  91. package/build/cjs/editor/store/main/utils.js.map +1 -1
  92. package/build/cjs/editor/utils/index.js +1 -1
  93. package/build/cjs/editor/utils/index.js.map +1 -1
  94. package/build/cjs/editor/utils/validation.js +1 -1
  95. package/build/cjs/editor/utils/validation.js.map +1 -1
  96. package/build/cjs/hooks/useFocus.js +1 -1
  97. package/build/cjs/hooks/useFocus.js.map +1 -1
  98. package/build/cjs/hooks/useHeightCalculator.js +1 -1
  99. package/build/cjs/hooks/useHeightCalculator.js.map +1 -1
  100. package/build/cjs/hooks/useWindowBreakpoint.js +1 -1
  101. package/build/cjs/hooks/useWindowBreakpoint.js.map +1 -1
  102. package/build/cjs/models/constructor-items/blocks.d.ts +2 -1
  103. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  104. package/build/cjs/models/constructor-items/common.d.ts +2 -2
  105. package/build/cjs/models/constructor-items/common.js.map +1 -1
  106. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +1 -1
  107. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  108. package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
  109. package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
  110. package/build/cjs/navigation/hooks/useActiveNavItem.d.ts +2 -2
  111. package/build/cjs/navigation/hooks/useShowBorder.js +1 -1
  112. package/build/cjs/navigation/hooks/useShowBorder.js.map +1 -1
  113. package/build/cjs/navigation/schema.js +1 -1
  114. package/build/cjs/navigation/schema.js.map +1 -1
  115. package/build/cjs/navigation/utils.d.ts +1 -1
  116. package/build/cjs/schema/validators/common.js +1 -1
  117. package/build/cjs/schema/validators/common.js.map +1 -1
  118. package/build/cjs/sub-blocks/BackgroundCard/schema.js +1 -1
  119. package/build/cjs/sub-blocks/BackgroundCard/schema.js.map +1 -1
  120. package/build/cjs/sub-blocks/BasicCard/schema.js +1 -1
  121. package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
  122. package/build/cjs/sub-blocks/Content/Content.css +53 -6
  123. package/build/cjs/sub-blocks/Content/Content.js +2 -0
  124. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  125. package/build/cjs/sub-blocks/ImageCard/ImageCard.css +2 -0
  126. package/build/cjs/sub-blocks/ImageCard/schema.js +1 -1
  127. package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
  128. package/build/cjs/sub-blocks/LayoutItem/schema.js +1 -1
  129. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  130. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +2 -3
  131. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  132. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
  133. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
  134. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -0
  135. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  136. package/build/cjs/text-transform/transformers.js +2 -2
  137. package/build/cjs/text-transform/transformers.js.map +1 -1
  138. package/build/cjs/utils/blocks.js +3 -2
  139. package/build/cjs/utils/blocks.js.map +1 -1
  140. package/build/esm/blocks/CardLayout/CardLayout.js +1 -1
  141. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  142. package/build/esm/blocks/Form/schema.js +1 -1
  143. package/build/esm/blocks/Form/schema.js.map +1 -1
  144. package/build/esm/blocks/Header/Header.css +6 -0
  145. package/build/esm/blocks/Header/Header.js +10 -4
  146. package/build/esm/blocks/Header/Header.js.map +1 -1
  147. package/build/esm/blocks/Header/schema.d.ts +6 -0
  148. package/build/esm/blocks/Header/schema.js +3 -0
  149. package/build/esm/blocks/Header/schema.js.map +1 -1
  150. package/build/esm/blocks/HeaderSlider/schema.d.ts +3 -0
  151. package/build/esm/blocks/HeaderSlider/schema.js +1 -1
  152. package/build/esm/blocks/HeaderSlider/schema.js.map +1 -1
  153. package/build/esm/blocks/Info/schema.js +1 -1
  154. package/build/esm/blocks/Info/schema.js.map +1 -1
  155. package/build/esm/blocks/Media/schema.js +1 -1
  156. package/build/esm/blocks/Media/schema.js.map +1 -1
  157. package/build/esm/blocks/Questions/schema.js +1 -1
  158. package/build/esm/blocks/Questions/schema.js.map +1 -1
  159. package/build/esm/blocks/Slider/Slider.js +3 -3
  160. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  161. package/build/esm/blocks/Slider/utils.js +1 -1
  162. package/build/esm/blocks/Slider/utils.js.map +1 -1
  163. package/build/esm/blocks/SliderNew/Slider.d.ts +1 -1
  164. package/build/esm/blocks/SliderNew/Slider.js +13 -2
  165. package/build/esm/blocks/SliderNew/Slider.js.map +1 -1
  166. package/build/esm/blocks/SliderNew/utils.js +2 -2
  167. package/build/esm/blocks/SliderNew/utils.js.map +1 -1
  168. package/build/esm/blocks/Tabs/schema.js +1 -1
  169. package/build/esm/blocks/Tabs/schema.js.map +1 -1
  170. package/build/esm/components/BackLink/BackLink.js +5 -2
  171. package/build/esm/components/BackLink/BackLink.js.map +1 -1
  172. package/build/esm/components/BalancedMasonry/BalancedMasonry.js +3 -3
  173. package/build/esm/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  174. package/build/esm/components/BrandFooter/BrandFooter.css +21 -17
  175. package/build/esm/components/BrandFooter/BrandFooter.js +1 -1
  176. package/build/esm/components/BrandFooter/BrandFooter.js.map +1 -1
  177. package/build/esm/components/Button/Button.js +3 -4
  178. package/build/esm/components/Button/Button.js.map +1 -1
  179. package/build/esm/components/CardBase/CardBase.css +1 -0
  180. package/build/esm/components/ContentList/ContentList.css +7 -7
  181. package/build/esm/components/FileLink/FileLink.js +8 -1
  182. package/build/esm/components/FileLink/FileLink.js.map +1 -1
  183. package/build/esm/components/FullWidthBackground/FullWidthBackground.js +1 -1
  184. package/build/esm/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  185. package/build/esm/components/ImageBase/ImageBase.js +1 -1
  186. package/build/esm/components/ImageBase/ImageBase.js.map +1 -1
  187. package/build/esm/components/Link/Link.js +12 -3
  188. package/build/esm/components/Link/Link.js.map +1 -1
  189. package/build/esm/components/Map/GoogleMap.js +1 -1
  190. package/build/esm/components/Map/GoogleMap.js.map +1 -1
  191. package/build/esm/components/Map/YMap/YandexMap.js +1 -1
  192. package/build/esm/components/Map/YMap/YandexMap.js.map +1 -1
  193. package/build/esm/components/Media/Image/Image.js +1 -1
  194. package/build/esm/components/Media/Image/Image.js.map +1 -1
  195. package/build/esm/components/OutsideClick/OutsideClick.js +1 -1
  196. package/build/esm/components/OutsideClick/OutsideClick.js.map +1 -1
  197. package/build/esm/components/OverflowScroller/OverflowScroller.js +1 -1
  198. package/build/esm/components/OverflowScroller/OverflowScroller.js.map +1 -1
  199. package/build/esm/components/ReactPlayer/ReactPlayer.js +1 -1
  200. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  201. package/build/esm/components/Title/TitleItem.css +8 -1
  202. package/build/esm/components/Title/TitleItem.js +1 -0
  203. package/build/esm/components/Title/TitleItem.js.map +1 -1
  204. package/build/esm/components/VideoBlock/VideoBlock.js +1 -1
  205. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  206. package/build/esm/containers/PageConstructor/PageConstructor.css +1 -0
  207. package/build/esm/containers/PageConstructor/PageConstructor.d.ts +1 -1
  208. package/build/esm/containers/PageConstructor/PageConstructor.js +1 -1
  209. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  210. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  211. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  212. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
  213. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  214. package/build/esm/editor/components/AddBlock/AddBlock.js +1 -1
  215. package/build/esm/editor/components/AddBlock/AddBlock.js.map +1 -1
  216. package/build/esm/editor/components/BlockForm/BlockForm.js +2 -2
  217. package/build/esm/editor/components/BlockForm/BlockForm.js.map +1 -1
  218. package/build/esm/editor/components/CodeEditor/CodeEditor.js +1 -1
  219. package/build/esm/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  220. package/build/esm/editor/components/ControlPanel/ControlPanel.css +1 -1
  221. package/build/esm/editor/components/PageSettings/PageSettings.js +1 -1
  222. package/build/esm/editor/components/PageSettings/PageSettings.js.map +1 -1
  223. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +1 -1
  224. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  225. package/build/esm/editor/dynamic-forms-custom/config.js +1 -1
  226. package/build/esm/editor/dynamic-forms-custom/config.js.map +1 -1
  227. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +2 -2
  228. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  229. package/build/esm/editor/store/main/utils.js +1 -1
  230. package/build/esm/editor/store/main/utils.js.map +1 -1
  231. package/build/esm/editor/utils/index.js +1 -1
  232. package/build/esm/editor/utils/index.js.map +1 -1
  233. package/build/esm/editor/utils/validation.js +1 -1
  234. package/build/esm/editor/utils/validation.js.map +1 -1
  235. package/build/esm/hooks/useFocus.js +1 -1
  236. package/build/esm/hooks/useFocus.js.map +1 -1
  237. package/build/esm/hooks/useHeightCalculator.js +1 -1
  238. package/build/esm/hooks/useHeightCalculator.js.map +1 -1
  239. package/build/esm/hooks/useWindowBreakpoint.js +1 -1
  240. package/build/esm/hooks/useWindowBreakpoint.js.map +1 -1
  241. package/build/esm/models/constructor-items/blocks.d.ts +2 -1
  242. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  243. package/build/esm/models/constructor-items/common.d.ts +2 -2
  244. package/build/esm/models/constructor-items/common.js.map +1 -1
  245. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +1 -1
  246. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  247. package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
  248. package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
  249. package/build/esm/navigation/hooks/useActiveNavItem.d.ts +2 -2
  250. package/build/esm/navigation/hooks/useShowBorder.js +1 -1
  251. package/build/esm/navigation/hooks/useShowBorder.js.map +1 -1
  252. package/build/esm/navigation/schema.js +1 -1
  253. package/build/esm/navigation/schema.js.map +1 -1
  254. package/build/esm/navigation/utils.d.ts +1 -1
  255. package/build/esm/schema/validators/common.js +1 -1
  256. package/build/esm/schema/validators/common.js.map +1 -1
  257. package/build/esm/sub-blocks/BackgroundCard/schema.js +1 -1
  258. package/build/esm/sub-blocks/BackgroundCard/schema.js.map +1 -1
  259. package/build/esm/sub-blocks/BasicCard/schema.js +1 -1
  260. package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
  261. package/build/esm/sub-blocks/Content/Content.css +53 -6
  262. package/build/esm/sub-blocks/Content/Content.js +2 -0
  263. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  264. package/build/esm/sub-blocks/ImageCard/ImageCard.css +2 -0
  265. package/build/esm/sub-blocks/ImageCard/schema.js +1 -1
  266. package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
  267. package/build/esm/sub-blocks/LayoutItem/schema.js +1 -1
  268. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  269. package/build/esm/sub-blocks/PriceCard/PriceCard.js +1 -1
  270. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  271. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
  272. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
  273. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -0
  274. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  275. package/build/esm/text-transform/transformers.js +2 -2
  276. package/build/esm/text-transform/transformers.js.map +1 -1
  277. package/build/esm/utils/blocks.js +3 -2
  278. package/build/esm/utils/blocks.js.map +1 -1
  279. package/package.json +16 -11
  280. package/schema/index.js +1 -1
  281. package/server/models/constructor-items/blocks.d.ts +2 -1
  282. package/server/models/constructor-items/common.d.ts +2 -2
  283. package/server/utils/blocks.js +1 -0
  284. package/styles/root.scss +1 -0
  285. package/widget/2957.index.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sourceRoot":"../../../../src","sources":["blocks/SliderNew/Slider.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport SwiperCore, {A11y, Autoplay, Pagination} from 'swiper';\nimport {Swiper, SwiperSlide} from 'swiper/react';\n\nimport Anchor from '../../components/Anchor/Anchor';\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport Title from '../../components/Title/Title';\nimport {ClassNameProps, Refable, SliderProps as SliderParams} from '../../models';\nimport {block} from '../../utils';\n\nimport Arrow from './Arrow/Arrow';\nimport {i18n} from './i18n';\nimport {useSlider} from './useSlider';\nimport {useSliderPagination} from './useSliderPagination';\n\nimport './Slider.scss';\nimport 'swiper/swiper-bundle.css';\n\nconst b = block('SliderNewBlock');\n\nexport interface SliderNewProps\n extends Omit<SliderParams, 'children'>,\n Partial<\n Pick<\n Swiper,\n | 'onSlideChange'\n | 'onSlideChangeTransitionStart'\n | 'onSlideChangeTransitionEnd'\n | 'onActiveIndexChange'\n | 'onBreakpoint'\n >\n >,\n Refable<HTMLDivElement>,\n ClassNameProps {\n type?: string;\n anchorId?: string;\n dotsClassName?: string;\n blockClassName?: string;\n arrowSize?: number;\n}\n\nSwiperCore.use([Autoplay, A11y, Pagination]);\n\nexport const SliderNewBlock = ({\n animated,\n title,\n description,\n type,\n anchorId,\n arrows = true,\n adaptive,\n autoplay: autoplayMs,\n dots = true,\n className,\n dotsClassName,\n disclaimer,\n children,\n blockClassName,\n arrowSize,\n slidesToShow,\n onSlideChange,\n onSlideChangeTransitionStart,\n onSlideChangeTransitionEnd,\n onActiveIndexChange,\n onBreakpoint,\n}: React.PropsWithChildren<SliderNewProps>) => {\n const {autoplay, isLocked, childrenCount, breakpoints, onSwiper, onPrev, onNext, setIsLocked} =\n useSlider({\n slidesToShow,\n children,\n type,\n autoplayMs,\n });\n\n const isA11yControlHidden = Boolean(autoplay);\n const controlTabIndex = isA11yControlHidden ? -1 : 0;\n\n const paginationProps = useSliderPagination({\n enabled: dots,\n isA11yControlHidden,\n controlTabIndex,\n bulletClass: b('dot', dotsClassName),\n bulletActiveClass: b('dot_active'),\n paginationLabel: i18n('pagination-label'),\n });\n\n return (\n <div\n className={b(\n {\n 'one-slide': childrenCount === 1,\n 'only-arrows': !title?.text && !description && arrows,\n 'without-dots': !dots || isLocked,\n type,\n },\n blockClassName,\n )}\n >\n {anchorId && <Anchor id={anchorId} />}\n <Title\n title={title}\n subtitle={description}\n className={b('header', {'no-description': !description})}\n />\n <AnimateBlock className={b('animate-slides')} animate={animated}>\n <Swiper\n className={b('slider', className)}\n onSwiper={onSwiper}\n speed={1000}\n autoplay={autoplay}\n autoHeight={adaptive}\n initialSlide={0}\n noSwiping={false}\n breakpoints={breakpoints}\n onSlideChange={onSlideChange}\n onSlideChangeTransitionStart={onSlideChangeTransitionStart}\n onSlideChangeTransitionEnd={onSlideChangeTransitionEnd}\n onActiveIndexChange={onActiveIndexChange}\n onBreakpoint={onBreakpoint}\n onLock={() => setIsLocked(true)}\n onUnlock={() => setIsLocked(false)}\n watchSlidesVisibility\n watchOverflow\n a11y={{\n slideLabelMessage: '',\n paginationBulletMessage: i18n('dot-label', {index: '{{index}}'}),\n }}\n {...paginationProps}\n >\n {React.Children.map(children, (elem, index) => (\n <SwiperSlide className={b('slide')} key={index}>\n {({isVisible}) => (\n <div\n className={b('slide-item')}\n aria-hidden={!isA11yControlHidden && !isVisible}\n >\n {elem}\n </div>\n )}\n </SwiperSlide>\n ))}\n </Swiper>\n {arrows && !isLocked && (\n <React.Fragment>\n <div aria-hidden={isA11yControlHidden}>\n <Arrow\n className={b('arrow', {prev: true})}\n type=\"left\"\n onClick={onPrev}\n size={arrowSize}\n extraProps={{tabIndex: controlTabIndex}}\n />\n <Arrow\n className={b('arrow', {next: true})}\n type=\"right\"\n onClick={onNext}\n size={arrowSize}\n extraProps={{tabIndex: controlTabIndex}}\n />\n </div>\n </React.Fragment>\n )}\n <div className={b('footer')}>\n {disclaimer ? (\n <div className={b('disclaimer', {size: disclaimer?.size || 'm'})}>\n {disclaimer?.text}\n </div>\n ) : null}\n </div>\n </AnimateBlock>\n </div>\n );\n};\n\nexport default SliderNewBlock;\n"]}
1
+ {"version":3,"file":"Slider.js","sourceRoot":"../../../../src","sources":["blocks/SliderNew/Slider.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport SwiperCore, {A11y, Autoplay, Pagination} from 'swiper';\nimport {Swiper, SwiperSlide} from 'swiper/react';\n\nimport Anchor from '../../components/Anchor/Anchor';\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport Title from '../../components/Title/Title';\nimport {ClassNameProps, Refable, SliderProps as SliderParams, TextSize} from '../../models';\nimport {block} from '../../utils';\n\nimport Arrow from './Arrow/Arrow';\nimport {i18n} from './i18n';\nimport {useSlider} from './useSlider';\nimport {useSliderPagination} from './useSliderPagination';\n\nimport './Slider.scss';\nimport 'swiper/swiper-bundle.css';\n\nconst b = block('SliderNewBlock');\n\nexport interface SliderNewProps\n extends Omit<SliderParams, 'children'>,\n Partial<\n Pick<\n Swiper,\n | 'onSlideChange'\n | 'onSlideChangeTransitionStart'\n | 'onSlideChangeTransitionEnd'\n | 'onActiveIndexChange'\n | 'onBreakpoint'\n >\n >,\n Refable<HTMLDivElement>,\n ClassNameProps {\n type?: string;\n anchorId?: string;\n dotsClassName?: string;\n blockClassName?: string;\n arrowSize?: number;\n}\n\nSwiperCore.use([Autoplay, A11y, Pagination]);\n\nfunction getDisclaimerSize(size?: TextSize): Exclude<TextSize, 'sm'> {\n if (!size) {\n return 'm';\n }\n\n if (size === 'sm') {\n return 'm';\n }\n\n return size;\n}\n\nexport const SliderNewBlock = ({\n animated,\n title,\n description,\n type,\n anchorId,\n arrows = true,\n adaptive,\n autoplay: autoplayMs,\n dots = true,\n className,\n dotsClassName,\n disclaimer,\n children,\n blockClassName,\n arrowSize,\n slidesToShow,\n onSlideChange,\n onSlideChangeTransitionStart,\n onSlideChangeTransitionEnd,\n onActiveIndexChange,\n onBreakpoint,\n}: React.PropsWithChildren<SliderNewProps>) => {\n const {autoplay, isLocked, childrenCount, breakpoints, onSwiper, onPrev, onNext, setIsLocked} =\n useSlider({\n slidesToShow,\n children,\n type,\n autoplayMs,\n });\n\n const isA11yControlHidden = Boolean(autoplay);\n const controlTabIndex = isA11yControlHidden ? -1 : 0;\n\n const paginationProps = useSliderPagination({\n enabled: dots,\n isA11yControlHidden,\n controlTabIndex,\n bulletClass: b('dot', dotsClassName),\n bulletActiveClass: b('dot_active'),\n paginationLabel: i18n('pagination-label'),\n });\n\n return (\n <div\n className={b(\n {\n 'one-slide': childrenCount === 1,\n 'only-arrows': !title?.text && !description && arrows,\n 'without-dots': !dots || isLocked,\n type,\n },\n blockClassName,\n )}\n >\n {anchorId && <Anchor id={anchorId} />}\n <Title\n title={title}\n subtitle={description}\n className={b('header', {'no-description': !description})}\n />\n <AnimateBlock className={b('animate-slides')} animate={animated}>\n <Swiper\n className={b('slider', className)}\n onSwiper={onSwiper}\n speed={1000}\n autoplay={autoplay}\n autoHeight={adaptive}\n initialSlide={0}\n noSwiping={false}\n breakpoints={breakpoints}\n onSlideChange={onSlideChange}\n onSlideChangeTransitionStart={onSlideChangeTransitionStart}\n onSlideChangeTransitionEnd={onSlideChangeTransitionEnd}\n onActiveIndexChange={onActiveIndexChange}\n onBreakpoint={onBreakpoint}\n onLock={() => setIsLocked(true)}\n onUnlock={() => setIsLocked(false)}\n watchSlidesVisibility\n watchOverflow\n a11y={{\n slideLabelMessage: '',\n paginationBulletMessage: i18n('dot-label', {index: '{{index}}'}),\n }}\n {...paginationProps}\n >\n {React.Children.map(children, (elem, index) => (\n <SwiperSlide className={b('slide')} key={index}>\n {({isVisible}) => (\n <div\n className={b('slide-item')}\n aria-hidden={!isA11yControlHidden && !isVisible}\n >\n {elem}\n </div>\n )}\n </SwiperSlide>\n ))}\n </Swiper>\n {arrows && !isLocked && (\n <React.Fragment>\n <div aria-hidden={isA11yControlHidden}>\n <Arrow\n className={b('arrow', {prev: true})}\n type=\"left\"\n onClick={onPrev}\n size={arrowSize}\n extraProps={{tabIndex: controlTabIndex}}\n />\n <Arrow\n className={b('arrow', {next: true})}\n type=\"right\"\n onClick={onNext}\n size={arrowSize}\n extraProps={{tabIndex: controlTabIndex}}\n />\n </div>\n </React.Fragment>\n )}\n <div className={b('footer')}>\n {disclaimer ? (\n <div\n className={b('disclaimer', {\n size: getDisclaimerSize(disclaimer?.size),\n })}\n >\n {disclaimer?.text}\n </div>\n ) : null}\n </div>\n </AnimateBlock>\n </div>\n );\n};\n\nexport default SliderNewBlock;\n"]}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import isEqual from 'lodash/isEqual';
3
- import pickBy from 'lodash/pickBy';
2
+ import isEqual from "lodash/isEqual.js";
3
+ import pickBy from "lodash/pickBy.js";
4
4
  import { BREAKPOINTS } from "../../constants.js";
5
5
  import { SliderBreakpointNames } from "./models.js";
6
6
  export const DEFAULT_SLIDE_BREAKPOINTS = {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["blocks/SliderNew/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,MAAM,MAAM,eAAe,CAAC;AAGnC,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAE5C,OAAO,EAAC,qBAAqB,EAAuC,oBAAiB;AAErF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7B,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7B,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7B,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,IAAI;CACnC,CAAC;AAOF,MAAM,UAAU,yBAAyB,CAAC,EACtC,aAAa,EACb,YAAY,EACZ,gBAAgB,GACI;IACpB,IAAI,MAAM,CAAC;IAEX,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAClD,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,CAAC,iCAAK,GAAG,KAAE,CAAC,cAAc,CAAC,EAAE,YAAY,IAAE,EACnE,EAA4B,CAC/B,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,YAAY,IAAI,yBAAyB,CAAC;IACvD,CAAC;IAED,MAAM,SAAS,iDACR,yBAAyB,GACzB,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAC3C,EAAE,EAAE,CAAC,gBAAgB,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAChF,CAAC;IAEF,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CACnC,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE;QAC7B,6CAA6C;QAC7C,GAAG,CAAC,WAAW,CAAC,cAAuC,CAAC,GAAG,CAAC,CAAC,GAAG;YAC5D,aAAa,EAAE,KAAK;SACvB,CAAC;QACF,OAAO,GAAG,CAAC;IACf,CAAC,EACD,EAAmC,CACtC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAQ,EAAK,EAAE;IAC1C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,gBAAgB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CACpF,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,UAAmC,EAAE,EAAE,CAC1F,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CACtD,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CACjD,CAAC","sourcesContent":["import * as React from 'react';\n\nimport isEqual from 'lodash/isEqual';\nimport pickBy from 'lodash/pickBy';\nimport type {SwiperOptions} from 'swiper/types/swiper-options';\n\nimport {BREAKPOINTS} from '../../constants';\n\nimport {SliderBreakpointNames, SliderBreakpointParams, SlidesToShow} from './models';\n\nexport const DEFAULT_SLIDE_BREAKPOINTS = {\n [SliderBreakpointNames.Lg]: 3,\n [SliderBreakpointNames.Md]: 2,\n [SliderBreakpointNames.Sm]: 2,\n [SliderBreakpointNames.Xs]: 1.15,\n};\n\nexport interface GetSlidesToShowParams {\n contentLength: number;\n slidesToShow?: SlidesToShow;\n mobileFullscreen?: boolean;\n}\nexport function getSliderResponsiveParams({\n contentLength,\n slidesToShow,\n mobileFullscreen,\n}: GetSlidesToShowParams) {\n let result;\n\n if (typeof slidesToShow === 'number') {\n result = Object.keys(DEFAULT_SLIDE_BREAKPOINTS).reduce(\n (acc, breakpointName) => ({...acc, [breakpointName]: slidesToShow}),\n {} as SliderBreakpointParams,\n );\n } else {\n result = slidesToShow || DEFAULT_SLIDE_BREAKPOINTS;\n }\n\n const showCount = {\n ...DEFAULT_SLIDE_BREAKPOINTS,\n ...pickBy(result, (value) => !isNaN(value)),\n xs: !mobileFullscreen && contentLength > 1 ? DEFAULT_SLIDE_BREAKPOINTS.xs : 1,\n };\n\n return Object.entries(showCount).reduce(\n (res, [breakpointName, value]) => {\n // eslint-disable-next-line no-param-reassign\n res[BREAKPOINTS[breakpointName as SliderBreakpointNames] + 1] = {\n slidesPerView: value,\n };\n return res;\n },\n {} as Record<number, SwiperOptions>,\n );\n}\n\nexport const useMemoized = <T>(value: T): T => {\n const [memoizedValue, setMemoizedValue] = React.useState(value);\n\n React.useEffect(() => {\n setMemoizedValue((memoized) =>\n value && typeof value === 'object' && isEqual(memoized, value) ? memoized : value,\n );\n }, [value]);\n\n return memoizedValue;\n};\n\nexport const setElementAtrributes = (element: Element, attributes: Record<string, unknown>) =>\n Object.entries(attributes).forEach(([attribute, value]) =>\n element.setAttribute(attribute, String(value)),\n );\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["blocks/SliderNew/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,OAAO,0BAAuB;AACrC,OAAO,MAAM,yBAAsB;AAGnC,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAE5C,OAAO,EAAC,qBAAqB,EAAuC,oBAAiB;AAErF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7B,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7B,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7B,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,IAAI;CACnC,CAAC;AAOF,MAAM,UAAU,yBAAyB,CAAC,EACtC,aAAa,EACb,YAAY,EACZ,gBAAgB,GACI;IACpB,IAAI,MAAM,CAAC;IAEX,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAClD,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,CAAC,iCAAK,GAAG,KAAE,CAAC,cAAc,CAAC,EAAE,YAAY,IAAE,EACnE,EAA4B,CAC/B,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,YAAY,IAAI,yBAAyB,CAAC;IACvD,CAAC;IAED,MAAM,SAAS,iDACR,yBAAyB,GACzB,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAC3C,EAAE,EAAE,CAAC,gBAAgB,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAChF,CAAC;IAEF,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CACnC,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE;QAC7B,6CAA6C;QAC7C,GAAG,CAAC,WAAW,CAAC,cAAuC,CAAC,GAAG,CAAC,CAAC,GAAG;YAC5D,aAAa,EAAE,KAAK;SACvB,CAAC;QACF,OAAO,GAAG,CAAC;IACf,CAAC,EACD,EAAmC,CACtC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAQ,EAAK,EAAE;IAC1C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,gBAAgB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CACpF,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,UAAmC,EAAE,EAAE,CAC1F,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CACtD,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CACjD,CAAC","sourcesContent":["import * as React from 'react';\n\nimport isEqual from 'lodash/isEqual';\nimport pickBy from 'lodash/pickBy';\nimport type {SwiperOptions} from 'swiper/types/swiper-options';\n\nimport {BREAKPOINTS} from '../../constants';\n\nimport {SliderBreakpointNames, SliderBreakpointParams, SlidesToShow} from './models';\n\nexport const DEFAULT_SLIDE_BREAKPOINTS = {\n [SliderBreakpointNames.Lg]: 3,\n [SliderBreakpointNames.Md]: 2,\n [SliderBreakpointNames.Sm]: 2,\n [SliderBreakpointNames.Xs]: 1.15,\n};\n\nexport interface GetSlidesToShowParams {\n contentLength: number;\n slidesToShow?: SlidesToShow;\n mobileFullscreen?: boolean;\n}\nexport function getSliderResponsiveParams({\n contentLength,\n slidesToShow,\n mobileFullscreen,\n}: GetSlidesToShowParams) {\n let result;\n\n if (typeof slidesToShow === 'number') {\n result = Object.keys(DEFAULT_SLIDE_BREAKPOINTS).reduce(\n (acc, breakpointName) => ({...acc, [breakpointName]: slidesToShow}),\n {} as SliderBreakpointParams,\n );\n } else {\n result = slidesToShow || DEFAULT_SLIDE_BREAKPOINTS;\n }\n\n const showCount = {\n ...DEFAULT_SLIDE_BREAKPOINTS,\n ...pickBy(result, (value) => !isNaN(value)),\n xs: !mobileFullscreen && contentLength > 1 ? DEFAULT_SLIDE_BREAKPOINTS.xs : 1,\n };\n\n return Object.entries(showCount).reduce(\n (res, [breakpointName, value]) => {\n // eslint-disable-next-line no-param-reassign\n res[BREAKPOINTS[breakpointName as SliderBreakpointNames] + 1] = {\n slidesPerView: value,\n };\n return res;\n },\n {} as Record<number, SwiperOptions>,\n );\n}\n\nexport const useMemoized = <T>(value: T): T => {\n const [memoizedValue, setMemoizedValue] = React.useState(value);\n\n React.useEffect(() => {\n setMemoizedValue((memoized) =>\n value && typeof value === 'object' && isEqual(memoized, value) ? memoized : value,\n );\n }, [value]);\n\n return memoizedValue;\n};\n\nexport const setElementAtrributes = (element: Element, attributes: Record<string, unknown>) =>\n Object.entries(attributes).forEach(([attribute, value]) =>\n element.setAttribute(attribute, String(value)),\n );\n"]}
@@ -1,4 +1,4 @@
1
- import omit from 'lodash/omit';
1
+ import omit from "lodash/omit.js";
2
2
  import { ImageProps } from "../../components/Image/schema.js";
3
3
  import { BlockBaseProps, BlockHeaderProps, LinkProps, MediaProps, containerSizesArray, contentSizes, mediaDirection, sizeNumber, withTheme, } from "../../schema/validators/common.js";
4
4
  import { filteredArray } from "../../schema/validators/utils.js";
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Tabs/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,OAAO,EAAC,UAAU,EAAC,yCAAsC;AACzD,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,SAAS,GACZ,0CAAuC;AACxC,OAAO,EAAC,aAAa,EAAC,yCAAsC;AAC5D,OAAO,EAAC,WAAW,EAAC,2CAAwC;AAE5D,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,UAAU,kCACH,oBAAoB,KACvB,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;SACjB,EACD,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM;SACtB,EACD,KAAK,EAAE,SAAS,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,UAAU;SACzB,CAAC;QACF,iBAAiB;QACjB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,EAC5B,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACnC,GACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,YAAY,EAAE;QACV,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC5B,UAAU,gDACH,cAAc,GACd,gBAAgB,KACnB,YAAY,EAAE,mBAAmB,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,iCAAK,GAAG,KAAE,CAAC,IAAI,CAAC,EAAE,UAAU,IAAE,EAC7C,EAAE,CACL,EACD,SAAS,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,cAAc;aACvB,EACD,QAAQ,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,EAC3B,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC9B,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,YAAY;aACrB,GACJ;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {ImageProps} from '../../components/Image/schema';\nimport {\n BlockBaseProps,\n BlockHeaderProps,\n LinkProps,\n MediaProps,\n containerSizesArray,\n contentSizes,\n mediaDirection,\n sizeNumber,\n withTheme,\n} from '../../schema/validators/common';\nimport {filteredArray} from '../../schema/validators/utils';\nimport {ContentBase} from '../../sub-blocks/Content/schema';\n\nconst TabsItemContentProps = omit(ContentBase, ['size', 'colSizes', 'centered', 'theme']);\n\nexport const tabsItem = {\n type: 'object',\n additionalProperties: false,\n required: ['tabName'],\n properties: {\n ...TabsItemContentProps,\n tabName: {\n type: 'string',\n },\n caption: {\n type: 'string',\n contentType: 'text',\n },\n media: withTheme({\n type: 'object',\n properties: MediaProps,\n }),\n //TODO deprecated\n link: LinkProps,\n image: withTheme(ImageProps),\n border: {\n type: 'string',\n enum: ['shadow', 'line', 'none'],\n },\n },\n};\n\nexport const TabsBlock = {\n 'tabs-block': {\n additionalProperties: false,\n required: ['title', 'items'],\n properties: {\n ...BlockBaseProps,\n ...BlockHeaderProps,\n tabsColSizes: containerSizesArray.reduce(\n (acc, size) => ({...acc, [size]: sizeNumber}),\n {},\n ),\n direction: {\n type: 'string',\n enum: mediaDirection,\n },\n centered: {type: 'boolean'},\n items: filteredArray(tabsItem),\n contentSize: {\n type: 'string',\n enum: contentSizes,\n },\n },\n },\n};\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Tabs/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,UAAU,EAAC,yCAAsC;AACzD,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,SAAS,GACZ,0CAAuC;AACxC,OAAO,EAAC,aAAa,EAAC,yCAAsC;AAC5D,OAAO,EAAC,WAAW,EAAC,2CAAwC;AAE5D,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,UAAU,kCACH,oBAAoB,KACvB,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;SACjB,EACD,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM;SACtB,EACD,KAAK,EAAE,SAAS,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,UAAU;SACzB,CAAC;QACF,iBAAiB;QACjB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,EAC5B,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACnC,GACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,YAAY,EAAE;QACV,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC5B,UAAU,gDACH,cAAc,GACd,gBAAgB,KACnB,YAAY,EAAE,mBAAmB,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,iCAAK,GAAG,KAAE,CAAC,IAAI,CAAC,EAAE,UAAU,IAAE,EAC7C,EAAE,CACL,EACD,SAAS,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,cAAc;aACvB,EACD,QAAQ,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,EAC3B,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC9B,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,YAAY;aACrB,GACJ;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {ImageProps} from '../../components/Image/schema';\nimport {\n BlockBaseProps,\n BlockHeaderProps,\n LinkProps,\n MediaProps,\n containerSizesArray,\n contentSizes,\n mediaDirection,\n sizeNumber,\n withTheme,\n} from '../../schema/validators/common';\nimport {filteredArray} from '../../schema/validators/utils';\nimport {ContentBase} from '../../sub-blocks/Content/schema';\n\nconst TabsItemContentProps = omit(ContentBase, ['size', 'colSizes', 'centered', 'theme']);\n\nexport const tabsItem = {\n type: 'object',\n additionalProperties: false,\n required: ['tabName'],\n properties: {\n ...TabsItemContentProps,\n tabName: {\n type: 'string',\n },\n caption: {\n type: 'string',\n contentType: 'text',\n },\n media: withTheme({\n type: 'object',\n properties: MediaProps,\n }),\n //TODO deprecated\n link: LinkProps,\n image: withTheme(ImageProps),\n border: {\n type: 'string',\n enum: ['shadow', 'line', 'none'],\n },\n },\n};\n\nexport const TabsBlock = {\n 'tabs-block': {\n additionalProperties: false,\n required: ['title', 'items'],\n properties: {\n ...BlockBaseProps,\n ...BlockHeaderProps,\n tabsColSizes: containerSizesArray.reduce(\n (acc, size) => ({...acc, [size]: sizeNumber}),\n {},\n ),\n direction: {\n type: 'string',\n enum: mediaDirection,\n },\n centered: {type: 'boolean'},\n items: filteredArray(tabsItem),\n contentSize: {\n type: 'string',\n enum: contentSizes,\n },\n },\n },\n};\n"]}
@@ -24,7 +24,10 @@ export default function BackLink(props) {
24
24
  history.push({ pathname: url });
25
25
  }
26
26
  }, [handleAnalytics, history, onClick, url]);
27
- const buttonComponent = url && !shouldHandleBackAction ? 'a' : 'button';
28
- return (_jsxs(Button, { className: className, view: theme === 'special' ? 'flat-contrast' : 'flat-secondary', size: size, href: shouldHandleBackAction ? undefined : url, onClick: shouldHandleBackAction ? backActionHandler : undefined, tabIndex: tabIndex, extraProps: extraProps, component: buttonComponent, children: [_jsx(Icon, { data: ArrowLeft, size: 20 }), _jsx("span", { children: title })] }));
27
+ const buttonProps = {
28
+ href: shouldHandleBackAction ? undefined : url,
29
+ extraProps,
30
+ };
31
+ return (_jsxs(Button, Object.assign({ className: className, view: theme === 'special' ? 'flat-contrast' : 'flat-secondary', size: size, onClick: shouldHandleBackAction ? backActionHandler : undefined, tabIndex: tabIndex }, buttonProps, { children: [_jsx(Icon, { data: ArrowLeft, size: 20 }), _jsx("span", { children: title })] })));
29
32
  }
30
33
  //# sourceMappingURL=BackLink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackLink.js","sourceRoot":"../../../../src","sources":["components/BackLink/BackLink.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAc,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAC,eAAe,EAAC,+CAAsC;AAC9D,OAAO,EAAC,YAAY,EAAC,6BAAoB;AACzC,OAAO,EAAC,iBAAiB,EAAW,8BAAqB;AAezD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,EACF,GAAG,EACH,KAAK,EACL,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,GAAG,EACV,SAAS,EACT,sBAAsB,GAAG,KAAK,EAC9B,OAAO,EACP,QAAQ,EACR,UAAU,GACb,GAAG,KAAK,CAAC;IACV,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEzE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QACnD,eAAe,EAAE,CAAC;QAElB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAC,CAAC,CAAC;QAClC,CAAC;IACL,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IAExE,OAAO,CACH,MAAC,MAAM,IACH,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,EAC9D,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAC9C,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAC/D,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,eAAe,aAE1B,KAAC,IAAI,IAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAI,EACnC,yBAAO,KAAK,GAAQ,IACf,CACZ,CAAC;AACN,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ArrowLeft} from '@gravity-ui/icons';\nimport {Button, ButtonSize, Icon} from '@gravity-ui/uikit';\n\nimport {LocationContext} from '../../context/locationContext';\nimport {useAnalytics} from '../../hooks';\nimport {DefaultEventNames, Tabbable} from '../../models';\n\nexport type Theme = 'default' | 'special';\n\nexport interface BackLinkProps<T = HTMLElement> extends Tabbable {\n url: string;\n title: React.ReactNode;\n theme?: Theme;\n size?: ButtonSize;\n className?: string;\n shouldHandleBackAction?: boolean;\n onClick?: () => void;\n extraProps?: React.HTMLProps<T>;\n}\n\nexport default function BackLink(props: BackLinkProps) {\n const {history} = React.useContext(LocationContext);\n const {\n url,\n title,\n theme = 'default',\n size = 'l',\n className,\n shouldHandleBackAction = false,\n onClick,\n tabIndex,\n extraProps,\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.ShareButton, url);\n\n const backActionHandler = React.useCallback(async () => {\n handleAnalytics();\n\n if (!history) {\n return;\n }\n\n if (onClick) {\n onClick();\n }\n\n if (history.length > 1) {\n history.goBack();\n } else {\n history.push({pathname: url});\n }\n }, [handleAnalytics, history, onClick, url]);\n\n const buttonComponent = url && !shouldHandleBackAction ? 'a' : 'button';\n\n return (\n <Button\n className={className}\n view={theme === 'special' ? 'flat-contrast' : 'flat-secondary'}\n size={size}\n href={shouldHandleBackAction ? undefined : url}\n onClick={shouldHandleBackAction ? backActionHandler : undefined}\n tabIndex={tabIndex}\n extraProps={extraProps}\n component={buttonComponent}\n >\n <Icon data={ArrowLeft} size={20} />\n <span>{title}</span>\n </Button>\n );\n}\n"]}
1
+ {"version":3,"file":"BackLink.js","sourceRoot":"../../../../src","sources":["components/BackLink/BackLink.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAc,IAAI,EAAkC,MAAM,mBAAmB,CAAC;AAE5F,OAAO,EAAC,eAAe,EAAC,+CAAsC;AAC9D,OAAO,EAAC,YAAY,EAAC,6BAAoB;AACzC,OAAO,EAAC,iBAAiB,EAAW,8BAAqB;AAezD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,EACF,GAAG,EACH,KAAK,EACL,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,GAAG,EACV,SAAS,EACT,sBAAsB,GAAG,KAAK,EAC9B,OAAO,EACP,QAAQ,EACR,UAAU,GACb,GAAG,KAAK,CAAC;IACV,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEzE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QACnD,eAAe,EAAE,CAAC;QAElB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAC,CAAC,CAAC;QAClC,CAAC;IACL,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG;QAChB,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;QAC9C,UAAU;KACO,CAAC;IAEtB,OAAO,CACH,MAAC,MAAM,kBACH,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,EAC9D,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAC/D,QAAQ,EAAE,QAAQ,IACd,WAAW,eAEf,KAAC,IAAI,IAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAI,EACnC,yBAAO,KAAK,GAAQ,KACf,CACZ,CAAC;AACN,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ArrowLeft} from '@gravity-ui/icons';\nimport {Button, ButtonSize, Icon, ButtonProps as UIKitButtonProps} from '@gravity-ui/uikit';\n\nimport {LocationContext} from '../../context/locationContext';\nimport {useAnalytics} from '../../hooks';\nimport {DefaultEventNames, Tabbable} from '../../models';\n\nexport type Theme = 'default' | 'special';\n\nexport interface BackLinkProps<T = HTMLElement> extends Tabbable {\n url: string;\n title: React.ReactNode;\n theme?: Theme;\n size?: ButtonSize;\n className?: string;\n shouldHandleBackAction?: boolean;\n onClick?: () => void;\n extraProps?: React.HTMLProps<T>;\n}\n\nexport default function BackLink(props: BackLinkProps) {\n const {history} = React.useContext(LocationContext);\n const {\n url,\n title,\n theme = 'default',\n size = 'l',\n className,\n shouldHandleBackAction = false,\n onClick,\n tabIndex,\n extraProps,\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.ShareButton, url);\n\n const backActionHandler = React.useCallback(async () => {\n handleAnalytics();\n\n if (!history) {\n return;\n }\n\n if (onClick) {\n onClick();\n }\n\n if (history.length > 1) {\n history.goBack();\n } else {\n history.push({pathname: url});\n }\n }, [handleAnalytics, history, onClick, url]);\n\n const buttonProps = {\n href: shouldHandleBackAction ? undefined : url,\n extraProps,\n } as UIKitButtonProps;\n\n return (\n <Button\n className={className}\n view={theme === 'special' ? 'flat-contrast' : 'flat-secondary'}\n size={size}\n onClick={shouldHandleBackAction ? backActionHandler : undefined}\n tabIndex={tabIndex}\n {...buttonProps}\n >\n <Icon data={ArrowLeft} size={20} />\n <span>{title}</span>\n </Button>\n );\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
- import debounce from 'lodash/debounce';
4
- import first from 'lodash/first';
5
- import minBy from 'lodash/minBy';
3
+ import debounce from "lodash/debounce.js";
4
+ import first from "lodash/first.js";
5
+ import minBy from "lodash/minBy.js";
6
6
  import { SSRContext } from "../../context/ssrContext/index.js";
7
7
  import { block, getQaAttrubutes } from "../../utils/index.js";
8
8
  import './BalancedMasonry.css';
@@ -1 +1 @@
1
- {"version":3,"file":"BalancedMasonry.js","sourceRoot":"../../../../src","sources":["components/BalancedMasonry/BalancedMasonry.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\nimport first from 'lodash/first';\nimport minBy from 'lodash/minBy';\n\nimport {SSRContext} from '../../context/ssrContext';\nimport {QAProps} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\n\nimport './BalancedMasonry.scss';\n\nconst b = block('BalancedMasonry');\n\nexport interface BalancedMasonryProps extends QAProps {\n className: string;\n columnClassName: string;\n children: React.ReactNode[];\n breakpointCols: {\n [key: number]: number;\n };\n}\n\nconst BalancedMasonry = (props: React.PropsWithChildren<BalancedMasonryProps>) => {\n const {className, columnClassName, children = [], breakpointCols, qa} = props;\n const qaAttributes = getQaAttrubutes(qa, 'column');\n const {isServer} = React.useContext(SSRContext);\n const getCurrentColumnsCount = React.useCallback(() => {\n const breakpoints = Object.entries(breakpointCols).sort(\n ([firstBreakpoint], [secondBreakpoint]) => {\n return Number(secondBreakpoint) - Number(firstBreakpoint);\n },\n );\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let [, result] = first(breakpoints)!;\n\n if (isServer) {\n return result;\n }\n\n for (const [rawWidth, columnCount] of breakpoints) {\n const width = Number(rawWidth);\n\n if (document?.body.clientWidth <= width) {\n result = columnCount;\n }\n }\n\n return result;\n }, [breakpointCols, isServer]);\n\n const [columnCount, setColumnCount] = React.useState(getCurrentColumnsCount());\n const [columns, setColumns] = React.useState<React.ReactNode[][]>([]);\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const balanceColumns = React.useCallback(\n debounce(() => {\n if (!containerRef.current) {\n return;\n }\n\n const localColumns: React.ReactNode[][] = [];\n const columnsMeta = [];\n\n for (let i = 0; i < columnCount; i++) {\n columnsMeta.push({id: i, height: 0});\n localColumns.push([]);\n }\n\n for (let i = 0; i < containerRef.current.children.length; i++) {\n const node = containerRef.current.children.item(i) as HTMLElement | null;\n\n if (!node) {\n continue;\n }\n\n const minColumn = minBy(columnsMeta, 'height') || {id: 0, height: 0};\n const {id: columnId} = minColumn;\n\n localColumns[columnId].push(children[i]);\n\n minColumn.height += node.offsetHeight;\n }\n\n setColumns(localColumns);\n }, 300),\n [children, columnCount],\n );\n\n React.useEffect(() => {\n balanceColumns();\n }, [balanceColumns, children, columnCount]);\n\n React.useEffect(() => {\n const updateColumnCounter = () => setColumnCount(getCurrentColumnsCount());\n\n window.addEventListener('resize', updateColumnCounter, {passive: true});\n return () => window.removeEventListener('resize', updateColumnCounter);\n }, [setColumnCount, columns, getCurrentColumnsCount]);\n\n React.useEffect(() => {\n const currentRef = containerRef.current;\n const isResizeEventsSupported = 'ResizeObserver' in window;\n\n if (!currentRef || !isResizeEventsSupported) {\n return () => {};\n }\n\n const observer = new ResizeObserver(balanceColumns);\n\n for (let i = 0; i < currentRef.children.length; i++) {\n const node = currentRef.children.item(i) as HTMLElement | null;\n\n if (!node) {\n continue;\n }\n\n observer.observe(node);\n }\n\n return () => observer.disconnect();\n }, [balanceColumns, children]);\n\n return (\n <div className={b(null, className)} data-qa={qa}>\n <div className={b('hidden-container')} style={{width: `${100 / columnCount}%`}}>\n <div ref={containerRef} className={b('hidden-list')}>\n {children}\n </div>\n </div>\n\n {columns.map((columnElements, index) => (\n <div\n key={index}\n className={columnClassName}\n style={{width: `${100 / columnCount}%`}}\n data-qa={qaAttributes.column}\n >\n {columnElements}\n </div>\n ))}\n </div>\n );\n};\n\nexport default BalancedMasonry;\n"]}
1
+ {"version":3,"file":"BalancedMasonry.js","sourceRoot":"../../../../src","sources":["components/BalancedMasonry/BalancedMasonry.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\nimport first from 'lodash/first';\nimport minBy from 'lodash/minBy';\n\nimport {SSRContext} from '../../context/ssrContext';\nimport {QAProps} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\n\nimport './BalancedMasonry.scss';\n\nconst b = block('BalancedMasonry');\n\nexport interface BalancedMasonryProps extends QAProps {\n className: string;\n columnClassName: string;\n children: React.ReactNode[];\n breakpointCols: {\n [key: number]: number;\n };\n}\n\nconst BalancedMasonry = (props: React.PropsWithChildren<BalancedMasonryProps>) => {\n const {className, columnClassName, children = [], breakpointCols, qa} = props;\n const qaAttributes = getQaAttrubutes(qa, 'column');\n const {isServer} = React.useContext(SSRContext);\n const getCurrentColumnsCount = React.useCallback(() => {\n const breakpoints = Object.entries(breakpointCols).sort(\n ([firstBreakpoint], [secondBreakpoint]) => {\n return Number(secondBreakpoint) - Number(firstBreakpoint);\n },\n );\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let [, result] = first(breakpoints)!;\n\n if (isServer) {\n return result;\n }\n\n for (const [rawWidth, columnCount] of breakpoints) {\n const width = Number(rawWidth);\n\n if (document?.body.clientWidth <= width) {\n result = columnCount;\n }\n }\n\n return result;\n }, [breakpointCols, isServer]);\n\n const [columnCount, setColumnCount] = React.useState(getCurrentColumnsCount());\n const [columns, setColumns] = React.useState<React.ReactNode[][]>([]);\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const balanceColumns = React.useCallback(\n debounce(() => {\n if (!containerRef.current) {\n return;\n }\n\n const localColumns: React.ReactNode[][] = [];\n const columnsMeta = [];\n\n for (let i = 0; i < columnCount; i++) {\n columnsMeta.push({id: i, height: 0});\n localColumns.push([]);\n }\n\n for (let i = 0; i < containerRef.current.children.length; i++) {\n const node = containerRef.current.children.item(i) as HTMLElement | null;\n\n if (!node) {\n continue;\n }\n\n const minColumn = minBy(columnsMeta, 'height') || {id: 0, height: 0};\n const {id: columnId} = minColumn;\n\n localColumns[columnId].push(children[i]);\n\n minColumn.height += node.offsetHeight;\n }\n\n setColumns(localColumns);\n }, 300),\n [children, columnCount],\n );\n\n React.useEffect(() => {\n balanceColumns();\n }, [balanceColumns, children, columnCount]);\n\n React.useEffect(() => {\n const updateColumnCounter = () => setColumnCount(getCurrentColumnsCount());\n\n window.addEventListener('resize', updateColumnCounter, {passive: true});\n return () => window.removeEventListener('resize', updateColumnCounter);\n }, [setColumnCount, columns, getCurrentColumnsCount]);\n\n React.useEffect(() => {\n const currentRef = containerRef.current;\n const isResizeEventsSupported = 'ResizeObserver' in window;\n\n if (!currentRef || !isResizeEventsSupported) {\n return () => {};\n }\n\n const observer = new ResizeObserver(balanceColumns);\n\n for (let i = 0; i < currentRef.children.length; i++) {\n const node = currentRef.children.item(i) as HTMLElement | null;\n\n if (!node) {\n continue;\n }\n\n observer.observe(node);\n }\n\n return () => observer.disconnect();\n }, [balanceColumns, children]);\n\n return (\n <div className={b(null, className)} data-qa={qa}>\n <div className={b('hidden-container')} style={{width: `${100 / columnCount}%`}}>\n <div ref={containerRef} className={b('hidden-list')}>\n {children}\n </div>\n </div>\n\n {columns.map((columnElements, index) => (\n <div\n key={index}\n className={columnClassName}\n style={{width: `${100 / columnCount}%`}}\n data-qa={qaAttributes.column}\n >\n {columnElements}\n </div>\n ))}\n </div>\n );\n};\n\nexport default BalancedMasonry;\n"]}
@@ -12,8 +12,9 @@ unpredictable css rules order in build */
12
12
  width: 100%;
13
13
  height: 72px;
14
14
  margin-top: var(--header-height);
15
- color: var(--g-color-text-secondary);
16
- border-top: 1px solid var(--g-color-line-generic);
15
+ box-sizing: content-box;
16
+ border-top: 1px solid;
17
+ border-bottom: 1px solid transparent;
17
18
  transition: color 0.5s ease-out, border-color 0.5s ease-out;
18
19
  }
19
20
  .pc-brand-footer::after {
@@ -22,32 +23,38 @@ unpredictable css rules order in build */
22
23
  right: 0;
23
24
  left: 0;
24
25
  height: 1px;
26
+ background: linear-gradient(270deg, rgb(228, 106, 68) 0%, rgb(242, 159, 85) 46.62%, rgb(255, 212, 102) 100%);
25
27
  opacity: 0;
26
28
  transition: opacity 0.5s ease-out;
27
29
  content: "";
28
30
  }
29
- .pc-brand-footer:hover {
31
+ .pc-brand-footer_theme_light {
32
+ color: var(--g-color-text-secondary);
33
+ border-top-color: var(--g-color-private-black-200);
34
+ }
35
+ .pc-brand-footer_theme_light:hover {
30
36
  color: var(--g-color-text-primary);
31
- border-color: transparent;
37
+ border-top-color: transparent;
32
38
  }
33
- .pc-brand-footer:hover::after {
39
+ .pc-brand-footer_theme_light:hover::after {
34
40
  opacity: 1;
35
41
  }
36
- .pc-brand-footer_theme_light::after {
37
- background: linear-gradient(270deg, rgb(228, 106, 68) 0%, rgb(242, 159, 85) 46.62%, rgb(255, 212, 102) 100%);
42
+ .pc-brand-footer_theme_dark {
43
+ color: var(--g-color-private-white-700);
44
+ border-top-color: var(--g-color-private-white-100);
45
+ }
46
+ .pc-brand-footer_theme_dark:hover {
47
+ color: var(--g-color-private-white-1000-solid);
48
+ border-top-color: transparent;
38
49
  }
39
- .pc-brand-footer_theme_dark::after {
40
- background: linear-gradient(270deg, rgba(228, 106, 68, 0.6) 0%, rgba(242, 159, 85, 0.6) 46.62%, rgba(255, 212, 102, 0.6) 100%);
50
+ .pc-brand-footer_theme_dark:hover::after {
51
+ opacity: 0.6;
41
52
  }
42
53
  .pc-brand-footer__content {
43
54
  display: flex;
44
55
  align-items: center;
45
56
  justify-content: center;
46
57
  gap: 8px;
47
- padding-top: 1px;
48
- }
49
- .pc-brand-footer__text {
50
- align-self: flex-end;
51
58
  }
52
59
  .pc-brand-footer__brand-icon {
53
60
  display: flex;
@@ -78,9 +85,7 @@ unpredictable css rules order in build */
78
85
  font-size: var(--g-text-body-1-font-size);
79
86
  line-height: var(--g-text-body-1-line-height);
80
87
  height: 52px;
81
- }
82
- .pc-brand-footer__content {
83
- padding: 0;
88
+ border-bottom-width: 0;
84
89
  }
85
90
  .pc-brand-footer__brand-icon {
86
91
  width: 20px;
@@ -89,6 +94,5 @@ unpredictable css rules order in build */
89
94
  .pc-brand-footer__brand-name {
90
95
  width: 72px;
91
96
  height: 16px;
92
- margin-top: 0;
93
97
  }
94
98
  }
@@ -11,7 +11,7 @@ import './BrandFooter.css';
11
11
  const b = block('brand-footer');
12
12
  const BrandFooter = ({ className }) => {
13
13
  const theme = useTheme();
14
- return (_jsx(Link, { className: b({ theme }, className), href: "https://gravity-ui.com", children: _jsxs("div", { className: b('content'), children: [_jsx("span", { className: b('text'), children: i18n('created-on') }), _jsx("div", { className: b('brand-icon'), children: theme === Theme.Light ? _jsx(BrandIconLight, {}) : _jsx(BrandIconDark, {}) }), _jsx("div", { className: b('brand-name'), children: _jsx(BrandName, {}) })] }) }));
14
+ return (_jsx(Link, { className: b({ theme }, className), href: "https://gravity-ui.com", children: _jsxs("div", { className: b('content'), children: [_jsx("span", { children: i18n('created-on') }), _jsx("div", { className: b('brand-icon'), children: theme === Theme.Light ? _jsx(BrandIconLight, {}) : _jsx(BrandIconDark, {}) }), _jsx("div", { className: b('brand-name'), children: _jsx(BrandName, {}) })] }) }));
15
15
  };
16
16
  export default BrandFooter;
17
17
  //# sourceMappingURL=BrandFooter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrandFooter.js","sourceRoot":"../../../../src","sources":["components/BrandFooter/BrandFooter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,QAAQ,EAAC,qCAA4B;AAC7C,OAAO,EAAC,aAAa,EAAC,qCAAkC;AACxD,OAAO,EAAC,cAAc,EAAC,sCAAmC;AAC1D,OAAO,EAAC,SAAS,EAAC,iCAA8B;AAEhD,OAAO,EAAC,KAAK,EAAC,8BAAqB;AACnC,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,EAAC,IAAI,EAAC,wBAAe;AAE5B,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAEhC,MAAM,WAAW,GAAG,CAAC,EAAC,SAAS,EAAiB,EAAE,EAAE;IAChD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,OAAO,CACH,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,wBAAwB,YACjE,eAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,aACxB,eAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAG,IAAI,CAAC,YAAY,CAAC,GAAQ,EACvD,cAAK,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,YAC1B,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAC,cAAc,KAAG,CAAC,CAAC,CAAC,KAAC,aAAa,KAAG,GAC7D,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,YAC3B,KAAC,SAAS,KAAG,GACX,IACJ,GACH,CACV,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import {Link} from '@gravity-ui/uikit';\n\nimport {useTheme} from '../../context/theme';\nimport {BrandIconDark} from '../../icons/BrandIconDark';\nimport {BrandIconLight} from '../../icons/BrandIconLight';\nimport {BrandName} from '../../icons/BrandName';\nimport type {ClassNameProps} from '../../models';\nimport {Theme} from '../../models';\nimport {block} from '../../utils';\n\nimport {i18n} from './i18n';\n\nimport './BrandFooter.scss';\n\nconst b = block('brand-footer');\n\nconst BrandFooter = ({className}: ClassNameProps) => {\n const theme = useTheme();\n\n return (\n <Link className={b({theme}, className)} href=\"https://gravity-ui.com\">\n <div className={b('content')}>\n <span className={b('text')}>{i18n('created-on')}</span>\n <div className={b('brand-icon')}>\n {theme === Theme.Light ? <BrandIconLight /> : <BrandIconDark />}\n </div>\n <div className={b('brand-name')}>\n <BrandName />\n </div>\n </div>\n </Link>\n );\n};\n\nexport default BrandFooter;\n"]}
1
+ {"version":3,"file":"BrandFooter.js","sourceRoot":"../../../../src","sources":["components/BrandFooter/BrandFooter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,QAAQ,EAAC,qCAA4B;AAC7C,OAAO,EAAC,aAAa,EAAC,qCAAkC;AACxD,OAAO,EAAC,cAAc,EAAC,sCAAmC;AAC1D,OAAO,EAAC,SAAS,EAAC,iCAA8B;AAEhD,OAAO,EAAC,KAAK,EAAC,8BAAqB;AACnC,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,EAAC,IAAI,EAAC,wBAAe;AAE5B,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAEhC,MAAM,WAAW,GAAG,CAAC,EAAC,SAAS,EAAiB,EAAE,EAAE;IAChD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,OAAO,CACH,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,wBAAwB,YACjE,eAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,aACxB,yBAAO,IAAI,CAAC,YAAY,CAAC,GAAQ,EACjC,cAAK,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,YAC1B,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAC,cAAc,KAAG,CAAC,CAAC,CAAC,KAAC,aAAa,KAAG,GAC7D,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,YAC3B,KAAC,SAAS,KAAG,GACX,IACJ,GACH,CACV,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import {Link} from '@gravity-ui/uikit';\n\nimport {useTheme} from '../../context/theme';\nimport {BrandIconDark} from '../../icons/BrandIconDark';\nimport {BrandIconLight} from '../../icons/BrandIconLight';\nimport {BrandName} from '../../icons/BrandName';\nimport type {ClassNameProps} from '../../models';\nimport {Theme} from '../../models';\nimport {block} from '../../utils';\n\nimport {i18n} from './i18n';\n\nimport './BrandFooter.scss';\n\nconst b = block('brand-footer');\n\nconst BrandFooter = ({className}: ClassNameProps) => {\n const theme = useTheme();\n\n return (\n <Link className={b({theme}, className)} href=\"https://gravity-ui.com\">\n <div className={b('content')}>\n <span>{i18n('created-on')}</span>\n <div className={b('brand-icon')}>\n {theme === Theme.Light ? <BrandIconLight /> : <BrandIconDark />}\n </div>\n <div className={b('brand-name')}>\n <BrandName />\n </div>\n </div>\n </Link>\n );\n};\n\nexport default BrandFooter;\n"]}
@@ -2,7 +2,7 @@ import { __rest } from "tslib";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
4
  import { StoreBadge } from '@gravity-ui/components';
5
- import { Button as CommonButton, Icon, Platform } from '@gravity-ui/uikit';
5
+ import { Button as CommonButton, Icon, Platform, } from '@gravity-ui/uikit';
6
6
  import { LocaleContext } from "../../context/localeContext/localeContext.js";
7
7
  import { useAnalytics } from "../../hooks/index.js";
8
8
  import { Github } from "../../icons/index.js";
@@ -31,7 +31,7 @@ const Button = (props) => {
31
31
  const buttonClass = img
32
32
  ? b(Object.assign({ position: buttonImg.position }, buttonModifiers), className)
33
33
  : b(Object.assign({}, buttonModifiers), className);
34
- const buttonProps = Object.assign(Object.assign({}, rest), { onClick });
34
+ const buttonProps = Object.assign(Object.assign({}, rest), { href: url ? setUrlTld(url, tld) : undefined, onClick });
35
35
  if (theme === 'app-store' || theme === 'google-play') {
36
36
  const platform = theme === 'app-store' ? Platform.IOS : Platform.ANDROID;
37
37
  return _jsx(StoreBadge, { className: buttonClass, platform: platform, href: url });
@@ -43,8 +43,7 @@ const Button = (props) => {
43
43
  image = undefined;
44
44
  }
45
45
  const buttonTheme = theme === 'scale' ? 'accent' : theme;
46
- const buttonComponent = url ? 'a' : 'button';
47
- return (_jsxs(CommonButton, Object.assign({ className: buttonClass, view: toCommonView(buttonTheme), size: toCommonSize(size), href: url ? setUrlTld(url, tld) : undefined, title: urlTitle, width: width, component: buttonComponent }, buttonProps, { children: [icon && buttonImg.position === 'left' ? icon : null, _jsxs("span", { className: b('content'), children: [image && buttonImg.position === 'left' ? image : null, _jsx("span", { className: b('text'), children: text }), image && buttonImg.position === 'right' ? image : null] }), icon && buttonImg.position === 'right' ? icon : null] })));
46
+ return (_jsxs(CommonButton, Object.assign({ className: buttonClass, view: toCommonView(buttonTheme), size: toCommonSize(size), title: urlTitle, width: width }, buttonProps, { children: [icon && buttonImg.position === 'left' ? icon : null, _jsxs("span", { className: b('content'), children: [image && buttonImg.position === 'left' ? image : null, _jsx("span", { className: b('text'), children: text }), image && buttonImg.position === 'right' ? image : null] }), icon && buttonImg.position === 'right' ? icon : null] })));
48
47
  };
49
48
  export default Button;
50
49
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"../../../../src","sources":["components/Button/Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {StoreBadge} from '@gravity-ui/components';\nimport {Button as CommonButton, Icon, Platform} 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 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 const buttonComponent = url ? 'a' : 'button';\n\n return (\n <CommonButton\n className={buttonClass}\n view={toCommonView(buttonTheme as OldButtonTheme)}\n size={toCommonSize(size as OldButtonSize)}\n href={url ? setUrlTld(url, tld) : undefined}\n title={urlTitle}\n width={width}\n component={buttonComponent}\n {...buttonProps}\n >\n {icon && buttonImg.position === 'left' ? icon : null}\n <span className={b('content')}>\n {image && buttonImg.position === 'left' ? image : null}\n <span className={b('text')}>{text}</span>\n {image && buttonImg.position === 'right' ? image : null}\n </span>\n {icon && buttonImg.position === 'right' ? icon : null}\n </CommonButton>\n );\n};\n\nexport default Button;\n"]}
1
+ {"version":3,"file":"Button.js","sourceRoot":"../../../../src","sources":["components/Button/Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {StoreBadge} from '@gravity-ui/components';\nimport {\n Button as CommonButton,\n Icon,\n Platform,\n ButtonProps as UIKitButtonProps,\n} from '@gravity-ui/uikit';\n\nimport {LocaleContext} from '../../context/localeContext/localeContext';\nimport {useAnalytics} from '../../hooks';\nimport {Github} from '../../icons';\nimport {ButtonProps as ButtonParams, DefaultEventNames, QAProps} from '../../models';\nimport {block, setUrlTld} from '../../utils';\n\nimport {i18n} from './i18n';\nimport {ICON_QA, OldButtonSize, OldButtonTheme, toCommonSize, toCommonView} from './utils';\n\nimport './Button.scss';\n\nexport interface ButtonProps extends Omit<ButtonParams, 'url'>, QAProps {\n className?: string;\n url?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement | HTMLAnchorElement>;\n}\n\nconst b = block('button-block');\n\n// eslint-disable-next-line complexity\nconst Button = (props: ButtonProps) => {\n const {tld} = React.useContext(LocaleContext);\n const {\n className,\n analyticsEvents,\n size = 'l',\n theme = 'normal',\n url,\n urlTitle,\n img,\n onClick: onClickOrigin,\n text,\n width,\n ...rest\n } = props;\n const defaultImgPosition = 'left';\n const handleAnalytics = useAnalytics(DefaultEventNames.Button, url);\n const onClick = React.useCallback(\n (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n handleAnalytics(analyticsEvents);\n\n if (onClickOrigin) {\n onClickOrigin(e);\n }\n },\n [handleAnalytics, analyticsEvents, onClickOrigin],\n );\n\n const buttonModifiers = {size, theme, width};\n\n const buttonImg =\n img instanceof Object\n ? {url: img.url, position: img.position || defaultImgPosition, alt: img.alt}\n : {url: img, position: defaultImgPosition};\n\n const buttonClass = img\n ? b({position: buttonImg.position, ...buttonModifiers}, className)\n : b({...buttonModifiers}, className);\n\n const buttonProps = {\n ...rest,\n href: url ? setUrlTld(url, tld) : undefined,\n onClick,\n };\n\n if (theme === 'app-store' || theme === 'google-play') {\n const platform = theme === 'app-store' ? Platform.IOS : Platform.ANDROID;\n\n return <StoreBadge className={buttonClass} platform={platform} href={url as string} />;\n }\n\n let icon;\n let image = img && (\n <img className={b('image')} src={buttonImg.url} alt={buttonImg.alt || i18n('image-alt')} />\n );\n\n if (theme === 'github') {\n icon = <Icon className={b('icon')} data={Github} size={24} qa={ICON_QA} />;\n image = undefined;\n }\n\n const buttonTheme = theme === 'scale' ? 'accent' : theme;\n\n return (\n <CommonButton\n className={buttonClass}\n view={toCommonView(buttonTheme as OldButtonTheme)}\n size={toCommonSize(size as OldButtonSize)}\n title={urlTitle}\n width={width}\n {...(buttonProps as UIKitButtonProps)}\n >\n {icon && buttonImg.position === 'left' ? icon : null}\n <span className={b('content')}>\n {image && buttonImg.position === 'left' ? image : null}\n <span className={b('text')}>{text}</span>\n {image && buttonImg.position === 'right' ? image : null}\n </span>\n {icon && buttonImg.position === 'right' ? icon : null}\n </CommonButton>\n );\n};\n\nexport default Button;\n"]}
@@ -46,6 +46,7 @@ unpredictable css rules order in build */
46
46
  line-height: var(--g-text-body-2-line-height);
47
47
  flex: 1;
48
48
  padding: 32px;
49
+ padding-bottom: 36px;
49
50
  }
50
51
  .pc-card-base-block__header + .pc-card-base-block__body {
51
52
  padding: 24px 32px 32px;
@@ -1,34 +1,34 @@
1
1
  /* use this for style redefinitions to awoid problems with
2
2
  unpredictable css rules order in build */
3
- .pc-content-list_size_l {
3
+ .pc-content-list_size_l, .pc-content-list_size_m {
4
4
  max-width: 480px;
5
5
  }
6
- .pc-content-list_size_l .pc-content-list__title {
6
+ .pc-content-list_size_l .pc-content-list__title, .pc-content-list_size_m .pc-content-list__title {
7
7
  font-size: var(--g-text-header-1-font-size);
8
8
  line-height: var(--g-text-header-1-line-height);
9
9
  margin: 0 0 8px;
10
10
  }
11
- .pc-content-list_size_l .pc-content-list__icon {
11
+ .pc-content-list_size_l .pc-content-list__icon, .pc-content-list_size_m .pc-content-list__icon {
12
12
  width: 22px;
13
13
  height: 22px;
14
14
  margin-top: 1px;
15
15
  margin-bottom: 1px;
16
16
  margin-right: 12px;
17
17
  }
18
- .pc-content-list_size_l .pc-content-list__item:not(:last-child) {
18
+ .pc-content-list_size_l .pc-content-list__item:not(:last-child), .pc-content-list_size_m .pc-content-list__item:not(:last-child) {
19
19
  margin-bottom: 16px;
20
20
  }
21
- .pc-content-list_size_l .pc-content-list__item_without-title:not(:last-child) {
21
+ .pc-content-list_size_l .pc-content-list__item_without-title:not(:last-child), .pc-content-list_size_m .pc-content-list__item_without-title:not(:last-child) {
22
22
  margin-bottom: 12px;
23
23
  }
24
- .pc-content-list_size_l .pc-content-list__item_without-title .pc-content-list__icon {
24
+ .pc-content-list_size_l .pc-content-list__item_without-title .pc-content-list__icon, .pc-content-list_size_m .pc-content-list__item_without-title .pc-content-list__icon {
25
25
  width: 20px;
26
26
  height: 20px;
27
27
  margin-top: 2px;
28
28
  margin-bottom: 2px;
29
29
  margin-right: 8px;
30
30
  }
31
- .pc-content-list_size_l .pc-content-list__item_without-title .pc-content-list__text {
31
+ .pc-content-list_size_l .pc-content-list__item_without-title .pc-content-list__text, .pc-content-list_size_m .pc-content-list__item_without-title .pc-content-list__text {
32
32
  font-size: var(--g-text-subheader-3-font-size);
33
33
  line-height: var(--g-text-subheader-3-line-height);
34
34
  }
@@ -33,16 +33,23 @@ const FileExtensionThemes = {
33
33
  const LabelSizeMap = {
34
34
  l: 's',
35
35
  m: 's',
36
+ sm: 's',
36
37
  s: 'xs',
37
38
  xs: 'xs',
38
39
  };
40
+ function getTextSize(size) {
41
+ if (size === 'sm') {
42
+ return 'm';
43
+ }
44
+ return size;
45
+ }
39
46
  const FileLink = (props) => {
40
47
  const { hostname } = React.useContext(LocationContext);
41
48
  const { href, text, type = 'vertical', textSize = 'm', className, theme = 'default', onClick, tabIndex, urlTitle, extraProps, } = props;
42
49
  const fileExt = getFileExt(href);
43
50
  const labelTheme = (FileExtensionThemes[fileExt] || 'unknown');
44
51
  const labelSize = LabelSizeMap[textSize];
45
- return (_jsxs("div", { className: b({ ext: fileExt, type, size: 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", Object.assign({ href: href, onClick: onClick, tabIndex: tabIndex, title: urlTitle }, getLinkProps(href, hostname), extraProps, { children: text })) })] }));
46
53
  };
47
54
  export default FileLink;
48
55
  //# sourceMappingURL=FileLink.js.map
@@ -1 +1 @@
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,aAAJ,IAAI,uBAAJ,IAAI,CAAE,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,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;CACX,CAAC;AAEF,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,QAAQ,EAAE,KAAK,EAAC,EAAE,SAAS,CAAC,aACrE,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,0BACI,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,QAAQ,IACX,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC5B,UAAU,cAEb,IAAI,IACL,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 s: 'xs',\n xs: 'xs',\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: 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":"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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,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
- import debounce from 'lodash/debounce';
3
+ import debounce from "lodash/debounce.js";
4
4
  import { BREAKPOINTS } from "../../constants.js";
5
5
  import { block } from "../../utils/index.js";
6
6
  import './FullWidthBackground.css';
@@ -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,MAAM,iBAAiB,CAAC;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;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"]}
@@ -10,7 +10,7 @@ export const ImageBase = (_a) => {
10
10
  // It is still not supported. However it's nice to have ability to manage
11
11
  // this prop is good to have to improve Core Web Vitals.
12
12
  // So, here is a workaround to assign the attr.
13
- _jsx("img", Object.assign({ fetchpriority: fetchPriority, alt: alt }, props)));
13
+ _jsx("img", Object.assign({ fetchPriority: fetchPriority, alt: alt }, props)));
14
14
  };
15
15
  export default ImageBase;
16
16
  //# sourceMappingURL=ImageBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageBase.js","sourceRoot":"../../../../src","sources":["components/ImageBase/ImageBase.tsx"],"names":[],"mappings":";;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,YAAY,EAAC,mDAAgD;AAWrE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAA8C,EAAE,EAAE;QAAlD,EAAC,aAAa,EAAE,GAAG,OAA2B,EAAtB,KAAK,cAA7B,wBAA8B,CAAD;IACnD,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE/C,OAAO,KAAK,CAAC,CAAC,CAAC,CACX,KAAC,KAAK,kBAAC,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CAC/D,CAAC,CAAC,CAAC;IACA,6DAA6D;IAC7D,yEAAyE;IACzE,wDAAwD;IACxD,+CAA+C;IAC/C,4BAAU,aAAa,EAAE,aAAa,EAAG,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CACnE,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ImageContext} from '../../context/imageContext/imageContext';\nimport {ImageObjectProps} from '../../models';\n\nexport interface ImageBaseProps extends Partial<ImageObjectProps> {\n style?: React.CSSProperties;\n className?: string;\n onClick?: React.MouseEventHandler;\n onLoad?: React.ReactEventHandler<HTMLDivElement>;\n onError?: () => void;\n}\n\nexport const ImageBase = ({fetchPriority, alt, ...props}: ImageBaseProps) => {\n const {Image} = React.useContext(ImageContext);\n\n return Image ? (\n <Image fetchPriority={fetchPriority} alt={alt} {...props} />\n ) : (\n // There is an issue with fetchpriority attr in img in React.\n // It is still not supported. However it's nice to have ability to manage\n // this prop is good to have to improve Core Web Vitals.\n // So, here is a workaround to assign the attr.\n <img {...{fetchpriority: fetchPriority}} alt={alt} {...props} />\n );\n};\n\nexport default ImageBase;\n"]}
1
+ {"version":3,"file":"ImageBase.js","sourceRoot":"../../../../src","sources":["components/ImageBase/ImageBase.tsx"],"names":[],"mappings":";;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,YAAY,EAAC,mDAAgD;AAWrE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAA8C,EAAE,EAAE;QAAlD,EAAC,aAAa,EAAE,GAAG,OAA2B,EAAtB,KAAK,cAA7B,wBAA8B,CAAD;IACnD,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE/C,OAAO,KAAK,CAAC,CAAC,CAAC,CACX,KAAC,KAAK,kBAAC,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CAC/D,CAAC,CAAC,CAAC;IACA,6DAA6D;IAC7D,yEAAyE;IACzE,wDAAwD;IACxD,+CAA+C;IAC/C,4BAAU,aAAa,EAAE,aAAa,EAAG,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CACnE,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ImageContext} from '../../context/imageContext/imageContext';\nimport {ImageObjectProps} from '../../models';\n\nexport interface ImageBaseProps extends Partial<ImageObjectProps> {\n style?: React.CSSProperties;\n className?: string;\n onClick?: React.MouseEventHandler;\n onLoad?: React.ReactEventHandler<HTMLDivElement>;\n onError?: () => void;\n}\n\nexport const ImageBase = ({fetchPriority, alt, ...props}: ImageBaseProps) => {\n const {Image} = React.useContext(ImageContext);\n\n return Image ? (\n <Image fetchPriority={fetchPriority} alt={alt} {...props} />\n ) : (\n // There is an issue with fetchpriority attr in img in React.\n // It is still not supported. However it's nice to have ability to manage\n // this prop is good to have to improve Core Web Vitals.\n // So, here is a workaround to assign the attr.\n <img {...{fetchPriority: fetchPriority}} alt={alt} {...props} />\n );\n};\n\nexport default ImageBase;\n"]}
@@ -5,7 +5,7 @@ import { Icon } from '@gravity-ui/uikit';
5
5
  import { LocaleContext } from "../../context/localeContext/index.js";
6
6
  import { LocationContext } from "../../context/locationContext/index.js";
7
7
  import { useAnalytics } from "../../hooks/index.js";
8
- import { DefaultEventNames } from "../../models/index.js";
8
+ import { DefaultEventNames, } from "../../models/index.js";
9
9
  import { block, getLinkProps, getQaAttrubutes, setUrlTld } from "../../utils/index.js";
10
10
  import BackLink from "../BackLink/BackLink.js";
11
11
  import FileLink from "../FileLink/FileLink.js";
@@ -17,6 +17,7 @@ function getArrowSize(size) {
17
17
  case 'l':
18
18
  return 20;
19
19
  case 'm':
20
+ case 'sm':
20
21
  return 18;
21
22
  case 's':
22
23
  return 14;
@@ -24,6 +25,15 @@ function getArrowSize(size) {
24
25
  return 14;
25
26
  }
26
27
  }
28
+ function getTextSize({ size, theme }) {
29
+ if (!size) {
30
+ return theme === 'back' ? 'l' : 'm';
31
+ }
32
+ if (size === 'sm') {
33
+ return 'm';
34
+ }
35
+ return size;
36
+ }
27
37
  const LinkBlock = (props) => {
28
38
  const { text, url, arrow, analyticsEvents, theme = 'file-link', colorTheme = 'light', textSize = 'm', className, target, children, tabIndex, qa, urlTitle, extraProps, } = props;
29
39
  const qaAttributes = getQaAttrubutes(qa, ['normal']);
@@ -31,7 +41,6 @@ const LinkBlock = (props) => {
31
41
  const { hostname } = React.useContext(LocationContext);
32
42
  const { tld } = React.useContext(LocaleContext);
33
43
  const href = setUrlTld(props.url, tld);
34
- const defaultTextSize = theme === 'back' ? 'l' : 'm';
35
44
  const onClick = () => {
36
45
  handleAnalytics(analyticsEvents);
37
46
  };
@@ -51,7 +60,7 @@ const LinkBlock = (props) => {
51
60
  return null;
52
61
  }
53
62
  };
54
- return (_jsx("div", { className: b({ size: textSize || defaultTextSize }, className), children: getLinkByType() }));
63
+ return (_jsx("div", { className: b({ size: getTextSize({ size: textSize, theme }) }, className), children: getLinkByType() }));
55
64
  };
56
65
  export default LinkBlock;
57
66
  //# sourceMappingURL=Link.js.map