@gravity-ui/page-constructor 3.16.0 → 4.0.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 (283) hide show
  1. package/README.md +1 -1
  2. package/build/cjs/blocks/Companies/Companies.css +5 -5
  3. package/build/cjs/blocks/Companies/Companies.js +3 -3
  4. package/build/cjs/blocks/ContentLayout/ContentLayout.css +4 -4
  5. package/build/cjs/blocks/ContentLayout/ContentLayout.js +1 -3
  6. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.css +16 -16
  7. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +3 -3
  8. package/build/cjs/blocks/Header/Header.css +22 -22
  9. package/build/cjs/blocks/Header/Header.js +2 -2
  10. package/build/cjs/blocks/Icons/Icons.css +2 -2
  11. package/build/cjs/blocks/Info/Info.css +1 -1
  12. package/build/cjs/blocks/Info/Info.js +3 -3
  13. package/build/cjs/blocks/Media/Media.js +2 -2
  14. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.css +13 -13
  15. package/build/cjs/blocks/Questions/Questions.css +12 -12
  16. package/build/cjs/blocks/Share/Share.css +14 -12
  17. package/build/cjs/blocks/Slider/Arrow/Arrow.css +4 -4
  18. package/build/cjs/blocks/Slider/Slider.css +10 -10
  19. package/build/cjs/blocks/Table/Table.css +5 -5
  20. package/build/cjs/blocks/Tabs/Tabs.css +6 -6
  21. package/build/cjs/blocks/Tabs/Tabs.js +2 -2
  22. package/build/cjs/components/Anchor/Anchor.d.ts +2 -3
  23. package/build/cjs/components/AnimateBlock/AnimateBlock.d.ts +2 -3
  24. package/build/cjs/components/Author/Author.css +8 -8
  25. package/build/cjs/components/Author/Author.js +2 -2
  26. package/build/cjs/components/BlockBase/BlockBase.d.ts +2 -2
  27. package/build/cjs/components/BlockBase/BlockBase.js +1 -1
  28. package/build/cjs/components/Button/Button.css +4 -0
  29. package/build/cjs/components/Button/Button.d.ts +2 -3
  30. package/build/cjs/components/Button/Button.js +3 -2
  31. package/build/cjs/components/ButtonTabs/ButtonTabs.css +4 -0
  32. package/build/cjs/components/ButtonTabs/ButtonTabs.d.ts +2 -3
  33. package/build/cjs/components/CardBase/CardBase.css +6 -6
  34. package/build/cjs/components/Control/Control.css +9 -9
  35. package/build/cjs/components/ErrorWrapper/ErrorWrapper.css +3 -3
  36. package/build/cjs/components/FileLink/FileLink.css +16 -56
  37. package/build/cjs/components/FileLink/FileLink.js +18 -1
  38. package/build/cjs/components/FullWidthBackground/FullWidthBackground.css +1 -1
  39. package/build/cjs/components/FullscreenImage/FullscreenImage.css +3 -3
  40. package/build/cjs/components/FullscreenMedia/FullscreenMedia.css +3 -3
  41. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.css +11 -11
  42. package/build/cjs/components/Image/Image.d.ts +2 -3
  43. package/build/cjs/components/Link/Link.css +13 -13
  44. package/build/cjs/components/Media/Video/Video.js +1 -0
  45. package/build/cjs/components/MetaInfo/MetaInfo.css +2 -2
  46. package/build/cjs/components/OverflowScroller/OverflowScroller.css +1 -1
  47. package/build/cjs/components/ReactPlayer/CustomBarControls.css +1 -1
  48. package/build/cjs/components/ReactPlayer/ReactPlayer.css +2 -2
  49. package/build/cjs/components/Table/Table.css +8 -8
  50. package/build/cjs/components/Title/Title.css +4 -4
  51. package/build/cjs/components/Title/TitleItem.css +19 -19
  52. package/build/cjs/components/Title/TitleItem.d.ts +2 -3
  53. package/build/cjs/components/Title/TitleItem.js +2 -2
  54. package/build/cjs/components/UnpublishedLabel/UnpublishedLabel.css +5 -5
  55. package/build/cjs/components/VideoBlock/VideoBlock.css +2 -2
  56. package/build/cjs/components/constants.d.ts +3 -1
  57. package/build/cjs/components/constants.js +4 -2
  58. package/build/cjs/containers/PageConstructor/PageConstructor.css +50 -30
  59. package/build/cjs/containers/PageConstructor/PageConstructor.js +6 -3
  60. package/build/cjs/containers/PageConstructor/Provider.d.ts +2 -3
  61. package/build/cjs/containers/PageConstructor/Provider.js +2 -2
  62. package/build/cjs/context/theme/ThemeContext.d.ts +2 -3
  63. package/build/cjs/context/theme/ThemeContext.js +0 -1
  64. package/build/cjs/context/theme/index.d.ts +0 -1
  65. package/build/cjs/context/theme/index.js +0 -1
  66. package/build/cjs/context/theme/useTheme.d.ts +1 -1
  67. package/build/cjs/context/theme/useTheme.js +2 -2
  68. package/build/cjs/context/theme/withTheme.js +1 -1
  69. package/build/cjs/editor/components/AddBlock/AddBlock.css +6 -5
  70. package/build/cjs/editor/components/AddBlock/AddBlock.js +1 -1
  71. package/build/cjs/editor/components/ControlPanel/ControlPanel.css +12 -5
  72. package/build/cjs/editor/components/ControlPanel/ControlPanel.d.ts +4 -2
  73. package/build/cjs/editor/components/ControlPanel/ControlPanel.js +16 -9
  74. package/build/cjs/editor/components/EditBlock/EditBlock.css +2 -2
  75. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.css +2 -2
  76. package/build/cjs/editor/components/Layout/Layout.css +11 -9
  77. package/build/cjs/editor/components/Layout/Layout.d.ts +4 -1
  78. package/build/cjs/editor/components/Layout/Layout.js +2 -2
  79. package/build/cjs/editor/components/NotFoundBlock/NotFoundBlock.css +4 -4
  80. package/build/cjs/editor/containers/Editor/Editor.js +5 -5
  81. package/build/cjs/editor/containers/Form/Form.css +12 -12
  82. package/build/cjs/editor/data/previews/default-preview.js +1 -1
  83. package/build/cjs/editor/data/previews/header-block.js +5 -5
  84. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.css +1 -1
  85. package/build/cjs/editor/store/index.d.ts +3 -1
  86. package/build/cjs/editor/store/index.js +7 -2
  87. package/build/cjs/editor/store/reducer.d.ts +8 -2
  88. package/build/cjs/editor/store/reducer.js +4 -1
  89. package/build/cjs/editor/styles/root.css +6 -4
  90. package/build/cjs/grid/Col/Col.d.ts +3 -4
  91. package/build/cjs/grid/Col/Col.js +2 -2
  92. package/build/cjs/grid/Grid/Grid.css +1 -1
  93. package/build/cjs/models/common.d.ts +4 -0
  94. package/build/cjs/models/common.js +5 -1
  95. package/build/cjs/models/constructor-items/blocks.d.ts +0 -4
  96. package/build/cjs/models/constructor-items/common.d.ts +3 -5
  97. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.css +4 -4
  98. package/build/cjs/navigation/components/Logo/Logo.css +3 -3
  99. package/build/cjs/navigation/components/Logo/Logo.js +3 -3
  100. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.css +7 -7
  101. package/build/cjs/navigation/components/Navigation/Navigation.css +2 -2
  102. package/build/cjs/navigation/components/NavigationItem/NavigationItem.css +1 -1
  103. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.css +1 -1
  104. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.css +2 -2
  105. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.css +5 -5
  106. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.js +1 -1
  107. package/build/cjs/navigation/components/SocialIcon/SocialIcon.css +3 -3
  108. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.css +4 -4
  109. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js +3 -3
  110. package/build/cjs/sub-blocks/BannerCard/BannerCard.css +16 -16
  111. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +3 -3
  112. package/build/cjs/sub-blocks/Content/Content.css +22 -22
  113. package/build/cjs/sub-blocks/Content/ContentList/ContentList.css +6 -6
  114. package/build/cjs/sub-blocks/Content/ContentList/ContentList.js +3 -3
  115. package/build/cjs/sub-blocks/Divider/Divider.css +1 -1
  116. package/build/cjs/sub-blocks/HubspotForm/HubspotForm.css +39 -39
  117. package/build/cjs/sub-blocks/HubspotForm/index.js +2 -2
  118. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.css +1 -1
  119. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.css +2 -2
  120. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.css +17 -29
  121. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +18 -1
  122. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/Details/Settings.css +7 -7
  123. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/PriceDetails.css +5 -5
  124. package/build/cjs/sub-blocks/Quote/Quote.css +10 -10
  125. package/build/cjs/sub-blocks/Quote/Quote.js +2 -2
  126. package/build/cjs/utils/theme.d.ts +1 -1
  127. package/build/esm/blocks/Companies/Companies.css +5 -5
  128. package/build/esm/blocks/Companies/Companies.js +3 -3
  129. package/build/esm/blocks/ContentLayout/ContentLayout.css +4 -4
  130. package/build/esm/blocks/ContentLayout/ContentLayout.js +1 -3
  131. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.css +16 -16
  132. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +3 -3
  133. package/build/esm/blocks/Header/Header.css +22 -22
  134. package/build/esm/blocks/Header/Header.js +2 -2
  135. package/build/esm/blocks/Icons/Icons.css +2 -2
  136. package/build/esm/blocks/Info/Info.css +1 -1
  137. package/build/esm/blocks/Info/Info.js +3 -3
  138. package/build/esm/blocks/Media/Media.js +3 -3
  139. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.css +13 -13
  140. package/build/esm/blocks/Questions/Questions.css +12 -12
  141. package/build/esm/blocks/Share/Share.css +14 -12
  142. package/build/esm/blocks/Slider/Arrow/Arrow.css +4 -4
  143. package/build/esm/blocks/Slider/Slider.css +10 -10
  144. package/build/esm/blocks/Table/Table.css +5 -5
  145. package/build/esm/blocks/Tabs/Tabs.css +6 -6
  146. package/build/esm/blocks/Tabs/Tabs.js +3 -3
  147. package/build/esm/components/Anchor/Anchor.d.ts +2 -3
  148. package/build/esm/components/AnimateBlock/AnimateBlock.d.ts +2 -3
  149. package/build/esm/components/Author/Author.css +8 -8
  150. package/build/esm/components/Author/Author.js +2 -2
  151. package/build/esm/components/BlockBase/BlockBase.d.ts +2 -2
  152. package/build/esm/components/BlockBase/BlockBase.js +1 -1
  153. package/build/esm/components/Button/Button.css +4 -0
  154. package/build/esm/components/Button/Button.d.ts +2 -3
  155. package/build/esm/components/Button/Button.js +4 -3
  156. package/build/esm/components/ButtonTabs/ButtonTabs.css +4 -0
  157. package/build/esm/components/ButtonTabs/ButtonTabs.d.ts +2 -3
  158. package/build/esm/components/CardBase/CardBase.css +6 -6
  159. package/build/esm/components/Control/Control.css +9 -9
  160. package/build/esm/components/ErrorWrapper/ErrorWrapper.css +3 -3
  161. package/build/esm/components/FileLink/FileLink.css +16 -56
  162. package/build/esm/components/FileLink/FileLink.js +18 -1
  163. package/build/esm/components/FullWidthBackground/FullWidthBackground.css +1 -1
  164. package/build/esm/components/FullscreenImage/FullscreenImage.css +3 -3
  165. package/build/esm/components/FullscreenMedia/FullscreenMedia.css +3 -3
  166. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.css +11 -11
  167. package/build/esm/components/Image/Image.d.ts +2 -3
  168. package/build/esm/components/Link/Link.css +13 -13
  169. package/build/esm/components/Media/Video/Video.js +1 -0
  170. package/build/esm/components/MetaInfo/MetaInfo.css +2 -2
  171. package/build/esm/components/OverflowScroller/OverflowScroller.css +1 -1
  172. package/build/esm/components/ReactPlayer/CustomBarControls.css +1 -1
  173. package/build/esm/components/ReactPlayer/ReactPlayer.css +2 -2
  174. package/build/esm/components/Table/Table.css +8 -8
  175. package/build/esm/components/Title/Title.css +4 -4
  176. package/build/esm/components/Title/TitleItem.css +19 -19
  177. package/build/esm/components/Title/TitleItem.d.ts +2 -3
  178. package/build/esm/components/Title/TitleItem.js +2 -2
  179. package/build/esm/components/UnpublishedLabel/UnpublishedLabel.css +5 -5
  180. package/build/esm/components/VideoBlock/VideoBlock.css +2 -2
  181. package/build/esm/components/constants.d.ts +3 -1
  182. package/build/esm/components/constants.js +3 -1
  183. package/build/esm/containers/PageConstructor/PageConstructor.css +50 -30
  184. package/build/esm/containers/PageConstructor/PageConstructor.js +7 -4
  185. package/build/esm/containers/PageConstructor/Provider.d.ts +2 -3
  186. package/build/esm/containers/PageConstructor/Provider.js +2 -2
  187. package/build/esm/context/theme/ThemeContext.d.ts +2 -3
  188. package/build/esm/context/theme/ThemeContext.js +0 -1
  189. package/build/esm/context/theme/index.d.ts +0 -1
  190. package/build/esm/context/theme/index.js +0 -1
  191. package/build/esm/context/theme/useTheme.d.ts +1 -1
  192. package/build/esm/context/theme/useTheme.js +2 -2
  193. package/build/esm/context/theme/withTheme.js +1 -1
  194. package/build/esm/editor/components/AddBlock/AddBlock.css +6 -5
  195. package/build/esm/editor/components/AddBlock/AddBlock.js +1 -1
  196. package/build/esm/editor/components/ControlPanel/ControlPanel.css +12 -5
  197. package/build/esm/editor/components/ControlPanel/ControlPanel.d.ts +4 -2
  198. package/build/esm/editor/components/ControlPanel/ControlPanel.js +17 -10
  199. package/build/esm/editor/components/EditBlock/EditBlock.css +2 -2
  200. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.css +2 -2
  201. package/build/esm/editor/components/Layout/Layout.css +11 -9
  202. package/build/esm/editor/components/Layout/Layout.d.ts +4 -1
  203. package/build/esm/editor/components/Layout/Layout.js +2 -2
  204. package/build/esm/editor/components/NotFoundBlock/NotFoundBlock.css +4 -4
  205. package/build/esm/editor/containers/Editor/Editor.js +5 -5
  206. package/build/esm/editor/containers/Form/Form.css +12 -12
  207. package/build/esm/editor/data/previews/default-preview.js +1 -1
  208. package/build/esm/editor/data/previews/header-block.js +5 -5
  209. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.css +1 -1
  210. package/build/esm/editor/store/index.d.ts +3 -1
  211. package/build/esm/editor/store/index.js +8 -3
  212. package/build/esm/editor/store/reducer.d.ts +8 -2
  213. package/build/esm/editor/store/reducer.js +3 -0
  214. package/build/esm/editor/styles/root.css +6 -4
  215. package/build/esm/grid/Col/Col.d.ts +3 -4
  216. package/build/esm/grid/Col/Col.js +2 -2
  217. package/build/esm/grid/Grid/Grid.css +1 -1
  218. package/build/esm/models/common.d.ts +4 -0
  219. package/build/esm/models/common.js +4 -0
  220. package/build/esm/models/constructor-items/blocks.d.ts +0 -4
  221. package/build/esm/models/constructor-items/common.d.ts +3 -5
  222. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.css +4 -4
  223. package/build/esm/navigation/components/Logo/Logo.css +3 -3
  224. package/build/esm/navigation/components/Logo/Logo.js +3 -3
  225. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.css +7 -7
  226. package/build/esm/navigation/components/Navigation/Navigation.css +2 -2
  227. package/build/esm/navigation/components/NavigationItem/NavigationItem.css +1 -1
  228. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.css +1 -1
  229. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.css +2 -2
  230. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.css +5 -5
  231. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.js +1 -1
  232. package/build/esm/navigation/components/SocialIcon/SocialIcon.css +3 -3
  233. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.css +4 -4
  234. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js +3 -3
  235. package/build/esm/sub-blocks/BannerCard/BannerCard.css +16 -16
  236. package/build/esm/sub-blocks/BannerCard/BannerCard.js +3 -3
  237. package/build/esm/sub-blocks/Content/Content.css +22 -22
  238. package/build/esm/sub-blocks/Content/ContentList/ContentList.css +6 -6
  239. package/build/esm/sub-blocks/Content/ContentList/ContentList.js +3 -3
  240. package/build/esm/sub-blocks/Divider/Divider.css +1 -1
  241. package/build/esm/sub-blocks/HubspotForm/HubspotForm.css +39 -39
  242. package/build/esm/sub-blocks/HubspotForm/index.js +2 -2
  243. package/build/esm/sub-blocks/LayoutItem/LayoutItem.css +1 -1
  244. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.css +2 -2
  245. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.css +17 -29
  246. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +18 -1
  247. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/Details/Settings.css +7 -7
  248. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/PriceDetails.css +5 -5
  249. package/build/esm/sub-blocks/Quote/Quote.css +10 -10
  250. package/build/esm/sub-blocks/Quote/Quote.js +3 -3
  251. package/build/esm/utils/theme.d.ts +1 -1
  252. package/package.json +7 -5
  253. package/server/components/constants.d.ts +3 -1
  254. package/server/components/constants.js +4 -2
  255. package/server/models/common.d.ts +4 -0
  256. package/server/models/common.js +5 -1
  257. package/server/models/constructor-items/blocks.d.ts +0 -4
  258. package/server/models/constructor-items/common.d.ts +3 -5
  259. package/server/utils/theme.d.ts +1 -1
  260. package/styles/colors/dark.scss +6 -0
  261. package/styles/colors/light.scss +6 -0
  262. package/styles/colors/social.scss +10 -0
  263. package/styles/mixins.scss +21 -25
  264. package/styles/root.scss +28 -14
  265. package/styles/storybook/common.scss +6 -6
  266. package/styles/storybook/palette.scss +6 -6
  267. package/styles/storybook/typography.scss +46 -46
  268. package/styles/styles.css +15 -15
  269. package/styles/variables.scss +0 -8
  270. package/styles/yfm.scss +12 -12
  271. package/widget/index.js +1 -1
  272. package/build/cjs/context/theme/ThemeProvider.d.ts +0 -22
  273. package/build/cjs/context/theme/ThemeProvider.js +0 -49
  274. package/build/cjs/context/theme/ThemeValueContext.d.ts +0 -7
  275. package/build/cjs/context/theme/ThemeValueContext.js +0 -9
  276. package/build/cjs/context/theme/useThemeValue.d.ts +0 -2
  277. package/build/cjs/context/theme/useThemeValue.js +0 -11
  278. package/build/esm/context/theme/ThemeProvider.d.ts +0 -22
  279. package/build/esm/context/theme/ThemeProvider.js +0 -44
  280. package/build/esm/context/theme/ThemeValueContext.d.ts +0 -7
  281. package/build/esm/context/theme/ThemeValueContext.js +0 -5
  282. package/build/esm/context/theme/useThemeValue.d.ts +0 -2
  283. package/build/esm/context/theme/useThemeValue.js +0 -6
@@ -1,15 +1,17 @@
1
1
  /* use this for style redefinitions to awoid problems with
2
2
  unpredictable css rules order in build */
3
- :root {
4
- --editor-header-height: 48px;
5
- --editor-divider-width: 12px;
6
- --editor-left-column-width: calc(400px + var(--editor-divider-width));
3
+ body {
4
+ --pc-editor-header-height: 48px;
5
+ --pc-editor-divider-width: 12px;
6
+ --pc-editor-base-color: var(--g-color-base-brand);
7
+ --pc-editor-control-color: var(--g-color-private-yellow-400-solid);
8
+ --pc-editor-left-column-width: calc(400px + var(--pc-editor-divider-width));
7
9
  }
8
10
 
9
11
  .pc-editor-layout__left, .pc-editor-layout__right {
10
- --yc-scrollbar-width: 0;
11
- height: calc(100vh - var(--editor-header-height));
12
- max-height: calc(100vh - var(--editor-header-height));
12
+ --g-scrollbar-width: 0;
13
+ height: calc(100vh - var(--pc-editor-header-height));
14
+ max-height: calc(100vh - var(--pc-editor-header-height));
13
15
  overflow-y: auto;
14
16
  }
15
17
 
@@ -30,8 +32,8 @@ unpredictable css rules order in build */
30
32
  .pc-editor-layout__left {
31
33
  flex: 0 0 auto;
32
34
  padding: 24px 16px;
33
- width: var(--editor-left-column-width);
34
- border-right: var(--editor-divider-width) solid var(--yc-color-line-generic);
35
+ width: var(--pc-editor-left-column-width);
36
+ border-right: var(--pc-editor-divider-width) solid var(--g-color-line-generic);
35
37
  overflow-x: auto;
36
38
  }
37
39
  .pc-editor-layout__right {
@@ -1,12 +1,15 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
+ import { Theme } from '../../../models';
2
3
  import { ViewModeItem } from '../../types';
3
4
  import './Layout.css';
4
5
  export interface LayoutProps {
5
6
  mode: ViewModeItem;
6
7
  onModeChange: (mode: ViewModeItem) => void;
8
+ theme: Theme;
9
+ onThemeChange: (theme: Theme) => void;
7
10
  }
8
11
  declare const Layout: {
9
- ({ children, mode, onModeChange }: PropsWithChildren<LayoutProps>): JSX.Element;
12
+ ({ children, mode, onModeChange, theme, onThemeChange, }: PropsWithChildren<LayoutProps>): JSX.Element;
10
13
  Left: React.FC<{
11
14
  children?: React.ReactNode;
12
15
  }>;
@@ -7,7 +7,7 @@ import './Layout.css';
7
7
  const b = block('editor-layout');
8
8
  const Left = () => null;
9
9
  const Right = () => null;
10
- const Layout = ({ children, mode, onModeChange }) => {
10
+ const Layout = ({ children, mode, onModeChange, theme, onThemeChange, }) => {
11
11
  let left, right;
12
12
  const isEditingMode = mode === ViewModeItem.Edititng;
13
13
  function handleChild(child) {
@@ -24,7 +24,7 @@ const Layout = ({ children, mode, onModeChange }) => {
24
24
  Children.forEach(children, handleChild);
25
25
  }
26
26
  return (React.createElement("div", { className: b() },
27
- React.createElement(ControlPanel, { viewMode: mode, onViewModeChange: onModeChange, className: b('panel') }),
27
+ React.createElement(ControlPanel, { viewMode: mode, onViewModeChange: onModeChange, className: b('panel'), theme: theme, onThemeChange: onThemeChange }),
28
28
  React.createElement("div", { className: b('container') },
29
29
  React.createElement(Fragment, null,
30
30
  left && React.createElement("div", { className: b('left') }, left),
@@ -3,19 +3,19 @@
3
3
  }
4
4
 
5
5
  .pc-not-found-block:hover {
6
- box-shadow: 0px 4px 24px var(--yc-color-sfx-shadow), 0px 2px 8px var(--yc-color-sfx-shadow);
6
+ box-shadow: 0px 4px 24px var(--g-color-sfx-shadow), 0px 2px 8px var(--g-color-sfx-shadow);
7
7
  cursor: pointer;
8
8
  }
9
9
 
10
10
  /* use this for style redefinitions to awoid problems with
11
11
  unpredictable css rules order in build */
12
12
  .pc-not-found-block {
13
- font-size: var(--yc-text-display-1-font-size);
14
- line-height: var(--yc-text-display-1-line-height);
13
+ font-size: var(--g-text-display-1-font-size);
14
+ line-height: var(--g-text-display-1-line-height);
15
15
  display: flex;
16
16
  align-items: center;
17
17
  justify-content: center;
18
18
  height: 200px;
19
- background-color: var(--yc-color-promo-highlight-silver);
19
+ background-color: var(--pc-color-highlight-silver);
20
20
  border-radius: var(--pc-border-radius);
21
21
  }
@@ -14,7 +14,7 @@ import { addCustomDecorator, checkIsMobile, getBlockId } from '../../utils';
14
14
  import { Form } from '../Form/Form';
15
15
  export const Editor = (_a) => {
16
16
  var { customSchema, onChange, providerProps, transformContent, deviceEmulationSettings } = _a, rest = __rest(_a, ["customSchema", "onChange", "providerProps", "transformContent", "deviceEmulationSettings"]);
17
- const { content, activeBlockIndex, errorBoundaryState, viewMode, onContentUpdate, onViewModeUpdate, onAdd, onSelect, injectEditBlockProps, } = useEditorState(rest);
17
+ const { content, activeBlockIndex, errorBoundaryState, viewMode, theme, onContentUpdate, onViewModeUpdate, onAdd, onSelect, injectEditBlockProps, onThemeUpdate, } = useEditorState(rest);
18
18
  const formSpecs = useFormSpec(customSchema);
19
19
  const isEditingMode = viewMode === ViewModeItem.Edititng;
20
20
  const transformedContent = useMemo(() => (transformContent ? transformContent(content, { viewMode }) : content), [content, transformContent, viewMode]);
@@ -45,19 +45,19 @@ export const Editor = (_a) => {
45
45
  content: transformedContent,
46
46
  custom: rest.custom,
47
47
  },
48
- providerProps: Object.assign(Object.assign({}, providerProps), { isMobile: checkIsMobile(viewMode) }),
48
+ providerProps: Object.assign(Object.assign({}, providerProps), { isMobile: checkIsMobile(viewMode), theme }),
49
49
  deviceEmulationSettings,
50
- }), [providerProps, rest.custom, viewMode, transformedContent, deviceEmulationSettings]);
50
+ }), [providerProps, rest.custom, viewMode, transformedContent, deviceEmulationSettings, theme]);
51
51
  useEffect(() => {
52
52
  onChange === null || onChange === void 0 ? void 0 : onChange(content);
53
53
  }, [content, onChange]);
54
54
  return (React.createElement(EditorContext.Provider, { value: context },
55
- React.createElement(Layout, { mode: viewMode, onModeChange: onViewModeUpdate },
55
+ React.createElement(Layout, { mode: viewMode, onModeChange: onViewModeUpdate, theme: theme, onThemeChange: onThemeUpdate },
56
56
  isEditingMode && (React.createElement(Layout.Left, null,
57
57
  React.createElement(Form, { content: content, onChange: onContentUpdate, activeBlockIndex: activeBlockIndex, onSelect: onSelect, spec: formSpecs }))),
58
58
  React.createElement(Layout.Right, null,
59
59
  React.createElement(ErrorBoundary, { key: errorBoundaryState },
60
- React.createElement(PageConstructorProvider, Object.assign({}, providerProps),
60
+ React.createElement(PageConstructorProvider, Object.assign({}, providerProps, { theme: theme }),
61
61
  React.createElement(PageConstructor, Object.assign({}, outgoingProps)))),
62
62
  isEditingMode && React.createElement(AddBlock, { onAdd: onAdd })))));
63
63
  };
@@ -1,14 +1,14 @@
1
1
  /* use this for style redefinitions to awoid problems with
2
2
  unpredictable css rules order in build */
3
3
  .pc-editor-form {
4
- --top-level-font-size: var(--yc-text-display-2-font-size);
5
- --top-level-line-height: var(--yc-text-display-2-line-height);
6
- --block-level-complex-propery-font-size: var(--yc-text-body-3-font-size);
7
- --block-level-complex-property-line-height: var(--yc-text-body-3-line-height);
8
- --complex-property-font-size: var(--yc-text-body-2-font-size);
9
- --complex-property-line-height: var(--yc-text-body-2-line-height);
10
- --property-font-size: var(--yc-text-body-1-font-size);
11
- --property-line-height: var(--yc-text-body-1-line-height);
4
+ --top-level-font-size: var(--g-text-display-2-font-size);
5
+ --top-level-line-height: var(--g-text-display-2-line-height);
6
+ --block-level-complex-propery-font-size: var(--g-text-body-3-font-size);
7
+ --block-level-complex-property-line-height: var(--g-text-body-3-line-height);
8
+ --complex-property-font-size: var(--g-text-body-2-font-size);
9
+ --complex-property-line-height: var(--g-text-body-2-line-height);
10
+ --property-font-size: var(--g-text-body-1-font-size);
11
+ --property-line-height: var(--g-text-body-1-line-height);
12
12
  --input-min-width: 150px;
13
13
  --property-title-width: 96px;
14
14
  --button-height: 48px;
@@ -63,7 +63,7 @@ unpredictable css rules order in build */
63
63
  line-height: var(--header-line-height);
64
64
  }
65
65
  .pc-editor-form .df-simple-vertical-accordeon__header .yc-button {
66
- --yc-button-height: var(--button-height);
66
+ --g-button-height: var(--button-height);
67
67
  display: flex;
68
68
  justify-content: center;
69
69
  align-items: center;
@@ -71,7 +71,7 @@ unpredictable css rules order in build */
71
71
  .pc-editor-form .df-simple-vertical-accordeon__header .yc-button .yc-button__icon-inner > svg {
72
72
  width: var(--icon-size);
73
73
  height: var(--icon-size);
74
- color: var(--yc-color-text-hint);
74
+ color: var(--g-color-text-hint);
75
75
  }
76
76
  .pc-editor-form .df-simple-vertical-accordeon__header .yc-button .yc-button__icon_side_right ~ .yc-button__text {
77
77
  margin-right: var(--icon-margin);
@@ -90,7 +90,7 @@ unpredictable css rules order in build */
90
90
  padding-top: 4px;
91
91
  padding-bottom: 4px;
92
92
  padding-left: 12px;
93
- border-left: 1px solid var(--yc-color-line-generic-accent);
93
+ border-left: 1px solid var(--g-color-line-generic-accent);
94
94
  }
95
95
  .pc-editor-form .df-simple-vertical-accordeon_branch .df-simple-vertical-accordeon__body {
96
96
  padding-left: 12px;
@@ -104,7 +104,7 @@ unpredictable css rules order in build */
104
104
  margin-top: 12px;
105
105
  }
106
106
  .pc-editor-form__tabs {
107
- --yc-color-base-special: var(--yc-color-promo-base-neon);
107
+ --g-color-base-brand: var(--pc-color-base-neon);
108
108
  margin-bottom: 20px;
109
109
  }
110
110
  .pc-editor-form__block-form {
@@ -10,6 +10,6 @@ const DefaultPreview = (props) => (React.createElement("svg", Object.assign({ wi
10
10
  React.createElement("rect", { x: "14.7674", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "#E7E7E7" }),
11
11
  React.createElement("rect", { x: "33.6977", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "white" }),
12
12
  React.createElement("rect", { x: "52.6279", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "white" }),
13
- React.createElement("rect", { x: "78.4418", y: "9.60464", width: "56.7907", height: "56.7907", rx: "5.16279", fill: "#A967FF" }),
13
+ React.createElement("rect", { x: "78.4418", y: "9.60464", width: "56.7907", height: "56.7907", rx: "5.16279", fill: "currentColor" }),
14
14
  React.createElement("rect", { x: "0.5", y: "0.5", width: "149", height: "75", rx: "8.5", stroke: "black", strokeOpacity: "0.1" })));
15
15
  export default DefaultPreview;
@@ -2,15 +2,15 @@ import React from 'react';
2
2
  import { a11yHiddenSvgProps } from '../../../utils/svg';
3
3
  const Header = (props) => (React.createElement("svg", Object.assign({ width: "150", height: "76", viewBox: "0 0 150 76", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, a11yHiddenSvgProps, props),
4
4
  React.createElement("rect", { x: "1", y: "1", width: "148", height: "74", rx: "8", fill: "white" }),
5
- React.createElement("rect", { x: "4.44174", y: "9.60464", width: "141.116", height: "56.7907", rx: "5.16279", fill: "#A967FF" }),
5
+ React.createElement("rect", { x: "4.44174", y: "9.60464", width: "141.116", height: "56.7907", rx: "5.16279", fill: "currentColor" }),
6
6
  React.createElement("rect", { x: "14.7674", y: "21.6512", width: "28.3953", height: "6.88372", rx: "0.860465", fill: "white" }),
7
- React.createElement("rect", { x: "43.1628", y: "21.6512", width: "28.3953", height: "6.88372", rx: "0.860465", fill: "#A967FF" }),
7
+ React.createElement("rect", { x: "43.1628", y: "21.6512", width: "28.3953", height: "6.88372", rx: "0.860465", fill: "currentColor" }),
8
8
  React.createElement("rect", { x: "14.7674", y: "31.9767", width: "56.7907", height: "3.44186", rx: "0.860465", fill: "white" }),
9
9
  React.createElement("rect", { x: "14.7674", y: "37.1395", width: "56.7907", height: "3.44186", rx: "0.860465", fill: "white" }),
10
10
  React.createElement("rect", { x: "14.7674", y: "42.3023", width: "56.7907", height: "3.44186", rx: "0.860465", fill: "white" }),
11
11
  React.createElement("rect", { x: "14.7674", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "white" }),
12
- React.createElement("rect", { x: "33.6976", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "#A967FF" }),
13
- React.createElement("rect", { x: "52.6279", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "#A967FF" }),
14
- React.createElement("rect", { x: "78.4418", y: "9.60464", width: "56.7907", height: "56.7907", rx: "5.16279", fill: "#A967FF" }),
12
+ React.createElement("rect", { x: "33.6976", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "currentColor" }),
13
+ React.createElement("rect", { x: "52.6279", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "currentColor" }),
14
+ React.createElement("rect", { x: "78.4418", y: "9.60464", width: "56.7907", height: "56.7907", rx: "5.16279", fill: "currentColor" }),
15
15
  React.createElement("rect", { x: "0.5", y: "0.5", width: "149", height: "75", rx: "8.5", stroke: "black", strokeOpacity: "0.1" })));
16
16
  export default Header;
@@ -14,7 +14,7 @@
14
14
  margin-top: 4px;
15
15
  margin-bottom: 20px;
16
16
  margin-left: 5px;
17
- border-left: 1px solid var(--yc-color-line-generic-accent);
17
+ border-left: 1px solid var(--g-color-line-generic-accent);
18
18
  }
19
19
  .pc-one-of-custom .df-group-indent > .df-use-search:empty {
20
20
  display: none;
@@ -1,4 +1,4 @@
1
- import { Block, BlockDecorationProps, PageContent } from '../../models';
1
+ import { Block, BlockDecorationProps, PageContent, Theme } from '../../models';
2
2
  import { EditBlockProps, EditorProps, ViewModeItem } from '../types';
3
3
  export type EditorBlockId = number | string;
4
4
  export declare function useEditorState({ content: intialContent, custom }: Omit<EditorProps, 'children'>): {
@@ -6,9 +6,11 @@ export declare function useEditorState({ content: intialContent, custom }: Omit<
6
6
  content: PageContent;
7
7
  errorBoundaryState: number;
8
8
  viewMode: ViewModeItem;
9
+ theme: Theme;
9
10
  injectEditBlockProps: ({ type, index: relativeIndex, children, ...rest }: BlockDecorationProps) => EditBlockProps;
10
11
  onAdd: (block: Block) => void;
11
12
  onSelect: (index: number) => void;
12
13
  onContentUpdate: (newContent: PageContent) => void;
13
14
  onViewModeUpdate: (newViewMode: ViewModeItem) => void;
15
+ onThemeUpdate: (newTheme: Theme) => void;
14
16
  };
@@ -1,17 +1,19 @@
1
1
  import { __rest } from "tslib";
2
2
  import { useMemo, useReducer } from 'react';
3
+ import { DEFAULT_THEME } from '../../components/constants';
3
4
  import { HeaderBlockTypes } from '../../models';
4
5
  import { getCustomHeaderTypes, getHeaderBlock } from '../../utils';
5
6
  import { EditBlockControls } from '../components/EditBlock/EditBlock';
6
7
  import { ViewModeItem } from '../types';
7
- import { ADD_BLOCK, COPY_BLOCK, DELETE_BLOCK, ORDER_BLOCK, SELECT_BLOCK, UPDATE_CONTENT, UPDATE_VIEW_MODE, reducer, } from './reducer';
8
+ import { ADD_BLOCK, COPY_BLOCK, DELETE_BLOCK, ORDER_BLOCK, SELECT_BLOCK, UPDATE_CONTENT, UPDATE_THEME, UPDATE_VIEW_MODE, reducer, } from './reducer';
8
9
  import { addEditorProps } from './utils';
9
10
  export function useEditorState({ content: intialContent, custom }) {
10
- const [{ activeBlockIndex, content, errorBoundaryState, viewMode }, dispatch] = useReducer(reducer, {
11
+ const [{ activeBlockIndex, content, errorBoundaryState, viewMode, theme }, dispatch] = useReducer(reducer, {
11
12
  activeBlockIndex: 0,
12
13
  errorBoundaryState: 0,
13
14
  content: addEditorProps(intialContent),
14
15
  viewMode: ViewModeItem.Edititng,
16
+ theme: DEFAULT_THEME,
15
17
  });
16
18
  return useMemo(() => {
17
19
  const headerBlockTypes = [...HeaderBlockTypes, ...getCustomHeaderTypes(custom)];
@@ -34,6 +36,7 @@ export function useEditorState({ content: intialContent, custom }) {
34
36
  const onSelect = (index) => dispatch({ type: SELECT_BLOCK, payload: index });
35
37
  const onContentUpdate = (newContent) => dispatch({ type: UPDATE_CONTENT, payload: newContent });
36
38
  const onViewModeUpdate = (newViewMode) => dispatch({ type: UPDATE_VIEW_MODE, payload: newViewMode });
39
+ const onThemeUpdate = (newTheme) => dispatch({ type: UPDATE_THEME, payload: newTheme });
37
40
  const injectEditBlockProps = (_a) => {
38
41
  var { type, index: relativeIndex = 0, children } = _a, rest = __rest(_a, ["type", "index", "children"]);
39
42
  const orderedBlocksStartIndex = contentHasHeader ? 1 : 0;
@@ -68,11 +71,13 @@ export function useEditorState({ content: intialContent, custom }) {
68
71
  content,
69
72
  errorBoundaryState,
70
73
  viewMode,
74
+ theme,
71
75
  injectEditBlockProps,
72
76
  onAdd,
73
77
  onSelect,
74
78
  onContentUpdate,
75
79
  onViewModeUpdate,
80
+ onThemeUpdate,
76
81
  };
77
- }, [content, activeBlockIndex, errorBoundaryState, custom, viewMode]);
82
+ }, [content, activeBlockIndex, errorBoundaryState, custom, viewMode, theme]);
78
83
  }
@@ -1,4 +1,4 @@
1
- import { Block, PageContent } from '../../models';
1
+ import { Block, PageContent, Theme } from '../../models';
2
2
  import { ViewModeItem } from '../types';
3
3
  export type EditorBlockId = number | string;
4
4
  interface EditorState {
@@ -6,6 +6,7 @@ interface EditorState {
6
6
  activeBlockIndex: number;
7
7
  errorBoundaryState: number;
8
8
  viewMode: ViewModeItem;
9
+ theme: Theme;
9
10
  }
10
11
  interface OrderBlockParams {
11
12
  oldIndex: number;
@@ -23,6 +24,7 @@ export declare const SET_REGION = "SET_REGION";
23
24
  export declare const ORDER_BLOCK = "ORDER_BLOCK";
24
25
  export declare const UPDATE_CONTENT = "UPDATE_CONTENT";
25
26
  export declare const UPDATE_VIEW_MODE = "UPDATE_VIEW_MODE";
27
+ export declare const UPDATE_THEME = "UPDATE_THEME";
26
28
  interface SelectBlock {
27
29
  type: typeof SELECT_BLOCK;
28
30
  payload: number;
@@ -51,6 +53,10 @@ interface UpdateViewMode {
51
53
  type: typeof UPDATE_VIEW_MODE;
52
54
  payload: ViewModeItem;
53
55
  }
54
- export type EditorAction = SelectBlock | DeleteBlock | CopyBlock | AddBlock | OrderBlock | UpdateContent | UpdateViewMode;
56
+ interface UpdateTheme {
57
+ type: typeof UPDATE_THEME;
58
+ payload: Theme;
59
+ }
60
+ export type EditorAction = SelectBlock | DeleteBlock | CopyBlock | AddBlock | OrderBlock | UpdateContent | UpdateViewMode | UpdateTheme;
55
61
  export declare const reducer: (state: EditorState, action: EditorAction) => EditorState;
56
62
  export {};
@@ -8,6 +8,7 @@ export const SET_REGION = 'SET_REGION';
8
8
  export const ORDER_BLOCK = 'ORDER_BLOCK';
9
9
  export const UPDATE_CONTENT = 'UPDATE_CONTENT';
10
10
  export const UPDATE_VIEW_MODE = 'UPDATE_VIEW_MODE';
11
+ export const UPDATE_THEME = 'UPDATE_THEME';
11
12
  // reducer
12
13
  export const reducer = (state, action) => {
13
14
  const { content } = state;
@@ -35,6 +36,8 @@ export const reducer = (state, action) => {
35
36
  }
36
37
  case UPDATE_VIEW_MODE:
37
38
  return Object.assign(Object.assign({}, state), { viewMode: action.payload });
39
+ case UPDATE_THEME:
40
+ return Object.assign(Object.assign({}, state), { theme: action.payload });
38
41
  default:
39
42
  return state;
40
43
  }
@@ -1,5 +1,7 @@
1
- :root {
2
- --editor-header-height: 48px;
3
- --editor-divider-width: 12px;
4
- --editor-left-column-width: calc(400px + var(--editor-divider-width));
1
+ body {
2
+ --pc-editor-header-height: 48px;
3
+ --pc-editor-divider-width: 12px;
4
+ --pc-editor-base-color: var(--g-color-base-brand);
5
+ --pc-editor-control-color: var(--g-color-private-yellow-400-solid);
6
+ --pc-editor-left-column-width: calc(400px + var(--pc-editor-divider-width));
5
7
  }
@@ -1,10 +1,9 @@
1
1
  import React, { CSSProperties } from 'react';
2
- import { Refable } from '../../models/common';
2
+ import { QAProps, Refable } from '../../models/common';
3
3
  import { WithChildren } from '../../models/react';
4
4
  import { GridColumnClassParams } from '../types';
5
- export interface GridColumnProps extends GridColumnClassParams, Refable<HTMLDivElement> {
5
+ export interface GridColumnProps extends GridColumnClassParams, Refable<HTMLDivElement>, QAProps {
6
6
  style?: CSSProperties;
7
- dataQa?: string;
8
7
  children?: React.ReactNode;
9
8
  }
10
- export declare const Col: React.ForwardRefExoticComponent<Pick<WithChildren<GridColumnProps>, "style" | "children" | "className" | "reset" | "visible" | "sizes" | "offsets" | "orders" | "hidden" | "alignSelf" | "justifyContent" | "dataQa"> & React.RefAttributes<HTMLDivElement>>;
9
+ export declare const Col: React.ForwardRefExoticComponent<Pick<WithChildren<GridColumnProps>, "style" | "children" | "sizes" | "className" | "hidden" | "qa" | "reset" | "visible" | "offsets" | "orders" | "alignSelf" | "justifyContent"> & React.RefAttributes<HTMLDivElement>>;
@@ -2,7 +2,7 @@ import { __rest } from "tslib";
2
2
  import React, { forwardRef } from 'react';
3
3
  import { getColClass } from '../utils';
4
4
  export const Col = forwardRef((props, ref) => {
5
- const { children, style, dataQa } = props, rest = __rest(props, ["children", "style", "dataQa"]);
6
- return (React.createElement("div", { ref: ref, className: getColClass(rest), style: style, "data-qa": dataQa }, children));
5
+ const { children, style, qa } = props, rest = __rest(props, ["children", "style", "qa"]);
6
+ return (React.createElement("div", { ref: ref, className: getColClass(rest), style: style, "data-qa": qa }, children));
7
7
  });
8
8
  Col.displayName = 'Col';
@@ -17,7 +17,7 @@
17
17
  .pc-Grid_debug .container-fluid,
18
18
  .pc-Grid_debug [class*=col-] {
19
19
  box-sizing: border-box;
20
- border: 1px solid var(--yc-color-line-generic);
20
+ border: 1px solid var(--g-color-line-generic);
21
21
  }
22
22
  @media only screen and (max-width: 577px) {
23
23
  .pc-Grid .container,
@@ -7,6 +7,7 @@ export declare enum Theme {
7
7
  Light = "light",
8
8
  Dark = "dark"
9
9
  }
10
+ export declare const themeNames: Record<Theme, string>;
10
11
  /**
11
12
  * @deprecated Pixel will be deleted
12
13
  */
@@ -63,6 +64,9 @@ export interface Metrika {
63
64
  export interface ClassNameProps {
64
65
  className?: string;
65
66
  }
67
+ export interface QAProps {
68
+ qa?: string;
69
+ }
66
70
  export type Timeout = ReturnType<typeof setTimeout> | undefined;
67
71
  export declare enum PredefinedEventTypes {
68
72
  Default = "default-event",
@@ -3,6 +3,10 @@ export var Theme;
3
3
  Theme["Light"] = "light";
4
4
  Theme["Dark"] = "dark";
5
5
  })(Theme || (Theme = {}));
6
+ export const themeNames = {
7
+ [Theme.Light]: 'Light',
8
+ [Theme.Dark]: 'Dark',
9
+ };
6
10
  /**
7
11
  * @deprecated Pixel will be deleted from package
8
12
  */
@@ -249,10 +249,6 @@ interface ContentLayoutBlockParams {
249
249
  textWidth?: ContentTextSize;
250
250
  }
251
251
  export interface ContentLayoutBlockProps extends ContentLayoutBlockParams {
252
- /**
253
- * @deprecated Use params on top level instead
254
- */
255
- properties?: ContentLayoutBlockParams;
256
252
  textContent: ContentBlockProps;
257
253
  fileContent?: FileLinkProps[];
258
254
  }
@@ -1,7 +1,7 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
2
  import { ButtonView, ButtonProps as UikitButtonProps } from '@gravity-ui/uikit';
3
3
  import { ThemeSupporting } from '../../utils/theme';
4
- import { AnalyticsEventsBase, ClassNameProps, PixelEventType } from '../common';
4
+ import { AnalyticsEventsBase, ClassNameProps, PixelEventType, QAProps } from '../common';
5
5
  export declare enum AuthorType {
6
6
  Column = "column",
7
7
  Line = "line"
@@ -90,11 +90,10 @@ export interface ImageDeviceProps extends ImageInfoProps {
90
90
  }
91
91
  export type ImageProps = string | ImageObjectProps | ImageDeviceProps;
92
92
  export type ThemedImage = ThemeSupporting<ImageProps>;
93
- export interface BackgroundImageProps extends React.HTMLProps<HTMLDivElement>, Partial<ImageDeviceProps>, Partial<ImageObjectProps> {
93
+ export interface BackgroundImageProps extends React.HTMLProps<HTMLDivElement>, Partial<ImageDeviceProps>, Partial<ImageObjectProps>, QAProps {
94
94
  style?: CSSProperties;
95
95
  imageClassName?: string;
96
96
  hide?: boolean;
97
- qa?: string;
98
97
  }
99
98
  export interface MediaVideoProps extends AnalyticsEventsBase {
100
99
  src: string[];
@@ -327,12 +326,11 @@ export interface PriceDetailedProps extends CardBaseProps {
327
326
  foldable?: PriceFoldableDetailsProps;
328
327
  labelsDefaultText?: Record<PriceLabelColor, string>;
329
328
  }
330
- export interface AuthorProps {
329
+ export interface AuthorProps extends QAProps {
331
330
  author: AuthorItem;
332
331
  className?: string;
333
332
  authorContainerClassName?: string;
334
333
  type?: AuthorType;
335
- dataQa?: string;
336
334
  }
337
335
  export interface TitleProps {
338
336
  title?: TitleItemProps | string;
@@ -30,8 +30,8 @@ unpredictable css rules order in build */
30
30
  .pc-desktop-navigation__right {
31
31
  flex: 0;
32
32
  justify-content: flex-end;
33
- font-size: var(--yc-text-body-2-font-size);
34
- line-height: var(--yc-text-body-2-line-height);
33
+ font-size: var(--g-text-body-2-font-size);
34
+ line-height: var(--g-text-body-2-line-height);
35
35
  }
36
36
  .pc-desktop-navigation__navigation-container {
37
37
  display: flex;
@@ -65,8 +65,8 @@ unpredictable css rules order in build */
65
65
  }
66
66
  .pc-desktop-navigation__links {
67
67
  position: relative;
68
- font-size: var(--yc-text-body-2-font-size);
69
- line-height: var(--yc-text-body-2-line-height);
68
+ font-size: var(--g-text-body-2-font-size);
69
+ line-height: var(--g-text-body-2-line-height);
70
70
  }
71
71
  .pc-desktop-navigation__item {
72
72
  position: relative;
@@ -14,9 +14,9 @@ unpredictable css rules order in build */
14
14
  object-fit: contain;
15
15
  }
16
16
  .pc-logo__text {
17
- font-size: var(--yc-text-header-1-font-size);
18
- line-height: var(--yc-text-header-1-line-height);
17
+ font-size: var(--g-text-header-1-font-size);
18
+ line-height: var(--g-text-header-1-line-height);
19
19
  color: var(--pc-text-header-color);
20
- font-weight: var(--yc-text-accent-font-weight);
20
+ font-weight: var(--g-text-accent-font-weight);
21
21
  white-space: nowrap;
22
22
  }
@@ -1,13 +1,13 @@
1
- import React, { useContext } from 'react';
1
+ import React from 'react';
2
2
  import { Image } from '../../../components';
3
3
  import { getMediaImage } from '../../../components/Media/Image/utils';
4
4
  import RouterLink from '../../../components/RouterLink/RouterLink';
5
- import { ThemeValueContext } from '../../../context/theme/ThemeValueContext';
5
+ import { useTheme } from '../../../context/theme';
6
6
  import { block, getThemedValue } from '../../../utils';
7
7
  import './Logo.css';
8
8
  const b = block('logo');
9
9
  const Logo = (props) => {
10
- const { themeValue: theme } = useContext(ThemeValueContext);
10
+ const theme = useTheme();
11
11
  const themedLogoProps = getThemedValue(props, theme) || props;
12
12
  const imageData = getMediaImage(themedLogoProps.icon || props.icon);
13
13
  const textData = themedLogoProps.text || props.text;
@@ -8,14 +8,14 @@ unpredictable css rules order in build */
8
8
  width: 100%;
9
9
  border-bottom-right-radius: var(--pc-border-radius);
10
10
  border-bottom-left-radius: var(--pc-border-radius);
11
- background-color: var(--yc-color-base-background);
12
- box-shadow: 0 3px 10px var(--yc-color-sfx-shadow);
11
+ background-color: var(--g-color-base-background);
12
+ box-shadow: 0 3px 10px var(--g-color-sfx-shadow);
13
13
  max-height: calc(100vh - 2 * var(--header-height));
14
14
  overflow-y: scroll;
15
15
  scrollbar-width: none;
16
16
  -ms-overflow-style: none;
17
- font-size: var(--yc-text-body-2-font-size);
18
- line-height: var(--yc-text-body-2-line-height);
17
+ font-size: var(--g-text-body-2-font-size);
18
+ line-height: var(--g-text-body-2-line-height);
19
19
  }
20
20
  .pc-mobile-navigation::-webkit-scrollbar {
21
21
  display: none;
@@ -53,11 +53,11 @@ unpredictable css rules order in build */
53
53
  flex-direction: column;
54
54
  min-width: 220px;
55
55
  padding: 16px;
56
- border: 1px solid var(--yc-color-line-generic);
56
+ border: 1px solid var(--g-color-line-generic);
57
57
  border-top-width: 0;
58
58
  border-radius: calc(var(--pc-border-radius) / 2);
59
- background: var(--yc-color-base-float);
60
- box-shadow: 0 3px 10px var(--yc-color-sfx-shadow);
59
+ background: var(--g-color-base-float);
60
+ box-shadow: 0 3px 10px var(--g-color-sfx-shadow);
61
61
  }
62
62
  @media (min-width: 769px) {
63
63
  .pc-mobile-navigation__popup {
@@ -8,8 +8,8 @@ unpredictable css rules order in build */
8
8
  justify-content: center;
9
9
  align-items: center;
10
10
  height: var(--header-height);
11
- background-color: var(--yc-color-base-background);
11
+ background-color: var(--g-color-base-background);
12
12
  }
13
13
  .pc-navigation_with-border {
14
- box-shadow: inset 0 -1px 0 var(--yc-color-line-generic);
14
+ box-shadow: inset 0 -1px 0 var(--g-color-line-generic);
15
15
  }
@@ -13,7 +13,7 @@ unpredictable css rules order in build */
13
13
  outline: 2px solid #ffdb4d;
14
14
  }
15
15
  .pc-navigation-item__content:hover, .pc-navigation-item__content:active {
16
- color: var(--yc-color-text-link);
16
+ color: var(--g-color-text-link);
17
17
  }
18
18
  .pc-navigation-item_menu-layout_desktop {
19
19
  height: var(--header-height);
@@ -6,5 +6,5 @@
6
6
  }
7
7
  .pc-navigation-dropdown__arrow {
8
8
  margin-left: 7px;
9
- color: var(--yc-color-text-secondary);
9
+ color: var(--g-color-text-secondary);
10
10
  }
@@ -1,7 +1,7 @@
1
1
  /* use this for style redefinitions to awoid problems with
2
2
  unpredictable css rules order in build */
3
3
  .pc-navigation-link {
4
- color: var(--yc-color-text-primary);
4
+ color: var(--g-color-text-primary);
5
5
  color: inherit;
6
6
  text-decoration: none;
7
7
  outline: none;
@@ -14,7 +14,7 @@ unpredictable css rules order in build */
14
14
  outline: 2px solid #ffdb4d;
15
15
  }
16
16
  .pc-navigation-link:hover, .pc-navigation-link_active {
17
- color: var(--yc-color-text-link);
17
+ color: var(--g-color-text-link);
18
18
  }
19
19
  .pc-navigation-link__arrow {
20
20
  position: relative;